Download presentation
Presentation is loading. Please wait.
Published byNora Rice Modified over 9 years ago
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:
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.