Abstract
Lamport showed that a replicated deterministic state machine is a general way to implement a highly available system, given a consensus algorithm that the replicas can use to agree on each input. His Paxos algorithm is the most fault-tolerant way to get consensus without real-time guarantees. Because general consensus is expensive, practical systems reserve it for emergencies and use leases (locks that time out) for most of the computing. This paper explains the general scheme for efficient highly available computing, gives a general method for understanding concurrent and fault-tolerant programs, and derives the Paxos algorithm as an example of the method.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This paper is at http://www.research.microsoftcom.
Preview
Unable to display preview. Download preview PDF.
References
M. Abadi and L. Lamport. The existence of refinement mappings. Theoretical Computer Science 82, 2, May 1991.
B. Alpern and F. Schneider. Defining liveness. Information Processing Letters 21, 4, 1985.
M. Fischer, N. Lynch, and M. Paterson. Impossibility of distributed consensus with one faulty process. J. ACM 32, 2, April 1985.
J. Gray and A. Reuter. Transaction Processing: Concepts and Techniques. Morgan Kaufmann, 1993.
L. Lamport. The implementation of reliable distributed multiprocess systems. Computer Networks 2, 1978.
L. Lamport. A simple approach to specifying concurrent systems. Comm. ACM, 32, 1, Jan. 1989.
L. Lamport. The part-time parliament. Technical Report 49, Systems Research Center, Digital Equipment Corp., Palo Alto, Sep. 1989.
B. Liskov and B. Oki. Viewstamped replication, Proc. 7th PODC, Aug. 1988.
N Lynch. Distributed Algorithms. Morgan Kaufmann, 1996.
N. Lynch and F. Vaandrager. Forward and backward simulations for timing-based systems. Lecture Notes in Computer Science 600, Springer, 1992.
F. Schneider. Implementing fault-tolerant services using the state-machine approach: A tutorial. Computing Surveys 22 (Dec 1990).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lampson, B.W. (1996). How to build a highly available system using consensus. In: Babaoğlu, Ö., Marzullo, K. (eds) Distributed Algorithms. WDAG 1996. Lecture Notes in Computer Science, vol 1151. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61769-8_1
Download citation
DOI: https://doi.org/10.1007/3-540-61769-8_1
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61769-3
Online ISBN: 978-3-540-70679-3
eBook Packages: Springer Book Archive