R&D: Maintaining Inter-Layer Equilibrium in Hierarchical-Storage-based KV Store
Paper presents an I/O scheduler designed to maintain data balance across storage tiers of multi-tiered storage engines.
This is a Press Release edited by StorageNewsletter.com on April 1, 2025 at 2:00 pmACM Transactions on Storage has published an article written by Kyoungho Koo, Electronic Engineering, Korea Institute of Technology, Daejeon, Korea (the Republic of), and Junhan Lee, Electrical Engineering, Korea Advanced Institute of Science and Technology, Daejeon, Korea (the Republic of).
Abstract: “Modern storage technologies aim to enhance performance and lower costs. With advances in storage devices, numerous studies propose key-value store designs for heterogeneous storage systems. Many rely on the Log-Structured Merge-Tree(LSM), which optimizes write-heavy workloads and flash storage. However, LSM-tree-based key-value stores on heterogeneous storage systems suffer from severe performance degradation and a surge in query latency. A key issue is write stall constraints, which arise from considering only single-tier storage, limiting key-value stores from leveraging multi-tier architectures. Another problem with key-value stores for heterogeneous storage systems is the inter-storage imbalance. Performance discrepancies between storage tiers fluctuate due to each storage device’s differing storage media technologies and garbage collection mechanisms. Consequently, existing hierarchical storage-based key-value stores (HSKVS) do not fully utilize the resources of storage devices across tiers and do not account for the performance imbalance between storage tiers.“
“This paper presents an I/O scheduler designed to maintain data balance across storage tiers of multi-tiered storage engines. Our approach leverages two key techniques: dynamic data layout and flush I/O throttling. Dynamic data layout optimizes data placement by adapting to performance metrics and workload demands. This approach ensures data is stored in the most appropriate tier, improving access times and reducing latency. Meanwhile, flush I/O throttling aims to efficiently manage the I/O workload by controlling data movement between memory and storage. It balances data flow, preventing bottlenecks, especially during peak usage. To evaluate the effectiveness of our proposed I/O scheduler, we integrated it into a conventional HSKVS system. This integration achieved up to a 14.7 × performance improvement on YCSB workload D compared to conventional HSKVS systems. Furthermore, our proposed scheduler reduced the tail latency for get queries by about 9.3 ×, from 13 ms to 1.4 ms.“