Skip to content

Commit 7014d56

Browse files
authored
chore(io-uring): Add uring quick-start (#561)
1 parent e8b9f68 commit 7014d56

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,21 @@ labels = { env = "production", service = "my_service" }
244244

245245
## Disk Throughput and Latency Optimization
246246

247+
### io_uring-based Disk I/O
248+
249+
Riffle supports an io_uring-based local I/O engine to improve shuffle performance on modern Linux kernels. (Linux kernel >= 5.10, and it was verified on Anolis OS 8)
250+
- Up to ~25% higher write throughput compared to the non-io_uring implementation
251+
- ~3× lower CPU load under write-intensive shuffle workloads
252+
253+
```shell
254+
# compile it with io-uring feature
255+
cargo build --features io-uring --bin riffle-server
256+
257+
# set the following options in the server toml
258+
[localfile_store#io_uring_options]
259+
threads = 2
260+
```
261+
247262
### Predictable Performance with Direct I/O Flushes
248263

249264
Buffered I/O in Linux relies on the page cache, which can introduce latency spikes.

0 commit comments

Comments
 (0)