Table of Contents
Fetching ...

A Host-SSD Collaborative Write Accelerator for LSM-Tree-Based Key-Value Stores

KiHwan Kim, Hyunsun Chung, Seonghoon Ahn, Junhyeok Park, Safdar Jamil, Hongsu Byun, Myungcheol Lee, Jinchun Choi, Youngjae Kim

TL;DR

This study proposes KVACCEL, a novel hardware-software co-design framework that eliminates write stalls by leveraging a dual-interface SSD, and shows that for write-intensive workloads, KVACCEL outperforms ADOC in terms of throughput and performance-to-CPU-utilization efficiency.

Abstract

Log-Structured Merge (LSM) tree-based Key-Value Stores (KVSs) are widely adopted for their high performance in write-intensive environments, but they often face performance degradation due to write stalls during compaction. Prior solutions, such as regulating I/O traffic or using multiple compaction threads, can cause unexpected drops in throughput or increase host CPU usage, while hardware-based approaches using FPGA, GPU, and DPU aimed at reducing compaction duration introduce additional hardware costs. In this study, we propose KVACCEL, a novel hardware-software co-design framework that eliminates write stalls by leveraging a dual-interface SSD. KVACCEL allocates logical NAND flash space to support both block and key-value interfaces, using the key-value interface as a temporary write buffer during write stalls. This strategy significantly reduces write stalls, optimizes resource usage, and ensures consistency between the host and device by implementing an in-device LSM-based write buffer with an iterator-based range scan mechanism. Our extensive evaluation shows that for write-intensive workloads, KVACCEL outperforms ADOC by up to 1.17x in terms of throughput and performance-to-CPU-utilization efficiency. For mixed read-write workloads, both demonstrate comparable performance.

A Host-SSD Collaborative Write Accelerator for LSM-Tree-Based Key-Value Stores

TL;DR

This study proposes KVACCEL, a novel hardware-software co-design framework that eliminates write stalls by leveraging a dual-interface SSD, and shows that for write-intensive workloads, KVACCEL outperforms ADOC in terms of throughput and performance-to-CPU-utilization efficiency.

Abstract

Log-Structured Merge (LSM) tree-based Key-Value Stores (KVSs) are widely adopted for their high performance in write-intensive environments, but they often face performance degradation due to write stalls during compaction. Prior solutions, such as regulating I/O traffic or using multiple compaction threads, can cause unexpected drops in throughput or increase host CPU usage, while hardware-based approaches using FPGA, GPU, and DPU aimed at reducing compaction duration introduce additional hardware costs. In this study, we propose KVACCEL, a novel hardware-software co-design framework that eliminates write stalls by leveraging a dual-interface SSD. KVACCEL allocates logical NAND flash space to support both block and key-value interfaces, using the key-value interface as a temporary write buffer during write stalls. This strategy significantly reduces write stalls, optimizes resource usage, and ensures consistency between the host and device by implementing an in-device LSM-based write buffer with an iterator-based range scan mechanism. Our extensive evaluation shows that for write-intensive workloads, KVACCEL outperforms ADOC by up to 1.17x in terms of throughput and performance-to-CPU-utilization efficiency. For mixed read-write workloads, both demonstrate comparable performance.

Paper Structure

This paper contains 24 sections, 1 equation, 14 figures, 6 tables.

Figures (14)

  • Figure 1: An architecture of LSM-tree.
  • Figure 2: Per-second throughput time-series for RocksDB and ADOC, based on write slowdown usage.
  • Figure 3: Throughput (a) and tail latency (b) results of RocksDB and ADOC, based on write slowdown usage.
  • Figure 4: Measurements of PCIe bandwidth utilization in the 100–200 seconds of execution range in RocksDB without applying slowdown techniques.
  • Figure 5: A Cumulative Distribution Function (CDF) of PCIe bandwidth during a period of write stall on RocksDB. The numbers on the legend denote compaction thread count.
  • ...and 9 more figures