国立情報学研究所 河野隆太特任助教
スパコンの内部ネットワークで「ランダムネットワークを使うためのルーティング」について研究しています。
ランダムネットワークについては、先行研究として、ノード間を不規則に接続したノード上で情報を伝達する場合、規則的なネットワークよりも遅延を削減できるという性質が見いだされています。また、接続の長さ(ケーブル長)を一定以下に制限しても低遅延性を維持できるという特徴もわかっています。
しかし、ランダムネットワークを実際に使ってスパコンの性能を高めるためには、(1)通信パケットの経路を決定するルーティングで宛先情報が膨大になるためコンパクト化、(2)通信でいう輻輳に似たデッドロック、ライブロック(ループ)が発生する可能性があるためその防止と、大きく2つの問題を解決する必要があると考えています。
コンパクト化について、まず現行のスパコンは、多数のノードを利用して並列性を高めることで高い計算性能を達成しています。このため、基本的には多数のラックから構成されるような「巨大」なものになっています。
そうなると、どうしてもラック間の接続が物理的に長くなってしまい、大きな遅延が発生します。
理研の富岳は、1つのラックに最大384ノード(384CPU)があり、全体で432ラック、
158,976ノードを持つ(一部192ノードのラックがある)。
ノード間の接続が約20万本、その半数がラック間を接続する光ケーブルで総延長は900kmになる
ここで用語をおさらいすると、ルーティングとは、宛先から適切と思えるリンクを選択するアルゴリズムです。ルーティングテーブルとは、宛先と送出するリンクを組みにした表形式の情報です。
現状、スパコン内の接続には、規則的なネットワークが使われています。接続を規則的にすることで、ルーティングが簡単になり、個々のノードがすべての宛先の情報を持つ必要がないからです。膨大な宛先があったとしても、規則から簡単に選択すべきリンクを計算することができます。
それに対し、ランダムなネットワークでは、ノードの接続先を近隣に限らず、ランダムに選択します。このとき、ケーブル長など接続の長さを制限しても、低遅延性を失わずにすみます。これは、現実のラック間接続では有利な特徴です。
しかし、ランダムネットワークと言っても完全にランダムだと様々な問題が生じます。例えば経路選択に規則がないため、そのままではルーティングテーブルにすべての宛先情報が必要になります。スパコンでは、現在でも数十万程度のノードがあり、今後も増え続けると考えられるため、すべての情報を持つことは困難です。
そこで、ルーティングテーブルを自分自身と物理的に近い(たとえば自分の周囲の8個)ノード用の「近隣」情報と、一定ホップ数以内にあるが近隣ではない「目印」ノードへの「遠方」情報の2種類で持つことにします。
宛先が近隣ではないときには、宛先に近い目印ノードを選んで、そこに向かうリンクにパケットを転送します。これを繰り返すことで、最終的に宛先ノードに到達するわけです。このやり方だと、個々のノードで他のすべてのノードへの情報を持たなくてもいいので、ルーティングテーブルを小さくすることができます。