NVAlloc: rethinking heap metadata management in persistent memory allocators
Zheng Dang, Shuibing He, Peiyi Hong, Zhenxin Li, Xuechen Zhang, Xian-He Sun, Gang Chen
Abstract
Persistent memory allocation is a fundamental building block for developing high-performance and in-memory applications. Existing persistent memory allocators suffer from suboptimal heap organizations that introduce repeated cache line flushes and small random accesses in persistent memory. Worse, many allocators use static slab segregation resulting in a dramatic increase in memory consumption when allocation request size is changed. In this paper, we design a novel allocator, named NVAlloc, to solve the above issues simultaneously. First, NVAlloc eliminates cache line reflushes by mapping contiguous data blocks in slabs to interleaved metadata entries stored in different cache lines. Second, it writes small metadata units to a persistent bookkeeping log in a sequential pattern to remove random heap metadata accesses in persistent memory. Third, instead of using static slab segregation, it supports slab morphing, which allows slabs to be transformed between size classes to significantly improve slab usage. NVAlloc is complementary to the existing consistency models. Results on 6 benchmarks demonstrate that NVAlloc improves the performance of state-of-the-art persistent memory allocators by up to 6.4x and 57x for small and large allocations, respectively. Using NVAlloc reduces memory usage by up to 57.8%. Besides, we integrate NVAlloc in a persistent FPTree. Compared to the state-of-the-art allocators, NVAlloc improves the performance of this application by up to 3.1x.
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 d643ef2a-97ee-4a3d-9d9b-653a6d5a6497Cited by top-tier papers9
- XPGraph: XPline-Friendly Persistent Memory Graph Stores for Large-Scale Evolving GraphsRui Wang, Shuibing He, Weixu Zong, Yongkun Li et al.MICRO 2022 · 21 citations
- iCache: An Importance-Sampling-Informed Cache for Accelerating I/O-Bound DNN Model TrainingWeijian Chen, Shuibing He, Yaowen Xu, Xuechen Zhang et al.HPCA 2023 · 20 citations
- Revisiting Secondary Indexing in LSM-based Storage Systems with Persistent MemoryJing Wang, Youyou Lu, Qing Wang, Yuhao Zhang et al.USENIX ATC 2023 · 13 citations
- Silo: Speculative Hardware Logging for Atomic Durability in Persistent MemoryMing Zhang, Yu HuaHPCA 2023 · 8 citations
- Root Crash Consistency of SGX-style Integrity Trees in Secure Non-Volatile Memory SystemsJianming Huang, Yu HuaHPCA 2023 · 6 citations
Builds on8
- 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
- ROART: Range-query Optimized Persistent ARTShaonan Ma, Kang Chen, Shimin Chen, Mengxing Liu et al.FAST 2021 · 73 citations
- LB+-Trees: Optimizing Persistent Index Performance on 3DXPoint MemoryJihang Liu, Shimin Chen, Lujun WangVLDB 2020 · 69 citations
Related papers
- Improving the Relationship Between B+-Tree and Memory Allocator for Persistent MemoryWei Yan, Xingjun ZhangICDE 2024 · 2 citations
- Revisiting the Design of LSM-tree Based OLTP Storage Engine with Persistent MemoryBaoyue Yan, Xuntao Cheng, Bo Jiang, Shibin Chen et al.VLDB 2021 · 30 citations
- ASAP: A Speculative Approach to PersistenceSujay Yadalam, Nisarg Shah, Xiangyao Yu, Michael M. SwiftHPCA 2022 · 17 citations
- FFCCD: fence-free crash-consistent concurrent defragmentation for persistent memoryYuanchao Xu, Chencheng Ye, Yan Solihin, Xipeng ShenISCA 2022 · 9 citations
- DINOMO: An Elastic, Scalable, High-Performance Key-Value Store for Disaggregated Persistent MemorySe Kwon Lee, Soujanya Ponnapalli, Sharad Singhal, Marcos K. Aguilera et al.VLDB 2022 · 49 citations
