Viper: An Efficient Hybrid PMem-DRAM Key-Value Store
Lawrence Benson, Hendrik Makait, Tilmann Rabl
Abstract
Key-value stores (KVSs) have found wide application in modern software systems. For persistence, their data resides in slow secondary storage, which requires KVSs to employ various techniques to increase their read and write performance from and to the underlying medium. Emerging persistent memory (PMem) technologies offer data persistence at close-to-DRAM speed, making them a promising alternative to classical disk-based storage. However, simply drop-in replacing existing storage with PMem does not yield good results, as block-based access behaves differently in PMem than on disk and ignores PMem's byte addressability, layout, and unique performance characteristics. In this paper, we propose three PMem-specific access patterns and implement them in a hybrid PMem-DRAM KVS called Viper. We employ a DRAM-based hash index and a PMem-aware storage layout to utilize the randomwrite speed of DRAM and efficient sequential-write performance PMem. Our evaluation shows that Viper significantly outperforms existing KVSs for core KVS operations while providing full data persistence. Moreover, Viper outperforms existing PMem-only, hybrid, and disk-based KVSs by 4-18x for write workloads, while matching or surpassing their get performance.
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 51878345-7078-4888-af62-48b4d64172b0Cited by top-tier papers25
- Demystifying CXL Memory with Genuine CXL-Ready Systems and DevicesYan Sun, Yifan Yuan, Zeduo Yu, Reese Kuper et al.MICRO 2023 · 133 citations
- ScaleStore: A Fast and Cost-Efficient Storage Engine using DRAM, NVMe, and RDMATobias Ziegler, Carsten Binnig, Viktor LeisSIGMOD 2022 · 51 citations
- Pacman: An Efficient Compaction Approach for Log-Structured Key-Value Store on Persistent MemoryJing Wang, Youyou Lu, Qing Wang, Minhui Xie et al.USENIX ATC 2022 · 44 citations
- Virtual-Memory Assisted Buffer ManagementViktor Leis, Adnan Alhomssi, Tobias Ziegler, Yannick Loeck et al.SIGMOD 2023 · 37 citations
- Prism: Optimizing Key-Value Store for Modern Heterogeneous Storage DevicesYongju Song, Wook-Hee Kim, Sumit Kumar Monga, Changwoo Min et al.ASPLOS 2023 · 28 citations
Builds on9
- 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
- Evaluating Persistent Memory Range IndexesLucas Lersch, Xiangpeng Hao, Ismail Oukid, Tianzheng Wang et al.VLDB 2020 · 97 citations
- DPTree: Differential Indexing for Persistent MemoryXinjing Zhou, Lidan Shou, Ke Chen, Wei Hu et al.VLDB 2020 · 74 citations
- LB+-Trees: Optimizing Persistent Index Performance on 3DXPoint MemoryJihang Liu, Shimin Chen, Lujun WangVLDB 2020 · 69 citations
Related papers
- RDMP-KV: designing remote direct memory persistence based key-value stores with PMEMTianxi Li, Dipti Shankar, Shashank Gugnani, Xiaoyi LuSC 2020 · 3 citations
- ChameleonDB: a key-value store for optane persistent memoryWenhui Zhang, Xingsheng Zhao, Song Jiang, Hong JiangEuroSys 2021 · 72 citations
- Maximizing Persistent Memory Bandwidth Utilization for OLAP WorkloadsBjörn Daase, Lars Jonas Bollmeier, Lawrence Benson, Tilmann RablSIGMOD 2021 · 38 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
- Halo: A Hybrid PMem-DRAM Persistent Hash Index with Fast RecoveryDaokun Hu, Zhiwen Chen, Wenkui Che, Jianhua Sun et al.SIGMOD 2022 · 34 citations
