NBTree: a Lock-free PM-friendly Persistent B+-Tree for eADR-enabled PM Systems
Bowen Zhang, Shengan Zheng, Zhenlin Qi, Linpeng Huang
Abstract
Persistent memory (PM) promises near-DRAM performance as well as data persistency. Recently, a new feature called eADR is available on the 2
nd
generation Intel Optane PM with the 3
rd
generation Intel Xeon Scalable Processors. eADR ensures that data stored within the CPU caches will be flushed to PM upon the power failure. Thus, in eADR-enabled PM systems, the globally visible data is considered persistent, and explicit data flushes are no longer necessary. The emergence of eADR presents unique opportunities to build lock-free data structures and unleash the full potential of PM.
In this paper, we propose NBTree, a lock-free PM-friendly B + -Tree, to deliver high scalability and low PM overhead. To our knowledge, NBTree is the first persistent index designed for eADR-enabled PM systems. To achieve lock-free, NBTree uses atomic primitives to serialize leaf node operations. Moreover, NBTree proposes four novel techniques to enable lock-free access to the leaf during structural modification operations (SMO), including three-phase SMO, sync-on-write, sync-on-read , and cooperative SMO. For inner node operations, we develop a shift-aware search algorithm to resolve read-write conflicts. To reduce PM overhead, NBTree decouples the leaf nodes into a metadata layer and a key-value layer. The metadata layer is stored in DRAM, along with the inner nodes, to reduce PM accesses. NBTree also adopts log-structured insert and in-place update/delete to improve cache utilization. Our evaluation shows that NBTree achieves up to 11X higher throughput and 43X lower 99% tail latency than state-of-the-art persistent B + -Trees under YCSB workloads.
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 d34c3f49-94f3-44cf-b056-457e91bd35a6Cited by top-tier papers12
- Bf-Tree: A Modern Read-Write-Optimized Concurrent Larger-Than-Memory Range IndexXiangpeng Hao, Badrish ChandramouliVLDB 2024 · 14 citations
- DGAP: Efficient Dynamic Graph Analysis on Persistent MemoryAbdullah Al Raqibul Islam, Dong DaiSC 2023 · 13 citations
- Falcon: Fast OLTP Engine for Persistent Cache and Non-Volatile MemoryZhicheng Ji, Kang Chen, Leping Wang, Mingxing Zhang et al.SOSP 2023 · 10 citations
- FluidKV: Seamlessly Bridging the Gap between Indexing Performance and Memory-Footprint on Ultra-Fast StorageZiyi Lu, Qiang Cao, Hong Jiang, Yuxing Chen et al.VLDB 2024 · 8 citations
- A Midsummer Night's Tree: Efficient and High Performance Secure SCMSamuel Thomas, Kidus Workneh, Jac McCarty, Joseph Izraelevitz et al.ASPLOS 2024 · 5 citations
Builds on12
- An Empirical Guide to the Behavior and Use of Scalable Persistent MemoryJian Yang, Juno Kim, Morteza Hoseinzadeh, Joseph Izraelevitz et al.FAST 2020 · 470 citations
- FlatStore: An Efficient Log-Structured Key-Value Storage Engine for Persistent MemoryYoumin Chen, Youyou Lu, Fan Yang, Qing Wang et al.ASPLOS 2020 · 166 citations
- Lock-free Concurrent Level Hashing for Persistent MemoryZhangyu Chen, Yu Hua, Bo Ding, Pengfei ZuoUSENIX ATC 2020 · 98 citations
- Evaluating Persistent Memory Range IndexesLucas Lersch, Xiangpeng Hao, Ismail Oukid, Tianzheng Wang et al.VLDB 2020 · 97 citations
- Characterizing and Modeling Non-Volatile Memory SystemsZixuan Wang, Xiao Liu, Jian Yang, Theodore Michailidis et al.MICRO 2020 · 88 citations
Related papers
- DPTree: Differential Indexing for Persistent MemoryXinjing Zhou, Lidan Shou, Ke Chen, Wei Hu et al.VLDB 2020 · 74 citations
- ?Tree: a Persistent B+-Tree with Low Tail LatencyYoumin Chen, Youyou Lu, Kedong Fang, Qing Wang et al.VLDB 2020
- Exploiting Persistent CPU Cache for Scalable Persistent Hash IndexBowen Zhang, Shengan Zheng, Liangxu Nie, Zhenlin Qi et al.ICDE 2024 · 3 citations
- Evaluating Persistent Memory Range Indexes: Part TwoYuliang He, Duo Lu, Kaisong Huang, Tianzheng WangVLDB 2022 · 26 citations
- Buffered Persistence in B+ TreesMingzhe Du, Michael L. ScottSIGMOD 2025 · 3 citations
