L7b.sp11 - Distributed Systems Distributed Systems CS 425 /...

Info iconThis preview shows pages 1–7. Sign up to view the full content.

View Full Document Right Arrow Icon
Distributed Systems CS 425 / CSE 424 / ECE 428 Distributed Systems CS 425 / CSE 424 / ECE 428 The Consensus Problem Reading: Paper on Website (Sections 1-3) 2010, I. Gupta
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
What is Consensus? What is Consensus? N processes Each process p has input variable xp : initially either 0 or 1 output variable yp : initially b (b=undecided) – can be changed only once Consensus problem : design a protocol so that either 1. All non-faulty processes set their output variables to 0 2. Or non-faulty all processes set their output variables to 1 3. There is at least one initial state that leads to each outcome 1 and 2 above
Background image of page 2
Solve Consensus! Solve Consensus! Processes fail only by crash-stop ping Synchronous system : bounds on Message delays Max time for each process step e.g., multiprocessor (common clock across processors) Asynchronous system : no such bounds!
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
- For a system with at most f processes crashing, the algorithm proceeds in f+1 rounds (with timeout), using basic multicast (B-multicast). - Values r i : the set of proposed values known to process p= P i at the beginning of round r . - Initially Values 0 i = {} ; Values 1 i = {v i =xp } for round r = 1 to f+1 do multicast ( Values r i ) Values r+1 i Values r i for each V j received Values r+1 i = Values r+1 i V j end end yp= d i = minimum( Values f+1 i ) Consensus in Synchronous Systems Consensus in Synchronous Systems
Background image of page 4
Why does the Algorithm Work? Why does the Algorithm Work? Proof by contradiction. Assume that two non-faulty processes differ in their final set of values. Suppose p i and p j are these processes. Assume that p i possesses a value v that p j does not possess. In the last round, some third process, p k , sent v to p i , and crashed before sending v to p j . Any process sending v in the penultimate round must have crashed; otherwise, both p k and p j should have received v . Proceeding in this way, we infer at least one crash in each of the preceding rounds. But we have assumed at most f crashes can occur and there are f+1 rounds ==> contradiction.
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Consensus in an Asynchronous System Consensus in an Asynchronous System Messages have arbitrary delay, processes arbitrarily slow Impossible to achieve! even a single failed
Background image of page 6
Image of page 7
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 02/08/2012 for the course ECE 428 taught by Professor Hu during the Spring '08 term at University of Illinois, Urbana Champaign.

Page1 / 30

L7b.sp11 - Distributed Systems Distributed Systems CS 425 /...

This preview shows document pages 1 - 7. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online