太湖之光(TaihuLight)システム

太湖之光システムは、2個のSW 26010を搭載するカード、4枚のカードを搭載するボード、32枚のボードを収容するキャビネット、4台のキャビネットを収容する筐体という階層になっている。この筐体を40台並べて、システムを構成している。

010の形に並べられたTaihuLightの筐体。2つの0が計算ノード筐体で、中央の1はネットワークの筐体である (出典:Dongarraレポート)

40筐体×4キャビネット×32ボード×8ノード=40,960ノード(SW 26010チップ)で各チップが260コアであるので、全体では10,649,600コアと1000万コアを超える巨大システムである。ピーク演算能力は、40,960×3,062.4GFlops=125,435.904GFlops(125.4PFlops)となる。これで93PFlopsのLINPACK性能をマークしているので、ピーク演算能力に対するLINPACK性能の比率は74.15%とアクセラレータを使ったシステムとしては高い比率を実現している。ちなみに、PEZY-SCnpチップを使うShoubuシステムでは、この比率は65.3%程度である。

1つのSW 26010は4つのDDR3-2133 DIMMに接続しているので、メモリバンド幅は136.51GBとなる。これが40,960ノード存在するので、総メモリバンド幅は5.5915PB/sである。125.4PFlopsの演算能力に対して5.5915PB/sのメモリバンド幅であるので約22.4Flop/Bという演算リッチ、あるいはメモリプアなシステムとなっている。また、メモリ容量は8GB×4×40960=1,310,720(1.3PB)となる。これはピーク演算性能が1/10の京コンピュータと同程度のメモリ容量であり、太湖之光は、大型スパコンとしては演算能力に対してメモリバンド幅やメモリ容量が小さい設計となっている。

簡素なコアの採用と相まって、メモリ容量も削減することは消費電力を減らす効果があると思われる。

システム全体は40台の筐体を接続するトップレベルのスイッチ(中央の直線に配置された筐体)があり、第2レベルのスイッチは筐体内の4台のスーパーノード(各256ノード)を接続し、第3レベルのスイッチはスーパーノード内の256ノードを接続する。このSunway Networkと呼ばれる第3レベルの接続は物理的にはPCI Express 3.0 を使用しているようである。

Dongarraレポートにはこの第3レベルのスイッチは256ノードをフルに接続すると書かれているが、256ノードを全対全で接続するのは物理的に難しそうである。実装を見ると1ボードに8ノード搭載であることから、8ノードのグループのスイッチと32ボードを接続するスイッチで構成されているのではないかと思われる。

上の図は40筐体を接続する最上位のネットワーク。下の図は、筐体内の4つのスーパーノードを繋ぐ第2レベルのネットワークと、スーパーノード内の256ノードを繋ぐ第3レベルのネットワーク (出典:Dongarraレポート)

このネットワークのバイセクションバンド幅は70TB/sとなっており、各筐体からのリンク1本のバンド幅は3.5TB/sと計算される。システムレベルのネットワークには14GB/sのバンド幅を持つMellanoxのInfiniBand LSIを使っていると見られている。物理的なリンクが14GB/sとするとキャビネットからのリンクには250リンクが並列に使われていると計算される。

LINPACKはそれほどメモリバンド幅を必要としない計算であるが、係数行列が疎な連立1次方程式を解くHPCGベンチマークでは、メモリバンド幅が律速になる。このHPCGでは、太湖之光システムではピーク演算性能の0.3%の性能しか得られていない。他のTOP500リストのシステムでは、HPCGの性能はピーク演算性能の1%から2%程度というシステムが多く、京コンピュータでは4.9%であることを考えると太湖之光システムはメモリバンド幅がネックになってHPCGのような処理では低い性能しか出ないと言える。しかし、ものは考えようで、太湖之光はコストに対するピークFlopsが高く、一定のコストで考えると、必ずしも割高ではないかもしれない。

11月にSalt Lake Cityで開催されるSCではGordon Bell賞の表彰が行われるが、その最終選考の候補論文が発表された。6件の候補論文の内の3件が、太湖之光で計算を行なった論文となったとのことである。この3件のGordon Bell候補論文は、気象、海洋の表面波を計算する流体計算、フェーズフィールドのシミュレーションなど、かならずしもメモリアクセスの割合が小さい問題ばかりではない。

データキャッシュもなく64KBのSPMだけ、32GBという小さいメインメモリが40,960個に分かれている状態でデータの移動をプログラムに記述する必要があるという、プログラミングが難しいと思われるシステムであるが、Gordon Bell候補の論文を3件も書けるだけのプログラムが作れる実用性があるということは、驚くべきことである。