Green500の電力測定はどうあるべきか

TSUBAME-KFCの電力のグラフに見られるように、HPLの全コアフェーズの平均電力は31.18kWであるが、Level 1で規定されているルールの範囲内で最小の電力は27.78kWである。あるいは、中央の80%の中の電力最大の1分間の電力は35kW程度で、ランキングには不利であるが、この値で登録を行ってもルールに従っている。

では、Green500のMFlops/W計算の分母となる電力はどのように求められるべきであろうか?

当初のGreen500では、メーカーの公称値を電力値として使っていた。電力を測定する環境が整っていない当時、Green500リストに多数のスパコンを載せるためにはやむをえない措置であるが、同一機種が同じMFlops/W値で連続するという、あまり、面白くないリストになっていた。

このため、電力を実測してMFlops/W値を求めるという方向へ転換するための努力が行われている。しかし、実測といっても簡単ではないので、Level 1、2、3と3つのレベルが設けられている。なお、電力測定のやり方についてはTop500やGreen500と協力してEE HPC WGというグループが規格化を行っている。

この規格ではLevel 1(まあまあ)、Level 2(良い)、Level 3(現状のベスト)の3レベルが規定されており、電力測定の粒度、実測するシステムの部分、どのサブシステムを測定対象に含めるか、どこで電力を測るかの4つの側面で各レベルの測定法を規定している。

2013年6月に4つの側面からL1、L2、L3の3つのレベルの電力測定法を規定した

電力測定の粒度の側面では、レベル1とレベル2は、測定期間の間、最低、毎秒1回瞬間電力を測り、平均値を取ればよい。一方、レベル3の場合は、連続的に消費エネルギーを積分することが求められる。

そして、レベル1ではHPLのコアフェーズの実行時間の中の中央の80%に含まれる20%の時間、あるいは1分間の長い方の時間だけの測定を行えばよいが、レベル2と3では、コアフェーズすべての実行時間にわたって測定を行うことが求められる。

L2、L3ではHPL実行のコア部分全体の測定が必要。L1では20%の時間だけ測定すればよい

実測するシステムの部分の側面では、レベル1はシステム全体の1/64以上、あるいは1kW以上の部分の測定を行えばよい。そして、測定した割合から比例計算でシステム全体の電力を計算する。レベル2ではシステム全体の1/8以上、あるいは10kW以上と実測する部分の割合が大きくなり、レベル3ではシステム全体の電力を実測することが求められる。

どのサブシステムまで測定に含めるかの側面では、ワークロードの実行に関わるすべての部分の電力を含めるというのが基本思想であるが、レベル1はコンピュートノードだけを測定すればよいことになっている。これは簡易であるが、インタコネクトの電力が含まれず、高めのMFlops/Wがでるという問題がある。レベル2では実行に使われるすべてのサブシステムの電力を含めることが求められるが、一部は推定値でも良いことになっている。レベル3では実行に関わる全サブシステムの電力を実測することが求められる。

ワークロードの処理に関わるすべてのコンポーネントを含むという思想で、筐体内部のプロセサ、メモリ、冷却、インタコネクトとログインノードなどを必ず含まなければならない

しかし、HPLを実行する場合は、ファイルシステムは使わないので、ファイルシステムを切り離して、その部分の電力は含まないというのは一般的に行われているし、この規定では、別筐体のインタコネクトのスイッチや、コンピュータルームの空調の電力はどう扱うかなど、どこまで含めるかは、クリアではない部分が残っている。

どこで電力を測るかの側面は、基本的にはデータセンタへの電力会社からの給電点での電力を出すことになっているが、レベル1の場合は、サーバ筐体などの入力で測定して、給電点からの電力ロスは推定値を使って補正しても良いことになっている。レベル2もほぼ同様であるが、給電ロスは推定値ではなく、少なくとも1つの電源に対して別途実測した値を用いる必要がある。レベル3になると給電点で実測するか、サーバ筐体の電力と給電ロスをHPL実行中に測定した値を用いる必要がある。

L3では筐体入力での消費エネルギーの積分とD、EあるいはF点の電力も測定して供給ロスを測定する必要がある

このように、レベル3では全システムについて、HPLのコア部分の実行中の消費エネルギーを積分して求めることが要求されており、電力測定としては最も信頼できる測定であるが、数10~数100ラックが並んでいるスパコンでは、この測定は、必ずしも簡単ではない。

Green500リストには500システムがランキングされているが、その中で、79システムはTop500に登録された性能と電力値を流用してGreen500側でリストに含めたもの、240システムはメーカーの公称値など測定に基づかない電力値を使っている。そして、測定を行った電力値を使っているシステムは181システムに留まっている。

その中でも、レベル2や3の測定値を登録しているのは、LLNLのSequoia25、ドイツのLRZのSuperMUC、マウイHPCCのRiptide、カナダのSherbrooke大のColosse、 インドのC-DACのPARAM Yuva - IIとスイスCSCSのPiz Daintの6システムだけであり、大部分の測定はレベル1という状況である。

しかし、精度の高いレベル2、3に移行しようとすると、Green500リストに値を登録できるシステム数が激減してしまい、データ数が少なくて意味の無いリストになってしまう恐れもあり、この辺の兼ね合いは難しいところである。