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

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

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

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

View Full Document
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
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!

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

View Full Document
- 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
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.

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

View Full Document
Consensus in an Asynchronous System Consensus in an Asynchronous System Messages have arbitrary delay, processes arbitrarily slow Impossible to achieve! even a single failed
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
Ask a homework question - tutors are online