Застосування асинхронного буферизованого запису на базі io_uring до 80 разів знизило затримки XFS

Опубліковано серію патчів для включення в ядро ​​Linux 5.20, що додає підтримку асинхронного буферизованого запису у файлову систему XFS за допомогою механізму io_uring. Попередні тести продуктивності, проведені за допомогою інструментарію fio (1 потік, розмір блоку 4кб, 600 секунд, послідовний запис) показують збільшення числа операція вводу/виводу в секунду (IOPS) від 77k до 209k, швидкості передачі даних від 314MB/s до 854MB /s та падіння затримок від 9600ns до 120ns (80 разів). sequential writes: без пальця з палкою libaio psync iops: 77k 209k 195K 233K bw: 314MB/s 854MB/s 790MB/s 953MB/s Clat: 9600ns 120ns 540ns 3000

Для тих, хто цікавиться станом io_uring на середину 2022 року, рекомендується ознайомитися зі слайдами та відеозаписом доповіді з Kernel Recipes 2022.

  • множини (multi-shot) accept().
  • множинного (multi-shot) recv() - за тестами приріст 6-8% - від 1150000 до 1200000 RPS.
  • оновлення та виправлення в бібліотеці liburing, додавання документації та тестів.

У контексті переносимості io_uring на слайдах згадується значна схожість з I/O Rings, що використовується в підсистемі Direct Storage в Windows 11, а також можливість реалізації кросплатформової роботи, але з інших платформ на слайді автора згадана тільки FreeBSD зі знаком питання.



Джерело: opennet.ru

Додати коментар або відгук