Litcius/Paper detail

Revisiting Log-Structured Merging for KV Stores in Hybrid Memory Systems

Zhuohui Duan, Jiabo Yao, Haikun Liu, Xiaofei Liao, Hai Jin, Yu Zhang

202320 citationsDOI

Abstract

We present MioDB, a novel LSM-tree based key-value (KV) store system designed to fully exploit the advantages of byte-addressable non-volatile memories (NVMs). Our experimental studies reveal that the performance bottleneck of LSM-tree based KV stores using NVMs mainly stems from (1) costly data serialization/deserialization across memory and storage, and (2) unbalanced speed between memory-to-disk data flushing and on-disk data compaction. They may cause unpredictable performance degradation due to write stalls and write amplification. To address these problems, we advocate byte-addressable and persistent skip lists to replace the on-disk data structure of LSM-tree, and design four novel techniques to make the best use of fast NVMs. First, we propose one-piece flushing to minimize the cost of data serialization from DRAM to NVM. Second, we exploit an elastic NVM buffer with multiple levels and zero-copy compaction to eliminate write stalls and reduce write amplification. Third, we propose parallel compaction to orchestrate data flushing and compactions across all levels of LSM-trees. Finally, MioDB increases the depth of LSM-tree and exploits bloom filters to improve the read performance. Our extensive experimental studies demonstrate that MioDB achieves 17.1× and 21.7× lower 99.9th percentile latency, 8.3× and 2.5× higher random write throughput, and up to 5× and 4.9× lower write amplification compared with the state-of-the-art NoveLSM and MatrixKV, respectively.

Topics & Concepts

Computer scienceSerializationExploitDramBottleneckByteBloom filterNon-volatile memoryParallel computingData structureThroughputTree (set theory)Latency (audio)Computer hardwareEmbedded systemOperating systemComputer networkTelecommunicationsComputer securityMathematical analysisWirelessMathematicsAdvanced Data Storage TechnologiesParallel Computing and Optimization TechniquesCaching and Content Delivery
Revisiting Log-Structured Merging for KV Stores in Hybrid Memory Systems | Litcius