Transcript Slides

PAXOS:
Consensus in a
Distributed System
Philipp Fath
Leslie Lamport *1941
Supervisor: Dr. Diego Milano
Agenda
 Introduction: Consensus at PAXOS Island
 non-Byzantine faults
 Roles and Behaviors
 Example situations
 Outlook
 Sources
Workshop DIS: PAXOS / Consensus in a Distributed System
Philipp Fath 2010/10/25 | Slide 2
Agenda
 Introduction: Consensus at PAXOS Island
 non-Byzantine faults
 Roles and Behaviors
 Example situations
 Outlook
 Sources
Workshop DIS: PAXOS / Consensus in a Distributed System
Philipp Fath 2010/10/25 | Slide 3
Introduction: What is consensus?
Origin
 Latin: consentire = feel together
Definition (Merriam-Webster Britannica)
 general agreement: unanimity
 the judgment arrived at by most of those concerned
 group solidarity in sentiment and belief
In a Distributed System
 Consistent agreement on a value
 Different processes must not give contradictory answers
Workshop DIS: PAXOS / Consensus in a Distributed System
Philipp Fath 2010/10/25 | Slide 4
Introduction: PAXOS Island
Ancient parliament of the Greek Island of Paxos*
 Parliament’s primary task:
determine the law (sequence of decrees passed)
 Instead of having a secretary recording the law,
every legislator records passed decrees in his personal ledger
 Problems:
> Legislator work on part-time
> Communication only by (part-time) messenger possible
However: Legislators and Messengers are deeply honest
 Requirements: Consistent, not contradicting ledgers
*) Note: The ancient parliament never really existet at Paxos, Leslie Lamport invented it totally
to popularize his consensus-algorithm named PAXOS.
Workshop DIS: PAXOS / Consensus in a Distributed System
Philipp Fath 2010/10/25 | Slide 5
Agenda
 Introduction: Consensus at PAXOS Island
 non-Byzantine faults
 Roles and Behaviors
 Example situations
 Outlook
 Sources
Workshop DIS: PAXOS / Consensus in a Distributed System
Philipp Fath 2010/10/25 | Slide 6
non-Byzantine faults
 Fail-stop or Crash
a process works correct until a certain moment then it crashes
 Omission or partial discontinuation
Some messages might be lost but all of them are correct
 Timing
Execution of actions and sending of messages may be early or late
Agents
• operate at arbitrary speed
• may fail by stopping
• may restart
Messages
• arbitrary deliver time
• can be duplicated
• can be lost
 Not assumed in PAXOS: Byzantine errors and inconsistency
Incorrect working processes sending corrupted messages
Workshop DIS: PAXOS / Consensus in a Distributed System
Philipp Fath 2010/10/25 | Slide 7
Agenda
 Introduction: Consensus at PAXOS Island
 non-Byzantine faults
 Roles and Behaviors
 Example situations
 Outlook
 Sources
Workshop DIS: PAXOS / Consensus in a Distributed System
Philipp Fath 2010/10/25 | Slide 8
Consensus-making model: Roles
Proposes a value v
and assigns a unique
proposal number N to it
Accepts the proposal if it
has not promised to accept a
Proposal with higher number N
proposer
acceptor
Learns chosen
Proposal N
with value v
learner
Quorum must accept proposal to be chosen
proposers
Workshop DIS: PAXOS / Consensus in a Distributed System
acceptors
learners
Philipp Fath 2010/10/25 | Slide 9
Consens-making model: Roles
CLIENT
fault-tolerant memory
leader
leader
proposers
Workshop DIS: PAXOS / Consensus in a Distributed System
acceptors
learners
Philipp Fath 2010/10/25 | Slide 10
Roles and behaviors: Basic PAXOS
 Phase 1a: Prepare
• a Proposer selects a proposal number N
• and sends a prepare-request with number N to a majority of acceptors
 Phase 1b: Promise
• acceptors answer with a promise not to accept any more proposals
with a number less than N
• and answer with the highest-numbered proposal (if any) accepted
 Phase 2a: Accept!
• if the proposer received a answer of a majority of acceptors,
it sends an accept-request N with value v to them
• v is the value of the highest-numbered proposal among the answers,
or may be any value if no values were reported
 Phase 2b: Accepted
• acceptors accept proposal if they haven’t given a new promise in meantime
Workshop DIS: PAXOS / Consensus in a Distributed System
Philipp Fath 2010/10/25 | Slide 11
Agenda
 Introduction: Consensus at PAXOS Island
 non-Byzantine faults
 Roles and Behaviors
 Example situations
 Outlook
 Sources
Workshop DIS: PAXOS / Consensus in a Distributed System
Philipp Fath 2010/10/25 | Slide 12
Situation 1: Basic PAXOS [no faults]
Workshop DIS: PAXOS / Consensus in a Distributed System
Philipp Fath 2010/10/25 | Slide 13
Situation 2: Failure of Acceptor
Workshop DIS: PAXOS / Consensus in a Distributed System
Philipp Fath 2010/10/25 | Slide 14
Situation 3: Failure of redundand Learner
Workshop DIS: PAXOS / Consensus in a Distributed System
Philipp Fath 2010/10/25 | Slide 15
Situation 4: Failure of Proposer
Workshop DIS: PAXOS / Consensus in a Distributed System
Philipp Fath 2010/10/25 | Slide 16
Situation 5: Failure Duelling Proposers
Workshop DIS: PAXOS / Consensus in a Distributed System
Philipp Fath 2010/10/25 | Slide 17
Agenda
 Introduction: Consensus at PAXOS Island
 non-Byzantine faults
 Roles and Behaviors
 Example situations
 Outlook
 Sources
Workshop DIS: PAXOS / Consensus in a Distributed System
Philipp Fath 2010/10/25 | Slide 18
Outlook: PAXOS is a family of algorithms
 Multi-PAXOS
Several instances of PAXOS produce a continuous stream of agreed
values but use the same leader.
 Cheap-PAXOS
Auxiliary Processors only take part during unstable periods.
 Fast-PAXOS
Direct Accept!-Message from client: saving one message delay
 Generalized PAXOS
Aim is not to agree on a single value, but on an increasing set
of values.
Workshop DIS: PAXOS / Consensus in a Distributed System
Philipp Fath 2010/10/25 | Slide 19
Thank you !
Questions ?
Workshop DIS: PAXOS / Consensus in a Distributed System
Philipp Fath 2010/10/25 | Slide 20
Sources
Content
http://www.merriam-webster.com/dictionary/consensus , 2010
http://research.microsoft.com/en-us/um/people/lamport/pubs/pubs.html#lamport-paxos , 2010
Highlights aus der Informatik, Ingo Wegener, Springer 1996
The part-time parliament, Leslie Lamport, ACM Transactions on Computer Systems 1998
Paxos Made Simple, Leslie Lamport, 2001
Generalized Consensus and Paxos, Leslie Lamport, Microsoft Research 2004
Images
http://www.nancy-universite.fr/fileadmin/public/dhc2007/Phototheque/images/4068.jpg , 2010
https://belenus.unirioja.es/~mimarano/Lamport.jpg , 2010
http://www.steckdosenversand.de/pics_site/netzwerk_ausschnitt_1.jpg , 2010
http://en.wikipedia.org/wiki/Paxos_algorithm , 2010
Workshop DIS: PAXOS / Consensus in a Distributed System
Philipp Fath 2010/10/25 | Slide 21