(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-22
(45)【発行日】2022-12-01
(54)【発明の名称】電力推定プログラム、電力推定装置及び電力推定方法
(51)【国際特許分類】
G06F 11/30 20060101AFI20221124BHJP
G06F 11/34 20060101ALI20221124BHJP
G06F 1/329 20190101ALI20221124BHJP
【FI】
G06F11/30 162
G06F11/30 140E
G06F11/34 142
G06F1/329
(21)【出願番号】P 2019031539
(22)【出願日】2019-02-25
【審査請求日】2021-11-09
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100094525
【氏名又は名称】土井 健二
(74)【代理人】
【識別番号】100094514
【氏名又は名称】林 恒徳
(72)【発明者】
【氏名】鈴木 成人
(72)【発明者】
【氏名】山本 拓司
(72)【発明者】
【氏名】白神 美智子
(72)【発明者】
【氏名】白石 崇
【審査官】多賀 実
(56)【参考文献】
【文献】特開2018-084907(JP,A)
【文献】特開2015-049562(JP,A)
【文献】山本 啓二 外6名,「過去の実行実績を利用したジョブの消費電力予測」,情報処理学会研究報告 ハイパフォーマンスコンピューティング(HPC) [online],情報処理学会,2015年09月23日,第2015-HPC-151巻, 第2号,pp.1-7,[2015年10月8日 検索], インターネット:<URL: https://ipsj.ixsq.nii.ac.jp/ej/?action=repository_uri&item_id=145085&file_id=1&file_no=1>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 1/26-1/3296
G06F 9/455-9/54
G06F 11/07
G06F 11/28-11/36
G06Q 10/00-10/10
G06Q 50/00-50/34
(57)【特許請求の範囲】
【請求項1】
新たなジョブを受け付けたことに応じて、前記新たなジョブに関する第1ジョブ情報を特定し、
過去に実行された各ジョブに関する第2ジョブ情報と、各ジョブの実行時における電力情報とを対応付けて記憶する記憶部を参照し、前記第2ジョブ情報のうち、前記第1ジョブ情報との間における一致状況が第1条件を満たす所定数の第3ジョブ情報を特定し、
特定した前記第3ジョブ情報ごとに、前記第1ジョブ情報との間における一致状況が第2条件を満たすか否かを判定し、
前記一致状況が第2条件を満たすか否かの判定結果に基づき、前記第3ジョブ情報のうちのいずれかのジョブ情報を特定し、
前記記憶部を参照し、特定した前記いずれかのジョブ情報に対応付けられた前記電力情報を特定し、
特定した前記電力情報に対して前記判定結果に応じた補正を行った電力情報を、前記新たなジョブの実行時における電力情報として推定する、
処理をコンピュータに実行させることを特徴とする電力推定プログラム。
【請求項2】
請求項1において、
前記第3ジョブ情報を特定する処理では、
前記第2ジョブ情報ごとに、前記第1ジョブ情報との間において内容が一致する情報の割合を特定し、
前記第2ジョブ情報のうち、特定した前記割合が高い前記所定数の第2ジョブ情報を前記第3ジョブ情報として特定する、
ことを特徴とする電力推定プログラム。
【請求項3】
請求項2において、
前記第3ジョブ情報を特定する処理では、前記第2ジョブ情報を学習したトピックモデルに対する前記第1ジョブ情報の入力に伴って出力される前記所定数のジョブ情報を、前記第3ジョブ情報として特定する、
ことを特徴とする電力推定プログラム。
【請求項4】
請求項1において、さらに、
過去に実行されたジョブごとに、前記第2ジョブ情報から、各ジョブに関するジョブ情報との間において内容が一致する情報の割合が最も高い他のジョブ情報である第4ジョブ情報を特定し、
過去に実行されたジョブごとに、各ジョブに関するジョブ情報に含まれる各項目の情報と、各ジョブに対応する前記第4ジョブ情報に含まれる各項目の情報とが一致するか否かを示す比較情報を特定し、
前記記憶部を参照し、過去に実行されたジョブごとに、各ジョブに関するジョブ情報に対応する第1電力情報と、各ジョブに対応する前記第4ジョブ情報に対応する第2電力情報とを特定し、
過去に実行されたジョブごとに、前記第1電力情報と前記第2電力情報との類似状態を示す類似情報を特定し、
特定した前記比較情報ごとに、特定した前記類似情報のうち、前記第1電力情報と前記第2電力情報とが類似していることを示す類似情報の第1割合と、前記第1電力情報と前記第2電力情報とがジョブの実行時における消費電力に関して類似していないことを示す類似情報の第2割合と、前記第1電力情報と前記第2電力情報とがジョブの実行時間に関して類似していないことを示す類似情報の第3割合と、前記第1電力情報と前記第2電力情報とがジョブの実行時間及びジョブの実行時における消費電力に関して類似していないことを示す類似情報の第4割合とをそれぞれ特定する、
処理をコンピュータに実行させ、
前記第2条件を満たすか否かを判定する処理では、特定した前記第1割合と前記第2割合と前記第3割合と前記第4割合とに基づいて、前記第3ジョブ情報ごとに、前記第1ジョブ情報との間における情報の一致状況が前記第2条件を満たすか否かの判定を行う、
ことを特徴とする電力推定プログラム。
【請求項5】
請求項4において、
前記第2条件を満たすか否かを判定する処理では、前記第3ジョブ情報ごとに、前記第1ジョブ情報との間における前記比較情報に対応する前記第1割合が所定値以上であるか否かを判定し、
前記いずれかのジョブ情報を特定する処理では、前記第1割合が前記所定値以上である情報が前記第3ジョブ情報に存在する場合、前記第3ジョブ情報のうち、前記第1割合が前記所定値以上である情報を、前記いずれかのジョブ情報として特定し、
前記電力情報を推定する処理では、前記電力情報を特定する処理において特定された前記電力情報を、前記新たなジョブの実行時における電力情報として推定する、
ことを特徴とする電力推定プログラム。
【請求項6】
請求項4において、
前記第2条件を満たすか否かを判定する処理では、前記第3ジョブ情報ごとに、前記第1ジョブ情報との間における前記比較情報に対応する前記第1割合が所定値以上であるか否かを判定し、
前記いずれかのジョブ情報を特定する処理では、前記第1割合が前記所定値以上である情報が前記第3ジョブ情報に存在しない場合、前記第3ジョブ情報のうち、前記第1ジョブ情報との間において内容が一致する情報の割合が最も高い第3ジョブ情報を、前記いずれかのジョブ情報として特定する、
ことを特徴とする電力推定プログラム。
【請求項7】
請求項6において、さらに、
前記第1割合が前記所定値以上である情報が前記第3ジョブ情報に存在しない場合、前記いずれかのジョブ情報に対応する前記第2割合と前記第3割合と前記第4割合とのうち、最も高い割合を特定し、
特定した前記最も高い割合が前記第4割合である場合、消費電力が予め指定された最大消費電力に対応し、実行時間が予め指定されたジョブの最大実行時間に対応する前記電力情報を、前記新たなジョブの実行に要する前記電力情報として推定する、
処理をコンピュータに実行させることを特徴とする電力推定プログラム。
【請求項8】
請求項6において、さらに、
前記第1割合が前記所定値以上である情報が前記第3ジョブ情報に存在しない場合、前記いずれかのジョブ情報に対応する前記第2割合と前記第3割合と前記第4割合とのうち、最も高い割合を特定する、
処理をコンピュータに実行させ、
前記電力情報を推定する処理では、特定した前記最も高い割合が前記第3割合である場合、前記電力情報を特定する処理において特定された前記電力情報における実行時間が、予め指定されたジョブの最大実行時間と所定の補正係数との積である実行時間になるように、前記電力情報の補正を行う、
ことを特徴とする電力推定プログラム。
【請求項9】
請求項8において、さらに、
過去に実行された1以上のジョブからなる算出単位ごとに、各ジョブの実行時間を各ジョブに対応する前記最大実行時間で除算することによって算出した値の平均値を、前記所定の補正係数として算出する、
ことを特徴とする電力推定プログラム。
【請求項10】
請求項9において、さらに、
前記算出単位ごとに、各ジョブに対応する前記値から標準偏差を算出する、
処理をコンピュータに実行させ、
前記所定の補正係数を算出する処理では、算出した前記標準偏差が閾値を上回る前記算出単位が存在する場合、存在する前記算出単位に含まれるジョブの前記所定の補正係数を、存在する前記算出単位よりも小さい算出単位ごとに再度算出する、
ことを特徴とする電力推定プログラム。
【請求項11】
請求項6において、さらに、
前記第1割合が前記所定値以上である情報が前記第3ジョブ情報に存在しない場合、前記いずれかのジョブ情報に対応する前記第2割合と前記第3割合と前記第4割合とのうち、最も高い割合を特定する、
処理をコンピュータに実行させ、
前記電力情報を推定する処理では、特定した前記最も高い割合が前記第2割合である場合、前記電力情報を特定する処理において特定された前記電力情報における消費電力が、前記新たなジョブの実行時におけるノード数と、前記いずれかのジョブ情報に対応するジョブの実行時におけるノードあたりの消費電力と、所定の補正係数との積である消費電力になるように、前記電力情報の補正を行う、
ことを特徴とする電力推定プログラム。
【請求項12】
請求項11において、さらに、
過去に実行された1以上のジョブからなる算出単位ごとに、各ジョブの実行時におけるノード数と、各ジョブの実行時におけるノードあたりの消費電力との対応関係を示す平面上の各座標を用いることにより、前記所定の補正係数を示す非線形回帰式を最小二乗法によって算出する、
処理をコンピュータに実行させることを特徴とする電力推定プログラム。
【請求項13】
請求項12において、さらに、
過去に実行されたジョブごとに、前記電力情報を推定する処理において推定した各ジョブの前記電力情報における消費電力と、各ジョブの実行時における消費電力との誤差を算出し、
算出した前記誤差が閾値を上回るジョブが存在する場合、存在する前記ジョブを含む算出単位の前記所定の補正係数を、存在する前記ジョブを含む算出単位よりも小さい算出単位ごとに再度算出する、
処理をコンピュータに実行させることを特徴とする電力推定プログラム。
【請求項14】
新たなジョブを受け付けたことに応じて、前記新たなジョブに関する第1ジョブ情報を特定する情報特定部と、
過去に実行された各ジョブに関する第2ジョブ情報と、各ジョブの実行時における電力情報とを対応付けて記憶する記憶部を参照し、前記第2ジョブ情報のうち、前記第1ジョブ情報との間における一致状況が第1条件を満たす所定数の第3ジョブ情報を特定する候補特定部と、
特定した前記第3ジョブ情報ごとに、前記第1ジョブ情報との間における一致状況が第2条件を満たすか否かを判定する状況判定部と、
前記一致状況が第2条件を満たすか否かの判定結果に基づき、前記第3ジョブ情報のうちのいずれかのジョブ情報を特定する候補決定部と、
前記記憶部を参照し、特定した前記いずれかのジョブ情報に対応付けられた前記電力情報を特定する電力特定部と、
特定した前記電力情報に対して前記判定結果に応じた補正を行った電力情報を、前記新たなジョブの実行時における電力情報として推定する電力推定部と、を有する、
ことを特徴とする電力推定装置。
【請求項15】
新たなジョブを受け付けたことに応じて、前記新たなジョブに関する第1ジョブ情報を特定し、
過去に実行された各ジョブに関する第2ジョブ情報と、各ジョブの実行時における電力情報とを対応付けて記憶する記憶部を参照し、前記第2ジョブ情報のうち、前記第1ジョブ情報との間における一致状況が第1条件を満たす所定数の第3ジョブ情報を特定し、
特定した前記第3ジョブ情報ごとに、前記第1ジョブ情報との間における一致状況が第2条件を満たすか否かを判定し、
前記一致状況が第2条件を満たすか否かの判定結果に基づき、前記第3ジョブ情報のうちのいずれかのジョブ情報を特定し、
前記記憶部を参照し、特定した前記いずれかのジョブ情報に対応付けられた前記電力情報を特定し、
特定した前記電力情報に対して前記判定結果に応じた補正を行った電力情報を、前記新たなジョブの実行時における電力情報として推定する、
処理をコンピュータに実行させることを特徴とする電力推定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電力推定プログラム、電力推定装置及び電力推定方法に関する。
【背景技術】
【0002】
例えば、大量の電力を消費する大規模計算システムを稼働させる事業者は、必要に応じて、電力会社との間において電力使用に関する契約を行う。具体的に、事業者は、例えば、所定の期間(例えば、1年間)に含まれる単位時間内(例えば、30分間)における消費電力量が契約電力量を超過したか否かに応じて、次の所定の期間(例えば、次の1年間)の電力料金が決定する旨の契約を行う。
【0003】
そのため、事業者は、この場合、単位時間ごとの消費電力量が契約電力量を超過しないように、各ジョブの実行タイミングのスケジューリングを行う(例えば、特許文献1乃至7参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2014-217091号公報
【文献】特開2011-108045号公報
【文献】特開2015-049562号公報
【文献】特開2016-071841号公報
【文献】国際公開第2017/131043号
【文献】特開2015-090691号公報
【文献】特開平9-022402号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、上記のようにジョブの実行タイミングのスケジューリングを行う場合、事業者は、例えば、過去に実行が行われたジョブに関するジョブ情報の中から、実行対象のジョブに関する各種情報であるジョブ情報と類似するジョブ情報を特定する。そして、事業者は、特定したジョブ情報に対応するジョブの実行時における消費電力を含む情報(以下、電力情報とも呼ぶ)を、実行対象のジョブに対応する電力情報として推定する。これにより、事業者は、実行対象のジョブについての実行タイミングのスケジューリングを行うことが可能になる。
【0006】
しかしながら、実行対象のジョブに対応する電力情報は、ジョブ情報が類似する他のジョブの電力情報と類似しない場合がある。そのため、事業者は、ジョブの実行時における電力情報を精度良く推定することができない場合がある。
【0007】
そこで、一つの側面では、本発明は、ジョブの実行が行われる際の電力情報を精度良く推定することを可能とする電力推定プログラム、電力推定装置及び電力推定方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
実施の形態の一態様では、新たなジョブを受け付けたことに応じて、前記新たなジョブに関する第1ジョブ情報を特定し、過去に実行された各ジョブに関する第2ジョブ情報と、各ジョブの実行時における電力情報とを対応付けて記憶する記憶部を参照し、前記第2ジョブ情報のうち、前記第1ジョブ情報との間における一致状況が第1条件を満たす所定数の第3ジョブ情報を特定し、特定した前記第3ジョブ情報ごとに、前記第1ジョブ情報との間における一致状況が第2条件を満たすか否かを判定し、前記一致状況が第2条件を満たすか否かの判定結果に基づき、前記第3ジョブ情報のうちのいずれかのジョブ情報を特定し、前記記憶部を参照し、特定した前記いずれかのジョブ情報に対応付けられた前記電力情報を特定し、特定した前記電力情報に対して前記判定結果に応じた補正を行った電力情報を、前記新たなジョブの実行時における電力情報として推定する、処理をコンピュータに実行させる。
【発明の効果】
【0009】
一つの側面によれば、ジョブの実行が行われる際の電力情報を精度良く推定することを可能とする。
【図面の簡単な説明】
【0010】
【
図1】
図1は、情報処理システム10の構成について説明する図である。
【
図2】
図2は、情報処理装置1のハードウエア構成を説明する図である。
【
図3】
図3は、情報処理装置1の機能のブロック図である。
【
図4】
図4は、第1の実施の形態における電力推定処理の概略を説明するフローチャート図である。
【
図5】
図5は、第1の実施の形態における電力推定処理の詳細を説明するフローチャート図である。
【
図6】
図6は、第1の実施の形態における電力推定処理の詳細を説明するフローチャート図である。
【
図7】
図7は、第1の実施の形態における電力推定処理の詳細を説明するフローチャート図である。
【
図8】
図8は、第1の実施の形態における電力推定処理の詳細を説明するフローチャート図である。
【
図9】
図9は、第1の実施の形態における電力推定処理の詳細を説明するフローチャート図である。
【
図10】
図10は、第1の実施の形態における電力推定処理の詳細を説明するフローチャート図である。
【
図11】
図11は、第1の実施の形態における電力推定処理の詳細を説明するフローチャート図である。
【
図12】
図12は、第1の実施の形態における電力推定処理の詳細を説明するフローチャート図である。
【
図13】
図13は、第1の実施の形態における電力推定処理の詳細を説明するフローチャート図である。
【
図14】
図14は、第1の実施の形態における電力推定処理の詳細を説明するフローチャート図である。
【
図15】
図15は、第1の実施の形態における電力推定処理の詳細を説明するフローチャート図である。
【
図16】
図16は、第1の実施の形態における電力推定処理の詳細を説明するフローチャート図である。
【
図17】
図17は、第1の実施の形態における電力推定処理の詳細を説明するフローチャート図である。
【
図18】
図18は、第1の実施の形態における電力推定処理の詳細を説明するフローチャート図である。
【
図19】
図19は、第1の実施の形態における電力推定処理の詳細を説明するフローチャート図である。
【
図20】
図20は、ジョブ情報131の具体例を説明する図である。
【
図21】
図21は、S23の処理の具体例を説明する図である。
【
図22】
図22は、電力情報132の具体例を説明する図である。
【
図23】
図23は、S25の処理の具体例を説明する図である。
【
図24】
図24は、割合情報134の具体例を説明する図である。
【
図25】
図25は、第1係数情報135aの具体例について説明する図である。
【
図26】
図26は、第2係数情報135bの具体例について説明する図である。
【
図27】
図27は、第1係数情報135aの具体例について説明する図である。
【
図28】
図28は、第2係数情報135bの具体例について説明する図である。
【発明を実施するための形態】
【0011】
[情報処理システムの構成]
初めに、情報処理システム10の構成について説明を行う。
図1は、情報処理システム10の構成について説明する図である。
【0012】
図1に示すように、情報処理システム10は、例えば、1台以上の物理マシンからなる情報処理装置1と、担当者が情報の入力等を行う操作端末5とを含む。
【0013】
情報処理装置1は、実行タイミングのスケジューリングを行う必要がある各ジョブの実行時における電力情報を推定する。そして、情報処理装置1は、推定した電力情報に基づいて、各ジョブの実行タイミングのスケジューリングを行う。
【0014】
具体的に、情報処理装置1は、例えば、実行タイミングのスケジューリングを行う必要がある各ジョブ(以下、新たなジョブとも呼ぶ)に関するジョブ情報(以下、第1ジョブ情報とも呼ぶ)を特定する。そして、情報処理装置1は、過去に実行された各ジョブに関するジョブ情報(以下、第2ジョブ情報とも呼ぶ)と、各ジョブの実行時における電力情報とを対応付けて記憶する記憶部130を参照し、第2ジョブ情報のうち、第1ジョブ情報との間における一致状況が所定の条件(以下、第1条件とも呼ぶ)を満たす所定数のジョブ情報(以下、第3ジョブ情報とも呼ぶ)を特定する。さらに、情報処理装置1は、特定した第3ジョブ情報ごとに、第1ジョブ情報との間における一致状況が所定の条件(以下、第2条件とも呼ぶ)を満たすか否かを判定し、その判定結果に基づき、第3ジョブ情報のうちのいずれかのジョブ情報を特定する。
【0015】
その後、情報処理装置1は、記憶部130を参照し、特定したジョブ情報に対応付けられた電力情報を特定する。そして、情報処理装置1は、特定した電力情報に対して判定結果に応じた補正を行った電力情報を、新たなジョブの実行時における電力情報として推定する。
【0016】
すなわち、情報処理装置1は、例えば、過去に実行された各ジョブに対応する第2ジョブ情報のうち、これから実行を行う新たなジョブに対応する第1ジョブ情報と類似する所定数の第3ジョブ情報を特定する。そして、情報処理装置1は、例えば、特定した第3ジョブ情報のうち、第1ジョブ情報と最も類似するジョブ情報(以下、類似ジョブ情報とも呼ぶ)に対応するジョブの電力情報を特定する。さらに、情報処理装置1は、例えば、特定した電力情報に対して、第1ジョブ情報と類似ジョブ情報との類似状態に応じた補正を行った電力情報を、新たなジョブの電力情報として特定する。
【0017】
これにより、情報処理装置1は、新たなジョブの実行時における電力情報を精度良く推定することを可能とする。そのため、情報処理装置1は、各ジョブの実行に伴う電力料金の上昇を抑えることが可能になる。
【0018】
[情報処理システムのハードウエア構成]
次に、情報処理システム10のハードウエア構成について説明する。
図2は、情報処理装置1のハードウエア構成を説明する図である。
【0019】
情報処理装置1は、
図2に示すように、プロセッサであるCPU101と、メモリ102と、外部インターフェース(I/Oユニット)103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
【0020】
記憶媒体104は、例えば、各ジョブの実行時における電力情報を推定する処理(以下、電力推定処理とも呼ぶ)を行うためのプログラム110を記憶するプログラム格納領域(図示しない)を有する。また、記憶媒体104は、例えば、電力推定処理を行う際に用いられる情報を記憶する記憶部130(以下、情報格納領域130とも呼ぶ)を有する。なお、記憶媒体104は、例えば、HDD(Hard Disk Drive)やSSD(Sokid State Drive)であってよい。
【0021】
CPU101は、記憶媒体104からメモリ102にロードされたプログラム110を実行して電力推定処理を行う。
【0022】
また、外部インターフェース103は、例えば、操作端末5と通信を行う。
【0023】
[情報処理システムの機能]
次に、情報処理システム10の機能について説明を行う。
図3は、情報処理装置1の機能のブロック図である。
【0024】
情報処理装置1は、
図3に示すように、例えば、CPU101やメモリ102等のハードウエアとプログラム110とが有機的に協働することにより、情報受付部111と、情報特定部112と、情報管理部113と、候補特定部114と、状況判定部115と、候補決定部116と、電力特定部117と、電力推定部118と、モデル生成部119と、情報生成部120と、係数算出部121と、情報出力部122とを含む各種機能を実現する。
【0025】
また、情報処理装置1は、例えば、
図3に示すように、ジョブ情報131と、電力情報132と、トピックモデル133と、割合情報134と、係数情報135と、推定情報136とを情報格納領域130に記憶する。なお、以下、ジョブ情報131を、必要に応じて第1ジョブ情報131a、第2ジョブ情報131bまたは第3ジョブ情報131cとも呼ぶ。
【0026】
情報受付部111は、例えば、実行タイミングのスケジューリングを行う必要がある新たなジョブを受け付ける。
【0027】
情報特定部112は、情報受付部111が受け付けた新たなジョブに関する第1ジョブ情報131aを特定する。ジョブ情報131は、例えば、ジョブの識別情報(以下、ジョブIDとも呼ぶ)やジョブの実行を行うユーザの名称(以下、ユーザ名とも呼ぶ)を含む情報である。
【0028】
情報管理部113は、例えば、情報特定部112が特定したジョブ情報131を情報格納領域130に記憶する。
【0029】
候補特定部114は、例えば、過去に実行された各ジョブに関する第2ジョブ情報131bと、各ジョブの実行に要した電力情報132との対応関係を学習することによって生成したトピックモデル133を用いることにより、第2ジョブ情報131bのうち、第1ジョブ情報131aとの間における一致状況が第1条件を満たす所定数の第3ジョブ情報131cを特定する。具体的に、候補特定部114は、例えば、第2ジョブ情報131bのうち、第1ジョブ情報131aとの間において内容が一致する情報の割合が高い所定数のジョブ情報131を、第1条件を満たす所定数の第3ジョブ情報131cとして特定する。
【0030】
状況判定部115は、候補特定部114が特定した第3ジョブ情報131cごとに、第1ジョブ情報131aとの間における一致状況が第2条件を満たすか否かを判定する。具体的に、状況判定部115は、例えば、第3ジョブ情報131cのうち、第1ジョブ情報131aとの間において内容が一致する情報の割合が最も高いジョブ情報131を、第2条件を満たす第3ジョブ情報131cとして特定する。
【0031】
候補決定部116は、状況判定部115による判定結果に基づき、第3ジョブ情報131cのうちのいずれかのジョブ情報131を特定する。具体的に、候補決定部116は、例えば、第3ジョブ情報131cのうち、第1ジョブ情報131aとの間において内容が一致する情報の割合が最も高いジョブ情報131を特定する。
【0032】
電力特定部117は、情報格納領域130に記憶した電力情報132から、候補決定部116が特定した第3ジョブ情報131cに対応付けられた電力情報132を特定する。電力情報132は、例えば、各ジョブの実行時における消費電力の推移を示す情報である。
【0033】
電力推定部118は、電力特定部117が特定した電力情報132に対して、状況判定部115による判定結果に応じた補正を行った電力情報132を、情報受付部111が受け付けた新たなジョブの実行時における電力情報132として推定する。
【0034】
モデル生成部119は、情報格納領域130に記憶したジョブ情報131を入力とすることによってトピックモデル133を生成する。
【0035】
情報生成部120は、情報格納領域130に記憶したジョブ情報131から割合情報134を生成する。割合情報134は、例えば、トピックモデル133を用いることによって推定した各ジョブの電力情報132の推定結果である推定情報136と、各ジョブの実際の電力情報132との一致状況を示す情報である。
【0036】
係数算出部121は、電力推定部118が用いる各種の補正係数を含む係数情報135を生成する。
【0037】
情報出力部122は、電力推定部118が推定した電力情報132を出力する。具体的に、情報出力部122は、例えば、操作端末5に対して電力情報132の出力を行う。
【0038】
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明する。
図4は、第1の実施の形態における電力推定処理の概略を説明するフローチャート図である。
【0039】
情報処理装置1は、
図4に示すように、新たなジョブを受け付けるまで待機する(S1のNO)。具体的に、情報処理装置1は、実行タイミングのスケジューリングを行う必要がある新たなジョブを受け付けるまで待機する。
【0040】
そして、新たなジョブを受け付けた場合(S1のYES)、情報処理装置1は、S1で受け付けた新たなジョブに関する第1ジョブ情報131aを特定する(S2)。
【0041】
続いて、情報処理装置1は、過去に実行された各ジョブに関する第2ジョブ情報131bと、各ジョブの実行に要した電力情報132とを対応付けて記憶する情報格納領域130を参照し、第2ジョブ情報131bのうち、第1ジョブ情報131aとの間における一致状況が第1条件を満たす所定数の第3ジョブ情報131cを特定する(S3)。
【0042】
次に、情報処理装置1は、S3の処理で特定した第3ジョブ情報131cごとに、第1ジョブ情報131aとの間における一致状況が第2条件を満たすか否かを判定する(S4)。
【0043】
そして、情報処理装置1は、S4における判定結果に基づき、第3ジョブ情報131cのうちのいずれかのジョブ情報131を特定する(S5)。
【0044】
その後、情報処理装置1は、S5で特定したジョブ情報131に対応付けられた電力情報132に対し、S4における判定結果に応じた補正を行った電力情報132を、S1で受け付けた新たなジョブの実行時における電力情報132として推定する(S6)。
【0045】
これにより、情報処理装置1は、新たなジョブの実行時における電力情報を精度良く推定することを可能とする。そのため、情報処理装置1は、各ジョブの実行に伴う電力料金の上昇を抑えることが可能になる。
【0046】
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。
図5から
図19は、第1の実施の形態における電力推定処理の詳細を説明するフローチャート図である。また、
図20から
図28は、第1の実施の形態における電力推定処理の詳細を説明する図である。
【0047】
[モデル生成処理]
初めに、トピックモデル133の生成を行う処理(以下、モデル生成処理)について説明を行う。
図5は、モデル生成処理を説明するフローチャート図である。
【0048】
情報処理装置1のモデル生成部119は、
図5に示すように、モデル生成タイミングになるまで待機する(S11のNO)。モデル生成タイミングは、例えば、担当者がトピックモデル133の生成を行う旨の情報を情報処理装置1に入力したタイミングであってよい。
【0049】
そして、モデル生成タイミングになった場合(S11のYES)、モデル生成部119は、情報格納領域130に記憶したジョブ情報131を入力することによってトピックモデル133の生成する(S12)。
【0050】
具体的に、モデル生成部119は、新たなジョブに関する第1ジョブ情報131aの入力に応じて、過去に実行されたジョブに関する第2ジョブ情報131bのうち、第1ジョブ情報131aとの間において内容が一致する情報の割合が最も高いジョブ情報131を出力するトピックモデル133の生成を行う。以下、ジョブ情報131の具体例について説明を行う。
【0051】
[ジョブ情報の具体例]
図20は、ジョブ情報131の具体例を説明する図である。
【0052】
図20に示すジョブ情報131は、各ジョブの識別情報であるジョブIDが記憶される「ジョブID」と、各ジョブを実行するユーザを名称であるユーザ名が記憶される「ユーザ名」と、各ユーザが属するグループ名が記憶される「グループ名」とを項目として有する。また、
図20に示すジョブ情報131は、各ジョブの実行時において呼び出されるアプリケーションの名称である「アプリ名」と、各ジョブの実行時において要求される実行ノード数である「100」と、各ジョブの実行時間として許容される最大時間である「実行最大時間」とを項目として有する。
【0053】
具体的に、
図20に示すジョブ情報131において、「ジョブ情報ID」が「JOBA3」である情報には、「ユーザ名」として「tanaka」が記憶され、「グループ名」として「RD」が記憶され、「アプリ名」として「app12」が記憶されている。また、
図20に示すジョブ情報131において、「ジョブ情報ID」が「JOBA3」である情報には、「要求ノード数」として「100(台)」が記憶され、「実行最大時間」として「24(h)」が記憶されている。
【0054】
[情報生成処理]
次に、割合情報134の生成を行う処理(以下、情報生成処理)について説明を行う。
図6は、情報生成処理を説明するフローチャート図である。
【0055】
情報処理装置1の情報生成部120は、
図6に示すように、情報生成タイミングになるまで待機する(S21のNO)。情報生成タイミングは、例えば、担当者が割合情報134の生成を行う旨の情報を情報処理装置1に入力したタイミングであってよい。また、情報生成タイミングは、例えば、定期的なタイミングであってもよい。
【0056】
そして、情報生成タイミングになった場合(S21のYES)、情報生成部120は、情報格納領域130に記憶したジョブ情報131ごとに、情報格納領域130に記憶した他のジョブ情報131の中から、内容が一致する情報の割合が最も高いジョブ情報131(以下、第4ジョブ情報131とも呼ぶ)を特定する(S22)。
【0057】
具体的に、情報生成部120は、例えば、S12の処理で生成したトピックモデル133に対して各ジョブ情報131を入力することにより、各ジョブ情報131と内容が一致する情報の割合が最も高い他のジョブ情報131の特定を行う。
【0058】
続いて、情報生成部120は、情報格納領域130に記憶したジョブ情報131ごとに、各ジョブ情報131に含まれる各項目の情報と、S22の処理で特定したジョブ情報131に含まれる各項目の情報との一致状況を示す比較情報を特定する(S23)。以下、S23の処理について説明を行う。
【0059】
[S23の処理の具体例]
図21は、S23の処理の具体例を説明する図である。
図21(A)は、情報格納領域130に記憶したジョブ情報131のうちの1つを説明する図である。また、
図21(B)は、S22の処理で特定したジョブ情報131のうち、
図21(A)に示すジョブ情報131と比較を行うジョブ情報131を説明する図である。さらに、
図21(C)は、
図21(A)に示すジョブ情報131と
図21(B)に示すジョブ情報131との比較情報の具体例である。
【0060】
具体的に、
図21(A)に示すジョブ情報131には、「ジョブID」として「JOBA3」が記憶され、「ユーザ名」として「tanaka」が記憶され、「グループ名」として「RD」が記憶され、「アプリ名」として「app12」が記憶されている。また、
図21(A)に示すジョブ情報131には、「要求ノード数」として「100(台)」が記憶され、「実行最大時間」として「24(h)」が記憶されている。
【0061】
一方、
図21(B)に示すジョブ情報131には、「ジョブID」として「JOBD2」が記憶され、「ユーザ名」として「tanaka」が記憶され、「グループ名」として「RD」が記憶され、「アプリ名」として「app15」が記憶されている。また、
図21(B)に示すジョブ情報131には、「要求ノード数」として「80(台)」が記憶され、「実行最大時間」として「15(h)」が記憶されている。
【0062】
すなわち、
図21(A)に示すジョブ情報131に含まれる項目のうち、
図21(B)に示すジョブ情報131と内容が一致する項目は、「ユーザ名」及び「グループ名」であり、内容が一致しない項目は、「ジョブID」、「アプリ名」、「要求ノード数」及び「実行最大時間」である。そのため、情報生成部120は、S23の処理において、例えば、
図21(C)に示すように、「ユーザ名」及び「グループ名」に対応する情報が「TRUE」であり、「ジョブID」、「アプリ名」、「要求ノード数」及び「実行最大時間」に対応する情報が「FALSE」である比較情報を生成する。
【0063】
図6に戻り、情報生成部120は、情報格納領域130に記憶したジョブ情報131ごとに、各ジョブ情報131に対応する電力情報132(以下、第1電力情報132とも呼ぶ)と、S22の処理で特定したジョブ情報131に対応する電力情報132(以下、第2電力情報132とも呼ぶ)とを特定する(S24)。以下、電力情報132の具体例について説明を行う。
【0064】
[電力情報の具体例]
図22は、電力情報132の具体例を説明する図である。
【0065】
図22に示す電力情報132は、各ジョブの識別情報であるジョブIDが記憶される「ジョブID」と、各ジョブの実行時間に含まれる単位時間(5分)ごとの1ノードあたりの平均消費電力が記憶される「5分」、「10分」及び「15分」等とを項目として有する。
【0066】
具体的に、
図22に示す電力情報132において、「JOBID」が「JOBA3」である情報には、「5分」として「300(kw)」が記憶され、「10分」として「360(kw)」が記憶され、「15分」として「200(kw)」が記憶されている。
図22に含まれる他の情報についての説明は省略する。
【0067】
図6に戻り、情報生成部120は、情報格納領域130に記憶したジョブ情報131ごとに、S24の処理で特定した第1電力情報132と第2電力情報132との類似状態を示す類似情報を特定する(S25)。
【0068】
すなわち、情報生成部120は、第1電力情報132と第2電力情報132とが類似しているか否かについての判定を行うことにより、S12の処理で生成したトピックモデル133が行う電力情報132の推定結果が妥当であったか否かについての判定を行う。以下、S25の処理の具体例について説明を行う。
【0069】
[S25の処理の具体例]
図23は、S25の処理の具体例を説明する図である。具体的に、
図23は、第1電力情報132及び第2電力情報132に含まれる各情報を、横軸が時間であって縦軸が1ノードあたりの消費電力である平面上にプロットした場合のグラフの具体例である。なお、
図23に示す例では、実線が第1電力情報132に対応する内容を示し、破線が第2電力情報132に対応する内容を示している。
【0070】
情報生成部120は、S25に処理において、例えば、第1電力情報132に含まれる各消費電力と第2電力情報132に含まれる各消費電力との平均二乗誤差(以下、電力誤差とも呼ぶ)を算出する。また、情報生成部120は、例えば、第1電力情報132に対応するジョブの実行時間と第2電力情報132に対応するジョブの実行時間との誤差(以下、時間誤差とも呼ぶ)を算出する。
【0071】
そして、情報生成部120は、例えば、
図23(A)に示す場合のように、電力誤差及び時間誤差のそれぞれが予め定められた閾値以下であるジョブが存在する場合、そのジョブの類似情報として「成功」を特定する。また、情報生成部120は、例えば、
図23(B)に示す場合のように、時間誤差が閾値以下であって電力誤差が閾値を上回るジョブが存在する場合、そのジョブの類似情報として「失敗A」を特定する。また、情報生成部120は、例えば、
図23(C)に示す場合のように、電力誤差が閾値以下であって時間誤差が閾値を上回るジョブが存在する場合、そのジョブの類似情報として「失敗B」を特定する。さらに、情報生成部120は、例えば、
図23(D)に示す場合のように、電力誤差及び時間誤差のそれぞれが閾値を上回るジョブが存在する場合、そのジョブの類似情報として「失敗C」を特定する。
【0072】
なお、情報生成部120は、例えば、電力誤差の閾値として「5.8(w)」を採用し、時間誤差の閾値として「10(分)」を採用するものであってよい。
【0073】
図6に戻り、情報生成部120は、S23の処理で特定した比較情報の内容ごとに、S25の処理で特定した類似情報のそれぞれに対応するジョブの割合を示す割合情報134を生成する(S26)。以下、割合情報134の具体例について説明を行う。
【0074】
[割合情報の具体例]
図24は、割合情報134の具体例を説明する図である。
【0075】
図24に示す割合情報134は、割合情報134に含まれる各情報を識別する「項番」と、
図21(C)で説明した類似情報と同じ情報が記憶される「ジョブID」、「ユーザ名」、「グループ名」、「アプリ名」、「要求ノード数」及び「実行最大時間」とを項目として有している。また、
図24に示す割合情報134は、類似情報が成功であるジョブの割合が記憶される「成功」と、類似情報が失敗Aであるジョブの割合が記憶される「失敗A」と、類似情報が失敗Bであるジョブの割合が記憶される「失敗B」と、類似情報が失敗Cであるジョブの割合が記憶される「失敗C」とを項目として有する。
【0076】
具体的に、
図24に示す割合情報134において、「項番」が「1」である情報には、「ジョブID」として「TRUE」が記憶され、「ユーザ名」として「TRUE」が記憶され、「グループ名」として「TRUE」が記憶され、「アプリ名」として「TRUE」が記憶され、「要求ノード数」として「TRUE」が記憶され、「実行最大時間」として「TRUE」が記憶されている。そして、
図24に示す割合情報134において、「項番」が「1」である情報には、「成功」として「80(%)」が記憶され、「失敗A」として「10(%)」が記憶され、「失敗B」として「10(%)」が記憶され、「失敗C」として「0(%)」が記憶されている。
【0077】
すなわち、
図24に示す割合情報134における「項番」が「1」である情報は、類似情報に含まれる全ての情報が「TRUE」であるジョブの電力情報132の推定が、80(%)の割合で成功したことを示している。また、「項番」が「1」である情報は、類似情報に含まれる全ての情報が「TRUE」であるジョブの電力情報132の推定において、失敗Aに該当する失敗が10(%)の割合で発生し、さらに、失敗Bに該当する失敗が10(%)の割合で発生することを示している。
【0078】
また、
図24に示す割合情報134において、「項番」が「2」である情報には、「ジョブID」として「FALSE」が記憶され、「ユーザ名」として「TRUE」が記憶され、「グループ名」として「TRUE」が記憶され、「アプリ名」として「TRUE」が記憶され、「要求ノード数」として「TRUE」が記憶され、「実行最大時間」として「TRUE」が記憶されている。そして、
図24に示す割合情報134において、「項番」が「2」である情報には、「成功」として「60(%)」が記憶され、「失敗A」として「15(%)」が記憶され、「失敗B」として「10(%)」が記憶され、「失敗C」として「5(%)」が記憶されている。
【0079】
すなわち、
図24に示す割合情報134における「項番」が「2」である情報は、「ジョブID」以外の全ての情報が「TRUE」であるジョブの電力情報132の推定が、60(%)の割合で成功したことを示している。また、「項番」が「2」である情報は、「ジョブID」以外の全ての情報が「TRUE」であるジョブの電力情報132の推定において、失敗Aに該当する失敗が15(%)の割合で発生し、失敗Bに該当する失敗が10(%)の割合で発生し、さらに、失敗Cに該当する失敗が5(%)の割合で発生することを示している。
【0080】
これにより、情報処理装置1は、後述するように、割合情報134を参照することで、これから実行を行うジョブの電力情報132の推定を行うことが可能になる。
図24に含まれる他の情報についての説明は省略する。
【0081】
[電力推定処理の詳細]
次に、電力推定処理の詳細について説明する。
図7から
図19は、電力推定処理の詳細を説明するフローチャート図である。なお、以下、割合情報134に含まれる情報のうち、成功に対応する割合を第1割合とも呼び、失敗Aに対応する割合を第2割合とも呼び、失敗Bに対応する割合を第3割合とも呼び、失敗Cに対応する割合を第4割合とも呼ぶ。
【0082】
情報処理装置の情報受付部111は、
図7に示すように、新たなジョブを受け付けるまで待機する(S31のNO)。具体的に、情報処理装置1は、実行タイミングのスケジューリングを行う必要がある新たなジョブを受け付けるまで待機する。
【0083】
そして、新たなジョブを受け付けた場合(S31のYES)、情報処理装置1の情報特定部112は、S31で受け付けた新たなジョブに関する第1ジョブ情報131aを特定する(S32)。
【0084】
続いて、情報処理装置1の候補特定部114は、S12の処理で生成したトピックモデル133に対し、S32の処理で特定した第1ジョブ情報131aを入力することによって、情報格納領域130に記憶したジョブ情報131の中から、S32の処理で特定したジョブ情報131との間において内容の一致割合が高い所定数の第3ジョブ情報131cを特定する(S33)。具体的に、候補特定部114は、例えば、S32の処理で特定したジョブ情報131との間において内容の一致割合が高い方から順に、10個の第3ジョブ情報131cを特定する。
【0085】
次に、情報処理装置1の状況判定部115は、S26の処理で生成した割合情報134を参照し、S33の処理で特定した第3ジョブ情報131cごとに、S32の処理で特定した第1ジョブ情報131aとの比較情報に対応する第1割合が所定割合以上であるか否かを判定する(S34)。
【0086】
具体的に、状況判定部115は、例えば、S33の処理で特定した第3ジョブ情報131cごとに、S32の処理で特定した第1ジョブ情報131aとの比較情報に対応する第1割合が90(%)以上であるか否かを判定する。
【0087】
そして、状況判定部115は、S33の処理で特定した第3ジョブ情報131cに、S32の処理で特定した第1ジョブ情報131aとの比較結果に対応する第1割合が所定割合以上であるジョブ情報131が存在するか否かを判定する(S35)。
【0088】
その結果、
図8に示すように、第1割合が所定割合以上である第3ジョブ情報131cが存在すると判定した場合(S41のYES)、情報処理装置1の電力特定部117は、情報格納領域130に記憶した電力情報132のうち、S35の処理で存在した第3ジョブ情報131cに対応付けられた電力情報132を、S31の処理で受け付けたジョブの実行に要する電力情報132として特定する(S42)。
【0089】
そして、情報処理装置1の情報出力部122は、S42の処理で特定した電力情報132を出力する(S43)。
【0090】
具体的に、
図24で説明した割合情報134において、「項番」が「3」である情報の「成功」には、「90(%)」が記憶されている。そのため、例えば、S33の処理において特定された第3ジョブ情報131cに、「ユーザ名」以外の全ての情報が「TRUE」であるジョブ情報131が含まれている場合、電力特定部117は、S33の処理において特定された第3ジョブ情報131cのうち、「ユーザ名」以外の全ての情報が「TRUE」であるジョブ情報131に対応する電力情報132を、S31の処理で受け付けたジョブの実行に要する電力情報132の推定結果として用いる。
【0091】
すなわち、情報処理装置1は、「成功」に記憶した割合が所定割合以上である類似情報に対応する第3ジョブ情報131cが存在している場合、その第3ジョブ情報131cに対応する電力情報132をS31の処理で受け付けたジョブの実行に要する電力情報132の推定結果としてそのまま用いても、S31の処理で受け付けたジョブの電力情報132の実測結果との間に大きな誤差が生じないと判定することが可能である。
【0092】
そのため、情報処理装置1は、この場合、S42の処理で特定した電力情報132に対して補正を行わない。
【0093】
なお、第1割合が所定割合以上である第3ジョブ情報131cが複数存在すると判定した場合、電力特定部117は、複数存在すると判定した第3ジョブ情報131cのうち、第1割合が最も高い第3ジョブ情報131cに対応付けられた電力情報132を、S31の処理で受け付けたジョブの実行に要する電力情報132として特定するものであってよい。また、電力特定部117は、例えば、第1割合が所定割合以上である第3ジョブ情報131cが1つ特定された場合、第1割合が所定割合以上である他の第3ジョブ情報131cが存在するか否かの確認を行うことなく、特定された第3ジョブ情報131cに対応付けられた電力情報132を、S31の処理で受け付けたジョブの実行に要する電力情報132として特定するものであってもよい。
【0094】
図8に戻り、第1割合が所定割合以上である第3ジョブ情報131cが存在しないと判定した場合(S41のNO)、情報処理装置1の候補決定部116は、S33の処理で第1割合が最も高いと判定された第3ジョブ情報131cに対応する第2割合、第3割合及び第4割合のうち、最も高い割合を特定する(S44)。
【0095】
その結果、最も高い割合が第4割合である場合(S45のYES)、情報処理装置1の電力推定部118は、消費電力が予め指定された最大消費電力であって、実行時間が予め指定された各ジョブの最大実行時間(各ジョブのジョブ情報131に含まれる最大実行時間)である電力情報132を、S31の処理で受け付けたジョブの実行に要する電力情報132として推定する(S46)。
【0096】
そして、情報出力部122は、S46の処理で推定した電力情報132を出力する(S43)。
【0097】
すなわち、S44の処理において第4割合が最も高いと判定された場合、電力推定部118は、S31の処理で受け付けたジョブの実行に要する電力情報132を精度良く推定することが困難であると判定することが可能である。そのため、電力推定部118は、この場合、例えば、S31の処理で受け付けたジョブの実行時間及び消費電力が最大であるものとして電力情報132の推定を行う。
【0098】
これにより、情報処理装置1は、S31の処理で受け付けたジョブの実行に伴う実際の消費電力量が推定結果を大幅に上回ることを防止することが可能になる。そのため、情報処理装置1は、ジョブの実行に伴う消費電力量が電力会社との契約電力量を超過することを防止することが可能になる。
【0099】
一方、
図9に示すように、最も高い割合が第3割合である場合(S45のNO、S51のYES)、電力特定部117は、情報格納領域130に記憶した電力情報132を参照し、S33の処理で第1割合が最も高いと判定された第3ジョブ情報131cに対応付けられた電力情報132を特定する(S52)。
【0100】
そして、電力推定部118は、実行時間が、S31の処理で受け付けたジョブの最大実行時間と、S31の処理で受け付けたジョブに対応する時間補正係数との積になるように、S52の処理で特定した電力情報132を補正する(S53)。
【0101】
すなわち、電力推定部118は、この場合、S52の処理で特定した電力情報132に含まれるジョブの実行時間についての補正を行う。
【0102】
具体的に、電力推定部118は、例えば、実行時間が、S32の処理で特定した第1ジョブ情報131aに含まれる最大実行時間と、後述する時間係数算出処理において算出される時間補正係数との積になるように、S52の処理で特定した電力情報132の補正を行う。
【0103】
その後、情報出力部122は、S53の処理で補正した電力情報132を出力する(S43)。以下、S53の処理の詳細について説明を行う。
【0104】
[S53の処理の詳細]
図10は、S53の処理の詳細について説明する図である。
【0105】
電力推定部118は、
図10に示すように、情報格納領域130に記憶した係数情報135のうち、各ジョブの実行時間についての係数情報(以下、第1係数情報135aとも呼ぶ)を参照し、S31の処理で受け付けたジョブに対応する補正係数(以下、第1時間補正係数とも呼ぶ)が算出済であるか否かを判定する(S61)。
【0106】
具体的に、電力推定部118は、情報格納領域130に記憶した第1係数情報135aに、S31の処理で受け付けたジョブに対応する第1時間補正係数が含まれているか否かの判定を行う。以下、第1係数情報135aの具体例について説明を行う。
【0107】
[第1係数情報の具体例]
図25は、第1係数情報135aの具体例について説明する図である。
【0108】
図25に示す第1係数情報135aは、第1係数情報135aに含まれる各情報を識別する「項番」と、各ジョブに対応するグループ名が記憶される「グループ名」と、各ジョブに対応するユーザ名が記憶される「ユーザ名」と、各ジョブに対応するアプリ名が記憶される「アプリ名」とを項目として有する。また、
図25に示す第1係数情報135aは、各ジョブの第1時間補正係数が記憶される「補正係数」を項目として有する。
【0109】
具体的に、「項番」が「1」である情報には、「グループ名」として「RD」が記憶され、「ユーザ名」として「tanaka」が記憶され、「アプリ名」として「app12」が記憶され、「補正係数」として「0.6」が記憶されている。
【0110】
すなわち、「項番」が「1」である情報は、「グループ名」が「RD」であって「ユーザ名」が「tanaka」であって「アプリ名」が「app12」である各ジョブの補正係数が「0.6」であることを示している。
【0111】
また、「項番」が「2」である情報には、「グループ名」として「test」が記憶され、「補正係数」として「0.9」が記憶され、「ユーザ名」及び「アプリ名」として、情報が存在していないことを示す「-」が記憶されている。
【0112】
すなわち、「項番」が「1」である情報は、「グループ名」が「test」であるジョブの補正係数が「0.9」であることを示している。
【0113】
そのため、例えば、S31の処理で受け付けたジョブのグループ名がRDであり、ユーザ名がtanakaであり、かつ、アプリ名がapp12である場合、電力推定部118は、S61の処理において、情報格納領域130に記憶した第1係数情報135aに、S31の処理で受け付けたジョブに対応する第1時間補正係数が含まれていると判定する。また、例えば、S31の処理で受け付けたジョブのグループ名がtestであり、ユーザ名がsuzukiであり、かつ、アプリ名がapp03である場合、電力推定部118は、情報格納領域130に記憶した第1係数情報135aに、S31の処理で受け付けたジョブに対応する第1時間補正係数が含まれていると判定する。
図25に含まれる他の情報についての説明は省略する。
【0114】
図10に戻り、S31の処理で受け付けたジョブに対応する第1時間補正係数が算出済である場合(S62のYES)、電力推定部118は、実行時間が、S31の処理で受け付けたジョブの最大実行時間と、S31の処理で受け付けたジョブに対応する第1時間補正係数との積になるように、S52の処理で特定した電力情報132を補正する(S63)。第1時間補正係数を算出する際の処理については後述する。
【0115】
一方、S31の処理で受け付けたジョブに対応する第1時間補正係数が算出済でない場合(S62のNO)、電力推定部118は、実行時間が、S31の処理で受け付けたジョブの最大実行時間と、全てのジョブに対応する時間補正係数(以下、第2時間補正係数とも呼ぶ)との積になるように、S52の処理で特定した電力情報132を補正する(S64)。
【0116】
すなわち、電力推定部118は、この場合、S31の処理で受け付けたジョブに対応する第1時間補正係数が算出されていないため、第1時間補正係数に代えて、全てのジョブに対応する時間補正係数である第2時間補正係数を用いる。第2時間補正係数を算出する際の処理については後述する。
【0117】
なお、電力推定部118は、例えば、S63またはS64の処理(以下、S63の処理等とも呼ぶ)の後、S63の処理等で補正した電力情報132に含まれる実行時間が、S31の処理で受け付けたジョブに対応する推定情報136に含まれる実行時間よりも長いが否かを判定するものであってよい。
【0118】
そして、例えば、S63の処理等で補正した電力情報132に含まれる実行時間が、S31の処理で受け付けたジョブに対応する推定情報136に含まれる実行時間よりも長いと判定した場合、電力推定部118は、S63の処理等で補正した電力情報132を、S31の処理で受け付けたジョブに対応する推定情報136に含まれる実行時間までで打ち切る補正を行うことにより、打ち切り後の電力情報132に含まれる実行時間を、S31の処理で受け付けたジョブに対応する推定情報136に含まれる実行時間に合わせるものであってよい。
【0119】
また、例えば、S63の処理等で補正した電力情報132に含まれる実行時間が、S31の処理で受け付けたジョブに対応する推定情報136に含まれる実行時間よりも短いと判定した場合、電力推定部118は、S63の処理等で補正した電力情報132に対し、S31の処理で受け付けたジョブに対応する推定情報136に含まれる平均値による補完を行うことにより、補完後の電力情報132に含まれる実行時間を、S31の処理で受け付けたジョブに対応する推定情報136に含まれる実行時間に合わせるものであってよい。
【0120】
図9に戻り、最も高い割合が第2割合である場合(S45のNO、S51のNO)、電力特定部117は、情報格納領域130に記憶した電力情報132を参照し、S33の処理で第1割合が最も高いと判定された第3ジョブ情報131cに対応付けられた電力情報132を特定する(S54)。
【0121】
そして、電力推定部118は、消費電力が、S31の処理で受け付けたジョブの実行時におけるノード数と、S33の処理で第1割合が最も高いと判定されたジョブの実行時における1ノードあたりの消費電力と、S31の処理で受け付けたジョブに対応する電力補正係数との積になるように、S54の処理で特定した電力情報132を補正する(S55)。
【0122】
すなわち、電力推定部118は、この場合、S54の処理で特定した電力情報132に含まれるジョブの消費電力についての補正を行う。
【0123】
具体的に、電力推定部118は、例えば、消費電力が、S32の処理で特定した第1ジョブ情報131aに含まれる要求ノード数と、S33の処理で第1割合が最も高いと判定されたジョブの電力情報132に含まれる消費電力の平均値と、後述する電力係数算出処理において算出される電力補正係数との積になるように、S54の処理で特定した電力情報132の補正を行う。
【0124】
その後、情報出力部122は、S55の処理で補正した電力情報132を出力する(S43)。以下、S55の処理の詳細について説明を行う。
【0125】
[S55の処理の詳細]
図11は、S55の処理の詳細について説明する図である。
【0126】
電力推定部118は、
図11に示すように、情報格納領域130に記憶した係数情報135のうち、各ジョブの実行時における消費電力についての係数情報(以下、第2係数情報135bとも呼ぶ)を参照し、S31の処理で受け付けたジョブに対応する補正係数(以下、第1電力補正係数とも呼ぶ)が算出済であるか否かを判定する(S71)。
【0127】
具体的に、電力推定部118は、情報格納領域130に記憶した第2係数情報135bに、S31の処理で受け付けたジョブに対応する第1電力補正係数が含まれているか否かの判定を行う。以下、第2係数情報135bの具体例について説明を行う。
【0128】
[第2係数情報の具体例]
図26は、第2係数情報135bの具体例について説明する図である。
【0129】
図26に示す第2係数情報135bは、第2係数情報135bに含まれる各情報を識別する「項番」と、各ジョブに対応するグループ名が記憶される「グループ名」と、各ジョブに対応するユーザ名が記憶される「ユーザ名」と、各ジョブに対応するアプリ名が記憶される「アプリ名」とを項目として有する。また、
図26に示す第2係数情報135bは、各ジョブの第1電力補正係数の式が記憶される「補正係数式」と、「グループ名」、「ユーザ名」及び「アプリ名」に記憶した情報のそれぞれに対応するジョブの数が記憶される「ジョブ数」とを項目として有する。
【0130】
具体的に、「項番」が「1」である情報には、「グループ名」として「RD」が記憶され、「ユーザ名」として「tanaka」が記憶され、「アプリ名」として「app12」が記憶され、「補正係数式」として「式1-3」が記憶され、「ジョブ数」として「10」が記憶されている。
【0131】
すなわち、「項番」が「1」である情報は、「グループ名」が「RD」であって「ユーザ名」が「tanaka」であって「アプリ名」が「app12」であるジョブの補正係数式が「式1-3」であることを示している。
【0132】
また、「項番」が「2」である情報には、「グループ名」として「test」が記憶され、「ユーザ名」として「suzuki」が記憶され、「アプリ名」として「-」が記憶され、「補正係数式」として「式4-3」が記憶され、「ジョブ数」として「5」が記憶されている。
【0133】
すなわち、「項番」が「2」である情報は、「グループ名」が「test」であって「ユーザ名」が「suzuki」であるジョブの補正係数式が「式4-3」であることを示している。
【0134】
そのため、例えば、S31の処理で受け付けたジョブのグループ名がRDであり、ユーザ名がtanakaであり、かつ、アプリ名がapp12である場合、電力推定部118は、S71の処理において、情報格納領域130に記憶した第2係数情報135bに、S31の処理で受け付けたジョブに対応する第1電力補正係数が含まれていると判定する。また、例えば、S31の処理で受け付けたジョブのグループ名がtestであり、ユーザ名がsuzukiであり、かつ、アプリ名がapp03である場合、電力推定部118は、情報格納領域130に記憶した第2係数情報135bに、S31の処理で受け付けたジョブに対応する第1電力補正係数が含まれていると判定する。
図26に含まれる他の情報についての説明は省略する。
【0135】
図11に戻り、S31の処理で受け付けたジョブに対応する第1電力補正係数が算出済である場合(S72のYES)、電力推定部118は、消費電力が、S31の処理で受け付けたジョブの実行時におけるノード数と、S33の処理で第1割合が最も高いと判定されたジョブの実行時における1ノードあたりの消費電力と、S31の処理で受け付けたジョブに対応する第1電力補正係数との積になるように、S54の処理で特定した電力情報132を補正する(S73)。第1電力補正係数を算出する際の処理については後述する。
【0136】
一方、S31の処理で受け付けたジョブに対応する第1電力補正係数が算出済でない場合(S72のNO)、電力推定部118は、消費電力が、S31の処理で受け付けたジョブの実行時におけるノード数と、S33の処理で第1割合が最も高いと判定されたジョブの実行時における1ノードあたりの消費電力と、全てのジョブに対応する電力補正係数(以下、第2電力補正係数とも呼ぶ)との積になるように、S54の処理で特定した電力情報132を補正する(S74)。
【0137】
すなわち、電力推定部118は、この場合、S31の処理で受け付けたジョブに対応する第1電力補正係数が算出されていないため、第1電力補正係数に代えて、全てのジョブに対応する電力補正係数である第2電力補正係数を用いる。第2電力補正係数を算出する際の処理については後述する。
【0138】
なお、情報処理装置1は、例えば、S42の処理、S46の処理またはS51の処理の後においても、S54及びS55の処理を行うものであってよい。
【0139】
これにより、情報処理装置1は、新たなジョブの実行時における電力情報132を精度良く推定することを可能とする。
【0140】
[時間係数算出処理]
次に、時間補正係数を算出する処理(以下、時間係数算出処理とも呼ぶ)について説明を行う。
【0141】
情報処理装置1の係数算出部121は、
図12に示すように、時間補正係数算出タイミングになるまで待機する(S81のNO)。時間補正係数算出タイミングは、例えば、担当者が時間補正係数の算出を行う旨の情報を情報処理装置1に入力したタイミングであってよい。また、時間補正係数算出タイミングは、例えば、定期的なタイミングであってもよい。
【0142】
そして、時間補正係数算出タイミングになった場合(S81のYES)、係数算出部121は、前回の時間係数算出処理の実行後に、S31の処理においてジョブを受け付けているか否かを判定する(S82)。
【0143】
その結果、S31の処理においてジョブを受け付けたと判定した場合(S83のYES)、係数算出部121は、S31の処理で受け付けたと判定したジョブのうちの1つを特定する(S84)。
【0144】
そして、係数算出部121は、情報格納領域130に記憶した第1係数情報135aに、S84の処理で特定したジョブを含む算出単位の第1時間補正係数が存在するか否かを判定する(S85)。ここでの算出単位は、後述する時間係数単位決定処理において決定される単位であり、同一の時間補正係数を用いるジョブの範囲を示す単位である。
【0145】
具体的に、
図25で説明した第1係数情報135aには、例えば、「グループ名」が「RD」であって「ユーザ名」が「tanaka」であって「アプリ名」が「app12」であるジョブの「補正係数」として「0.6」が記憶されている。そのため、S31の処理で受け付けた新たなジョブの「グループ名」が「RD」であって「ユーザ名」が「tanaka」であって「アプリ名」が「app12」である場合、係数算出部121はS85の処理において、情報格納領域130に記憶した第1係数情報135aに、S84の処理で特定したジョブを含む算出単位の第1時間補正係数が存在すると判定する。
【0146】
そして、S84の処理で特定したジョブを含む算出単位の第1時間補正係数が存在すると判定した場合(S86のYES)、係数算出部121は、
図13に示すように、情報格納領域130に記憶したジョブ情報131を参照し、S84の処理で特定したジョブと同じ算出単位に含まれるジョブを特定する(S91)。
【0147】
具体的に、
図25で説明した第1係数情報135aには、例えば、「グループ名」に「test」が記憶され、かつ、「ユーザ名」及び「アプリ名」に「-」が記憶された情報(「項番」が「2」である情報)が含まれている。すなわち、
図25で説明した第1係数情報135aは、「グループ名」に「test」が記憶されたジョブの算出単位がグループ名ごとであることを示している。そのため、例えば、S31の処理で受け付けた新たなジョブの「グループ名」が「test」である場合、係数算出部121は、情報格納領域130に記憶したジョブ情報131のうち、「グループ名」が「test」である情報の特定を行う。
【0148】
続いて、係数算出部121は、情報格納領域130に記憶したジョブ情報131及び電力情報132を参照し、S91の処理で特定したジョブごとに、各ジョブの実行に要した実行時間を各ジョブの最大実行時間で除算する(S92)。
【0149】
具体的に、係数算出部121は、S91の処理で特定したジョブごとに、各ジョブに対応する電力情報132に含まれる実行時間(実際の実行時間)を、各ジョブに対応するジョブ情報131に含まれる最大実行時間で除算する。
【0150】
その後、係数算出部121は、S92の処理で算出した値の平均値を、S91の処理で特定したジョブ(S84で特定したジョブと算出単位が同一のジョブ)の第1時間補正係数として算出する(S93)。
【0151】
そして、S82の処理で受け付けたと判定した全てのジョブがS84の処理において特定済でないと判定した場合(S96のNO)、係数算出部121は、S84以降の処理を再度行う。
【0152】
一方、S82の処理で受け付けたと判定した全てのジョブがS84の処理において特定済であると判定した場合(S96のYES)、係数算出部121は、時間係数算出処理を終了する。
【0153】
また、S84の処理で特定したジョブを含む算出単位の第1時間補正係数が存在しないと判定した場合(S86のNO)、係数算出部121は、情報格納領域130に記憶したジョブ情報131及び電力情報132を参照し、過去に実行が完了したジョブごとに、各ジョブの実行に要した実行時間を、各ジョブの最大実行時間で除算する(S94)。
【0154】
具体的に、係数算出部121は、情報格納領域130に電力情報132が記憶されているジョブごと、各ジョブの電力情報132に含まれる実行時間を、各ジョブのジョブ情報131に含まれる最大実行時間で除算する。
【0155】
その後、係数算出部121は、S94の処理で算出した値の平均値を第2時間補正係数として算出する(S95)。
【0156】
すなわち、S84の処理で特定したジョブを含む算出単位の第1時間補正係数が存在しない場合とは、後述する時間係数単位決定処理において、S84の処理で特定したジョブについての第1時間補正係数を算出する必要がないと判定された場合である。そのため、係数算出部121は、この場合、S84の処理で特定したジョブについての第1時間補正係数の算出を行わずに、全ジョブに対応する第2時間補正係数の更新を行う。
【0157】
そして、S82の処理で受け付けたと判定した全てのジョブがS84の処理において特定済でないと判定した場合(S96のNO)、係数算出部121は、S84以降の処理を再度行う。
【0158】
一方、S82の処理で受け付けたと判定した全てのジョブがS84の処理において特定済であると判定した場合(S96のYES)、係数算出部121は、時間係数算出処理を終了する。また、係数算出部121は、S31の処理においてジョブを受け付けていないと判定した場合についても同様に(S83のNO)、時間係数算出処理を終了する。
【0159】
[電力係数算出処理]
次に、電力補正係数を算出する処理(以下、電力係数算出処理とも呼ぶ)について説明を行う。
【0160】
係数算出部121は、
図14に示すように、電力補正係数算出タイミングになるまで待機する(S101のNO)。電力補正係数算出タイミングは、例えば、担当者が電力補正係数の算出を行う旨の情報を情報処理装置1に入力したタイミングであってよい。また、電力補正係数算出タイミングは、例えば、定期的なタイミングであってもよい。
【0161】
そして、電力補正係数算出タイミングになった場合(S101のYES)、係数算出部121は、前回の時間係数算出処理の実行後に、S31の処理においてジョブを受け付けているか否かを判定する(S102)。
【0162】
その結果、S31の処理においてジョブを受け付けたと判定した場合(S103のYES)、係数算出部121は、S31の処理で受け付けたと判定したジョブのうちの1つを特定する(S104)。
【0163】
そして、係数算出部121は、情報格納領域130に記憶した第2係数情報135bに、S104の処理で特定したジョブを含む算出単位の第1電力補正係数が存在するか否かを判定する(S105)。
【0164】
具体的に、
図26で説明した第2係数情報135bには、例えば、「グループ名」が「RD」であって「ユーザ名」が「tanaka」であって「アプリ名」が「app12」であるジョブの「補正係数式」として「式1-3」が記憶されている。そのため、S31の処理で受け付けた新たなジョブの「グループ名」が「RD」であって「ユーザ名」が「tanaka」であって「アプリ名」が「app12」である場合、係数算出部121はS105の処理において、情報格納領域130に記憶した第2係数情報135bに、S104の処理で特定したジョブを含む算出単位の第1電力補正係数に対応する情報が存在すると判定する。
【0165】
そして、S104の処理で特定したジョブを含む算出単位の第1電力補正係数が存在すると判定した場合(S106のYES)、係数算出部121は、
図15に示すように、情報格納領域130に記憶したジョブ情報131を参照し、S104の処理で特定したジョブと同じ算出単位に含まれるジョブを特定する(S111)。
【0166】
具体的に、
図26で説明した第2係数情報135bには、例えば、「グループ名」に「test」が記憶され、「ユーザ名」に「suzuki」が記憶され、かつ、「アプリ名」に「-」が記憶された情報(「項番」が「2」である情報)が含まれている。すなわち、
図26で説明した第2係数情報135bは、「グループ名」に「test」が記憶され、かつ、「ユーザ名」に「suzuki」が記憶されたジョブの算出単位が、グループ名ごとであってユーザ名ごとであることを示している。そのため、例えば、S31の処理で受け付けた新たなジョブの「グループ名」が「test」であって「ユーザ名」が「suzuki」である場合、係数算出部121は、情報格納領域130に記憶したジョブ情報131のうち、「グループ名」が「test」であって「ユーザ名」が「suzuki」である情報の特定を行う。
【0167】
続いて、係数算出部121は、情報格納領域130に記憶したジョブ情報131及び電力情報132を参照し、S111の処理で特定した各ジョブの実行時におけるノード数と、S111の処理で特定した各ジョブの実行時における1ノードあたりの消費電力との対応関係を示す平面上の各座標を用いることにより、S111の処理で特定したジョブ(S104で特定したジョブと算出単位が同一のジョブ)の第1電力補正係数を示す非線形回帰式を最小二乗法によって算出する(S112)。
【0168】
具体的に、係数算出部121は、例えば、1ノードあたりの消費電力を示す予想関数として以下の式(1)を設定する。以下の式(1)において、a及びθは回帰係数であり、Xはノード数を示す変数である。
【0169】
【0170】
そして、係数算出部121は、以下の最小二乗法の式(2)において、各座標からの距離の和であるDが最小となるa及びθを算出する。
【0171】
【0172】
その後、係数算出部121は、算出したa及びθを式(1)に適用することにより、S111の処理で特定したジョブの第1電力補正係数を示す非線形回帰式を算出する。
【0173】
図15に戻り、S102の処理で受け付けたと判定した全てのジョブがS104の処理において特定済でないと判定した場合(S114のNO)、係数算出部121は、S104以降の処理を再度行う。
【0174】
一方、S102の処理で受け付けたと判定した全てのジョブがS104の処理において特定済であると判定した場合(S114のYES)、係数算出部121は、時間係数算出処理を終了する。
【0175】
また、S104の処理で特定したジョブを含む算出単位の第1時間補正係数が存在しないと判定した場合(S106のNO)、係数算出部121は、情報格納領域130に記憶したジョブ情報131及び電力情報132を参照し、過去に実行が完了した各ジョブの実行時におけるノード数と、過去に実行が完了した各ジョブの実行時における1ノードあたりの消費電力との対応関係を示す平面上の各座標を用いることにより、全てのジョブに対応する第2電力補正係数を示す非線形回帰式を最小二乗法によって算出する(S113)。
【0176】
そして、S102の処理で受け付けたと判定した全てのジョブがS104の処理において特定済でないと判定した場合(S114のNO)、係数算出部121は、S104以降の処理を再度行う。
【0177】
一方、S102の処理で受け付けたと判定した全てのジョブがS104の処理において特定済であると判定した場合(S114のYES)、係数算出部121は、時間係数算出処理を終了する。また、係数算出部121は、S31の処理においてジョブを受け付けていないと判定した場合についても同様に(S103のNO)、時間係数算出処理を終了する。
【0178】
[時間係数単位決定処理]
次に、時間補正係数を算出するジョブの算出単位を決定する処理(以下、時間係数単位決定処理とも呼ぶ)について説明を行う。
【0179】
係数算出部121は、
図16に示すように、時間係数単位決定タイミングになるまで待機する(S121のNO)。時間係数単位決定タイミングは、例えば、担当者が時間補正係数の算出を行う旨の情報を情報処理装置1に入力したタイミングであってよい。また、時間係数単位決定タイミングは、例えば、定期的なタイミングであってもよい。
【0180】
そして、時間係数単位決定タイミングになった場合(S121のYES)、係数算出部121は、前回の時間係数単位決定処理の実行後に、S31の処理においてジョブを受け付けているか否かを判定する(S122)。
【0181】
その結果、S31の処理においてジョブを受け付けたと判定した場合(S123のYES)、係数算出部121は、情報格納領域130に記憶したジョブ情報131及び電力情報132を参照し、S122の処理で受け付けたと判定したジョブごとに、各ジョブの実際の実行に要した実行時間を、各ジョブの最大実行時間で除算する(S124)。
【0182】
そして、情報管理部113は、S123の処理で算出した値を基準情報(図示しない)として情報格納領域130に記憶する(S125)。
【0183】
続いて、係数算出部121は、
図17に示すように、S122の処理で受け付けたと判定したジョブのうちの1つを特定する(S131)。
【0184】
次に、係数算出部121は、情報格納領域130に記憶した基準情報を参照し、S131の処理で特定したジョブと算出単位が同一であるジョブの基準情報から標準偏差を算出する(S132)。
【0185】
その結果、S132の処理で算出した標準偏差が所定の閾値を上回る場合(S133のYES)、係数算出部121は、S131の処理で特定したジョブを含む算出単位の第1時間補正係数がより小さい算出単位に対応するように、情報格納領域130に記憶した第1係数情報135aを更新する(S134)。
【0186】
すなわち、係数算出部121は、S123の処理で算出した基準情報のばらつきが大きくなったことを契機として、S123の処理で算出した基準情報に対応する第1時間補正係数の算出単位をより小さくする。
【0187】
具体的に、係数算出部121は、例えば、S131の処理で特定したジョブを含む算出単位がグループ名ごとであった場合、S131の処理で特定したジョブを含む算出単位がグループ名ごとであってユーザ名ごとになるように、第1係数情報135aを更新する。また、係数算出部121は、例えば、S131の処理で特定したジョブを含む算出単位がグループ名ごとであってユーザ名ごとであった場合、S131の処理で特定したジョブを含む算出単位がグループ名ごとであってユーザ名ごとであってアプリ名ごとになるように、第1係数情報135aを更新する。
【0188】
なお、S133の処理で用いる所定の閾値は、例えば、0.2であってよい。以下、S134の処理の具体例について説明を行う。
【0189】
[S134の処理の具体例]
図27は、第1係数情報135aの具体例を説明する図である。具体的に、
図27は、
図25で説明した状態から更新された第1係数情報135aを説明する図である。
【0190】
例えば、S131の処理において特定されたジョブのジョブ情報131に含まれる「グループ名」及び「ユーザ名」がそれぞれ「test」及び「suzuki」であった場合において、標準偏差が所定の閾値を上回る場合、係数算出部121は、
図27に示すように、
図25で説明した第1係数情報135aに含まれる情報のうち、「グループ名」が「test」である情報(「項番」が「2」である情報)の「ユーザ名」に「suzuki」を記憶する。また、係数算出部121は、この場合、「項番」が「2」である情報の「補正係数」に「-」を記憶する。
【0191】
その後、係数算出部121は、次に行われる時間係数算出処理において、「項番」が「2」である情報の「補正係数」に記憶される値を算出する。
【0192】
これにより、係数算出部121は、時間補正係数の算出回数を抑制することが可能になる。
【0193】
図17に戻り、S131の処理で全てのジョブを特定済でない場合(S135のNO)、係数算出部121は、S131以降の処理を再度行う。また、係数算出部121は、S132の処理で算出した標準偏差が所定の閾値以下である場合も同様に(S133のNO)、S131以降の処理を再度行う。
【0194】
一方、S131の処理で全てのジョブを特定済である場合(S135のYES)、係数算出部121は、時間係数単位決定処理を終了する。また、係数算出部121は、S31の処理においてジョブを受け付けていないと判定した場合も同様に(S123のNO)、時間係数単位決定処理を終了する。
【0195】
[電力係数単位決定処理]
次に、電力補正係数を算出するジョブの算出単位を決定する処理(以下、電力係数単位決定処理とも呼ぶ)について説明を行う。
【0196】
係数算出部121は、
図18に示すように、電力係数単位決定タイミングになるまで待機する(S141のNO)。電力係数単位決定タイミングは、例えば、担当者が電力補正係数の算出を行う旨の情報を情報処理装置1に入力したタイミングであってよい。また、電力係数単位決定タイミングは、例えば、定期的なタイミングであってもよい。
【0197】
そして、電力係数単位決定タイミングになった場合(S141のYES)、係数算出部121は、前回の電力係数単位決定処理の実行後に、S31の処理においてジョブを受け付けているか否かを判定する(S142)。
【0198】
その結果、S31の処理においてジョブを受け付けたと判定した場合(S143のYES)、係数算出部121は、S142の処理で受け付けたと判定したジョブのうちの1つを特定する(S144)。
【0199】
次に、係数算出部121は、情報格納領域130に記憶した電力情報132及び推定情報136を参照し、S144の処理で特定したジョブについての推定情報136に含まれる消費電力と、S144の処理で特定したジョブについての電力情報132に含まれる実際の消費電力との誤差を算出する(S145)。
【0200】
その結果、
図19に示すように、S145の処理で算出した誤差が所定の閾値を上回る場合(S151のYES)、係数算出部121は、S144の処理で特定したジョブを含む算出単位の第1電力補正係数がより小さい算出単位に対応するように、情報格納領域130に記憶した第2係数情報135bを更新する(S152)。
【0201】
すなわち、係数算出部121は、S145の処理で算出した誤差が大きくなったことを契機として、S145の処理で算出した誤差に対応する第1電力補正係数の算出単位をより小さくする。
【0202】
具体的に、係数算出部121は、例えば、S144の処理で特定したジョブを含む算出単位がグループ名ごとであった場合、S144の処理で特定したジョブを含む算出単位がグループ名ごとであってユーザ名ごとになるように、第2係数情報135bを更新する。また、係数算出部121は、例えば、S144の処理で特定したジョブを含む算出単位がグループ名ごとであってユーザ名ごとであった場合、S144の処理で特定したジョブを含む算出単位がグループ名ごとであってユーザ名ごとであってアプリ名ごとになるように、第2係数情報135bを更新する。
【0203】
なお、係数算出部121は、例えば、S145の処理において、RMSE(Root Mean Squared Error)の算出を行うものであってよい。そして、係数算出部121は、例えば、S151の処理において、算出したRMSEが10(%)を上回る場合に、第2係数情報135bの更新を行うものであってよい。以下、S152の処理の具体例について説明を行う。
【0204】
[S152の処理の具体例]
図28は、第2係数情報135bの具体例を説明する図である。具体的に、
図28は、
図26で説明した状態から更新された第2係数情報135bを説明する図である。
【0205】
例えば、S144の処理において特定されたジョブのジョブ情報131に含まれる「グループ名」、「ユーザ名」及び「アプリ名」がそれぞれ「test」、「suzuki」及び「app03」であった場合において、誤差が所定の閾値を上回る場合、係数算出部121は、
図28に示すように、
図26で説明した第2係数情報135bに含まれる情報のうち、「項番」が「2」である情報の「アプリ名」に「app03」を記憶する。また、係数算出部121は、この場合、「項番」が「2」である情報の「補正係数式」に「-」を記憶する。さらに、係数算出部121は、この場合、例えば、「グループ名」が「test」であって「ユーザ名」が「suzuki」であって「アプリ名」が「app03」であるジョブの数である「2」を「ジョブ数」に記憶する。
【0206】
その後、係数算出部121は、次に行われる電力係数算出処理において、「項番」が「2」である情報の「補正係数式」に記憶される式を算出する。
【0207】
これにより、係数算出部121は、電力補正係数の算出回数を抑制することが可能になる。
【0208】
図19に戻り、S144の処理で全てのジョブを特定済でない場合(S153のNO)、係数算出部121は、S144以降の処理を再度行う。また、係数算出部121は、S132の処理で算出した誤差が所定の閾値以下である場合も同様に(S151のNO)、S144以降の処理を再度行う。
【0209】
一方、S144の処理で全てのジョブを特定済である場合(S153のYES)、係数算出部121は、電力係数単位決定処理を終了する。また、係数算出部121は、S31の処理においてジョブを受け付けていないと判定した場合も同様に(S143のNO)、電力係数単位決定処理を終了する。
【0210】
このように、本実施の形態における情報処理装置1は、例えば、実行タイミングのスケジューリングを行う必要がある新たなジョブに関する第1ジョブ情報131aを特定する。そして、情報処理装置1は、過去に実行された各ジョブに関する第2ジョブ情報131bと、各ジョブの実行に要した電力情報132とを対応付けて記憶する情報格納領域130を参照し、第2ジョブ情報131bのうち、第1ジョブ情報131aとの間における一致状況が第1条件を満たす所定数の第3ジョブ情報131cを特定する。さらに、情報処理装置1は、特定した第3ジョブ情報131cごとに、第1ジョブ情報131aとの間における一致状況が第2条件を満たすか否かを判定し、その判定結果に基づき、第3ジョブ情報131cのうちのいずれかのジョブ情報131を特定する。
【0211】
その後、情報処理装置1は、情報格納領域130を参照し、特定したジョブ情報131に対応付けられた電力情報132を特定する。そして、情報処理装置1は、特定した電力情報132に対して判定結果に応じた補正を行った電力情報132を、新たなジョブの実行時における電力情報132として推定する。
【0212】
すなわち、情報処理装置1は、例えば、過去に実行された各ジョブに対応する第2ジョブ情報131bのうち、これから実行を行う新たなジョブに対応する第1ジョブ情報131aと類似する所定数の第3ジョブ情報131cを特定する。そして、情報処理装置1は、例えば、特定した第3ジョブ情報131cのうち、第1ジョブ情報131aの類似ジョブ情報131に対応するジョブの電力情報132を特定する。さらに、情報処理装置1は、例えば、特定した電力情報132に対して、第1ジョブ情報131aと類似ジョブ情報131との類似状態に応じた補正を行った電力情報132を、新たなジョブの電力情報132として特定する。
【0213】
これにより、情報処理装置1は、新たなジョブの実行時における電力情報132を精度良く推定することを可能とする。そのため、情報処理装置1は、各ジョブの実行に伴う電力料金の上昇を抑えることが可能になる。
【0214】
以上の実施の形態をまとめると、以下の付記のとおりである。
【0215】
(付記1)
新たなジョブを受け付けたことに応じて、前記新たなジョブに関する第1ジョブ情報を特定し、
過去に実行された各ジョブに関する第2ジョブ情報と、各ジョブの実行時における電力情報とを対応付けて記憶する記憶部を参照し、前記第2ジョブ情報のうち、前記第1ジョブ情報との間における一致状況が第1条件を満たす所定数の第3ジョブ情報を特定し、
特定した前記第3ジョブ情報ごとに、前記第1ジョブ情報との間における一致状況が第2条件を満たすか否かを判定し、
前記一致状況が第2条件を満たすか否かの判定結果に基づき、前記第3ジョブ情報のうちのいずれかのジョブ情報を特定し、
前記記憶部を参照し、特定した前記いずれかのジョブ情報に対応付けられた前記電力情報を特定し、
特定した前記電力情報に対して前記判定結果に応じた補正を行った電力情報を、前記新たなジョブの実行時における電力情報として推定する、
処理をコンピュータに実行させることを特徴とする電力推定プログラム。
【0216】
(付記2)
付記1において、
前記第3ジョブ情報を特定する処理では、
前記第2ジョブ情報ごとに、前記第1ジョブ情報との間において内容が一致する情報の割合を特定し、
前記第2ジョブ情報のうち、特定した前記割合が高い前記所定数の第2ジョブ情報を前記第3ジョブ情報として特定する、
ことを特徴とする電力推定プログラム。
【0217】
(付記3)
付記2において、
前記第3ジョブ情報を特定する処理では、前記第2ジョブ情報を学習したトピックモデルに対する前記第1ジョブ情報の入力に伴って出力される前記所定数のジョブ情報を、前記第3ジョブ情報として特定する、
ことを特徴とする電力推定プログラム。
【0218】
(付記4)
付記1において、さらに、
過去に実行されたジョブごとに、前記第2ジョブ情報から、各ジョブに関するジョブ情報との間において内容が一致する情報の割合が最も高い他のジョブ情報である第4ジョブ情報を特定し、
過去に実行されたジョブごとに、各ジョブに関するジョブ情報に含まれる各項目の情報と、各ジョブに対応する前記第4ジョブ情報に含まれる各項目の情報とが一致するか否かを示す比較情報を特定し、
前記記憶部を参照し、過去に実行されたジョブごとに、各ジョブに関するジョブ情報に対応する第1電力情報と、各ジョブに対応する前記第4ジョブ情報に対応する第2電力情報とを特定し、
過去に実行されたジョブごとに、前記第1電力情報と前記第2電力情報との類似状態を示す類似情報を特定し、
特定した前記比較情報ごとに、特定した前記類似情報のうち、前記第1電力情報と前記第2電力情報とが類似していることを示す類似情報の第1割合と、前記第1電力情報と前記第2電力情報とがジョブの実行時における消費電力に関して類似していないことを示す類似情報の第2割合と、前記第1電力情報と前記第2電力情報とがジョブの実行時間に関して類似していないことを示す類似情報の第3割合と、前記第1電力情報と前記第2電力情報とがジョブの実行時間及びジョブの実行時における消費電力に関して類似していないことを示す類似情報の第4割合とをそれぞれ特定する、
処理をコンピュータに実行させ、
前記第2条件を満たすか否かを判定する処理では、特定した前記第1割合と前記第2割合と前記第3割合と前記第4割合とに基づいて、前記第3ジョブ情報ごとに、前記第1ジョブ情報との間における情報の一致状況が前記第2条件を満たすか否かの判定を行う、
ことを特徴とする電力推定プログラム。
【0219】
(付記5)
付記4において、
前記第2条件を満たすか否かを判定する処理では、前記第3ジョブ情報ごとに、前記第1ジョブ情報との間における前記比較情報に対応する前記第1割合が所定値以上であるか否かを判定し、
前記いずれかのジョブ情報を特定する処理では、前記第1割合が前記所定値以上である情報が前記第3ジョブ情報に存在する場合、前記第3ジョブ情報のうち、前記第1割合が前記所定値以上である情報を、前記いずれかのジョブ情報として特定し、
前記電力情報を推定する処理では、前記電力情報を特定する処理において特定された前記電力情報を、前記新たなジョブの実行時における電力情報として推定する、
ことを特徴とする電力推定プログラム。
【0220】
(付記6)
付記4において、
前記第2条件を満たすか否かを判定する処理では、前記第3ジョブ情報ごとに、前記第1ジョブ情報との間における前記比較情報に対応する前記第1割合が所定値以上であるか否かを判定し、
前記いずれかのジョブ情報を特定する処理では、前記第1割合が前記所定値以上である情報が前記第3ジョブ情報に存在しない場合、前記第3ジョブ情報のうち、前記第1ジョブ情報との間において内容が一致する情報の割合が最も高い第3ジョブ情報を、前記いずれかのジョブ情報として特定する、
ことを特徴とする電力推定プログラム。
【0221】
(付記7)
付記6において、さらに、
前記第1割合が前記所定値以上である情報が前記第3ジョブ情報に存在しない場合、前記いずれかのジョブ情報に対応する前記第2割合と前記第3割合と前記第4割合とのうち、最も高い割合を特定し、
特定した前記最も高い割合が前記第4割合である場合、消費電力が予め指定された最大消費電力に対応し、実行時間が予め指定されたジョブの最大実行時間に対応する前記電力情報を、前記新たなジョブの実行に要する前記電力情報として推定する、
処理をコンピュータに実行させることを特徴とする電力推定プログラム。
【0222】
(付記8)
付記6において、さらに、
前記第1割合が前記所定値以上である情報が前記第3ジョブ情報に存在しない場合、前記いずれかのジョブ情報に対応する前記第2割合と前記第3割合と前記第4割合とのうち、最も高い割合を特定する、
処理をコンピュータに実行させ、
前記電力情報を推定する処理では、特定した前記最も高い割合が前記第3割合である場合、前記電力情報を特定する処理において特定された前記電力情報における実行時間が、予め指定されたジョブの最大実行時間と所定の補正係数との積である実行時間になるように、前記電力情報の補正を行う、
ことを特徴とする電力推定プログラム。
【0223】
(付記9)
付記8において、さらに、
過去に実行された1以上のジョブからなる算出単位ごとに、各ジョブの実行時間を各ジョブに対応する前記最大実行時間で除算することによって算出した値の平均値を、前記所定の補正係数として算出する、
ことを特徴とする電力推定プログラム。
【0224】
(付記10)
付記9において、さらに、
前記算出単位ごとに、各ジョブに対応する前記値から標準偏差を算出する、
処理をコンピュータに実行させ、
前記所定の補正係数を算出する処理では、算出した前記標準偏差が閾値を上回る前記算出単位が存在する場合、存在する前記算出単位に含まれるジョブの前記所定の補正係数を、存在する前記算出単位よりも小さい算出単位ごとに再度算出する、
ことを特徴とする電力推定プログラム。
【0225】
(付記11)
付記6において、さらに、
前記第1割合が前記所定値以上である情報が前記第3ジョブ情報に存在しない場合、前記いずれかのジョブ情報に対応する前記第2割合と前記第3割合と前記第4割合とのうち、最も高い割合を特定する、
処理をコンピュータに実行させ、
前記電力情報を推定する処理では、特定した前記最も高い割合が前記第2割合である場合、前記電力情報を特定する処理において特定された前記電力情報における消費電力が、前記新たなジョブの実行時におけるノード数と、前記いずれかのジョブ情報に対応するジョブの実行時におけるノードあたりの消費電力と、所定の補正係数との積である消費電力になるように、前記電力情報の補正を行う、
ことを特徴とする電力推定プログラム。
【0226】
(付記12)
付記11において、
前記所定の補正係数は、前記ノード数が多くなるほど小さい値になる、
ことを特徴とする電力推定プログラム。
【0227】
(付記13)
付記11において、さらに、
過去に実行された1以上のジョブからなる算出単位ごとに、各ジョブの実行時におけるノード数と、各ジョブの実行時におけるノードあたりの消費電力との対応関係を示す平面上の各座標を用いることにより、前記所定の補正係数を示す非線形回帰式を最小二乗法によって算出する、
処理をコンピュータに実行させることを特徴とする電力推定プログラム。
【0228】
(付記14)
付記13において、さらに、
過去に実行されたジョブごとに、前記電力情報を推定する処理において推定した各ジョブの前記電力情報における消費電力と、各ジョブの実行時における消費電力との誤差を算出し、
算出した前記誤差が閾値を上回るジョブが存在する場合、存在する前記ジョブを含む算出単位の前記所定の補正係数を、存在する前記ジョブを含む算出単位よりも小さい算出単位ごとに再度算出する、
処理をコンピュータに実行させることを特徴とする電力推定プログラム。
【0229】
(付記15)
新たなジョブを受け付けたことに応じて、前記新たなジョブに関する第1ジョブ情報を特定する情報特定部と、
過去に実行された各ジョブに関する第2ジョブ情報と、各ジョブの実行時における電力情報とを対応付けて記憶する記憶部を参照し、前記第2ジョブ情報のうち、前記第1ジョブ情報との間における一致状況が第1条件を満たす所定数の第3ジョブ情報を特定する候補特定部と、
特定した前記第3ジョブ情報ごとに、前記第1ジョブ情報との間における一致状況が第2条件を満たすか否かを判定する状況判定部と、
前記一致状況が第2条件を満たすか否かの判定結果に基づき、前記第3ジョブ情報のうちのいずれかのジョブ情報を特定する候補決定部と、
前記記憶部を参照し、特定した前記いずれかのジョブ情報に対応付けられた前記電力情報を特定する電力特定部と、
特定した前記電力情報に対して前記判定結果に応じた補正を行った電力情報を、前記新たなジョブの実行時における電力情報として推定する電力推定部と、を有する、
ことを特徴とする電力推定装置。
【0230】
(付記16)
付記15において、
前記候補特定部は、
前記第2ジョブ情報ごとに、前記第1ジョブ情報との間において内容が一致する情報の割合を特定し、
前記第2ジョブ情報のうち、特定した前記割合が高い前記所定数の第2ジョブ情報を前記第3ジョブ情報として特定する、
ことを特徴とする電力推定装置。
【0231】
(付記17)
付記16において、
前記候補特定部は、前記第2ジョブ情報を学習したトピックモデルに対する前記第1ジョブ情報の入力に伴って出力される前記所定数のジョブ情報を、前記第3ジョブ情報として特定する、
ことを特徴とする電力推定装置。
【0232】
(付記18)
新たなジョブを受け付けたことに応じて、前記新たなジョブに関する第1ジョブ情報を特定し、
過去に実行された各ジョブに関する第2ジョブ情報と、各ジョブの実行時における電力情報とを対応付けて記憶する記憶部を参照し、前記第2ジョブ情報のうち、前記第1ジョブ情報との間における一致状況が第1条件を満たす所定数の第3ジョブ情報を特定し、
特定した前記第3ジョブ情報ごとに、前記第1ジョブ情報との間における一致状況が第2条件を満たすか否かを判定し、
前記一致状況が第2条件を満たすか否かの判定結果に基づき、前記第3ジョブ情報のうちのいずれかのジョブ情報を特定し、
前記記憶部を参照し、特定した前記いずれかのジョブ情報に対応付けられた前記電力情報を特定し、
特定した前記電力情報に対して前記判定結果に応じた補正を行った電力情報を、前記新たなジョブの実行時における電力情報として推定する、
処理をコンピュータに実行させることを特徴とする電力推定方法。
【0233】
(付記19)
付記18において、
前記第3ジョブ情報を特定する処理では、
前記第2ジョブ情報ごとに、前記第1ジョブ情報との間において内容が一致する情報の割合を特定し、
前記第2ジョブ情報のうち、特定した前記割合が高い前記所定数の第2ジョブ情報を前記第3ジョブ情報として特定する、
ことを特徴とする電力推定方法。
【0234】
(付記20)
付記19において、
前記第3ジョブ情報を特定する処理では、前記第2ジョブ情報を学習したトピックモデルに対する前記第1ジョブ情報の入力に伴って出力される前記所定数のジョブ情報を、前記第3ジョブ情報として特定する、
ことを特徴とする電力推定方法。
【符号の説明】
【0235】
1:情報処理装置 5:操作端末
10:情報処理システム 130:記憶部
NW:ネットワーク