バッチスケジューラ連動型省電力ツールの開発と運用
原田 浩1

藤本 大輔2

蛯原 純2

實本 英之2

平野 光敏1

概要：東京大学情報基盤センターでは、ジョブスケジューラと連動し、ジョブ投入可能な計算ノードだけを起動し、ジョブが投入される予定の無い計算ノードを停止する省電力ツールを開発した。開発した省電力ツールを東京大学が HPCI に計算機資源として供出している GPU クラスタの運用に使用した。HPCIの実運用下で 5 日間の消費電力を計測したところ 21.61 ％の電力削減効果を得た。

1. はじめに下の４つと定義することとする。

• 停止

東京大学情報基盤センターでは、HPCI の計算資源とし電源断でプロセッサが動作していない状態。電源投入、て GPU クラスタ [1] を提供している。GPU クラスタにはIPMI のブートコマンド等でジョブ実行不可状態に遷いくつかの HPCI 課題が割り当てられているが、ユーザの利用率には変動があり、常に計算ノードにジョブが割り当移する。

• ジョブ実行不可

てられているとは限らない。低使用率のクラスタ計算機で電源が投入され計算機は動作しているが、ジョブスケは、ジョブを実行していないアイドル状態の計算ノードをジューラがジョブを投入できない状態。シャットダウ停止することによって消費電力量の削減が期待できる。そン中の場合は停止状態に遷移する。ブート中の場合は、こで、東京大学情報基盤センターでは、GPU クラスタがアイドル状態に遷移する。

ジョブスケジューラとして採用している GridEngine[2] と• アイドル連動し、アイドル状態の計算ノードを自動停止し、ジョブ計算機が正常動作し、ジョブスケジューラがジョブが投入された時だけ必要な数の計算ノードを自動起動する投入可能で、かつジョブが動作していない状態。計算ツール（以下、省電力ツール）を開発し、消費電力量の削ノードにジョブが投入されると、ジョブ実行状態に遷減を図ることとした。省電力ツールは、GridEngine 以外の移する。シャットダウンコマンド等を実行することで、スケジューラにも対応可能なように、GridEngine とは独立したプログラムとして実装することとした。省電力ツー
ルは、 qstat

等 GridEngine のコマンドを実行することでキューや計算ノードの状態を得ることができる。一方計ジョブ実行不可状態に遷移する。

• ジョブ実行
計算ノードがジョブを実行している状態。ジョブの実行が終了すると、アイドル状態に遷移する。

算ノードの停止・起動等の操作には IPMI を利用可能である。GridEngine や IPMI のコマンド実行が容易であること、プログラムの移植性・生産性を考慮して、省電力ツー
ルはシェルスクリプトによる実装とした。

2. 省電力ツールの設計と実装

2.1 GridEngine による計算ノードの状態遷移
GridEngine だけで GPU クラスタを運用した場合のノード計算機の状態遷移を図 1 に示す。計算ノードはシステム起動時のみ停止状態からジョブ実行不可状態をへてアイドル状態に遷移する。一旦アイドル状態に遷移した計算ノー

省電力ツールは、計算ノードをジョブ投入状況に応じてドは、 GridEngine によるジョブ投入時にジョブ実行状態適切に起動・停止することによって電力消費量の削減をに遷移し、ジョブの終了によって、アイドル状態へ遷移す狙ったツールである。計算ノードの起動・停止等の操作は、る。以後、計算ノードはシステム終了や障害が発生しないノード計算機の状態遷移ととらえることができる。省電力

限りアイドル状態とジョブ実行状態を交互に繰り返す。

ツールの設計・実装にあたって、計算ノードの状態を、以2.2 省電力ツールによる計算ノードの状態遷移
12

東京大学 情報システム部情報基盤課
東京大学 情報基盤センター

GridEngine に加え、省電力ツールによって GPU クラス

図 3

GPU クラスタ

2.3 省電力ツールによる状態遷移の実装
省電力ツールを実際に運用する GPU クラスタを図 3 お
図 1 計算ノードの状態遷移：GridEngine

よび表 1 に示す。GPU クラスタはログインノード 1 台、ジョブ管理ノード 2 台、計算ノード 32 台から構成されるクラスタ計算機である。全てのノードはぞれぞれ InfiniBandネットワークで接続されている。OS として CentOS5.8 を、ジョブスケジューラとして GridEngine を採用している。
ユーザは GridEngine を用いて計算ノードにジョブを投入・実行する。計算ノードは IPMI ポートを備えており、IPMIコマンドでの起動・停止等が可能である。
表 1
サーバ

ハードウェア構成
ログインノード 1 台
ジョブ管理ノード 2 台
計算ノード 32 台

CPUIntel Xeon X5670 2.93GHz × 2

メモリ

48GB(計算ノード総量 1536GB)(2 ソケット 12 コア)

図 2

計算ノードの状態遷移：省電力ツール

GPU

Tesla M2050

NIC

InfiniBand 4x QDRGPU クラスタ上での省電力ツールの実装について説明する。省電力ツールはポータビリティ、GridEngine 及びタを運用した場合の状態遷移を図 2 に示す。省電力ツー

IPMI コマンドの利用を考慮し、シェルスクリプトで実装

ルを用いた場合、計算ノードはジョブがキューに投入されした。省電力ツールは cron によって１分ごとに起動され、ない限り、停止状態を継続する。省電力ツールが実行待ち必要に応じて計算ノードを停止状態またはアイドル状態へのジョブを検知し、ジョブ割当可能な計算ノードが停止状遷移させる。省電力ツールの実装とは、図 2 に示した計算態の場合、省電力ツールは該当計算ノードを起動する。起ノードの状態遷移の実装に他ならない。各状態遷移ごとに、動された計算ノードは、ジョブ実行不可状態を経由して、GPU クラスタにおける省電力ツールの実装を説明する。

アイドル状態に遷移する。アイドル状態の計算ノードを検• 停止→ジョブ実行不可→アイドル

知した GridEngine は、ジョブを計算ノードに投入する。

省電力ツールは、GridEngine のコマンドを実行してジョブ投入された計算ノードは、ジョブ実行状態に遷移

キューに積まれたジョブと計算ノードの状態を調べし、ジョブの終了とともにアイドル状態に遷移する。省電る。実行待ちのジョブを検知し、ジョブ割当可能な力ツールは、アイドル状態の計算ノードに割り当てるジョノード計算機が停止状態なら、計算ノードを IPMI コブが無いと判断すると、計算ノードを停止させる。停止さマンドで起動する。起動された計算ノードはジョブ実せられた計算ノードは、ジョブ実行不可状態を経由して、行不可状態を経由して、アイドル状態に遷移する。起停止状態に遷移する。

動後、15 分以上経過してもアイドル状態に遷移しな

い計算ノードは、何らかの障害が発生していると見なし、IPMI コマンドで強制再起動する。

％である。主に以下の理由によるものであると考えられる。

• 常時稼働している計算ノードの存在• アイドル→ジョブ実行不可→停止

計算ノード全 32 台中 4 台を即座にジョブを実行でき

省電力ツールは 5 分以上アイドル状態が継続している

るように常時稼働していることにより、最大で 12.5計算ノードを検知し、キューに割当可能なジョブが無％の差が生じる。

いと判断した場合、計算ノードをシャットダウンする。

• 計算ノードのジョブ実行不可状態のノード時間積

シャットダウンされた計算ノードは、ジョブ実行不可

計算ノードの起動を開始してから GridEngine プロセ状態を経由して停止状態に遷移する。

スが立ち上がりジョブを実行できるようになるまでのGPU クラスタではデバッグ等の用途のために、計算ノー間、また、ジョブの実行が完了しアイドル状態となっ

ド 4 台はアイドル状態から停止させず、常時稼働させる。てから計算ノードを停止するまでの間は、ジョブが実常時稼働の計算ノード 4 台は図 1 と同様の状態遷移となる。

行されていないため、稼働率にのみ計上され利用率には計上されない。GPU クラスタで使用している計算

3. 消費電力測定

ノードでは、1 度のジョブ実行で合算して 10 分程度がGPU クラスタに省電力ツールを適用し、2013 年 10 月 21ジョブ実行不可状態に費やされる。

日 00:00:00 から 2013 年 10 月 25 日 23:59:59 の 5 日間、計表 3

測定結果のまとめ算ノードの消費電力を 1 分おきに計測した。計算ノードの稼働率消費電力は HP 社 iLO インタフェイスを用いて測定した。

利用率

計算ノードの状態ごとの消費電力は表 2 の通りである。

計算ノードの消費電力量

882.507KWh

計算ノードの削減電力量

243.30KWh

表 2 ノード計算機の消費電力
停止0W
ジョブ実行不可計算ノードの電力削減効果

68.32 ％56.47 ％21.61 ％

約 200W

アイドル約 200W

ジョブ実行

240〜450W

5. まとめと課題
アイドル状態の計算ノードを自動停止する省電力ツー

4. 評価

ルを開発し、GPU クラスタの実運用に用いた。利用率 50％程の実運用下で、計算ノードの電力使用量を 243KWh

各計算ノードの消費電力の測定結果から消費電力量を求（21.61 ％）削減することができた。計算ノードの起動・めたところ、測定期間中の全計算ノードの総消費電力量はシャットダウン時間を最適化することによりさらなる電882.507KWh であった。各計算ノードの消費電力の測定結力削減効果が期待できる。また計算ノードだけではなく、果から、消費電力が 1W 以上の計算ノードを稼働ノードとネットワーク装置、空調・冷却装置についても計算機の稼見なした場合の稼働率分布を図 4 に示す。横軸は時間、縦動状態・負荷に最適化させる事などで更なる電力削減の可軸は各計算ノードとした稼働率である。計算ノードの稼働能性がある。ジョブスケジューラと連動することにより計率は 68.32 ％であった。ジョブの実行履歴から同様に横軸算機資源の更なる消費電力削減の可能性を探っていきたい。

を時間、縦軸を各計算ノードとした利用率の分布図を図 5に示す。利用率は 56.47 ％である。

謝辞

本取り組みは文部科学省「HPCI の運用」の支援を受けている。

測定からアイドル状態の計算ノード１台の消費電力は約200W である。稼働率から停止状態の計算ノードのノード

参考文献

時間積を求めると 1214.208 ノード時間である。この値に[1]アイドル状態の消費電力を掛けることで、ツールによる電力削減量は 242.84KWh であることがわかった。測定期間中の計算ノードの総消費電力量が 882.507KWh であるか
ら、消費電力の削減率は 21.61 ％である。測定結果を表 3にまとめておく。
計算機運用では、さらに冷却・空調の電力削減効果を見込めるので、実際の電力削減効果は 242.84KWh 以上であると考えられる。
稼働率を利用率に近づけることができれば更なる電力削減が期待できる。本測定では稼働率と利用率の差は 11.85[2]

東 京 大 学 情 報 基 盤 セ ン タ ー, HPCI 関 連 サ ー ビ ス,
http://www.cc.u-tokyo.ac.jp/other/hpci/.
Grid Engine, http://gridscheduler.sourceforge.net.

図 4

稼働率の分布

図 5

利用率の分布