計算性能を競うTop500にランキングされたスパコンの中で、消費電力1Wあたりどれだけの計算ができるかを競うGreen500において、日本のベンチャー企業であるExaScalerとPEZY Computingにより理化学研究所(理研)和光本所の情報基盤センターに設置された「Shoubu(菖蒲) System B」が1位、高エネルギー加速器研究機構(KEK)に設置した「Suiren(睡蓮)」2が2位、PEZYの社内設置の「Sakura(桜)」が3位となり、1位から3位までを独占した。また、海洋開発研究機構(JAMSTEC)に設置した「Gyoukou(暁光)スパコン」が、計算性能を競うTop500で4位、Green500でも5位にランクされた。
なお、PEZYグループは、2015年6月にも1位から3位までの独占を果たしており、このところ毎回、上位に顔を出しているGreen500上位の常連である。
これまではGreen500の表彰はGreen500 BoFの場で行われ、3位までが表彰されていた。それでPEZYとExaScalerの若いエンジニア達は、1位表彰で登壇するのは齊藤社長などのお偉方だが、2位、3位の表彰には壇上に上げて貰おうと期待していたのであるが、今年の表彰はTop500 BoFで行われて1位だけの表彰になり、その機会がなくなってしまった。
そこで、Wu Feng教授にお願いしてExaScalerの展示ブースにおいで戴き、SC17の展示員全員で撮ったのが次の写真である。
高性能/低電力を実現したZettaScaler-2.2
このような高い性能/電力値を達成したPEZYグループの「ZettaScaler-2.2」というスパコンはどのようなものであるのかを、SC17での同社の展示や、PEZYの齊藤社長のGreen500トップの受賞講演から見ていこう。
同社のスパコンが高性能、低電力なのは、自社開発の2048個のプロセサコアを集積したPEZY-SC2チップの貢献が大きい。NVIDIAのGPUでは、もっと多数のCUDAコアを集積しているが、32個のCUDAコアが同じ命令を実行するSIMT(Single Instruction Multi-Thread)という構造となっている。それに対して、PEZYのプロセサは、各コアが異なる命令を実行できるMIMD(Multiple-Instruction Multiple-Data)という構造になっている。一般的にはMIMDの方が命令実行の自由度が高いという特徴がある。ただし、Top500とGreen500の性能測定に使われるHPLというプログラムの実行に関しては、この差はあまりで影響しないと思われる。
2015年の1~3位独占の時には、PEZY-SCという28nmプロセスを使う1024コアのプロセサであったが、今回は、16nmプロセスで2048コアを集積するPEZY-SC2プロセサを使っている。
なお、PEZY-SC2チップには2048コアが集積されているが、少数の不良コアを許容して歩留まりを改善するため、使用するコアは1984コアとしている。
次の図はPEZY-SC2の構造を示すものである。右上の図に示すように、PEと呼ばれるプロセサは8個のスレッドを実行するプロセサであり、8個のプログラムカウンタ、4KBの命令キャッシュ、2KBのデータキャッシュを持つ。なお、8個のスレッドは4スレッドの2つの組にわけられ、2サイクルで交互に実行される。
演算器は64bitの倍精度積和演算器を4個備えている。レジスタは32bit長で、512ワードである。そして、32bit、5,120ワードのローカルメモリを持つ。
4つのPEのグループをビレッジと呼び、4つのビレッジのグループをシティーと呼ぶ。シティーには逆数などを計算するスペシャルファンクションユニットと32KBの2次命令キャッシュと64KBの2次データキャッシュが設けられている。
16個のシティーをまとめたものをプリフェクチャと呼ぶ。そして、PEZY-SC2チップには8個のプリフェクチャと16個の2560KBのLLC(ラストレベルキャッシュ)スライス、4チャネルのDDR4 DRAMインタフェースが集積されている。
また、このチップ全体の図の右側には、ハウスキーピングに使われる6個のMIPSコアと4個のx8のPCI Express 4.0のポートが描かれている。
次の写真はSC17で展示されていたパッケージされたPEZY-SC2チップを筆者が撮影したものである。中央の黒いチップがPEZY-SC2で、両側の金色のものは降圧変換器である。降圧変換器は、48V DC入力からチップに供給する0.7V程度の電圧を直接作ることができるVICOR社のModular Current Multiplierを使っている。
次の図の左側はm.2 SSDを搭載したCPUボードで、右側がPEZY-SC2を搭載したボードである。右側の黒い大きなフィンがつけられているのがPEZY-SC2チップである。しかし、このフィンは空冷用としては小さく、後述のようにフロリナートに浸漬して冷却するように設計されている。
ボードの左側に搭載されているのは4枚のDIMMで、4つのメモリチャネルに1枚ずつ接続されている。
次の図はブリックと呼ぶユニットのブロックダイヤであり、中央左側に縦方向に並んだ4個の青色ブロックはXeon D CPUで、中央右側の濃い青色ブロックはEDRのInfiniBandのインタフェースブロックである。中央部分にある合計12個のピンク色のブロックはPLX社のPEX9797 PCI Expressスイッチである。そして、上下に16個ずつ並んでいる黄緑色のブロックがPEZY-SC2チップである。
また、図の上下端にみられるように、4個のPEZY-SC2はPCI Expressでリング状に接続されている。なお、この図に描かれた接続は、すべて16レーンのPCIe3.0であり、ピークバンド幅は128GB/s ×2(双方向)となっている。
次の図のように、Shoubu System Bのブリックは4枚のPEZY-SC2ボードを搭載するスペースが8か所あり、32枚のPEZY-SC2ボードが収容できる。そして、右上の角のところは2枚のCPUボードと4枚の100Gbit/sで伝送するEDR InfiniBandアダプタが入る。
そして、次の図にみられるように、2台×8列の16個のブリックが液浸槽に収容される。液浸槽全体では512個のPEZY-SC2が搭載でき、ピーク演算性能は1.4PFlopsとなる。ただし、Shoubu System Bはフル実装ではなく、搭載されているPEZY-SC2チップは400個である。