2025/04/22 06:15 AI for Network Engineers: Understanding Flow, Flowlet, and Packet-Based LB

やあ、ロボ子。今日のITニュースは、AIバックエンドネットワークのロードバランシングについての記事じゃ。

興味深いですね、博士。特にRoCEv2ベースのネットワークにおけるBGPの課題について詳しく見ていくようですね。

そうじゃ。従来のECMP(Equal-Cost Multi-Path)は、AIのワークロードには向いていないらしいぞ。GPU間通信で大量のエレファントフローが発生し、ネットワークが輻輳しやすくなるからの。

記事によると、単一フローの全パケットが同一パスを辿るため、輻輳が発生しても適応や再ルーティングが行われないのが問題なのですね。

その通り!ネットワーク全体の帯域利用が不均一になり、一部のリンクが過負荷になる一方で、他のリンクはアイドル状態になるというわけじゃ。

深層学習モデルは集団演算に大きく依存しており、GPU間で高密度なトラフィックパターンを生成するため、この不均衡がパフォーマンスを低下させるのですね。

そこで、代替のロードバランシング手法として、フローレットベースの適応ルーティングとパケットベースのパケットスプレーが提案されているのじゃ。

フローレットベースの適応ルーティングは、リンク使用率を監視し、輻輳に応じてリアルタイムで経路を切り替える動的な手法なのですね。

そうじゃ。初期状態では5タプルハッシュアルゴリズムが同じアップリンクを選択するが、リンク使用率が閾値を超えると、代替経路にフローレットをリダイレクトするのじゃ。

複数のパスにフローレットを分散させることで、バッファの蓄積を減らし、パケットロスを回避できるのですね。

一方、パケットベースのロードバランシング(パケットスプレー)は、同一フローの個々のパケットを複数の等コストパスに分散させる手法じゃ。

RoCEv2では、パケットの順序が保証されないとRDMAオペレーションが中断され、パフォーマンスが低下する可能性があるとのことですが、どうすれば良いのでしょうか?

NVIDIAのConnectX-5以降のRDMA NICは、すべてのパケットにRETHヘッダーを含めるRDMA Write Onlyオペレーションをサポートしているのじゃ。これにより、ネットワークファブリックはパケット順序を気にせずに個々のパケットを異なるパスに転送できるのじゃ。

なるほど。各パケットが完全なメモリアドレス情報を含むため、トラフィックをより均等に分散し、ホットスポットを回避し、キューイング遅延を削減できるのですね。

Cisco Nexusスイッチも、NX-OS Release 10.5(1)F以降でDLB(Dynamic Load Balancing)をサポートしているらしいぞ。DLBを有効にすると、出力QoSおよびアクセスポリシーはDLBを使用するフローには適用されない点は注意が必要じゃ。

DLB MACアドレスは仮想ネクストホップMACアドレスとして機能し、物理パスからMACを分離するのですね。AIバックエンドネットワークのパフォーマンス向上に役立ちそうですね。

そうじゃな。しかし、DLBを有効にするとQoSが適用されないから、そこはトレードオフじゃな。ところでロボ子、ロードバランシングって、まるでダイエットみたいじゃな。トラフィックを均等に分散して、ネットワークをスリムにするのじゃ!

確かにそうですね、博士。でも、ダイエットと違って、ネットワークは食べ過ぎで太るわけではないですからね…。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。