Skip to main content

Concurrent Wait-Free Red Black Trees

  • Conference paper
Stabilization, Safety, and Security of Distributed Systems (SSS 2013)

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

Included in the following conference series:

Abstract

We present a new wait-free algorithm for concurrent manipulation of a red-black tree in an asynchronous shared memory system that supports search, insert, update and delete operations using single-word compare-and-swap instructions. Search operations in our algorithm are fast and execute only read and write instructions (and no atomic instructions) on the shared memory. The algorithm is obtained through a progressive sequence of modifications to an existing general framework for deriving a concurrent wait-free tree-based data structure from its sequential counterpart. Our experiments indicate that our algorithm significantly outperforms other concurrent algorithms for a red-black tree for most workloads.

This work was supported, in part, by the National Science Foundation (NSF) under grant number CNS-1115733.

This work has appeared as a brief announcement in the Proceedings of the 26th International Symposium for Distributed Computing (DISC), pages 421–422, 2012.

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.

Similar content being viewed by others

References

  1. Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming, Revised Reprint. Morgan Kaufmann (2012)

    Google Scholar 

  2. Herlihy, M.: Wait-Free Synchronization. ACM Transactions on Programming Languages and Systems (TOPLAS) 13(1), 124–149 (1991)

    Article  Google Scholar 

  3. Bender, M.A., Fineman, J.T., Gilbert, S., Kuszmaul, B.C.: Concurrent Cache-Oblivious B-Trees. In: Proceedings of the 17th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pp. 228–237 (2005)

    Google Scholar 

  4. Ellen, F., Fataourou, P., Ruppert, E., van Breugel, F.: Non-Blocking Binary Search Trees. In: Proceedings of the 29th ACM Symposium on Principles of Distributed Computing (PODC), pp. 131–140 (2010)

    Google Scholar 

  5. Brown, T., Helga, J.: Non-Blocking k-ary Search Trees. In: Fernàndez Anta, A., Lipari, G., Roy, M. (eds.) OPODIS 2011. LNCS, vol. 7109, pp. 207–221. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  6. Prokopec, A., Bronson, N.G., Bagwell, P., Odersky, M.: Concurrent Tries with Efficient Non-Blocking Snapshots. In: Proceedings of the 17th ACM Symposium on Principles and Practice of Parallel Programming (PPOPP), pp. 151–160 (2012)

    Google Scholar 

  7. Howley, S.V., Jones, J.: A Non-Blocking Internal Binary Search Tree. In: Proceedings of the 24th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pp. 161–171 (June 2012)

    Google Scholar 

  8. Braginsky, A., Petrank, E.: A Lock-Free B+tree. In: Proceedings of the 24th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pp. 58–67 (2012)

    Google Scholar 

  9. Cormen, T.H., Leiserson, C.E., Rivest, R.L.: Introduction to Algorithms. The MIT Press (1991)

    Google Scholar 

  10. Sedgewick, R.: Left-leaning Red-Black Trees

    Google Scholar 

  11. Jones, M.T.: Inside the Linux 2.6 Completely Fair Scheduler (December 2009)

    Google Scholar 

  12. Chuong, P., Ellen, F., Ramachandran, V.: A universal construction for wait-free transaction friendly data structures. In: Proceedings of the 22nd ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pp. 335–344 (2010)

    Google Scholar 

  13. Fatourou, P., Kallimanis, N.D.: A Highly-Efficient Wait-Free Universal Construction. In: Proceedings of the 23rd ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pp. 325–334 (2011)

    Google Scholar 

  14. Ma, J.: Lock-Free Insertions on Red-Black Trees. Master’s thesis. The University of Manitoba, Canada (October 2003)

    Google Scholar 

  15. Kim, J.H., Cameron, H., Graham, P.: Lock-Free Red-Black Trees Using CAS. Concurrency and Computation: Practice and Experience, 1–40 (2006)

    Google Scholar 

  16. Fraser, K.: Practical Lock-Freedom. PhD thesis, University of Cambridge (February 2004)

    Google Scholar 

  17. Crain, T., Gramoli, V., Raynal, M.: A Speculation-Friendly Binary Search Tree. In: Proceedings of the 17th ACM Symposium on Principles and Practice of Parallel Programming (PPOPP), pp. 161–170 (2012)

    Google Scholar 

  18. Tsay, J.J., Li, H.C.: Lock-Free Concurrent Tree Structures for Multiprocessor Systems. In: Proceedings of the International Conference on Parallel and Distributed Systems (ICPADS), pp. 544–549 (December 1994)

    Google Scholar 

  19. Tarjan, R.E.: Efficient Top-Down Updating of Red-Black Trees. Technical Report TR-006-85, Department of Computer Science, Princeton University (1985)

    Google Scholar 

  20. Herlihy, M., Wing, J.M.: Linearizability: A Correctness Condition for Concurrent Objects. ACM Transactions on Programming Languages and Systems (TOPLAS) 12(3), 463–492 (1990)

    Article  Google Scholar 

  21. Michael, M.M.: Hazard Pointers: Safe Memory Reclamation for Lock-Free Objects. IEEE Transactions on Parallel and Distributed Systems (TPDS) 15(6), 491–504 (2004)

    Article  Google Scholar 

  22. Natarajan, A., Savoie, L., Mittal, N.: Concurrent Wait-Free Red Black Trees. Technical Report UTDCS-16-12, Department of Computer Science, The University of Texas at Dallas (October 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 International Publishing Switzerland

About this paper

Cite this paper

Natarajan, A., Savoie, L.H., Mittal, N. (2013). Concurrent Wait-Free Red Black Trees. In: Higashino, T., Katayama, Y., Masuzawa, T., Potop-Butucaru, M., Yamashita, M. (eds) Stabilization, Safety, and Security of Distributed Systems. SSS 2013. Lecture Notes in Computer Science, vol 8255. Springer, Cham. https://doi.org/10.1007/978-3-319-03089-0_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-03089-0_4

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-03088-3

  • Online ISBN: 978-3-319-03089-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics