Non-blocking interpolation search trees with doubly-logarithmic running time
Trevor Brown, Aleksandar Prokopec, Dan Alistarh
摘要
Balanced search trees typically use key comparisons to guide their operations, and achieve logarithmic running time. By relying on numerical properties of the keys, interpolation search achieves lower search complexity and better performance. Although interpolation-based data structures were investigated in the past, their non-blocking concurrent variants have received very little attention so far. In this paper, we propose the first non-blocking implementation of the classic interpolation search tree (IST) data structure. For arbitrary key distributions, the data structure ensures worst-case O (log n + p ) amortized time for search, insertion and deletion traversals. When the input key distributions are smooth, lookups run in expected O (log log n + p ) time, and insertion and deletion run in expected amortized O (log log n + p ) time, where p is a bound on the number of threads. To improve the scalability of concurrent insertion and deletion, we propose a novel parallel rebuilding technique, which should be of independent interest. We evaluate whether the theoretical improvements translate to practice by implementing the concurrent interpolation search tree, and benchmarking it on uniform and nonuniform key distributions, for dataset sizes in the millions to billions of keys. Relative to the state-of-the-art concurrent data structures, the concurrent interpolation search tree achieves performance improvements of up to 15% under high update rates, and of up to 50% under moderate update rates. Further, ISTs exhibit up to 2X less cache-misses, and consume 1.2 -- 2.6X less memory compared to the next best alternative on typical dataset sizes. We find that the results are surprisingly robust to distributional skew, which suggests that our data structure can be a promising alternative to classic concurrent search structures.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper8
- Updatable Learned Indexes Meet Disk-Resident DBMS - From Evaluations to Design ChoicesHai Lan, Zhifeng Bao, J. Shane Culpepper, Renata Borovica-GajicSIGMOD 2023 · 被引用 26 次
- NBR: neutralization based reclamationAjay Singh, Trevor Brown, Ali José MashtizadehPPoPP 2021 · 被引用 23 次
- Elimination (a, b)-trees with fast, durable updatesAnubhav Srivastava, Trevor BrownPPoPP 2022 · 被引用 12 次
- PathCAS: an efficient middle ground for concurrent search data structuresTrevor Brown, William Sigouin, Dan AlistarhPPoPP 2022 · 被引用 4 次
- Practical Hardware Transactional vEB TreesMohammad Khalaji, Trevor Brown, Khuzaima Daudjee, Vitaly AksenovPPoPP 2024 · 被引用 3 次
相关 Paper
- Lazy Search TreesBryce Sandlund, Sebastian WildFOCS 2020 · 被引用 1 次
- Bundling linked data structures for linearizable range queriesJacob Nelson-Slivon, Ahmed Hassan, Roberto PalmieriPPoPP 2022 · 被引用 11 次
- Arctic: A Practical Lock-Free Adaptive Radix TreeNewton Ni, Nicolas Garza, Jenny Stinehour, Michael Goppert 等OSDI 2026
- -Tree: A Gapped Data-Parallel B-TreeDimitrios Tsitsigkos, Achilleas Michalopoulos, Nikos Mamoulis, Manolis TerrovitisICDE 2026 · 被引用 4 次
- Concurrent Balanced Augmented TreesEvan Wrench, Ajay Singh, Younghun Roh, Panagiota Fatourou 等PPoPP 2026
