(57)【要約】【課題】情報処理装置の消費電力量を低減する。【解決手段】電源制御装置１２は、複数の制御対象ノードで実行されたジョブの運用実績情報２２に基づいて、複数の異なる基準空き期間候補毎に、制御対象ノードでジョブが未実行の状態である空き状態が、基準空き期間の間継続する状態の間隔の平均である平均間隔を算出し、かつ制御対象ノードの電源をオン状態としてから電源をオフ状態としない期間の最低値である最低起動期間、複数の異なる基準空き期間候補毎の平均間隔、及び制御対象ノードの空き状態での消費電力に基づいて制御対象ノードの所定期間内の削減電力量を算出する算出部３２と、制御対象ノードが空き状態である期間が、削減電力量が所定値以上となるように、基準空き期間候補に基づいて算出された基準空き期間以上である場合に、制御対象ノードの電源をオフ状態とする制御を行う制御部３４と、を含む。【選択図】図４
2018018446.tif 000002
【特許請求の範囲】
【請求項１】
複数の制御対象ノードと、
前記制御対象ノードで実行されたジョブの運用実績情報に基づいて、複数の異なる基準空き期間候補毎に、前記制御対象ノードでジョブが未実行の状態である空き状態が、基準空き期間の間継続する状態の間隔の平均である平均間隔を算出し、かつ前記制御対象ノードの電源をオン状態としてから電源をオフ状態としない期間の最低値である最低起動期間、前記複数の異なる基準空き期間候補毎の平均間隔、及び前記制御対象ノードの空き状態での消費電力に基づいて前記制御対象ノードの所定期間内の削減電力量を算出する算出部と、前記制御対象ノードが空き状態である期間が、前記削減電力量が所定値以上となるように、前記基準空き期間候補に基づいて算出された基準空き期間以上である場合に、該制御対象ノードの電源をオフ状態とする制御を行う制御部と、を含む電源制御装置と、
を含む並列処理装置。
【請求項２】
前記制御部は、前記制御対象ノードが空き状態である期間が、前記削減電力量が最大となる前記基準空き期間以上である場合に、該制御対象ノードの電源をオフ状態とする制御を行う、
請求項１に記載の並列処理装置。
【請求項３】
前記算出部は、前記複数の基準空き期間候補毎に算出した平均間隔を補間することによって、基準空き期間候補を入力とし、平均間隔を出力とした関数を算出し、算出した関数の入力値と出力値との合計値の所定倍数の値から前記最低起動期間と前記入力値との合計値を減算して得られた減算値が最小となる基準空き期間毎に前記削減電力量を算出し、
前記制御部は、前記制御対象ノードが空き状態である期間が、前記削減電力量が所定値以上となる前記基準空き期間以上である場合に、該制御対象ノードの電源をオフ状態とする制御を行う、
請求項１又は請求項２に記載の並列処理装置。
【請求項４】
コンピュータに、
複数の制御対象ノードで実行されたジョブの運用実績情報に基づいて、複数の異なる基準空き期間候補毎に、前記制御対象ノードでジョブが未実行の状態である空き状態が、基準空き期間の間継続する状態の間隔の平均である平均間隔を算出し、かつ前記制御対象ノードの電源をオン状態としてから電源をオフ状態としない期間の最低値である最低起動期間、前記複数の異なる基準空き期間候補毎の平均間隔、及び前記制御対象ノードの空き状態での消費電力に基づいて前記制御対象ノードの所定期間内の削減電力量を算出し、
前記制御対象ノードが空き状態である期間が、前記削減電力量が所定値以上となるように、前記基準空き期間候補に基づいて算出された基準空き期間以上である場合に、該制御対象ノードの電源をオフ状態とする制御を行う、
ことを含む処理を実行させる並列処理装置の電源制御プログラム。
【請求項５】
コンピュータに、
複数の制御対象ノードで実行されたジョブの運用実績情報に基づいて、複数の異なる基準空き期間候補毎に、前記制御対象ノードでジョブが未実行の状態である空き状態が、基準空き期間の間継続する状態の間隔の平均である平均間隔を算出し、かつ前記制御対象ノードの電源をオン状態としてから電源をオフ状態としない期間の最低値である最低起動期間、前記複数の異なる基準空き期間候補毎の平均間隔、及び前記制御対象ノードの空き状態での消費電力に基づいて前記制御対象ノードの所定期間内の削減電力量を算出し、
前記制御対象ノードが空き状態である期間が、前記削減電力量が所定値以上となるように、前記基準空き期間候補に基づいて算出された基準空き期間以上である場合に、該制御対象ノードの電源をオフ状態とする制御を行う、
ことを含む処理を実行させる並列処理装置の電源制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、並列処理装置、並列処理装置の電源制御プログラム、及び並列処理装置の電源制御方法に関する。
【背景技術】
【０００２】
従来、情報処理装置の電源オン及び電源オフが比較的短期間で繰り返し行われないようにするために、情報処理装置の電源オン及び電源オフの履歴情報を記憶する技術が知られている。この技術では、記憶した履歴情報に基づいて、情報処理装置の電源をオフ状態とする処理が行われた際に、該処理を一定時間保留する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−２９０５６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
情報処理装置の消費電力量を低減させるために、情報処理装置が一定期間以上空き状態である場合に、電源をオフ状態とすることが考えられる。なお、本明細書では、情報処理装置が空き状態であるとは、例えば、起動はしているが、所定の処理が実行される単位であるジョブが未実行の状態であり、電源をオフ状態としてもよい状態を意味する。また、以下では、上記一定期間、すなわち、情報処理装置が、この期間以上空き状態である場合に電源をオフ状態とする基準の期間を「基準空き期間」という。
【０００５】
また、情報処理装置の電源オン及び電源オフが比較的短期間で繰り返し行われないようにするために、前回に電源をオン状態としてから一定期間経過するまでは、情報処理装置が空き状態となっても電源をオフ状態としないことが考えられる。なお、以下では、上記一定期間、すなわち、情報処理装置が空き状態であっても、情報処理装置の電源をオン状態としてから電源をオフ状態としない期間の最低値である期間を「最低起動期間」という。
【０００６】
この場合、ジョブのスケジューリング状況によっては、基準空き期間の設定値に応じて情報処理装置の電源をオフ状態とする期間は変わる。すなわち、この場合、ジョブのスケジューリング状況によっては、基準空き期間の設定値に応じて情報処理装置の消費電力量の削減電力量は変わる。従って、基準空き期間を固定値とした場合、ジョブのスケジューリング状況によっては、基準空き期間を他の値とした場合よりも情報処理装置の消費電力量を低減できない場合がある。
【０００７】
開示の技術は、一つの側面として、情報処理装置の消費電力量を低減することを目的とする。
【課題を解決するための手段】
【０００８】
開示の技術は、一つの側面として、複数の制御対象ノードと、電源制御装置と、を含む。前記電源制御装置は、制御対象ノードで実行されたジョブの運用実績情報に基づいて、複数の異なる基準空き期間候補毎に、空き状態が、基準空き期間の間継続する状態の間隔の平均である平均間隔を算出する算出部を備える。この空き状態は、前記制御対象ノードでジョブが未実行の状態である。また、算出部は、最低起動期間、前記複数の異なる基準空き期間候補毎の平均間隔、及び前記制御対象ノードの空き状態での消費電力に基づいて前記制御対象ノードの所定期間内の削減電力量を算出する。この最低起動期間は、前記制御対象ノードの電源をオン状態としてから電源をオフ状態としない期間の最低値である。そして、前記電源制御装置は、前記制御対象ノードが空き状態である期間が、前記削減電力量が所定値以上となる平均間隔に対応する基準空き期間候補以上である場合に、該制御対象ノードの電源をオフ状態とする制御を行う制御部を備える。
【発明の効果】
【０００９】
一つの側面として、情報処理装置の消費電力量を低減することができる、という効果を有する。
【図面の簡単な説明】
【００１０】
【図１】各実施形態に係る電源制御システムの概略構成を示すブロック図である。
【図２】スケジューリング情報の一例を示す図である。
【図３】運用実績情報の一例を示す図である。
【図４】各実施形態に係る電源制御装置の機能ブロック図である。
【図５】待機電力情報の一例を示す図である。
【図６】基準空き期間の算出処理の一例を説明するための図である。
【図７】各実施形態に係る電源制御装置として機能するコンピュータの概略構成を示すブロック図である。
【図８】各実施形態に係る電源制御処理の一例を示すフローチャートである。
【図９】第１実施形態に係る基準空き期間算出処理の一例を示すフローチャートである。
【図１０】第２実施形態に係る基準空き期間算出処理の一例を示すフローチャートである。
【図１１】基準空き期間が異なることによる情報処理装置の電源状態の違いを説明するための図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、開示の技術に関する実施形態の例を詳細に説明する。
【００１２】
まず、実施形態の詳細を説明する前に、図１１を参照して、基準空き期間を固定値とした場合の問題点について説明する。なお、前述したように、「基準空き期間」は、この期間以上空き状態である場合に電源をオフ状態とする基準の期間を意味する。また、以下では、前述したように、情報処理装置が空き状態であっても、情報処理装置の電源をオン状態としてから電源をオフ状態としない期間の最低値である期間を「最低起動期間」という。
【００１３】
一例として図１１の上段に示すように、情報処理装置において、ジョブの実行時間が３０分間で、空き状態の期間が１０分と２０分とが繰り返される場合について説明する。なお、ここでは、一例として最低起動期間が６０分である場合について説明する。また、図１１の中段は基準空き期間を１０分とした場合の情報処理装置の電源状態を示し、図１１の下段は基準空き期間を２０分とした場合の情報処理装置の電源状態を示している。
【００１４】
図１１に示す例では、基準空き期間を２０分とした場合の方が基準空き期間を１０分とした場合よりも、情報処理装置の電源をオフ状態とする期間が長くなるため、情報処理装置の削減電力量が多くなる。
【００１５】
このように、基準空き期間を固定値とした場合、ジョブのスケジューリング状況によっては、基準空き期間を他の値とした場合よりも情報処理装置の消費電力量を低減できない場合がある。
【００１６】
［第１実施形態］
まず、図１を参照して、本実施形態に係る電源制御システム１０の構成を説明する。図１に示すように、電源制御システム１０は、電源制御装置１２、ジョブ管理装置１４、及び複数のノード１６を含む。そして、電源制御装置１２、ジョブ管理装置１４、及び各ノード１６は、ネットワーク１８を介して互いに通信可能に接続される。なお、本実施の形態では、一例として、各ノード１６は、比較的大規模な計算機システムを構成するノードであり、各ノード１６を用いて並列処理が実行される。
【００１７】
電源制御装置１２は、各ノード１６の電源をオフ状態とする制御、及びオン状態とする制御を行う。なお、電源制御装置１２の詳細については後述する。
【００１８】
ジョブ管理装置１４は、例えば、ジョブスケジューラプログラム等により、各ノード１６にジョブを実行させる制御を行う。ジョブ管理装置１４の所定の記憶領域には、ジョブのスケジューリングに関するスケジューリング情報２０、及びジョブの過去の運用実績に関する運用実績情報２２が記憶される。
【００１９】
図２に、スケジューリング情報２０の一例を示す。図２に示すように、スケジューリング情報２０としては、ジョブ名、ノード、日付、開始予定時刻、終了予定時刻、及びコマンド等が記憶される。
【００２０】
ジョブ名にはジョブの名称が記憶され、ノードにはジョブが実行されるノード１６の名称が記憶される。日付にはジョブが実行される日付が記憶され、開始予定時刻にはジョブの実行が開始される予定時刻が記憶される。終了予定時刻にはジョブの実行が終了する予定時刻が記憶され、コマンドにはジョブで実行されるコマンドが記憶される。
【００２１】
図３に、運用実績情報２２の一例を示す。図３に示すように、運用実績情報２２としては、ジョブ名、ノード、日付、開始時刻、及び終了時刻等が記憶される。
【００２２】
ジョブ名にはジョブの名称が記憶され、ノードにはジョブが実行されたノード１６の名称が記憶される。日付にはジョブが実行された日付が記憶され、開始時刻にはジョブの実行が開始された時刻が記憶される。終了時刻にはジョブの実行が終了した時刻が記憶される。
【００２３】
次に、図４を参照して、本実施形態に係る電源制御装置１２の機能的な構成を説明する。図４に示すように、電源制御装置１２は、取得部３０、算出部３２、及び制御部３４を含む。また、電源制御装置１２の所定の記憶領域には、待機電力情報４０及び基準空き期間候補情報４２が記憶される。
【００２４】
図５に、待機電力情報４０の一例を示す。図５に示すように、待機電力情報４０には、ノード１６毎に、空き状態での消費電力［Ｗ］が記憶される。なお、この消費電力としては、例えば、ノード１６が空き状態となっている状態で、Intel（登録商標）社の提供するPower Governor等を用いて予め測定した消費電力を記憶すればよい。
【００２５】
基準空き期間候補情報４２には、異なる複数の基準空き期間の候補が記憶される。本実施形態では、基準空き期間候補情報４２には、一例として、ｔｉ（ｉ＝１〜ｍの整数）＝［０．１、０．３、・・・］のように、配列の形式で異なる複数の基準空き期間ｔｉ［ｈ］が記憶される。
【００２６】
取得部３０は、ジョブ管理装置１４からスケジューリング情報２０及び運用実績情報２２を、ネットワーク１８を介して各々取得する。
【００２７】
算出部３２は、取得部３０により取得された運用実績情報２２、待機電力情報４０、及び基準空き期間候補情報４２に基づいて、ノード１６毎に、基準空き期間ｔを算出する。
【００２８】
まず、本実施形態では、算出部３２は、基準空き期間候補情報４２に記憶された各基準空き期間ｔｉについて、運用実績情報２２を解析することで、ノード１６毎に平均間隔ｔｉｎを算出する。この平均間隔ｔｉｎは、ノード１６の空き状態が、基準空き期間ｔｉの間継続する状態の間隔の平均を示す。
【００２９】
具体的には、算出部３２は、運用実績情報２２からジョブが実行されている期間、及びジョブが実行されていない、すなわちノード１６が空き状態である期間を特定する。そして、算出部３２は、各基準空き期間ｔｉについて、特定したノード１６が空き状態である期間のうち、隣り合う基準空き期間ｔｉ以上である期間同士の間隔の平均値を、平均間隔ｔｉｎとして算出する。例えば、ｔｉ＝０．１［ｈ］のときに、ｔｉｎ＝０．５［ｈ］と算出された場合は、ノード１６の空き状態が０．１時間以上継続する期間同士の間隔の平均値が、０．５時間であるということを示す。
【００３０】
また、算出部３２は、所定の期間Ｌ内の削減電力量ｅ［Ｗｈ］を、次の（１）式に従って算出する。なお、（１）式において、ｌは、（ｔｉ＋ｔｉｎ）の倍数のうち、（最低起動期間Ｔ＋ｔｉ）以上となる最小の値であり、ｐｉｄｌｅは、ノード１６の空き状態での消費電力である。また、期間Ｌは、運用ポリシー等に応じて定めればよい。また、最低起動期間Ｔは、ノード１６のハードウェア構成等に応じて定めればよい。
【００３１】
【数１】
2018018446.tif 000003
【００３２】
そして、算出部３２は、算出した削減電力量ｅが最大となる（すなわち、期間Ｌ内の消費電力量が最小となる）基準空き期間ｔｉを基準空き期間ｔとする。なお、算出部３２は、削減電力量ｅが最大となる基準空き期間ｔｉではなく、削減電力量ｅが所定値以上となる基準空き期間ｔｉの何れかを基準空き期間ｔとしてもよい。
【００３３】
ここで、一例として、ｔｉ（ｉ＝１、２）＝［０．１［ｈ］、０．３［ｈ］］であり、ｔ１ｎ＝０．５［ｈ］と算出され、ｔ２ｎ＝０．８［ｈ］と算出された場合について説明する。さらに、一例として、Ｔ＝１［ｈ］、Ｌ＝２４［ｈ］、ｐｉｄｌｅ＝１００［Ｗ］である場合について説明する。
【００３４】
この場合、（ｔ１＋ｔ１ｎ）は、０．６［ｈ］となり、（Ｔ＋ｔ１）は１．１［ｈ］となる。従って、ｔ１に対応するｌは１．２［ｈ］となる。これは、一例として図６（１）に示すように、ノード１６において、０．１時間の空き状態と次の０．１時間の空き状態との間隔が０．５時間である場合は、１．２時間毎に０．１時間の間、ノード１６の電源をオフ状態とすることが可能ということである。なお、図６（１）、（２）は、運用実績情報２２を解析して算出されたｔｉ、ｔｉｎで模式的に表したジョブ実行状態及びノード１６の電源状態を示している。また、図６（１）の上段はジョブが実行中であるか、又は空き状態（すなわち、ジョブが未実行）であるかを表すジョブ実行状態を示している。また、図６（１）の下段は、ノード１６の電源が、オフ状態であるか、オン状態で最低起動期間Ｔ内であるか、又はオン状態で最低起動期間Ｔ経過後であるかを表す電源状態を示している。
【００３５】
そして、ｔ１に対応するｅは、上記（１）式に従って、（２４／１．２）×０．１×１００＝２００［Ｗｈ］となる。
【００３６】
一方、（ｔ２＋ｔ２ｎ）は、１．１［ｈ］となり、（Ｔ＋ｔ２）は１．３［ｈ］となる。従って、ｔ２に対応するｌは２．２［ｈ］となる。これは、一例として図６（２）に示すように、ノード１６において、０．８時間の空き状態と次の０．８時間の空き状態との間隔が０．５時間である場合は、２．２時間毎に０．３時間の間、ノード１６の電源をオフ状態とすることが可能ということである。なお、図６（２）の上段及び下段は、図６（１）と同様に、ジョブ実行状態及び電源状態を示している。
【００３７】
そして、ｔ２に対応するｅは、上記（１）式に従って、（２４／２．２）×０．３×１００＝３２７（Ｗｈ）となる。
【００３８】
従って、この場合、算出部３２は、基準空き期間ｔを０．３［ｈ］と算出する。また、算出部３２は、１週間に１回等の定期的なタイミングで、基準空き期間ｔをノード１６毎に算出して更新する。これにより、ジョブのスケジューリング状況、及び運用ポリシー等に変更があった場合でも、基準空き期間ｔを適切な値に更新することができる。
【００３９】
制御部３４は、ノード１６が空き状態である期間が、算出部３２により算出された基準空き期間ｔ以上であり、かつ前回電源をオン状態としてからの経過期間が、最低起動期間Ｔを超える場合、ノード１６の電源をオフ状態とする制御を行う。例えば、制御部３４は、スケジューリング情報２０に基づいて、これからノード１６が空き状態である期間が基準空き期間ｔ以上であり、かつ前回電源をオン状態としてからの経過期間が、最低起動期間Ｔを超えるタイミングを特定する。そして、制御部３４は、特定したタイミングでノード１６を電源オフ状態とする処理が行われるように該処理の実行を予約する。さらに、制御部３４は、特定したタイミング以降で初めてジョブが実行されるタイミングでノード１６が起動されてジョブが実行可能となるように、ノード１６の電源をオン状態とする処理の実行を予約する。
【００４０】
なお、例えば、制御部３４は、運用実績情報２２及びスケジューリング情報２０に基づいて、現時点でノード１６が空き状態で、かつ前回電源をオン状態としてからの経過期間が最低起動期間Ｔを超える場合、以下に示すように処理を行ってもよい。すなわち、この場合で、かつ次に実行されるジョブの開始予定時刻までの期間が基準空き期間ｔ以上である場合、制御部３４は、ノード１６の電源をオフ状態とする制御を行ってもよい。さらに、この場合、制御部３４は、次にジョブが実行されるタイミングでノード１６が起動されてジョブが実行可能となるように、ノード１６の電源をオン状態とする処理の実行を予約する。
【００４１】
電源制御装置１２は、例えば図７に示すコンピュータ６０で実現することができる。コンピュータ６０は、Central Processing Unit（ＣＰＵ）６１、一時記憶領域としてのメモリ６２、及び不揮発性の記憶部６３を備える。また、コンピュータ６０は、表示装置及び入力装置等の入出力装置６４を備える。また、コンピュータ６０は、記録媒体６８に対するデータの読み込みと書き込みとを制御するＲｅａｄ／Ｗｒｉｔｅ（Ｒ／Ｗ）部６５、及びネットワークに接続されるネットワークＩ／Ｆ６６を備える。ＣＰＵ６１、メモリ６２、記憶部６３、入出力装置６４、Ｒ／Ｗ部６５、及びネットワークＩ／Ｆ６６は、バス６７を介して互いに接続される。
【００４２】
記憶部６３は、Hard Disk Drive（ＨＤＤ）、Solid State Drive（ＳＳＤ）、フラッシュメモリ等によって実現することができる。記憶媒体としての記憶部６３には、コンピュータ６０を電源制御装置１２として機能させるための電源制御プログラム７０が記憶される。電源制御プログラム７０は、取得プロセス７１、算出プロセス７２、及び制御プロセス７３を有する。また、記憶部６３は、待機電力情報４０及び基準空き期間候補情報４２が記憶される情報記憶領域７４を有する。
【００４３】
ＣＰＵ６１は、電源制御プログラム７０を記憶部６３から読み出してメモリ６２に展開し、電源制御プログラム７０が有するプロセスを実行する。ＣＰＵ６１は、取得プロセス７１を実行することで、図４に示す取得部３０として動作する。ＣＰＵ６１は、算出プロセス７２を実行することで、図４に示す算出部３２として動作する。ＣＰＵ６１は、制御プロセス７３を実行することで、図４に示す制御部３４として動作する。これにより、電源制御プログラム７０を実行したコンピュータ６０が、電源制御装置１２として機能することになる。
【００４４】
また、電源制御プログラム７０により実現される機能は、例えば半導体集積回路、より詳しくはApplication Specific Integrated Circuit（ＡＳＩＣ）等で実現することも可能である。
【００４５】
次に、本実施形態に係る電源制御装置１２の作用を説明する。電源制御装置１２が電源制御プログラム７０を実行することで、図８に示す電源制御処理を実行する。図８に示す電源制御処理は、例えば電源制御装置１２の電源がオン状態とされたタイミング等にＣＰＵ６１により実行される。
【００４６】
図８に示す電源制御処理のステップ１００で、制御部３４は、基準空き期間ｔの更新タイミングが到来したか否かを判定する。この判定が否定判定となった場合は、処理はステップ１０４に移行し、肯定判定となった場合は、処理はステップ１０２に移行する。本実施形態では、制御部３４は、例えば、一週間が経過する毎等の定期的なタイミングで基準空き期間ｔの更新タイミングが到来したと判定する。
【００４７】
次のステップ１０２で、図９に示す基準空き期間算出処理が実行された後、処理はステップ１０４に移行する。
【００４８】
図９に示す基準空き期間算出処理のステップ１４０で、取得部３０は、ジョブ管理装置１４から運用実績情報２２を取得する。以下のステップ１４２からステップ１５４までの処理は、全てのノード１６のうちの何れかのノード１６を処理対象として実行される。また、ステップ１４２からステップ１５４までの処理が繰り返し実行される際には、それまでに処理対象としていなかったノード１６を処理対象とする。
【００４９】
次のステップ１４２で、算出部３２は、削減電力量ｅの最大値を保持するための変数ｅ０に０を代入する。以下のステップ１４４からステップ１５２までの処理は、変数ｉの初期値を１とし、変数ｉがｍを超えるまで、すなわち、基準空き期間候補情報４２に記憶されている基準空き期間ｔｉの個数と同じ回数分、繰り返し実行される。
【００５０】
ステップ１４４で、算出部３２は、前述したように、ステップ１４０で取得された運用実績情報２２を解析することで、平均間隔ｔｉｎを算出する。次のステップ１４６で、算出部３２は、前述したように、上記（１）式に従って、削減電力量ｅを算出する。次のステップ１４８で、算出部３２は、ステップ１４６で算出された削減電力量ｅが変数ｅ０より大きいか否かを判定する。この判定が否定判定となった場合は、処理はステップ１５２に移行し、肯定判定となった場合は、処理はステップ１５０に移行する。
【００５１】
ステップ１５０で、算出部３２は、ステップ１４６で算出された削減電力量ｅが最大となった時の変数ｉを保持するための変数ｉｐに変数ｉの値を代入する。また、算出部３２は、変数ｅ０にステップ１４６で算出された削減電力量ｅを代入する。次のステップ１５２で、算出部３２は、変数ｉをインクリメントする。
【００５２】
ステップ１５４で、算出部３２は、基準空き期間候補情報４２の（変数ｉｐの値）番目の値である基準空き期間ｔｉｐを基準空き期間ｔとして、処理対象としたノード１６に対応付けて記憶部６３の所定の記憶領域に記憶する。次のステップ１５６で、算出部３２は、以上のステップ１４２からステップ１５４までの処理を全てのノード１６について実行したか否かを判定する。この判定が否定判定となった場合は、処理はステップ１４２に戻り、肯定判定となった場合は、本基準空き期間算出処理が終了する。本基準空き期間算出処理が終了すると、処理は上記電源制御処理のステップ１０４に移行する。
【００５３】
図８に示すステップ１０４で、制御部３４は、ノード１６の電源状態を制御するタイミングが到来したか否かを判定する。この判定が否定判定となった場合は、処理はステップ１００に戻り、肯定判定となった場合は、処理はステップ１０６に移行する。本実施形態では、制御部３４は、例えば、３時間が経過する毎等の定期的なタイミングでノード１６の電源状態を制御するタイミングが到来したと判定する。
【００５４】
ステップ１０６で、取得部３０は、ジョブ管理装置１４からスケジューリング情報２０を取得する。以下のステップ１０８からステップ１１８までの処理は、全てのノード１６のうちの何れかのノード１６を処理対象として実行される。また、ステップ１０８からステップ１１８までの処理が繰り返し実行される際には、それまでに処理対象としていなかったノード１６を処理対象とする。
【００５５】
次のステップ１０８で、制御部３４は、ステップ１０６で取得されたスケジューリング情報２０に基づいて、以下に示す処理を行う。すなわち、制御部３４は、スケジューリング情報２０に基づいて、現時点以降でノード１６が空き状態となる期間（以下、「空き状態期間」という）を特定する。以下のステップ１１０からステップ１１６までの処理は、本ステップ１０８で特定された全ての空き状態期間のうちの何れかの空き状態期間を処理対象として実行される。また、ステップ１１０からステップ１１６までの処理が繰り返し実行される際には、それまでに処理対象としていなかった空き状態期間を処理対象とする。
【００５６】
ステップ１１０で、制御部３４は、空き状態期間がステップ１０２で算出された基準空き期間ｔ以上であるか否かを判定する。この判定が否定判定となった場合は、処理はステップ１１８に移行し、肯定判定となった場合は、処理はステップ１１２に移行する。
【００５７】
ステップ１１２で、制御部３４は、直前にノード１６の電源をオン状態としてから空き状態期間までの経過期間が、最低起動期間Ｔを超えるか否かを判定する。この判定が否定判定となった場合は、処理はステップ１１８に移行し、肯定判定となった場合は、処理はステップ１１４に移行する。
【００５８】
ステップ１１４で、制御部３４は、空き状態期間の最初にノード１６の電源がオフ状態とされる処理が行われるように、該処理の実行を予約する。
【００５９】
次のステップ１１６で、制御部３４は、ステップ１１４の処理によってノード１６の電源がオフ状態とされるタイミング以降で初めてジョブが実行されるタイミングでノード１６が起動されてジョブが実行可能となるように、以下の処理を行う。すなわち、制御部３４は、上記初めてジョブが実行されるタイミングでノード１６が起動されてジョブが実行可能となるように、ノード１６を電源オン状態とする処理の実行を予約する。
【００６０】
次のステップ１１８で、制御部３４は、ステップ１０８で特定された全ての空き状態期間に対してステップ１１０からステップ１１６までの処理が完了したか否かを判定する。この判定が否定判定となった場合は、処理はステップ１１０に戻り、肯定判定となった場合は、処理はステップ１２０に移行する。
【００６１】
次のステップ１２０で、制御部３４は、全てのノード１６に対してステップ１０８からステップ１１８までの処理が完了したか否かを判定する。この判定が否定判定となった場合は、処理はステップ１０８に戻り、肯定判定となった場合は、処理はステップ１００に戻る。
【００６２】
以上説明したように、本実施形態によれば、運用実績情報２２に基づいて、複数の異なる基準空き時間ｔｉ毎に削減電力量ｅを算出する。そして、ノード１６の空き状態が、削減電力量ｅが最大となる基準空き期間ｔ以上である場合に、ノード１６の電源をオフ状態とする制御を行う。従って、ノード１６の消費電力量を低減することができる。
【００６３】
［第２実施形態］
次に、第２実施形態について説明する。なお、本実施形態に係る電源制御システムにおいて、第１実施形態に係る電源制御システム１０と同様の部分には、同一の符号を付して、詳細な説明を省略する。
【００６４】
図１に示すように、本実施形態に係る電源制御システム２１０は、電源制御装置２１２、ジョブ管理装置１４、及び複数のノード１６を含む。
【００６５】
図４に示すように、本実施形態に係る電源制御装置２１２は、取得部３０、算出部２３２、及び制御部３４を含む。また、電源制御装置２１２の所定の記憶領域には、待機電力情報４０及び基準空き期間候補情報４２が記憶される。
【００６６】
本実施形態に係る算出部２３２は、第１実施形態に係る算出部３２と同様に、基準空き期間候補情報４２に記憶された各基準空き期間ｔｉについて、ノード１６毎に平均間隔ｔｉｎを算出する。
【００６７】
また、算出部２３２は、各基準空き期間ｔｉ及び対応する平均間隔ｔｉｎをサンプル点とし、Ｂスプライン補間等の補間処理を行うことによって、基準空き期間ｔｉを入力とし、平均間隔ｔｉｎを出力とした関数ｆ（ｔｉ）を算出する。
【００６８】
前述したように、上記（１）式におけるｌは、（ｔｉ＋ｔｉｎ）、すなわち（ｔｉ＋ｆ（ｔｉ））の倍数うち、（最低起動期間Ｔ＋ｔｉ）以上となる最小の値である。そこで、本実施形態では、算出部２３２は、次の（２）式で示される関数ｈ（ｔｉｂ）が０以上で最小となる基準空き期間ｔｉｂを算出する。
【００６９】
【数２】
2018018446.tif 000004
【００７０】
本実施形態では、算出部２３２は、αを１、２、３、・・・、ｒと１ずつ増やして、関数ｈ（ｔｉｂ）が０以上で最小となる基準空き期間ｔｉｂを算出する。この基準空き期間ｔｉｂは、例えば、増減表等を用いて算出することができる。また、算出部２３２は、基準空き期間ｔｉｂの各々について、上記（１）式に従って、削減電力量ｅを算出する。そして、算出部３２は、算出した削減電力量ｅが最大となる基準空き期間ｔｉｂを基準空き期間ｔとする。なお、αの上限値は、要求される算出精度等に応じて適宜定めればよい。
【００７１】
電源制御装置１２は、例えば図７に示すコンピュータ６０で実現することができる。コンピュータ６０の記憶部６３には、コンピュータ６０を電源制御装置２１２として機能させるための電源制御プログラム７０Ａが記憶される。電源制御プログラム７０Ａは、取得プロセス７１、算出プロセス７２Ａ、及び制御プロセス７３を有する。
【００７２】
ＣＰＵ６１は、電源制御プログラム７０Ａを記憶部６３から読み出してメモリ６２に展開し、電源制御プログラム７０Ａが有するプロセスを実行する。ＣＰＵ６１は、取得プロセス７１を実行することで、図４に示す取得部３０として動作する。ＣＰＵ６１は、算出プロセス７２Ａを実行することで、図４に示す算出部２３２として動作する。ＣＰＵ６１は、制御プロセス７３を実行することで、図４に示す制御部３４として動作する。これにより、電源制御プログラム７０Ａを実行したコンピュータ６０が、電源制御装置２１２として機能することになる。
【００７３】
また、電源制御プログラム７０Ａにより実現される機能は、例えば半導体集積回路、より詳しくはＡＳＩＣ等で実現することも可能である。
【００７４】
次に、本実施形態に係る電源制御装置２１２の作用を説明する。なお、電源制御処理（図８参照）のステップ１０２で実行される基準空き期間算出処理以外は、上記第１実施形態と同様であるため、ここでは、図１０を参照して、基準空き期間算出処理について説明する。
【００７５】
図１０に示す基準空き期間算出処理のステップ３００で、取得部３０は、ジョブ管理装置１４から運用実績情報２２を取得する。以下のステップ３０２からステップ３１８までの処理は、全てのノード１６のうちの何れかのノード１６を処理対象として実行される。また、ステップ３０２からステップ３１８までの処理が繰り返し実行される際には、それまでに処理対象としていなかったノード１６を処理対象とする。
【００７６】
次のステップ３０２で、算出部２３２は、ステップ３００で取得された運用実績情報２２を解析することで、基準空き期間候補情報４２に記憶されている基準空き期間ｔｉ毎に、平均間隔ｔｉｎを算出する。
【００７７】
次のステップ３０４で、算出部２３２は、各基準空き期間ｔｉ及び対応する平均間隔ｔｉｎをサンプル点とし、Ｂスプライン補間等の補間処理を行うことによって、基準空き期間ｔｉを入力とし、平均間隔ｔｉｎを出力とした関数ｆ（ｔｉ）を算出する。
【００７８】
次のステップ３０６で、算出部２３２は、前述したように、上記（２）式に従って、関数ｈ（ｔｉｂ）が０以上で最小となる基準空き期間ｔｉｂを算出する。ここでは、錯綜を回避するために、本ステップ３０６でｐ個の基準空き期間ｔｉｂが算出されたものとする。
【００７９】
次のステップ３０８で、算出部２３２は、削減電力量ｅの最大値を保持するための変数ｅ０に０を代入する。以下のステップ３１０からステップ３１６までの処理は、変数ｉの初期値を１とし、変数ｉがステップ３０６で算出された基準空き期間ｔｉｂの個数ｐを超えるまで繰り返し実行される。
【００８０】
ステップ３１０で、算出部２３２は、前述したように、上記（１）式に従って、削減電力量ｅを算出する。次のステップ３１２で、算出部２３２は、ステップ３１０で算出された削減電力量ｅが変数ｅ０より大きいか否かを判定する。この判定が否定判定となった場合は、処理はステップ３１６に移行し、肯定判定となった場合は、処理はステップ３１４に移行する。
【００８１】
ステップ３１４で、算出部２３２は、ステップ３１０で算出された削減電力量ｅが最大となった時の変数ｉを保持するための変数ｉｐに変数ｉの値を代入する。また、算出部２３２は、変数ｅ０にステップ３１０で算出された削減電力量ｅを代入する。次のステップ３１６で、算出部２３２は、変数ｉをインクリメントする。
【００８２】
ステップ３１８で、算出部２３２は、ステップ３０６で算出された基準空き期間ｔｉｂの（変数ｉｐの値）番目の値である基準空き期間ｔｉｐｂを基準空き期間ｔとして、処理対象としたノード１６に対応付けて記憶部６３の所定の記憶領域に記憶する。次のステップ３２０で、算出部２３２は、以上のステップ３０２からステップ３１８までの処理を全てのノード１６について実行したか否かを判定する。この判定が否定判定となった場合は、処理はステップ３０２に戻り、肯定判定となった場合は、本基準空き期間算出処理が終了する。本基準空き期間算出処理が終了すると、処理は上記電源制御処理のステップ１０４に移行する。
【００８３】
以上説明したように、本実施形態によれば、複数の基準空き期間毎に算出した平均間隔を補間して得られた関数ｆ（ｔｉ）を用いて、基準空き期間ｔを算出している。従って、基準空き期間候補情報４２に記憶された基準空き期間ｔｉ以外についても基準空き期間の候補とすることができる結果、より適切な基準空き期間ｔを算出することができる。
【００８４】
なお、上記第２実施形態では、補間処理として、Ｂスプライン補間を適用した場合について説明したが、これに限定されない。例えば、補間処理として、ベジエ曲線による補間等の他の補間処理を適用する形態としてもよい。
【００８５】
また、上記各実施形態では、電源制御プログラム７０、７０Ａが記憶部６３に予め記憶（インストール）されている態様を説明したが、これに限定されない。電源制御プログラム７０、７０Ａは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリ、メモリカード等の記録媒体に記録された形態で提供することも可能である。
【００８６】
以上の各実施形態に関し、更に以下の付記を開示する。
【００８７】
（付記１）
複数の制御対象ノードと、
前記制御対象ノードで実行されたジョブの運用実績情報に基づいて、複数の異なる基準空き期間候補毎に、前記制御対象ノードでジョブが未実行の状態である空き状態が、基準空き期間の間継続する状態の間隔の平均である平均間隔を算出し、かつ前記制御対象ノードの電源をオン状態としてから電源をオフ状態としない期間の最低値である最低起動期間、前記複数の異なる基準空き期間候補毎の平均間隔、及び前記制御対象ノードの空き状態での消費電力に基づいて前記制御対象ノードの所定期間内の削減電力量を算出する算出部と、前記制御対象ノードが空き状態である期間が、前記削減電力量が所定値以上となるように、前記基準空き期間候補に基づいて算出された基準空き期間以上である場合に、該制御対象ノードの電源をオフ状態とする制御を行う制御部と、を含む電源制御装置と、
を含む並列処理装置。
【００８８】
（付記２）
前記制御部は、前記制御対象ノードが空き状態である期間が、前記削減電力量が最大となる前記基準空き期間以上である場合に、該制御対象ノードの電源をオフ状態とする制御を行う、
付記１記載の並列処理装置。
【００８９】
（付記３）
前記算出部は、前記複数の基準空き期間候補毎に算出した平均間隔を補間することによって、基準空き期間候補を入力とし、平均間隔を出力とした関数を算出し、算出した関数の入力値と出力値との合計値の所定倍数の値から前記最低起動期間と前記入力値との合計値を減算して得られた減算値が最小となる基準空き期間毎に前記削減電力量を算出し、
前記制御部は、前記制御対象ノードが空き状態である期間が、前記削減電力量が所定値以上となる前記基準空き期間以上である場合に、該制御対象ノードの電源をオフ状態とする制御を行う、
付記１又は付記２に記載の並列処理装置。
【００９０】
（付記４）
コンピュータに、
複数の制御対象ノードで実行されたジョブの運用実績情報に基づいて、複数の異なる基準空き期間候補毎に、前記制御対象ノードでジョブが未実行の状態である空き状態が、基準空き期間の間継続する状態の間隔の平均である平均間隔を算出し、かつ前記制御対象ノードの電源をオン状態としてから電源をオフ状態としない期間の最低値である最低起動期間、前記複数の異なる基準空き期間候補毎の平均間隔、及び前記制御対象ノードの空き状態での消費電力に基づいて前記制御対象ノードの所定期間内の削減電力量を算出し、
前記制御対象ノードが空き状態である期間が、前記削減電力量が所定値以上となるように、前記基準空き期間候補に基づいて算出された基準空き期間以上である場合に、該制御対象ノードの電源をオフ状態とする制御を行う、
ことを含む処理を実行させる並列処理装置の電源制御プログラム。
【００９１】
（付記５）
前記制御対象ノードが空き状態である期間が、前記削減電力量が最大となる前記基準空き期間以上である場合に、該制御対象ノードの電源をオフ状態とする制御を行う、
付記４記載の並列処理装置の電源制御プログラム。
【００９２】
（付記６）
前記複数の基準空き期間候補毎に算出した平均間隔を補間することによって、基準空き期間候補を入力とし、平均間隔を出力とした関数を算出し、算出した関数の入力値と出力値との合計値の所定倍数の値から前記最低起動期間と前記入力値との合計値を減算して得られた減算値が最小となる基準空き期間毎に前記削減電力量を算出し、
前記制御対象ノードが空き状態である期間が、前記削減電力量が所定値以上となる前記基準空き期間以上である場合に、該制御対象ノードの電源をオフ状態とする制御を行う、
付記４又は付記５に記載の並列処理装置の電源制御プログラム。
【００９３】
（付記７）
コンピュータに、
複数の制御対象ノードで実行されたジョブの運用実績情報に基づいて、複数の異なる基準空き期間候補毎に、前記制御対象ノードでジョブが未実行の状態である空き状態が、基準空き期間の間継続する状態の間隔の平均である平均間隔を算出し、かつ前記制御対象ノードの電源をオン状態としてから電源をオフ状態としない期間の最低値である最低起動期間、前記複数の異なる基準空き期間候補毎の平均間隔、及び前記制御対象ノードの空き状態での消費電力に基づいて前記制御対象ノードの所定期間内の削減電力量を算出し、
前記制御対象ノードが空き状態である期間が、前記削減電力量が所定値以上となるように、前記基準空き期間候補に基づいて算出された基準空き期間以上である場合に、該制御対象ノードの電源をオフ状態とする制御を行う、
ことを含む処理を実行させる並列処理装置の電源制御方法。
【００９４】
（付記８）
前記制御対象ノードが空き状態である期間が、前記削減電力量が最大となる前記基準空き期間以上である場合に、該制御対象ノードの電源をオフ状態とする制御を行う、
付記７記載の並列処理装置の電源制御方法。
【００９５】
（付記９）
前記複数の基準空き期間候補毎に算出した平均間隔を補間することによって、基準空き期間候補を入力とし、平均間隔を出力とした関数を算出し、算出した関数の入力値と出力値との合計値の所定倍数の値から前記最低起動期間と前記入力値との合計値を減算して得られた減算値が最小となる基準空き期間毎に前記削減電力量を算出し、
前記制御対象ノードが空き状態である期間が、前記削減電力量が所定値以上となる前記基準空き期間以上である場合に、該制御対象ノードの電源をオフ状態とする制御を行う、
付記７又は付記８に記載の並列処理装置の電源制御方法。
【００９６】
（付記１０）
コンピュータに、
複数の制御対象ノードで実行されたジョブの運用実績情報に基づいて、複数の異なる基準空き期間候補毎に、前記制御対象ノードでジョブが未実行の状態である空き状態が、基準空き期間の間継続する状態の間隔の平均である平均間隔を算出し、かつ前記制御対象ノードの電源をオン状態としてから電源をオフ状態としない期間の最低値である最低起動期間、前記複数の異なる基準空き期間候補毎の平均間隔、及び前記制御対象ノードの空き状態での消費電力に基づいて前記制御対象ノードの所定期間内の削減電力量を算出し、
前記制御対象ノードが空き状態である期間が、前記削減電力量が所定値以上となるように、前記基準空き期間候補に基づいて算出された基準空き期間以上である場合に、該制御対象ノードの電源をオフ状態とする制御を行う、
ことを含む処理を実行させる並列処理装置の電源制御プログラムを記憶した記憶媒体。
【符号の説明】
【００９７】
１０、２１０  電源制御システム
１２、２１２  電源制御装置
１４  ジョブ管理装置
１６  ノード
２０  スケジューリング情報
２２  運用実績情報
３０  取得部
３２、２３２  算出部
３４  制御部
４０  待機電力情報
４２  基準空き期間候補情報
６０  コンピュータ
６１  ＣＰＵ
６２  メモリ
６３  記憶部
６８  記録媒体
７０、７０Ａ  電源制御プログラム
【図１】
2018018446.tif 000005
【図２】
2018018446.tif 000006
【図３】
2018018446.tif 000007
【図４】
2018018446.tif 000008
【図５】
2018018446.tif 000009
【図６】
2018018446.tif 000010
【図７】
2018018446.tif 000011
【図８】
2018018446.tif 000012
【図９】
2018018446.tif 000013
【図１０】
2018018446.tif 000014
【図１１】
2018018446.tif 000015