Skip to main content

Wait-Free Linked-Lists

  • Conference paper
Book cover Principles of Distributed Systems (OPODIS 2012)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7702))

Included in the following conference series:

Abstract

Wait-freedom is the strongest and most desirable progress guarantee, under which any thread must make progress when given enough CPU steps. Wait-freedom is required for hard real-time, and desirable in many other scenarios. However, because wait-freedom is hard to achieve, we usually settle for the weaker lock-free progress guarantee, under which one of the active threads is guaranteed to make progress. With lock-freedom (and unlike wait-freedom), starvation of all threads but one is possible.

The linked-list data structure is fundamental and ubiquitous. Lock-free versions of the linked-list are well known. However, whether it is possible to design a practical wait-free linked-list has remained an open question. In this work we present a practical wait-free linked-list based on the CAS primitive. To improve performance further, we also extend this design using the fast-path-slow-path methodology. The proposed design has been implemented and measurements demonstrate performance competitive with that of Harris’s lock-free list, while still providing the desirable wait-free guarantee, required for real-time systems.

This work was supported by the Israeli Science Foundation grant No. 283/10.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Chuong, P., Ellen, F., Ramachandran, V.: A universal construction for wait-free transaction friendly data structures. In: SPAA, pp. 335–344 (2010)

    Google Scholar 

  2. Fatourou, P., Kallimanis, N.D.: A highly-efficient wait-free universal construction. In: SPAA, pp. 325–334 (2011)

    Google Scholar 

  3. Fomitchev, M., Ruppert, E.: Lock-free linked lists and skip lists. In: PODC, pp. 50–59. ACM, New York (2004)

    Chapter  Google Scholar 

  4. Harris, T.L.: A Pragmatic Implementation of Non-blocking Linked-Lists. In: Welch, J.L. (ed.) DISC 2001. LNCS, vol. 2180, pp. 300–314. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  5. Herlihy, M.: A methodology for implementing highly concurrent objects. ACM Trans. Program. Lang. Syst. 15(5), 745–770 (1993)

    Article  Google Scholar 

  6. Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann (2008)

    Google Scholar 

  7. Kogan, A., Petrank, E.: Wait-free queues with multiple enqueuers and dequeuers. In: PPOPP, pp. 223–234 (2011)

    Google Scholar 

  8. Kogan, A., Petrank, E.: A methodology for creating fast wait-free data structures. In: PPOPP, pp. 141–150 (2012)

    Google Scholar 

  9. Michael, M.M.: Hazard pointers: Safe memory reclamation for lock-free objects. IEEE Trans. Parallel Distrib. Syst. 15(6), 491–504 (2004)

    Article  Google Scholar 

  10. Timnat, S., Braginsky, A., Kogan, A., Petrank, E.: Wait-free linked-lists. In: PPOPP, pp. 309–310 (2012)

    Google Scholar 

  11. Timnat, S., Braginsky, A., Kogan, A., Petrank, E.: Wait-free linked-lists (2012), http://www.cs.technion.ac.il/%7eerez/%50apers/wfll-full.pdf

  12. Valois, J.D.: Lock-free linked lists using compare-and-swap. In: PODC, pp. 214–222. ACM, New York (1995)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Timnat, S., Braginsky, A., Kogan, A., Petrank, E. (2012). Wait-Free Linked-Lists. In: Baldoni, R., Flocchini, P., Binoy, R. (eds) Principles of Distributed Systems. OPODIS 2012. Lecture Notes in Computer Science, vol 7702. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35476-2_23

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-35476-2_23

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-35475-5

  • Online ISBN: 978-3-642-35476-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics