Improved Storage Performance Using the New Linux Kernel I/O Interface

Library Content Type:
Publish Date: 
Thursday, September 26, 2019
Event Name: 
Event Track:
Focus Areas:

The Linux Kernel has recently added a new I/O interface called io_uring. This brings faster and more efficient I/O operations on Linux when compared to other Linux AIO, which is currently used by various software projects such as Ceph, ScallaDB, SeaStar, and Nginx. All of these utilize Linux AIO to improve I/O performance, but AIO is seen as difficult to use and has limited use cases. Io_uring also solves some problems with Linux AIO. It is also important for software developers and architects to understand the performance characteristics and behavior of io_uring on low latency devices - especially flash and Intel Optane based I/O devices.

This talk will showcase performance numbers when using io_uring on NAND and Intel Optane NVMe SSDs. We will go through some performance analysis of io_uring on commonly used storage stacks like disaggregated storage using NVMe-oF and virtualized storage using QEMU/KVM vhost. We will also compare io_uring against other I/O stacks such as Linux AIO and SPDK.

Watch video: