The application of asynchronous buffered writing based on io_uring has reduced latency in XFS by up to 80 times.

A series of patches has been released for inclusion in the Linux 5.20 kernel, adding support for asynchronous buffered writes to the XFS file system using the io_uring mechanism. Preliminary performance tests conducted with the fio tool (1 thread, block size 4KB, 600 seconds, sequential write) show an increase in input/output operations per second (IOPS) from 77k to 209k, data transfer speeds from 314MB/s to 854MB/s, and a reduction in latencies from 9600ns to 120ns (an 80-fold decrease). sequential writes: without patch with patch libaio psync iops: 77k 209k 195K 233K bw: 314MB/s 854MB/s 790MB/s 953MB/s clat: 9600ns 120ns 540ns 3000ns

For those interested in the state of io_uring as of mid-2022, it is recommended to check out the slides and video recording of the talk from Kernel Recipes 2022. The changes that have already been incorporated into the kernel and those planned are mentioned, such as support for:

  • multi-shot accept().
  • multi-shot recv() — tests show a growth of 6-8% — from 1,150,000 to 1,200,000 RPS.
  • updates and fixes in the liburing library, addition of documentation and tests.

In the context of io_uring portability, the slides mention a significant similarity to 'I/O Rings' used in the Direct Storage subsystem in Windows 11, as well as the possibility of implementing cross-platform operation, but from other platforms, only FreeBSD is mentioned on the author's slide with a question mark.

Play video


Source: opennet.ru
Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster