An Efficient Universal Construction for Message-Passing Systems

Extended Abstract
  • Partha Dutta
  • Svend Frølund
  • Rachid Guerraoui
  • Bastian Pochon
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2508)


A universal construction is an algorithm that transforms any object with a sequential specification into a wait-free linearizable implementation of that object. This paper presents a novel universal construction algorithm for a message-passing system with process crash failures. Our algorithm relies on two fine-grained underlying abstractions: a weak form of leader election, and a one-shot form of register.

Our algorithm is indulgent, efficient and generic. Being indulgent intuitively means that the algorithm preserves consistency even if the underlying system is asynchronous for arbitrary periods of time. Compared to other indulgent universal constructions, our algorithm uses fewer messages and gives rise to less work in steady-state. Our algorithm is generic in two senses: (1) although it is devised for a crash-stop model, it can be easily ported to various crash-recovery models, and (2) although it is optimized for steady-state periods, it can easily be extended to trade-off between steady-state performance and fail-over time.


Total Order Correct Process Swiss Federal Institute Leader Election Message Complexity 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    P. A. Alsberg and J. D. Day. A principle for resilient sharing of distributed resources. In Proceedings of the Second IEEE International Conference on Software Engineering (ICSE), 1976.Google Scholar
  2. 2.
    H. Attiya, A. Bar-Noy, and D. Dolev. Sharing memory robustly in message-passing systems. Journal of the ACM, 42(1):124–142, 1995.zbMATHCrossRefGoogle Scholar
  3. 3.
    J. F. Bartlett. A nonstop kernel. In Proceedings of the 8 th ACM Symposium on Operating System Principles (SOSP), 1981.Google Scholar
  4. 4.
    R. Boichat, P. Dutta, S. Frølund, and R. Guerraoui. Deconstructing Paxos. Technical Report EPFL-2001, Swiss Federal Institute of Technology, January 2001.Google Scholar
  5. 5.
    N. Budhiraja, K. Marzullo, F. B. Schneider, and S. Toueg. The primary-backup approach. In S. Mullender, editor, Distributed Systems. Addison-Wesley, 1993.Google Scholar
  6. 6.
    T. Chandra, V. Hadzilacos, and S. Toueg. The weakest failure detector to solve consensus. Journal of the ACM, 43(4):685–722, 1996.zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    G. Chockler and D. Malkhi. Active Disk Paxos with infinitely many processes. In Proceedings of the 21 st ACM Symposium on Principles of Distributed Computing (PODC) (to appear), July 2002.Google Scholar
  8. 8.
    X. Défago and A. Schiper. Semi-passive replication and lazy consensus. Technical Report DSC/2000/012, Swiss Federal Institute of Technology, February 2000.Google Scholar
  9. 9.
    P. Dutta, F. Frølund, R. Guerraoui, and B. Pochon. An efficient universal construction for message-passing systems. Technical Report EPFL/IC/2002/28, Swiss Federal Institute of Technoology, Lausanne, May 2002.Google Scholar
  10. 10.
    E. Gafni and L. Lamport. Disk paxos. In International Symposium on Distributed Computing, pages 330–344, 2000.Google Scholar
  11. 11.
    R. Guerraoui. Indulgent algorithms. In Proceedings of the 19 th ACM Symposium on Principles of Distributed Computing (PODC), 2000.Google Scholar
  12. 12.
    M. Herlihy. Wait-free synchronization. ACM Transactions on Programming Languages and Systems, 13(1):124–149, January 1991.Google Scholar
  13. 13.
    M. Herlihy and J. Wing. Linearizability: a correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems, 12(3):463–492, July 1990.Google Scholar
  14. 14.
    L. Lamport. The part-time parliament. Technical Report 49, DEC Systems Research Center, 1989. Also published in ACM Transactions on Computer Systems (TOCS), Vol. 16, No. 2, 1998.Google Scholar
  15. 15.
    B. Lampson. How to build a highly available system using consensus. In Proceedings of the International Workshop on Distributed Algorithms (WDAG), Springer-Verlag, LNCS, September 1996.Google Scholar
  16. 16.
    J. Yang, G. Neiger, and E. Gafni. Structured derivations of consensus algorithms for failure detectors. In Proceedings of the 17 th ACM Symposium on Principles of Distributed Computing, pages 297–306, 1998.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Partha Dutta
    • 1
  • Svend Frølund
    • 2
  • Rachid Guerraoui
    • 1
  • Bastian Pochon
    • 1
  1. 1.Distributed Programming LaboratorySwiss Federal Institute of TechnologyLausanne
  2. 2.Hewlett-Packard LaboratoriesPalo Alto

Personalised recommendations