Consensus and Related Problems - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

Consensus and Related Problems

Description:

Roughly speaking, the problem is for processes to agree on a value after one or ... Generals Problem, the processes may even arbitrary fail, i.e. be treacherous! ... – PowerPoint PPT presentation

Number of Views:82
Avg rating:3.0/5.0
Slides: 16
Provided by: universit125
Category:

less

Transcript and Presenter's Notes

Title: Consensus and Related Problems


1
Consensus and Related Problems
  • Béat Hirsbrunner

References G. Coulouris, J. Dollimore and T.
Kindberg "Distributed Systems Concepts and
Design", Ed. 4, Addison-Wesley 2005, Chap. 12.5
Distributed SystemsBéat Hirsbrunner (Fribourg)
and Peter Kropf (Neuchâtel)) Summer Semester
2007, Lecture 3b, 25 May 2007
2
The problem
  • Roughly speaking, the problem is for processes
    to agree on a value after one or more of the
    processes has proposed what that value should be.
  • Assumption about processes
  • Processes communicate by message passing
  • Processes may crash(in the case of the
    Byzantyne Generals Problem, the processes may
    even arbitrary fail, i.e. be treacherous!)
  • Assumption about communication
  • Point to point communication is reliable
  • Group communication is based on B-multicast

3
(reminder, cf. p 53)
do
4
(reminder, cf. p 55)
5
R-send and R-receive (reminder, cf. p. 56) The
term reliable communication is defined in terms
of validity and integrity as follows validity
any message in the outgoing message buffer is
eventually delivered to the incoming message
buffer. integrity the message received is
identical to one sent, and no messages are
delivered twice
B-multicast (reminder, cf. p. 486) Basic
multicast primitive that guarantees, unlike IP
multicast, that a correct process will eventually
deliver the message To B-multicast(g,m) for
each processs p in g, R-send(p,m) On
R-receive(m) at p B-deliver(m) at p
6
(reminder, cf. p 55)
7
Consensus Problem (C)
8
(No Transcript)
9
(BG)
Assumption communication channels between pairs
of prcs are reliable and private
Requirements Termination and Agreement same as
for the consensus problem. Integrity If the
commander is correct, then all correct processes
decide on the value that the commander proposed.
10
  • Interactive Consistency Problem (IC)
  • Each process pi suggests one value vi.
  • Goal all correct processes agree on a vector of
    values, each component corresponding to one
    processes agreed value. Example agreement about
    each processes' local state.
  • Requirements
  • Termination same as for the consensus problem.
  • Agreement the decision vector of all correct
    processes is the same.
  • Integrity if pi is correct, then all correct
    processes decide on vi as the i-th component of
    their vector.

Lemma The four problems (a) Consensus, (b)
Byzantine Generals, (c) Interactive Consistency
and (d) Reliable Totally Ordered Multicast are
equivalent in the sense that if we can find a
solution for one of them we can apply the
solution to all of them.
"Proof" (for more detail see p. 502-503) IC from
BG run BG N times, once with each process pi as
commander BG from C all processes run C with the
value received from commander pj C from IC apply
an appropriate function on the vector to produce
a single value C from RTO-multicast each pi
performs RTO-multicast and choose the first value
that the RTO-multicast delivers RTO-multicast
from C see Chanda and Touegg 1996 (not
trivial, only for interested students)
11
Only crashes, no byzantine faults
Proof Termination obvious as the system is
synchronous! Agreement and integrity follows
from the Lemma "every process arrives at the same
final set 'Values(f1,_)' ".
  • "Proof" of the Lemma (for more detail see p. 504)
  • If a process crashes, its "B-multicasted" value
    may not arrive to every correct process
  • - There is at least one round without process
    crash (i.e. a value v present in a correct pi is
    also present in all other correct pk proof by
    recursion over the rounds) !

12
Byzantine generals in a synchronous system
13
Byzantine generals in a synchronous
system Solution with one faulty process
Example
p2 majority(v,u,v) v p3 majority(v,v,w)
v
p2 majority(v,w,v) v p3 majority(v,v,w)
v p4 majority(w,v,v) v
p2, p3, p4 majority(v,u,w) ?
14
Discussion
15
Impossibility of Agreement in Asynchronous Systems
  • Previous algorithms synchrony assumption
  • message exchanges in rounds
  • timeouts
  • In asynchronous systems, consensus is challenged
    by
  • crashes that may not be detected
  • network partitioning
  • etc.
  • Idea use of handshake protocols to "commit" the
    transfer of information so that all data has been
    delivered to all parties.

Theorem In asynchronous systems, no algorithm
can guarantee reaching consensus, even with just
one process crash failure.
  • i.e. no completely asynchronous consensus
    protocol can tolerate even a single unannounced
    process death
  • even with no byzantine failures, only crashes
    considered
  • and with reliable messaging assumed (all
    messages delivered, no duplication)
  • Proof idea Show that there is always some
    continuation of the process execution that
    avoids consensus being reached.
  • Reference M. Fischer, N. Lynch and M. Paterson,
    Impossibility of Distributed Consensus with One
    Faulty Process, Journal of the ACM, Vol. 32, No.
    2, April 1985, pp. 374-382.
Write a Comment
User Comments (0)
About PowerShow.com