Practical concurrent binary search trees via logical ordering

Dana Drachsler, Martin Vechev, Eran Yahav
2014 Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programming - PPoPP '14  
We present practical, concurrent binary search tree (BST) algorithms that explicitly maintain logical ordering information in the data structure, permitting clean separation from its physical tree layout. We capture logical ordering using intervals, with the property that an item belongs to the tree if and only if the item is an endpoint of some interval. We are thus able to construct efficient, synchronization-free and intuitive lookup operations. We present (i) a concurrent non-balanced BST
more » ... th a lock-free lookup, and (ii) a concurrent AVL tree with a lock-free lookup that requires no synchronization with any mutating operations, including balancing operations. Our algorithms apply on-time deletion; that is, every request for removal of a node, results in its immediate removal from the tree. This new feature did not exist in previous concurrent internal tree algorithms. We implemented our concurrent BST algorithms and evaluated them against several state-of-the-art concurrent tree algorithms. Our experimental results show that our algorithms with lock-free contains and on-time deletion are practical and often comparable to the state-of-the-art. 7 3 9 1 7 3 9 1 T1 7 9 Key range: 2 · 10 6 Throughput (million ops/sec) Key range: 2 · 10 5 Throughput (million ops/sec)
doi:10.1145/2555243.2555269 dblp:conf/ppopp/DrachslerVY14 fatcat:3etunsvxfzcfrps2ynrzruekaq