LB+-Trees: Optimizing Persistent Index Performance on 3DXPoint Memory
Jihang Liu, Shimin Chen, Lujun Wang
摘要
3DXPoint memory is the first commercially available NVM solution targeting mainstream computer systems. While 3DXPoint conforms to many assumptions about NVM in previous studies, we observe a number of distinctive features of 3DXPoint. For example, the number of modified words in a cache line does not affect the performance of 3DXPoint writes. This enables a new type of optimization: performing more NVM word writes per line in order to reduce the number of NVM line writes. We propose LB + -Tree, a persistent B + -Tree index optimized for 3DXPoint memory. LB + -Tree nodes are 256B or a multiple of 256B, as 256B is the internal data access size in 3DXPoint memory. We propose three techniques to improve LB + -Tree's insertion performance: (i) Entry moving, which reduces the number of NVM line writes for insertions by creating empty slots in the first line of a leaf node; (ii) Logless node split, which uses NAW (NVM Atomic Write) to reduce logging overhead; and (iii) Distributed headers, which makes (i) and (ii) effective for multi-256B nodes. Theoretical analysis shows that entry moving reduces the number of NVM line writes per insertion of the traditional design by at least 1.35x in a stable tree. Our micro-benchmark experiments on a real machine equipped with 3DXPoint memory shows that LB + -Tree achieves up to 1.12-2.92x speedups over state-of-the-art NVM optimized B + -Trees for insertions while obtaining similar search and deletion performance. Moreover, we study the benefits of LB + -Tree in two real-world systems: X-Engine, a commercial OLTP storage engine, and Memcached, an open source key-value store. X-Engine and Memcached results confirm our findings in the micro-benchmarks.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper40
- Updatable Learned Index with Precise PositionsJiacheng Wu, Yong Zhang, Shimin Chen, Yu Chen 等VLDB 2021 · 被引用 160 次
- Viper: An Efficient Hybrid PMem-DRAM Key-Value StoreLawrence Benson, Hendrik Makait, Tilmann RablVLDB 2021 · 被引用 86 次
- APEX: A High-Performance Learned Index on Persistent MemoryBaotong Lu, Jialin Ding, Eric Lo, Umar Farooq Minhas 等VLDB 2022 · 被引用 73 次
- ROART: Range-query Optimized Persistent ARTShaonan Ma, Kang Chen, Shimin Chen, Mengxing Liu 等FAST 2021 · 被引用 73 次
- PACTree: A High Performance Persistent Range Index Using PAC GuidelinesWook-Hee Kim, Madhava Krishnan Ramanathan, Xinwei Fu, Sanidhya Kashyap 等SOSP 2021 · 被引用 61 次
相关 Paper
- Zen: a High-Throughput Log-Free OLTP Engine for Non-Volatile Main MemoryGang Liu, Leying Chen, Shimin ChenVLDB 2021 · 被引用 31 次
- PLIN: A Persistent Learned Index for Non-Volatile Memory with High Performance and Instant RecoveryZhou Zhang, Zhaole Chu, Peiquan Jin, Yongping Luo 等VLDB 2023 · 被引用 39 次
- NBTree: a Lock-free PM-friendly Persistent B+-Tree for eADR-enabled PM SystemsBowen Zhang, Shengan Zheng, Zhenlin Qi, Linpeng HuangVLDB 2022 · 被引用 41 次
- BushStore: Efficient B+Tree Group Indexing for LSM-Tree in Non-Volatile MemoryZhenghao Wang, Lidan Shou, Ke Chen, Xuan ZhouICDE 2024 · 被引用 8 次
- TreeLine: An Update-In-Place Key-Value Store for Modern StorageGeoffrey X. Yu, Markos Markakis, Andreas Kipf, Per-Åke Larson 等VLDB 2023 · 被引用 36 次
