AisLSM: Revolutionizing the Compaction with Asynchronous I/Os for LSM-tree

07/31/2023
by   Yanpeng Hu, et al.
0

The log-structured merge tree (LSM-tree) is widely employed to build key-value (KV) stores. LSM-tree organizes multiple levels in memory and on disk. The compaction of LSM-tree, which is used to redeploy KV pairs between on-disk levels in the form of SST files, severely stalls its foreground service. We overhaul and analyze the procedure of compaction. Writing and persisting files with fsyncs for compacted KV pairs are time-consuming and, more important, occur synchronously on the critical path of compaction. The user-space compaction thread of LSM-tree stays waiting for completion signals from a kernel-space thread that is processing file write and fsync I/Os. We accordingly design a new LSM-tree variant named AisLSM with an asynchronous I/O model. In short, AisLSM conducts asynchronous writes and fsyncs for SST files generated in a compaction and overlaps CPU computations with disk I/Os for consecutive compactions. AisLSM tracks the generation dependency between input and output files for each compaction and utilizes a deferred check-up strategy to ensure the durability of compacted KV pairs. We prototype AisLSM with RocksDB and io_uring. Experiments show that AisLSM boosts the performance of RocksDB by up to 2.14x, without losing data accessibility and consistency. It also outperforms state-of-the-art LSM-tree variants with significantly higher throughput and lower tail latency.

READ FULL TEXT
research
09/27/2021

Accelerating LSM-Tree with the Dentry Management of File System

The log-structured merge tree (LSM-tree) gains wide popularity in buildi...
research
12/20/2019

Circ-Tree: A B+-Tree Variant with Circular Design for Persistent Memory

Several B+-tree variants have been developed to exploit the performance ...
research
08/29/2021

Making Honey Files Sweeter: SentryFS – A Service-Oriented Smart Ransomware Solution

The spread of ransomware continues to cause devastation and is a major c...
research
06/23/2019

On Performance Stability in LSM-based Storage Systems

The Log-Structured Merge-Tree (LSM-tree) has been widely adopted for use...
research
04/19/2021

Inferring Drop-in Binary Parsers from Program Executions

We present BIEBER (Byte-IdEntical Binary parsER), the first system to mo...
research
02/09/2022

Constructing and Analyzing the LSM Compaction Design Space (Updated Version)

Log-structured merge (LSM) trees offer efficient ingestion by appending ...
research
09/14/2023

Sync+Sync: A Covert Channel Built on fsync with Storage

Scientists have built a variety of covert channels for secretive informa...

Please sign up or login with your details

Forgot password? Click here to reset