SuccinctKV: a CPU-efficient LSM-tree Based KV Store with Scan-based Compaction
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.
Authors
- Yinan Zhang (ORCID: https://orcid.org/0009-0009-2398-9185)
- Huiqi Hu (ORCID: https://orcid.org/0000-0001-5220-3166)
- Shun Yang (ORCID: https://orcid.org/0009-0007-8157-0396)
- Chengcheng Yang (ORCID: https://orcid.org/0000-0001-5128-8882)
- Xuan Zhou (ORCID: https://orcid.org/0000-0001-8426-9450)
- Peng Cai (ORCID: https://orcid.org/0009-0006-7468-7695)
Publication Details
- Journal
- ACM Transactions on Architecture and Code Optimization
- Published
- 2024-09-13
- DOI
- https://doi.org/10.1145/3695873
- Primary Topic
- Advanced Data Storage Technologies
- Type
- article
- Field-Weighted Citation Impact
- 0.00