High Performance Network SIG 月刊ニュース: 長期投資が業界で認められ、新しい virtio レビュー担当者が追加されました

高性能ネットワーク SIG (Special Interest Group): クラウド コンピューティングの時代では、ソフトウェアとハ​​ードウェアが急速に発展し、クラウド ネイティブやマイクロ サービスなどの新しいアプリケーション形式が出現し、プロセスとネットワーク間でより多くのデータが流れることが可能になります。ストリーミングのキャリアは、クラウド時代全体において前例のない重要な役割を果たしています。Internet of Everything の時代において、クラウド上のネットワーク通信の効率化は、さまざまなサービスにとって極めて重要です。High Performance Network Interest Group は、XDP、RDMA、VIRTIO などの新しい高効率通信テクノロジの使用と、高性能を実現するソフトウェアとハ​​ードウェアの統合のアイデア パフォーマンス ネットワーク プロトコル スタックは、クラウド コンピューティング時代のデータ センター アプリケーションのネットワーク パフォーマンスを向上させます。

01 今月のSIGの全体的な進捗状況

今月のハイ パフォーマンス ネットワーキング SIG は、Anolis OS カーネル ネットワーキング、SMC、および virtio に焦点を当てています。

今月の主な展開:

  • SIG メンバーの Xuan Zhuo は、アップストリーム Linux カーネル コミュニティの virtio core/virtio-net サブシステムのレビューアーになりました。過去 3 年間にわたる Xuan Zhuo の virtio コミュニティへの貢献は広く知られています。

  • 今月、SIG はアップストリームの virtio-net による XDP ソケット ゼロ コピーのサポートを完了しました。これにより、virtio での XDP ソケット送信のパフォーマンスが大幅に向上します。この機能は、Dragon Lizard の ANCK カーネルで 1 年以上サポートされています。現在、私たちはこの機能を Linux アップストリーム コミュニティに提供しています。現在、コミュニティは virtio-net XDP 再構築部分のレビューを完了しており、それが期待されています5.8 ウィンドウ期間の後に協力するには、入力してください。

02 ANCKカーネルネットワーク

今月、新しいセキュリティ脆弱性修正がネットワーク方向に追加されました: CVE-2023-1074 (SCTP 関連)。

03 高性能ネットワークプロトコルスタック SMC

今月の高性能ネットワーク SIG の SMC 分野での取り組みは、主にネイティブの高性能通信の促進と、Linux アップストリーム コミュニティにおける 2 つのソリューションの eBPF ベースのポリシーの置き換えについて議論することに焦点を当てています。

ネイティブの高性能通信ソリューション

ネイティブ ループバックとコンテナ間 (クロスネット) 通信はすでに一般的なデータ パスであり、データ処理やクラウド ネイティブのシナリオで広く使用されています。たとえば、クラウドネイティブのシナリオでは、サービス メッシュはプロキシ プロセスを通じてビジネス プロセスおよびサイドカーと通信します。SMC は、ネイティブ (ループバックおよびコンテナ) の高性能通信ソリューションを提供します。従来のユーザー モード IPC、カーネルの TCP ループバックや UNIX ドメイン ソケットなどのソリューションと比較して、パフォーマンス上の利点に加えて (詳細なデータについては、 LWN リンク https://lwn.net/Articles/929934/)、侵入や変更を行わずにアプリケーションに対して透過的です。

前のバージョンのレビューでは、コミュニティからいくつかの肯定的なフィードバックが寄せられました。s390 PCI メンテナの Niklas は、64 ビットのランダム GID + 64 ビットのトークンで構成されるループバック ネゴシエーション プロセスを承認しました。確率の観点から言えば、10^(-15) の衝突確率を達成するには、8.2×10^11 回の試行が必要であるため、ランダムな GID が許容されます。私たちは IBM の契約所有者である Jerry と十分にコミュニケーションを取り、コミュニティが議論を終えて最終計画を決定するのを待ちます。

今月、SIG は、SMC ループバック ソリューションの v5 バージョンを Linux アップストリーム コミュニティに送信しました。新しいバージョンでは、SEID 選択ロジックが追加され、unregister_dmb の潜在的な問題が修正され、s390 アーキテクチャで異常に実行される問題が修正されました。

eBPF ポリシーに基づく代替スキーム

SMC は、TCP に動的にフォールバックする機能を提供します。現在のフォールバック戦略の決定要因は主に、RDMA/ISM 接続が正常に確立されるかどうかです。SMC のショート リンク パフォーマンスは TCP ほど良くないため、SMC をより汎用的にするために、ポリシー ベースのフォールバック TCP 機能を SMC に追加して、SMC がさまざまなアプリケーション モデルやシナリオに適応できるようにすることが計画されています。

今月、私たちは RFC と公式の置き換えパッチを Linux bpf およびネット コミュニティに送信し、モジュール シンボルやファイル名などのいくつかの問題を含む eBPF メンテナーからのフィードバックを得て改訂し、引き続き受け入れを促進します。 SMC および bpf コミュニティによる提案。

04 美徳

コミュニティへの影響力

今月、ハイ パフォーマンス ネットワーキング SIG のメンバーである Xuan Zhuo が、Linux カーネル コミュニティの virtio core/virtio-net サブシステムのレビュー担当者になりました。過去 3 年間における Xuan Zhuo の virtio コミュニティへの投資は、コミュニティで広く認められました。

今月、SIG は xdp シナリオの virtio ネットのバグも修正しました: [PATCH net] virtio_net: xdp_linearize_page() 内のバグ修正オーバーフロー - Xuan Zhuo

virtio-net サポート AF_XDP ゼロコピー

AF_XDP は、カーネル プロトコル スタックをバイパスしてパケットを送受信するための新しいフレームワークです。ドライバーの受信パケットをユーザーモードに直接転送したり、ユーザーモードからドライバーに直接パケットを転送して送信したりすることができます。カーネルの UDP プロトコル スタックと比較して、そのパフォーマンスは PPS の 3 ~ 7 倍向上します。ただし、ゼロコピーのサポートはドライバーに依存します。この作業はいくつかの部分に分かれています。

  • Virtio コアはプリマップされた DMA をサポートします

この部分は、virtio コア フレームワークが DMA アドレス操作の送信をサポートできるようにするためのものです (リンク)。現在の実装では、すべての DMA 操作は virito コアで完了します。AF_XDP がすべてのアドレス DMA 操作と一部の virtqueue リセット関連操作を事前に完了するため、ドライバーが virtio コアへの DMA アドレスの受け渡しをサポートできるようにする必要があります。

この部分には、virtio の DMA 関連の API 使用法の問題が関係します。一部のシナリオでは virtio が DMA API を使用できないため、このシナリオでは DMA API または AF_XDP が virtio をサポートできることを期待しています。これにより、比較的広範な議論が行われ、現在の結論は次のとおりです。

  • AF_XDP は将来、DMA API に dma-bufs を使用するよう移行する可能性があります。

  • DMA API は、virtio のような特殊なシナリオをサポートしません。

これらの要因により、私たちの進歩活動は大きな困難に直面しています。検討と議論の結果、当面は VIRTIO_F_ACCESS_PLATFORM のない virtio をサポートしないことを検討します。これは通常、一部の古い virtio デバイスで発生します。

  • virtio-net XDP リファクタリング

この部分はレビューされており、5.8 のウィンドウ期間後に別のバージョンが提出される予定です。

virtio-net 内部ヘッダー ハッシュ

トンネリング プロトコルは、異なるストリームのデータ パケットを外側のヘッダーに同じ 5 つ組を持つデータ ストリームにカプセル化することがあります。これらのデータ ストリームは同じ受信キューにハッシュされるため、RSS のパフォーマンスが失われます。virtio がトンネリング プロトコルの内部ヘッダー ハッシュをサポートするために、High Performance Network SIG は virtio_net: 内部ヘッダー ハッシュのサポートの提案を開始し、virtio で標準化することを望んでいます。

今月、v12->v13 と virtio コミュニティは、内部ヘッダー ハッシュの以前の設計で、デバイス側でサポートされているトンネル タイプを PCI デバイス固有の構成スペースに配置する問題について議論しました。デバイスの常駐機能は初期化できます。ドライバーによって読み取られるのは 1 回だけですが、virtio の新機能がどんどん追加されているため、一部の小型デバイスにとっては非常に不親切で、デバイス固有の構成スペースがますます肥大化しています。したがって、議論の後、デバイス構成スペースは制御キューに移動されます (新しい方法の欠点は、すべてのユーザーの GET クエリが構成済みフィールドとサポートされているフィールドの両方を返すことですが、許容されます)。

さらに、コミュニティは、内部ヘッダー ハッシュによってサポートされるトンネル タイプの数について依然として疑問を抱いており、コミュニティは、GRE-2784 などのエントロピー増加によってもたらされる RSS パフォーマンスの向上をレガシー プロトコルが享受できるように、レガシー プロトコルをサポートする傾向にあります。などですが、VXLAN/GENEVE などのより最新のトンネリング プロトコルをサポートして、これらのプロトコルが内部ヘッダーに基づいて対称ハッシュを実行し、一部でのロックの軽減やウォーム キャッシュなどのパフォーマンスの向上が得られるようにしたいと考えています。シナリオについてはまだ議論する必要があります。

上記は高性能ネットワーク SIG の 4 月の月次動向です。皆様の共同構築への参加を歓迎します。SIG ニュースの詳細については、Dragon Lizard の公式 Web サイトをご覧ください。

関連リンク

ハイパフォーマンス ネットワーキング SIG ホームページ:

https://openanolis.cn/sig/high-perf-network

SMC ループバック ソリューション v5 バージョン:

https://lore.kernel.org/netdev/[email protected]/

DMA アドレス操作:

https://lore.kernel.org/all/[email protected]/

virtio-net XDP リファクタリングリンク:

https://lore.kernel.org/all/[email protected]/

virtio_net: 内部ヘッダー ハッシュをサポート :

https://lists.oasis-open.org/archives/virtio-dev/202304/msg00465.html

- 以上 -

Dragon Lizard コミュニティでは、より良いコンテンツとサービスを提供するために、アンケート調査へのご参加を心から歓迎しています。下の QR コードをスキャンするか、このリンクをクリックしてご記入ください。質の高いフィードバックを選択して、Dragon Lizard を送信します。トカゲグッズ!

 

おすすめ

転載: blog.csdn.net/weixin_60347558/article/details/130626074