CHAPTER 2 AI向けのネットワークは、InfiniBandが最適!

前章で説明したとおり、AI基盤では、並列処理に強いこと、そして、高速なGPUに対して途切れなくデータを受け渡しできることが求められます。これらの要求を満たすネットワークが「InfiniBand」です。

InfiniBandは、スーパーコンピュータの分野で広く使われている技術です。現在のスパコンは、時には数万にも及ぶノードを接続する超並列アーキテクチャを採用し、大量のデータを使って演算処理します。このような大規模計算を支え、スパコン市場で高いシェアを誇るのがInfiniBandです。

InfiniBandは、超並列クラスタのスパコンで使われていたネットワーク技術なの。だから並列処理が多いAI基盤にぴったり!
どんな技術を使っているかは、下を見てくださいね。

データの転送をショートカットする「RDMA」

InfiniBand の通信方式では可能な限り遅延時間をなくすため、各サーバーのメモリ間をダイレクトに接続するRDMA通信が行われます。

通常の通信は、伝送するデータをOS上にコピーしてから通信を行いますが、RDMAでは送信元、送信先のHCAが各々のMemoryとCPUやKernelの領域にデータコピーを行わず直接通信を行います(ゼロコピー) 。これにより通信スピードを劇的に早める他、サーバーのCPUのリソースをほとんど使わずに通信するため、CPUリソースをアプリケーションの計算に有効に活用できます。

RemoteからDirectにMemoryにAccessするのがRDMA。
つまり、異なるサーバーのメモリを直結する技術なの。
超低レイテンシで、CPUリソースもほとんど使わないから、AI計算のスピードが劇的に速くなるわ!

ノード間を最短距離でデータ転送する「Fat Tree Non-Blocking」

InfiniBandでは、スイッチを2段構成にして、サーバーとの接続数と同じ数を上段のスイッチと接続するメッシュ構造の「Fat Tree Non-Blocking」構成が可能です。この構成により、通信同士が他の通信の妨げになることはありません。

1つのサブネットマネージャが各サーバー間までの最短経路情報を管理しており、各サーバーまでの経路が複数あったとしてループが発生することがありません。通信同士が別の通信を妨げないため、より高速な通信を実現します。

通信を速くするために、1つの通信が他の通信の妨げにならないようにケーブルを接続するのよ。
接続数は増えるけど、その効果は高いのよ!

ネットワークの障害や輻輳を回避する「SHIELD」と「Adaptive Routing」

通信が集中することによって輻輳が発生した場合、 輻輳を回避し最短経路に変更する機能が「Adaptive Routing」です。輻輳によるネットワーク遅延を抑えることが可能です。

また、ネットワークに障害が発生した場合に、自動的に障害が発生していないネットワークに切り替えて通信を継続する「SHIELD」も標準機能として備えています。

データ中心のアーキテクチャでは、ネットワークの問題はネットワークがすばやく自己解決することが必要なのよ!

サーバーの代わりにスイッチが計算を肩代わりする「SHARP」

InfiniBand ではサーバー間での通信を減らし、通信時間を短くすために一部の集合計算をスイッチで実施するSHARPという機能も持っています。

データの通信量を減らし、各ノードの計算負荷を下げます。

高度で大量な並列処理を行うAI計算では、スイッチにサーバーの処理を肩代わりさせれば、システム全体のパフォーマンスを劇的に向上するのよ。これはニュースです!