NBTree: a Lock-free PM-friendly Persistent B+-Tree for eADR-enabled PM Systems
Bowen Zhang, Shengan Zheng, Zhenlin Qi, Linpeng Huang
摘要
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.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper12
- Bf-Tree: A Modern Read-Write-Optimized Concurrent Larger-Than-Memory Range IndexXiangpeng Hao, Badrish ChandramouliVLDB 2024 · 被引用 14 次
- DGAP: Efficient Dynamic Graph Analysis on Persistent MemoryAbdullah Al Raqibul Islam, Dong DaiSC 2023 · 被引用 13 次
- Falcon: Fast OLTP Engine for Persistent Cache and Non-Volatile MemoryZhicheng Ji, Kang Chen, Leping Wang, Mingxing Zhang 等SOSP 2023 · 被引用 10 次
- FluidKV: Seamlessly Bridging the Gap between Indexing Performance and Memory-Footprint on Ultra-Fast StorageZiyi Lu, Qiang Cao, Hong Jiang, Yuxing Chen 等VLDB 2024 · 被引用 8 次
- A Midsummer Night's Tree: Efficient and High Performance Secure SCMSamuel Thomas, Kidus Workneh, Jac McCarty, Joseph Izraelevitz 等ASPLOS 2024 · 被引用 5 次
它引用的顶会 Paper12
- An Empirical Guide to the Behavior and Use of Scalable Persistent MemoryJian Yang, Juno Kim, Morteza Hoseinzadeh, Joseph Izraelevitz 等FAST 2020 · 被引用 470 次
- FlatStore: An Efficient Log-Structured Key-Value Storage Engine for Persistent MemoryYoumin Chen, Youyou Lu, Fan Yang, Qing Wang 等ASPLOS 2020 · 被引用 166 次
- Lock-free Concurrent Level Hashing for Persistent MemoryZhangyu Chen, Yu Hua, Bo Ding, Pengfei ZuoUSENIX ATC 2020 · 被引用 98 次
- Evaluating Persistent Memory Range IndexesLucas Lersch, Xiangpeng Hao, Ismail Oukid, Tianzheng Wang 等VLDB 2020 · 被引用 97 次
- Characterizing and Modeling Non-Volatile Memory SystemsZixuan Wang, Xiao Liu, Jian Yang, Theodore Michailidis 等MICRO 2020 · 被引用 88 次
相关 Paper
- DPTree: Differential Indexing for Persistent MemoryXinjing Zhou, Lidan Shou, Ke Chen, Wei Hu 等VLDB 2020 · 被引用 74 次
- ?Tree: a Persistent B+-Tree with Low Tail LatencyYoumin Chen, Youyou Lu, Kedong Fang, Qing Wang 等VLDB 2020
- Exploiting Persistent CPU Cache for Scalable Persistent Hash IndexBowen Zhang, Shengan Zheng, Liangxu Nie, Zhenlin Qi 等ICDE 2024 · 被引用 3 次
- Evaluating Persistent Memory Range Indexes: Part TwoYuliang He, Duo Lu, Kaisong Huang, Tianzheng WangVLDB 2022 · 被引用 26 次
- Buffered Persistence in B+ TreesMingzhe Du, Michael L. ScottSIGMOD 2025 · 被引用 3 次
