agreement in distributed systems n definition of agreement problems n impossibility of consensus...

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

Upload: dina-owens

Post on 18-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

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

Agreement inDistributed Systems

definition of agreement problems impossibility of consensus with a single crash solvable problems

consensus with initially dead processes renaming

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

Fault Models

Faults form a hierarchy on the basis of the severity of faults benign

initially dead - a process is initially dead if it does not execute a single step in its algorithm

crash model - a process executes steps correctly up to some moment (crash) and stops executing thereafter

malign - Byzantine - a process executes arbitrary steps (not necessarily in accordance with its local algorithm). In particular Byzantine process sends messages with arbitrary content

initially dead process is a special case of crashed process which is a special case of Byzantine process if algorithm is Byzantine-robust it can also tolerate crashes and

initially dead processes if a problem cannot be solved for initially dead processes, it cannot be

solved in the presence of crashes or Byzantine failures other intermediate fault models can be defined

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

Agreement Problems

agreement problems are fundamental to the study of fault tolerance agreement problem requires that each (correct) process eventually and

irreversibly arrives at a “decision” value decision problems requirements:

termination - all correct processes decide (cannot indefinitely wait for faulty processes)

consistency - the decisions of correct processes should be related; consensus problem - the decisions are equal election problem - only one process arrives at “1” (leader) the

others - “0” (non-leaders) validity (non-triviality) - different outputs are possible in different

executions of the algorithm

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

Impossibility of Consensus: Preliminaries

State is reachable if there is a computation that contains it Each process has a read-only input variable xp and write-once output

variable yp initially holding b A consensus algorithm is 1-crash robust it it satisfies the following

properties: termination - in every 1-crash fair execution all correct processes

decide agreement - if, in any reachable state, yp b and yq b for correct

processes p and q then, yp = yq

validity (non-triviality) - there exist a reachable state such that for some p, yp=1 in one state and yp=0 in another

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

Impossibility of Consensus: Terminology

translation configuration – global state sequence – (portion of) a computation applicable step/event – enabled (atomic) action

New terms: configurations decided – for some process P yp b 0-valent – all decide configurations reachable from it is 0-valent, similar,

1-valent univalent – either 0-valent or 1-valent bivalent – both 0 and 1 decide configurations are reachable from it 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 the actions of no more than t processes can force a decision.

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

Impossibility of Consensus:Main Results

blah

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

What Is Possible

consensus with initially dead-process fault model is possible weaker coordination problems than consensus (such as renaming) are

solvable given: a set of processes p1,..,pN, 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

randomized algorithms are possible even for Byzantine failures 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

synchronous systems are significantly more fault tolerant

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

Consensus with Initially Dead Processes

if processes are only initially-dead consensus is possible. based on the following knot-computation algorithm knot is a strongly connected sub-graph with no outgoing edges the objective is for all correct processes to agree on the subset of correct

processes L stands for (N+1)/2, the number of alive processes

can tolerate crashes as long as majority is alive first phase: each process p:

sends messages to all processes in the system collects at least L messages in set Succp

a process is a successor if p got a message from it - there is a graph G in the system

thus each correct process has L successors an initially-dead process does not send any messages. Thus there is a

knot in G containing correct processes

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

Knot Calculation Algorithm

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

Renaming

problem: