(58)【調査した分野】(Int.Cl.,DB名)
前記消費電力推定部は、所定の第1のジョブにおける第1の予測消費電力に対して、当該第1のジョブにおける前記サーバ実測消費電力の比率を算出し、第2のジョブにおける第2の予測消費電力に、前記比率を重み付けして、前記第2の予測消費電力を補正する請求項1乃至4のいずれか一に記載の電力制御装置。
前記ジョブ制御部は、所定の前記サーバ装置で実行中のジョブの前記予測消費電力の合計電力を算出し、実行対象のジョブの前記予測消費電力、及び前記合計電力に基づいて、当該サーバ装置で実行するジョブを決定する請求項1乃至5のいずれか一に記載の電力制御装置。
【発明を実施するための形態】
【0015】
初めに、
図1を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
【0016】
上述の通り、サーバ装置を運用する場合、サーバ装置の消費電力に注意する必要がある。しかし、電源容量管理が行われない場所にサーバ装置を設置する場合、管理者等がサーバ装置の消費電力を監視する必要がある。そこで、サーバ装置の消費電力を監視せずに、サーバ装置の消費電力を制御する電力制御装置が、望まれる。
【0017】
そこで、一例として
図1に示す電力制御装置10を提供する。電力制御装置10は、1又は2以上のサーバ装置30、及び総消費電力を取得する総電力測定装置20と通信する制御装置通信部11と、所定のジョブにおけるサーバ実測消費電力に基づいて、ジョブの予測消費電力を推定する消費電力推定部12と、所定のジョブに関する実行ジョブ情報に、予測消費電力を対応付けて、消費電力テーブルを生成する消費電力テーブル生成部13と、消費電力テーブル、及び総消費電力に基づいて、サーバ装置30において実行するジョブを制御するジョブ制御部14と、を備える。
【0018】
電力制御装置10は、1または2以上のサーバ装置30と通信し、実行ジョブにおけるサーバ装置30の消費電力を取得する。以下の説明では、サーバ装置30の消費電力を、サーバ実測消費電力と呼ぶ。そして、電力制御装置10は、所定のジョブにおけるサーバ実測消費電力に基づいて、そのジョブの予測消費電力を推定する。その後、電力制御装置10は、所定のジョブに関する実行ジョブ情報に、予測消費電力を対応付けて、消費電力テーブルを生成する。実行ジョブ情報は、実行しているジョブの数、ジョブの種類に関する情報を含む。
【0019】
そのため、電力制御装置10は、所定のジョブを実行する場合に、サーバ装置30の消費電力を予測できる。つまり、電力制御装置10は、サーバ装置30の消費電力を監視せずに、サーバ装置30の消費電力を予測できる。
【0020】
そして、電力制御装置10は、消費電力テーブル、及び総消費電力に基づいて、サーバ装置30において実行するジョブを制御する。総消費電力は、例えば、分電盤の消費電力であってもよい。従って、電力制御装置10は、サーバ装置30の消費電力を監視せずに、サーバ装置30の消費電力を制御できる。
【0021】
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。
【0022】
[第1の実施形態]
第1の実施形態について、図面を用いてより詳細に説明する。
【0023】
図2は、本実施形態に係る電力制御システム1の構成の一例を示す図である。電力制御システム1は、総電力測定装置2と、サーバ装置3と、電力制御装置4と、予測消費電力データベース5と、を含んで構成される。
図2に示すように、電力制御装置4は、2以上のサーバ装置3と接続してもよい。
【0024】
電力制御システム1において、総電力測定装置2、サーバ装置3、電力制御装置4、予測消費電力データベース5は、ネットワークを介して、接続されている。ネットワークはLAN(Local Area Network)等のネットワークを含む。総電力測定装置2、サーバ装置3、電力制御装置4、予測消費電力データベース5の通信方式は、有線、無線を問わない。
【0025】
総電力測定装置2は、サーバ装置3が設置された施設の総電力情報を取得する。総電力情報とは、最大許容電力、総消費電力を含む情報である。例えば、総電力測定装置2は、分電盤(図示せず)から総電力情報を取得することが好ましい。また、総電力測定装置2は、分電盤と一体化していてもよい。
【0026】
サーバ装置3は、所定のジョブを実行する。
【0027】
電力制御装置4は、上述の通り、サーバ装置3が実行するジョブを制御する。
【0028】
予測消費電力データベース5は、消費電力テーブル等、電力制御に必要な情報を記憶する。
【0029】
次に、総電力測定装置2の詳細について説明する。
【0030】
図3は、総電力測定装置2の内部構成の一例を示す図である。総電力測定装置2は、総電力測定部210と、総電力測定装置通信部220と、を含んで構成される。
図3は、簡単のため、本実施形態に係る総電力測定装置2に関係するモジュールを主に記載する。
【0031】
総電力測定装置2は、サーバ装置3が設置された施設の総電力情報を取得する。上述の通り、総電力情報は、最大許容電力、総消費電力を含む情報である。最大許容電力は、電力契約に応じて異なる。また、総消費電力は、例えば、分電盤で測定する消費電力が好ましい。総電力測定部210は、総消費電力を測定する場合、分電盤の計測電流値に基づいて、総消費電力を算出してもよい。なお、総消費電力の測定方法は各種あるが、その方式は問わない。
【0032】
総電力測定装置通信部220は、総電力情報を電力制御装置4に送信する。
【0033】
次に、サーバ装置3の詳細について説明する。
【0034】
図4は、サーバ装置3の内部構成の一例を示す図である。サーバ装置3は、ジョブ実行部310と、サーバ負荷取得部320と、サーバ消費電力測定部330と、サーバ装置通信部340と、を含んで構成される。
図4は、簡単のため、本実施形態に係るサーバ装置3に関係するモジュールを主に記載する。
【0035】
ジョブ実行部310は、所定のジョブを実行する。ここで、ジョブ実行部310は、2以上のジョブを並行して実行してもよい。
【0036】
サーバ負荷取得部320は、自サーバ装置3のサーバ負荷を取得する。具体的には、サーバ負荷は、CPU(Central Processing Unit)使用率、単位時間あたりのディスクアクセス数等の情報を含む。サーバ負荷は、実行するジョブの数、ジョブの種類等に依存する。
【0037】
サーバ消費電力測定部330は、自サーバ装置3の消費電力を測定する。ここで、サーバ装置3の消費電力は、サーバ負荷に依存する。従って、サーバ負荷の大きなジョブを実行すると、消費電力は増加する。
【0038】
サーバ装置通信部340は、電力制御装置4と通信する。具体的には、サーバ装置通信部340は、電力制御装置4からジョブの実行命令を受信する。さらに、サーバ装置3の消費電力が所定の警告電力を超えた場合、電力制御装置4からジョブの停止命令を受信する。
【0039】
次に、電力制御装置4の詳細について説明する。
【0040】
図5は、電力制御装置4の内部構成の一例を示す図である。電力制御装置4は、制御装置通信部410と、制御装置記憶部420と、制御部430と、を含んで構成される。
【0041】
制御部430は、電力制御装置4の全体を制御すると共に、
図5に示す各部を制御する。制御部430は、消費電力推定部431と、消費電力テーブル生成部432と、ジョブ制御部433と、ジョブ停止基準決定部434と、報知処理部435と、を含んで構成される。
図5は、簡単のため、本実施形態に係る電力制御装置4に関係するモジュールを主に記載する。なお、制御部430は、電力制御装置4に搭載されたコンピュータに、そのハードウェアを用いて、制御部430の処理を実行させるコンピュータプログラムにより実現することもできる。
【0042】
制御装置通信部410は、総電力測定装置2、サーバ装置3、予測消費電力データベース5と通信する。具体的には、制御装置通信部410は、総電力測定装置2から総電力情報を受信する。また、制御装置通信部410は、サーバ装置3から、サーバ装置3のサーバ負荷、消費電力を受信する。さらに、制御装置通信部410は、サーバ装置3に対して、所定のジョブの実行命令を送信する。また、制御装置通信部410は、予測消費電力データベース5と消費電力テーブルを送受信する。
【0043】
制御装置記憶部420は、電力制御装置4の動作に必要な情報を記憶する。例えば、制御装置記憶部420は、ジョブ停止優先順位、警告電力等を含む情報を記憶する。ジョブ停止優先順位、警告電力については、後述する。
【0044】
消費電力推定部431は、所定のジョブにおけるサーバ実測消費電力に基づいて、そのジョブの予測消費電力を推定する。具体的には、消費電力推定部431は、サーバ負荷、及び実行ジョブ情報、及びサーバ実測消費電力に基づいて、予測消費電力を推定する。例えば、消費電力推定部431は、所定のジョブにおけるサーバ実測消費電力を、そのジョブの予測消費電力としてもよい。つまり、消費電力推定部431は、サーバ装置3が実行するジョブの数、ジョブの種類に応じた予測消費電力を推定する。
【0045】
消費電力テーブル生成部432は、所定のジョブに関する実行ジョブ情報に、予測消費電力を対応付けて、消費電力テーブルを生成する。上述の通り、サーバ負荷は実行ジョブ情報に依存する。そのため、消費電力テーブル生成部432は、サーバ負荷、及び実行ジョブ情報に、予測消費電力を対応付けて、消費電力テーブルを生成してもよい。
【0046】
ここで、消費電力テーブル生成部432は、所定の時間(例えば、1時間)毎に、消費電力テーブルを更新することが好ましい。例えば、消費電力テーブル生成部432は、所定の実行ジョブにおけるサーバ負荷、及び予測消費電力を、所定の時間毎に測定されたその実行ジョブにおけるサーバ負荷、及びサーバ実測消費電力に置き換えてもよい。
【0047】
または、消費電力テーブル生成部432は、所定の時間内でのサーバ実測消費電力の統計量に基づいて、予測消費電力を補正してもよい。
【0048】
具体的には、消費電力推定部431は、所定時間毎に、所定時間内での消費電力の平均値を算出しても良い。さらに、消費電力推定部431は、所定時間毎に、所定時間内でのサーバ負荷、ディスクアクセス数等の平均値を算出してもよい。そして、消費電力テーブル生成部432は、算出された平均消費電力等を、消費電力テーブルに記憶されている予測消費電力等と置き換えても良い。
【0049】
あるいは、消費電力推定部431は、サーバ実測消費電力の忘却係数付き移動平均を算出しても良い。例えば、以下の式(1)から、サーバ実測消費電力の忘却係数付き移動平均を算出する。そして、所定の時間毎に、消費電力テーブルに記憶されている予測消費電力を、サーバ実測消費電力の忘却係数付き移動平均に置き換えてもよい。
α:忘却係数(0<α<1)
X:時刻tにおいて、新たに測定されたサーバ実測消費電力
X(t−1):時刻t−1において、補正されたサーバ実測消費電力
X(t):時刻tにおいて、補正後のサーバ実測消費電力
なお、サーバ負荷、ディスクアクセス数等についても、忘却係数付移動平均を算出できるが、詳細な説明は省略する。
【0050】
図6は、消費電力テーブルの一例を示す図である。具体的に、
図6は、ジョブの実行におけるCPU使用率(%)、1秒間当たりのディスクアクセス数(iops、input output per second)、予測消費電力(W、ワット)の対応関係を示す。例えば、
図6に示すように、2つのジョブ(「sss.kkk」及び「hhh.ggg」)を実行した場合における消費電力等を、消費電力テーブルに記憶してもよい。
【0051】
ジョブ制御部433は、消費電力テーブルに基づいて、各サーバ装置3が実行するジョブを決定する。つまり、ジョブ制御部433は、サーバ負荷、予測消費電力等に基づいて、各サーバ装置3が実行するジョブを決定する。そして、ジョブ制御部433は、制御装置通信部410を介して、各サーバ装置3にジョブの実行命令を送信する。ここで、ジョブ制御部433は、各サーバ装置3に、2以上のジョブの実行命令を送信してもよい。
【0052】
例えば、まず、ジョブ制御部433は、所定のサーバ装置3で実行中のジョブの予測消費電力の合計電力(以下の説明では、サーバ予測合計電力と呼ぶ)を算出する。そして、ジョブ制御部433は、その合計電力、及び実行対象のジョブの予測消費電力に基づいて、そのサーバ装置3で実行するジョブを決定してもよい。
【0053】
ここで、ジョブ制御部433は、実行対象のジョブの予測消費電力と、サーバ予測合計電力との合計電力を算出してもよい。そして、ジョブ制御部433は、その合計電力が所定の電力より小さいサーバ装置3から、その実行対象のジョブを実行するサーバ装置3を決定してもよい。つまり、ジョブ制御部433は、消費電力量に余裕があるサーバ装置から、実行対象のジョブを実行するサーバ装置3を決定してもよい。
【0054】
ジョブ停止基準決定部434は、消費電力テーブル、及びジョブの重要度に基づいて、ジョブ停止優先順位を決定する。ジョブの重要度は、予め設定されていることが好ましい。例えば、ジョブ停止基準決定部434は、予測消費電力が大きなジョブについて、ジョブ停止優先順位を高く設定してもよい。あるいは、ジョブ停止基準決定部434は、ジョブの重要度が低いジョブについて、ジョブ停止優先順位を高く設定してもよい。
【0055】
ジョブの重要度は、日時、時間帯に応じて変更されてもよい。つまり、ジョブ停止基準決定部434は、日時、時間帯に応じて、ジョブの停止優先順位を変更してもよい。
【0056】
例えば、サーバ装置3が、長時間を要する、サーバ負荷の大きなジョブ(例えば、長時間を要する大規模データの演算等を含む。以下、大規模演算ジョブと呼ぶ。)を実行する場合を考える。その際、ユーザは、夜間、休日等に、大規模演算ジョブを実行する場合がある。ここで、サーバ装置3が、演算途中で演算を停止した場合、演算に要する時間が長いほど、ユーザに対する影響は大きい。そのため、サーバ装置3は、夜間等においては、大規模演算ジョブの実行を優先することが好ましい。つまり、ジョブ停止基準決定部434は、夜間等においては、大規模演算ジョブについて、ジョブ停止優先順位を低く設定してもよい。
【0057】
一方、サーバ装置3のユーザが多い時間帯(例えば、午前9時から午後6時等)においては、サーバ装置3は、大規模演算ジョブの実行を避けることが好ましい。なぜなら、そのような時間帯においては、大規模演算ジョブが、多くのユーザの作業を妨げるおそれがあるからである。そのため、サーバ装置3のユーザが多い時間帯においては、ジョブ停止基準決定部434は、大規模演算ジョブについて、ジョブ停止優先順位を高く設定してもよい。
【0058】
また、ジョブ停止基準決定部434は、最大許容電力に対して所定の割合の電力を、警告電力として決定することが好ましい。警告電力は、サーバ装置3の運用環境に応じて、決定されることが好ましい。
【0059】
ジョブ制御部433は、所定の時間(例えば、1分)を超えて、総消費電力が所定の警告電力を超えた場合、ジョブ停止優先順位に基づいて、ジョブの停止処理を実行する。つまり、ジョブ制御部433は、制御装置通信部410を介して、停止対象のジョブを実行しているサーバ装置3に、ジョブの停止命令を送信する。ジョブ制御部433は、総消費電力が警告電力を超えた場合、ジョブ停止優先順位の高いジョブから順に、ジョブの停止処理を実行する。なお、ジョブ制御部433がジョブの停止処理を実行する場合、報知処理部435は、ユーザが使用するクライアント装置(図示せず)に対して、ジョブを停止する旨を報知してもよい。ユーザに報知せずに、サーバ装置3がジョブを停止すると、ユーザの作業に影響を及ぼす可能性があるからである。
【0060】
また、ジョブ停止基準決定部434は、最大許容電力に基づいて、最低警告電力、及び最大警告電力を決定してもよい。そして、ジョブ制御部433は、総消費電力が最大警告電力を超えた場合、ジョブ停止優先順位に基づいて、ジョブの停止処理を実行してもよい。
【0061】
その場合、まず、所定の時間(例えば、1分)を超えて、総消費電力が最低警告電力を超えた場合、報知処理部435は、警告処理を開始する。具体的には、報知処理部435は、文字、音、光等を用いて、警告処理を実行する。例えば、報知処理部435は、警告処理として、ユーザに対して「消費電力が所定の電力を超えました。不必要なジョブを終了してください。」等の警告を行ってもよい。報知処理部435は、上述の警告メッセージを含む電子メールを送信しても良い。または、報知処理部435は、クライアント装置に、上述の警告メッセージを表示する処理を実行しても良い。例えば、報知処理部435は、クライアント装置に対して、警告音を出力させても良い。なお、警告処理は、各種あるが、その詳細は問わない。
【0062】
そして、ジョブ制御部433は、ジョブの停止処理を実行中に、総消費電力が最低警告電力より小さくなった場合、ジョブの停止処理を中断する。また、ジョブ制御部433は、ジョブの停止処理を実行中に、所定の時間(例えば、1分)を超えて、総消費電力が、最低警告電力より小さい場合、ジョブの停止処理を中断してもよい。
【0063】
図7は、ジョブ停止優先順位の一例を示す図である。
図7の場合、ジョブ制御部433は、ジョブ「aaa.xxx」、ジョブ「sss.kkk」、ジョブ「hhh.ggg」、ジョブ「ddd.yyy」の順にジョブの停止処理を実行する。そして、例えば、ジョブ「sss.kkk」を停止後に、総消費電力が、最低警告電力より小さくなった場合、ジョブの停止処理を中断する。
【0064】
次に、電力制御システム1の動作について説明する。
【0065】
まず、消費電力テーブルを生成する処理について、説明する。
【0066】
図8は、消費電力テーブルを生成する処理の一例を示すフローチャートである。
【0067】
ステップS1において、総電力測定部210は、総電力情報を取得する。そして、ステップS2において、総電力測定装置通信部220は、総電力情報を電力制御装置4へ送信する。ステップS3において、制御装置通信部410は、総電力測定装置2から総電力情報を受信する。
【0068】
ステップS4において、サーバ負荷取得部320は、サーバ負荷を取得する。ステップS5において、サーバ消費電力測定部330は、サーバ実測消費電力を取得する。つまり、サーバ消費電力測定部330は、自サーバ装置3の消費電力を測定する。そして、ステップS6において、サーバ装置通信部340は、サーバ負荷、サーバ実測消費電力を電力制御装置4に通知する。ステップS7において、制御装置通信部410は、サーバ負荷、サーバ実測消費電力を、サーバ装置2から受信する。
【0069】
ステップS8において、消費電力推定部431は、サーバ実測消費電力に基づいて、予測消費電力を補正する。ステップS9において、消費電力テーブル生成部432は、消費電力テーブルを更新する。
【0070】
次に、ジョブの停止処理について、説明する。
【0071】
図9は、ジョブの停止処理の一例を示すフローチャートである。
【0072】
ステップS101において、ジョブ制御部433は、消費電力テーブルに基づいて、実行するジョブを決定し、ジョブの実行命令をサーバ装置3に送信する。そして、ステップS102において、ジョブ実行部310は、受信した実行命令に基づいて、ジョブを実行する。そして、ステップS103に遷移する。
【0073】
図10は、サーバ装置3に対するジョブの実行処理の一例を示す図である。
図10の場合、電力制御装置4は、実行ジョブ情報51に対応する予測消費電力52を、予測消費電力データベース5より取得する。そして、電力制御装置4は、予測消費電力52に基づいて、サーバ装置3において実行するジョブを決定する。
図10の場合、電力制御装置4は、ジョブの実行命令1001をサーバ装置31に送信する。また、電力制御装置4は、ジョブの実行命令1002をサーバ装置32に送信する。さらに、電力制御装置4は、ジョブの実行命令1003をサーバ装置33に送信する。なお、ジョブの実行命令1001、1002、1003は、2以上のジョブの実行命令であってもよい。従って、
図10に示すように、電力制御システム1では、サーバ装置3の消費電力を監視する必要がない。
【0074】
ステップS103において、所定の時間を超えて、総消費電力が警告電力を超えたか否かを、ジョブ制御部433は判断する。所定の時間を超えて、総消費電力が警告電力を超えた場合(ステップS103のYes分岐)には、ステップS105に遷移する。一方、所定の時間を超えて、総消費電力が警告電力を超えない場合(ステップS103のNo分岐)には、ジョブ実行部310は、ジョブの実行処理を継続する(ステップS104)。その後、ステップS103に戻り、処理を継続する。
【0075】
ステップS105において、所定の時間を超えて、総消費電力が最大警告電力を超えたか否かを、ジョブ制御部433は判断する。所定の時間を超えて、総消費電力が最大警告電力を超えた場合(ステップS105のYes分岐)には、ステップS107に遷移する。所定の時間を超えて、総消費電力が最大警告電力を超えない場合(ステップS105のNo分岐)には、報知処理部435は、警告処理を実行する(ステップS106)。その後、ステップS103に戻り、処理を継続する。
【0076】
ステップS107において、ジョブ制御部433は、ジョブ停止優先順位に基づいて、ジョブの停止命令をサーバ装置3に送信する。そして、ステップS108において、ジョブ実行部310は、ジョブの停止処理を実行する。その後、
図12に示すステップS201に遷移する。
【0077】
図11は、サーバ装置3に対するジョブの停止命令の一例を示す図である。
図11の場合、電力制御装置4は、総電力測定装置2より、総電力情報21を取得する。上述の通り、総電力情報21は、サーバ装置が設置された施設の最大許容電力、総消費電力を含む情報である。そして、総消費電力が最大警告電力を超えた場合、電力制御装置4は、所定のジョブの停止命令をサーバ装置3に送信する。
図11の場合、電力制御装置4は、ジョブの停止命令1011をサーバ装置301に送信する。
図11に示すように、電力制御装置4は、ジョブ停止優先順位の高いジョブを停止する。従って、
図11の場合、総消費電力が最大警告電力を超えた場合であっても、サーバ装置302、及びサーバ装置303のジョブを停止する必要はない。
【0078】
次に、ジョブの停止処理の中断について説明する。
【0079】
図12は、ジョブの停止処理の中断についての一例を示すフローチャートである。
【0080】
ステップS201において、ジョブ制御部433は、ジョブの停止処理を実行中であるか否かを判断する。ジョブの停止処理を実行中の場合(ステップS201のYes分岐)には、ステップS202に遷移する。ジョブの停止処理を実行中でない場合(ステップS201のNo分岐)には、
図9に示すステップS102に遷移し、処理を継続する。
【0081】
ステップS202において、総消費電力が最低警告電力より小さいか否かを、ジョブ制御部433は判断する。総消費電力が最低警告電力より小さい場合(ステップS202のYes分岐)には、ジョブ制御部433は、ジョブ停止処理を中断する(ステップS203)。総消費電力が最低警告電力より小さくない場合(ステップS202のNo分岐)には、ジョブ制御部433は、ジョブの停止処理を継続する(ステップS204)。
【0082】
なお、上述の説明では、2段階の警告電力(最低警告電力、最大警告電力)に基づいて、電力制御装置4が処理を実行する場合について、説明した。しかし、3段階以上の警告電力に基づいて、電力制御装置4が処理を実行してもよい。なお、以下の説明では、警告電力の段階を、警告レベルと呼ぶ。さらに、以下の説明では、警告レベル数が大きくなるほど、警告電力量が大きいとする。
【0083】
3段階以上の警告レベルが設定された場合、報知処理部435は、警告レベルが上がるほど、警告を強くすることが好ましい。例えば、報知処理部435は、警告レベルが上がるほど、警告音の音量を大きくしてもよい。
【0084】
図13は、総消費電力の推移の一例を示す図である。
図14は、警告レベルと総消費電力の対応関係を示す図である。
図13において、総消費電力P1〜総消費電力P3は、各警告レベルの総消費電力である。なお、
図13、及び
図14の場合、最低警告電力は、警告レベル1の電力(総消費電力P1)であるとする。また、最大警告電力は、警告レベル3の電力(総消費電力P3)であるとする。
【0085】
まず、
図13の場合、時刻t1において、総消費電力が最低警告電力P1である。そして、時刻t1から、所定の時間t経過後のt2まで、総消費電力は、最低警告電力P1より大きい。従って、時刻t2において、報知処理部435は、警告レベル1の警告処理を行う。
【0086】
また、時刻t3において、総消費電力が警告レベル2の総消費電力P2である。そして、時刻t3から所定の時間t経過後のt4まで、総消費電力は、警告レベル2の総消費電力P2より大きい。従って、時刻t4において、報知処理部435は、警告レベル2の警告処理を行う。
【0087】
さらに、時刻t5において、総消費電力が最大警告電力P3である。そして、時刻t5から所定の時間t経過後のt6まで、総消費電力は、最大警告電力P3より大きい。従って、ジョブ制御部433は、制御装置通信部410を介して、サーバ装置3に、所定のジョブの停止命令を送信する。
【0088】
その後、
図13の場合、時刻t6の後、総消費電力は小さくなっている。そして、時刻t7において、総消費電力が最低警告電力P1となっている。従って、時刻t7において、ジョブ制御部433は、ジョブの停止処理を中断する。
【0089】
[変形例1]
続いて、第1の実施形態の変形例1について図面を用いて詳細に説明する。
【0090】
第1の実施形態の変形例1として、警告レベルに応じて、所定のジョブを停止しても良い。具体的には、ジョブ停止基準決定部434は、警告レベルに応じたジョブ停止優先順位を決定してもよい。つまり、最大警告電力の警告レベルより低い警告レベルにおいても、ジョブ制御部433は、所定のジョブの停止処理を実行してもよい。
【0091】
図15は、消費電力の推移の一例を示す図である。
図16は、警告レベル、警告電力、停止ジョブの対応関係の一例を示す図である。なお、
図15、及び
図16の場合、最低警告電力は、警告レベル1の電力(総消費電力P11)であるとする。また、最大警告電力は、警告レベル3の電力(総消費電力P13)であるとする。
【0092】
まず、
図15の場合、時刻t11において、総消費電力が最低警告電力P11である。そして、時刻t11から、所定の時間t経過後のt12まで、総消費電力は、最低警告電力P11より大きい。従って、時刻t12において、ジョブ制御部433は、所定のジョブの停止処理を実行する。具体的には、
図16に示すジョブ停止優先順位に基づいて、ジョブ制御部433は、ジョブ「rrr.xxx」、ジョブ「fff.ddd」の順に、ジョブの停止処理を実行する。
【0093】
そして、
図15の場合、時刻t13において、総消費電力が最低警告電力P11となっている。そのため、時刻t13において、ジョブ制御部433は、ジョブの停止処理を中断する。
【0094】
さらに、
図15の場合、時刻t13の後、総消費電力が増加し、時刻t14において、総消費電力が警告電力P12となっている。そして、時刻t14から所定の時間t経過後のt15まで、総消費電力は、警告電力P12より大きい。従って、時刻t15において、ジョブ制御部433は、所定のジョブの停止処理を実行する。具体的には、
図16に示すジョブ停止優先順位に基づいて、ジョブ制御部433は、ジョブ「abc.xxx」の停止処理を実行する。
【0095】
以上のように、本実施形態に係る電力制御装置4は、サーバ装置3の消費電力テーブルを生成し、消費電力テーブル、及び総消費電力に基づいて、サーバ装置3のジョブの実行、停止を制御する。そのため、本実施形態に係る電力制御システム1では、サーバ装置3の消費電力を監視せずに、サーバ装置3の消費電力を制御できる。
【0096】
[第2の実施形態]
続いて、第2の実施形態について図面を用いて詳細に説明する。
【0097】
本実施形態に係る電力制御装置4では、予測消費電力と、サーバ実測消費電力との差分に基づいて、予測消費電力を補正する。なお、本実施形態における説明では、第1の実施形態と重複する部分の説明は省略する。さらに、本実施形態における説明では、第1の実施形態と同一の構成要素には、同一の符号を付し、その説明を省略する。
【0098】
本実施形態に係る消費電力推定部431は、所定の第1のジョブにおける第1の予測消費電力に対して、当該第1のジョブにおける前記サーバ実測消費電力の比率を算出し、第2のジョブにおける第2の予測消費電力に、前記比率を重み付けして、前記第2の予測消費電力を補正する。
【0099】
上述の通り、サーバ負荷は、実行ジョブ情報に依存する。そのため、本実施形態に係る消費電力推定部431は、所定の第1のサーバ負荷(以下、サーバ基準負荷と呼ぶ)における第1の予測消費電力(以下、基準予測消費電力と呼ぶ)に対して、サーバ基準負荷におけるサーバ実測消費電力の比を重みとして算出する。以下の説明では、基準サーバ負荷におけるサーバ実測消費電力を、サーバ実測基準消費電力と呼ぶ。
【0100】
そして、サーバ基準負荷と異なる第2のサーバ負荷(以下、対象負荷と呼ぶ)における第2の予測消費電力(以下、予測対象消費電力と呼ぶ)に重み付けして、予測対象消費電力を補正する。
【0101】
具体的には、以下の式(2)を用いて、消費電力推定部431は、予測対象消費電力を補正する。
Xa:基準予測消費電力
Xb:サーバ実測基準消費電力
Ya:予測対象消費電力
Y:補正後の予測対象消費電力
【0102】
以上のように、本実施形態に係る電力制御装置4は、予測消費電力を補正する際、所定のサーバ基準負荷、及び基準予測消費電力に基づいて、サーバ基準負荷と異なるサーバ負荷に対する予測消費電力を補正する。そのため、本実施形態に係る電力制御装置4では、予測消費電力を補正する際、サーバ装置3が、複数のサーバ負荷において、消費電力を測定する必要がない。従って、本実施形態に係る電力制御システム1では、より一層、サーバ装置3の消費電力を監視する必要性が低下する。
【0103】
上記した実施形態では、予測消費電力データベース5は、電力制御装置4と異なる装置として説明した。しかし、電力制御装置4が、予測消費電力データベース5を備えていてもよい。
【0104】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【0105】
(付記1)1又は2以上のサーバ装置、及び総消費電力を取得する総電力測定装置と通信する制御装置通信部と、所定のジョブにおけるサーバ実測消費電力に基づいて、当該ジョブの予測消費電力を推定する消費電力推定部と、前記所定のジョブに関する実行ジョブ情報に、前記予測消費電力を対応付けて、消費電力テーブルを生成する消費電力テーブル生成部と、前記消費電力テーブル、及び前記総消費電力に基づいて、前記サーバ装置において実行するジョブを制御するジョブ制御部と、を備える電力制御装置。
【0106】
(付記2)前記消費電力テーブル、及びジョブの重要度に基づいて、ジョブ停止優先順位を決定するジョブ停止基準決定部を備え、前記ジョブ制御部は、所定の時間を超えて、前記総消費電力が所定の警告電力を超えた場合、前記ジョブ停止優先順位に基づいて、ジョブの停止処理を実行する電力制御装置。
【0107】
(付記3)前記消費電力テーブル生成部は、所定の時間内での前記サーバ実測消費電力の統計量に基づいて、前記予測消費電力を補正する電力制御装置。
【0108】
(付記4)前記消費電力推定部は、所定の第1のジョブにおける第1の予測消費電力に対して、当該第1のジョブにおける前記サーバ実測消費電力の比率を算出し、第2のジョブにおける第2の予測消費電力に、前記比率を重み付けして、前記第2の予測消費電力を補正する電力制御装置。
【0109】
(付記5)前記ジョブ制御部は、所定の前記サーバ装置で実行中のジョブの前記予測消費電力の合計電力を算出し、実行対象のジョブの前記予測消費電力、及び前記合計電力に基づいて、当該サーバ装置で実行するジョブを決定する電力制御装置。
【0110】
(付記6)前記ジョブ制御部は、前記停止処理を実行中に、前記総消費電力が所定の最低警告電力より小さくなった場合、前記停止処理を中断する電力制御装置。
【0111】
(付記7)1又は2以上のサーバ装置と、総電力測定装置と、電力制御装置と、を含み、前記総電力測定装置は、総消費電力を取得し、前記電力制御装置は、前記サーバ装置、及び前記総電力測定装置と通信する制御装置通信部と、所定のジョブにおけるサーバ実測消費電力を、当該ジョブの予測消費電力を推定する消費電力推定部と、前記所定のジョブに関する実行ジョブ情報に、前記予測消費電力を対応付けて、消費電力テーブルを生成する消費電力テーブル生成部と、前記消費電力テーブル、及び前記総消費電力に基づいて、前記サーバ装置において実行するジョブを制御するジョブ制御部と、を備える電力制御システム。
【0112】
(付記8)前記サーバ装置において、所定のジョブを実行するジョブ実行部と、前記サーバ負荷を取得するサーバ負荷取得部と、前記サーバ実測消費電力を測定するサーバ消費電力測定部と、前記サーバ負荷、前記サーバ実測消費電力を、前記電力制御装置に通知するサーバ装置通信部と、を備える電力制御システム。
【0113】
(付記9)前記電力制御装置において、前記消費電力テーブル、及びジョブの重要度に基づいて、ジョブ停止優先順位を決定するジョブ停止基準決定部を備え、前記ジョブ制御部は、所定の時間を超えて、前記総消費電力が所定の警告電力を超えた場合、前記ジョブ停止優先順位に基づいて、ジョブの停止処理を実行する電力制御システム。
【0114】
(付記10)前記電力制御装置において、前記消費電力テーブル生成部は、所定の時間内での前記サーバ実測消費電力の統計量に基づいて、前記予測消費電力を補正する電力制御システム。
【0115】
(付記11)前記電力制御装置において、前記消費電力推定部は、所定の第1のジョブにおける第1の予測消費電力に対して、当該第1のジョブにおける前記サーバ実測消費電力の比率を算出し、第2のジョブにおける第2の予測消費電力に、前記比率を重み付けして、前記第2の予測消費電力を補正する電力制御システム。
【0116】
(付記12)前記電力制御装置において、所定の前記サーバ装置で実行中のジョブの前記予測消費電力の合計電力を算出し、実行対象のジョブの前記予測消費電力、及び前記合計電力に基づいて、当該サーバ装置で実行するジョブを決定する電力制御システム。
【0117】
(付記13)前記電力制御装置において、前記ジョブ制御部は、前記停止処理を実行中に、前記総消費電力が所定の最低警告電力より小さくなった場合、前記停止処理を中断する電力制御システム。
【0118】
(付記14)所定のジョブにおけるサーバ実測消費電力に基づいて、当該ジョブの予測消費電力を推定する消費電力推定工程と、前記所定のジョブに関する実行ジョブ情報に、前記予測消費電力を対応付けて、消費電力テーブルを生成する消費電力テーブル生成工程と、前記消費電力テーブル、及び前記総消費電力に基づいて、前記サーバ装置において実行するジョブを制御するジョブ制御工程と、を含む電力制御方法。
【0119】
(付記15)前記消費電力テーブル、及びジョブの重要度に基づいて、ジョブ停止優先順位を決定する工程を含み、前記ジョブ制御工程において、所定の時間を超えて、前記総消費電力が所定の警告電力を超えた場合、前記ジョブ停止優先順位に基づいて、ジョブの停止処理を実行する電力制御方法。
【0120】
(付記16)前記消費電力テーブル生成工程において、所定の時間内での前記サーバ実測消費電力の統計量に基づいて、前記予測消費電力を補正する電力制御方法。
【0121】
(付記17)前記消費電力推定工程において、所定の第1のジョブにおける第1の予測消費電力に対して、当該第1のジョブにおける前記サーバ実測消費電力の比率を算出し、第2のジョブにおける第2の予測消費電力に、前記比率を重み付けして、前記第2の予測消費電力を補正する電力制御方法。
【0122】
(付記18)前記ジョブ制御工程において、所定の前記サーバ装置で実行中のジョブの前記予測消費電力の合計電力を算出し、実行対象のジョブの前記予測消費電力、及び前記合計電力に基づいて、当該サーバ装置で実行するジョブを決定する電力制御方法。
【0123】
(付記19)前記ジョブ制御工程において、前記停止処理を実行中に、所定の時間を超えて、前記総消費電力が所定の最低警告電力より小さくなった場合、前記停止処理を中断する電力制御方法。
【0124】
(付記20)電力制御装置を制御するコンピュータに実行させるプログラムであって、1又は2以上のサーバ装置、及び総消費電力を取得する総電力測定装置と通信する処理と、所定のジョブにおけるサーバ実測消費電力に基づいて、当該ジョブの予測消費電力を推定する消費電力推定処理と、前記所定のジョブに関する実行ジョブ情報に、前記予測消費電力を対応付けて、消費電力テーブルを生成する消費電力テーブル生成処理と、前記消費電力テーブル、及び前記総消費電力に基づいて、前記サーバ装置において実行するジョブを制御するジョブ制御処理と、を実行するプログラム。
【0125】
(付記21)前記消費電力テーブル、及びジョブの重要度に基づいて、ジョブ停止優先順位を決定する処理を実行し、前記ジョブ制御処理において、所定の時間を超えて、前記総消費電力が所定の警告電力を超えた場合、前記ジョブ停止優先順位に基づいて、ジョブの停止処理を実行するプログラム。
【0126】
(付記22)前記消費電力テーブル生成処理において、所定の時間内での前記サーバ実測消費電力の統計量に基づいて、前記予測消費電力を補正するプログラム。
【0127】
(付記23)前記消費電力推定処理において、所定の第1のジョブにおける第1の予測消費電力に対して、当該第1のジョブにおける前記サーバ実測消費電力の比率を算出し、第2のジョブにおける第2の予測消費電力に、前記比率を重み付けして、前記第2の予測消費電力を補正するプログラム。
【0128】
(付記24)前記ジョブ制御処理において、所定の前記サーバ装置で実行中のジョブの前記予測消費電力の合計電力を算出し、実行対象のジョブの前記予測消費電力、及び前記合計電力に基づいて、当該サーバ装置で実行するジョブを決定するプログラム。
【0129】
(付記25)前記ジョブ制御処理において、前記停止処理を実行中に、前記総消費電力が所定の最低警告電力より小さくなった場合、前記停止処理を中断するプログラム。
【0130】
なお、引用した上記の特許文献の開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。