京コンピュータのCPUは富士通の45nm半導体プロセスで作られ、22.7mm×22.6mmのチップに8個のCPUコアを搭載している。なお、富士通が先端のCMOS LSIを自社工場で製造したのはこのチップが最後で、これ以降は半導体チップの製造はTSMCに外注という形になっている。

図8が左がSPARC64 VIIIfx CPUのウェハで、右がCPUとICC(ネットワークを構成するLSI)をそれぞれ4チップ搭載するシステムボードである。CPUとICCは銅の水冷ブロックが付けられており、これらのLSIは水冷となっている。

水冷により、これらのチップは30℃程度に冷却されており、LSIのリーク電流が減少して消費電力が小さくなっており、かつ、シリコンチップの温度が下がることにより、LSIの故障率が減少するというメリットがある。

  • SPARC64 VIIIfx
  • SPARC64 VIIIfx
  • 図8 SPARC64 VIIIfxのウェハ(左)と、4個のCPUと4個のICCチップを搭載したシステムボード(右)

京コンピュータの計算ノードは、図9に示すように、ICCチップにより6次元のメッシュ・トーラスというトポロジに接続されている。X-Y-Z-a-b-cと呼ぶ6次元であるが、a軸は2ノード接続、b軸は3ノード接続、c軸は2ノード接続と小さいサイズのローカルな次元であり、このa-b-c軸で接続された12ノードが全体的なネットワーク接続を行う単位となる。

  • 6次元のメッシュ・トーラス・トポロジ

    図9 12計算ノードの接続。黒がa軸、緑がb軸、青がc軸の接続

そして、各計算ノードはa-b-c軸接続の腕に加えてX-Y-Z軸の+/-方向の6本の腕を持っており、これらの腕でX、Y、Z方向に隣接する12ノードのグループの対応する位置の計算ノードに接続する。なお、この図では右下の1つのノードのXYZの腕だけを描いているが、12ノードそれぞれにXYZで計6本の腕があり、隣接する12ノードグループ間には12本の接続ができる。

京コンピュータではX軸とZ軸はループとなるトーラス接続であるが、Y軸はループにならないメッシュ接続になっており、全体としてはX、Z、bはトーラス、Y、a、cはメッシュという接続になっている。

このように物理的な接続は3次元がメッシュ、3次元がトーラスという接続であるが、ユーザには3次元の各軸がループとなるトーラス構造を提供するという使い方をする。物理的な接続が3次元トーラスであると、システム全体を1人で使う場合には3次元トーラスとなるが、システムを分割して複数のユーザで使う場合には、分割した面では接続が切れてメッシュ接続になってしまい各ユーザの使用する部分は3次元トーラスにならない。

このため、Tofuインタコネクトではa-b-c軸を使って、分割面で折り返してループとなる接続を実現し、システムを分割して使用する場合にも、ユーザには3次元トーラス構造を提供することができるようになっている。このようにすると、ユーザは3次元トーラスであることを前提としてプログラムを作れば良いことになる。また、a-b-c軸を使うことにより故障ノードを切り離して運用を続けたり、故障ノードを含む面を切り離して修理し、修理が終わったら組み込むということができるようになる。

(次回は2月4日の掲載予定です)