Skip to main content
Erschienen in: Distributed Computing 4/2022

16.04.2022

Extending the wait-free hierarchy to multi-threaded systems

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

Erschienen in: Distributed Computing | Ausgabe 4/2022

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

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.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

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!

Fußnoten
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.
 
Literatur
1.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat Lamport, L.: A new solution of Dijkstra’s concurrent programming problem. Commun. ACM 17(8), 453–455 (1974)MathSciNetCrossRef Lamport, L.: A new solution of Dijkstra’s concurrent programming problem. Commun. ACM 17(8), 453–455 (1974)MathSciNetCrossRef
17.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat Raynal, M.: Concurrent Programming - Algorithms, Principles, and Foundations. Springer (2012) Raynal, M.: Concurrent Programming - Algorithms, Principles, and Foundations. Springer (2012)
20.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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)
Metadaten
Titel
Extending the wait-free hierarchy to multi-threaded systems
verfasst von
Matthieu Perrin
Achour Mostéfaoui
Grégoire Bonin
Ludmila Courtillat-Piazza
Publikationsdatum
16.04.2022
Verlag
Springer Berlin Heidelberg
Erschienen in
Distributed Computing / Ausgabe 4/2022
Print ISSN: 0178-2770
Elektronische ISSN: 1432-0452
DOI
https://doi.org/10.1007/s00446-022-00425-x

Weitere Artikel der Ausgabe 4/2022

Distributed Computing 4/2022 Zur Ausgabe

Premium Partner