LRZのSuperMUCのTUE計算

ドイツのLeibniz Rechen Zentrum(LRZ)のSuperMUCはIBMのiDataplexスパコンで、HPL性能2.897PFlopsでTop500 10位のスパコンである。

SuperMUCでは、電力会社からの入力であるa+bは電力計があり、値を把握できる。そしてPDUの効率c/dもIBMのPDUからその値が得られる。また、キャビネット内の電源ユニットPSUのAC入力gとDC出力hも値が読めるようになっている。

SuperMUCでは、a+b、c/d、g、hは測定が可能で、iも推定が可能となっている

問題はCPUやメモリに供給される電力iであるが、実はIntelの第4世代Xeon(Ivy Bridge)ではCPUチップの電力やメモリの電力を読むメカニズムが入っている。

Ivy BridgeではTurbo Boostを強化し、CPUとGPU間での電力余裕のやり取りやパッケージの熱容量を利用して短時間ならクロックを上げるという制御を行っている。このため、チップの消費エネルギーをリアルタイムに把握し、チップの温度が制限範囲内に収まるようにクロック周波数などを制御するRAPL(Running Average Power Limit)機構を持っている。つまり、チップ内に消費エネルギーを計算するメカニズムを持っており、このメカニズムが算出した消費エネルギー値をMSRレジスタから読むことができる。

ただし、このメカニズムは電源電流と電源電圧を計測するものではなく、CPUの主要なユニットごとに動作した場合の消費エネルギー値を計算しておき、それらのユニットの動作に応じて消費エネルギー値を累積加算していくという方法で求められているといわれる。この計算がどの程度の精度を持っているのかは公表されていない。従って、iの値は測定値ではなく、推定値である。

次の図は、Ivy BridgeのRAPL機構から読み取った消費電力を示したもので、空冷のノード1とノード2では、CPU(2チップ分)電力は155.7Wと157.4Wで、8枚の16GB DIMMの電力は46.2Wと42.9Wとなっている。一方、ノード3はDIMMを16枚搭載しており、CPUの電力は167.6W、メモリの電力は86.3Wとなっている。

一方、PSUのDC出力は368W、363W、403Wとなっているので、この差の161.1W、162.7W、149.1WがHDDやPCIExpressのNICなどの電力とVRMによるロスということになる。

SuperMUCでのCPU、メモリ電力読み取りの例。空冷のiDataplexノードのCPUの電力は160W程度。メモリはDIMM 8枚では40Wあまりで、16枚では86W

温水冷却のCnode1~3はCPUが163.6~165WでPSUのDC出力は253W~255Wである。4GB DIMM 8枚とDIMMが少なく、HDDが付いていないのでCPU以外の部分の消費電力は少ない。このように、SuperMUCではCPUやメモリの消費電力の推定値が読めることが確認された。

次のグラフはSuperMUCのPUEを100日あまりの期間にわたってプロットしたものである。通常はPUE=1.2程度であるが、5箇所でPUEが大きく上昇している。これは保守期間で、一部の計算ノードを止めるためにIT機器の消費電力が減る。しかし、温水冷却などのデータセンターとしてのオーバヘッドはほとんど減らないので、結果としてPUEが上がってしまう。これと同じことは、インターネットデータセンターで、負荷が低いので処理を集約して空いたサーバをオフにするという場合にも発生する。空いたサーバをオフにするのは、無駄な電力を減らす省エネであるが、PUEが上がって、エネルギー効率が悪くなったように見えてしまう。

Green500はHPLという決められたワークロードを処理する状態でのエネルギー効率を求めているが、PUEやTUEはワークロードを規定していないので、このような問題が起こる。しかし、大規模データセンターに1年間、(本来の仕事をしないで)規定のワークロードを実行してエネルギー効率を測れとは言えないので、難しいところである。

TUEという考え方はIT機器のキャビネット内のロスに目を向けさせるという点では、非常に良いアプローチである。しかし、SuperMUCについて言えば、これらのオーバヘッドの量は分かっており、TUEを測定することで新たな知見が得られるわけではないという。

TUEはノード内部のオーバヘッドを明らかにするというのは非常に良いが、SuperMUCではすでにこれらのオーバヘッドを把握しているので、測定によって新たな知見が得られるわけではない。また、TUEの測定は可能ではあるが、容易ではない

Ivy BridgeチップのRAPLカウンタを読むことにより、CPUやメモリの電力の推定値が得られるが、このカウンタやIBM機器が与えるPSUのAC入力、DC出力の電力値の精度は不明で、大量の校正されていないデータから、どのようにして信頼できる電力値を求めるかという問題があり、TUEを求めることは容易ではないという結論である。

電力効率測定の問題点

TUEは本当に処理に必要なCPU、メモリ、ディスクなどが必要とする電力とそれ以外の電力を明らかにするという意味では重要である。また、ITUEという考え方で、サーバ筐体内の電力ロスに目を向けさせ、スパコンやサーバの設計の方向性を示すという意味でも意義がある。しかし、CPU、メモリ、ディスク、ネットワークLSIなどの電力を直接測定する方法は存在せず、RAPLカウンタを使う方法も、その機能を持つ一部のCPUチップに限られる、精度の保証がないなどの問題がある。

また、PUEやITUEは年間の電気代が最大の関心事である。しかし、巨大データセンターを1年間占有して規定されたワークロードを実行して測定することは経済的に不可能で、データセンターの実運用の状態でのエネルギー消費を測定せざるを得ない。このため、実行するワークロードによりPUEやITUEの値が影響されてしまうという問題がある。従って、CPUやメモリが消費した電力ではなく、ワークロードを規定して処理された仕事量を分母とすべきではないかという考え方もある。

一方、Green500は、処理された仕事量を分母として、データセンター全体の消費電力を分子とする方向に向かっているが、仕事量がHPLというスパコン分野でも過去のものとなろうとしている負荷に基づいている点が問題である。また、外気温の違いをどう補正するのかという問題もある。

このように、スパコンセンターや大規模データセンターで、どのような効率指標が適当かについては、まだまだ、検討が必要な状況ではないかと思われる。