skip to main content
10.1145/2611462.2611486acmconferencesArticle/Chapter ViewAbstractPublication PagespodcConference Proceedingsconference-collections
research-article

The amortized complexity of non-blocking binary search trees

Published: 15 July 2014 Publication History

Abstract

We improve upon an existing non-blocking implementation of a binary search tree from single-word compare-and-swap instructions. We show that the worst-case amortized step complexity of performing a Find, Insert or Delete operation op on the tree is O(h(op)+c(op)) where h(op) is the height of the tree at the beginning of op and c(op) is the maximum number of operations accessing the tree at any one time during op. This is the first bound on the complexity of a non-blocking implementation of a search tree.

References

[1]
Richard J. Anderson and Heather Woll. Wait-free parallel algorithms for the union-find problem. In Proc. 23rd Annual ACM Symposium on Theory of Computing, pages 370--380, 1991.
[2]
Greg Barnes. A method for implementing lock-free data structures. In Proc. 5th Annual ACM Symposium on Parallel Algorithms and Architectures, pages 261--270, 1993.
[3]
Anastasia Braginsky and Erez Petrank. A lock-free B+ tree. In Proc. 24th Annual ACM Symposium on Parallelism in Algorithms and Architectures, pages 58--67, 2012.
[4]
Trevor Brown, Faith Ellen, and Eric Ruppert. A general technique for non-blocking trees. In Proc. 19th Annual ACM Symposium on Principles and Practice of Parallel Programming, pages 329--342, 2014.
[5]
Trevor Brown and Joanna Helga. Non-blocking k-ary search trees. In Proc. 15th International Conference on Principles of Distributed Systems, volume 7109 of LNCS, pages 207--221, 2011.
[6]
Bapi Chatterjee, Nhan Nguyen, and Philippas Tsigas. Efficient lock-free binary search trees. In Proc. 33rd Annual ACM Symposium on Principles of Distributed Computing, 2014.
[7]
Faith Ellen, Panagiota Fatourou, Eric Ruppert, and Franck van Breugel. Non-blocking binary search trees. In Proc. 29th Annual ACM Symposium on Principles of Distributed Computing, pages 131--140, 2010.
[8]
Mikhail Fomitchev and Eric Ruppert. Lock-free linked lists and skip lists. In Proc. 23rd Annual ACM Symposium on Principles of Distributed Computing, pages 50--59, 2004.
[9]
Shane V. Howley and Jeremy Jones. A non-blocking internal binary search tree. In Proc. 24th Annual ACM Symposium on Parallelism in Algorithms and Architectures, pages 161--171, 2012.
[10]
Hosam H. Mahmoud. Evolution of random search trees. Wiley-Interscience, 1992.
[11]
Aravind Natarajan and Neeraj Mittal. Fast concurrent lock-free binary search trees. In Proc. 19th Annual ACM Symposium on Principles and Practice of Parallel Programming, pages 317--328, 2014.
[12]
Aravind Natarajan, Lee Savoie, and Neeraj Mittal. Concurrent wait-free red black trees. In Proc. 15th International Symposium on Stabilization, Safety and Security of Distributed Systems, volume 8255 of LNCS, pages 45--60, 2013.
[13]
Rotem Oshman and Nir Shavit. The SkipTrie: Low-depth concurrent search without rebalancing. In Proc. 32nd Annual ACM Symposium on Principles of Distributed Computing, pages 23--32, 2013.
[14]
Niloufar Shafiei. Non-blocking Patricia tries with replace operations. In Proc. 33rd International Conference on Distributed Computing Systems, pages 216--225, 2013.
[15]
Michael Spiegel and Paul F. Reynolds, Jr. Lock-free multiway search trees. In Proc. 39th International Conference on Parallel Processing, pages 604--613, 2010.
[16]
Robert Endre Tarjan. Amortized computational complexity. SIAM Journal on Algebraic and Discrete Methods, 6(2):306--318, April 1985.
[17]
Jyh-Jong Tsay and H.-C. Li. Lock-free concurrent tree structures for multiprocessor systems. In Proc. International Conference on Parallel and Distributed Systems, pages 544--549, 1994.
[18]
John Turek, Dennis Shasha, and Sundeep Prakash. Locking without blocking: Making lock based concurrent data structure algorithms nonblocking. In Proc. 11th Annual ACM Symposium on Principles of Database Systems, pages 212--222, 1992.
[19]
John D. Valois. Lock-free linked lists using compare-and-swap. In Proc. 14th ACM Symposium on Principles of Distributed Computing, pages 214--222, 1995.

Cited By

View all
  • (2024)Expediting Hazard Pointers with Bounded RCU Critical SectionsProceedings of the 36th ACM Symposium on Parallelism in Algorithms and Architectures10.1145/3626183.3659941(1-13)Online publication date: 17-Jun-2024
  • (2024)Simple, Fast and Widely Applicable Concurrent Memory Reclamation via NeutralizationIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2023.333567135:2(203-220)Online publication date: 1-Feb-2024
  • (2024)A Lock-free Binary Trie2024 IEEE 44th International Conference on Distributed Computing Systems (ICDCS)10.1109/ICDCS60910.2024.00024(163-174)Online publication date: 23-Jul-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PODC '14: Proceedings of the 2014 ACM symposium on Principles of distributed computing
July 2014
444 pages
ISBN:9781450329446
DOI:10.1145/2611462
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 July 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. amortized analysis
  2. asynchronous
  3. binary search tree
  4. compare-and-swap
  5. concurrent
  6. lock-free
  7. non-blocking

Qualifiers

  • Research-article

Conference

PODC '14
Sponsor:

Acceptance Rates

PODC '14 Paper Acceptance Rate 39 of 141 submissions, 28%;
Overall Acceptance Rate 740 of 2,477 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)11
  • Downloads (Last 6 weeks)1
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Expediting Hazard Pointers with Bounded RCU Critical SectionsProceedings of the 36th ACM Symposium on Parallelism in Algorithms and Architectures10.1145/3626183.3659941(1-13)Online publication date: 17-Jun-2024
  • (2024)Simple, Fast and Widely Applicable Concurrent Memory Reclamation via NeutralizationIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2023.333567135:2(203-220)Online publication date: 1-Feb-2024
  • (2024)A Lock-free Binary Trie2024 IEEE 44th International Conference on Distributed Computing Systems (ICDCS)10.1109/ICDCS60910.2024.00024(163-174)Online publication date: 23-Jul-2024
  • (2024)A wait-free queue with polylogarithmic step complexityDistributed Computing10.1007/s00446-024-00471-737:4(309-334)Online publication date: 17-Aug-2024
  • (2024)Lower Bounds on the Amortized Time Complexity of Shared ObjectsTheory of Computing Systems10.1007/s00224-024-10184-w68:5(1372-1426)Online publication date: 12-Jul-2024
  • (2024)Parallel and Distributed Data Series Processing on Modern and Emerging HardwareManagement of Digital EcoSystems10.1007/978-3-031-51643-6_29(399-407)Online publication date: 2-Feb-2024
  • (2023)Applying Hazard Pointers to More Concurrent Data StructuresProceedings of the 35th ACM Symposium on Parallelism in Algorithms and Architectures10.1145/3558481.3591102(213-226)Online publication date: 17-Jun-2023
  • (2023)FreSh: A Lock-Free Data Series Index2023 42nd International Symposium on Reliable Distributed Systems (SRDS)10.1109/SRDS60354.2023.00029(209-220)Online publication date: 25-Sep-2023
  • (2022)Detectable recovery of lock-free data structuresProceedings of the 27th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/3503221.3508444(262-277)Online publication date: 2-Apr-2022
  • (2021)PETRAACM Transactions on Architecture and Code Optimization10.1145/344639118:2(1-26)Online publication date: 8-Mar-2021
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media