Wait-Free CAS-Based Algorithms: The Burden of the Past

Authors Denis Bédin, François Lépine, Achour Mostéfaoui, Damien Perez, Matthieu Perrin

Thumbnail PDF


  • Filesize: 0.69 MB
  • 15 pages

Document Identifiers

Author Details

Denis Bédin
  • Université de Nantes, France
François Lépine
  • Université de Nantes, France
Achour Mostéfaoui
  • LS2N, Université de Nantes, France
Damien Perez
  • Université de Nantes, France
Matthieu Perrin
  • LS2N, Université de Nantes, France

Cite AsGet BibTex

Denis Bédin, François Lépine, Achour Mostéfaoui, Damien Perez, and Matthieu Perrin. Wait-Free CAS-Based Algorithms: The Burden of the Past. In 35th International Symposium on Distributed Computing (DISC 2021). Leibniz International Proceedings in Informatics (LIPIcs), Volume 209, pp. 11:1-11:15, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2021)


Herlihy proved that CAS is universal in the classical computing system model composed of an a priori known number of processes. This means that CAS can implement, together with reads and writes, any object with a sequential specification. For this, he proposed the first universal construction capable of emulating any data structure. It has recently been proved that CAS is still universal in the infinite arrival computing model, a model where any number of processes can be created on the fly (e.g. multi-threaded systems). In this paper, we prove that CAS does not allow to implement wait-free and linearizable visible objects in the infinite model with a space complexity bounded by the number of active processes (i.e. ones that have operations in progress on this object). This paper also shows that this lower bound is tight, in the sense that this dependency can be made as low as desired (e.g. logarithmic) by proposing a wait-free and linearizable universal construction, using the compare-and-swap operation, whose space complexity in the number of ever issued operations is defined by a parameter that can be linked to any unbounded function.

Subject Classification

ACM Subject Classification
  • Theory of computation → Distributed computing models
  • Software and its engineering → Process synchronization
  • Computer systems organization → Multicore architectures
  • Computer systems organization → Dependable and fault-tolerant systems and networks
  • Compare-And-Swap
  • Concurrent Object
  • Infinite arrival model
  • Linearizability
  • Memory complexity
  • Multi-Threaded Systems
  • Shared-Memory
  • Universality
  • Wait-freedom


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads


  1. Hagit Attiya and Sergio Rajsbaum. Indistinguishability. Commun. ACM, 63(5):90-99, 2020. Google Scholar
  2. Hagit Attiya and Jennifer L. Welch. Distributed computing - fundamentals, simulations, and advanced topics (2. ed.). Wiley series on parallel and distributed computing. Wiley, 2004. Google Scholar
  3. Grégoire Bonin, Achour Mostéfaoui, and Matthieu Perrin. Wait-free universality of consensus in the infinite arrival model. In 33rd International Symposium on Distributed Computing, DISC, Hungary, volume 146 of LIPIcs, pages 38:1-38:3, 2019. Google Scholar
  4. James E. Burns, Paul Jackson, Nancy A. Lynch, Michael J. Fischer, and Gary L. Peterson. Data requirements for implementation of n-process mutual exclusion using a single shared variable. J. ACM, 29(1):183-205, 1982. Google Scholar
  5. Keren Censor-Hillel, Erez Petrank, and Shahar Timnat. Help! In Proc. of the ACM Symposium on Principles of Distributed Computing, pages 241-250, 2015. Google Scholar
  6. David Dice, Danny Hendler, and Ilya Mirsky. Lightweight contention management for efficient compare-and-swap operations. In Euro-Par 2013 Parallel Processing - 19th International Conference, Aachen, Germany, August 26-30, 2013. Proceedings, volume 8097 of Lecture Notes in Computer Science, pages 595-606. Springer, 2013. Google Scholar
  7. Edsger Dijkstra. Over de sequentialiteit van procesbeschrijvingen (on the nature of sequential processes). EW Dijkstra Archive (EWD-35), Center for American History, University of Texas at Austin (Translation by Martien van der Burgt and Heather Lawrence), 1962. Google Scholar
  8. Edsger W. Dijkstra. Solution of a problem in concurrent programming control. Commun. ACM, 8(9):569, 1965. Google Scholar
  9. Faith E. Fich, Danny Hendler, and Nir Shavit. On the inherent weakness of conditional synchronization primitives. In Soma Chaudhuri and Shay Kutten, editors, Proc. of the 23rd Symposium on Principles of Distributed Computing, PODC 2004, Canada, pages 80-87. ACM, 2004. Google Scholar
  10. Maurice Herlihy. Wait-free synchronization. ACM TOPLAS, 13(1):124-149, 1991. Google Scholar
  11. Maurice Herlihy and Nir Shavit. The art of multiprocessor programming. Morgan Kaufmann, 2008. Google Scholar
  12. Maurice Herlihy and Jeannette M. Wing. Linearizability: A correctness condition for concurrent objects. ACM TOPLAS, 12(3):463-492, 1990. Google Scholar
  13. Michael C. Loui and Hosame H. Abu-Amara. Memory requirements for agreement among unreliable asynchronous processes. Parallel and Distributed Computing, 4(4):163-183, 1987. Google Scholar
  14. Michael Merritt and Gadi Taubenfeld. Computing with infinitely many processes. In Proc. of International Symposium on Distributed Computing, pages 164-178. Springer, 2000. Google Scholar
  15. Matthieu Perrin, Achour Mostéfaoui, and Grégoire Bonin. Extending the wait-free hierarchy to multi-threaded systems. In Proceedings of the 39th Symposium on Principles of Distributed Computing, pages 21-30, 2020. Google Scholar
  16. Michel Raynal. Distributed universal constructions: a guided tour. Bulletin of the EATCS, 121, 2017. Google Scholar