
Jens Axboe of Facebook who serves as the Linux kernel's block subsystem maintainer for all the storage code and also the mastermind behind IO_uring shared some latest figures for IO_uring. In these latest IO_uring reference figures he is using the yet-to-be-released Intel IceLake-SP Xeon platform as well as the Intel Gen2 "Alder Stream" solid-state drives with the four-layer 3D XPoint technology and PCI Express 4.0. Both Ice Lake Xeon and the next-gen Optane SSDs are expected to be released before the end of the calendar year.
Axboe has been using the next-gen hardware for optimizing Linux IO_uring for further efficiency and performance optimizations. Off a single core of the system, he is seeing as high as 2.58 million IOPS per CPU core (and 24.9 usec average latency) with a 128 queue depth down to 290K IOPS with a 3.4 usec average latency for a queue depth of one. That testing is on the current Linux 5.9 mainline kernel state.
Axboe commented in the mailing list post , " Outside of showing what's possible with io_uring today, these results are also a testament to the general Linux IO stack efficiency. The introduction of blk-mq was as much about general efficiency as it was about scalability. That was a design criteria for both blk-mq and io_uring from day 1. Even if you aren't driving millions of IOPS, or using tons of threads/cores, you still care about getting your work done in the shortest amount of time, using the fewest amount of wasted cycles. "
For those interested he also shared some additional figures via Twitter . Damn fine performance on next-gen hardware while even for existing hardware with "simple" PCIe 3.0/4.0 NVMe solid-state drives at the consumer level, IO_uring continues to offer incredible performance and efficiency gains... Can't wait to see more open-source software making use of it.