PartitionKV: Redesigning LSM-tree KV Stores on NVMs with Adaptive Partitioning for Reducing Write Stalls and Amplification
Xingye Huang, Jinyu Wu, Xiaofang Xia, Jiangtao Cui, Hui Li, Liang Wang, Feng Zhang
Abstract
In write-intensive applications, the log-structured merge (LSM) trees are widely used as the basic index structure of key-value (KV) stores. Existing works integrate NVM into traditional DRAM-SSD architecture to improve write performance. However, these works still suffer from significant write stalls and amplification, mainly due to the inefficient L 0 - L 1 compaction caused by the unordered nature of data in L 0 of LSM-trees. To address these issues, we propose PartitionKV, a novel LSM-tree based KV store designed for the DRAM-NVM-SSD storage architecture, which has three main design characteristics: (1) First, we design an ordered partition layer comprising multiple partitions to replace the Memtable components and L 0 of original LSM-trees. Incoming KVs are directly persisted into NVM Logs of designated partitions based upon keys. This design minimizes unnecessary data rewriting during compaction and can double as a write-ahead log, significantly reducing write amplification. (2) Second, we introduce an adaptive partitioning strategy that dynamically splits or merges partitions based on the number of overlapping SSTables, ensuring that an optimal amount of data is involved in each compaction. (3) Third, we propose a multithreaded compaction strategy where multiple threads leverage two priority lists to efficiently coordinate concurrent data compaction between the partition layer and L 1 . By effectively integrating these two strategies, PartitionKV accelerates NVM space release and reduces write stalls significantly. We implement PartitionKV based on RocksDB and conduct extensive experiments to evaluate its performance. Results show that PartitionKV achieves 3.63× and 4.06× higher random write throughput than FlatLSM and MatrixKV, respectively.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Your agent calls
Lunesearch_papers
Free to start. No credit card required.
Terminal
Install the CLIlune papers get fa844bcc-0c4d-4171-a9e3-0a70d2465a4aRelated papers
- MatrixKV: Reducing Write Stalls and Write Amplification in LSM-tree Based KV Stores with Matrix Container in NVMTing Yao, Yiwen Zhang, Jiguang Wan, Qiu Cui et al.USENIX ATC 2020 · 186 citations
- ListDB: Union of Write-Ahead Logs and Persistent SkipLists for Incremental Checkpointing on Persistent MemoryWonbae Kim, Chanyeol Park, Dongui Kim, Hyeongjun Park et al.OSDI 2022 · 47 citations
- Boosting Write Performance of KV Stores: An NVM - Enabled Storage Collaboration ApproachYi Wang, Jiajian He, Kaoyi Sun, Yunhao Dong et al.ICDE 2024 · 6 citations
- Revisiting Log-Structured Merging for KV Stores in Hybrid Memory SystemsZhuohui Duan, Jiabo Yao, Haikun Liu, Xiaofei Liao et al.ASPLOS 2023 · 25 citations
- UniKV: Toward High-Performance and Scalable KV Storage in Mixed Workloads via Unified IndexingQiang Zhang, Yongkun Li, Patrick P. C. Lee, Yinlong Xu et al.ICDE 2020 · 27 citations
