, Volume 76, Issue 2, pp 502–535 | Cite as

Distributed Universality



A notion of a universal construction suited to distributed computing has been introduced by Herlihy in his celebrated paper “Wait-free synchronization” (ACM Trans Program Lang Syst 13(1):124–149, 1991). A universal construction is an algorithm that can be used to wait-free implement any object defined by a sequential specification. Herlihy’s paper shows that the basic system model, which supports only atomic read/write registers, has to be enriched with consensus objects to allow the design of universal constructions. The generalized notion of a k -universal construction has been recently introduced by Gafni and Guerraoui (Proceedings of 22nd international conference on concurrency theory (CONCUR’11), Springer LNCS 6901, pp 17–27, 2011). A k-universal construction is an algorithm that can be used to simultaneously implement k objects (instead of just one object), with the guarantee that at least one of the k constructed objects progresses forever. While Herlihy’s universal construction relies on atomic registers and consensus objects, a k-universal construction relies on atomic registers and k-simultaneous consensus objects (which are wait-free equivalent to k-set agreement objects in the read/write system model). This paper significantly extends the universality results introduced by Herlihy and Gafni–Guerraoui. In particular, we present a k-universal construction which satisfies the following five desired properties, which are not satisfied by the previous k-universal construction: (1) among the k objects that are constructed, at least \(\ell \) objects (and not just one) are guaranteed to progress forever; (2) the progress condition for processes is wait-freedom, which means that each correct process executes an infinite number of operations on each object that progresses forever; (3) if any of the k constructed objects stops progressing, all its copies (one at each process) stop in the same state; (4) the proposed construction is contention-aware, in the sense that it uses only read/write registers in the absence of contention; and (5) it is generous with respect to the obstruction-freedom progress condition, which means that each process is able to complete any one of its pending operations on the k objects if all the other processes hold still long enough. The proposed construction, which is based on new design principles, is called a \((k,\ell )\)-universal construction. It uses a natural extension of k-simultaneous consensus objects, called \((k,\ell )\)-simultaneous consensus objects (\((k,\ell )\)-SC). Together with atomic registers, \((k,\ell )\)-SC objects are shown to be necessary and sufficient for building a \((k,\ell )\)-universal construction, and, in that sense, \((k,\ell )\)-SC objects are \((k,\ell )\)-\( {universal}\).


Asynchronous read/write system Universal construction  Consensus Distributed computability k-Set agreement  k-Simultaneous consensus Wait-freedom Obstruction-freedom Contention-awareness Crash failures State machine replication 



This work has been partially supported by the French ANR project DISPLEXITY devoted to computability and complexity in distributed computing, and the Franco-German ANR project DISCMAT devoted to connections between mathematics and distributed computing. We want to thank Reviewer 1 and Reviewer 3 for their constructive comments, which helped us improve the content and the presentation of the paper.


  1. 1.
    Afek, Y., Gafni, E., Rajsbaum, S., Raynal, M., Travers, C.: The \(k\)-simultaneous consensus problem. Distrib. Comput. 22(3), 185–195 (2010)CrossRefMATHGoogle Scholar
  2. 2.
    Anderson, J.H., Moir, M.: Universal constructions for large objects. IEEE Trans. Parallel Distrib. Syst. 10(12), 1317–1332 (1999)CrossRefGoogle Scholar
  3. 3.
    Attiya, H., Guerraoui, R., Hendler, D., Kutnetsov P.: The complexity of obstruction-free implementations. J. ACM 56(4), Article 24 (2009)Google Scholar
  4. 4.
    Attiya, H., Welch, J.L.: Distributed Computing: Fundamentals, Simulations and Advanced Topics, 2nd edn. Wiley-Interscience, Hoboken (2004). ISBN 0-471-45324-2CrossRefMATHGoogle Scholar
  5. 5.
    Borowsky, E., Gafni, E.: Generalized FLP impossibility results for \(t\)-resilient asynchronous computations. In: Proceedings of 25th ACM Symposium on Theory of Computing (STOC’93), pp. 91–100. ACM Press (1993)Google Scholar
  6. 6.
    Bouzid, Z., Travers, C.: Simultaneous consensus is harder than set agreement in message-passing. In: Proceedings of 33rd International IEEE Conference on Distributed Computing Systems (ICDCS’13), pp. 611–620. IEEE Press (2013)Google Scholar
  7. 7.
    Capdevielle, C., Johnen, C., Milani, A.: Solo-fast universal cosntructions for deterministic abortable objects. In: Proceedings of 28th International Symposium on Distributed Computing (DISC’14), Springer LNCS 8784, pp. 288–302 (2014)Google Scholar
  8. 8.
    Chaudhuri, S.: More choices allow more faults: set consensus problems in totally asynchronous systems. Inf. Comput. 105(1), 132–158 (1993)MathSciNetCrossRefMATHGoogle Scholar
  9. 9.
    Chuong, Ph., Ellen, F., Ramachandran V.: A Universal construction for wait-free transaction friendly data structures. In: Proceedings of 22th International ACM Symposium on Parallelism in Algorithms and Architectures (SPAA’10), pp. 335–344. ACM Press (2010)Google Scholar
  10. 10.
    Crain, T., Imbs, D., Raynal, M.: Towards a universal construction for transaction-based multiprocess programs. Theor. Comput. Sci. 496, 154–169 (2013)MathSciNetCrossRefMATHGoogle Scholar
  11. 11.
    Ellen, F., Fatourou, P., Kosmas, E., Milani, A., Travers, C.: Universal construction that ensure disjoint-access parallelism and wait-freedom. In: Proceedings of 31th ACM Symposium on Principles of Distributed Computing (PODC), pp. 115–124. ACM Press (2012)Google Scholar
  12. 12.
    Fatourou, P., Kallimanis, N.D.: A highly-efficient wait-free universal construction. In: Proceedings of 23th ACM Symposium on Parallel Algorithms and Architectures (SPAA), pp. 325–334. ACM Press (2012)Google Scholar
  13. 13.
    Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)MathSciNetCrossRefMATHGoogle Scholar
  14. 14.
    Gafni, E.: Round-by-round fault detectors: unifying synchrony and asynchrony. In: Proceedings of 17th ACM Symposium on Principles of Distributed Computing (PODC), pp. 143–152. ACM Press (1998)Google Scholar
  15. 15.
    Gafni, E., Guerraoui, R.: Generalizing universality. In: Proceedings of 22nd International Conference on Concurrency Theory (CONCUR’11), Springer LNCS 6901, pp. 17–27 (2011)Google Scholar
  16. 16.
    Guerraoui, R., Kapalka, M., Kouznetsov, P.: The weakest failure detectors to boost obstruction-freedom. Distrib. Comput. 20(6), 415–433 (2008)CrossRefMATHGoogle Scholar
  17. 17.
    Guerraoui, R., Lynch, N.A.: A general characterization of indulgence. ACM Trans. Auton. Adapt. Syst. 3(4), Article 20 (2008)Google Scholar
  18. 18.
    Herlihy, M.P.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1), 124–149 (1991)CrossRefGoogle Scholar
  19. 19.
    Herlihy, M.P., Luchangco, V., Moir, M.: Obstruction-free synchronization: double-ended queues as an example. In: Proceedings of 23th International IEEE Conference on Distributed Computing Systems (ICDCS’03), pp. 522–529. IEEE Press (2003)Google Scholar
  20. 20.
    Herlihy, M., Luchangco, V., Moir, M., Scherer, W.M. III: Software transactional memory for dynamic-sized data structures. In: Proceedings of 22nd International ACM Symposium on Principles of Distributed Computing (PODC’03), pp. 92–101. ACM Press (2003)Google Scholar
  21. 21.
    Herlihy, M.P., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures. In: Proceedings of 20th ACM International Symposium on Computer Architecture (ISCA’93), pp. 289–300. ACM Press (1993)Google Scholar
  22. 22.
    Herlihy, M.P., Shavit, N.: The topological structure of asynchronous computability. J. ACM 46(6), 858–923 (1999)MathSciNetCrossRefMATHGoogle Scholar
  23. 23.
    Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)CrossRefGoogle Scholar
  24. 24.
    Lamport, L.: On inter-process communications. Part I: Basic formalism. Distrib. Comput. 1(2), 77–85 (1986)CrossRefMATHGoogle Scholar
  25. 25.
    Loui, M., Abu-Amara, H.: Memory requirements for agreement among unreliable asynchronous processes. Adv. Comput. Res. 4, 163–183 (1987)MathSciNetGoogle Scholar
  26. 26.
    Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann, Kaufmann (1996)MATHGoogle Scholar
  27. 27.
    Luchangco, V., Moir, M., Shavit, N.: On the Uncontended complexity of consensus. In: Proceedings of 17th International Symposium on Distributed Computing (DISC’03), Springer LNCS 2848, pp. 45–59 (2003)Google Scholar
  28. 28.
    Merritt, M., Taubenfeld, G.: Resilient consensus for infinitely many processes. In: Proceedings of 17th International Symposium on Distributed Computing (DISC’03), Springer LNCS 2848, pp. 1–15 (2003)Google Scholar
  29. 29.
    Raynal, M.: Concurrent Programming: Algorithms, Principles, and Foundations. Springer, Berlin (2013). ISBN 978-3-642-32026-2CrossRefMATHGoogle Scholar
  30. 30.
    Raynal, M., Stainer, J.: Simultaneous consensus vs set agreement: a message-passing-sensitive hierarchy of agreement problems. In: Proceedings of 20th International Colloquium on Structural Information and Communication Complexity (SIROCCO 2013), Springer LNCS 8179, pp. 298–309 (2013)Google Scholar
  31. 31.
    Raynal, M., Stainer, J., Taubenfeld, G.: Distributed universality. In: Proceedings of 18th International Conference on Principles of Distributed Systems (OPODIS 14), Springer LNCS 8878, pp. 469–484 (2014)Google Scholar
  32. 32.
    Saks, M., Zaharoglou, F.: Wait-free \(k\)-set agreement is impossible: the topology of public knowledge. SIAM J. Comput. 29(5), 1449–1483 (2000)MathSciNetCrossRefMATHGoogle Scholar
  33. 33.
    Shavit, N., Touitou, D.: Software transactional memory. Distrib. Comput. 10(2), 99–116 (1997)CrossRefGoogle Scholar
  34. 34.
    Taubenfeld, G.: Contention-sensitive data structure and algorithms. In: Proceedings of 23rd International Symposium on Distributed Computing (DISC’09), Springer LNCS 5805, pp. 157–171 (2009)Google Scholar

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  • Michel Raynal
    • 1
    • 2
  • Julien Stainer
    • 2
  • Gadi Taubenfeld
    • 3
  1. 1.Institut Universitaire de FranceParisFrance
  2. 2.IRISAUniversité de RennesRennes CedexFrance
  3. 3.The Interdisciplinary CenterHerzliyaIsrael

Personalised recommendations