Concurrent Path-Copying Update to Tree Structures
Guanhao Hou, Dechuang Chen, Qintian Guo, Fangyuan Zhang, Sibo Wang
Abstract
Historical data are widely used in science, business, and web applications. In this context, tree structures play a fundamental role in databases, particularly in query processing. Path copying offers a cost-effective approach to providing immutable snapshots of a tree. If snapshots preserve the order of update requests, each snapshot version is mapped to a specific point in history, thereby facilitating historical data queries and analysis. Recently, Contreap enables concurrent path-copying updates on BSTs, primarily targeting historical queries on predefined statistics by maintaining the corresponding augments in tree nodes. However, real-world applications often require general-purpose operations, such as element retrieval or range scanning, while BSTs are not well-suited for such operations. Nevertheless, existing path-copying implementations for popular database tree structures generally lack efficient support for concurrent updates, limiting their applicability. In this paper, we present ConTree, a lightweight programming library that transparently supports concurrent path-copying updates for tree structures. We show how to integrate a recursive update process — subject to certain constraints to ensure correctness —,into ConTree. We further discuss techniques for optimising existing tree structures to improve the efficiency of concurrent path copying. Building on this foundation, we instantiate ART and B+Tree, addressing key obstacles to concurrent path copying with two novel solutions: AERT and BeTree, using our ConTree library. These optimised variants incorporate structural and algorithmic refinements to support scalable updates. Extensive experiments show that our concurrent update strategy is effective, delivering significant speedups for AERT and BeTree over their serial counterparts.
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 3af6c5c1-d7a2-418b-a5e5-e3a2af6b4e31Builds on8
- ROART: Range-query Optimized Persistent ARTShaonan Ma, Kang Chen, Shimin Chen, Mengxing Liu et al.FAST 2021 · 73 citations
- On Supporting Efficient Snapshot Isolation for Hybrid Workloads with Multi-Versioned IndexesYihan Sun, Guy E. Blelloch, Wan Shen Lim, Andrew PavloVLDB 2020 · 37 citations
- SMART: A High-Performance Adaptive Radix Tree for Disaggregated MemoryXuchuan Luo, Pengfei Zuo, Jiacheng Shen, Jiazhen Gu et al.OSDI 2023 · 21 citations
- HINT: A Hierarchical Index for Intervals in Main MemoryGeorge Christodoulou, Panagiotis Bouros, Nikos MamoulisSIGMOD 2022 · 17 citations
- At-the-time and Back-in-time Persistent SketchesBenwei Shi, Zhuoyue Zhao, Yanqing Peng, Feifei Li et al.SIGMOD 2021 · 15 citations
Related papers
- Efficient Concurrent Updates to Persistent Randomized Binary Search TreesGuanhao Hou, Jinchao Huang, Fangyuan Zhang, Sibo WangVLDB 2025 · 1 citation
- AB-tree: Index for Concurrent Random Sampling and UpdatesZhuoyue Zhao, Dong Xie, Feifei LiVLDB 2022 · 7 citations
- PathCAS: an efficient middle ground for concurrent search data structuresTrevor Brown, William Sigouin, Dan AlistarhPPoPP 2022 · 4 citations
- Constant-time snapshots with applications to concurrent data structuresYuanhao Wei, Naama Ben-David, Guy E. Blelloch, Panagiota Fatourou et al.PPoPP 2021 · 37 citations
- Bundling linked data structures for linearizable range queriesJacob Nelson-Slivon, Ahmed Hassan, Roberto PalmieriPPoPP 2022 · 11 citations
