21
Reaching Agreement in the Presence of Faults M. Pease, R. Shostak, and L. Lamport SRI International, Menlo Park, California Presented by: Prabhjot Mall

Reaching Agreement in the Presence of Faults

  • Upload
    yaron

  • View
    132

  • Download
    0

Embed Size (px)

DESCRIPTION

Reaching Agreement in the Presence of Faults. M. Pease, R. Shostak, and L. Lamport SRI International, Menlo Park, California. Presented by: Prabhjot Mall. Abstract. - PowerPoint PPT Presentation

Citation preview

Page 1: Reaching Agreement in the Presence of Faults

Reaching Agreement in the Presence of Faults

M. Pease, R. Shostak, and L. LamportSRI International, Menlo Park, California

Presented by: Prabhjot Mall

Page 2: Reaching Agreement in the Presence of Faults

Abstract

The problem concerns a set of isolated processors, some unknown subset of which may be faulty. Each non-faulty processor has a private value that must be communicated to every other non-faulty processor.

Page 3: Reaching Agreement in the Presence of Faults

The Problem

The value inferred for a non-faulty processor must be the processor’s private value and the value inferred for a faulty processor must be consistent with the corresponding value inferred by each other non-faulty processor.

Page 4: Reaching Agreement in the Presence of Faults

Claim

The given problem is only solvable for n ≥ 3m +1, where m is the number of faulty processors and n is the total number of processors.

Page 5: Reaching Agreement in the Presence of Faults

Interactive Consistency

Compute a vector of values for every processor, such that: The non-faulty processors compute

the exact same vector The element of this vector corresponding

to a given non-faulty processor is the private value of that processor.

Page 6: Reaching Agreement in the Presence of Faults

Interactive ConsistencyThe algorithm guarantees Interactive Consistency since it allows the non-faulty processors to come to a consistent view of all processors.

The computed vector is called the Interactive Consistency Vector.

Page 7: Reaching Agreement in the Presence of Faults

The Single-Fault Case m=1, n=4The procedure consists of an exchange of messages, followed by the computation of the interactive consistency vector on the basis of the results of the exchange.

Two Rounds of exchange are required. In the first round the processors exchange their private values and in the second round they exchange the results obtained in the first round.

Page 8: Reaching Agreement in the Presence of Faults

The Single-Fault Case

V1

V3

V2

V4

[V1][V2][V3][V5]

FaultyNon Faulty

Page 9: Reaching Agreement in the Presence of Faults

The Single-Fault Case

V1

V3

V2

V4

FaultyNon Faulty

[V1][V2][V3][V6]

Page 10: Reaching Agreement in the Presence of Faults

The Single-Fault Case

V1

V3

V2

V4

FaultyNon Faulty

[V1][V2][V3][V4]

Page 11: Reaching Agreement in the Presence of Faults

The Single-Fault Case

V1

V3

V2

V4

[V1][V2][V3][V6]

FaultyNon Faulty

[V1][V2][V3][V5]

[V1][V2][V3][V4]

[V1][V2][V3][V4]

Page 12: Reaching Agreement in the Presence of Faults

The Single-Fault Case

V1

V3

V2

V4

[V1][V2][V3][V6]

FaultyNon Faulty

[V1][V2][V3][NIL]

[V1][V2][V3][V4]

[V1][V2][V3][V4]

Page 13: Reaching Agreement in the Presence of Faults

The Single-Fault Case

V1

V3

V2

V4

FaultyNon Faulty

[V1][V2][V3][NIL]

[V1][V2][V3][V6]

[V1][V2][V3][V4]

[V1][V2][V3][V5]

Page 14: Reaching Agreement in the Presence of Faults

The Single-Fault Case

V1

V3

V2

V4

FaultyNon Faulty

[V1][V2][V3][NIL]

[V1][V2][V3][V5]

[V1][V2][V3][V6]

[V1][V2][V3][V4]

Page 15: Reaching Agreement in the Presence of Faults

The Single-Fault Case

V1

V3

V2

V4

[V1][V2][V3][NIL]

FaultyNon Faulty

[V1][V2][V3][NIL]

[V1][V2][V3][NIL]

[V1][V2][V3][NIL]

Page 16: Reaching Agreement in the Presence of Faults

Procedure for n≥3m+1

For 1 faulty processor 2 rounds of communicationFor m faulty processors m+1 rounds of communicationP: Set of processorsV: Set of values

k≥1: k-level scenario mapping from a set of non-empty strings {p1,p2,p3,…pn} over P of length k+1, to V

Example: For a k-level scenario σ and string w=p1p2…pn σ(w) = the value of pn that pn tells p(n-1) … which p2 tells p1

Page 17: Reaching Agreement in the Presence of Faults

Procedure for n≥3m+1

For an arbitrary processor p, a non faulty processor q and a string w

σ(pqw) = σ(qw)

The message a processor p receives in a scenario σ are given by the restriction σp of σ to strings beginning with p.

Page 18: Reaching Agreement in the Presence of Faults

Procedure for n≥3m+1For some subset Q of Psize(Q) ≥ (n+m)/2

If σp (pwq) = v for each string w over Qp records the value of q as v.

Otherwise, the algorithm for m-1, n-1 is recursively applied with P replaced by P-{q} and σp(pwq) by σp(pw). If at least (n+m)/2 of the n-1 elements in the vector obtained by the recursive call agree p records the value of q as v, otherwise it records NIL.

Page 19: Reaching Agreement in the Presence of Faults

Two Faulty Processors

V1

V3

V2

V4

FaultyNon Faulty

V5

V6

w σ(w)

p1 V1p2 V2p3 V3p4 V9p5 V5p6 V8p7 V7

V7

[v1][v2][v3][v9][v5][v8][v7]

Page 20: Reaching Agreement in the Presence of Faults

Two Faulty Processors

V1

V3

V2

V4

FaultyNon Faulty

V5

V6

[v1][v2][v3][v8][v5][v0][v7]

[v1][v2][v3][v4][v5][v6][v7]

[v1][v2][v3][v8][v5][v0][v7]

[v1][v2][v3][v8][v5][v0][v7]

[v1][v2][v3][v4][v5][NIL][v7]

w σ(w)

p1p2p1 V1

p1p2p3 V3

p1p2p4 V8

p1p2p5 V5

p1p2p6 V0

p1p2p7 V7

p1p3p1 V1

p1p3p2 V2

… …

p1p7p7 V7V7

[v1][v2][v3][NIL][v5][NIL][v7]

Page 21: Reaching Agreement in the Presence of Faults

Questions?

Aren’t you glad this is over???