Presentation is loading. Please wait.

Presentation is loading. Please wait.

Announcements. Midterm Open book, open note, closed neighbor No other external sources No portable electronic devices other than medically necessary medical.

Similar presentations


Presentation on theme: "Announcements. Midterm Open book, open note, closed neighbor No other external sources No portable electronic devices other than medically necessary medical."— Presentation transcript:

1 Announcements

2 Midterm Open book, open note, closed neighbor No other external sources No portable electronic devices other than medically necessary medical devices, simple calculators, and watches –Contact me if you have any questions or concerns about this policy

3 Readings Section 3 of the Byzantine Generals Problem Sections 1–3 of the FLP paper Mutual Exclusion: Sections 11.2, 12.2 Networking: Sections 3.1–3.4 Transactions: Sections 13.4–13.7 Distributed Transactions: Chapter 14

4 And Now, Our Regularly Scheduled Programming

5

6

7

8

9 Signed Messages Basically, an m+1 hop path of unique nodes must contain a good node Thus, every command will get to every loyal general

10 Food for Thought Suppose you have a Core 2 Quad processor SMP system You run the same program in all four cores for fault-tolerance Which Byzantine General’s algorithm should you use for fault tolerance? Why?

11 Synchronous vs Asynchronous Byzantine Generals assumed that we knew when a messenger wasn’t sent Is this true in real networks?

12 Consensus A simple Distributed Systems problem Each process p: –Gets an input xp ← {0,1} –Eventually writes exactly once yp ← {0,1} –Each yp correct processes must be equal –Outputs of both 0 and 1 must be possible How might we solve this?

13 FLP Slides from Nitin Vaidya Modified by Yih-Chun Hu

14 Consensus in an Asynchronous System Impossible to achieve! –even a single failed process is enough to avoid the system from reaching agreement Proved in a now-famous result by Fischer, Lynch and Patterson, 1983 (FLP) © 2005, 2006 by Nitin Vaidya and Yih-Chun Hu

15 Recall Each process p has a state –program counter, registers, stack, local variables –input register xp : initially either 0 or 1 –output register yp : initially b Consensus Problem: design a protocol so that either –all processes set their output variables to 0 –or all processes set their output variables to 1 © 2005, 2006 by Nitin Vaidya and Yih-Chun Hu

16 pp’ Global Message Buffer send(p’,m) receive(p’) may return null “Network” Network Model © 2005, 2006 by Nitin Vaidya and Yih-Chun Hu

17 Terminology State of a process Configuration: collection of states, one for each process; and state of the global buffer Each Event –receipt of a message by a process (say p) –processing of message –sending out of all necessary messages by p Schedule: sequence of events © 2005, 2006 by Nitin Vaidya and Yih-Chun Hu

18 C C’ C’’ Event e’=(p’,m’) Event e’’=(p’’,m’’) Configuration C Schedule s=(e’,e’’) C C’’ Equivalent © 2005, 2006 by Nitin Vaidya and Yih-Chun Hu

19 Lemma 1 C C’ C’’ Schedule s1 Schedule s2 s2 s1 s1 and s2 involve disjoint sets of receiving processes Schedules are commutative © 2005, 2006 by Nitin Vaidya and Yih-Chun Hu

20 Easier Consensus Problem Easier Consensus Problem: some process eventually sets yp to be 0 or 1 Only one process crashes – we’re free to choose which one Consensus Protocol correct if 1.Any accessible config. (config. reachable from an initial config.) does not have > 1 decision value 2.For v in {0,1}, some accessible config. has value v –avoids trivial solution to the consensus problem © 2005, 2006 by Nitin Vaidya and Yih-Chun Hu

21 *valance Let config. C have a set of decision values V reachable from it –If |V| = 2, config. C is bivalent –If |V| = 1, config. C is 0-valent or 1-valent, as is the case Bivalent means outcome is unpredictable © 2005, 2006 by Nitin Vaidya and Yih-Chun Hu

22 What we’ll Show 1.There exists an initial configuration that is bivalent 2.Starting from a bivalent config., there is always another bivalent config. that is reachable © 2005, 2006 by Nitin Vaidya and Yih-Chun Hu

23 Lemma 2 Some initial configuration is bivalent Suppose all initial configurations were either 0-valent or 1-valent. Place all configurations side-by-side, where adjacent configurations differ in initial xp value for exactly one process There is some adjacent pair of 1-valent and 0-valent configs. © 2005, 2006 by Nitin Vaidya and Yih-Chun Hu

24 Lemma 2 Some initial configuration is bivalent There is some adjacent pair of 1-valent and 0-valent configs. Let the process p that has a different state across these two configs. be the process that has crashed (silent throughout) Both initial configs. will lead to the same config. for the same sequence of events One of these initial configs. must be bivalent to allow for a failure © 2005, 2006 by Nitin Vaidya and Yih-Chun Hu

25 What we’ll Show 1.There exists an initial configuration that is bivalent 2.Starting from a bivalent config., there is always another bivalent config. that is reachable © 2005, 2006 by Nitin Vaidya and Yih-Chun Hu

26 Lemma 3 Starting from a bivalent config., there is always another bivalent config. that is reachable © 2005, 2006 by Nitin Vaidya and Yih-Chun Hu

27 Lemma 3 A bivalent initial config. let e=(p,m) be an applicable event to the initial config. Let C be the set of configs. reachable without applying e © 2005, 2006 by Nitin Vaidya and Yih-Chun Hu

28 Lemma 3 A bivalent initial config. let e=(p,m) be an applicable event to the initial config. Let C be the set of configs. reachable without applying e e e e e e Let D be the set of configs. obtained by applying e to a config. in C © 2005, 2006 by Nitin Vaidya and Yih-Chun Hu

29 Lemma 3 D C e e e e e bivalent [don’t apply event e=(p,m)] © 2005, 2006 by Nitin Vaidya and Yih-Chun Hu

30 There are adjacent configs. C0 and C1 in C such that C1 = C0 followed by e’ and e’=(p’,m’) D0=C0 and then e=(p,m) D1=C1 and then e=(p,m) D0 is 0-valent, D1 is 1-valent (why?) Claim. D contains a bivalent config. Proof. By contradiction. => assume there is no bivalent config in D D C e e e e e bivalent [don’t apply event e=(p,m)] i-valent config Ei reachable from C exists (because C is bivalent) If Ei in C, then Fi = e(Ei) Else e was applied reaching Ei Either way there exists Fi in D for both i=0 and 1 © 2005, 2006 by Nitin Vaidya and Yih-Chun Hu Warning: Definition change Before:adjacent states differed in only one input (xi) bit Now:adjacent states differ by only one event

31

32 Proof. (contd.) Case I: p’ is not p Case II: p’ same as p D C e e e e e bivalent [don’t apply event e=(p,m)] C0 D1 D0C1 e e e’ Why? (Lemma 1) But D0 is then bivalent! © 2005, 2006 by Nitin Vaidya and Yih-Chun Hu

33 Proof. (contd.) Case I: p’ is not p Case II: p’ same as p D C e e e e e bivalent [don’t apply event e=(p,m)] C0 D1 D0 C1 e e’ A E0 e sch. s E1 sch. s (e’,e) e sch. s finite deciding run from C0 p takes no steps But A is then bivalent! © 2005, 2006 by Nitin Vaidya and Yih-Chun Hu

34 Lemma 3 Starting from a bivalent config., there is always another bivalent config. that is reachable © 2005, 2006 by Nitin Vaidya and Yih-Chun Hu

35 Putting it all Together Lemma 2: There exists an initial configuration that is bivalent Lemma 3: Starting from a bivalent config., there is always another bivalent config. that is reachable Theorem (Impossibility of Consensus): There is always a run of events in an asynchronous distributed system such that the group of processes never reach consensus © 2005, 2006 by Nitin Vaidya and Yih-Chun Hu


Download ppt "Announcements. Midterm Open book, open note, closed neighbor No other external sources No portable electronic devices other than medically necessary medical."

Similar presentations


Ads by Google