(57)【要約】【課題】利用効率を向上させるジョブ管理装置、ジョブ管理システム、ジョブ管理方法、及びプログラムを提供する。【解決手段】本発明のジョブ管理装置は、複数のジョブのスケジュールを作成するジョブ管理装置であり、前記ジョブの実行時間より短い時間における総消費電力量を計算するジョブ消費電力計算手段と、前記総消費電力量に基づき、ジョブのスケジュールを作成するジョブ管理手段と、を備えることを特徴とする。【選択図】      図８
2016071841.tif 000002
【特許請求の範囲】
【請求項１】
複数のジョブのスケジュールを作成するジョブ管理装置において、
前記ジョブの実行時間より短い時間における総消費電力量を計算するジョブ消費電力計算手段と、
前記総消費電力量に基づき、ジョブのスケジュールを作成するジョブ管理手段と、
を備えることを特徴とするジョブ管理装置。
【請求項２】
前記ジョブ管理手段は、前記総消費電力量が閾値を超えた場合に、ジョブの開始時刻を移動させること
を特徴とする請求項１に記載のジョブ管理装置。
【請求項３】
前記ジョブ管理手段は、
前記開始時刻を前記ジョブの実行時間より短い時間後ろに移動させた新たなスケジュールを作成し、
前記ジョブ消費電力計算手段は、当該スケジュールにおいて予定されたジョブを前記ジョブの実行時間より短い時間ごとに総消費電力量を再度計算すること
を特徴とする請求項２に記載のジョブ管理装置。
【請求項４】
前記ジョブ管理手段は、前記総消費電力量が閾値を超えていない場合、ジョブの開始時刻を確定すること
を特徴とする請求項１乃至３に記載のジョブ管理装置。
【請求項５】
前記ジョブ管理手段は、
前記ジョブに関する情報が格納されているデータベースを参照し、
スケジュールに新たに追加するジョブと同一又は類似のジョブが、前記データベースに格納されているか判定する同一ジョブ判定手段を含み、
前記同一ジョブ判定手段が同一又は類似のジョブが格納されていると判定した場合、前記データベースに格納された前記ジョブの情報に基づき前記ジョブ消費電力計算手段が総消費電力量を計算すること
を特徴とする請求項１乃至３に記載のジョブ管理装置。
【請求項６】
前記ジョブの実行時間より短い時間ごとの実測総消費電力量を格納する消費電力情報収集手段と、
前記実測総消費電力量が閾値を超えている場合、前記ジョブを停止させることを通知する電力超過ジョブ停止手段と、
を備えることを特徴とする請求項１乃至４のいずれか１項に記載のジョブ管理装置。
【請求項７】
前記実測総消費電力量が閾値を超えている場合、
閾値を超えた前記ジョブの実行時間より短い時間の実測総消費電力量を課金データとして格納する格納手段と
を備えることを特徴とする請求項１乃至４のいずれか１項に記載のジョブ管理装置。
【請求項８】
複数のジョブのスケジュールを作成するジョブ管理システムにおいて、
ジョブ管理装置と、
ジョブを実行するノードと、
を備え、
前記ジョブ管理装置は、
前記ジョブの実行時間より短い時間における総消費電力量を計算するジョブ消費電力計算手段と、
前記総消費電力量に基づき、前記ジョブのスケジュールを作成するジョブ管理手段と、
を含み、
前記ノードは前記スケジュールに基づきジョブを実行する
ことを特徴とするジョブ管理システム
【請求項９】
複数のジョブのスケジュールを作成するジョブ管理方法において、
前記ジョブの実行時間より短い時間における総消費電力量を計算するステップと、
前記総消費電力量に基づき、ジョブのスケジュールを作成するステップと、
を備えることを特徴とするジョブ管理方法。
【請求項１０】
複数のジョブのスケジュールを作成するジョブ管理プログラムにおいて、
前記ジョブの実行時間より短い時間における総消費電力量を計算するステップと、
前記総消費電力量に基づき、ジョブのスケジュールを作成するステップと、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブ管理装置、ジョブ管理システム、ジョブ管理方法、及びプログラムに関する。
【背景技術】
【０００２】
計算機システムでは、計算機システム全体の単位時間当たりの消費電力は膨大なものとなっている。消費電力の大きなジョブを並列して実行した場合、一時的にシステムの許容消費電力を超過してしまう場合がある。そこで、消費電力を考慮したジョブのスケジュールを作成する方法が求められている。
【０００３】
特許文献１には、複数のジョブを並行して実行する場合において、ジョブの実行開始から実行終了までに必要な装置を全て動作させた場合の消費電力を算出し、合計消費電力が上限値を超えないようにスケジュールを作成する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−０９６０６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した特許文献１に記載の方法では、ジョブの実行開始から実行終了までに必要な装置を全て動作させた場合の消費電力を算出しているため、実際に使用する消費電力より多く消費電力を見積もってしまう。そのため、並列して実行可能なジョブを実行できないと見積もってしまう場合があり、計算資源の利用効率の面で問題があった。
【０００６】
そこで本発明は、上記問題に鑑みてなされたもので、利用効率を向上させるジョブ管理装置、ジョブ管理システム、ジョブ管理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のジョブ管理装置は、複数のジョブのスケジュールを作成するジョブ管理装置であり、ジョブの実行時間より短い時間における総消費電力量を計算するジョブ消費電力計算手段と、総消費電力量に基づき、ジョブのスケジュールを作成するジョブ管理手段と、を備えることを特徴とする。
【０００８】
本発明のジョブ管理システムは、複数のジョブのスケジュールを作成するジョブ管理システムであり、ジョブ管理装置と、ジョブを実行するノードと、を備える。ジョブ管理装置は、ジョブの実行時間より短い時間における総消費電力量を計算するジョブ消費電力計算手段と、前記総消費電力量に基づき、ジョブのスケジュールを作成するジョブ管理手段を含み、ノードはスケジュールに基づきジョブを実行する。
【０００９】
本発明のジョブ管理方法は、複数のジョブのスケジュールを作成するジョブ管理方法であり、ジョブの実行時間より短い時間における総消費電力量を計算するステップと、総消費電力量に基づき、ジョブのスケジュールを作成するステップと、を備える。
【００１０】
本発明のプログラムは、複数のジョブのスケジュールを作成するジョブ管理プログラムであり、ジョブの実行時間より短い時間における総消費電力量を計算するステップと、総消費電力量に基づき、ジョブのスケジュールを作成するステップと、をコンピュータに実行させる。
【発明の効果】
【００１１】
本発明の効果は、システムの利用効率を向上させることができることにある。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施の形態の構成を示すブロック図である。
【図２】本発明の第１の実施の形態のジョブ情報の一例を示すテーブルである。
【図３】本発明の第１の実施の形態のジョブの消費電力量を格納する動作を示したブロック図である。
【図４】本発明の第１の実施の形態のジョブのスケジュールを作成する動作を示すフローチャートである。
【図５】本発明の第１の実施の形態のジョブのスケジュールを作成する動作を示す図である。
【図６】本発明の第１の実施の形態のジョブ実行中の消費電力量を監視する動作を示すフローチャートである。
【図７】本発明の第２の実施の形態のジョブの超過電力量を課金データに格納する動作を示す図である。
【図８】本発明の特徴的な構成を示すブロック図である。
【発明を実施するための形態】
【００１３】
（第１の実施の形態）
第１の実施の形態について図面と共に説明する。
【００１４】
まず、第１の実施の形態の構成について図１、図３のブロック図を用いて説明する。図１は本発明の第１の実施の形態の構成を示すブロック図である。図３は本発明の第１の実施の形態のジョブの消費電力量を格納する動作を示したブロック図である。
【００１５】
図１に示すように、第１の実施の形態はジョブのスケジュールを作成するジョブ管理装置１と、一つ以上のノード２と、ジョブ情報データベース３とを備える。
【００１６】
ジョブ管理装置１と、ノード２と、ジョブ情報データベース３は、それぞれ、図示しない演算処理を行うＣＰＵ（Central Processing Unit）と、データやプログラムを格納するメモリと、プログラムやデータを格納するストレージ装置とを備える情報処理装置である。また、ネットワークとの間でデータの送受信を行うネットワークアダプタとを備えている。
【００１７】
ＣＰＵは、メモリ又はストレージ装置に格納されたプログラムに基づいて所定の処理を実行して、ジョブ管理装置１の動作を制御する。なお、第１の実施の形態では、ＣＰＵは、メモリ又はストレージ内に格納されたプログラムを読み出して実行するものとして説明したが、当該制御プログラムをＣＤＲＯＭ（Compact Disc Read Only Memory）等の記憶媒体に格納してＣＰＵに提供することも可能である。
【００１８】
ジョブ管理装置１は、ノード２とジョブ情報データベース３と接続されており、ジョブ管理部１１と、ジョブ消費電力計算部１２と、同一ジョブ判定部１３と、ジョブ情報収集部１４と、消費電力情報収集部１５と、電力超過ジョブ停止部１６とを備える。
【００１９】
ジョブ管理部１１は、ジョブの実行要求を受け付けて、ノード２に割り当てるジョブのスケジュールを作成する。
【００２０】
また、ジョブ管理部１１は、総消費電力量に基づき、ジョブのスケジュールを作成する。ジョブ管理部１１は、総消費電力量が閾値を超えた場合、ジョブの開始時刻を移動させる。総消費電力量とはジョブの実行時間より短い時間においてスケジュールされたジョブの消費電力量を合算したものである。  ジョブ管理部１１は、ジョブの実行に必要な計算機資源とノード２で使用可能な計算機資源の情報に基づいたスケジュール作成を行う第１のジョブスケジューリング部１１１と、ジョブの実行に必要な計算機資源とノード２で使用可能な計算機資源の情報とジョブ情報データベース３に基づいたスケジュール作成を行う第２のジョブスケジューリング部１１２と、ジョブを制御するジョブ制御部１１３と、を備える。
【００２１】
ジョブの実行に必要な計算機資源とは、例えば、ジョブで必要とされるノード数、ジョブの最大実行時間（この時間を超えてホスト計算機を専有しないことを示す最大時間）、実行時間、ＣＰＵの動作周波数、計算機のメモリの容量、ジョブで必要とされる入出力装置の数、ジョブで必要とされる追加演算装置の数等を含む情報である。ジョブの実行に必要な計算機資源は上記に限られず、ジョブを実行するために必要な情報であれば何でもよい。
【００２２】
第１のジョブスケジューリング部１１１は、ジョブの実行に必要な計算機資源とノード２で使用可能な計算機資源の情報に基づいた一般的なスケジュール作成方法を実行する。一般的なスケジュール作成方法とは、ジョブの実行要求に基づき、優先順位の判定等を行い、複数のジョブの実行順序を設定し、スケジュール作成を行うものである。
【００２３】
ノード２へのジョブの割り当てについては、ＮＱＳ（Network Queuing System）等の手法を用いればよいので、以下では詳述しない。
【００２４】
第２のジョブスケジューリング部１１２は、ジョブの実行に必要な計算機資源とノード２で使用可能な計算機資源の情報とジョブ情報データベース３に基づき、消費電力量を考慮したスケジュール作成を行うものである。詳細な動作は図４で説明する。
【００２５】
また、第１の実施の形態では、第１のジョブスケジューリング部１１１と第２のスケジューリング部１１２は分けて記載されているか、１つのスケジューリング部で構成されていてもよい。
【００２６】
ジョブ制御部１１３は、第１のジョブスケジューリング部１１１、または、第２のジョブスケジューリング部１１２によってスケジュールされたジョブを実行するようにノード２に通知する、又は、電力超過ジョブ停止部１６の通知に基づき、ジョブを停止するようにノード２に通知する。第１の実施の形態では、ジョブ制御部１１３は、ジョブ管理部１１の内部に設けられているが、外部に設けられていてもよい。
【００２７】
ジョブ消費電力計算部１２は、ジョブ情報データベース３からジョブの一定時間の消費電力量を取得し、時間ごとにスケジュールされたジョブの総消費電力量を計算する。すなわち、ジョブ消費電力計算部１２は、ジョブの実行時間より短い時間における総消費電力量を計算する。
【００２８】
同一ジョブ判定部１３は、新たに追加するジョブがジョブ情報データベース３に記録されているジョブと同一のジョブがあるか、ジョブ情報データベース３に基づき判断する。
【００２９】
ジョブ情報収集部１４は、ノード２のジョブ情報出力部２２からノードのジョブ情報２２１（図３で詳説）を収集する。
【００３０】
消費電力情報収集部１５は、ノード２の消費電力情報取得部２３からジョブの一定時間ごとのノードの消費電力量２３１（図３で詳説）を収集する。また、ジョブ実行中の実測の総消費電力を実測総消費電力量として一時的に格納する。
【００３１】
電力超過ジョブ停止部１６は、ジョブ実行中に消費電力量が閾値を超過した場合、ジョブ管理部１１に実行中のジョブを停止させるように通知を行う。
【００３２】
ジョブ管理装置１は、ノード２からノードのジョブ情報２２１と一定時間ごとのノードの消費電力量２３１を取得し、ジョブ情報データベース３に格納するとともに、第１のジョブスケジューリング部１１１、または、第２のジョブスケジューリング部１１２によってジョブのスケジュールを作成する。
【００３３】
ノード２は、1〜ＮのＮ個で構成されるジョブを実行する計算機であり、演算処理を行うＣＰＵと、データやプログラムを格納するメモリとを備える。又、ノード２は、ＣＰＵやメモリ等のハードウェアリソースに電力を供給する電源と、電源を制御する電源制御部と（図示せず）を備えてそれぞれノード２０１からノード２０Ｎを構成している。
【００３４】
また、ノード２は、ジョブ実行部２１と、ジョブ情報出力部２２と、消費電力取得部２３を備える。
【００３５】
ジョブ実行部２１は、ジョブ管理部１１によってスケジュールされたジョブを実行する。
【００３６】
ジョブ情報出力部２２は、実行したジョブのノードのジョブ情報２２１をジョブ情報収集部１４に出力する。
【００３７】
消費電力情報取得部２３は、実行したジョブの所定時間ごとのノードの消費電力量２３１を取得する。ノード上の消費電力情報取得部２３はＩＰＭＩ（Intelligent Platform Management Interface）やスマートメータなどの方法を使用する。
【００３８】
ノード２はジョブを実行するとともに、ノードのジョブ情報２２１と所定時間ごとノードの消費電力量２３１をジョブ管理装置１に送信する。
【００３９】
ジョブ情報データベース３は、ジョブのノードのジョブ情報２２１とノードの消費電力量２３１をジョブごとにまとめてジョブに関する情報を格納するデータベースである。
【００４０】
次に、図２と図３を用いて、ジョブ情報データベース３の構成について詳細に説明する。
【００４１】
図２は、本発明の第１の実施の形態のジョブ情報の一例を示すテーブルである。ジョブ情報３１は、ノードのジョブ情報２２１とノードの消費電力量２３１が紐付けられ、ジョブごとにジョブ情報データベース３に格納されたものである。
【００４２】
ノードのジョブ情報２２１とノードの消費電力量２３１はノードごとの情報であり、ジョブ情報３１とは異なる情報である。
【００４３】
また、ノードのジョブ情報２２１は、ジョブの実行を指示したユーザ名、そのジョブのグループ名、ジョブを実行するために必要なＣＰＵ量、メモリ量、必要な実行時間の情報などのジョブを特定可能な情報を含む情報である。
【００４４】
ノードの消費電力量２３１はノード２でジョブが実行される間のノード２の一定時間ごとの消費電力量である。
【００４５】
また、一定時間とはジョブの実行時間より短い時間である。第１の実施の形態では、一定時間と記しているが、ジョブの実行時間よりも短い時間であればよく、一定でなくてもよい。  ジョブ情報３１のノードのジョブ情報２２１、ノードの消費電力量２３１は、ジョブごとに予めテーブル等で保存しておいてもよいし、実行されたものを追加していくものでもよい。また、ジョブを予め複数の種類に分類し収集、保存してもよい。
【００４６】
また、ノードのジョブ情報２２１とノードの消費電力量２３１はジョブ情報３１として一つに格納されている例を示したが、分けて格納してもよい。
【００４７】
次に動作について詳細に説明する。
【００４８】
図３は本発明の第１の実施の形態のジョブの消費電力量を格納する動作を示したブロック図である。図３は、ジョブの中にノード２０１からノード２０Ｎを記載しているが、ノード２０１からノード２０Ｎにジョブが割り当てられていること概念的に示したものである。
【００４９】
ノード２０１からノード２０Ｎでジョブが実行される間、ジョブ管理装置１の消費電力情報収集部１５は、一定時間ごとのノードの消費電力量２３１を収集する。一定時間はジョブの実行時間より短く、例えば、ジョブの実行時間のＭ分の１（Ｍは２以上の整数）である。
【００５０】
また、ジョブ管理装置１のジョブ情報収集部１４はノード２のジョブ情報出力部２２からノードのジョブ情報２２１を収集する。ノードのジョブ情報２２１はジョブごとにまとめられ、ノードの消費電力量２３１とともにジョブ情報データベース３に格納される。
【００５１】
そして、消費電力収集部１５とジョブ情報収集部１４が収集した消費電力量とジョブ情報は紐付けられ、ジョブ情報データベース３に格納する。ジョブ情報データベース３に格納される一定時間ごとのノードの消費電力量２３１、ノードのジョブ情報２２１は予めテーブル等で保存しておいてもよいし、実行されたものを追加していくものでもよい。また、ジョブを予め複数の種類に分類し収集、保存してもよい。
【００５２】
図４は本発明の第１の実施の形態のジョブのスケジュールを作成する動作を示すフローチャートである。
【００５３】
まず、ジョブ管理部１１が、スケジュールに新たに追加するジョブがスケジュール可能かどうか判定する（ステップＳ００１）。ジョブがスケジュール可能かどうかは、新たに追加するジョブを実行するために必要なＣＰＵ、メモリ量、必要時間等の計算機資源が空いている場合、スケジュール可能と判定する。
【００５４】
新たに追加するジョブがスケジュール可能ではないと判定された場合、ジョブを並列して追加せず、一般的な方法を用いたスケジュール作成を行う（ステップＳ０１２）。
【００５５】
新たに追加するジョブがステップＳ００１においてスケジュール可能と判定された場合、同一ジョブ判定部１３が新たに追加するジョブと同一又は類似のジョブがジョブ情報データベース３に格納されているか判定する（ステップＳ００２）。同一又は類似のジョブかどうかは、ユーザ名、グループ名、ＣＰＵ、メモリ量、実行時間等、ジョブ情報３１に格納されている情報で判定する。
【００５６】
同一又は類似のジョブが格納されていない場合、ジョブ管理部１１は、一般的な方法を用いたスケジュール作成を行う（ステップＳ０１２）。
【００５７】
同一又は類似のジョブが格納されていた場合、ジョブ管理部１１は、ジョブ情報データベース３のジョブ情報３１からステップＳ００２で新たに追加するジョブと同一又は類似と判定されたジョブの最大消費電力量を取得し、閾値を超えていないか判定する（ステップＳ００３）。
【００５８】
新たに追加するジョブの最大消費電力が閾値を超えている場合、一般的な方法でスケジュールを作成する（ステップＳ０１２）。
【００５９】
新たに追加するジョブの最大消費電力が閾値を超えていないと判定された場合、ジョブ管理部１１は新たに追加するジョブの開始時刻を最初の時間に設定する（ステップＳ００４）。
【００６０】
最初の時間とは、新たに追加するジョブを実行するために必要なＣＰＵ、メモリ量、必要時間等の計算機資源が空いている最初の時間である。しかし、これに限られず、ジョブが実行可能な時間であれば任意に設定できる。
【００６１】
次に、ジョブ消費電力計算部１２はステップＳ００２によって同一又は類似ジョブと判定されたジョブの最初の一定時間の消費電力量をジョブ情報データベース３のジョブ情報３１から取得する（ステップＳ００５）。  そして、ジョブ消費電力計算部１２は、最初の一定時間においてスケジュールされた全てのジョブの消費電力量を合わせ、総消費電力量を計算する（ステップＳ００６）。
【００６２】
すなわち、同一ジョブ判定部が同一又は類似のジョブが格納されていると判定した場合、ジョブ情報データベース３に基づき、ジョブ消費電力計算部１２が総消費電力量を計算する。
【００６３】
次に、ステップＳ００６で計算された総消費電力量が閾値以下かどうか判定する（ステップＳ００７）。
【００６４】
閾値を超えていた場合、ジョブ管理部１１は、新たに追加するジョブの開始時刻を移動させ、スケジュールを再度作成する。第１の実施の形態では、ジョブの開始時刻をジョブの実行時間より短い時間後ろに移動させた新たなスケジュールを作成する（ステップＳ００８）。そして、ステップＳ００６に戻り、最初の時間の総消費電力量を再度計算する。
【００６５】
第１の実施の形態では、後ろの時刻に設定する例を示したが、設定させる時間はこれに限られず、前に設定してもよいし、時間を長く空けて設定してもよい。
【００６６】
閾値以下であった場合、ジョブ消費電力計算部１２はジョブ情報データベース３の同一又は類似のジョブに、一定時間経過後の時間に消費電力量があるか確認する（ステップＳ００９）。
【００６７】
一定時間経過後に消費電力量があった場合、ジョブ消費電力計算部１２は一定時間経過後の消費電力量を取得する（ステップＳ０１０）。そしてステップＳ００６に戻り、ジョブ消費電力計算部１２は、次の一定時間において、スケジュールされたジョブの総消費電力量を計算する（ステップＳ００６）。
【００６８】
すなわち、ジョブ消費電力計算部１２は、スケジュールにおいて予定されたジョブをジョブの実行時間より短い時間ごとに再度計算する。
【００６９】
一定時間経過後に消費電力量がなかった場合、ジョブ管理部１１は、ジョブの開始時刻を確定させる（ステップＳ０１１）。
【００７０】
すなわち、ジョブ終了時まで総消費電力量が閾値を超えていない場合、ジョブの開始時刻を確定する。
【００７１】
第１の実施の形態では、新たに追加するジョブを移動させる例を示したが、新たに追加するジョブではなく、すでにスケジュールされたジョブを移動させてもよい。
【００７２】
図５は本発明の第１の実施の形態のジョブのスケジュールを作成する動作を示す図である。
【００７３】
「Ｉ」から「III」のグラフの左側の縦軸はノード数、右側の縦軸は消費電力であり、横軸は時間である。また、右側の縦軸には消費電力の閾値が設けられている。
【００７４】
「Ｉ」のグラフは、ジョブＡに５つのノード、ジョブＢに３つのノードが割り当てていることを示している。「Ｉ」のグラフは、ジョブＡの実行が完了した後、ジョブＣに４つのノードを割り当てることを示しており、ジョブＢとＣが並列して実行されることになる。ジョブＢ及びジョブＣの内部にある折れ線グラフはそれぞれのジョブの消費電力を示している。また、ジョブＢとジョブＣの総消費電力を示すグラフをジョブＢ＋Ｃとして示している。さらに「Ｉ」「II」「III」のグラフは、ジョブＣの実行時間よりも短い一定時間で５つに分割した例を示している。
【００７５】
「Ｉ」のグラフにおいて、４つめの一定時間帯がジョブＢとＣの総消費電力が閾値をこえている（図４のステップＳ００７ＮＯに相当）。
【００７６】
そのため、ジョブ管理装置１は、ジョブＣの開始時刻を一定時間後ろの時間に設定する（図５「II」のグラフ、図４ステップＳ００８）。しかしながら、３つめの一定時間帯において、ジョブＢとＣの総消費電力が閾値を超えている（図４のステップＳ００７ＮＯに相当）。そのため、ジョブ管理装置１は、ジョブＣの開始時刻を一定時間後ろの時間に設定する（図５「III」のグラフ、図４ステップＳ００８）。
【００７７】
「III」のグラフにおいて、２つめの一定時間帯においてジョブＢとＣの総消費電力が閾値以下となっている。この後、ジョブ管理装置１は、３つめの一定時間帯において、同様の処理を実行する（図４のステップＳ００９、Ｓ０１０、Ｓ００６に相当）。ジョブ管理装置１は、この処理を全ての一定時間ごとにおいて実行し、ジョブＢとＣの総消費電力が閾値以下となった場合、ジョブＣの開始時刻を「III」に示された時刻に確定する。ジョブ管理装置１は、ジョブＢの実行がすべて完了してからジョブＣを実行する場合と比較して、ジョブＣを早く実行開始するスケジュールを作成することができる。
【００７８】
次に、ジョブのスケジュール作成後の動作について説明する。
【００７９】
図６は第１の実施の形態のジョブ実行中の消費電力量を監視する動作を示すフローチャートである。
【００８０】
ノード２において、ジョブが実行されると（ステップＳ１０１）、消費電力情報収集部１５は、ジョブの実行時間より短い時間のノードの消費電力量２３１を消費電力情報取得部２３から取得する（ステップＳ１０２）。  そして、ステップＳ１０２で取得したジョブの実行時間より短い時間ごとのノードの消費電力量２３１を用いて、実際に使用されている総消費電力量を計算する（ステップＳ１０３）。
【００８１】
そして消費電力情報収集部１５は総消費電力量をジョブの実行時間より短い時間ごとの実測総消費電力量として消費電力情報収集部１５に格納する（ステップＳ１０４）。
【００８２】
次に、電力超過ジョブ停止部１６は実測総消費電力量が閾値を超えているか判定する（ステップＳ１０５）。
【００８３】
実測総消費電力量が閾値を超えていない場合、ステップＳ１０２に戻り、次の一定時間のノードの消費電力量２３１を取得し、総消費電力量を計算する（ステップＳ１０３）。
【００８４】
実測総消費電力量が閾値を超えている場合、電力超過ジョブ停止部１６はジョブを停止させることを通知する（ステップ。Ｓ１０６）
以上のように、ジョブ実行中の消費電力量を監視することで、システム全体の許容電力超過を抑制できる。また、実行中のジョブの消費電力を一定時間ごとに採取することにより、実行中のジョブが予測した電力より多く電力を消費した場合、即座に該当ジョブの停止、または中断等の処理が可能となる。
（第二の実施形態）
次に、本発明の第２の実施の形態について図面と共に説明する。図７は、本発明の第２の実施の形態のジョブの超過電力量を課金データに格納する動作を示す図である。
【００８５】
図７に示したジョブ管理システム１０００は図１と比較して、電力超過ジョブ停止部１６の代わりに、電力超過ジョブ課金部１６１を備え、ジョブ課金情報データベース３２を新たに備える。  電力超過ジョブ課金部１６１は、図６のステップＳ１０４、ステップＳ１０５において、実測総消費電力量が閾値を超えている場合、ジョブを停止させる通知を行わない。電力超過ジョブ課金部１６１は、ジョブを停止させず、閾値を超過した超過分の消費電力量を取得し、ジョブ課金情報データベース３２に超過分の消費電力量を格納し、課金対象とする。
【００８６】
すなわち、閾値を超えたジョブの実行時間より短い一定時間の実測総消費電力量を課金データとして格納する格納する。
【００８７】
次に、本発明の特徴的な構成を説明する。図８は、本発明の特徴的な構成を示すブロック図である。
【００８８】
図８を参照すると、ジョブ管理装置１は、ジョブ管理部１１と、ジョブ消費電力計算部１２と、を備える。
【００８９】
ジョブ管理部１１は、ジョブの実行時間より短い時間ごとにスケジュールを作成する。ジョブ消費電力計算部は、ジョブの総消費電力量を計算する。
【００９０】
本発明によれば、ジョブ管理システム１０００は資源を有効活用することができる。その理由は、以下の通りである。ジョブ管理装置１は、ジョブの消費電力量をジョブの実行時間より短い時間ごとに管理している。ノード２は、ジョブの実行時間単位では複数のジョブを並列して実行できない場合でも、１つのジョブの実行開始をジョブの実行時間より短い時間後ろに遅らせた場合、並列して実行できる場合がある。ジョブ管理装置１はこれを実現できるためである。例えば、最大消費電力量は大きいが、総消費電力量は小さいジョブが空資源を見つけることができ、資源を有効活用できる。
【００９１】
また、短い時間ごとに開始時刻を移動させることができるため、負荷の重なりを軽減し、消費電力の突出がないスケジュール作成が可能になる。
【００９２】
第１及び第２の実施の形態では複数のノードを備える場合について説明したが、ジョブが並行して実行可能な状態であればよいため、一つのノードに複数のＣＰＵがある場合などは、ノードは一つあれば本発明は有効である。又、必ずしもジョブ管理装置１とノード２が別々の構成である必要はなく、１つの情報処理装置であってもよい。
【符号の説明】
【００９３】
１    ジョブ管理装置
２    ノード
３    ジョブ情報データベース
１１    ジョブ管理部
１２    ジョブ消費電力計算部
１３    同一ジョブ判定部
１４    ジョブ情報収集部
１５    消費電力情報収集部
１６    電力超過ジョブ停止部
２１    ジョブ実行部
２２    ジョブ情報出力部
２３    消費電力情報取得部
３１    ジョブ情報
３２    ジョブ課金情報データベース
１１１    第１のジョブスケジューリング部
１１２    第２のジョブスケジューリング部
１１３    ジョブ制御部
１６１    電力超過ジョブ課金部
２２１    ノードのジョブ情報
２３１    ノードの消費電力量
１０００    ジョブ管理システム
【図１】
2016071841.tif 000003
【図２】
2016071841.tif 000004
【図３】
2016071841.tif 000005
【図４】
2016071841.tif 000006
【図５】
2016071841.tif 000007
【図６】
2016071841.tif 000008
【図７】
2016071841.tif 000009
【図８】
2016071841.tif 000010