Welcome to the AisLSM open source project! This project is based on the Linux io_uring
technology and aims to achieve optimal I/O operation performance for RocksDB.
-
Linux Version Requirement: Since
io_uring
is still maturing and continuously updating, it's recommended to use Linux version 6.2 or higher. However, at a minimum, version 5.2 is required to expect the software to reach its optimized performance. -
Dependency: This project relies on the
liburing
library. You can download and install it from GitHub. Here's the installation link:
Installing liburing is quite straightforward. You can find installation instructions from the aforementioned GitHub link. Before installing, it's imperative to remove any existing liburing library from your Linux system to avoid unpredictable bugs during program execution
-
First, ensure you've installed all the necessary dependencies and git clone this repository.
-
Compile using the following commands in the directory that you cloned:
mkdir -p build && cd build cmake -DCMAKE_BUILD_TYPE=Release .. -DWITH_SNAPPY=1 && cmake --build .
-
On GitHub, you'll find different branches. Each branch corresponds to a different variant of AisLSM as mentioned in the paper.
-
It's essential to note that the polling version of the project can only run properly on NVMe drives.
bpftrace -e 'uprobe:/root/zys/bpftime-evaluation/rocksdb/build/librocksdb.so.7:io_uring_submit { printf("PID %d sleeping...\n", pid); }'