[Paper Review] Co-KV: A Collaborative Key-Value Store Using Near-Data Processing to Improve Compaction for the LSM-tree
Co-KV proposes a collaborative key-value store that leverages near-data processing (NDP) in SSDs to offload compaction workloads from the host, splitting compaction tasks between host and device for parallel execution. This approach reduces write amplification by up to 36.0% and improves overall throughput by 2.0x compared to LevelDB under update-intensive workloads.
Log-structured merge tree (LSM-tree) based key-value stores are widely employed in large-scale storage systems. In the compaction of the key-value store, SSTables are merged with overlapping key ranges and sorted for data queries. This, however, incurs write amplification and thus degrades system performance, especially under update-intensive workloads. Current optimization focuses mostly on the reduction of the overload of compaction in the host, but rarely makes full use of computation in the device. To address these issues, we propose Co-KV, a Collaborative Key-Value store between the host and a near-data processing ( i.e., NDP) model based SSD to improve compaction. Co-KV offers three benefits: (1) reducing write amplification by a compaction offloading scheme between host and device; (2) relieving the overload of compaction in the host and leveraging computation in the SSD based on the NDP model; and (3) improving the performance of LSM-tree based key-value stores under update-intensive workloads. Extensive db_bench experiment show that Co-KV largely achieves a 2.0x overall throughput improvement, and a write amplification reduction by up to 36.0% over the state-of-the-art LevelDB. Under YCSB workloads, Co-KV increases the throughput by 1.7x - 2.4x while decreases the write amplification and average latency by up to 30.0% and 43.0%, respectively.
Motivation & Objective
- Address the performance degradation in LSM-tree-based key-value stores caused by write amplification during compaction under update-intensive workloads.
- Reduce host-side CPU and I/O overhead by offloading part of the compaction workload to the SSD using near-data processing (NDP).
- Leverage parallelism between host and device to improve system-wide compaction performance and reduce data movement.
- Design a collaborative architecture that maintains compatibility with existing LSM-tree interfaces while enabling transparent offloading of compaction tasks.
- Optimize system-level performance by balancing computation and I/O load between host and storage device using semantic-aware task partitioning.
Proposed method
- Propose a two-tier compaction offloading scheme: the host (Co-KVH) and the device (Co-KVD) collaboratively perform compaction by splitting the workload.
- Use a semantic-aware manager to coordinate data partitioning and task distribution between host and device based on key ranges and storage characteristics.
- Implement a compaction offloading mechanism that assigns overlapping key-range merges to both host and SSD, enabling parallel execution.
- Integrate the Co-KV system into LevelDB as a prototype, extending it to support NDP-enabled SSDs without changing the application interface.
- Design a lightweight offload manager to handle task scheduling, data movement, and coordination between host and device during compaction.
- Utilize the NDP model to minimize data movement by performing computation close to the data, reducing bandwidth pressure and write amplification.
Experimental results
Research questions
- RQ1Can offloading compaction tasks from the host to an NDP-enabled SSD reduce write amplification in LSM-tree-based key-value stores?
- RQ2How does collaborative compaction between host and device improve throughput and latency under update-intensive workloads?
- RQ3To what extent can system-level parallelism between host and device improve compaction performance compared to host-only optimization?
- RQ4What is the impact of workload characteristics (e.g., read/write ratio, data size) on the performance gains of Co-KV?
- RQ5How can a transparent, interface-compatible system be designed to integrate NDP-based compaction into existing LSM-tree storage stacks?
Key findings
- Co-KV achieves a 2.0x improvement in overall throughput compared to LevelDB under db_bench workloads.
- Write amplification is reduced by up to 36.0% in Co-KV compared to LevelDB, especially under high-update workloads.
- Under YCSB workloads with 100% update operations, Co-KV increases throughput by 2.0x to 2.2x and reduces average latency by up to 43.0%.
- With 90% read and 10% update operations, Co-KV achieves 21,415 ops/sec, outperforming LevelDB under the same conditions.
- Write amplification is reduced to 71.0% of LevelDB’s value under the 20GB load and 80GB run workload configuration.
- The device-side component (Co-KVD) handles approximately half of the compaction operations, enabling effective parallelism and load balancing.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.