Abstract
This paper presents a new relaxed balanced concurrent binary search tree using a single word compare and swap primitive, in which all operations are lock-free. Our design separates balancing actions from update operations and includes a lock-free balancing mechanism in addition to the insert, search, and relaxed delete operations. Search in our design is not affected by ongoing concurrent update operations or by the movement of nodes by tree restructuring operations. Our experiments show that our algorithm performs better than other state-of-the-art concurrent BSTs.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
A poster describing the design of RBLFBST was presented in ICPP 2019, Kyoto, Japan.
- 2.
For implementation purpose, the first node to be inserted in the empty tree is kept as the right child of a fixed node root which has key assumed to be infinity.
- 3.
Detailed explanations and full algorithm for tree-maintenance can be found in [13].
References
Afek, Y., Kaplan, H., Korenfeld, B., Morrison, A., Tarjan, R.E.: Cbtree: a practical concurrent self-adjusting search tree. In: Aguilera, M.K. (ed.) Distributed Computing, pp. 1–15. Springer, Berlin, Heidelberg (2012)
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. SPAA 1993 (1993)
Bougé, L., Vallés, J., Peypoch, X.M., Schabanel, N.: Height-relaxed avl rebalancing: a unified, fine-grained approach to concurrent dictionaries (1998)
Crain, T., Gramoli, V., Raynal, M.: A contention-friendly binary search tree. In: Wolf, F., Mohr, B., an Mey, D. (eds.) Euro-Par 2013. LNCS, vol. 8097, pp. 229–240. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40047-6_25
Drachsler, D., Vechev, M., Yahav, E.: Practical concurrent binary search trees via logical ordering. In: Proceedings of the 19th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 343–356, PPoPP 2014. Association for Computing Machinery, New York, NY, USA (2014)
Faith Ellen, P., Fatourou, E.R., van Breugel, F.: Non-blocking binary search trees. In: Proceedings of the 29th ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, PODC 2010, pp. 131–140 (2010)
Fraser, K.: Practical Lock freedom. Ph.D. thesis, King’s College, University of Cambridge September 2003
Guerraoui, R.: Ascylib, July 2020. https://dcl.epfl.ch/site/optik
Harris, T.L.: A pragmatic implementation of non-blocking linked-lists. In: Welch, J. (ed.) DISC 2001. LNCS, vol. 2180, pp. 300–314. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45414-4_21
Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA (2008)
Kessels, J.L.W.: On-the-fly optimization of data structures. Commun. ACM 26(11), 895–901 (1983)
Larsen, K.S.: Avl trees with relaxed balance. J. Comput. Syst. Sci. 61(3), 508–522 (2000)
Singh, M., Lindsay Groves, A.P.: A relaxed balanced lock-free binary search tree. Tech. rep. (2020). https://ecs.wgtn.ac.nz/Main/TechnicalReportSeries
Natarajan, A., Mittal, N.: Fast concurrent lock-free binary search trees. In: Proceedings of the 19th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 317–328. PPoPP 2014, New York, NY, USA (2014)
Bronson, N.G., Casper, J., Chafi, H., Olukotun, K.: A practical concurrent binary search tree. In: ACM SIGPLAN Symposium on Principals and Practice of Parallel Programming (2010)
Nurmi, O., Soisalon-Soininen, E.: Uncoupling updating and rebalancing in chromatic binary search trees. In: Proceedings of the Tenth ACM SIGACT-SIGMOD-SIGART, pp. 192–198. PODS 1991, New York, NY, USA (1991)
Shane V. Howley, J.J.: A non blocking internal binary tree. SPAA, June 2012
Brown, T., Ellen, F., Ruppert, E.: A general technique for non-blocking trees. In: Proceedings of the 19th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP) (2014)
Valois, J.D.: Lock-Free Data Structures. Ph.D. thesis, Rensselaer Polytechnic Institute, Troy, NY, USA (1996)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Singh, M., Groves, L., Potanin, A. (2021). A Relaxed Balanced Lock-Free Binary Search Tree. In: Zhang, Y., Xu, Y., Tian, H. (eds) Parallel and Distributed Computing, Applications and Technologies. PDCAT 2020. Lecture Notes in Computer Science(), vol 12606. Springer, Cham. https://doi.org/10.1007/978-3-030-69244-5_27
Download citation
DOI: https://doi.org/10.1007/978-3-030-69244-5_27
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-69243-8
Online ISBN: 978-3-030-69244-5
eBook Packages: Computer ScienceComputer Science (R0)