読者です 読者をやめる 読者になる 読者になる

生物物理計算化学者の雛

主に科学に関する諸々を書き留めています。

CPU周波数上限の制御による消費電力「量」削減

Linux

先日の記事(CPU周波数上限の制御による消費電力低減)に「消費電力「量」が気になる」というコメントがありましたので、少し考えてみました。

なお計算実行中の消費電力は先日測定した消費電力最大値を取り続けると仮定して考えます。

計算実行時のみマシンを稼働させる場合


計算を行うときだけマシンを起動し、計算終了時にマシンをシャットダウンするとします。
この条件で、CPU周波数上限を変化させた場合の消費電力量が周波数制限時無しの場合を1としてどの程度になるのかを算出しました。

最低周波数1.6GHzの場合は消費電力量が18%増加とやや大きくなりましたが、その他の周波数ではほぼ変わらずという結果になりました。

常に起動しているマシン上で計算させる場合


次にサーバとして24時間起動しっぱなしのマシンで実行させる場合を考えます。
この場合は常にアイドル時の電力は消費し続けますので、そこに上乗せされる「追加消費電力量」を算出しました。

この場合は、周波数上限を下げれば下げるほど追加で消費される電力量が削減され、最低周波数の1.6GHz時には38%という大きな消費電力量の削減が実現されました。

消費電力の実測の上での検討が重要

今回測定したCore i7 940搭載マシンでは、計算実行時のみマシンを稼働させる条件では周波数上限を落としても計算に必要な消費電力量は大きく変わらなかった一方、常に起動している条件では大きな節電効果が得られました。
この挙動は「アイドル時の消費電力」と「CPU負荷によって上乗せされる消費電力」のバランスによって変わってきますので、消費電力量を抑えたいという目的であれば、実際にワットチェッカー等によって消費電力変化を測定しその上で周波数上限をどうセットするのかを考える必要があります。