Viper
- 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 random-write speed of DRAM and efficient sequential-write performance PMem. Our evaluation shows that Viper significantly outperforms existing KVSs for core KVS operationsKey-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 random-write 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.…
Author details: | Lawrence BensonORCiDGND, Hendrik Makait, Tilmann RablORCiDGND |
---|---|
DOI: | https://doi.org/10.14778/3461535.3461543 |
ISSN: | 2150-8097 |
Title of parent work (English): | Proceedings of the VLDB Endowment |
Subtitle (English): | An Efficient Hybrid PMem-DRAM Key-Value Store |
Publisher: | Association for Computing Machinery |
Place of publishing: | New York |
Publication type: | Article |
Language: | English |
Date of first publication: | 2021/05/01 |
Publication year: | 2021 |
Release date: | 2022/08/31 |
Tag: | memory |
Volume: | 14 |
Issue: | 9 |
Number of pages: | 13 |
First page: | 1544 |
Last Page: | 1556 |
Funding institution: | German Ministry for Education and ResearchFederal Ministry of Education & Research (BMBF) [01IS18025A, 01IS18037A]; German Research FoundationGerman Research Foundation (DFG) [414984028]; European Union's Horizon 2020 research and innovation programme [957407] |
Organizational units: | Digital Engineering Fakultät / Hasso-Plattner-Institut für Digital Engineering GmbH |
DDC classification: | 0 Informatik, Informationswissenschaft, allgemeine Werke / 00 Informatik, Wissen, Systeme / 004 Datenverarbeitung; Informatik |
Peer review: | Referiert |
Publishing method: | Open Access / Hybrid Open-Access |
License (German): | CC-BY-NC-ND - Namensnennung, nicht kommerziell, keine Bearbeitungen 4.0 International |
External remark: | Zweitveröffentlichung in der Schriftenreihe Zweitveröffentlichungen der Universität Potsdam : Reihe der Digital Engineering Fakultät ; 20 |