初期のパッチ提供LinuxカーネルのネットワークサブシステムのIO_uringゼロコピー送信サポートは、スループットの向上に非常に有望です。
開発者のPavelBegunkovは、ネットワークサブシステムでのIO_uringのこのゼロコピー送信サポートに取り組んでいる12個のパッチのセットを本日投稿しました。これらの初期パッチは、一部の項目がまだコードで整理されているため、「コメントの要求」としてマークされています。
このIO_uringゼロコピー送信サポートは現在IPv4/UDP処理用ですが、TCPパッチも機能しています。まだ初期段階の作業で流動的ですが、パフォーマンスの結果は、見通しに非常に興奮しています。
ダミーネットデバイス(mtu=0xffff)を使用したudp(65435バイト)のベンチマーク:最高case io_uring=116079 MB/s vs msg_zerocopy=47421 MB/s、つまり2.44倍高速。
….
io_uringの最悪のケースはまだmsg_zerocopyより1.88倍高速であり、パッチセットから除外された「簡単な」最適化がいくつかあります。 4096バイトのペイロードの場合、zcは非zcバージョンをわずかに上回り、ペイロードが大きいほどギャップが大きくなります。
ストレージとネットワーキングのIO_uring周辺ですべてのカーネル作業が行われているのを見るのは素晴らしいことです。詳細に興味がある場合は、