SuccinctKV: a CPU-efficient LSM-tree Based KV Store with Scan-based Compaction

Yinan Zhang, Shun Yang, Huiqi Hu, Chengcheng Yang, Peng Cai, Xuan Zhou

Research output: Contribution to journalArticlepeer-review

Abstract

The CPU overhead of the LSM-tree becomes increasingly significant when high-speed storage devices are utilized. In this article, we propose SuccinctKV, a key-value store based on LSM-tree that is optimized to improve CPU efficiency in mixed workload scenarios. To achieve this, SuccinctKV reduces the CPU overhead of compaction by writing scan-sorted data directly to the storage device. SuccinctKV also redesigns the merge-sort operation of the LSM-tree, enhancing CPU locality and reducing the unnecessary CPU overhead of cache accesses and I/O system calls. Additionally, SuccinctKV introduces a scheduler to resolve potential bursty I/O contention by autonomously initiating I/O requests at appropriate times and quickly relieving I/O pressure by terminating background I/O requests. We implement SuccinctKV on RocksDB and conduct extensive experiments to evaluate our proposed methods. The experimental results demonstrate that, compared with RocksDB, SuccinctKV achieves a maximum improvement of 2.6x in scan performance and reduces CPU overhead of compaction by up to 89% under mixed workloads.

Original languageEnglish
Article number90
JournalACM Transactions on Architecture and Code Optimization
Volume21
Issue number4
DOIs
StatePublished - 20 Nov 2024
Externally publishedYes

Keywords

  • CPU efficiency
  • Key-value store
  • Log-structured merge tree
  • compaction
  • range query

Fingerprint

Dive into the research topics of 'SuccinctKV: a CPU-efficient LSM-tree Based KV Store with Scan-based Compaction'. Together they form a unique fingerprint.

Cite this