Cool Chips XVでは10PFlopsを達成して2011年11月のTop500で1位となった日本のスーパーコンピュータ(スパコン)「京」の計算ノード間をつなぐTofuインタコネクトについて富士通の安島雄一郎氏の基調講演が行われた。
京スパコンは、Tofuという独自の6次元メッシュトーラスというインタコネクトで計算ノード間を接続している。安島氏は、このインタコネクトを考案したチーフアーキテクトである。
Tofuの6次元はabc軸というローカルな次元と、システム全体を接続するXYZ軸からなっている。そのabc軸の接続は次の図のようになっており、a、c軸は2つの計算ノードを接続するメッシュ、c軸は3つのノードのトーラス接続となっている。そして、このabc軸で接続された12ノードのグループを単位としてグローバルなXYZ軸の接続がなされている。
なお、この図では右下のノードだけにXYZ軸の接続が描かれているが、このXYZの腕は12個すべてのノードから出ている。
計算ノードは、SPARC64 VIIIfx(京スパコン)、あるいはSPARV64 IXfx(富士通の商用のFX10スパコン) CPUとTofuインタコネクトを構成するICCチップとメモリDIMMからなり、システムボードには4つの計算ノードが搭載されている。
そして、次の図のように、a軸とc軸の接続は1枚のシステムボード内のICCチップ間の接続で実現されている。また、c軸の接続は、3枚のシステムボードをバックプレーンで接続して実現されている。
Z軸の接続は、2筐体をペアとして16個の12ノードグループと1個の12 IOノードグループを一巡するように繋がれている。そして、筐体の列の横方向にX軸でループを作り、奥行方向をY軸でメッシュ接続するという形態になっている。
この講演では、Tofuインタコネクトに関して、色々と新しい情報が開示された。
このTofuチップの写真などは従来の発表にも含まれていたが、今回のスライドで初めてICCの消費電力が28Wであることが明らかにされた。SPARC64 VIIIfx CPUは58Wと発表されており、ICCの消費電力は、ほぼ、その半分とインタコネクトが消費している電力はかなり大きいことが判明した。ただし、SPARC64 IXfxではコア数を倍増しCPUの消費電力は110Wとなっているので、相対的にICCの消費電力の比率は小さくなっている。
また、この講演で、パケットがICCを通過する遅延時間が0.1μsであることが明らかにされた。
送信パケットがTNI(Tofu Network Interface)で組み立てられ、中間ノードに繰られる。中間ノードのTNR(Tofu Network Router)は宛先を見て、次のノード(この図では最終的な宛先)にパケットを送る。右端のノードは自分宛てのパケットであることを認識して受信し、送信元に応答パケットを送るという風に動作する。
CPUのメモリからデータを読み、パケットを組み立てて送り出すまでの時間は0.3μs、中間ノードを通過するのに必要な時間は0.1μsで、宛先ノードが自ノードのメモリにパケットを送る時間は0.2μsとなっている。
京スパコンではX方向24ノード、Y方向36ノード、Z方向17ノードであり、最長の経路は、ループになっているX、Z軸ではそれぞれ11ホップと7ホップ、メッシュのY軸では35ホップである。また、12ノードグループ内で最大3ホップを必要とする。仮に、この最も距離が離れたノード間でパケットを送ると、中間のノードの通過に5.6μs、これに送信と受信側での計0.5μsが加わり、トータルで6.1μsかかるという計算になる。もちろん、これは最悪のケースであり、平均的にはこの半分程度の時間となる。また、隣接通信が大部分というアプリケーションでは0.5μsで通信ができることになる。