L'uso di scritture asincrone bufferizzate basate su io_uring ha ridotto la latenza in XFS fino a 80 volte

Sono state pubblicate una serie di patch da includere nel kernel Linux 5.20, aggiungendo il supporto per le scritture asincrone bufferizzate sul file system XFS utilizzando il meccanismo io_uring. I test preliminari sulle prestazioni condotti utilizzando il toolkit fio (1 thread, dimensione blocco 4kB, 600 secondi, scritture sequenziali) mostrano un aumento delle operazioni di input/output al secondo (IOPS) da 77k a 209k, velocità di trasferimento dati da 314MB/s a 854MB/ se un calo della latenza da 9600ns a 120ns (80 volte). scritture sequenziali: senza patch con patch libaio psync iops: 77k 209k 195K 233K bw: 314MB/s 854MB/s 790MB/s 953MB/s clat: 9600ns 120ns 540ns 3000ns

Per chi è interessato allo stato di io_uring a metà 2022, si consiglia di familiarizzare con le diapositive e la registrazione video del report di Kernel Recipes 2022. Vengono brevemente menzionate le modifiche già incluse nel kernel e quelle previste, per ad esempio, puoi notare il supporto per:

  • accettazione multi-scatto().
  • multiple (multi-shot) recv() - secondo i test, un aumento del 6-8% - da 1150000 a 1200000 RPS.
  • aggiornamento e correzioni nella libreria liburing, aggiunta documentazione e test.

Nel contesto della portabilità di io_uring, le diapositive menzionano somiglianze significative con gli “I/O Rings” utilizzati nel sottosistema Direct Storage di Windows 11, nonché la possibilità di funzionamento multipiattaforma, ma delle altre piattaforme presenti sul nella diapositiva dell'autore, solo FreeBSD è menzionato con un punto interrogativo.



Fonte: opennet.ru

Aggiungi un commento