Efficient Lock-free Binary Search Trees
Bapi Chatterjee, Nhan Nguyen, Philippas Tsigas

TL;DR
This paper introduces a novel lock-free binary search tree algorithm that adapts to contention levels, achieves efficient concurrent operations, and improves disjoint-access parallelism, with proven linearizability and optimal step complexity.
Contribution
The paper presents the first lock-free BST algorithm with contention-adaptive behavior and improved parallelism, using single-word CAS operations and providing formal correctness proofs.
Findings
Amortized step complexity is O(H(n) + c) for set operations.
Algorithm adapts to read-heavy and write-heavy contention scenarios.
Proven linearizability and improved disjoint-access parallelism.
Abstract
In this paper we present a novel algorithm for concurrent lock-free internal binary search trees (BST) and implement a Set abstract data type (ADT) based on that. We show that in the presented lock-free BST algorithm the amortized step complexity of each set operation - {\sc Add}, {\sc Remove} and {\sc Contains} - is , where, is the height of BST with number of nodes and is the contention during the execution. Our algorithm adapts to contention measures according to read-write load. If the situation is read-heavy, the operations avoid helping pending concurrent {\sc Remove} operations during traversal, and, adapt to interval contention. However, for write-heavy situations we let an operation help pending {\sc Remove}, even though it is not obstructed, and so adapt to tighter point contention. It uses single-word compare-and-swap (\texttt{CAS}) operations. We…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Algorithms and Data Compression · Advanced Data Storage Technologies
