Abstract
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 with 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.
- ADELSON-VELSKII, G., AND LANDIS, E. M. An algorithm for the organization of information. In Proc. of the USSR Academy of Sciences, 146:263--266 (1962).Google Scholar
- BAYER, R. Symmetric binary b-trees: Data structure and maintenance algorithms. Acta Informatica 1, 4 (1972), 290--306.Google Scholar
Digital Library
- BAYER, R., AND SCHKOLNICK, M. Concurrency of operations on b-trees. Acta Informatica 9, 1 (1977), 1--21.Google Scholar
Cross Ref
- BENDER, M. A., FINEMAN, J. T., GILBERT, S., AND KUSZ-MAUL, B. C. Concurrent cache-oblivious b-trees. In SPAA (2005), pp. 228--237. Google Scholar
Digital Library
- BESA, J., AND ETEROVIC, Y. A concurrent red-black tree. Journal of Parallel and Distributed Computing 73, 4 (2013), 434--449. Google Scholar
Digital Library
- BOUGÉ, L., GABARRÓ, J., MESSEGUER, X., AND SCHA-BANEL, N. Height-relaxed avl rebalancing: A unified, fine-grained approach to concurrent dictionaries, 1998.Google Scholar
- BRAGINSKY, A., AND PETRANK, E. A lock-free b+tree. In SPAA (2012), pp. 58--67. Google Scholar
Digital Library
- BRONSON, N. G., CASPER, J., CHAFI, H., AND OLUKO-TUN, K. A practical concurrent binary search tree. In PPoPP (2010), pp. 257--268. Google Scholar
Digital Library
- BROWN, T., ELLEN, F., AND RUPPERT, E. A general technique for non-blocking trees. In Proc. 19th ACM Symposium on Principles and Practice of Parallel Programming (2014). Google Scholar
Digital Library
- CRAIN, T., GRAMOLI, V., AND RAYNAL, M. A contention-friendly binary search tree. In Euro-Par (2013), pp. 229--240. Google Scholar
Digital Library
- ELLEN, F., FATOUROU, P., RUPPERT, E., AND VAN BREUGEL, F. Non-blocking binary search trees. In PODC (2010), pp. 131--140. Google Scholar
Digital Library
- FRASER, K. Practical lock-freedom. Tech. Rep. UCAM-CL-TR-579, University of Cambridge, Computer Laboratory, Feb. 2004.Google Scholar
- HOWLEY, S. V., AND JONES, J. A non-blocking internal binary search tree. In Proc. 24th ACM Symposium on Parallelism in Algorithms and Architectures (2012), pp. 161--171. Google Scholar
Digital Library
- KUNG, H. T., AND ROBINSON, J. T. On optimistic methods for concurrency control. ACM Trans. Database Syst. 6, 2 (June 1981), 213--226. Google Scholar
Digital Library
- NATARAJAN, A., AND MITTAL, N. Fast concurrent lock-free binary search trees. In Proc. 19th ACM Symposium on Principles and Practice of Parallel Programming (2014). Google Scholar
Digital Library
- PFAFF, B. Performance analysis of BSTs in system software. In SIGMETRICS (2004), ACM, pp. 410--411. Google Scholar
Digital Library
Index Terms
Practical concurrent binary search trees via logical ordering
Recommendations
Fast concurrent lock-free binary search trees
PPoPP '14We present a new lock-free algorithm for concurrent manipulation of a binary search tree in an asynchronous shared memory system that supports search, insert and delete operations. In addition to read and write instructions, our algorithm uses (single-...
Practical concurrent binary search trees via logical ordering
PPoPP '14: Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programmingWe 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, ...
Practical concurrent traversals in search trees
PPoPP '18Operations of concurrent objects often employ optimistic concurrency-control schemes that consist of a traversal followed by a validation step. The validation checks if concurrent mutations interfered with the traversal to determine if the operation ...







Comments