Skip to main content

Locality-Conscious Lock-Free Linked Lists

  • Conference paper
Distributed Computing and Networking (ICDCN 2011)

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

Included in the following conference series:

  • 843 Accesses

Abstract

We extend state-of-the-art lock-free linked lists by building linked lists with special care for locality of traversals. These linked lists are built of sequences of entries that reside on consecutive chunks of memory. When traversing such lists, subsequent entries typically reside on the same chunk and are thus close to each other, e.g., in same cache line or on the same virtual memory page. Such cache-conscious implementations of linked lists are frequently used in practice, but making them lock-free requires care. The basic component of this construction is a chunk of entries in the list that maintains a minimum and a maximum number of entries. This basic chunk component is an interesting tool on its own and may be used to build other lock-free data structures as well.

Supported by THE ISRAEL SCIENCE FOUNDATION (grant No. 845/06).

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

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.

Similar content being viewed by others

References

  1. Unrolled Linked Lists, http://blogs.msdn.com/devdev/archive/2005/08/22/454887.aspx

  2. Full Version of Locality-Conscious Lock-Free Linked Lists, http://www.cs.technion.ac.il/~erez/Papers/lf-linked-list-full.pdf

  3. Fomitchev, M., Rupert, E.: Lock-free linked lists and skip lists. In: Proc. PODC (2004)

    Google Scholar 

  4. Fraser, K.: Practical lock-freedom, Technical Report UCAM-CL-TR-579, University of Cambridge, Computer Laboratory (February 2004)

    Google Scholar 

  5. Frias, L., Petit, J., Roura, S.: Lists revisited: Cache-conscious STL lists. J. Exp. Algorithmics 14, 3.5–3.27 (2009)

    Google Scholar 

  6. Harris, T.L.: A pragmatic implementation of non-blocking linked-lists. In: Proc. PODC (2001)

    Google Scholar 

  7. Herlihy, M.: Wait-free synchronization. TOPLAS (1991)

    Google Scholar 

  8. Michael, M.M.: High Performance Dynamic Lock-Free Hash Tables and List-Based Sets. In: Proc. SPAA (2002)

    Google Scholar 

  9. Michael, M.M.: Safe memory reclamation for dynamic lock-free objects using atomic reads and writes. In: Proc. PODC (2002)

    Google Scholar 

  10. Michael, M.M.: Hazard pointers: Safe memory reclamation for lock-free objects. TPDS (June 2004)

    Google Scholar 

  11. Herlihy, M., Shavit, N.: The art of multiprocessor programming. Morgan Kaufmann, San Francisco (2008)

    Google Scholar 

  12. Valois, J.D.: Lock-free linked lists using compare-and-swap. In: Proc. PODC (1995)

    Google Scholar 

  13. Treiber, R.K.: Systems programming: Coping with parallelism, Research report RJ 5118, IBM Almaden Research Center (1986)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Braginsky, A., Petrank, E. (2011). Locality-Conscious Lock-Free Linked Lists. In: Aguilera, M.K., Yu, H., Vaidya, N.H., Srinivasan, V., Choudhury, R.R. (eds) Distributed Computing and Networking. ICDCN 2011. Lecture Notes in Computer Science, vol 6522. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-17679-1_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-17679-1_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-17678-4

  • Online ISBN: 978-3-642-17679-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics