Advertisement

A Thrifty Universal Construction

  • Wang ChengEmail author
  • Rachid Guerraoui
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9466)

Abstract

A universal construction is an algorithm which transforms any sequential implementation of an object into a concurrent implementation of that same object in a linearizable and wait-free manner. Such constructions require underlying low-level universal shared objects such as compare-and-swap and load-linked/store-conditional.

In this paper, we present the first universal construction that (a) uses exactly one compare-and-swap object and (b) has time complexity (number of accesses to low-level shared objects) and memory complexity (size of low-level shared objects) that are both independent of the size of the high-level object to be implemented.

References

  1. 1.
    Afek, Y., Dauber, D., Touitou, D.: Wait-free made fast. In: Proceedings of the Twenty-seventh Annual ACM Symposium on Theory of Computing. pp. 538–547. ACM (1995)Google Scholar
  2. 2.
    Alistarh, D., Censor-Hillel, K., Shavit, N.: Are lock-free concurrent algorithms practically wait-free? In: Proceedings of the 46th Annual ACM Symposium on Theory of Computing. pp. 714–723. ACM (2014)Google Scholar
  3. 3.
    Anderson, J.H., Moir, M.: Universal constructions for large objects. IEEE Trans. Parallel Distrib. Syst. 10(12), 1317–1332 (1999)CrossRefGoogle Scholar
  4. 4.
    Barnes, G.: A method for implementing lock-free shared-data structures. In: Proceedings of the Fifth Annual ACM Symposium on Parallel Algorithms and Architectures. pp. 261–270. ACM (1993)Google Scholar
  5. 5.
    Fatourou, P., Kallimanis, N.D.: The redblue adaptive universal constructions. In: Keidar, I. (ed.) DISC 2009. LNCS, vol. 5805, pp. 127–141. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  6. 6.
    Fatourou, P., Kallimanis, N.D.: A highly-efficient wait-free universal construction. In: Proceedings of the Twenty-third Annual ACM Symposium on Parallelism in Algorithms and Architectures. pp. 325–334. ACM (2011)Google Scholar
  7. 7.
    Fraser, K.: Practical lock-freedom. Ph.D. thesis, University of Cambridge (2004)Google Scholar
  8. 8.
    Hendler, D., Incze, I., Shavit, N., Tzafrir, M.: Flat combining and the synchronization-parallelism tradeoff. In: Proceedings of the 22nd ACM Symposium on Parallelism in Algorithms and Architectures. pp. 355–364. ACM (2010)Google Scholar
  9. 9.
    Herlihy, M.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. (TOPLAS) 13(1), 124–149 (1991)CrossRefGoogle Scholar
  10. 10.
    Herlihy, M.: A methodology for implementing highly concurrent data objects. ACM Trans. Program. Lang. Syst. (TOPLAS) 15(5), 745–770 (1993)CrossRefGoogle Scholar
  11. 11.
    Herlihy, M., Shavit, N.: On the nature of progress. In: Fernàndez Anta, A., Lipari, G., Roy, M. (eds.) OPODIS 2011. LNCS, vol. 7109, pp. 313–328. Springer, Heidelberg (2011) CrossRefGoogle Scholar
  12. 12.
    Herlihy, M.P., Wing, J.M.: Axioms for concurrent objects. In: Proceedings of the 14th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages. pp. 13–26. ACM (1987)Google Scholar
  13. 13.
    Michael, M.M.: High performance dynamic lock-free hash tables and list-based sets. In: Proceedings of the Fourteenth Annual ACM Symposium on Parallel Algorithms and Architectures. pp. 73–82. ACM (2002)Google Scholar
  14. 14.
    Moir, M.: Practical implementations of non-blocking synchronization primitives. In: Proceedings of the Sixteenth Annual ACM Symposium on Principles of Distributed Computing. pp. 219–228. ACM (1997)Google Scholar
  15. 15.
    Valois, J.D.: Lock-free linked lists using compare-and-swap. In: Proceedings of the Fourteenth Annual ACM Symposium on Principles of Distributed Computing. pp. 214–222. ACM (1995)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.École Polytechnique Fédérale de LausanneLausanneSwitzerland

Personalised recommendations