This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Perspectives on the CAP Theorem
Feb. 2012 (vol. 45 no. 2)
pp. 30-36
Seth Gilbert, National University of Singapore
Nancy A. Lynch, Massachusetts Institute of Technology
The CAP theorem is one example of a more general tradeoff between safety and liveness in unreliable systems. Viewing CAP in this context provides insight into the inherent tradeoffs and the manner in which they can be circumvented in practice.

1. E. Borowsky and E. Gafni, "Generalized FLP Impossibility Result for t-Resilient Asynchronous Computations," Proc. 25th Ann. ACM Symp. Theory of Computing (STOC 93), ACM, 1993, pp. 91-100.
2. T.D. Chandra and S. Toueg, "Unreliable Failure Detectors for Reliable Distributed Systems," JACM, Mar. 1996, pp. 225-267.
3. M.J. Fischer, N.A. Lynch, and M.S. Paterson, "Impossibility of Distributed Consensus with One Faulty Process," JACM, Apr. 1985, pp. 374-382.
4. M. Herlihy and N. Shavit, "The Topological Structure of Asynchronous Computability," JACM, Nov. 1999, pp. 858-923.
5. M. Saks and F. Zaharoglou, "Wait-Free k-Set Agreement Is Impossible: The Topology of Public Knowledge," SIAM J. Computing, Mar. 2000, pp. 1449-1483.
6. S. Gilbert and N. Lynch, "Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services," ACM SIGACT News, June 2002, pp. 51-59.
7. T.D. Chandra, R. Griesemer, and J. Redstone, "Paxos Made Live: An Engineering Perspective," Proc. 26th Ann. ACM Symp. Principles of Distributed Computing (PODC 07), ACM, 2007, pp. 398-407.
8. L. Lamport, "Time, Clocks, and the Ordering of Events in a Distributed System," Comm. ACM, July 1978, pp. 558-565.
9. L. Lamport, "The Part-Time Parliament," ACM Trans. Computer Systems, May 1998, pp. 133-169.
10. B.W. Lampson, "How to Build a Highly Available System Using Consensus," Proc. 10th Int'l Workshop Distributed Algorithms (WDAG 96), Springer, 1996, pp. 1-17.
11. L. Lamport and M. Fischer, "Byzantine Generals and Transaction Commit Protocols," opus 62, unpublished paper, rev. 25 Apr. 1984; http://research.microsoft.com/en-us/um/people/ lamport/pubstrans.pdf.
12. N.A. Lynch, Distributed Algorithms, Morgan Kaufmann, 1996.
13. C. Dwork, N. Lynch, and L. Stockmeyer, "Consensus in the Presence of Partial Synchrony," JACM, Apr. 1988, pp. 288-323.
14. P. Dutta and R. Guerraoui, "The Inherent Price of Indulgence," Proc. 21st Ann. ACM Symp. Principles of Distributed Computing (PODC 02), ACM, 2002, pp. 88-97.
15. D. Alistarh et al., "How to Solve Consensus in the Smallest Window of Synchrony," Proc. 22nd Int'l Symp. Distributed Computing (DISC 08), Springer, 2008, pp. 32-46.
16. M. Castro and B. Liskov, "Practical Byzantine Fault Tolerance and Proactive Recovery," ACM Trans. Computer Systems, Nov. 2002, pp. 398-461.
17. T.D. Chandra, V. Hadzilacos, and S. Toueg, "The Weakest Failure Detector for Solving Consensus," JACM, July 1996, pp. 685-722.
18. M.K. Aguilera et al., "Communication-Efficient Leader Election and Consensus with Limited Link Synchrony," Proc. 23rd Ann. ACM Symp. Principles of Distributed Computing (PODC 04), ACM, 2004, pp. 328-337.
19. M.K. Aguilera et al., "On Implementing Omega in Systems with Weak Reliability and Synchrony Assumptions," Distributed Computing, Oct. 2008, pp. 285-314.
20. S. Chaudhuri, "More Choices Allow More Faults: Set Consensus Problems in Totally Asynchronous Systems," Information and Computation, July 1993, pp. 132-158.
21. S. Chaudhuri et al., "A Tight Lower Bound for k-Set Agreement," Proc. IEEE 34th Ann. Symp. Foundations of Computer Science (SFCS 93), IEEE CS, 1993, pp. 206-215.
22. M. Burrows, "The Chubby Lock Service for Loosely-Coupled Distributed Systems," Proc. 7th Symp. Operating Systems Design and Implementation (OSDI 06), Usenix, 2006, pp. 335-350.
23. H. Yu and A. Vahdat, "Design and Evaluation of a Conit-Based Continuous Consistency Model for Replicated Services," ACM Trans. Computer Systems, Aug. 2002, pp. 239-282.
24. H. Yu and A. Vahdat, "The Costs and Limits of Availability for Replicated Services," ACM Trans. Computer Systems, Feb. 2006, pp. 70-113.
25. B.F. Cooper et al., "PNUTS: Yahoo!'s Hosted Data Serving Platform," Proc. VLDB Endowment (VLDB 08), ACM, 2008, pp. 1277-1288.

Index Terms:
Distributed computing, CAP theorem, Fault tolerance
Citation:
Seth Gilbert, Nancy A. Lynch, "Perspectives on the CAP Theorem," Computer, vol. 45, no. 2, pp. 30-36, Feb. 2012, doi:10.1109/MC.2011.389
Usage of this product signifies your acceptance of the Terms of Use.