220 likes | 311 Views
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
E N D
Introduction: Whatisconsensus? • 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
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.
non-Byzantinefaults • 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 • Not assumed in PAXOS: Byzantine errors and inconsistency • Incorrect working processes sending corrupted messages • Messages • arbitrary deliver time • can be duplicated • can be lost • Agents • operate at arbitrary speed • may fail by stopping • may restart
Consensus-makingmodel: 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 Learns chosen Proposal N with value v proposer acceptor learner Quorum must accept proposal to be chosen proposers acceptors learners
Consens-makingmodel: Roles CLIENT fault-tolerant memory leader leader proposers acceptors learners
Rolesandbehaviors: 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
Outlook: PAXOS is a familyofalgorithms • 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.
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