Efficient Concurrent Updates to Persistent Randomized Binary Search Trees
Guanhao Hou, Jinchao Huang, Fangyuan Zhang, Sibo Wang
Abstract
In the era of big data, the demand for historical data analytics is growing across various applications. Simultaneously, range queries have been extensively explored within the domain of databases. Binary search trees are a classic type of in-memory index for facilitating range queries. Persistent binary search trees provide read-only snapshots of these trees, allowing range queries to be processed during updates while ensuring consistency. Additionally, multiple versions of snapshots support queries related to historical moments to meet the demands of numerous applications.
However, existing implementations do not support both highspeed updates and efficient, accurate historical queries on multi-core platforms. Motivated by this gap, we propose a novel concurrent update strategy to balance update and query performance. For a binary search tree containing n elements, our approach completes m updates in O (log n + m ) time using O (log n ) threads. We further implement a hybrid concurrent strategy to improve the scalability and practical performance of our solution.
The experimental results demonstrate that our proposal strikes a good balance between update and query performance. In particular, our proposal outperforms existing solutions under workloads with different data distributions and varying update-query ratios.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 7c50e7db-0500-47a3-b6bc-32bb908ef0d0Cited by top-tier papers1
Ask how each one uses itBuilds on5
- Constant-time snapshots with applications to concurrent data structuresYuanhao Wei, Naama Ben-David, Guy E. Blelloch, Panagiota Fatourou et al.PPoPP 2021 · 37 citations
- HINT: A Hierarchical Index for Intervals in Main MemoryGeorge Christodoulou, Panagiotis Bouros, Nikos MamoulisSIGMOD 2022 · 17 citations
- PaC-trees: supporting parallel and compressed purely-functional collectionsLaxman Dhulipala, Guy E. Blelloch, Yan Gu, Yihan SunPLDI 2022 · 16 citations
- At-the-time and Back-in-time Persistent SketchesBenwei Shi, Zhuoyue Zhao, Yanqing Peng, Feifei Li et al.SIGMOD 2021 · 15 citations
- LIT: Lightning-fast In-memory Temporal IndexingGeorge Christodoulou, Panagiotis Bouros, Nikos MamoulisSIGMOD 2024 · 10 citations
Related papers
- On Supporting Efficient Snapshot Isolation for Hybrid Workloads with Multi-Versioned IndexesYihan Sun, Guy E. Blelloch, Wan Shen Lim, Andrew PavloVLDB 2020 · 37 citations
- AB-tree: Index for Concurrent Random Sampling and UpdatesZhuoyue Zhao, Dong Xie, Feifei LiVLDB 2022 · 7 citations
- External Memory Fully Persistent Search TreesGerth Stølting Brodal, Casper Moldrup Rysgaard, Rolf SvenningSTOC 2023 · 2 citations
- CCL-BTree: A Crash-Consistent Locality-Aware B+-Tree for Reducing XPBuffer-Induced Write Amplification in Persistent MemoryZhenxin Li, Shuibing He, Zheng Dang, Peiyi Hong et al.EuroSys 2024 · 4 citations
- DPTree: Differential Indexing for Persistent MemoryXinjing Zhou, Lidan Shou, Ke Chen, Wei Hu et al.VLDB 2020 · 74 citations
