AIクラスター、主にGPU間の高速低遅延接続を実現するためのネットワークは通常のネットワークと何が違うのでしょうか。製品を売りたいベンダーは基本的に従来との違いを誇張して新製品の販売を目指しますが少し冷静に何が違うのか考えてみましょう。

相手と経路が特定されている

まず、通常のネットワークと違うことは通信の双方が自分の管理下であり、途中の経路に使用されている機材も自分の管理下であると言うことです。その結果、なんでも新しい機能を実装することができます。

細かい機能差よりはまず、アプリケーションも含めて一つの組織の管理下にあるが故に最適化の為に様々な工夫が可能であることが従来の相手不特定が前提であるインターネット技術との違いです。

  • 伝送メディアも自分で決める
  • スイッチも全部自分で決める
  • NICも自分で決める
  • アプリケーションも自分で決める

フローコントロール

インターネットにおけるフローコントロールの大半はTCPによって行われています。TCPはパケットのドロップによって使用できる帯域を検知してフローコントロールをしています。この方式は、様々な環境で使える優れたものではありますが、実際に使用できる帯域に対してかなり低めになります。

使用できる帯域を最大に使うためには、より積極的に帯域を使用するアプリケーションに伝える仕組みが必要です。

  • RoCEv2(RDMA over Converged Ethernet)
    PFC/NCによってフロー制御。NICとスイッチが対応している必要がある。

フロー制御がデータを送り出している機能に認識されなければなりません。たとえネットワーク区間でフロー制御が機能しパケットロスがゼロになっても端末のNICのキューで廃棄が起きてしまえば意味が無いのです。

 

パラレルパス管理

複数の経路(ECMP)がある場合、パケットの到達順序が変わらないように同じフローは同じ経路を流す必要があります。つまり、パケット単位ではなくフロー単位に使う経路が割り当てられます。

このフローの容量が回線に対して十分に細い場合には基本的に問題にならないのですが、太いフローの場合はどちらかに偏る事があります。これを避ける拡張機能は様々な名前で実装されています。

  • NVIDIA Infiniband Scalable Hierarchical Aggregation and Reduction Protocol (SHARP)
  • Adaptive flowlet routing
    一定のインターバルが発生したフローを分割し別フローとして流す経路を振り分けることにより、トラフィックの偏りを回避する。
  • Broadcom cognitive routing

フラグメント処理

TCP/IPはパケット単位で処理されますが、それぞれのパケットのサイズは様々です。異なるサイズのパケットが混在することが各インターフェースでのキュー制御を難しくしています。このため、従来の大型ルータでは内部的にはパケットをセルと呼ばれる固定長の短い塊に分割して高度なキュー制御を行い最終的に外部に出す手前でパケットに再構成をする方式が一般的でした。

この処理をそのまま外部のインターフェスに適用し複数の装置間もセルでのデータ交換を行う方法があります。

  • broadcom Jericho2 and ramon + DRIVENETS Network-Cloud AI

固定化されたパケット長によりジッタ特性を押さえた転送処理が行え、場合によってはセルからパケットに戻すときの制御によってセルの伝送パスを不定にすることにより帯域の最適化も行えます。

この記事をシェア

Previous Article

October 22, 2023 • 7:54AM

Next Article

December 26, 2023 • 11:49AM

Topics

トピックがありません。

From Our Blog