ProckStore: An NDP-empowered key-value store with asynchronous and multi-threaded compaction scheme for optimized performance

Published: 01 Jan 2025, Last Modified: 15 May 2025J. Syst. Archit. 2025EveryoneRevisionsBibTeXCC BY-SA 4.0
Abstract: With the exponential growth of large-scale unstructured data, LSM-tree-based key-value (KV) stores have become increasingly prevalent in storage systems. However, KV stores face challenges during compaction, particularly when merging and reorganizing SSTables, which leads to high I/O bandwidth consumption and performance degradation due to frequent data migration. Near-data processing (NDP) techniques, which integrate computational units within storage devices, alleviate the data movement bottleneck to the CPU. The NDP framework is a promising solution to address the compaction challenges in KV stores. In this paper, we propose ProckStore, an NDP-enhanced KV store that employs an asynchronous and multi-threaded compaction scheme. ProckStore incorporates a multi-threaded model with a four-level priority scheduling mechanism–covering the compaction stages of triggering, selection, execution, and distribution, thereby minimizing task interference and optimizing scheduling efficiency. To reduce write amplification, ProckStore utilizes a triple-level filtering compaction strategy that minimizes unnecessary writes. Additionally, ProckStore adopts a key-value separation approach to reduce data transmission overhead during host-side compaction. Implemented as an extension of RocksDB on an NDP platform, ProckStore demonstrates significant performance improvements in practical applications. Experimental results indicate a 1.6× throughput increase over the single-threaded and asynchronous model and a 4.2× improvement compared with synchronous schemes.
Loading