Agreement in Distributed Systems - PowerPoint PPT Presentation

1 / 10
About This Presentation
Title:

Agreement in Distributed Systems

Description:

bivalent both 0 and 1 decide configurations are reachable from it ... Existence of Next Bivalent Configuration. blah. Impossibility of Consensus. blah. What ... – PowerPoint PPT presentation

Number of Views:104
Avg rating:3.0/5.0
Slides: 11
Provided by: mikh
Category:

less

Transcript and Presenter's Notes

Title: Agreement in Distributed Systems


1
Agreement inDistributed Systems
  • definition of agreement problems
  • impossibility of consensus with a single crash
  • solvable problems
  • consensus with initially dead processes
  • renaming

2
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 specially case
    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

3
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

4
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, yp1 in one
    state and yp0 in another

5
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.

6
Impossibility of ConsensusMain Results
  • blah

7
Elementary Results
  • blah

8
Existence of Bivalent Configuration
  • blah

9
Existence of Next Bivalent Configuration
  • blah

10
Impossibility of Consensus
  • blah

11
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
    generals decision solvable even in the presence
    of Byzantine faults
  • synchronous systems are significantly more fault
    tolerant

12
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 ?(N1)/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

13
Knot Calculation Algorithm
14
Renaming
  • problem
Write a Comment
User Comments (0)
About PowerShow.com