io_uring に基づく非同期バッファ書き込みの使用により、XFS のレイテンシが最大 80 分の XNUMX に削減されました。

Linux カーネル 5.20 に組み込むために一連のパッチが公開されており、io_uring メカニズムを使用した XFS ファイル システムへの非同期バッファ書き込みのサポートが追加されています。 fio ツールキットを使用して実施された予備パフォーマンス テスト (1 スレッド、4kB ブロック サイズ、600 秒、シーケンシャル書き込み) では、77 秒あたりの入出力操作 (IOPS) が 209k から 314k に、データ転送速度が 854MB/s から 9600MB/s に増加したことが示されています。 s となり、レイテンシーが 120ns から 80ns (77 倍) に低下しました。 シーケンシャル書き込み: パッチなし、パッチあり libaio psync iops: 209k 195k 233K 314K bw: 854MB/s 790MB/s 953MB/s 9600MB/s clat: 120ns 540ns 3000ns XNUMXns

2022 年中頃の io_uring の状態に興味がある方は、カーネル レシピ 2022 のレポートのスライドとビデオ録画をよく理解しておくことをお勧めします。カーネルに既に含まれている変更点と計画されている変更点について簡単に説明します。たとえば、次のサポートに注目できます。

  • マルチショット accept()。
  • 複数(マルチショット)recv() - テストによると、6 ~ 8% の増加 - 1150000 から 1200000 RPS。
  • ライブラリライブラリの更新と修正、ドキュメントとテストの追加。

io_uring の移植性の観点から、スライドでは、Windows 11 のダイレクト ストレージ サブシステムで使用される「I/O リング」との重要な類似点、およびクロスプラットフォーム操作の可能性について言及していますが、Windows XNUMX 上の他のプラットフォームとのクロスプラットフォーム操作の可能性についても言及しています。著者のスライドでは、FreeBSD のみが疑問符付きで言及されています。



出所: オープンネット.ru

コメントを追加します