IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特許7243361ジョブスケジューラ及びジョブスケジュール制御方法
<>
  • 特許-ジョブスケジューラ及びジョブスケジュール制御方法 図1
  • 特許-ジョブスケジューラ及びジョブスケジュール制御方法 図2
  • 特許-ジョブスケジューラ及びジョブスケジュール制御方法 図3
  • 特許-ジョブスケジューラ及びジョブスケジュール制御方法 図4
  • 特許-ジョブスケジューラ及びジョブスケジュール制御方法 図5
  • 特許-ジョブスケジューラ及びジョブスケジュール制御方法 図6
  • 特許-ジョブスケジューラ及びジョブスケジュール制御方法 図7
  • 特許-ジョブスケジューラ及びジョブスケジュール制御方法 図8
  • 特許-ジョブスケジューラ及びジョブスケジュール制御方法 図9
  • 特許-ジョブスケジューラ及びジョブスケジュール制御方法 図10
  • 特許-ジョブスケジューラ及びジョブスケジュール制御方法 図11
  • 特許-ジョブスケジューラ及びジョブスケジュール制御方法 図12
  • 特許-ジョブスケジューラ及びジョブスケジュール制御方法 図13
  • 特許-ジョブスケジューラ及びジョブスケジュール制御方法 図14
  • 特許-ジョブスケジューラ及びジョブスケジュール制御方法 図15
  • 特許-ジョブスケジューラ及びジョブスケジュール制御方法 図16
  • 特許-ジョブスケジューラ及びジョブスケジュール制御方法 図17
  • 特許-ジョブスケジューラ及びジョブスケジュール制御方法 図18
  • 特許-ジョブスケジューラ及びジョブスケジュール制御方法 図19
  • 特許-ジョブスケジューラ及びジョブスケジュール制御方法 図20
  • 特許-ジョブスケジューラ及びジョブスケジュール制御方法 図21
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-13
(45)【発行日】2023-03-22
(54)【発明の名称】ジョブスケジューラ及びジョブスケジュール制御方法
(51)【国際特許分類】
   G06F 1/329 20190101AFI20230314BHJP
   G06Q 10/06 20230101ALI20230314BHJP
   G06Q 10/04 20230101ALI20230314BHJP
   G06Q 50/06 20120101ALI20230314BHJP
【FI】
G06F1/329
G06Q10/06
G06Q10/04
G06Q50/06
【請求項の数】 4
(21)【出願番号】P 2019057325
(22)【出願日】2019-03-25
(65)【公開番号】P2020160622
(43)【公開日】2020-10-01
【審査請求日】2021-12-08
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】白石 崇
(72)【発明者】
【氏名】鈴木 成人
(72)【発明者】
【氏名】白幡 晃一
【審査官】佐賀野 秀一
(56)【参考文献】
【文献】特開2011-243034(JP,A)
【文献】特開2014-215908(JP,A)
【文献】特開2017-050919(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 1/26- 1/3296
G06Q 10/06
G06Q 10/04
G06Q 50/06
(57)【特許請求の範囲】
【請求項1】
コンピュータに、
システムで実行されたジョブの実行時間と消費電力の情報の類似性に基づいて、前記ジョブを複数のグループに分類し、
前記分類する処理が分類したグループごとに、各グループに含まれる電力波形を教師データにして時系列予測モデルを構築し、
所定間隔ごとに、前記分類したグループごとに構築した時系列予測モデルから現在の時刻を含む所定間隔の電力波形を予測し、電力予測対象の実行中ジョブについて、入手した現在の時刻を含む所定間隔の電力波形と予測した電力波形とを比較し、類似する時系列予測モデルを特定し、
特定した時系列予測モデルに基づいて電力予測対象のジョブについての次の所定間隔の消費電力を予測し、
予測した消費電力からジョブの実行を制御する
処理を実行させることを特徴とするジョブスケジューラ。
【請求項2】
前記特定する処理は、さらに、第1のジョブの全区間にわたる電力波形と最も類似する第1の時系列予測モデルを特定し、前記第1のジョブの実行ユーザと同一のユーザによって第2のジョブが実行される場合、当該第2のジョブの最初の所定区間の時系列予測モデルとして前記第1の時系列予測モデルを特定することを特徴とする請求項1に記載のジョブスケジューラ。
【請求項3】
前記分類したグループに含まれるジョブの投入時に設定される投入時情報が各グループに分類されるように投入時情報の各情報の重みを決定し、
電力予測対象の投入時情報に決定した各情報に重みを付与した結果に応じて、前記投入時情報をグループに分類し、
分類したグループの時系列予測モデルから消費電力を予測する
処理をさらに実行させることを特徴とする請求項1又は2に記載のジョブスケジューラ。
【請求項4】
システムで実行されたジョブの実行時間と消費電力の情報の類似性に基づいて、前記ジョブを複数のグループに分類し、
前記分類する処理が分類したグループごとに、各グループに含まれる電力波形を教師データにして時系列予測モデルを構築し、
所定間隔ごとに、前記分類したグループごとに構築した時系列予測モデルから現在の時刻を含む所定間隔の電力波形を予測し、電力予測対象の実行中ジョブについて、入手した現在の時刻を含む所定間隔の電力波形と予測した電力波形とを比較し、類似する時系列予測モデルを特定し、
特定した時系列予測モデルに基づいて電力予測対象のジョブについての次の所定間隔の消費電力を予測し、
予測した消費電力からジョブの実行を制御する
処理をコンピュータが実行することを特徴とするジョブスケジュール制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ジョブスケジューラ及びジョブスケジュール制御方法に関する。
【背景技術】
【0002】
HPC(high-performance computing)システムの電力料金は、ある一定の時間区間における消費電力の平均値の、月間の最大値によって決定される。このため、各時間区間で消費電力が平準化されているほど電力料金は低く抑えられる。そこで、平準化のためにHPCシステムの消費電力を予測する技術が提案されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2015-76091号公報
【文献】特開2000-276460号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の技術では、システムの消費電力を精度良く予測することが難しい場合があるという問題がある。例えば、システムにおいてジョブを実行する際に、ある時点までの消費電力の時系列パタンを基に当該時点以降の消費電力を予測することが考えられる。一方で、時系列パタンの周期性が小さい場合、同様の時系列パタンが繰り返し現れるとは限らないので、上記の方法では予測精度が低下する場合がある。
【0005】
1つの側面では、システムの消費電力を精度良く予測することを目的とする。
【課題を解決するための手段】
【0006】
1つの態様において、ジョブスケジューラは、コンピュータに、システムで実行されたジョブの実行時間と消費電力の情報の類似性に基づいて、ジョブを複数のグループに分類する処理を実行させる。ジョブスケジューラは、コンピュータに、分類する処理が分類したグループごとに、各グループに含まれる電力波形を教師データにして時系列予測モデルを構築する処理を実行させる。ジョブスケジューラは、コンピュータに、所定間隔ごとに、分類したグループごとに構築した時系列予測モデルから現在の時刻を含む所定間隔の電力波形を予測する処理を実行させる。ジョブスケジューラは、コンピュータに、電力予測対象の実行中ジョブについて、入手した現在の時刻を含む所定間隔の電力波形と予測した電力波形とを比較し、類似する時系列予測モデルを特定する処理を実行させる。ジョブスケジューラは、コンピュータに、特定した時系列予測モデルに基づいて電力予測対象のジョブについての次の所定間隔の消費電力を推定する処理を実行させる。ジョブスケジューラは、コンピュータに、予測した消費電力からジョブの実行を制御する処理を実行させる。
【発明の効果】
【0007】
1つの側面では、システムの消費電力を精度良く予測することができる。
【図面の簡単な説明】
【0008】
図1図1は、ジョブの実行スケジュールについて説明するための図である。
図2図2は、消費電力の予測について説明するための図である。
図3図3は、実施例に係る学習装置の機能構成の一例を示す図である。
図4図4は、実行時間が異なるジョブについて説明するための図である。
図5図5は、距離の計算方法を説明するための図である。
図6図6は、分類モデルの学習処理を説明するための図である。
図7図7は、予測モデルの学習処理を説明するための図である。
図8図8は、実施例に係る制御装置の機能構成の一例を示す図である。
図9図9は、分類処理を説明するための図である。
図10図10は、予測処理を説明するための図である。
図11図11は、制御処理を説明するための図である。
図12図12は、予測モデルの学習処理の流れを示すフローチャートである。
図13図13は、分類モデルの学習処理の流れを示すフローチャートである。
図14図14は、制御処理の流れを示すフローチャートである。
図15図15は、予測処理の流れを示すフローチャートである。
図16図16は、実行時間のずれについて説明するための図である。
図17図17は、対象区間のスライドについて説明するための図である。
図18図18は、予測処理の流れを示すフローチャートである。
図19図19は、対象区間の伸長について説明するための図である。
図20図20は、実施例の効果を示す図である。
図21図21は、ハードウェア構成例を説明する図である。
【発明を実施するための形態】
【0009】
以下に、本発明に係るジョブスケジューラ及びジョブスケジュール制御方法の実施例を図面に基づいて詳細に説明する。なお、この実施例により本発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例1】
【0010】
実施例1に係るジョブスケジューラは、ジョブを実行するジョブ実行システムの消費電力を予測し、消費電力が平準化されるようにジョブのスケジューリングを行うためのプログラムである。例えば、ジョブ実行システムはHPCシステムである。ここで、実施例1において前提となるジョブの実行スケジュール及び電力料金の課金について説明する。
【0011】
図1は、ジョブの実行スケジュールについて説明するための図である。図1に示すように、ジョブ実行システムにはあらかじめ複数のノードが用意されているものとする。ジョブは、1つ以上のノードに割り当てられる。また、ノードに割り当てられたジョブは、実行開始時刻までキュー内で待機する。図1の例では、ジョブJ01は、現在時刻より以前の過去実行区間で実行済みのジョブである。また、ジョブJ02及びジョブJ03は、現在実行中のジョブである。また、ジョブJ04及びジョブJ05は、キュー内で実行を待機しているジョブである。
【0012】
ここで、ジョブ実行システムの電力料金は、ある一定の時間区間における消費電力の平均値の、所定期間の最大値によって決定される。例えば、30分ごとの消費電力の平均値の1か月間の最大値が大きいほど、当該月の電力料金は高くなる。さらに、当該平均値があらかじめ設定された契約電力を超えた場合、莫大な追加料金が発生する場合がある。
【0013】
図2は、消費電力の予測について説明するための図である。図2に示すように、ジョブスケジューラは、現在時刻以降の消費電力を予測する。そして、例えば、ジョブスケジューラは、予測結果に基づき、消費電力が契約電力を超えないようにジョブの実行スケジュールを組み直すことができる。
【0014】
ここで、実施例における学習装置及び制御装置の構成を説明する。学習装置は、制御装置によって用いられる各モデルの学習を行うための装置である。また、制御装置は、ジョブ実行システムを制御するための装置である。ジョブスケジューラは、学習装置及び制御装置に各処理を実行させるプログラムである。なお、学習装置及び制御装置は1つの装置として実現されてもよい。例えば、学習装置と制御装置の両方の機能を持つ装置によってジョブスケジューラが実行される。
【0015】
図3は、実施例に係る学習装置の機能構成の一例を示す図である。図3に示すように、学習装置10は、入出力部11、記憶部12及び制御部13を有する。入出力部11は、データの入出力を行うためのインタフェースである。
【0016】
記憶部12は、データや制御部13が実行するプログラム等を記憶する記憶装置の一例であり、例えばハードディスクやメモリ等である。記憶部12は、電力履歴DB121、分類モデル情報122及び予測モデル情報123を記憶する。
【0017】
電力履歴DB121は、ジョブ実行システムの消費電力の履歴である。例えば、電力履歴DB121は、実行されたジョブの投入時情報と時刻ごとの消費電力を対応付けた情報である。投入時情報は、ジョブを実行するためのスクリプト、ジョブの実行ユーザを識別する情報、ジョブを識別する情報、使用するノード、使用するIOインタフェースを識別する情報等を含む。また、電力履歴DB121は、一定時間ごとの消費電力の平均値を含んでいてもよい。
【0018】
分類モデル情報122は、キュー内にあるジョブの投入時情報をグループに分類するための分類モデルを構築するための情報である。例えば、分類モデル情報122は、電力履歴DB121のデータを教師データとする学習により生成される。例えば、分類モデル情報122は、投入時情報に含まれる各情報に付与する重みである。
【0019】
予測モデル情報123は、過去の消費電力の波形から、未来の消費電力の波形を予測するための予測モデルを構築するための情報である。予測モデル情報123は、あらかじめ設定された複数のグループのそれぞれに対応する予測モデルごとに情報を記憶する。
【0020】
分類モデルは、例えば教師ありLDA(Latent Dirichlet Allocation、トピック分類)及びランダムフォレスト等である。また、分類モデルにおいて、各情報はtf-idfによってベクトル化されてもよい。また、予測モデルは、RNN(Recurrent Neural Network)、GP(ガウス過程回帰)、SVR(サポートベクトルマシン回帰)及び決定木(Decision Tree)等である。
【0021】
制御部13は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部13は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されるようにしてもよい。制御部13は、分類部131、決定部132及び構築部133を有する。
【0022】
分類部131は、第1の分類を行う。第1の分類では、分類部131は、システムで実行されたジョブの実行時間と消費電力の情報の類似性に基づいて、ジョブを複数のグループに分類する。ここで、図4に示すように、ジョブ間で消費電力の波形が類似していても、実行時間が異なる場合がある。図4の実線の曲線及び破線の曲線は、それぞれ異なるジョブの消費電力の波形を示している。図4に示すように、一方のジョブはある時刻に実行を終了し、電力を消費しないようになる。
【0023】
このため、分類部131は、ジョブ間の類似度を、時間方向の差を含めて計算する。具体的には、分類部131は、図5に示すように、一方の波形の各時刻に対応するデータポイントから、他方の波形の最も距離が近いデータポイントまでの距離の総和を類似度として計算する。図5は、距離の計算方法を説明するための図である。
【0024】
分類部131は、例えば以下の手順でジョブを分類する。なお、各ジョブには通し番号が付与されているものとする。まず、分類部131は、1番目のジョブに対する他の全てのジョブの類似度を計算する。次に、分類部131は、1番目のジョブに対し、類似度が閾値α以下であるジョブをクラスタリングする。さらに、分類部131は、同様の処理を各ジョブについて繰り返す。
【0025】
その際、分類部131は、あるジョブのクラスタに含まれるジョブに付与された通し番号がβ以下であるものをマージする。例えば、分類部131は、5番目のジョブに対しクラスタリングされたジョブのうち、通し番号がβ以下であって、既に1番目から4番目のいずれかのジョブに対しクラスタリング済みのジョブを、5番目のジョブのクラスタから除外する。そして、分類部131は、最終的に残ったクラスタをグループとする。
【0026】
さらに、分類部131は第2の分類を行う。第2の分類では、分類部131は、分類モデル情報122から構築される分類モデルを用いて、投入時情報を基にジョブをグループに分類する。ここで、グループは、分類部131による第1の分類において決定されているものとする。第2の分類では、分類部131は、電力予測対象の投入時情報に決定した各情報に重みを付与した結果に応じて、投入時情報をグループに分類する。
【0027】
決定部132は、第2の分類において分類したグループに含まれるジョブの投入時に設定される投入時情報が各グループに分類されるように投入時情報の各情報の重みを決定する。つまり、決定部132は、分類モデルの学習を行う。決定部132は、分類部131がジョブを既知の正解のグループに分類するように、分類モデルにおける重みを決定し、決定した重みにしたがい分類モデル情報122を最適化する。
【0028】
図6は、分類モデルの学習処理を説明するための図である。ここでは、分類部131の第1の分類により、過去に実行されたジョブが、グループA、グループB及びグループCに分類されているものとする。例えば、ジョブJ11、ジョブJ12等がグループAに分類されている。分類モデルの学習処理においては、第1の分類における分類結果が教師データである。
【0029】
分類部131は、第2の分類において、投入時情報を分類モデルに入力し、各ジョブの分類結果を得る。決定部132は、このとき得られた分類結果が教師データと一致するように、分類モデルを最適化する。
【0030】
構築部133は、分類部131が第1の分類において分類したグループごとに、各グループに含まれる電力波形を教師データにして時系列予測モデルを構築する。つまり、構築部133は予測モデルの学習を行う。構築部133は、構築した予測モデルの情報を予測モデル情報123として記憶部12に格納する。
【0031】
図7は、予測モデルの学習処理を説明するための図である。予測モデルの学習処理においては、過去に実行されたジョブの消費電力の波形が教師データである。構築部133は、例えば、各グループの波形に合うようなRNNを構築する。
【0032】
図8は、実施例に係る制御装置の機能構成の一例を示す図である。図8に示すように、制御装置20は、入出力部21、記憶部22及び制御部23を有する。入出力部21は、データの入出力を行うためのインタフェースである。
【0033】
記憶部22は、データや制御部23が実行するプログラム等を記憶する記憶装置の一例であり、例えばハードディスクやメモリ等である。記憶部22は、ユーザ情報221、分類モデル情報222及び予測モデル情報223を記憶する。
【0034】
ユーザ情報221は、ジョブの実行ユーザを識別する情報とグループとを対応付けた情報である。
【0035】
分類モデル情報222は、投入時情報をグループに分類するための分類モデルを構築するための情報である。例えば、分類モデル情報222は、学習装置10において学習済みの分類モデル情報122である。
【0036】
予測モデル情報223は、過去の消費電力の波形から、未来の消費電力の波形を予測するための予測モデルを構築するための情報である。例えば、予測モデル情報223は、学習装置10において学習済みの予測モデル情報123である。
【0037】
制御部23は、例えば、CPU、MPU、GPU等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部23は、例えば、ASICやFPGA等の集積回路により実現されるようにしてもよい。制御部23は、スケジュール制御部231、分類部232、予測部233、測定部234及び特定部235を有する。
【0038】
スケジュール制御部231は、予測部233による消費電力の予測結果に基づき、ジョブ実行システム30で実行されるジョブのスケジュールを調整する。例えば、スケジュール制御部231は、ジョブの実行開始時刻を変更したり、ジョブを実行するノードを変更したりすることにより、消費電力が契約電力を超えないようにする。
【0039】
分類部131は、電力予測対象の投入時情報に決定した各情報に重みを付与した結果に応じて、投入時情報をグループに分類する。つまり、分類部131は、分類モデル情報222から構築される分類モデルを用いて、投入時情報に基づきキュー内のジョブをグループに分類する。
【0040】
図9は、分類処理を説明するための図である。図9に示すように、グループが未知のキュー内のジョブの投入時情報を分類モデルに入力し、ジョブの分類結果を得る。例えば、分類部131は、キュー内のジョブをグループA、グループB及びグループCのいずれかに分類する。
【0041】
予測部233は、予測モデル情報223から構築される予測モデルを用いて、消費電力を予測する。予測部233は、キュー内のジョブについて、分類部131が分類したグループの時系列予測モデルから消費電力を予測する。また、予測部233は、実行中のジョブについて、特定した時系列予測モデルに基づいて電力予測対象のジョブについての次の所定間隔の消費電力を予測する。なお、時系列予測モデルの特定は、特定部235によって行われる。所定間隔は、例えば30分等の所定の長さの時間区間である。
【0042】
なお、各時間区間において、予測部233は1つのジョブにつき1つの予測モデルを使って消費電力を予測した結果を出力する。一方で、予測部233は、各時間区間において、出力の対象としない予測モデルを使った予測も行う。出力の対象としない予測モデルを使った予測の結果は、次の所定区間で出力の対象とする予測モデルを特定するために用いられる。
【0043】
測定部234は、ジョブ実行システム30の消費電力を測定する。測定部234による測定の結果は、特定部235による予測モデルの特定に用いられる。また、学習装置10は、測定部234によって測定された消費電力を取得し、電力履歴DB121を作成してもよい。
【0044】
特定部235は、電力予測対象の実行中ジョブについて、入手した現在の時刻を含む所定間隔の電力波形と予測部233が予測した電力波形とを比較し、類似する時系列予測モデルを特定する。ここで、予測部233は、所定間隔ごとに、分類したグループごとに構築した時系列予測モデルから現在の時刻を含む所定間隔の電力波形を予測するものとする。
【0045】
特定部235は、さらに、第1のジョブの全区間にわたる電力波形と最も類似する第1の時系列予測モデルを特定する。このとき、特定部235は特定した第1の時系列予測モデルに対応するグループと、第1のジョブの実行ユーザとを対応付けてユーザ情報221を作成する。そして、特定部235は、第1のジョブの実行ユーザと同一のユーザによって第2のジョブが実行される場合、当該第2のジョブの最初の所定区間の時系列予測モデルとして第1の時系列予測モデルを特定する。このとき、予測部233は、当該最初の所定区間の消費電力を、第1の時系列予測モデルを用いて予測する。
【0046】
図10は、予測処理を説明するための図である。図10に示すように、予測部233は、ある時間区間の消費電力を、グループAの予測モデル、グループBの予測モデル、グループCの予測モデルを使って予測する。そして、特定部235は、予測部233が予測した波形のうち、実行中のジョブの実際の波形との類似度が最も高い波形に対応する予測モデルを、次の時間区間の予測モデルとして特定する。これにより、時間区間ごとに予測結果を出力する予測モデルが最適なものに変更されていく。
【0047】
ここで、図11を用いて、制御装置20による制御処理の流れを説明する。図11は、制御処理を説明するための図である。まず、図11に示すように、予測部233は、分類部232によって分類されたグループに対応する予測モデルを使って、キュー内のジョブの消費電力を予測する(ステップS1)。スケジュール制御部231は、消費電力の予測結果を基にジョブ実行のスケジュールを制御する(ステップS2)。
【0048】
さらに、予測部233は、実行中のジョブの消費電力を予測する(ステップS3)。このとき、測定部234は、実行中のジョブの実際の消費電力を測定する(ステップS4)。そして、特定部235は、予測部233が予測した消費電力と測定部234が測定した消費電力とを比較し、次に使用する予測モデルを特定する(ステップS5)。
【0049】
予測部233は、実行中の全ジョブの消費電力を予測し(ステップS6)、予測結果に基づいて制御対象のジョブをスケジュール制御部231に対して指定する(ステップS7)。例えば、予測部233は、全体の消費電力が契約電力を超えることが予想される時刻に実行されている予定のジョブを指定する。
【0050】
[処理の流れ]
図12を用いて、学習装置10による予測モデルの学習処理の流れを説明する。図12は、予測モデルの学習処理の流れを示すフローチャートである。図12に示すように、まず、学習装置10は、ジョブの消費電力の波形をグループに分類する(ステップS11)。そして、学習装置10は、消費電力の波形を基にグループごとの予測モデルを構築する(ステップS12)。
【0051】
図13を用いて、学習装置10による分類モデルの学習処理の流れを説明する。図13は、分類モデルの学習処理の流れを示すフローチャートである。図13に示すように、まず、学習装置10は、分類モデルを用いて、グループが既知であるジョブを、投入時情報を基に分類する(ステップS21)。そして、学習装置10は、分類結果に基づいて分類モデルを最適化する(ステップS22)。
【0052】
図14を用いて、制御装置20による制御処理の流れを説明する。図14は、制御処理の流れを示すフローチャートである。図14に示すように、まず、制御装置20は、分類モデルを用いて投入時情報を基にジョブを分類する(ステップS31)。
【0053】
次に、制御装置20は、キュー内のジョブの消費電力を予測する(ステップS32)。制御装置20は、予測結果に基づきジョブのスケジューリングを行う(ステップS33)。そして、制御装置20は、実行中のジョブの消費電力を予測し、ジョブのスケジューリングを行う(ステップS34)。
【0054】
ここで、ステップ34の予測処理の例を2通り説明する。以降の説明では、予測部233からスケジュール制御部231に出力され、スケジューリングに利用される消費電力の予測値を電力推定値と呼ぶ。
【0055】
図15を用いて、予測処理の第1の例について説明する。図15は、予測処理の流れを示すフローチャートである。図15に示すように、まず、制御装置20は、初期電力予測モデルの予測値を電力推定値として出力する(ステップS341a)。ここで、初期電力予測モデルとは、最初の区間の電力推定値を予測するための予測モデルである。例えば、初期電力予測モデルは、ユーザ情報221において、ジョブの実行ユーザに対応付けられた予測モデルである。
【0056】
次に、制御装置20は、全M個の予測モデルに対して時刻t0にて過去ΔT区間の実測値と予測値のユークリッド距離dを計算する(ステップS342a)。そして、制御装置20は、dが最も小さい予測値を電力推定値として出力する(ステップS343a)。
【0057】
制御装置20は、予測結果に基づきスケジューリングを行う(ステップS344a)。Δt秒経過後(ステップS345a、Yes)、ジョブが終了していない場合(ステップS346a、No)、制御装置20は、ステップS342aに戻り処理を繰り返す。
【0058】
一方、Δt秒経過後(ステップS345a、Yes)、ジョブが終了している場合(ステップS346a、Yes)、制御装置20は、次の処理へ進む。制御装置20は、全M個の予測モデルに対して全区間の実測値と予測値のユークリッド距離dallを計算する(ステップS347a)。
【0059】
制御装置20は、dallが最も小さい予測値を出力した予測モデルを、そのジョブの正しい予測モデルとしてログに出力する(ステップS348a)。例えば、制御装置20は、ユーザ情報221を介して、ログの情報を同じユーザの次のジョブの初期電力予測モデルに設定する。
【0060】
図16は、実行時間のずれについて説明するための図である。図16に示すように、各ジョブの電力波形はいくつかのパタンから構成され、予測値が一部のパタンと合致すれば予測が可能になる。図17は、対象区間のスライドについて説明するための図である。予測処理の第1の例では、図17のように、対象区間をスライドさせつつ予測を行う。このため、予測処理の第1の例によれば、一定の計算量で予測を行うことができる。
【0061】
図18を用いて、予測処理の第2の例について説明する。図18は、予測処理の流れを示すフローチャートである。図18に示すように、まず、制御装置20は、初期電力予測モデルの予測値を電力推定値として出力する(ステップS341b)。
【0062】
次に、制御装置20は、全M個の予測モデルに対して時刻t0にて過去の実行区間全ての実測値と予測値のユークリッド距離dを計算する(ステップS342b)。そして、制御装置20は、dが最も小さい予測値を電力推定値として出力する(ステップS343b)。
【0063】
制御装置20は、予測結果に基づきスケジューリングを行う(ステップS344b)。Δt秒経過後(ステップS345b、Yes)、ジョブが終了していない場合(ステップS346b、No)、制御装置20は、ステップS342bに戻り処理を繰り返す。
【0064】
一方、Δt秒経過後(ステップS345b、Yes)、ジョブが終了している場合(ステップS346b、Yes)、制御装置20は、次の処理へ進む。制御装置20は、全M個の予測モデルに対して全区間の実測値と予測値のユークリッド距離dallを計算する(ステップS347b)。
【0065】
制御装置20は、dallが最も小さい予測値を出力した予測モデルを、そのジョブの正しい予測モデルとしてログに出力する(ステップS348b)。例えば、制御装置20は、ユーザ情報221を介して、ログの情報を同じユーザの次のジョブの初期電力予測モデルに設定する。
【0066】
図19は、対象区間の伸長について説明するための図である。予測処理の第2の例では、図19のように、時刻が進むにしたがい対象区間が伸びていく。このため、予測処理の第2の例によれば、時刻がある程度進んだときの予測の精度が向上する。
【0067】
[効果]
これまで説明したように、分類部131は、システムで実行されたジョブの実行時間と消費電力の情報の類似性に基づいて、ジョブを複数のグループに分類する。構築部133は、分類部131が分類したグループごとに、各グループに含まれる電力波形を教師データにして時系列予測モデルを構築する。予測部233は、所定間隔ごとに、分類したグループごとに構築した時系列予測モデルから現在の時刻を含む所定間隔の電力波形を予測する。特定部235は、電力予測対象の実行中ジョブについて、入手した現在の時刻を含む所定間隔の電力波形と予測した電力波形とを比較し、類似する時系列予測モデルを特定する。予測部233は、特定した時系列予測モデルに基づいて電力予測対象のジョブについての次の所定間隔の消費電力を予測する。スケジュール制御部231は、予測した消費電力からジョブの実行を制御する。このように、ジョブスケジューラは、実行中のジョブの電力消費パタンが時間経過とともに変化する場合であっても、変化にあわせた予測モデルを用いて消費電力を予測することができる。このため、実施例1によれば、システムの消費電力を精度良く予測することができる。
【0068】
特定部235は、さらに、第1のジョブの全区間にわたる電力波形と最も類似する第1の時系列予測モデルを特定し、第1のジョブの実行ユーザと同一のユーザによって第2のジョブが実行される場合、当該第2のジョブの最初の所定区間の時系列予測モデルとして第1の時系列予測モデルを特定する。同一のユーザは電力消費パタンが類似したジョブを実行する場合がある。このため、実施例1によれば、最初の区間であっても精度の高い予測が可能になる。
【0069】
決定部132は、分類したグループに含まれるジョブの投入時に設定される投入時情報が各グループに分類されるように投入時情報の各情報の重みを決定する。分類部131は、電力予測対象の投入時情報に決定した各情報に重みを付与した結果に応じて、投入時情報をグループに分類する。予測部233は、分類したグループの時系列予測モデルから消費電力を予測する。このように、ジョブスケジューラは、キュー内のジョブの消費電力パタンを投入時情報から予測することができる。このため、このため、実施例1によれば、システムの消費電力を精度良く予測することができる。
【0070】
図20は、実施例の効果を示す図である。図20に示すように、実施例では、同一グループに属する複数のジョブの過去の電力波形を基に予測を行うため、従来と比較して実績値と予測値のかい離を小さく抑えることができるようになる。
【0071】
なお、上記の実施例では、学習装置10と制御装置20を異なる装置として説明したが、学習装置10の学習機能は制御装置20の機能に含まれていてもよい。また、予測部233は、分類モデルによって分類されたグループの予測モデルを初期電力予測モデルとして用いてもよい。
【0072】
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値等は、あくまで一例であり、任意に変更することができる。
【0073】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0074】
[ハードウェア]
図21は、ハードウェア構成例を説明する図である。図21に示すように、制御装置20は、通信インタフェース20a、HDD(Hard Disk Drive)20b、メモリ20c、プロセッサ20dを有する。また、図21に示した各部は、バス等で相互に接続される。なお、学習装置10も制御装置20と同様のハードウェア構成により実現される。
【0075】
通信インタフェース20aは、ネットワークインタフェースカード等であり、他のサーバとの通信を行う。HDD20bは、ジョブスケジューラやDBを記憶する。
【0076】
プロセッサ20dは、図8に示した各処理部と同様の処理を実行するプログラム(ジョブスケジューラ)をHDD20b等から読み出してメモリ20cに展開することで、図8等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、制御装置20が有する各処理部と同様の機能を実行する。具体的には、プロセッサ20dは、スケジュール制御部231、分類部232、予測部233、測定部234及び特定部235と同様の機能を有するプログラムをHDD20b等から読み出す。そして、プロセッサ20dは、スケジュール制御部231、分類部232、予測部233、測定部234及び特定部235等と同様の処理を実行するプロセスを実行する。プロセッサ20dは、例えば、CPU、MPU、ASIC等のハードウェア回路である。
【0077】
このように制御装置20は、プログラムを読み出して実行することで分類方法を実行する情報処理装置として動作する。また、制御装置20は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、制御装置20によって実行されることに限定されるものではない。例えば、他のコンピュータ又はサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【0078】
このプログラムは、インターネット等のネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
【符号の説明】
【0079】
10 学習装置
11、21 入出力部
12、22 記憶部
13、23 制御部
20 制御装置
30 ジョブ実行システム
121 電力履歴DB
122、222 分類モデル情報
123、223 予測モデル情報
131、232 分類部
132 決定部
133 構築部
221 ユーザ情報
231 スケジュール制御部
233 予測部
234 測定部
235 特定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21