IO_uring Is Maturing Well On Linux For Faster & More Flexible I/O - Benchmarks On Linux 5.6
Since its introduction in Linux 5.1, IO_uring has been coming together quite nicely and getting better with each new kernel release. IO_uring is the effort for delivering faster and more efficient I/O by avoiding excess copies and other efficiency improvements over the existing Linux AIO code. Here are some comparison benchmarks off Linux 5.6 Git.
IO_uring has been maturing well with each new kernel release for new features, fixes, and further optimizations. Linux 5.6 seems to be in very good shape for IO_uring and we should see more adoption of this new Linux kernel interface this year. Particularly once Ubuntu 20.04 LTS ships with being a major long-term support release on a now-supported kernel that will hopefully spur the adoption. But there's been work by RocksDB and other projects in exploring IO_uring for faster I/O potential.
Those behind on their IO_uring reading can see the likes of the whitepaper and for a more convenient overview the slide deck above.
Around the time of Linux 5.6 going stable I should hopefully have the time for a broader set of IO_uring benchmarks on a diverse set of hardware, but for now here are some numbers I am seeing on a NVMe SSD in comparing FIO with IO_uring versus the Linux AIO code-path.
Certainly looking forward to seeing more real-world programs make use of IO_uring as the year progresses.