P. 1
Generalized Consensus and Paxos - 2005

Generalized Consensus and Paxos - 2005

Ratings: (0)|Views: 1,169|Likes:
Published by newtonapple

More info:

Published by: newtonapple on May 27, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

11/21/2013

pdf

text

original

 
Generalized Consensus and Paxos
Leslie Lamport3 March 2004revised 15 March 2005corrected 28 April 2005Microsoft Research Technical Report MSR-TR-2005-33
 
AbstractTheoretician’s Abstract
Consensus has been regarded as the fundamental problem that must besolved to implement a fault-tolerant distributed system. However, only aweaker problem than traditional consensus need be solved. We generalizethe consensus problem to include both traditional consensus and this weakerversion. A straightforward generalization of the Paxos consensus algorithmimplements general consensus. The generalizations of consensus and of thePaxos algorithm require a mathematical
detour de force
into a type of objectcalled a command-structure set.
Engineer’s Abstract
The state-machine approach to implementing a fault-tolerant distributedsystem involves reaching agreement on the sequence of system commandsby executing a sequence of separate instances of a consensus algorithm. Itcan be shown that any fault-tolerant asynchronous consensus algorithm re-quires at least two message delays between the issuing of a command andwhen it can be executed. But even in the absence of faults, no algorithmcan guarantee this fast an execution if two different commands are issuedconcurrently. We generalize the state-machine approach to involve reach-ing agreement on a partially ordered set of commands. By generalizing thePaxos consensus algorithm, we can implement a system in which concur-rently issued commands can always be executed in two message delays if they are non-interfering, so it does not matter in which order those com-mands are executed. For many systems, concurrent commands are rarelyinterfering, so the generalized Paxos algorithm can be quite efficient. Andcommand-structure sets are very simple.
 
Contents
1 Introduction 12 Traditional Consensus 3
2.1 The Requirements . . . . . . . . . . . . . . . . . . . . . . . .32.2 Acceptors and Quorums . . . . . . . . . . . . . . . . . . . . .42.3 Lower-Bound Results for Consensus . . . . . . . . . . . . . .4
3 Generalized Consensus 64 Command-Structure Sets 8
4.1 Mathematical Preliminaries . . . . . . . . . . . . . . . . . . .84.1.1 Notation . . . . . . . . . . . . . . . . . . . . . . . . . .84.1.2 Sequences . . . . . . . . . . . . . . . . . . . . . . . . .84.1.3 Partial Orders . . . . . . . . . . . . . . . . . . . . . .94.1.4 Equivalence Classes . . . . . . . . . . . . . . . . . . .94.1.5 Directed Graph . . . . . . . . . . . . . . . . . . . . . .94.2 C-Struct Sets . . . . . . . . . . . . . . . . . . . . . . . . . . .104.3 The Consensus Requirements Restated . . . . . . . . . . . . .124.4 Some Examples of C-Structs . . . . . . . . . . . . . . . . . . .13
5 The Generalized Paxos Consensus Algorithm 17
5.1 Ballots and Quorums . . . . . . . . . . . . . . . . . . . . . . .175.2 Ballot Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . .185.3 The Abstract Algorithm . . . . . . . . . . . . . . . . . . . . .215.4 A Distributed Abstract Algorithm . . . . . . . . . . . . . . .265.5 The Generalized Paxos Consensus Algorithm . . . . . . . . .29
6 Implementation Considerations 30
6.1 Normal Operation . . . . . . . . . . . . . . . . . . . . . . . .306.2 Ensuring Liveness . . . . . . . . . . . . . . . . . . . . . . . .326.3 Large C-Structs . . . . . . . . . . . . . . . . . . . . . . . . . .33
7 Summary 34Acknowledgments 36References 36A Lower-Bound Proof Ideas 38
1

Activity (2)

You've already reviewed this. Edit your review.
1 thousand reads
1 hundred reads

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->