L'utilisation d'écritures tamponnées asynchrones basées sur io_uring a réduit la latence dans XFS jusqu'à 80 fois

Une série de correctifs ont été publiés pour être inclus dans le noyau Linux 5.20, ajoutant la prise en charge des écritures asynchrones en tampon sur le système de fichiers XFS à l'aide du mécanisme io_uring. Les tests de performances préliminaires effectués avec la boîte à outils fio (1 thread, taille de bloc 4 Ko, 600 secondes, écriture séquentielle) montrent une augmentation des opérations d'entrée/sortie par seconde (IOPS) de 77 209 à 314 854, des taux de transfert de 9600 Mo/s à 120 Mo/s. et la latence passe de 80 77 ns à 209 ns (195 fois). écritures séquentielles : sans patch avec patch libaio psync iops : 233k 314k 854K 790K bw : 953Mo/s 9600Mo/s 120Mo/s 540Mo/s clat : 3000ns XNUMXns XNUMXns XNUMXns

Pour ceux qui s'intéressent à l'état d'io_uring à la mi-2022, il est recommandé de vous familiariser avec les diapositives et l'enregistrement vidéo du rapport de Kernel Recipes 2022. Les changements déjà inclus dans le noyau et prévus sont mentionnés dans un aperçu, par exemple, on peut noter un soutien :

  • multiple (multi-shot) accept().
  • recv() multiple (multi-shot) - selon les tests, une augmentation de 6 à 8 % - de 1150000 1200000 XNUMX à XNUMX XNUMX XNUMX RPS.
  • mise à jour et correctifs dans la bibliothèque liburing, ajout de documentation et de tests.

Dans le contexte de la portabilité io_uring, les slides mentionnent des similitudes importantes avec les « I/O Rings » utilisés dans le sous-système Direct Storage de Windows 11, ainsi que la possibilité d'implémenter un travail multiplateforme, mais depuis d'autres plateformes sur la slide de l'auteur seul FreeBSD est mentionné avec un point d'interrogation.



Source: opennet.ru

Ajouter un commentaire