JP2021182224A - ジョブスケジューリングプログラム、情報処理装置およびジョブスケジューリング方法 - Google Patents

ジョブスケジューリングプログラム、情報処理装置およびジョブスケジューリング方法 Download PDF

Info

Publication number
JP2021182224A
JP2021182224A JP2020087048A JP2020087048A JP2021182224A JP 2021182224 A JP2021182224 A JP 2021182224A JP 2020087048 A JP2020087048 A JP 2020087048A JP 2020087048 A JP2020087048 A JP 2020087048A JP 2021182224 A JP2021182224 A JP 2021182224A
Authority
JP
Japan
Prior art keywords
job
power consumption
period
predicted
prediction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2020087048A
Other languages
English (en)
Inventor
成人 鈴木
Shigeto Suzuki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020087048A priority Critical patent/JP2021182224A/ja
Priority to US17/186,253 priority patent/US20210359514A1/en
Publication of JP2021182224A publication Critical patent/JP2021182224A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05FSYSTEMS FOR REGULATING ELECTRIC OR MAGNETIC VARIABLES
    • G05F1/00Automatic systems in which deviations of an electric quantity from one or more predetermined values are detected at the output of the system and fed back to a device within the system to restore the detected quantity to its predetermined value or values, i.e. retroactive systems
    • G05F1/66Regulating electric power
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J3/00Circuit arrangements for ac mains or ac distribution networks
    • H02J3/003Load forecast, e.g. methods or systems for forecasting future load demand
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J3/00Circuit arrangements for ac mains or ac distribution networks
    • H02J3/12Circuit arrangements for ac mains or ac distribution networks for adjusting voltage in ac networks by changing a characteristic of the network load
    • H02J3/14Circuit arrangements for ac mains or ac distribution networks for adjusting voltage in ac networks by changing a characteristic of the network load by switching loads on to, or off from, network, e.g. progressively balanced loading
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J2310/00The network for supplying or distributing electric power characterised by its spatial reach or by the load
    • H02J2310/50The network for supplying or distributing electric power characterised by its spatial reach or by the load for selectively controlling the operation of the loads
    • H02J2310/54The network for supplying or distributing electric power characterised by its spatial reach or by the load for selectively controlling the operation of the loads according to a pre-established time schedule
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B70/00Technologies for an efficient end-user side electric power management and consumption
    • Y02B70/30Systems integrating technologies related to power network operation and communication or information technologies for improving the carbon footprint of the management of residential or tertiary loads, i.e. smart grids as climate change mitigation technology in the buildings sector, including also the last stages of power distribution and the control, monitoring or operating management systems at local level
    • Y02B70/3225Demand response systems, e.g. load shedding, peak shaving
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S20/00Management or operation of end-user stationary applications or the last stages of power distribution; Controlling, monitoring or operating thereof
    • Y04S20/20End-user application control systems
    • Y04S20/222Demand response systems, e.g. load shedding, peak shaving

Abstract

【課題】システムの電力効率を向上させる。【解決手段】実行中の第1ジョブ2を含む1以上の第2ジョブそれぞれの現在以降の第2期間における推定消費電力の合計が、所定の第1電力を超えないよう1以上の第2ジョブを計算ノード1a,1b,1c,・・・に割り当てるスケジューリングが行われる。情報処理装置10は、第1ジョブ2の現在以前の第1期間における消費電力を、第1期間より前の情報に基づいて予測した第1予測消費電力を算出する。次に情報処理装置10は、第1ジョブ2の第1期間における消費電力と第1予測消費電力との誤差が閾値未満の場合、第1ジョブ2の第2期間における推定消費電力を第2期間に第1ジョブ2が実行された場合の消費電力を予測した第2予測消費電力に決定する。また情報処理装置10は、誤差が閾値以上の場合、第1ジョブの第2期間における推定消費電力を所定の第2電力に決定する。【選択図】図1

Description

本発明は、ジョブスケジューリングプログラム、情報処理装置およびジョブスケジューリング方法に関する。
HPC(High Performance Computing)システムなどの大規模なコンピュータシステム(以下、単にシステムと呼ぶこともある)では大量の電力を消費する。そのためシステムを安定して稼働させるには、システムの適切な消費電力管理が重要となる。
またシステム全体で使用可能な電力の上限が定められていることがある。この場合、システム全体で使用可能な電力を超えないようにするため、システムで実行されているジョブごとの消費電力に基づいて、ジョブスケジューリングが実行される。
消費電力に基づくジョブスケジューリングに関する技術として、例えばノード内のアプリケーションのフェーズのシーケンスを決定するステップを含む動的電力ステアリングを提供する、動的時間的電力ステアリングのためのシステムが提案されている。また単位時間内の消費電力量が予め規定した消費電力量を超える場合には他のプロセスを選択して実行させる電子計算機も提案されている。またデマンドレスポンス信号に対して精度の高い運転スケジュールを作成可能にするエネルギー管理サーバも提案されている。
特表2018−503184号公報 特開平07−168726号公報 特開2015−012783号公報
スケジューリングの際のジョブの推定消費電力としては、例えばジョブを実行する計算ノードの消費電力の上限とすることが考えられる。すると、ジョブの実際の消費電力は使用する計算ノードの消費電力の上限を超えないため、システム全体の実際の消費電力はシステム全体で使用可能な電力を超えない。しかしながら、ジョブの実際の消費電力と使用する計算ノードの消費電力の上限との差が大きいと、システムの電力効率が低下する。
1つの側面では、本件は、システムの電力効率を向上させることを目的とする。
1つの案では、以下の処理をコンピュータに実行させるジョブスケジューリングプログラムが提供される。
まずコンピュータは、実行中の第1ジョブの現在以前の第1期間における消費電力を、第1期間より前の情報に基づいて予測した第1予測消費電力を算出する。次にコンピュータは、第1ジョブの第1期間における消費電力と第1予測消費電力との誤差が閾値未満の場合、複数の計算ノードへ割り当てられる第1ジョブを含む1以上の第2ジョブそれぞれの現在以降の第2期間における推定消費電力の合計が、所定の第1電力を超えないよう1以上の第2ジョブを複数の計算ノードに割り当てるスケジューリングの際の、第1ジョブの第2期間における推定消費電力を、第2期間に第1ジョブが実行された場合の消費電力を予測した第2予測消費電力に決定する。またコンピュータは、誤差が閾値以上の場合、スケジューリングの際の、第1ジョブの第2期間における推定消費電力を所定の第2電力に決定する。
1態様によれば、システムの電力効率を向上させることができる。
第1の実施の形態に係るジョブスケジューリング方法の一例を示す図である。 第2の実施の形態のシステム構成例を示す図である。 HPC運用管理サーバのハードウェアの一構成例を示す図である。 RNNについて説明する図である。 HPC運用管理サーバの機能を示すブロック図である。 データベースに格納される情報の一例を示す図である。 ジョブ情報の一例を示す図である。 ジョブ消費電力情報の一例を示す図である。 サンプルデータの一例を示す図である。 実行中のジョブの消費電力予測に用いられる学習結果情報の一例を示す図である。 実行前のジョブの消費電力予測に用いられる学習結果情報の一例を示す図である。 類似ジョブ情報の一例を示す図である。 判定情報の一例を示す図である。 推定結果情報の一例を示す図である。 実行前のジョブの推定消費電力の特定方法の一例を示す図である。 優先度を示すキューの生成方法の一例を示す図である。 実行中のジョブの推定消費電力の特定方法の一例を示す図である。 データセットの生成例(参考例)を示す図である。 データセットの第1の生成例を示す図である。 データセットの第2の生成例を示す図である。 データセットの第3の生成例を示す図である。 予測モデル生成処理の概要を示す図である。 予測モデルの一例を示す図である。 判定情報生成処理の手順の一例を示すフローチャートである。 予測モデル生成処理の手順の一例を示すフローチャートである。 実行前電力推定処理の手順の一例を示すフローチャートである。 実行割合調整処理の手順の一例を示すフローチャートである。 実行中電力推定処理の手順の一例を示すフローチャートである。 ジョブスケジューリング処理の手順の一例を示すフローチャートである。 スケジューリング方法の比較例を示す図である。
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず第1の実施の形態について説明する。
図1は、第1の実施の形態に係るジョブスケジューリング方法の一例を示す図である。図1には、ジョブスケジューリング方法を実施する情報処理装置10が示されている。情報処理装置10は、例えばジョブスケジューリング方法の処理手順が記述されたジョブスケジューリングプログラムを実行することにより、ジョブスケジューリング方法を実施することができる。
情報処理装置10は、例えばHPCシステム1に接続されている。HPCシステム1は、計算ノード1a,1b,1c,・・・を有する。HPCシステム1は、第1ジョブ2を実行中である。このとき計算ノード1a,1b,1c,・・・のうち、1以上の第1計算ノードが第1ジョブ2に割り当てられている。情報処理装置10は、計算ノード1a,1b,1c,・・・へ割り当てられる、第1ジョブ2を含む1以上の第2ジョブについてスケジューリングを行う。情報処理装置10は、ジョブスケジューリング方法を実現するために、記憶部11と処理部12とを有する。記憶部11は、例えば情報処理装置10が有するメモリ、またはストレージ装置である。処理部12は、例えば情報処理装置10が有するプロセッサ、または演算回路である。
記憶部11は、判定情報11aを記憶する。判定情報11aは、実行が終了した第4ジョブ3a,3b,・・・それぞれの消費電力を第4ジョブ3a,3b,・・・のうちの他のジョブを用いて予測した場合の、予測に用いられたジョブとのパラメータの一致状況に対する第2予測成功確率を示す。例えば判定情報11aは、ジョブ名、ユーザ名およびグループ名の項目が「TRUE」であり、第2予測成功確率の項目が「95%」であるレコードを含む。この場合判定情報11aは、第4ジョブ3a,3b,・・・それぞれの消費電力を、第4ジョブ3a,3b,・・・のうちのジョブ名、ユーザ名およびグループ名が一致するジョブで予測した場合に、予測が成功する確率が95%であったことを示す。
さらに記憶部11は、実行前のジョブ、実行中のジョブおよび実行が終了したジョブに関するジョブ情報を記憶する。ジョブ情報には、例えばジョブ実行時のパラメータの情報が含まれる。また実行中のジョブのジョブ情報には、現在までのジョブの消費電力の時系列変化が含まれる。また実行が終了したジョブのジョブ情報には、実行開始から実行終了までのジョブの消費電力の時系列変化が含まれる。
処理部12は、実行中の第1ジョブ2と実行前の第3ジョブ4との推定消費電力を決定する。第1ジョブ2の推定消費電力の決定では、まず処理部12は、第1ジョブ2の現在以前の第1期間における消費電力を、第1期間より前の情報に基づいて予測した第1予測消費電力を算出する。例えば処理部12は、第1ジョブ2が実行を開始してから第1期間開始までの第1ジョブ2の消費電力の時間変化に基づいて、第1期間における第1ジョブ2の消費電力の時間変化を第1予測消費電力として算出する。処理部12は、例えば予測対象期間までの消費電力の時系列変化を入力とし、予測対象期間における消費電力の時系列変化を出力とする学習済みのRNN(Recurrent Neural Network)を用いて第1予測消費電力を算出する。
次に処理部12は、第1ジョブ2の第1期間における消費電力と第1予測消費電力との誤差が閾値未満であるか否かを判定する。例えば処理部12は、第1期間の各測定点において第1ジョブ2の消費電力と第1予測電力との誤差が閾値未満の場合、第1ジョブ2の第1期間における消費電力と第1予測消費電力との誤差が閾値未満であると判定する。第1ジョブ2の第1期間における消費電力と第1予測消費電力との誤差が閾値未満の場合、処理部12は、現在以降の第2期間に第1ジョブ2が実行された場合の消費電力を予測した第2予測消費電力を算出する。
例えば処理部12は、第1ジョブ2が実行を開始してから第2期間開始までの消費電力の時間変化に基づいて、第2期間における第1ジョブ2の消費電力の時間変化を予測した第2予測消費電力を算出する。そして処理部12は、スケジューリングの際の、第1ジョブ2の第2期間における推定消費電力を第2予測消費電力に決定する。なお処理部12は、第2期間における第1ジョブ2の消費電力の時間変化の予測より所定の割合だけ大きいものを第2予測消費電力として算出してもよい。
第1ジョブ2の第1期間における消費電力と第1予測消費電力との誤差が閾値以上の場合、処理部12は、スケジューリングの際の、第1ジョブの第2期間における推定消費電力を所定の第2電力に決定する。第2電力は、例えば1以上の第1計算ノードそれぞれのノードごとの定格消費電力の合計に基づいて決定される。
第3ジョブ4の推定消費電力の決定では、まず処理部12は、第3ジョブ4を計算ノード1a,1b,1c,・・・のうちの1以上の第2計算ノードに割り当てた場合の第2期間における消費電力の第1予測成功確率を算出する。例えば処理部12は、第3ジョブ4の消費電力を予測するための第4ジョブ3a,3b,・・・のうちの第5ジョブを特定する。第5ジョブは、例えば第4ジョブ3a,3b,・・・のうち、所定の計算式で計算される第3ジョブ4との類似度が最も高い所定数のジョブのうちの1つである。そして処理部12は、判定情報11aに基づいて特定される、第3ジョブ4と第5ジョブとのパラメータの一致状況に対応する第2予測成功確率を第1予測成功確率として算出する。
次に処理部12は、第1予測成功確率が所定値以上であるか否かを判定する。第1予測成功確率が所定値以上の場合、処理部12は、第2期間に第3ジョブ4が実行された場合の消費電力を予測した第3予測消費電力を算出する。例えば処理部12は、第5ジョブが過去に実行された際の消費電力に基づいて、第2期間に第3ジョブ4が実行された場合の消費電力を予測した第3予測消費電力を算出する。処理部12は、例えば第5ジョブが過去に実行された際の開始から第2期間の長さまでの消費電力の時系列変化を所定の割合だけ大きくしたものを、第3予測消費電力とする。そして処理部12は、スケジューリングの際の、第3ジョブ4の第2期間における推定消費電力を第3予測消費電力に決定する。第1予測成功確率が所定値未満の場合、処理部12は、スケジューリングの際の、第3ジョブ4の第2期間における推定消費電力を、1以上の第2計算ノードの定格消費電力の合計に基づいて決定される第3電力に決定する。
そして処理部12は、第1ジョブ2と第3ジョブ4との推定消費電力に基づいてスケジューリングを行う。スケジューリングでは、処理部12は、1以上の第2ジョブそれぞれの第2期間における推定消費電力の合計が、所定の第1電力を超えないよう1以上の第2ジョブを計算ノード1a,1b,1c,・・・に割り当てる。第1電力は、例えば計算ノード1a,1b,1c,・・・全体の定格消費電力に基づいて決定される。
一例として、HPCシステム1では、第1ジョブ2以外のジョブは実行されていないものとし、実行前のジョブのうち第3ジョブ4が計算ノード1a,1b,1c,・・・に割り当てられる優先度が最も高いものとする。すると処理部12は、第1ジョブ2の第2期間における推定消費電力と第3ジョブ4の第2期間における推定消費電力とを算出する。第1ジョブ2の第2期間における推定消費電力と第3ジョブ4の第2期間における推定消費電力との合計が第1電力以下の場合、処理部12は、第3ジョブ4を1以上の第2計算ノードに割り当てる。また第1ジョブ2の第2期間における推定消費電力と第3ジョブ4の第2期間における推定消費電力との合計が第1電力を超える場合、処理部12は、第3ジョブ4を計算ノードに割り当てない。
このような情報処理装置10によれば、処理部12は、第1ジョブ2の第1期間における第1予測消費電力を算出し、第1予測消費電力と第1ジョブの第1期間における消費電力との誤差に応じてスケジューリングにおける第1ジョブ2の推定消費電力を決定する。処理部12は、誤差が閾値未満の場合第1ジョブ2の推定消費電力を第2予測消費電力に決定し、誤差が閾値以上の場合第1ジョブ2の推定消費電力を所定の第2電力に決定する。
ここで所定の電力を超えないようにするスケジューリングでは、各ジョブの消費電力は高めに推定される(例えば、使用する計算ノードの定格消費電力の合計と推定される)ことが多い。これに対して情報処理装置10は、消費電力の予測が成功する可能性が高いジョブについては、推定消費電力を予測の消費電力に決定する。これにより情報処理装置10は、第1電力を超えないようにするスケジューリングにおいて、多くのジョブが計算ノードに割り当てられるようにし、HPCシステム1の電力効率を向上させることができる。
なお第1電力は、計算ノード1a,1b,1c,・・・全体の定格消費電力に基づいて決定される。これにより情報処理装置10は、HPCシステム1の消費電力の上限を超えないようにするスケジューリングにおいて、HPCシステム1の電力効率を向上させることができる。
また第2電力は、1以上の第1計算ノードそれぞれのノードごとの定格消費電力の合計に基づいて決定される。これにより情報処理装置10は、予測が成功する可能性が高くないジョブについては、実際の消費電力よりも高い電力を推定消費電力とすることができる。
また処理部12は、第3ジョブ4を実行した場合の第2期間における消費電力の第1予測成功確率を算出し、第1予測成功確率に応じてスケジューリングにおける第3ジョブ4の推定消費電力を決定する。処理部12は、第1予測成功確率が所定値以上の場合第3ジョブ4の推定消費電力を第3予測消費電力に決定し、第1予測成功確率が所定値未満の場合第3ジョブ4の推定消費電力を所定の第3電力に決定する。これにより情報処理装置10は、実行前のジョブについても、消費電力の予測が成功する可能性が高いジョブについては、推定消費電力を予測の消費電力とすることができる。
また処理部12は、それまでの第1ジョブ2の消費電力の時間変化に基づいて、第1予測消費電力と第2予測消費電力とを算出する。これにより第1ジョブ2の実行が進むにつれて予測に使用されるデータ数が増加する。よって情報処理装置10は、ジョブの実行時間が増加するほどジョブの消費電力の予測精度を向上させることができる。
また処理部12は、判定情報11aと第4ジョブ3a,3b,・・・のうちの第5ジョブとに基づいて、第3ジョブ4の消費電力を予測する。これにより情報処理装置10は、実行前のジョブの消費電力を精度良く予測できる。
なお処理部12は、複数の第3ジョブ4それぞれのスケジューリングの際の計算ノード1a,1b,1c,・・・に割り当てられる優先度を決定してもよい。例えば処理部12は、複数の第3ジョブ4のうち、第1予測成功確率が所定値以上となる第3ジョブ4の複数の計算ノードの使用量と複数の第3ジョブ4のうち、第1予測成功確率が所定値未満となる第3ジョブ4の複数の計算ノードの使用量との比率を算出する。そして処理部12は、算出された比率に基づいて、複数の第3ジョブ4それぞれの優先度を決定してもよい。これにより情報処理装置10は、予測が成功する可能性が高いジョブと予測が成功する可能性が高くないジョブとを一定の比率でHPCシステム1に実行させることができる。
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、ジョブの消費電力を動的に予測し、予測したジョブの消費電力に基づいてスケジューリングをするものである。
図2は、第2の実施の形態のシステム構成例を示す図である。HPCシステム30は、複数の計算ノード31,32,・・・を有している。計算ノード31,32,・・・は、投入されたジョブを実行するコンピュータである。
HPCシステム30内の計算ノード31,32,・・・は、HPC運用管理サーバ100に接続されている。HPC運用管理サーバ100は、HPCシステム30の運用管理を行うコンピュータである。例えばHPC運用管理サーバ100は、ジョブ実行時の計算ノード31,32,・・・の消費電力の時系列変化を監視する。またHPC運用管理サーバ100は、実行待ちのジョブと実行中のジョブとについて、ジョブの電力消費パターンを予測し、HPCシステム30全体の定格消費電力を超えないように、ジョブスケジューリングを行う。そしてHPC運用管理サーバ100は、作成したジョブの実行スケジュールに従って、計算ノード31,32,・・・にジョブの実行を指示する。
HPC運用管理サーバ100は、ネットワーク20を介して端末装置41,42,・・・に接続されている。端末装置41,42,・・・は、HPCシステム30によるジョブの実行を希望するユーザが使用するコンピュータである。端末装置41,42,・・・は、ユーザの入力に基づいてHPCシステム30に実行させるジョブの内容を示すジョブ情報を生成し、生成したジョブ情報を含むジョブ投入要求を、HPC運用管理サーバ100に送信する。ジョブ情報は、ジョブで使用するアプリケーションプログラム名などのステイタス情報を含む。
図3は、HPC運用管理サーバのハードウェアの一構成例を示す図である。HPC運用管理サーバ100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
メモリ102は、HPC運用管理サーバ100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
バス109に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
機器接続インタフェース107は、HPC運用管理サーバ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
HPC運用管理サーバ100は、以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、計算ノード31,32,・・・および端末装置41,42,・・・も、図3に示したHPC運用管理サーバ100と同様のハードウェアにより実現することができる。また第1の実施の形態に示した情報処理装置10も、図3に示したHPC運用管理サーバ100と同様のハードウェアにより実現することができる。
HPC運用管理サーバ100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。HPC運用管理サーバ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、HPC運用管理サーバ100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またHPC運用管理サーバ100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することも可能である。
図2に示すシステムにおいて、HPC運用管理サーバ100は、HPCシステム30の適切な電力管理を行う。例えばHPC運用管理サーバ100は、HPCシステム30の消費電力の上限(HPCシステム30全体の定格消費電力)を超えないように、HPCシステム30が実行するジョブのスケジューリングを行う。なお計算ノード31,32,・・・それぞれにも定格消費電力があり、第2の実施の形態では全計算ノードの定格消費電力の合計は、HPCシステム30全体の定格消費電力より大きいものとする。また計算ノード31,32,・・・それぞれの定格消費電力は同じであるものとする。
ここで、HPCシステム30の定格消費電力を超えないようなスケジューリングとしては、各ジョブの消費電力をジョブを実行する計算ノードの定格消費電力の合計(ジョブの最大消費電力)と推定してスケジューリングする方法が考えられる。すると、ジョブの実際の消費電力は使用する計算ノードの定格消費電力を超えないため、HPCシステム30全体の実際の消費電力はHPCシステム30の定格消費電力を超えない。しかしながら、ジョブの実際の消費電力とジョブの最大消費電力との差が大きいと、HPCシステム30の電力効率は低下する。
そこでHPC運用管理サーバ100は、実行前または実行中のジョブの今後の消費電力の時系列変化を予測可能か判定し、電力の時系列変化を予測可能なジョブについては予測した電力の時系列変化に基づいてスケジューリングを行う。なお消費電力の時系列変化は、例えば電力波形で表される。以下では、新規投入ジョブが実行されたときの電力波形と実行中のジョブの今後の電力波形との予測方法について説明する。
新規投入ジョブが実行されたときの電力波形の予測では、例えばHPC運用管理サーバ100は、実行済みのジョブのうちの新規投入ジョブに類似するジョブの電力波形の中から、新規投入ジョブの電力波形の予測とするものを決定する。そのために、HPC運用管理サーバ100は、まず例えば新規投入ジョブに類似するジョブを特定する。ジョブ間の類似度は、ジョブの実行要求を入力したユーザのユーザID、ジョブの種別、ジョブ実行時の並列度(何台の計算ノードで並列実行させるか)などの、ジョブのステイタスを示す情報(以下、ジョブステイタス情報と呼ぶ)の類似度で表すことができる。
各ジョブのジョブステイタス情報は、ジョブのステイタスに関する項目の項目名とその項目の値との組を複数含む文書である。文書間の類似度の算出に利用可能な技術として、潜在的ディリクレ配分法(LDA:Latent Dirichlet Allocation)推定モデルがある。例えばHPC運用管理サーバ100は、LDA推定モデルを用いて、各ジョブのジョブステイタス情報に表されるトピック分布を算出し、ジョブ間のトピック分布の類似度をジョブの類似度とする。
LDA推定モデルは、トピックモデルの一種である。トピックモデルは、文書が複数の潜在的なトピックから確率的に生成される(文書内の各単語はあるトピックが持つ確率分布に従って出現する)と仮定したモデルである。LDA推定モデルを用いると、分析対象となる文書データの集合から、各文書に表されているトピックの混合比率を推定することができる。
各文書のトピック分布の生成には、多項分布の共役事前分布であるディリクレ分布(dirichlet distribution)が利用される。なお、ディリクレ分布は、以下の式で表される。
Figure 2021182224
式(1)は、パラメータであるベクトルαの元で、ベクトルxが生じる確率を示している。Γはガンマ関数である。ベクトルxは、確率変数を示す実数ベクトルである。Kはトピック数である。kはトピックのインデックスである。
HPC運用管理サーバ100は、トレーニングデータセットであるジョブステイタス情報群から、各文章(ジョブステイタス情報)にどんな単語が出現するかをそれぞれ調べる。そしてHPC運用管理サーバ100は、同じ文章内にどの単語が多く出現するかカウントすることで、同じ文章内に出現する確率が高い単語をグルーピングし、これをトピックとする。
具体的には、HPC運用管理サーバ100は、各文書および各単語について以下の式(2)により、確率を計算する。
Figure 2021182224
Nは文書集合の全単語数である。Vは全語彙数(全文書集合に含まれる単語の種類数)である。dは文書のインデックスである。nは単語のインデックスである。vは語彙のインデックスである。wはある1つの単語である。zはある1つのトピックである。バックスラッシュは、集合からの差を示す。βは、単語分布のパラメータである。式(2)は、文書dにおける単語wd,nについてのトピックzd,nのサンプリング式である。
HPC運用管理サーバ100は、式(2)で得られる確率が高い(例えば所定値以上の)単語の組み合わせをトピックとする。すなわちHPC運用管理サーバ100は、LDA推定モデルを用いた学習の結果、トピックに属する単語の集合を得る。
HPC運用管理サーバ100は、各ジョブのジョブステイタス情報に含まれる単語が属するトピックに基づいて、ジョブステイタス情報のトピック分布を計算する。HPC運用管理サーバ100は、各ジョブのジョブステイタス情報に基づいて生成されたトピック分布をジョブ間で比較して、ジョブ間の類似度を算出することができる。
例えばHPC運用管理サーバ100は、新規投入ジョブに類似するジョブを、トピック分布の類似度によって推定する。例えばHPC運用管理サーバ100は、トピック分布間のコサイン類似度を計算することで、ジョブの類似度を算出する。
HPC運用管理サーバ100は、ジョブごとにトピック分布を算出する。トピック分布は、トピックのインデックスを要素番号とし、文書(ジョブステイタス情報)内での該当トピックの出現頻度の値を要素とするベクトルで表すことができる。HPC運用管理サーバ100は、新規投入ジョブのトピック分布を示すベクトルと、実行が終了しているジョブのトピック分布を示すベクトルとのコサイン類似度を算出し、ジョブ間の類似度とする。これにより、比較対象のジョブそれぞれのトピック分布に共通のトピックが多く含まれるほど、類似度が高くなる。
なおHPC運用管理サーバ100は、新規投入ジョブのトピック分布に含まれる各トピックと、実行が終了しているジョブのトピック分布に含まれる各トピックとの類似度を算出し、トピック間の類似度に基づいて、ジョブ分布間の類似度を算出してもよい。例えばHPC運用管理サーバ100は、比較対象のトピック分布それぞれに含まれるトピック間の類似度の合計を、トピック分布の類似度とする。
HPC運用管理サーバ100は、トピック間の類似度Skk'を、例えばベクトル空間法で計測することができる。ベクトル空間法は、語彙空間Vにおけるトピックごとの語彙の出現頻度ベクトルの余弦で定義される。k番目のトピックとk’番目のトピック間の類似度を式で表すと、以下の式で表される。
Figure 2021182224
kは、k番目のトピックの出現頻度ベクトルである。nk'は、k’番目のトピックの出現頻度ベクトルnkである。
このように、LDA推定モデルを用いて各ジョブのトピック分布を計算し、トピック分布間の類似度によって、ジョブの類似度を算出することができる。そして、HPC運用管理サーバ100は、すでに実行が終了しているジョブのうち、新規投入ジョブに類似する所定数のジョブの電力波形を、新規投入ジョブの予測の電力波形の候補とすることができる。
実行中のジョブの今後の電力波形の予測では、例えばRNNによって学習した予測モデルが利用される。
図4は、RNNについて説明する図である。RNN300は、ニューラルネットワークの一種であり、時系列データの学習に用いられる。RNNでは、時刻tの隠れ層の内容が、次の時刻t+1の入力として扱われる。RNN300には、LSTM(Long Short-Term Memory Networks)やGRU(Gated Recurrent Unit)がある。
LSTMは、ゲートのメカニズムを導入することで、遠い過去のことまで覚えておくことができる。そのため、過去の情報まで参考にしないと予測できないような問題には、LSTMが有用となる。GRUは、LSTMを改良したものである。GRUは、LSTMの構造をシンプルにしたもので、忘却ゲートと入力ゲートを単一の更新ゲート301として組み合わせている。
更新ゲート301には、どの程度の過去に遡って情報を利用するのかを設定することができる。RNN300において、どの程度の過去に遡って情報を利用するのかは、遅れ時間として設定される。遅れ時間は、予測対象の測定点に対してどこまで過去の情報を使用して学習/予測を行うかを決定するハイパパラメータである。
RNN300によりジョブの消費電力の時系列変化を予測する場合、既に実行が終了しているジョブの消費電力の測定結果を用いて予測モデルを作成することができる。HPC運用管理サーバ100は、ジョブ実行開始からの経過時間の区間ごとにモデルを作成する。そしてHPC運用管理サーバ100は、実行中のジョブの予測対象区間に対応するモデルにジョブの実行開始から予測対象区間までの電力波形を入力し、予測対象区間での電力波形を予測する。
以下、HPC運用管理サーバ100によるHPCシステム30のジョブスケジューリング方法について詳細に説明する。
図5は、HPC運用管理サーバの機能を示すブロック図である。HPC運用管理サーバ100は、DB110、タイマ部121、メトリクス収集部122、サンプル作成部123、学習部124、予測値計算部125、および予測結果補正部126を有する。またHPC運用管理サーバ100は、DB130、タイマ部141、情報取得部142、割合調整部143、ジョブスケジューリング部144、および制御指示部145を有する。
DB130は、実行するジョブのステイタスを示すジョブステイタス情報や、実行したジョブの消費電力の時系列変化を示すジョブ消費電力情報を記憶する。
タイマ部141は、HPCシステム30からジョブごとの消費電力情報を収集するタイミングとスケジューリングに用いるキューを生成するタイミングとを管理する。例えばタイマ部141は、一定の時間間隔で、ジョブ消費電力情報の収集を情報取得部142に指示する。またタイマ部141は、一定の時間間隔で、スケジューリングで用いるキューの生成を割合調整部143に指示する。
情報取得部142は、タイマ部141からの指示に応じて、HPCシステム30から、HPCシステム30で実行中または実行が終了したジョブの時系列電力データを取得する。情報取得部142は、取得した消費電力情報を、DB130に格納する。
なおHPCシステム30は、ジョブごとに電力を測定する機能を備えている。例えばHPCシステム30内の各計算ノード31,32,・・・は、消費電力を計測する機器を備えており、ジョブを実行していない状態での消費電力と、ジョブを実行中の消費電力との差を、そのジョブの消費電力とすることができる。また計算ノード31,32,・・・は、温度センサなどの情報を元にジョブの消費電力を予測してもよい。例えば計算ノード31,32,・・・は、CPU温度とシステムボード(SB)排気温度とを、温度センサによって収集する。計算ノード31,32,・・・は、収集した温度データに基づいて、まずCPU温度変化(Tcpu)とSB排気温度変化(Tair)とを計算する。
CPU温度変化(Tcpu)は、以下の式で算出できる。
CPU温度変化(Tcpu)=CPU温度−水冷入力温度 ・・・(4)
またSBの排気温度変化(Tair)は、以下の式で算出できる。
SB排気温度変化(Tair)=SB排気温度−ラック吸気温度 ・・・(5)
計算ノード31,32,・・・は、CPUの消費電力をCPU温度変化から算出する(例えばCPUの消費電力=1.02・Tcpu)。また計算ノード31,32,・・・は、メモリの消費電力をSB排気温度から算出する(例えばメモリの消費電力=0.254・Tair)。さらに計算ノード31,32,・・・は、インターコネクトコントローラ(ICC)の消費電力は一定値であるものとする(例えばICCの消費電力=8.36)。そして計算ノード31,32,・・・は、以下の式によりジョブの電力Pを予測する。
P=1.02・Tcpu+0.254・Tair+8.36 ・・・(6)
割合調整部143は、実行前のジョブの実行される優先度を示すキューを生成する。例えば割合調整部143は、消費電力の予測が成功する確率が高いジョブと消費電力の予測が成功する確率が高くないジョブとを分類する。そして割合調整部143は、消費電力の予測が成功する確率が高いジョブの計算ノードの使用量(例えば、要求ノード数×最大実行時間)と消費電力の予測が成功する確率が高くないジョブの計算ノードの使用量との比率が一定になるようキューにジョブを投入する。
ジョブスケジューリング部144は、ジョブの実行が開始または終了するタイミングで、割合調整部143が生成したキューに投入されているジョブをスケジューリングする。例えばジョブスケジューリング部144は、キューに投入されているジョブを優先度順に選択し、選択したジョブについて次の処理を実行する。ジョブスケジューリング部144は、実行中のすべてのジョブの今後の推定消費電力とキューから選択されたジョブの今後の推定消費電力との合計を算出する。そしてジョブスケジューリング部144は、算出した推定消費電力の合計がHPCシステム30全体の定格消費電力未満の場合、キューから選択されたジョブをスケジューリングする。制御指示部145は、ジョブスケジューリング部144によるジョブの実行スケジュールに従って、HPCシステム30にジョブの実行を指示する。
DB110は、ジョブごとの電力消費パターンの予測に使用する情報を記憶する。タイマ部121は、実行済みのジョブの時系列電力データの取得タイミングを管理する。例えばタイマ部121は、一定の時間間隔で、DB130からの情報収集を、メトリクス収集部122に指示する。またタイマ部121は、ジョブの実行が開始されると、一定間隔で該当ジョブの消費電力の予測を予測値計算部125に指示する。
メトリクス収集部122は、タイマ部121の指示に応じて、DB130から情報を収集する。例えばメトリクス収集部122は、実行待ちのジョブおよび実行が終了したジョブのジョブステイタス情報と、実行が終了したジョブの電力消費パターンを示す時系列電力データとを、DB130から取得する。メトリクス収集部122は、取得した情報をDB110に格納する。
サンプル作成部123は、DB110に格納された時系列電力データに基づいて、消費電力を推定するための予測モデルの生成に使用するサンプルデータを作成する。例えばサンプル作成部123は、ジョブの実行開始からの経過時間を分割して得られる複数の時間帯それぞれを予測対象期間として、予測対象期間ごとの学習用のデータセットを作成する。そしてサンプル作成部123は、作成したデータセットの集合を、サンプルデータとしてDB110に格納する。
学習部124は、実行前のジョブの消費電力を推定するための情報と実行中のジョブの消費電力を推定するための情報とを生成する。学習部124は、実行前のジョブの消費電力を推定するための情報として、過去に実行された類似するジョブで実行前のジョブの消費電力を予測したときの予測成功確率を示す判定情報を生成する。まず学習部124は、ジョブ情報に基づいて、LDA推定モデルを生成する。例えば学習部124は、複数のジョブのジョブステイタス情報に含まれる単語を解析し、トピックごとのグループに単語を分類する。学習部124は、学習結果をDB110に格納する。
次に学習部124は、過去に実行されたジョブそれぞれの消費電力を、過去に実行された他のジョブのうち、LDA推定モデルによって特定される最も類似するジョブの消費電力で予測可能であるか否かを判定する。そして学習部124は、予測に用いられたジョブとのパラメータの一致状況に対する予測成功確率を示す判定情報を生成し、生成した判定情報をDB110に格納する。
学習部124は、実行中のジョブの消費電力を推定するための情報として、ニューラルネットワークを用いて、ジョブの過去の消費電力情報から、以後の消費電力を予測する予測モデルを生成する。学習部124は、例えば予測対象期間ごとに、該当期間のデータセットを用いて、RNNにより予測モデルを生成する。
予測値計算部125は、タイマ部121により指示されたタイミングで、予測モデルを用いて、実行中のジョブの以後の消費電力の時系列変化を予測する。例えば予測値計算部125は、消費電力予測対象のジョブが属するグループの、現在のジョブの実行時間に応じた期間の予測モデルを用いて、消費電力を予測する。
予測結果補正部126は、実行前のジョブの推定消費電力と実行中のジョブの推定消費電力とを決定する。実行前のジョブの推定消費電力の決定では、予測結果補正部126は、LDA推定モデルを用いて、過去に実行されたジョブの中から予測対象のジョブに類似する所定数のジョブを特定する。予測結果補正部126は、特定した所定数のジョブそれぞれの予測対象のジョブとのパラメータの一致状況と判定情報とに基づいて、特定した所定数のジョブそれぞれの消費電力による予測対象のジョブの電力の予測成功確率を特定する。そして予測結果補正部126は、予測成功確率が所定値(例えば、95%)以上となるジョブの消費電力を予測対象のジョブの推定消費電力に決定する。予測結果補正部126は、予測成功確率が所定値以上となるジョブがない場合、予測対象のジョブを実行する計算ノードの定格消費電力の合計(ジョブの最大消費電力)を予測対象のジョブの推定消費電力に決定する。
実行中のジョブの推定消費電力の決定では、予測結果補正部126は、予測値計算部125が現在以前の期間の予測モデルを用いて予測した該当期間の消費電力と、実際の該当期間の消費電力との誤差を算出する。誤差が閾値未満の場合、予測結果補正部126は、予測値計算部125が予測した、予測対象のジョブの以後の消費電力を予測対象のジョブの推定消費電力に決定する。誤差が閾値以上の場合、予測結果補正部126は、予測対象のジョブの最大消費電力を予測対象のジョブの推定消費電力に決定する。
なお、図5に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図5に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
図6は、データベースに格納される情報の一例を示す図である。図6の例では、DB110には、ジョブ情報111、ジョブ消費電力情報112、サンプルデータ113、学習結果情報114,115、類似ジョブ情報116、判定情報117および推定結果情報118が格納されている。
ジョブ情報111は、ジョブごとのジョブ名などのジョブステイタス情報である。ジョブ消費電力情報112は、実行中または実行が終了したジョブの時系列の消費電力に関する情報である。サンプルデータ113は、ジョブ消費電力情報112から抽出された、予測対象期間ごとの予測モデルの生成に用いる時系列電力データである。学習結果情報114は、予測モデルの学習結果を示す情報である。学習結果情報115は、LDAによる学習結果を示す情報である。類似ジョブ情報116は、実行前のジョブに類似するジョブを示す情報である。判定情報117は、実行前のジョブの消費電力予測の成功確率を特定するために用いる情報である。推定結果情報118は、実行前または実行中のジョブの以後の所定期間における消費電力の推定結果を示す情報である。
図7は、ジョブ情報の一例を示す図である。ジョブ情報111には、例えばジョブごとのジョブステイタス情報111a,111b,・・・が含まれている。ジョブステイタス情報111a,111b,・・・には、ジョブID、ジョブの名称、アプリケーションの名称、ジョブの実行を要求しているユーザのユーザ名、該当ユーザが属するグループのグループIDなど、ジョブの実行に関連する各種情報が含まれる。
図8は、ジョブ消費電力情報の一例を示す図である。ジョブ消費電力情報112は、例えばジョブの実行開始からの経過時間を行のラベルに設定し、ジョブ名を列のラベルに設定したデータテーブルである。行と列の交わる位置に、列に示されるジョブを実行したときの、実行開始から行に示される時間だけ経過した時点での、予測用類似ジョブの消費電力が設定されている。なお、図8の例では、経過時間に、その経過時間に対応する測定点の番号が示されている。
図9は、サンプルデータの一例を示す図である。サンプルデータ113には、複数のデータセット113a,113b,・・・が含まれる。例えばサンプル作成部123は、ジョブの実行開始からの経過時間を分割して得られる期間について、時間が早い順に「Interval 0」、「Interval 1」、「Interval 2」、・・・との識別子を付与するものとする。このとき「Interval 0」の期間は、その期間以前の時系列電力データが存在しないため予測対象期間からは除外される。そのためサンプル作成部123は、「Interval 1」以降の期間を、予測対象期間とする。そしてサンプル作成部123は、予測対象期間ごとのデータセット113a,113b,・・・を作成する。
例えばデータセット113aには、「Interval 1」の予測対象期間の予測モデルの生成に利用する時系列電力データが含まれる。データセット113aには、実行済みのジョブのジョブ名とそのジョブのジョブ番号との組に対応付けて、予測用類似ジョブの時系列電力データが設定されている。時系列電力データの欄には、電力の測定点の番号に対応付けて、その測定点で測定した電力値が設定されている。
データセット113aに含まれる時系列電力データは、問題データと答えデータとに分かれる。問題データには、データセット113aの予測対象期間より前に測定された電力値が含まれる。答えデータには、データセット113aの予測対象期間内に測定された電力値が含まれる。
データセット113aと同様に、他のデータセット113b,・・・にも、それぞれの予測対象期間の予測モデルの生成に利用する時系列電力データが含まれる。
図10は、実行中のジョブの消費電力予測に用いられる学習結果情報の一例を示す図である。学習結果情報114には、例えばグループごとの予測モデル114a,114b,・・・が含まれている。例えば予測モデル114aは、単位時間(5分)間隔に設定された予測点における1点先(5分先)〜6点先それぞれの消費電力を予測するニューラルネットワーク(例えばRNN)の予測モデルである。ニューラルネットワークにおける学習とは、ニューロンに相当するユニットに入力するデータに対する重みの適切な値を求めることである。学習結果には、例えばRNNの構造と学習された重み値とが設定される。
図11は、実行前のジョブの消費電力予測に用いられる学習結果情報の一例を示す図である。学習結果情報115は、LDA推定モデルによる学習結果である。学習結果情報115には、トピックを示すトピック番号に対応付けて、そのトピックに属する単語が登録されている。
図12は、類似ジョブ情報の一例を示す図である。例えば類似ジョブ情報116には、学習結果情報115に基づいて判定された、実行前のジョブそれぞれに対する類似ジョブリスト116a,116b,・・・が含まれる。類似ジョブリスト116a,116b,・・・には、LDA推定モデルの学習結果情報115に基づいて判定された、実行前のジョブに類似する所定数のジョブのジョブIDが示される。
図13は、判定情報の一例を示す図である。判定情報117には、複数のパラメータそれぞれが一致するか否か(パラメータの一致状況)が設定されている。複数のパラメータとしては、例えばジョブ名、ユーザ名、グループ名、アプリ名、要求ノード数および最大実行時間がある。図13の例ではパラメータが一致する場合は「TRUE」、パラメータが一致しない場合は「FALSE」が設定されている。また判定情報117には、消費電力予測の予測対象のジョブと予測に用いられるジョブとのパラメータ一致状況に対する、消費電力予測の成功確率がパーセント単位で設定される。
図14は、推定結果情報の一例を示す図である。推定結果情報118には、実行前または実行中のジョブごとの推定消費電力データ118a,118b,・・・が含まれている。推定消費電力データ118a,118b,・・・それぞれには、例えばジョブID、基準時刻、および基準時刻からの経過時間ごとの推定消費電力が設定されている。
推定消費電力データ118a,118b,・・・のうち、実行前のジョブに関する推定消費電力データには、実行開始からの経過時間ごとの予測の消費電力が設定されている。そのため、実行前のジョブに関する推定消費電力データの基準時刻の欄には、基準時刻が実行開始時刻であることを示す情報(例えば、空欄)が設定される。また推定消費電力データ118a,118b,・・・のうち、実行中のジョブに関する推定消費電力データの基準時刻の欄には、消費電力の予測処理が実行された時刻が設定される。
次に、予測結果補正部126による実行前のジョブの推定消費電力の特定方法について説明する。
図15は、実行前のジョブの推定消費電力の特定方法の一例を示す図である。予測結果補正部126は、実行前ジョブ51aが投入されたときに、実行前ジョブ51aのジョブステイタス情報に基づいて、実行前ジョブ51aの推定消費電力を決定する。
まず予測結果補正部126は、実行前ジョブ51aのジョブステイタス情報のトピック分布と実行済みのジョブそれぞれのジョブステイタス情報のトピック分布との類似度を計算する。予測結果補正部126は、算出した類似度が高い順に所定数のジョブを実行前ジョブ51aについての類似ジョブリスト(例えば、類似ジョブリスト116a)に登録する。
次に予測結果補正部126は、実行前ジョブ51aと類似ジョブリスト116aに登録されたジョブそれぞれとのパラメータの一致状況を特定する。例えば予測結果補正部126は、実行前ジョブ51aと類似ジョブリスト116aに登録されたジョブそれぞれとで、ジョブステイタス情報に設定されたジョブ名、ユーザ名、グループ名、アプリ名、要求ノード数および最大実行時間が一致するか否かを確認する。予測結果補正部126は、特定したパラメータの一致状況に基づいて、類似ジョブリスト116aに登録されたジョブに、実行前ジョブ51aの電力の予測成功確率が95%以上となるジョブ(予測用類似ジョブ)があるか否かを判定する。例えば予測結果補正部126は、判定情報117を参照し、類似ジョブリスト116aに登録された各ジョブについての実行前ジョブ51aとのパラメータの一致状況に対応する予測成功確率を特定する。
そして予測結果補正部126は、予測用類似ジョブがあると判定した場合、予測用類似ジョブの電力波形である類似ジョブ電力波形52を、実行前ジョブ51aに対応する推定消費電力データ(例えば、推定消費電力データ118a)に格納する。また予測結果補正部126は、予測用類似ジョブがないと判定した場合、電力が一定値(実行前ジョブ51aの最大消費電力)の電力波形53を推定消費電力データ118aに格納する。
このように予測結果補正部126は、実行前ジョブ51aの消費電力の予測成功確率が高い場合、予測消費電力を実行前ジョブ51aの推定消費電力に決定し、予測成功確率が高くない場合、最大消費電力を実行前ジョブ51aの推定消費電力に決定する。
次に、割合調整部143による優先度を示すキューの生成方法について説明する。
図16は、優先度を示すキューの生成方法の一例を示す図である。割合調整部143は、実行前ジョブ51a,51b,・・・の消費電力の予測成功確率に基づいて、実行前ジョブ51a,51b,・・・の実行される優先度を示す実行用キュー56を生成する。
割合調整部143は、実行前ジョブ51a,51b,・・・を予測成功確率が高いジョブと予測成功確率が高くないジョブとに分類する。例えば割合調整部143は、実行前ジョブ51a,51b,・・・のうち、予測成功確率が95%以上となるジョブ(つまり、予測用類似ジョブがあるジョブ)を分類用キュー54に投入する。また割合調整部143は、実行前ジョブ51a,51b,・・・のうち、予測成功確率が95%未満となるジョブ(つまり、予測用類似ジョブがないジョブ)を分類用キュー55に投入する。なお図16の例では、分類用キュー54,55の横の長さは、投入されているジョブの計算ノードの使用量(例えば、要求ノード数×最大実行時間)の合計を示す。
ここで、例えば分類用キュー54に入ったジョブの「最大実行時間×要求ノード数」の合計:分類用キュー55に入ったジョブの「最大実行時間×要求ノード数」の合計が、Y1:Y2であったとする。すると割合調整部143は、分類用キュー54から「最大実行時間×要求ノード数」の合計がY1×所定値Zになるようにジョブを取り出し、取り出したジョブを実行用キュー56に投入する。また割合調整部143は、分類用キュー55から「最大実行時間×要求ノード数」の合計がY2×所定値Zになるようにジョブを取り出し、取り出したジョブを実行用キュー56に投入する。割合調整部143は、分類用キュー54,55に入ったジョブが無くなるまで、分類用キュー54,55から実行用キュー56へ上記の比率でジョブの投入を行う。
このようにして実行用キュー56が生成される。なお実行用キュー56に入ったジョブは、先頭から順に1,2,3,・・・と優先度が設定される。また実行用キュー56に入ったジョブは、先頭に近いほど優先してスケジューリングされる(つまり、優先度が高い)。このような実行用キュー56に従ってスケジューリングされることで、予測成功確率が高いジョブと予測成功確率が高くないジョブとが一定の比率で実行されるようになる。
次に、予測結果補正部126による実行中のジョブの推定消費電力の特定方法について説明する。
図17は、実行中のジョブの推定消費電力の特定方法の一例を示す図である。予測結果補正部126は、一定の時間間隔で、実行中のジョブの実行中電力波形61に基づいて、実行中のジョブの推定消費電力を決定する。
まず予測結果補正部126は、実行中のジョブの過去の期間の消費電力の予測と実測との誤差を算出する。例えば予測結果補正部126は、予測値計算部125に、実行中電力波形61に示される所定時間前(例えば、30分前)までの消費電力の時系列変化に基づいて、所定時間前から現在までの消費電力の時系列変化を予測させる。そして予測結果補正部126は、所定時間前から現在までの消費電力の時系列変化の予測と実行中電力波形61に示される所定時間前から現在までの消費電力の時系列変化との誤差を算出する。
そして予測結果補正部126は、実行中のジョブの過去の期間の消費電力の予測と実測との誤差が実行中のジョブの最大消費電力の10%未満であると判定した場合、予測値計算部125に、現在以降の所定の期間の予測消費電力波形62を算出させる。予測結果補正部126は、実行中のジョブに対応する推定消費電力データ(例えば、推定消費電力データ118b)に予測消費電力波形62を格納する。また予測結果補正部126は、誤差が実行中のジョブの最大消費電力の10%以上であると判定した場合、電力が一定値(実行中のジョブの最大消費電力)の電力波形63を推定消費電力データ118bに格納する。
このように予測結果補正部126は、実行中のジョブの過去の期間の消費電力を予測できた場合、今後の予測消費電力を今後の推定消費電力に決定し、過去の期間の消費電力を予測できなかった場合、最大消費電力を今後の推定消費電力に決定する。
次に実行中のジョブの消費電力の予測に用いる予測モデルの生成方法について説明する。まず実行中のジョブの消費電力を予測する予測モデルを生成するためのデータセットの生成方法について詳細に説明する。
予測対象期間の電力を予測する学習としては、過去に実行されたすべてのジョブの時系列の電力情報を基に予測モデルを生成することが考えられる。しかし、予測対象期間以前に実行が終了してしまうジョブの時系列電力データは、その予測対象期間の予測モデルの生成に役立たない可能性がある。例えばジョブの実行開始からの経過時間が120分〜150分の期間の電力を推定するための予測モデルの生成に、実行開始から30分未満で実行が終了するジョブの時系列電力データは有効ではない。そこで例えば、サンプル作成部123は、予測モデルの生成に利用する時系列電力データを、予測対象期間まで実行が継続していたジョブの時系列電力データに限定することができる。
図18は、データセットの生成例(参考例)を示す図である。図18の例では、ジョブ消費電力情報112に基づいて、「Interval 2」の予測対象期間に対応するデータセット333が生成されている。
図18のジョブ消費電力情報112では、各ジョブの実行時に測定された電力値が「0」以外の値の場合、該当する測定点の欄に「x」が示されている。またジョブ消費電力情報112では、各ジョブの実行終了後の各測定点の欄に「0」が示されている。
図18からも分かるように、実行時間の長さはジョブごとに異なる。そのため予測モデルの生成に利用する時系列電力データを、予測対象期間まで実行が継続していたジョブの時系列電力データに限定すると、データセットに含まれる電力値の数は、ジョブの実行開始からの予測対象期間までの時間が長くなるほど少なくなる。
例えば「Interval 2」の予測対象期間のデータセット333は、例えば以下の手順で作成することができる。
図18の例では「JOB A/B/C/D/E」は「Interval 2」の前にジョブが終了している。これらのジョブは「Interval 2」の期間は実行されておらず、これらのジョブの時系列電力データは、「Interval 2」の期間中に継続して実行されているジョブの消費電力の予測には、あまり有用ではないと考えることもできる。そのためサンプル作成部123は、これらのジョブの電力の測定値は、「Interval 2」の予測モデル生成用のデータセット333から除外することも可能である。
ただし、実行されるジョブには、「JOB F」のように「Interval 2」の期間の開始直後(測定点「11」経過後、測定点「12」到達前)に完了しているジョブもある。この「JOB F」と同種のジョブの消費電力を正しく予測するには、データセット333内に、「JOB F」と同程度の実行時間で終了するジョブの時系列電力データが多く含まれていることが望ましい。ところが、図18の例では「Interval 2」の期間内に終了しているジョブの時系列電力データが少ない。そのため、データセット333を用いて生成した予測モデルでは、「Interval 2」の期間内にジョブが終了し、消費電力が「0」となるようなジョブの消費電力の時系列変化を正しく予測することが難しい。
そこでサンプル作成部123は、予測対象期間までの所定期間内に終了しているジョブの時系列電力データをデータセットに追加する。例えばサンプル作成部123は、「Interval i」(iは1以上の整数)の消費電力の予測に使用するデータセットに、ジョブの終了が測定点「6i−5」以降であるジョブの時系列電力データを含める。以下、図19〜図21を参照して、予測対象期間までの所定期間内に終了しているジョブの時系列電力データをデータセットに含む場合の、データセットの生成例について説明する。
図19は、データセットの第1の生成例を示す図である。図19の例では、ジョブ消費電力情報112に基づいて、「Interval 1」(i=1)の予測対象期間に対応するデータセット113aが生成されている。この場合、サンプル作成部123は、測定点「1」(6×1−5)以降に終了するジョブの時系列電力データを、データセット113aに含める。このうち、測定点「0〜5」の電力値が問題データであり、測定点「6〜11」の電力値が答えデータである。
図20は、データセットの第2の生成例を示す図である。図20の例では、ジョブ消費電力情報112に基づいて、「Interval 2」(i=2)の予測対象期間に対応するデータセット113bが生成されている。この場合、サンプル作成部123は、測定点「7」(6×2−5)以降に終了するジョブの時系列電力データを、データセット113bに含める。このうち、測定点「0〜11」の電力値が問題データであり、測定点「12〜17」の電力値が答えデータである。
図21は、データセットの第3の生成例を示す図である。図21の例では、ジョブ消費電力情報112に基づいて、「Interval 3」(i=3)の予測対象期間に対応するデータセット113cが生成されている。この場合、サンプル作成部123は、測定点「13」(6×3−5)以降に終了するジョブの時系列電力データを、データセット113cに含める。このうち、測定点「0〜17」の電力値が問題データであり、測定点「18〜23」の電力値が答えデータである。
サンプル作成部123は、図19〜図21に示したデータセット113a,113b,113cと同様に、以降の予測対象期間についてのデータセットを生成する。そしてサンプル作成部123は、生成したすべてのデータセットの集合を、サンプルデータ113としてDB110に格納する。その後、所定のタイミングで、学習部124が、サンプルデータ113に基づいて、予測対象期間ごとの予測モデルを生成する。
図22は、予測モデル生成処理の概要を示す図である。例えば学習部124は、データセット113aに含まれるジョブごとの時系列電力データ71,72,・・・に基づいてRNNによる学習を行い、「Interval 1」の予測対象期間の予測用の予測モデル114aを生成する。また学習部124は、データセット113bに含まれるジョブごとの時系列電力データ81,82,・・・に基づいてRNNによる学習を行い、「Interval 2」の予測対象期間の予測用の予測モデル114bを生成する。以後同様に、学習部124は、他の予測対象期間についても、その予測対象期間のデータセットに基づいてRNNによる学習を行い、その予測対象期間の予測モデルを生成する。
図23は、予測モデルの一例を示す図である。図23の例では、1点先から6点先の測定点それぞれの電力を予測する予測モデル114aが示されている。学習部124は、実行済みのジョブの時系列電力データを含むデータセット113aを読み込みながら、問題データに基づいて予測対象期間内の消費電力をRNNにより予測する。そして学習部124は、予測値と答えデータとの誤差を求め、誤差を減らすような重み値のパラメータを学習する。例えば学習部124は、BPTT(Back-Propagation Through Time)アルゴリズムで実測値と予測値との誤差を学習する。BPTTは、ニューラルネットワークの重みの時間方向の誤差逆伝播を行うものである。
予測値計算部125は、実行中のジョブの消費電力の実測値を取得したとき、図23に示すような予測モデル114aにより、以後の複数の測定点における予測用類似ジョブの消費電力を予測できる。
次に判定情報の生成処理の手順について説明する。
図24は、判定情報生成処理の手順の一例を示すフローチャートである。以下、図24に示す処理をステップ番号に沿って説明する。
[ステップS101]学習部124は、実行済みの各ジョブについてジョブステイタス情報内の出現単語を抽出し、LDA推定モデルを用いて単語をトピックに分類する。すなわち学習部124は、前述の式(2)を用いて、共通のジョブステイタス情報に出現する確率の高い単語同士を同じグループにグルーピングし、生成されたグループをトピックとする。学習部124は、生成したトピックと各トピックに属する単語のリストとを示す学習結果情報115をDB110に格納する。
[ステップS102]学習部124は、実行済みのジョブを1つ選択する。
[ステップS103]学習部124は、ステップS102で選択したジョブ(選択ジョブ)との類似度が最も高いジョブを実行済みのジョブの中から特定する。例えば学習部124は、学習結果情報115に基づいて、実行済みのすべてのジョブのジョブステイタス情報に含まれるトピック分布を算出する。学習部124は、算出したトピック分布に基づいて、選択ジョブのトピック分布と、実行済みの他のジョブのトピック分布との類似度を計算する。そして学習部124は、算出した類似度が最も高いジョブを特定する。
[ステップS104]学習部124は、選択ジョブとステップS103で特定したジョブ(特定ジョブ)とのパラメータの一致状況を特定する。例えば学習部124は、選択ジョブおよび特定ジョブそれぞれに対応するジョブステイタス情報を取得する。そして学習部124は、選択ジョブと特定ジョブとのジョブステイタス情報を参照し、選択ジョブと特定ジョブとでジョブ名、ユーザ名、グループ名、アプリ名、要求ノード数および最大実行時間それぞれが一致するか否かを特定する。
[ステップS105]学習部124は、特定ジョブの消費電力で選択ジョブの消費電力が予測可能か否かを判定する。例えば学習部124は、ジョブ消費電力情報112を参照し、特定ジョブの消費電力と選択ジョブの消費電力との各測定点での誤差の二乗の平均が所定値以下の場合、特定ジョブの消費電力で選択ジョブの消費電力が予測可能と判定する。学習部124は、特定ジョブの消費電力で選択ジョブの消費電力が予測可能と判定した場合、処理をステップS106に進める。また学習部124は、特定ジョブの消費電力で選択ジョブの消費電力が予測不可能と判定した場合、処理をステップS107に進める。
[ステップS106]学習部124は、ステップS104で特定したパラメータの一致状況についての成功数と判定数とに1を加算する(成功数=成功数+1、判定数=判定数+1)。そして処理がステップS108に進む。
[ステップS107]学習部124は、ステップS104で特定したパラメータの一致状況についての判定数に1を加算する(判定数=判定数+1)。
[ステップS108]学習部124は、実行済みのジョブをすべて選択したか否かを判定する。学習部124は、実行済みのジョブをすべて選択したと判定した場合、処理をステップS109に進める。また学習部124は、未選択の実行済みのジョブが残っていると判定した場合、処理をステップS102に進める。
[ステップS109]学習部124は、パラメータの一致状況ごとに予測成功確率(成功数/判定数)を算出する。そして学習部124は、各パラメータの一致状況に対する予測成功確率を示す判定情報117を生成し、生成した判定情報117をDB110に格納する。
このようにして、判定情報117が生成される。そして予測結果補正部126により、判定情報117を用いて、実行前のジョブの消費電力の時系列変化の予測成功確率が特定される。
次に予測モデルの生成処理の手順について具体的に説明する。
図25は、予測モデル生成処理の手順の一例を示すフローチャートである。以下、図25に示す処理をステップ番号に沿って説明する。なお予測モデル生成処理は、例えばタイマ部121から所定時間間隔で出力される指示に応じて実行される。なお、以下の説明では、ジョブの実行時間の最大値は24時間であり、予測対象期間の時間幅は30分であるものとする。この場合、「Interval i」のiの上限は「47」となる。
[ステップS111]メトリクス収集部122は、DB130から、ジョブごとの時系列電力データを取得する。メトリクス収集部122は、取得した時系列電力データを、ジョブ消費電力情報112としてDB110に格納する。この際、メトリクス収集部122は、ジョブ実行期間の最大値までの測定点のうち、計測されていない測定点の電力値はすべて「0」とする。
[ステップS112]サンプル作成部123は、変数iに初期値「1」を設定する。
[ステップS113]サンプル作成部123は、DB110内のジョブ消費電力情報112から、実行終了までの測定点「6i−5」以上のジョブの時系列電力データを抽出する。
[ステップS114]サンプル作成部123は、ステップS113で抽出した時系列電力データに基づいて、「Interval i」の予測対象期間(測定点「6i〜6i+5」)を予測するモデルを作るための、学習用のデータセットを作成する。例えばサンプル作成部123は、測定点「0〜6i−1」の電力値を問題データとし、測定点「6i〜6i+5」の電力値を答えデータとするデータセットを生成する。サンプル作成部123は、生成したデータセットをDB110に格納する。
[ステップS115]学習部124は、ステップS114で作成したデータセットを用いて、RNNにより「Interval i」の予測対象期間の予測モデルを学習する。学習部124は、学習した予測モデルをDB110に格納する。
[ステップS116]サンプル作成部123は、変数iに1を加算する(i=i+1)。
[ステップS117]サンプル作成部123は、iの値が上限(例えば「47」)を超えたか否かを判定する。サンプル作成部123は、iの値が上限を超えた場合、処理を終了する。またサンプル作成部123は、iの値が上限を超えていなければ、処理をステップS113に進める。
このようにして、予測対象期間ごとの予測モデルが生成される。そして予測値計算部125により、予測モデルを用いて、実行中のジョブの以後の所定期間(例えば30分)の消費電力の時系列変化の予測値が計算される。
次に実行前のジョブの電力推定処理の手順について具体的に説明する。
図26は、実行前電力推定処理の手順の一例を示すフローチャートである。以下、図26に示す処理をステップ番号に沿って説明する。なお実行前電力推定処理は、例えば新しくジョブが投入されたときに実行される。
[ステップS121]予測結果補正部126は、新しく投入されたジョブ(新規投入ジョブ)のジョブステイタス情報を取得する。
[ステップS122]予測結果補正部126は、学習結果情報115に基づいて、新規投入ジョブのジョブステイタス情報に含まれるトピック分布を算出する。
[ステップS123]予測結果補正部126は、新規投入ジョブとの類似度が高い所定数のジョブを実行済みのジョブの中から特定する。例えば予測結果補正部126は、ステップS122で算出したトピック分布に基づいて、実行済みのジョブのトピック分布との類似度を計算する。予測結果補正部126は、算出した類似度が高い順に所定数のジョブを特定する。そして予測結果補正部126は、特定した所定数のジョブのジョブIDを登録した類似ジョブリスト(例えば、類似ジョブリスト116a)をDB110に格納する。
[ステップS124]予測結果補正部126は、新規投入ジョブとステップS123で特定されたジョブ(類似ジョブ)とのパラメータの一致状況を特定する。例えば予測結果補正部126は、類似ジョブリスト116aに登録された類似ジョブに対応するジョブステイタス情報を取得する。そして予測結果補正部126は、新規投入ジョブと類似ジョブとのジョブステイタス情報を参照し、新規投入ジョブと類似ジョブとでジョブ名、ユーザ名、グループ名、アプリ名、要求ノード数および最大実行時間それぞれが一致するか否かを特定する。
[ステップS125]予測結果補正部126は、新規投入ジョブの電力の予測成功確率が95%以上となる類似ジョブがあるか否かを判定する。例えば予測結果補正部126は、判定情報117を参照し、各類似ジョブについての新規投入ジョブとのパラメータの一致状況に対応する予測成功確率を特定する。そして予測結果補正部126は、特定した予測成功確率が95%以上となる類似ジョブがあったか否かを判定する。予測結果補正部126は、新規投入ジョブの電力の予測成功確率が95%以上となる類似ジョブがあると判定した場合、処理をステップS126に進める。また予測結果補正部126は、新規投入ジョブの電力の予測成功確率が95%以上となる類似ジョブがないと判定した場合、処理をステップS128に進める。
[ステップS126]予測結果補正部126は、新規投入ジョブの電力の予測成功確率が95%以上となる類似ジョブ(予測用類似ジョブ)の電力の110%が新規投入ジョブの最大消費電力未満であるか否かを判定する。例えば予測結果補正部126は、ジョブ消費電力情報112に示される予測用類似ジョブの各測定点での電力の110%が、新規投入ジョブの要求ノード数×1ノードの定格消費電力未満であるか否かを判定する。なお予測結果補正部126は、新規投入ジョブの電力の予測成功確率が95%以上となる複数の類似ジョブがある場合、予測成功確率が95%以上となる複数の類似ジョブのうち、新規投入ジョブとの類似度が最も大きいものを予測用類似ジョブとする。
予測結果補正部126は、予測用類似ジョブの電力の110%が新規投入ジョブの最大消費電力未満であると判定した場合、処理をステップS127に進める。また予測結果補正部126は、予測用類似ジョブの電力の110%が新規投入ジョブの最大消費電力以上であると判定した場合、処理をステップS128に進める。
[ステップS127]予測結果補正部126は、予測用類似ジョブの電力の110%を新規投入ジョブの推定消費電力とする。例えば予測結果補正部126は、新規投入ジョブに対応する推定消費電力データ(例えば、推定消費電力データ118a)を生成する。予測結果補正部126は、推定消費電力データ118aのジョブIDの欄に新規投入ジョブのジョブIDを設定し、基準時刻の欄を空欄に設定する。また予測結果補正部126は、推定消費電力データ118aの消費電力の欄に、ジョブ消費電力情報112に示される予測用類似ジョブの各測定点での電力の110%を設定する。そして予測結果補正部126は、推定消費電力データ118aをDB110に格納する。そして処理が終了する。
[ステップS128]予測結果補正部126は、新規投入ジョブの最大消費電力を新規投入ジョブの推定消費電力とする。例えば予測結果補正部126は、推定消費電力データ118aのジョブIDの欄に新規投入ジョブのジョブIDを設定し、基準時刻の欄を空欄に設定する。また予測結果補正部126は、推定消費電力データ118aの消費電力の欄に、新規投入ジョブの要求ノード数×1ノードの定格消費電力を設定する。そして予測結果補正部126は、推定消費電力データ118aをDB110に格納する。
このようにして、新規投入ジョブのスケジューリングにおける推定消費電力を示す推定消費電力データ118aが生成される。予測結果補正部126は、判定情報117に基づいて、新規投入ジョブの電力を予測用類似ジョブの電力で予測した場合の予測成功確率が所定値(95%)以上か否かを判定する。予測成功確率が所定値以上の場合、予測結果補正部126は、予測用類似ジョブの電力を新規投入ジョブのスケジューリングにおける推定消費電力とする。これにより新規投入ジョブのスケジューリングにおける推定消費電力は小さくなる。ジョブのスケジューリングにおける推定消費電力が小さくなると、HPCシステム30で実行されるジョブの数が増加する。よってHPCシステム30の電力効率が向上する。
また予測成功確率が所定値未満の場合、予測結果補正部126は、新規投入ジョブの最大消費電力を新規投入ジョブのスケジューリングにおける推定消費電力とする。すると、新規投入ジョブの電力予測が困難である場合でも、新規投入ジョブが実行された場合の実際の電力より大きい推定消費電力を設定できるようになる。これによりHPCシステム30全体の定格消費電力を超えないようなスケジューリングができる。
次にジョブの実行割合調整処理の手順について具体的に説明する。
図27は、実行割合調整処理の手順の一例を示すフローチャートである。以下、図27に示す処理をステップ番号に沿って説明する。なお実行割合調整処理は、例えばタイマ部141から所定時間間隔で出力される指示に応じて実行される。
[ステップS131]割合調整部143は、実行前のジョブのうち予測成功確率95%以上のジョブを分類用キュー54に投入し、実行前のジョブのうち予測成功確率95%未満のジョブを分類用キュー55に投入する。
[ステップS132]割合調整部143は、分類用キュー54,55それぞれに入ったジョブの「最大実行時間×要求ノード数」の合計を算出する。
[ステップS133]割合調整部143は、分類用キュー54,55に入ったジョブの「最大実行時間×要求ノード数」の合計の比率に基づいて、分類用キュー54,55それぞれから実行用キュー56にジョブを投入する。例えば分類用キュー54に入ったジョブの「最大実行時間×要求ノード数」の合計:分類用キュー55に入ったジョブの「最大実行時間×要求ノード数」の合計が、Y1:Y2であったとする。割合調整部143は、分類用キュー54から「最大実行時間×要求ノード数」の合計がY1×所定値Zになるようにジョブを取り出し、取り出したジョブを実行用キュー56に投入する。また割合調整部143は、分類用キュー55から「最大実行時間×要求ノード数」の合計がY2×所定値Zになるようにジョブを取り出し、取り出したジョブを実行用キュー56に投入する。
[ステップS134]割合調整部143は、分類用キュー54,55に入ったすべてのジョブを実行用キュー56に投入したか否かを判定する。割合調整部143は、分類用キュー54,55に入ったすべてのジョブを実行用キュー56に投入したと判定した場合、処理を終了する。また割合調整部143は、分類用キュー54,55に入ったすべてのジョブを実行用キュー56に投入していないと判定した場合、処理をステップS133に進める。
このように割合調整部143は、実行前のジョブを予測成功確率に応じて、分類用キュー54,55に投入する。そして割合調整部143は、分類用キュー54,55それぞれに入ったジョブの「最大実行時間×要求ノード数」(つまり、計算ノード31,32,・・・の使用量)の比率に応じて、分類用キュー54,55に入ったジョブを実行用キュー56に投入する。これにより、予測成功確率が高いジョブと予測成功確率が高くないジョブとが一定の比率でスケジューリングされるようになる。ここで予測成功確率が高いジョブの推定消費電力には予測消費電力が用いられ、予測成功確率が高くないジョブの推定消費電力にはジョブの最大消費電力が用いられる。ジョブの最大消費電力は予測消費電力より大きいため、予測成功確率が高くないジョブの実行比率が偏るとHPCシステム30で実行できるジョブの数が少なくなる。そこで割合調整部143は、予測成功確率が高いジョブと予測成功確率が高くないジョブとが一定の比率でスケジューリングされるようにすることで、HPCシステム30で実行されるジョブの数を増加させる。これにより、HPCシステム30の電力効率を向上する。
次に実行中のジョブの電力推定処理の手順について具体的に説明する。
図28は、実行中電力推定処理の手順の一例を示すフローチャートである。以下、図28に示す処理をステップ番号に沿って説明する。なお実行中電力推定処理は、例えば新しくジョブが実行されたときに、ジョブごとに実行される。
[ステップS141]予測値計算部125は、新たに実行が開始されたジョブを推定対象ジョブとする。そして予測値計算部125は、推定対象ジョブの実行開始から30分待機する。待機時間の30分は、例えばタイマ部121で測定される。この場合、予測値計算部125は、タイマ部121からの30分経過の通知を受けて、次のステップS142に処理を進める。
[ステップS142]予測値計算部125は、推定対象ジョブが終了したか否かを判断する。例えば予測値計算部125は、推定対象ジョブの消費電力が「0」になった場合、そのジョブが終了したと判断することができる。予測値計算部125は、推定対象ジョブが終了した場合、処理を終了する。また予測値計算部125は、推定対象ジョブが終了していなければ、処理をステップS143に進める。
[ステップS143]メトリクス収集部122は、DB130から、推定対象ジョブの時系列電力データを取得する。そしてメトリクス収集部122は、取得した時系列電力データをDB110に格納する。この際、メトリクス収集部122は、電力情報がない期間(現在からジョブ実行最大長まで)の測定点には、すべて電力値「0」を設定する。またメトリクス収集部122は、ジョブがすでに完了した場合も、ジョブ終了後のジョブ実行最大長までの測定点には、すべて電力値「0」を設定する。
[ステップS144]予測値計算部125は、1つ前の期間の予測消費電力を算出する。例えば推定対象ジョブの実行開始から30i分経過していた場合、予測値計算部125は、「Interval (i−1)」を予測対象期間とする。そして予測値計算部125は、予測対象期間用の予測モデルにより、30分前から現在までの推定対象ジョブの一定時間間隔の測定点(例えば5分間隔の6点)の消費電力を予測する。例えば予測値計算部125は、推定対象ジョブの時系列電力データに示される測定点「0〜6(i−1)−1」の電力値に基づいて、測定点「6(i−1)〜6(i−1)+5」の6点の消費電力を予測する。
なおi=1の場合、予測モデルを用いた30分前から現在までの予測対象ジョブの消費電力予測ができないため、予測値計算部125は、過去に実行されたジョブに基づいて、30分前から現在までの予測対象ジョブの消費電力を予測してもよい。例えば予測値計算部125は、図26に示した実行前電力推定処理で推定対象ジョブの電力推定に用いられた予測用類似ジョブの実行開始から実行開始後30分までの電力を、推定対象ジョブの予測消費電力とする。
[ステップS145]予測結果補正部126は、ステップS144で算出した1つ前の期間の予測消費電力と実際の消費電力(実測消費電力)との誤差が推定対象ジョブの最大消費電力の10%未満であるか否かを判定する。例えば予測結果補正部126は、30分前から現在までの推定対象ジョブの一定時間間隔のすべての測定点において、予測消費電力と実測消費電力との誤差が推定対象ジョブの要求ノード数×1ノードの定格消費電力未満であるか否かを判定する。予測結果補正部126は、1つ前の期間の予測消費電力と実測消費電力との誤差が推定対象ジョブの最大消費電力の10%未満であると判定した場合、処理をステップS146に進める。また予測結果補正部126は、1つ前の期間の予測消費電力と実測消費電力との誤差が推定対象ジョブの最大消費電力の10%以上であると判定した場合、処理をステップS149に進める。
[ステップS146]予測値計算部125は、次の期間の予測消費電力を算出する。例えば推定対象ジョブの実行開始から30i分経過していた場合、予測値計算部125は、「Interval i」を予測対象期間とする。そして予測値計算部125は、予測対象期間用の予測モデルにより、現在から30分後までの推定対象ジョブの一定時間間隔の測定点の消費電力を予測する。例えば予測値計算部125は、推定対象ジョブの時系列電力データに示される測定点「0〜6i−1」の電力値に基づいて、測定点「6i〜6i+5」の6点の消費電力を予測する。
[ステップS147]予測結果補正部126は、ステップS146で算出した次の期間の予測消費電力の110%が推定対象ジョブの最大消費電力未満であるか否かを判定する。例えば予測結果補正部126は、測定点「6i〜6i+5」の予測消費電力の110%が、推定対象ジョブの要求ノード数×1ノードの定格消費電力未満であるか否かを判定する。予測結果補正部126は、次の期間の予測消費電力の110%が推定対象ジョブの最大消費電力未満であると判定した場合、処理をステップS148に進める。また予測結果補正部126は、次の期間の予測消費電力の110%が推定対象ジョブの最大消費電力以上であると判定した場合、処理をステップS149に進める。
[ステップS148]予測結果補正部126は、ステップS146で算出した次の期間の予測消費電力の110%を推定対象ジョブの次の期間の推定消費電力とする。例えば予測結果補正部126は、推定対象ジョブに対応する推定消費電力データ(例えば、推定消費電力データ118b)の基準時刻の欄に現在の時刻を設定する。また予測結果補正部126は、推定消費電力データ118bの消費電力の欄に、5分後から30分後の5分間隔の経過時間それぞれに対応付けて、測定点「6i〜6i+5」それぞれの予測消費電力の110%を設定する。そして処理がステップS141に進む。
[ステップS149]予測結果補正部126は、推定対象ジョブの最大消費電力を推定対象ジョブの次の期間の推定消費電力とする。例えば予測結果補正部126は、推定消費電力データ118bの基準時刻の欄に現在の時刻を設定する。また予測結果補正部126は、推定消費電力データ118bの消費電力の欄に、5分後から30分後の5分間隔の経過時間それぞれに対応付けて、推定対象ジョブの要求ノード数×1ノードの定格消費電力を設定する。そして処理がステップS141に進む。
このようにして、実行中のジョブのスケジューリングにおける電力が推定される。予測結果補正部126は、1つ前の期間の推定対象ジョブの予測消費電力と実測消費電力との誤差が所定値未満であるか否かを判定する。誤差が閾値未満の場合、推定対象ジョブの今後の消費電力も予測できる可能性が高い。そこで予測結果補正部126は、次の期間の推定対象ジョブの予測消費電力を、推定対象ジョブのスケジューリングにおける推定消費電力とする。これにより推定対象ジョブのスケジューリングにおける推定消費電力は小さくなり、HPCシステム30で実行されるジョブの数が増加する。よってHPCシステム30の電力効率が向上する。
また誤差が閾値未満の場合、推定対象ジョブの今後の消費電力を予測できる可能性が低い。そこで予測結果補正部126は、推定対象ジョブの最大消費電力を推定対象ジョブのスケジューリングにおける推定消費電力とする。すると、推定対象ジョブの電力予測が困難である場合でも、実際の電力より大きい推定消費電力を設定できるようになる。これによりHPCシステム30全体の定格消費電力を超えないようなスケジューリングができる。
なお予測値計算部125は、実行開始から予測対象期間までの消費電力に基づいて予測消費電力を算出する。そのため予測に用いられるデータは、実行が進むにつれて増えていくため、予測精度も実行が進むにつれて向上する。よって予測結果補正部126は、推定対象ジョブの実行が進むにつれて推定消費電力を低く抑えやすくなる。
次にジョブスケジューリング処理の手順について具体的に説明する。
図29は、ジョブスケジューリング処理の手順の一例を示すフローチャートである。以下、図29に示す処理をステップ番号に沿って説明する。なおジョブスケジューリング処理は、例えばジョブの実行が開始されたときまたは終了したときに実行される。
[ステップS151]ジョブスケジューリング部144は、ジョブの実行状況をロードする。例えばジョブスケジューリング部144は、DB110に記憶されたHPC30が実行前のジョブおよび実行中のジョブの情報を割合調整部143を介して取得する。またジョブスケジューリング部144は、割合調整部143が生成した実行用キュー56を取得する。
[ステップS152]ジョブスケジューリング部144は、変数Xに初期値「1」を設定する。
[ステップS153]ジョブスケジューリング部144は、実行用キュー56に入っている優先度Xのジョブを実行する空ノードがあるか否かを判定する。例えばジョブスケジューリング部144は、ジョブステイタス情報を参照し、優先度Xのジョブ、実行中のすべてのジョブおよびスケジューリング済みのすべてのジョブそれぞれの要求ノード数を特定する。ジョブスケジューリング部144は、優先度Xのジョブ、実行中のすべてのジョブおよびスケジューリング済みのすべてのジョブの要求ノード数の合計が、HPCシステム30の計算ノードの数以下の場合、優先度Xのジョブを実行する空ノードがあると判定する。
ジョブスケジューリング部144は、優先度Xのジョブを実行する空ノードがあると判定した場合、処理をステップS154に進める。またジョブスケジューリング部144は、優先度Xのジョブを実行する空ノードがないと判定した場合、処理をステップS156に進める。
[ステップS154]ジョブスケジューリング部144は、優先度Xのジョブをスケジューリングした場合の推定消費電力の合計がHPCシステム30全体の定格消費電力より小さいか否かを判定する。例えばジョブスケジューリング部144は、推定消費電力データを参照し、優先度Xのジョブ、実行中のすべてのジョブおよびスケジューリング済みのすべてのジョブそれぞれの現在以降の電力波形を取得する。ジョブスケジューリング部144は、取得した電力波形を積算した電力波形がHPCシステム30全体の定格消費電力以上となる時間がない場合、推定消費電力の合計がHPCシステム30全体の定格消費電力より小さいと判定する。
ジョブスケジューリング部144は、推定消費電力の合計がHPCシステム30全体の定格消費電力より小さいと判定した場合、処理をステップS155に進める。またジョブスケジューリング部144は、推定消費電力の合計がHPCシステム30全体の定格消費電力以上と判定した場合、処理をステップS156に進める。
[ステップS155]ジョブスケジューリング部144は、優先度Xのジョブをスケジューリングする。
[ステップS156]ジョブスケジューリング部144は、変数Xが実行用キュー56に入っている待ちジョブ数と等しいか否かを判定する。ジョブスケジューリング部144は、変数Xが待ちジョブ数と等しい場合、処理をステップS158に進める。ジョブスケジューリング部144は、変数Xが待ちジョブ数と等しくない場合、処理をステップS157に進める。
[ステップS157]ジョブスケジューリング部144は、変数Xに1を加算する(X=X+1)。そして処理がステップS153に進む。
[ステップS158]制御指示部145は、スケジュールに従ってHPCシステム30にジョブの実行を指示する。
このようにしてHPCシステム30全体の定格消費電力を超えないようにスケジューリングが行われる。次に、上記のスケジューリング方法とHPCシステム30全体の定格消費電力を超えないように、HPCシステム30にジョブを実行させる他の技術であるPower−Cappingとを比較する。
図30は、スケジューリング方法の比較例を示す図である。Power−Cappingを用いてジョブを実行した結果である実行結果90aと、HPCシステム30全体の定格消費電力を超えないようにスケジューリングして、ジョブを実行した結果である実行結果90bとを比較する。
Power−Cappingは、ノード毎に電力制約をすることによって、HPCシステム30全体の消費電力がPower−Capping値(例えば、HPCシステム30全体の定格消費電力)を超過しないように制御するものである。HPCシステム30にPower−Cappingを用いた実行結果90aでは、HPCシステム30は、前半にジョブAとジョブBとジョブCとを実行し、後半にジョブDとジョブEとを実行している。ここでHPCシステム30は、Power−CappingによってジョブA、ジョブBおよびジョブCそれぞれを実行するための消費電力を制限することで、HPCシステム30全体の定格消費電力を超過しないようにジョブを実行している。そのため実行結果90aでは、ジョブ(例えば、ジョブC)の実行時間が長くなっている。
HPCシステム30全体の定格消費電力を超えないようにスケジューリングした実行結果90bでは、HPCシステム30は、前半にジョブAとジョブBとを実行し、後半にジョブCとジョブDとジョブEとを実行している。これにより実行結果90bでは、HPCシステム30は、各ジョブを実行するための消費電力を制限することなく、HPCシステム30全体の定格消費電力を超過しないようにジョブを実行できる。
このように、第2の実施の形態に示すジョブスケジューリングによって、HPCシステム30全体のターンアラウンドタイム(TAT)を短縮することができる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
1 HPCシステム
1a,1b,1c,・・・ 計算ノード
2 第1ジョブ
3a,3b,・・・ 第4ジョブ
4 第3ジョブ
10 情報処理装置
11 記憶部
11a 判定情報
12 処理部

Claims (9)

  1. コンピュータに、
    実行中の第1ジョブの現在以前の第1期間における消費電力を、前記第1期間より前の情報に基づいて予測した第1予測消費電力を算出し、
    前記第1ジョブの前記第1期間における消費電力と前記第1予測消費電力との誤差が閾値未満の場合、複数の計算ノードへ割り当てられる前記第1ジョブを含む1以上の第2ジョブそれぞれの現在以降の第2期間における推定消費電力の合計が、所定の第1電力を超えないよう前記1以上の第2ジョブを前記複数の計算ノードに割り当てるスケジューリングの際の、前記第1ジョブの前記第2期間における推定消費電力を、前記第2期間に前記第1ジョブが実行された場合の消費電力を予測した第2予測消費電力に決定し、
    前記誤差が閾値以上の場合、前記スケジューリングの際の、前記第1ジョブの前記第2期間における推定消費電力を所定の第2電力に決定する、
    処理を実行させるジョブスケジューリングプログラム。
  2. 前記第1電力は、前記複数の計算ノード全体の定格消費電力に基づいて決定される、
    請求項1記載のジョブスケジューリングプログラム。
  3. 前記第2電力は、前記複数の計算ノードのうち前記第1ジョブに割り当てられた1以上の第1計算ノードそれぞれのノードごとの定格消費電力の合計に基づいて決定される、
    請求項1または2記載のジョブスケジューリングプログラム。
  4. 前記第1予測消費電力の算出では、前記第1ジョブが実行を開始してから前記第1期間開始までの前記第1ジョブの消費電力の時間変化に基づいて、前記第1期間における前記第1ジョブの消費電力の時間変化を前記第1予測消費電力として算出し、
    前記誤差が閾値未満の場合の前記第1ジョブの前記第2期間における推定消費電力の決定では、前記第1ジョブが実行を開始してから前記第2期間開始までの消費電力の時間変化に基づいて、前記第2期間における前記第1ジョブの消費電力の時間変化を予測した前記第2予測消費電力を前記第1ジョブの前記第2期間における推定消費電力に決定する、
    請求項1ないし3のいずれかに記載のジョブスケジューリングプログラム。
  5. 前記コンピュータにさらに、実行前の第3ジョブを前記複数の計算ノードのうちの1以上の第2計算ノードに割り当てた場合の前記第2期間における消費電力の第1予測成功確率を算出し、
    前記第1予測成功確率が所定値以上の場合、前記スケジューリングの際の、前記第3ジョブの前記第2期間における推定消費電力を、前記第2期間に前記第3ジョブが実行された場合の消費電力を予測した第3予測消費電力に決定し、
    前記第1予測成功確率が所定値未満の場合、前記スケジューリングの際の、前記第3ジョブの前記第2期間における推定消費電力を、前記1以上の第2計算ノードの定格消費電力の合計に基づいて決定される第3電力に決定させる、
    請求項1ないし4のいずれかに記載のジョブスケジューリングプログラム。
  6. 前記コンピュータにさらに、複数の前記第3ジョブのうち、前記第1予測成功確率が所定値以上となる前記第3ジョブの前記複数の計算ノードの使用量と複数の前記第3ジョブのうち、前記第1予測成功確率が所定値未満となる前記第3ジョブの前記複数の計算ノードの使用量との比率に基づいて、複数の前記第3ジョブそれぞれの前記スケジューリングの際の前記複数の計算ノードに割り当てられる優先度を決定させる、
    請求項5記載のジョブスケジューリングプログラム。
  7. 前記第1予測成功確率の算出では、実行が終了した複数の第4ジョブそれぞれの消費電力を前記複数の第4ジョブのうちの他のジョブを用いて予測した場合の、予測に用いられたジョブとのパラメータの一致状況に対する第2予測成功確率を示す判定情報に基づいて特定される、前記第3ジョブと前記複数の第4ジョブのうちの第5ジョブとのパラメータの一致状況に対応する前記第2予測成功確率を前記第1予測成功確率として算出し、
    前記第1予測成功確率が所定値以上の場合の前記第3ジョブの前記第2期間における推定消費電力の決定では、前記第5ジョブが過去に実行された際の消費電力に基づいて前記第2期間に前記第3ジョブが実行された場合の消費電力を予測した前記第3予測消費電力を前記第3ジョブの前記第2期間における推定消費電力に決定する、
    請求項5または6記載のジョブスケジューリングプログラム。
  8. 実行中の第1ジョブの現在以前の第1期間における消費電力を、前記第1期間より前の情報に基づいて予測した第1予測消費電力を算出し、前記第1ジョブの前記第1期間における消費電力と前記第1予測消費電力との誤差が閾値未満の場合、複数の計算ノードへ割り当てられる前記第1ジョブを含む1以上の第2ジョブそれぞれの現在以降の第2期間における推定消費電力の合計が、所定の第1電力を超えないよう前記1以上の第2ジョブを前記複数の計算ノードに割り当てるスケジューリングの際の、前記第1ジョブの前記第2期間における推定消費電力を、前記第2期間に前記第1ジョブが実行された場合の消費電力を予測した第2予測消費電力に決定し、前記誤差が閾値以上の場合、前記スケジューリングの際の、前記第1ジョブの前記第2期間における推定消費電力を所定の第2電力に決定する処理部、
    を有する情報処理装置。
  9. コンピュータが、
    実行中の第1ジョブの現在以前の第1期間における消費電力を、前記第1期間より前の情報に基づいて予測した第1予測消費電力を算出し、
    前記第1ジョブの前記第1期間における消費電力と前記第1予測消費電力との誤差が閾値未満の場合、複数の計算ノードへ割り当てられる前記第1ジョブを含む1以上の第2ジョブそれぞれの現在以降の第2期間における推定消費電力の合計が、所定の第1電力を超えないよう前記1以上の第2ジョブを前記複数の計算ノードに割り当てるスケジューリングの際の、前記第1ジョブの前記第2期間における推定消費電力を、前記第2期間に前記第1ジョブが実行された場合の消費電力を予測した第2予測消費電力に決定し、
    前記誤差が閾値以上の場合、前記スケジューリングの際の、前記第1ジョブの前記第2期間における推定消費電力を所定の第2電力に決定する、
    ジョブスケジューリング方法。
JP2020087048A 2020-05-18 2020-05-18 ジョブスケジューリングプログラム、情報処理装置およびジョブスケジューリング方法 Withdrawn JP2021182224A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020087048A JP2021182224A (ja) 2020-05-18 2020-05-18 ジョブスケジューリングプログラム、情報処理装置およびジョブスケジューリング方法
US17/186,253 US20210359514A1 (en) 2020-05-18 2021-02-26 Information processing apparatus and job scheduling method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020087048A JP2021182224A (ja) 2020-05-18 2020-05-18 ジョブスケジューリングプログラム、情報処理装置およびジョブスケジューリング方法

Publications (1)

Publication Number Publication Date
JP2021182224A true JP2021182224A (ja) 2021-11-25

Family

ID=78511959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020087048A Withdrawn JP2021182224A (ja) 2020-05-18 2020-05-18 ジョブスケジューリングプログラム、情報処理装置およびジョブスケジューリング方法

Country Status (2)

Country Link
US (1) US20210359514A1 (ja)
JP (1) JP2021182224A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023152896A1 (ja) * 2022-02-10 2023-08-17 日本電信電話株式会社 仮想マシン消費電力予測装置、仮想マシン消費電力予測方法、及びプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI785785B (zh) * 2021-09-09 2022-12-01 華碩電腦股份有限公司 電子裝置及其電源管理方法
CN116069143B (zh) * 2023-04-06 2023-07-18 山东省计算中心(国家超级计算济南中心) 一种基于作业相似性判断功耗预测的节能方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007236038A (ja) * 2006-02-28 2007-09-13 Sanyo Electric Co Ltd デマンド制御装置
JP6180826B2 (ja) * 2013-07-02 2017-08-16 株式会社東芝 エネルギー管理サーバ、エネルギー管理方法およびプログラム
JP6201530B2 (ja) * 2013-08-30 2017-09-27 富士通株式会社 情報処理システム、ジョブ管理装置、ジョブ管理装置の制御プログラム、及び、情報処理システムの制御方法
JP6683920B2 (ja) * 2016-02-24 2020-04-22 富士通株式会社 並列処理装置、電力係数算出プログラムおよび電力係数算出方法
US10372373B1 (en) * 2018-01-29 2019-08-06 Western Digital Technologies, Inc. Adaptive power balancing for memory device operations
CN111539841A (zh) * 2019-12-31 2020-08-14 远景智能国际私人投资有限公司 电量预测方法、装置、设备及可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023152896A1 (ja) * 2022-02-10 2023-08-17 日本電信電話株式会社 仮想マシン消費電力予測装置、仮想マシン消費電力予測方法、及びプログラム

Also Published As

Publication number Publication date
US20210359514A1 (en) 2021-11-18

Similar Documents

Publication Publication Date Title
US11762918B2 (en) Search method and apparatus
Gjoreski et al. Classical and deep learning methods for recognizing human activities and modes of transportation with smartphone sensors
US11568300B2 (en) Apparatus and method for managing machine learning with plurality of learning algorithms and plurality of training dataset sizes
Bagnall et al. Time-series classification with COTE: the collective of transformation-based ensembles
Wauters et al. A nearest neighbour extension to project duration forecasting with artificial intelligence
JP7177350B2 (ja) ジョブ電力予測プログラム、ジョブ電力予測方法、およびジョブ電力予測装置
US20210359514A1 (en) Information processing apparatus and job scheduling method
JP6839342B2 (ja) 情報処理装置、情報処理方法およびプログラム
US20100293117A1 (en) Method and system for facilitating batch mode active learning
JP2006024017A (ja) コンピュータ資源のキャパシティを予測するためのシステム、方法およびプログラム
US10331221B2 (en) Methods for analysing user interactions with a user interface
US11847496B2 (en) System and method for training and selecting equivalence class prediction modules for resource usage prediction
Zhang et al. Learning-driven interference-aware workload parallelization for streaming applications in heterogeneous cluster
JP6658507B2 (ja) 負荷推定システム、情報処理装置、負荷推定方法、及び、コンピュータ・プログラム
JP7235960B2 (ja) ジョブ電力予測プログラム、ジョブ電力予測方法、およびジョブ電力予測装置
JP7288189B2 (ja) ジョブ電力予測プログラム、ジョブ電力予測方法、およびジョブ電力予測装置
Bawankule et al. Early straggler tasks detection by recurrent neural network in a heterogeneous environment
JP2022143937A (ja) 情報処理装置、情報処理方法および情報処理プログラム
CN116909378A (zh) 一种基于深度强化学习的gpu动态能源效率优化运行时方法及系统
US20220027758A1 (en) Information processing apparatus and information processing method
Singer et al. HypTrails: a Bayesian approach for comparing hypotheses about human trails
Salih et al. Model-based resource utilization and performance risk prediction using machine learning Techniques
JP2021190001A (ja) ジョブスケジューリングプログラム、情報処理装置およびジョブスケジューリング方法
Gutiérrez Hermosillo Muriedas et al. perun: Benchmarking Energy Consumption of High-Performance Computing Applications
Myo et al. A noble feature selection method for human activity recognition using linearly dependent concept (LDC)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231010

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20231027