Presentation is loading. Please wait.

Presentation is loading. Please wait.

Agreement in Distributed Systems n definition of agreement problems n impossibility of consensus with a single crash n solvable problems u consensus with.

Similar presentations


Presentation on theme: "Agreement in Distributed Systems n definition of agreement problems n impossibility of consensus with a single crash n solvable problems u consensus with."— Presentation transcript:

1 Agreement in Distributed Systems n definition of agreement problems n impossibility of consensus with a single crash n solvable problems u consensus with initially dead processes u renaming

2 Fault Models n Faults form a hierarchy on the basis of the severity of faults n benign u initially dead - a process is initially dead if it does not execute a single step in its algorithm u crash model - a process executes steps correctly up to some moment (crash) and stops executing thereafter n malign - Byzantine - a process executes arbitrary steps (not necessarily in accordance with its local algorithm). In particular Byzantine process sends messages with arbitrary content n initially dead process is a specially case crashed process which is a special case of Byzantine process u if algorithm is Byzantine-robust it can also tolerate crashes and initially dead processes u if a problem cannot be solved for initially dead processes, it cannot be solved in the presence of crashes or Byzantine failures n other intermediate fault models can be defined

3 Agreement Problems n agreement problems are fundamental to the study of fault tolerance n agreement problem requires that each (correct) process eventually and irreversibly arrives at a “decision” value n decision problems requirements: u termination - all correct processes decide (cannot indefinitely wait for faulty processes) u consistency - the decisions of correct processes should be related; F consensus problem - the decisions are equal F election problem - only one process arrives at “1” (leader) the others - “0” (non-leaders) u validity (non-triviality - different outputs are possible in different executions of the algorithm

4 Impossibility of Consensus: Preliminaries n State is reachable if there is a computation that contains it n Each process has a read-only input variable x p and write-once output variable y p initially holding b n A consensus algorithm is 1-crash robust it it satisfies the following properties: u termination - in every 1-crash fair execution all correct processes decide u agreement - if, in any reachable state, y p  b and y q  b for correct processes p and q then, y p = y q u validity (non-triviality) - there exist a reachable state such that for some p, y p =1 in one state and y p =0 in another

5 Impossibility of Consensus: Terminology translation n configuration – global state n sequence – (portion of) a computation n applicable step/event – enabled (atomic) action New terms: configurations decided – for some process P y p  b n 0-valent – all decide configurations reachable from it is 0-valent, similar, 1-valent n univalent – either 0-valent or 1-valent n bivalent – both 0 and 1 decide configurations are reachable from it n fork – exist 0-valent and 1-valent configuration that is reachable from a fork through the actions of no more than t (number of crashes) processes u the actions of no more than t processes can force a decision.

6 Impossibility of Consensus: Main Results blah

7 Elementary Results blah

8 Existence of Bivalent Configuration blah

9 Existence of Next Bivalent Configurat ion blah

10 Impossibility of Consensus blah

11 What Is Possible n consensus with initially dead-process fault model is possible n weaker coordination problems than consensus (such as renaming) are solvable u given: a set of processes p 1,..,p N, each process with distinct identity taken from arbitrary large domain. Each process has to decide on a unique new name from smaller domain 1,…,K n randomized algorithms are possible even for Byzantine failures n weak termination - termination required only when a given process (general) is correct, the objective is for all processes to learn the general’s decision; solvable even in the presence of Byzantine faults n synchronous systems are significantly more fault tolerant

12 Consensus with Initially Dead Processes n if processes are only initially-dead consensus is possible. n based on the following knot-computation algorithm n knot is a strongly connected sub-graph with no outgoing edges n the objective is for all correct processes to agree on the subset of correct processes n L stands for  (N+1)/2 , the number of alive processes u can tolerate crashes as long as majority is alive n first phase: each process p: u sends messages to all processes in the system u collects at least L messages in set Succ p n a process is a successor if p got a message from it - there is a graph G in the system n thus each correct process has L successors n an initially-dead process does not send any messages. Thus there is a knot in G containing correct processes

13 Knot Calculation Algorithm

14 Renaming problem:


Download ppt "Agreement in Distributed Systems n definition of agreement problems n impossibility of consensus with a single crash n solvable problems u consensus with."

Similar presentations


Ads by Google