Die Verwendung asynchroner gepufferter Schreibvorgänge basierend auf io_uring reduzierte die Latenz in XFS um das bis zu 80-fache

Zur Integration in den Linux-Kernel 5.20 wurde eine Reihe von Patches veröffentlicht, die Unterstützung für asynchrone gepufferte Schreibvorgänge in das XFS-Dateisystem mithilfe des io_uring-Mechanismus hinzufügen. Vorläufige Leistungstests, die mit dem FIO-Toolkit durchgeführt wurden (1 Thread, 4 KB Blockgröße, 600 Sekunden, sequentielle Schreibvorgänge), zeigen einen Anstieg der Eingabe-/Ausgabeoperationen pro Sekunde (IOPS) von 77 auf 209, die Datenübertragungsraten von 314 MB/s auf 854 MB/s. s und ein Rückgang der Latenz von 9600 ns auf 120 ns (80-mal). Sequentielle Schreibvorgänge: ohne Patch mit Patch libaio psync Iops: 77 209 195 233 bw: 314 MB/s 854 MB/s 790 MB/s 953 MB/s Clat: 9600 ns 120 ns 540 ns 3000 ns

Wer sich für den Stand von io_uring Mitte 2022 interessiert, dem sei empfohlen, sich mit den Folien und der Videoaufzeichnung des Berichts von Kernel Recipes 2022 vertraut zu machen. Die bereits im Kernel enthaltenen und die geplanten Änderungen werden kurz erwähnt, z Beispielsweise können Sie die Unterstützung für Folgendes feststellen:

  • Multi-Shot-Accept().
  • multiple (multi-shot) recv() – laut Tests eine Steigerung von 6-8 % – von 1150000 auf 1200000 RPS.
  • Aktualisierungen und Korrekturen in der Bibliothek, Hinzufügen von Dokumentation und Tests.

Im Zusammenhang mit der Portabilität von io_uring werden in den Folien erhebliche Ähnlichkeiten mit den „I/O Rings“ erwähnt, die im Direct Storage-Subsystem in Windows 11 verwendet werden, sowie die Möglichkeit des plattformübergreifenden Betriebs, aber auch der anderen Plattformen auf dem Auf der Folie des Autors wird nur FreeBSD mit einem Fragezeichen erwähnt.



Source: opennet.ru

Kommentar hinzufügen