Green500では理化学研究所(理研)の「Shoubu system B(菖蒲システムB)」が前回に続いて1位となった。と言うと、より電力効率の良いシステムが出てこなかったので、2018年6月の菖蒲システムBが1位で残ったという感じを持つが、実は、菖蒲システムBは、今回の1位を獲得するために色々と変更が行われている。
Green500のBoFでは、1位のシステムは受賞講演の時間が取られており、今回は、ExaScalarの鳥居淳CTOとPEZY Computingの坂本亮シニアエンジニアの2人が分担して講演を行った。実は筆者は並行して開催されたDeep500 BoFに出席し、Green500 BoFには出席できなかったのであるが、その後、2人の発表者にインタビューしてこのレポートを書いている。
菖蒲システムBが前回から変わっているのには、大きく分けて2つ理由がある。1つは、Green500のリストに載るためには、システムとしてTop500のリストに載っていることが必要であるという点である。
前回の6月の時点での菖蒲システムBは、HPL性能が857.6TFlopsで、Top500の360位であった。しかし、今回の2018年11月のTop500リストでは500位のシステムの性能は874.8TFlopsとなっている。
つまり、前回のままの菖蒲システムBであれば、Top500の500位落ちで足切りにあってしまい、いくら性能/電力が高くてもGreen500のランキング対象にならない。このため、前回測定の時のシステム規模は50ノードであったが、今回は60ノードとハードウェアをエンハンスしている。その結果、HPL性能は1.0633PFlopsとなり、足切りをクリアしてTop500の376位を確保している。
なお、各ノードのCPUメモリが6月には32GBであったのが、今回は64GBに増えている。これは、性能を上げるためにはより大きなサイズの行列を使って計算する必要があり、前回は138万8800元の行列であったが、今回は190万4640元の行列を使っている。この大きな行列を格納するには32GBのメインメモリでは不足になったのでメモリを増設して64GBとなっている。
Green500では、HPL性能に加えて、その測定を行っている時のシステムの消費電力を測定する必要がある。ラックが何10本もある大規模システムで、全部のサーバの電力を測定することは容易ではないので、Green500では、レベル1~3という3種類の電力測定法を定めている。
レベル1 | レベル2 | レベル3 | |
---|---|---|---|
測定対象 | 計算ノードとネットワーク | 計算ノード。その他の部分は推定 | すべてのコンポーネント |
測定する計算ノード比率 | 1/10以上、かつ15ノード以上で10kW以上 | 1/8以上、かつ10kW以上 | システム全体 |
測定法 | サンプル測定した電力値の平均 | サンプル測定した電力値の平均 | エネルギー値の積分 |
これまで、ExaScalarは、もっとも簡易なレベル1という方法で電力の測定を行ってきていたのであるが、スイスのPiz Daintは早くから最も精度の高いレベル3測定を行ない、わが国でも東大のReed-Bushがレベル3測定を行うなど、より精度の高い測定法に移行してきている。このため、ExaScalar社は、6月の講演の時に、次はレベル2か3の測定を行うと宣言しており、その約束を果たす必要があった。
ちょっと話が横にそれるが、Green500ではOptimizedという測定も認めている。Optimizedの場合は、クロックと電源電圧を下げて、性能は下がるが性能/電力が最高になる条件での測定値を提出することができる。
実は今回のGreen500の2位~4位のシステムはOptimized測定である。2位のSaturn V VoltaはOptimized測定では15.133GFlops/Wであるが、Top500の測定条件では11.031GFlops/Wである。同様に、3位のABCIは12.054GFlops/W、4位のTSUBAME3.0は10.258GFlops/Wである。これらと比べると、Top500の測定条件で17.604GFlops/Wを出している菖蒲システムBのエネルギー効率はGreen500の表で見るよりも高いものがある。
また、5位になったSugonのHKVDPSystemというスパコンも注目に値する。GPUなどのアクセラレータを使わずXeon E5-2620v4 CPUだけで、Top500の測定条件で13.02GFlops/Wをたたき出している。Green500のリストを見るとごく普通のXeonサーバのようであるが、なぜ、このように高い性能/電力となるのか不明である。SugonはSC18の展示で沸騰冷却の浸漬液冷のNebulaというマシンを展示しており、詳細情報は無いのであるが、このシステムでも浸漬液冷が使われているのかもしれない。
次の図は菖蒲システムBの電源と冷却系に着目したブロック図であるが、以前のレベル1測定では、星印のように、一部の計算ノードの電力とインタコネクトの電力を測定していた。これでもレベル1測定の要件は満たしているのであるが、絶縁性液体を循環させる冷却ポンプの電力やコントロールパネルなどの消費電力は測定値に含まれていない。また、一部の計算ノードだけを測定して、全体の電力を比例で推定するので、ここでも幾ばくかの誤差が入るなどの問題がある。
それに対して、今回のレベル3測定では、コンピュートノードの電力はおおもとのHVDCの入力で測定し、それ以外の電力はコントロールパネルへの三相200Vの入力で測定しているので、漏れている部分はなく、図で見ると、むしろレベル1より測定しやすそうである。しかし、DC電力の測定は容易であるが、三相交流の場合は3つのクランプセンサが必要になり高くつくという。
実際の電力の測定は、次に示す写真のように、給電のケーブルをオレンジ色のクランプ型のセンサーで挟んで測定している。
この構成で測定してみると、次の図に示すように、計算ノード側は55.6kW、それ以外のコントロールパネル側(サブシステム)の電力が6.4kWになった。
それでサブシステム側を詳しく調べてみると、フロントエンドは0.2kWであるが、冷却ポンプが6.2kWを消費していることが分かった。
そこでポンプの電力を最適化するため、モーターの回転速度を調節するVVVF(インバータ)を取り付けた。
当初は冷媒の温度は20℃程度であったが、ポンプの回転を落として液温が35℃程度になるようにすると、ポンプの電力は0.5kWと大幅に減少した。これは、元々の電力推定が過大で大きすぎるポンプを選んでしまったことが原因であるという。なお、液温を35℃に上げたことでLSIのリーク電流が増え、消費電力が増えたが、ポンプ電力の減少の方がずっと多く、全体では得であるという。
この状態で測定を行うと、HPLの性能測定を行っている状態での消費電力は60.44kWとなった。そしてHPL性能は1063305GFlopsであり、性能/電力は17.6GFlops/Wとなった。
菖蒲システムB単体のPUE(冷却などを含めた全消費電力をサーバなどの情報処理機器だけの消費電力で割ったPower Usage Effectiveness)は、1.01程度と非常に小さい値であるが、理研のデータセンターに設置された状態でのPUEは1.2程度と推定されるという。
PUEを出してほしいという要望があり、この値を出したとのことであるが、PUEはデータセンターの冷却のエネルギー効率を示すもので、スパコンシステムの性能の指標ではない。産業技術総合研究所のABCIのように専用のデータセンターで1台のスパコンしか設置されていない場合は、ある程度の意味はあるが、空調を北斎などの複数のシステムと共有する理研の和光本所の計算センターのような環境で、個別のスパコンシステムのPUEを出すことは意味がない。
ExaScalerの最大規模のスパコンであるGyoukouを用いて、水の分子動力学シミュレーションでは3.8PFlopsの性能、土星の環のシミュレーションでは10.6PFlopsなど、実用的な意味のある計算が行われている。その意味では、Gyoukouが海洋開発研究機構から撤去されてしまったのは残念である。
まとめであるが、菖蒲システムBのような100kW以下の電力のマシンでのレベル3測定は、それほど難しくなかったという。ただし、Green500の測定ルールの解釈ではわからない点があり、Reed-Bushでレベル3測定を行った東大の塙敏博先生に相談したりして測定を進めたという。
また、VVVFを使わない場合は、冷却ポンプの消費電力が過大であることが分かったのは大きな助けとなった。
そして、ExaScaler、PEZYはもっとも電力効率の高いスパコンの開発を止めることはなく、7nmプロセスを使うPEZY-SC3プロセサも近く完成すると発表した。