Skip to main content
Top
Published in: Distributed Computing 4/2022

16-04-2022

Extending the wait-free hierarchy to multi-threaded systems

Authors: Matthieu Perrin, Achour Mostéfaoui, Grégoire Bonin, Ludmila Courtillat-Piazza

Published in: Distributed Computing | Issue 4/2022

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

In modern operating systems and programming languages adapted to multicore computer architectures, parallelism is abstracted by the notion of execution threads. Multi-threaded systems have two major specificities: on the one part, new threads can be created dynamically at runtime, so there is no bound on the number of threads participating in long-running executions. On the other part, threads have access to a memory allocation mechanism that cannot allocate infinite arrays. These specificities make it challenging to adapt some algorithms to multi-threaded systems, in particular those that need to assign one shared register per process. This paper explores the synchronization power of shared objects in multi-threaded systems by extending the famous Herlihy’s wait-free hierarchy to take these constraints into consideration. It proposes to subdivide the set of objects with an infinite consensus number into nine new degrees, depending on their ability to synchronize a bounded, finite or infinite number of processes, with or without the need to allocate an infinite array. To show the relevance of the proposed extension, for each new degree it is either proved that it is empty, or an object illustrating it is proposed.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Footnotes
1
A fourth model, \(M_4\), called infinite concurrency, was introduced in [4], where infinitely many processes may be present in the system and an infinite number of operations can take place in any finite interval of time. We choose to ignore this model because it poses a problem to define linearizability.
Suppose that, for each \(i\ge 1\), process \(p_i\) writes the value i in a variable x during the interval \(\left[ 1 - \frac{1}{2i} ; 1 - \frac{1}{2i+1} \right] \); then \(p_0\) starts reading x at time 1. There is no “last written value” before the read, so the return value is not well defined. Restricting infinite concurrency to a subset of non-conflicting operations (e.g. reads or operations on different objects) would render infinite concurrency and infinite arrival computationally equivalent as one can easily use contention on conflicting operations to control the arrival of processes.
 
2
This was the standard implementation of getAndIncrement in Java, prior to version 8.
 
3
Memory addresses of an infinite memory are unbounded, so this assumption is necessary to store references.
 
4
In this paper, we do not consider a de-allocation or garbage collection mechanism, because we only investigate computability issues that are not affected by the possibility to reuse memory locations.
 
5
A small guided tour on universal constructions can be found in [20].
 
6
This means that any operation on the object can be called and the call returns regardless of the state of the object.
 
Literature
1.
go back to reference Afek, Y., Gafni, E., Morrison, A.: Common2 extended to stacks and unbounded concurrency. Distrib. Comput. 20(4), 239–252 (2007) Afek, Y., Gafni, E., Morrison, A.: Common2 extended to stacks and unbounded concurrency. Distrib. Comput. 20(4), 239–252 (2007)
2.
go back to reference Afek, Y., Morrison, A., Wertheim, G.: From bounded to unbounded concurrency objects and back. In: Proceedings of the 30th Annual ACM Symposium on Principles of Distributed Computing, PODC 2011, San Jose, CA, USA, pp. 119–128 (2011) Afek, Y., Morrison, A., Wertheim, G.: From bounded to unbounded concurrency objects and back. In: Proceedings of the 30th Annual ACM Symposium on Principles of Distributed Computing, PODC 2011, San Jose, CA, USA, pp. 119–128 (2011)
3.
go back to reference Afek, Y., Weisberger, E., Weisman, H.: A completeness theorem for a class of synchronization objects. In: Proceedings of the Twelfth Annual ACM Symposium on Principles of Distributed Computing, pp. 159–170 (1993) Afek, Y., Weisberger, E., Weisman, H.: A completeness theorem for a class of synchronization objects. In: Proceedings of the Twelfth Annual ACM Symposium on Principles of Distributed Computing, pp. 159–170 (1993)
4.
go back to reference Aguilera, M.K.: A pleasant stroll through the land of infinitely many creatures. ACM SIGACT News 35(2), 36–59 (2004)CrossRef Aguilera, M.K.: A pleasant stroll through the land of infinitely many creatures. ACM SIGACT News 35(2), 36–59 (2004)CrossRef
5.
go back to reference Attiya, H., Bar-Noy, A., Dolev, D., Peleg, D., Reischuk, R.: Renaming in an asynchronous environment. J. ACM 37(3), 524–548 (1990) Attiya, H., Bar-Noy, A., Dolev, D., Peleg, D., Reischuk, R.: Renaming in an asynchronous environment. J. ACM 37(3), 524–548 (1990)
6.
go back to reference Censor-Hillel, K., Petrank, E., Timnat, S.: Help!. In: Proceedings of the 2015 ACM Symposium on Principles of Distributed Computing, pp. 241–250. ACM (2015) Censor-Hillel, K., Petrank, E., Timnat, S.: Help!. In: Proceedings of the 2015 ACM Symposium on Principles of Distributed Computing, pp. 241–250. ACM (2015)
7.
go back to reference Ellen, F., Gelashvili, R., Shavit, N., Zhu, L.: A complexity-based hierarchy for multiprocessor synchronization. In: Proceedings of the 2016 ACM Symposium on Principles of Distributed Computing, pp. 289–298 (2016) Ellen, F., Gelashvili, R., Shavit, N., Zhu, L.: A complexity-based hierarchy for multiprocessor synchronization. In: Proceedings of the 2016 ACM Symposium on Principles of Distributed Computing, pp. 289–298 (2016)
8.
go back to reference Fatourou, P., Kallimanis, N.D.: Highly-efficient wait-free synchronization. Theory Comput. Syst. 55(3), 475–520 (2014)MathSciNetCrossRef Fatourou, P., Kallimanis, N.D.: Highly-efficient wait-free synchronization. Theory Comput. Syst. 55(3), 475–520 (2014)MathSciNetCrossRef
9.
go back to reference Filipović, I., O’Hearn, P., Rinetzky, N., Yang, H.: Abstraction for concurrent objects. Theoret. Comput. Sci. 411(51–52), 4379–4398 (2010) Filipović, I., O’Hearn, P., Rinetzky, N., Yang, H.: Abstraction for concurrent objects. Theoret. Comput. Sci. 411(51–52), 4379–4398 (2010)
10.
go back to reference Fischer, M.J., Lynch, N.A., Paterson, M.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)MathSciNetCrossRef Fischer, M.J., Lynch, N.A., Paterson, M.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)MathSciNetCrossRef
11.
go back to reference Gafni, E., Merritt, M., Taubenfeld, G.: The concurrency hierarchy, and algorithms for unbounded concurrency. In: Proceedings of the Twentieth Annual ACM Symposium on Principles of Distributed Computing, pp. 161–169. ACM (2001) Gafni, E., Merritt, M., Taubenfeld, G.: The concurrency hierarchy, and algorithms for unbounded concurrency. In: Proceedings of the Twentieth Annual ACM Symposium on Principles of Distributed Computing, pp. 161–169. ACM (2001)
12.
go back to reference Herlihy, M.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1), 124–149 (1991)CrossRef Herlihy, M.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1), 124–149 (1991)CrossRef
13.
go back to reference Herlihy, M., Rajsbaum, S., Raynal, M.: Power and limits of distributed computing shared memory models. Theor. Comput. Sci. 509, 3–24 (2013) Herlihy, M., Rajsbaum, S., Raynal, M.: Power and limits of distributed computing shared memory models. Theor. Comput. Sci. 509, 3–24 (2013)
14.
go back to reference Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann, Shavit (2008) Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann, Shavit (2008)
15.
go back to reference Herlihy, M., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)CrossRef Herlihy, M., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)CrossRef
16.
17.
go back to reference Mostefaoui, A., Raynal, M., Tronel, F.: From binary consensus to multivalued consensus in asynchronous message-passing systems. Inf. Process. Lett. 73(5–6), 207–212 (2000) Mostefaoui, A., Raynal, M., Tronel, F.: From binary consensus to multivalued consensus in asynchronous message-passing systems. Inf. Process. Lett. 73(5–6), 207–212 (2000)
18.
go back to reference Plotkin, S.A.: Sticky bits and universality of consensus. In: Proceedings of the Eighth Annual ACM Symposium on Principles of Distributed Computing, pp. 159–175 (1989) Plotkin, S.A.: Sticky bits and universality of consensus. In: Proceedings of the Eighth Annual ACM Symposium on Principles of Distributed Computing, pp. 159–175 (1989)
19.
go back to reference Raynal, M.: Concurrent Programming - Algorithms, Principles, and Foundations. Springer (2012) Raynal, M.: Concurrent Programming - Algorithms, Principles, and Foundations. Springer (2012)
20.
go back to reference Raynal, M.: Distributed universal constructions: a guided tour. Bull. EATCS, 121, 2017 Raynal, M.: Distributed universal constructions: a guided tour. Bull. EATCS, 121, 2017
21.
go back to reference Taubenfeld, G.: Distributed Computing Pearls. Synthesis Lectures on Distributed Computing Theory. Morgan & Claypool Publishers (2018) Taubenfeld, G.: Distributed Computing Pearls. Synthesis Lectures on Distributed Computing Theory. Morgan & Claypool Publishers (2018)
22.
go back to reference Treiber, R.K.: Systems Programming: Coping with Parallelism. International Business Machines Incorporated, Thomas J. Watson Research (1986) Treiber, R.K.: Systems Programming: Coping with Parallelism. International Business Machines Incorporated, Thomas J. Watson Research (1986)
23.
go back to reference Zhang, J., Chen, W.: Bounded cost algorithms for multivalued consensus using binary consensus instances. Inf. Process. Lett. 109(17), 1005–1009 (2009) Zhang, J., Chen, W.: Bounded cost algorithms for multivalued consensus using binary consensus instances. Inf. Process. Lett. 109(17), 1005–1009 (2009)
Metadata
Title
Extending the wait-free hierarchy to multi-threaded systems
Authors
Matthieu Perrin
Achour Mostéfaoui
Grégoire Bonin
Ludmila Courtillat-Piazza
Publication date
16-04-2022
Publisher
Springer Berlin Heidelberg
Published in
Distributed Computing / Issue 4/2022
Print ISSN: 0178-2770
Electronic ISSN: 1432-0452
DOI
https://doi.org/10.1007/s00446-022-00425-x

Other articles of this Issue 4/2022

Distributed Computing 4/2022 Go to the issue

Premium Partner