Wait-free Trees with Asymptotically-Efficient Range Queries
Kokorin, I., Yudov, V., Aksenov, V. ORCID: 0000-0001-9134-5490 & Alistarh, D. (2024). Wait-free Trees with Asymptotically-Efficient Range Queries. In: 2024 IEEE International Parallel and Distributed Processing Symposium (IPDPS). 2024 IEEE International Parallel and Distributed Processing Symposium (IPDPS), 27-31 May 2024, San Francisco, CA, USA. doi: 10.1109/ipdps57955.2024.00023
Abstract
Tree data structures, such as red-black trees, quad trees, treaps, or tries, are fundamental tools in computer science. A classical problem in concurrency is to obtain expressive, efficient, and scalable versions of practical tree data structures. We are interested in concurrent trees supporting range queries, i.e., queries that involve multiple consecutive data items. Existing implementations with this capability can list keys in a specific range, but do not support aggregate range queries: for instance, if we want to calculate the number of keys in a range, the only choice is to retrieve a whole list and return its size. This is suboptimal: in the sequential setting, one can augment a balanced search tree with counters and, consequently, perform these aggregate requests in logarithmic rather than linear time.In this paper, we propose a generic approach to implement a broad class of range queries on concurrent trees in a way that is wait-free, asymptotically efficient, and practically scalable. The key idea is a new mechanism for maintaining metadata concurrently at tree nodes, which can be seen as a wait-free variant of hand-over-hand locking (which we call hand-over-hand helping). We did a preliminary implementation of the wait-free binary search tree and preliminary experiments have indicated the soundness of our approach.
Publication Type: | Conference or Workshop Item (Paper) |
---|---|
Additional Information: | © 2024 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works. |
Publisher Keywords: | Data structures, Concurrent programming, Range queries |
Subjects: | Q Science > QA Mathematics > QA75 Electronic computers. Computer science |
Departments: | School of Science & Technology School of Science & Technology > Computer Science |
SWORD Depositor: |
Download (1MB) | Preview
Export
Downloads
Downloads per month over past year