Eine Reihe von Patches wurde veröffentlicht, um die Unterstützung für asynchrone, gepufferte Schreibvorgänge im XFS-Dateisystem durch den io_uring-Mechanismus im Linux-Kernel 5.20 zu aktivieren. Vorläufige Leistungstests, die mit dem Tool fio (1 Thread, Blockgröße 4 KB, 600 Sekunden, sequenzielle Schreibvorgänge) durchgeführt wurden, zeigen eine Steigerung der Ein- und Ausgaben pro Sekunde (IOPS) von 77k auf 209k, eine Erhöhung der Datenübertragungsrate von 314 MB/s auf 854 MB/s und einen Rückgang der Latenz von 9600 ns auf 120 ns (80-fach). sequenzielle Schreibvorgänge: ohne Patch mit Patch libaio psync iops: 77k 209k 195K 233K bw: 314 MB/s 854 MB/s 790 MB/s 953 MB/s clat: 9600 ns 120 ns 540 ns 3000 ns
Für diejenigen, die sich für den Stand von io_uring Mitte 2022 interessieren, wird empfohlen, sich die Folien und die Videoaufzeichnung des Vortrags von Kernel Recipes 2022 anzusehen. Es werden die Änderungen, die bereits in den Kernel aufgenommen wurden, sowie geplante Änderungen erwähnt, darunter auch die Unterstützung von:
- mehrfache (multi-shot) accept().
- mehrfache (multi-shot) recv() — die Tests zeigen einen Anstieg von 6-8% — von 1.150.000 auf 1.200.000 RPS.
- Updates und Korrekturen in der liburing-Bibliothek, zusätzliche Dokumentation und Tests.
Im Kontext der Portabilität von io_uring wird auf den Folien eine signifikante Ähnlichkeit mit den "I/O Rings" erwähnt, die im Direct Storage-Subsystem von Windows 11 verwendet werden, sowie die Möglichkeit der plattformübergreifenden Nutzung. Allerdings wird auf der Folie des Autors nur FreeBSD mit einem Fragezeichen als andere Plattform erwähnt.

Quelle: opennet.ru
