Skip to main content

Lock-Free Data-Structure Iterators

  • Conference paper
Book cover Distributed Computing (DISC 2013)

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

Included in the following conference series:

Abstract

Concurrent data structures are often used with large concurrent software. An iterator that traverses the data structure items is a highly desirable interface that often exists for sequential data structures but is missing from (almost all) concurrent data-structure implementations. In this paper we introduce a technique for adding a linearizable wait-free iterator to a wait-free or a lock-free data structure that implements a set. We use this technique to implement an iterator for the wait-free and lock-free linked-lists and for the lock-free skip-list.

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. Afek, Y., Dolev, D., Attiya, H., Gafni, E., Merritt, M., Shavit, N.: Atomic snapshots of shared memory. In: PODC, pp. 1–13 (1990)

    Google Scholar 

  2. Afek, Y., Shavit, N., Tzafrir, M.: Interrupting snapshots and the java\(^{\mbox{\tiny TM}}\) size() method. In: Keidar, I. (ed.) DISC 2009. LNCS, vol. 5805, pp. 78–92. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  3. Anderson, J.H.: Multi-writer composite registers, pp. 175–195 (1994)

    Google Scholar 

  4. Braginsky, A., Petrank, E.: A lock-free b+tree. In: SPAA, pp. 58–67 (2012)

    Google Scholar 

  5. Bronson, N.G., Casper, J., Chafi, H., Olukotun, K.: A practical concurrent binary search tree. In: PPOPP, pp. 257–268 (2010)

    Google Scholar 

  6. Ellen, F., Fatourou, P., Ruppert, E., van Breugel, F.: Non-blocking binary search trees. In: PODC, pp. 131–140 (2010)

    Google Scholar 

  7. Fatourou, P., Kallimanis, N.D.: Time-optimal, space-efficient single-scanner snapshots & multi-scanner snapshots using cas. In: PODC, pp. 33–42 (2007)

    Google Scholar 

  8. Fomitchev, M., Ruppert, E.: Lock-free linked lists and skip lists. In: Proceedings of the Twenty-Third Annual ACM Symposium on Principles of Distributed Computing, PODC 2004, pp. 50–59. ACM, New York (2004)

    Chapter  Google Scholar 

  9. 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 

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

    Google Scholar 

  11. Jayanti, P.: An optimal multi-writer snapshot algorithm. In: STOC, pp. 723–732 (2005)

    Google Scholar 

  12. Michael, M.M., Scott, M.L.: Simple, fast, and practical non-blocking and blocking concurrent queue algorithms. In: Proc. ACM Symposium on Principles of Distributed Computing (PODC), pp. 267–275 (1996)

    Google Scholar 

  13. Prokopec, A., Bronson, N.G., Bagwell, P., Odersky, M.: Concurrent tries with efficient non-blocking snapshots. In: PPOPP, pp. 151–160 (2012)

    Google Scholar 

  14. Riany, Y., Shavit, N., Touitou, D., Touitou, D.: Towards a practical snapshot algorithm. In: ISTCS, pp. 121–129 (1995)

    Google Scholar 

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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Petrank, E., Timnat, S. (2013). Lock-Free Data-Structure Iterators. In: Afek, Y. (eds) Distributed Computing. DISC 2013. Lecture Notes in Computer Science, vol 8205. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-41527-2_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-41527-2_16

  • Publisher Name: Springer, Berlin, Heidelberg

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

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics