Abstract
Key-value (KV) stores based on persistent memories such as Intel Optane Pmem can deliver higher throughput and lower latency, compared to traditional SSD/HDD. Many KV stores adopt LSM-tree as the bone index structure. However, LSM-tree suffers from severe write amplification, which degrades the system’s performance and exacerbates the wearout of persistent memory. In this paper, we propose SpacKV, a hybrid DRAM-Pmem KV store, which applies a KV separation scheme and exploits Pmem’s device characteristics to achieve high throughput. We design a dedicated value storage structure to maintain localized order of values for efficient range queries and a compaction-triggered garbage collection mechanism to minimize intermediate I/O overhead. Moreover, we leverage Pmem’s key features: byte-addressability, access unit of 256 bytes and specific persistence instructions to further mitigate the write amplification effect. The experimental results show that SpacKV achieves 1.4–10.8\(\times \), 4.7–9.7\(\times \), and 6.7–13.5\(\times \) in terms of write, read, and range query performance over three state-of-the-art LSM-tree based KV stores: LevelDB-Pmem, RocksDB-Pmem, and MatrixKV, respectively.
X. Ge and M. Lai—These authors contributed equally to this work.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Facebook: Rocksdb. http://rocksdb.org
Google: Leveldb. https://github.com/google/leveldb
Apache: Cassandra. http://cassandra.apache.org
Chang, F., et al.: BigTable: a distributed storage system for structured data. ACM Trans. Comput. Syst. 26(2), 1–26 (2008)
Kaiyrakhmet, O., Lee, S., Nam, B., Noh, S.H., Choi, Y.: SLM-DB: single-level key-value store with persistent memory. In: 17th Conference on File and Storage Technologies, FAST 2019, Boston, MA, 25–28 February 2019, pp. 191–205 (2019)
Chan, H.H., et al.: Hashkv: enabling efficient updates in KV storage via hashing. In: 2018 USENIX Annual Technical Conference, pp. 1007–1019 (2018)
Yang, J., Kim, J., Hoseinzadeh, M., Izraelevitz, J., Swanson, S.: An empirical guide to the behavior and use of scalable persistent memory. In: 18th USENIX Conference on File and Storage Technologies, pp. 169–182 (2020)
Luo, C., Carey, M.J.: LSM-based storage techniques: a survey. VLDB J. 29(1), 393–418 (2020)
Yao, T., et al.: MatrixKV: Reducing write stalls and write amplification in LSM-tree based KV stores with matrix container in NVM. In: 2020 USENIX Annual Technical Conference, USENIX ATC 2020, 15–17 July 2020, pp. 17–31 (2020)
Kannan, S., Bhat, N., Gavrilovska, A., Arpaci-Dusseau, A.C., Arpaci-Dusseau, R.H.: Redesigning LSMs for nonvolatile memory with NoveLSM. In: 2018 USENIX Annual Technical Conference, USENIX ATC 2018, Boston, MA, USA, 11–13 July 2018, pp. 993–1005 (2018)
Zhang, B., Du, D.H.C.: NVLSM: A persistent memory key-value store using log-structured merge tree with accumulative compaction. ACM Trans. Storage. 17(3), 23:1–23:26 (2021)
Zhang, W., Zhao, X., Jiang, S., Jiang, H.: ChameleonDB: a key-value store for Optane persistent memory. In: EuroSys 2021: Sixteenth European Conference on Computer Systems, Online Event, United Kingdom, 26–28 April 2021, pp. 194–209 (2021)
Lu, L., Pillai, T.S., Gopalakrishnan, H., Arpaci-Dusseau, A.C., Arpaci-Dusseau, R.H.: WiscKey: separating keys from values in SSD-conscious storage. ACM Trans. Storage (TOS) 13(1), 1–28 (2017)
Li, Y., et al.: Differentiated key-value storage management for balanced i/o performance. In: 2021 USENIX Annual Technical Conference, pp. 673–687 (2021)
Raju, P., Kadekodi, R., Chidambaram, V., Abraham, I.: PebblesDB: Building key-value stores using fragmented log-structured merge trees. In: Proceedings of the 26th Symposium on Operating Systems Principles, pp. 497–514 (2017)
Intel: Persistent memory development kit. https://github.com/pmem/pmdk
Cooper, B.F., Silberstein, A., Tam, E., Ramakrishnan, R., Sears, R.: Benchmarking cloud serving systems with YCSB. In: Proceedings of the 1st ACM Symposium on Cloud Computing, pp. 143–154 (2010)
Acknowledgments
We thank the reviewers for their insightful feedback to improve this paper. This work was supported by National Key R &D Program of China under Grant NO. 2021YFB0300103, National Natural Science Foundation of China (No. 61872392, 61832020), the Major Program of Guangdong Basic and Applied Research NO.2019B030302002 and the Program for Guangdong Introducing Innovative and Entrepreneurial Teams under Grant NO. 2016ZT06D211.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 IFIP International Federation for Information Processing
About this paper
Cite this paper
Ge, X. et al. (2022). SpacKV: A Pmem-Aware Key-Value Separation Store Based on LSM-Tree. In: Liu, S., Wei, X. (eds) Network and Parallel Computing. NPC 2022. Lecture Notes in Computer Science, vol 13615. Springer, Cham. https://doi.org/10.1007/978-3-031-21395-3_30
Download citation
DOI: https://doi.org/10.1007/978-3-031-21395-3_30
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-21394-6
Online ISBN: 978-3-031-21395-3
eBook Packages: Computer ScienceComputer Science (R0)