JP2020194377A - ジョブ電力予測プログラム、ジョブ電力予測方法、およびジョブ電力予測装置 - Google Patents

ジョブ電力予測プログラム、ジョブ電力予測方法、およびジョブ電力予測装置 Download PDF

Info

Publication number
JP2020194377A
JP2020194377A JP2019099871A JP2019099871A JP2020194377A JP 2020194377 A JP2020194377 A JP 2020194377A JP 2019099871 A JP2019099871 A JP 2019099871A JP 2019099871 A JP2019099871 A JP 2019099871A JP 2020194377 A JP2020194377 A JP 2020194377A
Authority
JP
Japan
Prior art keywords
job
power consumption
prediction
time
power
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.)
Granted
Application number
JP2019099871A
Other languages
English (en)
Other versions
JP7288189B2 (ja
Inventor
成人 鈴木
Shigeto Suzuki
成人 鈴木
崇 白石
Takashi Shiraishi
崇 白石
拓司 山本
Takuji Yamamoto
拓司 山本
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 JP2019099871A priority Critical patent/JP7288189B2/ja
Priority to EP20172121.4A priority patent/EP3745262A1/en
Priority to US16/865,451 priority patent/US11402889B2/en
Priority to CN202010412296.3A priority patent/CN112015615A/zh
Publication of JP2020194377A publication Critical patent/JP2020194377A/ja
Application granted granted Critical
Publication of JP7288189B2 publication Critical patent/JP7288189B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/06Energy or water supply
    • 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
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Supply And Distribution Of Alternating Current (AREA)
  • Power Sources (AREA)

Abstract

【課題】ジョブの消費電力の予測精度を向上させる。【解決手段】ジョブ電力予測装置10は、実行が終了した複数の第1ジョブ2a,2b,・・・の第1消費電力情報に基づいて、複数の予測対象期間それぞれに対応付けて、対応する予測対象期間以前の1以上の第1ジョブ2a,2b,・・・の消費電力の時間変化を示すサンプルデータ5a,5b,5c,・・・を生成する。次にジョブ電力予測装置10は、サンプルデータ5a,5b,5c,・・・に基づいて、予測対象期間におけるジョブの消費電力の予測モデル6a,6b,6c,・・・を生成する。そしてジョブ電力予測装置10は、第2ジョブ3の現在までの消費電力の時間変化を示す第2消費電力情報に基づいて、一予測対象期間に対応する予測モデルを用いて、一予測対象期間における第2ジョブ3の消費電力の時間変化を予測する。【選択図】図1

Description

本発明は、ジョブ電力予測プログラム、ジョブ電力予測方法、およびジョブ電力予測装置に関する。
HPC(High Performance Computing)システムなどの大規模なコンピュータシステム(以下、単にシステムと呼ぶこともある)では大量の電力を消費する。そのためシステムを安定して稼働させるには、システムの適切な消費電力管理が重要となる。例えばシステムの消費電力を一定に保つことができれば、給電設備への負荷が少なくなる。
システムの消費電力を管理するためには、システムによる電力需要を事前に予測できることが望ましい。システム全体の電力を予測する方法として、ジョブ名などを含む過去のジョブ投入情報から類似するジョブを特定し、特定したジョブの消費電力を予測値として、以後投入されたジョブの消費電力を予測する方法が考えられる。
ジョブの実行開始後は、実行中のジョブのそれまでの消費電力の時系列変化(電力波形)に基づいて、以後のジョブの消費電力を回帰により予測することも可能である。実行中の各ジョブの消費電力の予測結果を積算することで、実行中の全ジョブの合計消費電力を得ることができる。
消費電力の予測に利用可能な技術として、例えばIT(Information Technology)システムから発生する種々のデータから相関関係を検出する検出装置が提案されている。また予測の対象の時系列データの扱い方に特徴を持たせて、予測精度の向上を図ったカオス時系列短期予測装置も提案されている。
国際公開第2014/184928号 特開平9−146915号公報
実行中のジョブの以後の電力の予測方法として、RNN(Recurrent Neural Network)を利用する方法が考えられる。RNNは、時系列データに対応したニューラルネットワークである。例えば過去に実行されたジョブによる消費電力の時系列変化を示す時系列電力情報に基づいて、コンピュータがRNNを用いて消費電力の予測モデルを生成する。コンピュータは、実行中のジョブの以後の消費電力の推移を、予測モデルを用いて予測することができる。しかし、すべてのジョブの消費電力の時系列変化に基づいて1種類の予測モデルを生成した場合、個々のジョブの消費電力の時系列変化を示すデータ(時系列電力データ)が多様なため学習結果が収束しない。そのため生成される予測モデルによって実行中のジョブの以後の消費電力を予測しても、高い推定精度は期待できない。
1つの側面では、本件は、ジョブの消費電力の予測精度を向上させることを目的とする。
1つの案では、以下の処理をコンピュータに実行させるジョブ電力予測プログラムが提供される。
まずコンピュータは、実行が終了した複数の第1ジョブの実行時の消費電力の時間変化を示す第1消費電力情報に基づいて、複数の第1ジョブの実行開始からの経過時間の時間幅によって定義された複数の予測対象期間それぞれに対応付けて、対応する予測対象期間以前の1以上の第1ジョブの消費電力の時間変化を示すサンプルデータを生成する。次にコンピュータは、複数の予測対象期間それぞれに対応するサンプルデータに基づいて、対応する予測対象期間におけるジョブの消費電力の時間変化を予測するための予測モデルを生成する。さらにコンピュータは、実行中の第2ジョブの現在までの実行時間に基づいて一予測対象期間を特定する。そしてコンピュータは、第2ジョブの現在までの消費電力の時間変化を示す第2消費電力情報に基づいて、一予測対象期間におけるジョブの消費電力の時間変化を予測するための予測モデルを用いて、一予測対象期間における第2ジョブの消費電力の時間変化を予測する。
1態様によれば、ジョブの消費電力の予測精度が向上する。
第1の実施の形態に係るジョブ電力予測方法の一例を示す図である。 予測対象期間ごとの複数の予測モデルを用いたジョブの消費電力の予測処理の一例を示す図である。 第2の実施の形態のシステム構成例を示す図である。 管理サーバのハードウェアの一構成例を示す図である。 RNNについて説明する図である。 ジョブの時系列電力情報の一例を示す図である。 各ジョブの消費電力の時系列変化を表す時系列データの特徴を示す図である。 学習用のデータセットの比較例を示す図である。 学習用のデータセットの第1の修正例を示す図である。 学習用のデータセットの第2の修正例を示す図である。 学習モデル生成例比較表を示す図である。 ジョブの実行終了までの所要時間の分布の一例を示す図である。 問題データの取得対象期間の長さと相対誤差との関係を示す図である。 電力管理のための各装置の機能を示すブロック図である。 管理サーバのDBに格納される情報の一例を示す図である。 ジョブ消費電力情報の一例を示す図である。 サンプルデータの一例を示す図である。 学習結果情報の一例を示す図である。 予測結果情報の一例を示す図である。 データセットの生成例(参考例)を示す図である。 データセットの第1の生成例を示す図である。 データセットの第2の生成例を示す図である。 データセットの第3の生成例を示す図である。 予測モデル生成処理の概要を示す図である。 予測モデルの一例を示す図である。 予測モデル生成処理の手順の一例を示すフローチャートである。 消費電力予測処理の概要を示す図である。 電力推定処理の手順の一例を示すフローチャートである。 ジョブ強制停止処理の手順の一例を示すフローチャートである。 適用技術と比較例との平均誤差を比較した図である。 通常ジョブの消費電力の予測結果の相対誤差の分布を示す図である。 大規模ジョブの消費電力の予測結果の相対誤差の分布を示す図である。 オンデマンド料金制度を説明する図である。
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず第1の実施の形態について説明する。
図1は、第1の実施の形態に係るジョブ電力予測方法の一例を示す図である。図1には、ジョブ電力予測方法を実施するジョブ電力予測装置10が示されている。ジョブ電力予測装置10は、例えばジョブ電力予測方法の処理手順が記述されたジョブ電力予測プログラムを実行することにより、ジョブ電力予測方法を実施することができる。
ジョブ電力予測装置10は、例えばHPCシステム1に接続されており、HPCシステム1が実行中のジョブの以後の消費電力の時系列変化を予測する。ジョブ電力予測装置10は、ジョブ電力予測方法を実現するために、記憶部11と処理部12とを有する。記憶部11は、例えばジョブ電力予測装置10が有するメモリ、またはストレージ装置である。処理部12は、例えばジョブ電力予測装置10が有するプロセッサ、または演算回路である。
記憶部11は、第1消費電力情報4と複数の予測モデル6a,6b,6c,・・・とを記憶する。第1消費電力情報4は、実行が終了した複数の第1ジョブ2a,2b,・・・の実行時の消費電力の時間変化を示す情報である。予測モデル6a,6b,6c,・・・は、複数の第1ジョブ2a,2b,・・・の実行開始からの経過時間の時間幅によって定義された複数の予測対象期間それぞれにおけるジョブの消費電力の時間変化を予測するための情報である。予測モデル6a,6b,6c,・・・は、例えばニューラルネットワークである。
処理部12は、第1消費電力情報4に基づいて、複数の予測対象期間それぞれに対応付けて、対応する予測対象期間以前の1以上の第1ジョブの消費電力の時間変化を示すサンプルデータ5a,5b,5c,・・・を生成する(ステップS1)。例えば処理部12は、対応する予測対象期間より前の期間の1以上の第1ジョブの消費電力の時間変化を、問題データとしてサンプルデータ5a,5b,5c,・・・に含める。また処理部12は、対応する予測対象期間の1以上の第1ジョブの消費電力の時間変化を、答えデータとしてサンプルデータ5a,5b,5c,・・・に含める。答えデータは、教師ありの機械学習における教師データである。
次に処理部12は、複数の予測対象期間それぞれに対応するサンプルデータ5a,5b,5c,・・・に基づいて、対応する予測対象期間におけるジョブの消費電力の時間変化を予測するための予測モデル6a,6b,6c,・・・を生成する(ステップS2)。例えば処理部12は、サンプルデータ5a,5b,5c,・・・の問題データに基づいて、初期状態の予測モデル6a,6b,6c,・・・を用いて、対応する予測対象期間の消費電力の時系列変化を予測する。そして処理部12は、予測結果と答えデータとの誤差に基づいて予測モデル6a,6b,6c,・・・を修正する。処理部12は、このような予測モデル6a,6b,6c,・・・の修正を繰り返すことで、最終的な予測モデル6a,6b,6c,・・・を生成する。処理部12は、生成した予測モデル6a,6b,6c,・・・を記憶部11に格納する。
その後、処理部12は、HPCシステム1から実行中の第2ジョブ3の現在までの消費電力の時間変化を示す第2消費電力情報を取得する(ステップS3)。処理部12は、例えば第2消費電力情報に基づいて、実行中の第2ジョブ3の現在までの実行時間に基づいて、第2ジョブ3の消費電力を予測する一予測対象期間を特定する(ステップS4)。例えば処理部12は、第2ジョブ3の現在までの実行時間の直後の予測対象期間を、第2ジョブ3の消費電力を予測する一予測対象期間として特定する。そして処理部12は、第2消費電力情報に基づいて、一予測対象期間におけるジョブの消費電力の時間変化を予測するための予測モデルを用いて、一予測対象期間における第2ジョブの消費電力の時間変化を予測する(ステップS5)。
処理部12は、例えば予測結果をHPCシステム1に送信する(ステップS6)。HPCシステム1は、第2ジョブ3の消費電力の予測結果に基づいて、HPCシステム1の消費電力を管理する。例えばHPCシステム1は、消費電力が所定値を超える可能性がある場合、実行するジョブ数の削減などの処理を行う。
このようなジョブ電力予測装置10によれば、処理部12により、予測対象期間ごとに、適切なサンプルデータを用いた予測モデルが生成される。そして処理部12により、第2ジョブ3の以後の消費電力が、第2ジョブ3の現在までの実行時間に応じた予測モデルを用いて予測される。
図2は、予測対象期間ごとの複数の予測モデルを用いたジョブの消費電力の予測処理の一例を示す図である。図2の例では、処理部12は、複数の第1ジョブ2a,2b,・・・の実行開始からの経過時間を示す時間軸から、30分単位の複数の期間を切り出し、予測対象期間としている。例えば処理部12は、複数の第1ジョブ2a,2b,・・・の実行開始からの経過時間が30分〜60分の期間を、1つの予測対象期間としている。また処理部12は、複数の第1ジョブ2a,2b,・・・の実行開始からの経過時間が60分〜90分の期間を、1つの予測対象期間としている。さらに処理部12は、複数の第1ジョブ2a,2b,・・・の実行開始からの経過時間が90分〜120分の期間を、1つの予測対象期間としている。このように処理部12は、互いに重複せずに連続する複数の期間を、複数の予測対象期間とする。
処理部12は、予測対象期間ごとにサンプルデータ5a,5b,5c,・・・を生成する。図2の例では、処理部12は、1以上の第1ジョブの実行開始から、対応する予測対象期間の終了時までの消費電力の時間変化を示すサンプルデータ5a,5b,5c,・・・を生成している。
なお、処理部12は、サンプルデータ5a,5b,5c,・・・それぞれに、例えば複数の第1ジョブ2a,2b,・・・すべての消費電力の時系列変化を示す情報を含めることができる。また処理部12は、予測対象期間ごとに、消費電力の予測に使用する1以上の第1ジョブを決定し、決定した第1ジョブの時系列変化を示す情報を、その予測対象期間に対応するサンプルデータに含めてもよい。例えば処理部12は、複数の第1ジョブのなかから、実行開始から終了までの所要時間が、生成するサンプルデータに対応する予測対象期間に基づいて決定した閾値よりも長い1以上の第1ジョブを抽出する。閾値は、例えば予測対象期間の開始よりも前までの時間である。そして処理部12は、抽出した1以上の第1ジョブの消費電力の時間変化を示すサンプルデータを生成する。
処理部12は、予測対象期間ごとのサンプルデータ5a,5b,5c,・・・それぞれを用いて、予測対象期間ごとの予測モデル6a,6b,6c,・・・を生成する。その後、処理部12は、実行中の第2ジョブ3の第2消費電力情報7を取得し、第2ジョブ3の消費電力を予測する予測対象期間を特定する。図2の例では、第2ジョブ3は、現在、実行開始から60分が経過している。この場合、処理部12は、60分〜90分の予測対象期間を、例えば第2ジョブ3の消費電力の予測対象として特定する。
処理部12は、第2消費電力情報7に基づいて、特定した予測対象期間に対応する予測モデル6bを用いて、その予測対象期間(60分〜90分)における第2ジョブ3の消費電力を予測し、予測結果8を出力する。
このように、対応する予測対象期間以前の1以上の第1ジョブの消費電力の時間変化を示すサンプルデータ5a,5b,5c,・・・を生成したことで、サンプルデータ5a,5b,5c,・・・それぞれに含まれる消費電力の時間変化の多様性が低減する。そのため、サンプルデータ5a,5b,5c,・・・に基づいて予測モデル6a,6b,6c,・・・を学習する際に、学習結果が適切に収束し、高精度の予測が可能な予測モデル6a,6b,6c,・・・が生成される。そして処理部12が、生成された予測モデル6a,6b,6c,・・・のうち、第2ジョブ3の現在までの実行時間に応じた予測対象期間の予測モデルを用いて、第2ジョブ3の以後の消費電力を予測することで、ジョブの消費電力の予測精度が向上する。
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、ニューラルネットワークを用いて学習した予測モデルを用いて、ジョブの消費電力を予測するものである。
図3は、第2の実施の形態のシステム構成例を示す図である。HPCシステム30は、複数の計算ノード31,32,・・・を有している。計算ノード31,32,・・・は、投入されたジョブを実行するコンピュータである。
HPCシステム30内の計算ノード31,32,・・・は、HPC運用管理サーバ200に接続されている。HPC運用管理サーバ200は、HPCシステム30の運用管理を行うコンピュータである。例えばHPC運用管理サーバ200は、ジョブ実行時の計算ノード31,32,・・・の消費電力の時系列変化を監視する。またHPC運用管理サーバ200は、実行待ちのジョブについて、管理サーバ100からのジョブの電力消費パターンの予測結果を受信し、例えばシステムの消費電力が均一化されるように、ジョブスケジューリングを行う。そしてHPC運用管理サーバ200は、作成したジョブの実行スケジュールに従って、計算ノード31,32,・・・にジョブの実行を指示する。
HPC運用管理サーバ200は、ネットワーク20を介して端末装置41,42,・・・および管理サーバ100に接続されている。端末装置41,42,・・・は、HPCシステム30によるジョブの実行を希望するユーザが使用するコンピュータである。端末装置41,42,・・・は、ユーザの入力に基づいてHPCシステム30に実行させるジョブの内容を示すジョブ情報を生成し、生成したジョブ情報を含むジョブ投入要求を、HPC運用管理サーバ200に送信する。ジョブ情報は、ジョブで使用するアプリケーションプログラム名などのステイタス情報を含む。
管理サーバ100は、HPC運用管理サーバ200によるHPCシステム30の消費電力の管理を支援するコンピュータである。管理サーバ100は、HPC運用管理サーバ200から、実行中のジョブおよび実行が終了したジョブの消費電力の時系列変化を示す時系列電力データを取得する。管理サーバ100は、HPC運用管理サーバ200から取得した時系列電力データに基づいて、実行中のジョブの以後の消費電力の時間変化を予測する。そして管理サーバ100は、HPC運用管理サーバ200に、実行中のジョブの消費電力の時間変化の予測結果を送信する。
図4は、管理サーバのハードウェアの一構成例を示す図である。管理サーバ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は、管理サーバ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は、管理サーバ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
管理サーバ100は、以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、HPC運用管理サーバ200および計算ノード31,32,・・・も、図4に示した管理サーバ100と同様のハードウェアにより実現することができる。また第1の実施の形態に示したジョブ電力予測装置10も、図4に示した管理サーバ100と同様のハードウェアにより実現することができる。
管理サーバ100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。管理サーバ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、管理サーバ100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。また管理サーバ100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することも可能である。
図3に示すシステムにおいて、HPC運用管理サーバ200と管理サーバ100とが連係動作し、ジョブ単位での消費電力の予測結果に基づく適切な電力管理が行われる。例えば管理サーバ100は、実行中のジョブのそれまでの消費電力の実測値に基づいて、そのジョブの以後の消費電力の時系列変化を予測する。消費電力の時系列変化は、例えば電力波形で表される。HPC運用管理サーバ200は、実行中のすべてのジョブの消費電力の時系列変化の予測値に基づいて、HPCシステム30の最大消費電力が低く抑えられるように、ジョブの実行を制御する。例えばHPC運用管理サーバ200は、HPCシステム30の最大消費電力が閾値を超えると予測した場合、一部のジョブの実行を停止させる。
このような電力管理を適切に行うには、各ジョブの消費電力を高精度に予測することが重要となる。ジョブの消費電力の予測には、例えばRNNによって学習した予測モデルを利用できる。
図5は、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によりジョブの消費電力の時系列変化を予測する場合、既に実行が終了しているジョブの消費電力の測定結果を用いて予測モデルを作成することができる。
図6は、ジョブの時系列電力情報の一例を示す図である。ジョブの時系列電力情報302には、実行が完了したジョブごとに、そのジョブの実行開始からの経過時間ごとの消費電力(図中「x」で示す)が設定されている。図6の例では、ジョブの消費電力は5分ごとに測定されており、5分を最小単位として経過時間が測定点の番号(0から昇順の番号)で示されている。
ジョブの実行時間の最大値はユーザ指定のパラメータで決まっている。図6の例では、ユーザが設定できる最大値は24時間(1440分)になっている。時系列電力情報302に設定されているのは5分ごとの電力値なので、電力の測定点の番号は「287」が最大値となる。また図6の例では、時系列電力情報302に消費電力の時系列変化が設定されたジョブ数は「1000」である。なお、ジョブの最大実行時間や時系列電力情報302の生成に用いるジョブ数は、図6に示した数に限定されるものではない。
図6に示したような時系列電力情報302に基づいて、RNN300によりジョブの消費電力を学習し、予測モデルを作成しておくことで、実行中のジョブについての以後の消費電力を予測できる。ただし、HPCなどの大規模なシステムでは、さまざまなジョブが実行され、ジョブの実行時間もまちまちである。すなわち図6の例では、288点目の測定点の消費電力を測定する前に終了するジョブがほとんどであり、288点の測定点すべてにおける電力が測定されているジョブは一部にすぎない。
ジョブの実行時間が大きく異なるジョブは、消費電力の時間変化のパターンも異なる。そのため、単純に過去に実行されたジョブの消費電力の時系列データを用いて消費電力の時間変化のパターンを学習しても、適切な予測モデルを作成できない。
図7は、各ジョブの消費電力の時系列変化を表す時系列データの特徴を示す図である。仮に全ジョブの時系列電力情報302が1つの長い時系列データで表された場合、消費電力の時間変化は1つの回帰式で表現可能である。回帰式は、偏回帰係数、説明変数、および誤差によって、目的変数を算出する式である。しかし、HPCなどで実行されるジョブは実行時間がまちまちであり、全ジョブの時系列電力情報302は、長さの異なる多量の時系列データである。ジョブごとの時系列データは、長さが異なるだけでなく、特徴も異なる。このような場合、ジョブの消費電力の時間変化を1つの回帰式で表すのは困難である。
図7では消費電力の時系列変化を回帰式で表せるか否かを示しているが、RNNの予測モデルについても同様に考えることができる。すなわち、全ジョブの時系列電力情報302を1つの予測モデルで表すのは困難である。そこで管理サーバ100は、全ジョブの時系列電力情報302を、データの長さで分類し、同程度の長さの時系列データごとに予測モデルを作成する。これにより、同程度の長さの時系列データに共通の特徴を反映した予測モデルを作成することができる。
なお管理サーバ100は、消費電力の予測精度を向上だけでなく、予測モデル生成のための処理負荷を低減させることもできる。以下、図8〜図10を参照して、消費電力の予測精度向上と処理負荷の低減とを両立可能なデータセットの生成方法について説明する。
図8は、学習用のデータセットの比較例を示す図である。図8には、すべてのジョブの時系列電力データを含む時系列電力情報302から1つの予測モデル311を生成する場合の例が示されている。なお図8の例では、30分の期間の時系列電力データである問題データと、その後の30分の時系列電力データである答えデータとの組が、学習用のデータセットとなる。時系列電力情報302からは、問題データと答えデータとの抽出対象とする時間帯を5分ずつずらしながら、複数の学習用のデータセットが生成されている。
このようなデータセットを用いてRNNによる予測モデル311を作成すると、データセットが大量に生成されるため学習に時間がかかる。例えば電力値を測定したジョブ数が「1000」の場合、管理サーバ100は、1000個の時系列電力データを、問題データと答えデータとの範囲をずらしながら276回繰り返して予測モデル311に入力することで、予測モデル311を学習することとなる。しかも図8に示す比較例では、多様なデータセットで1つの予測モデル311を学習するため、適切なRNNを学習できず、生成された予測モデル311による推定精度も低い。
この場合、学習時間の短縮には、学習用のデータセットの数を削減することが効果的である。
図9は、学習用のデータセットの第1の修正例を示す図である。図9の例では、すべてのジョブの時系列電力データを含む時系列電力情報302から、30分ずつずらした学習用のデータセットが生成されている。これによりデータセットの数を削減することができる。例えば電力値を測定したジョブ数が「1000」の場合、管理サーバ100は、1000個の時系列電力データを、問題データと答えデータとの範囲をずらしながら47回繰り返して予測モデル312に入力することで、予測モデル312を学習することとなる。その結果、データセット数が削減された分、予測モデル312の生成に要する時間が短縮される。ただし、多様なデータセットで1つの予測モデル312を学習していることは図8に示した比較例と同じであり、比較例と同様に、生成された予測モデル312による推定精度も低い。
そこで管理サーバ100は、ジョブ実行開始からの経過時間の区間(予測対象期間)ごとにモデルを作成することでデータセットの多様性を低減させる。
図10は、学習用のデータセットの第2の修正例を示す図である。図10の例では、ジョブの実行開始からの経過時間が複数の時間帯に分けられており、経過時間の時間帯ごとの予測モデル313〜315が生成されている。予測モデル313〜315それぞれを学習するためのデータセットは、対応する時間帯以前の期間の電力が問題データであり、対応する時間帯内の電力が答えデータである。
例えば管理サーバ100は、ジョブの実行開始からの経過時間が、30分間隔の時間帯に分割する。そして管理サーバ100は、30分間隔の時間帯ごとの、データセットを生成する。例えば電力値を測定したジョブ数が「1000」の場合、管理サーバ100は、予測モデル313,314,315,・・・それぞれに1000個の時系列電力データを入力することで、予測モデル313,314,315,・・・それぞれを学習することとなる。
具体的には、管理サーバ100は、時系列電力情報302から、経過時間が0分から30分の間のジョブの消費電力(測定点の番号「0」〜「5」)を問題データとして抽出する。次に、管理サーバ100は、時系列電力情報302から、経過時間が30分から60分の間のジョブの消費電力(測定点の番号「6」〜「11」)を答えデータとして抽出する。そして管理サーバ100は、抽出した問題データと答えデータとの組を、30分〜60分の時間帯の消費電力予測用の予測モデル313を生成するためのデータセットとする。
また管理サーバ100は、時系列電力情報302から、経過時間が0分から60分の間のジョブの消費電力(測定点の番号「0」〜「11」)を問題データとして抽出する。次に、管理サーバ100は、時系列電力情報302から、経過時間が60分から90分の間のジョブの消費電力(測定点の番号「12」〜「17」)を答えデータとして抽出する。そして管理サーバ100は、抽出した問題データと答えデータとの組を、60分〜90分の時間帯の消費電力予測用の予測モデル314を生成するためのデータセットとする。
さらに管理サーバ100は、時系列電力情報302から、経過時間が0分から90分の間のジョブの消費電力(測定点の番号「0」〜「17」)を問題データとして抽出する。次に、管理サーバ100は、時系列電力情報302から、経過時間が90分から120分の間のジョブの消費電力(測定点の番号「18」〜「23」)を答えデータとして抽出する。そして管理サーバ100は、抽出した問題データと答えデータとの組を、90分〜120分の時間帯の消費電力予測用の予測モデル315を生成するためのデータセットとする。
このように、管理サーバ100は、ジョブ実行開始からの経過時間を分割して得られる時間帯ごとの予測モデル313,314,315,・・・を生成する。予測モデル313,314,415,・・・の生成には、それぞれ予測対象期間より前の全期間のジョブの消費電力の時系列変化が問題データとして使用される。すなわち、1つの予測モデルへの入力データとして1つのジョブの時系列電力データから抽出されるデータの範囲は1通りのみであり、データセットの多様性が低減している。このようにデータセットが、予測対象期間の電力の予測に適切なデータに限定されているため、予測対象期間における消費電力の傾向を正しく学習できる。その結果、推定精度が向上する。しかも、予測対象期間の幅を30分程度にすることで、データセット数を削減することができ、学習時間も短くてすむ。
以下、比較例と第1・第2の修正例とにおける、計算量と推定精度の違いについて説明する。
図11は、学習モデル生成例比較表を示す図である。学習モデル生成例比較表321は、図8〜図10に示した比較例、第1の修正例、および第2の修正例における、学習モデル生成処理の比較結果を示している。比較対象の項目は、データセットの量、RNNの大きさ、学習時の計算量、および推定精度である。なお図11の例では、時系列電力データを取得したジョブ数は「1000」であり、各時系列電力データには、5分間隔で288点(1日分)での電力値の測定結果が含まれるものとする。
学習モデル生成例比較表321には、データセットの量として、データセット電力値総数、モデルの数、1予測モデルあたりのデータセット電力値数が示されている。
データセット電力値総数は、予測モデルの生成に使用するデータセットに含まれる電力値の総数である。比較例では、問題データとして入力される電力値の総数は「6×276×1000」である。また比較例では、学習結果の出力に対する答えデータを示す電力値の総数は「6×276×1000」である。第1の修正例では、問題データとして入力される電力値の総数は「6×47×1000」である。また第1の修正例では、学習結果の出力に対する答えデータを示す電力値の総数は「6×47×1000」である。第2の修正例では、問題データとして入力される電力値の総数は「Σ6N×1000」(Nは1〜47の整数)である(Σは総和を示す記号である)。また第2の修正例では、学習結果の出力に対する答えデータを示す電力値の総数は「6×47×1000」である。
モデルの数は、生成される予測モデルの数である。比較例では1つの予測モデルが生成される。第1の修正例でも1つのモデルが生成される。第2の修正例では47個の予測モデルが生成される。
1予測モデルあたりのデータセット電力値数は、1つの予測モデルの生成のために使用されるデータセット内の電力値の数である。比較例と第1の修正例では、1予測モデルあたりのデータセット電力値数は、データセット電力値総数と同じである。第2の修正例では、予測モデルごとに使用されるデータセット内の電力値の数が異なる。ここで、第2の修正例で生成される予測モデルを、ジョブの実行開始から予測対象期間までの時間が短い順に並べ1〜Nの順番を付与した場合、N番目の予測モデルの問題データとして入力される電力値の数は「6N×1000」である。また第2の修正例では、各予測モデルの学習結果の出力に対する答えデータを示す電力値の数は「6×1000」である。
また学習モデル生成例比較表321には、RNNの大きさとして、入出力数と入力/出力とが示されている。
入出力数は、RNNの入力層へ入力する電力値の数と、RNNの出力層から出力される電力値の数である。比較例と第1の修正例とでは、入力する電力値の数「6」、出力される電力値の数「6」である。第2の修正例では、N番目の予測モデルに入力する電力値の数「6N」、出力される電力値の数「6」である。
入力/出力は、RNNの入力層へ入力する電力値の数と、RNNの出力層から出力される電力値の数との比の値である。比較例と第1の修正例とでは、入力/出力は「1」である。第2の修正例では、N番目の予測モデルの入力/出力は「N」である。
また学習モデル生成例比較表321には、1予測モデルあたりの学習時の計算量として、最小の計算量と最大の計算量とが、第1の修正例における1予測モデルの学習時の計算量(最小と最大とが共に「1」)を基準単位として示されている。比較例の計算量は、最小も最大も「6」(第1の修正例の6倍の計算量)である。第2の修正例の計算量が最小となるのは、入力される電力値の数が最小「6」となる1番目の予測モデルを生成する場合であり、その計算量は「1/47」(第1の修正例の47分の1の計算量)である。第2の修正例の計算量が最大となるのは、入力される電力値の数が最大「6N」となるN番目の予測モデルを生成する場合であり、その計算量は「47」(第1の修正例の47倍の計算量)である。
学習モデル生成例比較表321に示す推定精度は、生成された予測モデルに基づいて予測した電力値と実測して得られた電力値との相対誤差(%)の平均である。なお相対誤差は、絶対誤差(予測値と実測値との差)を実測値で除算したものである。なお推定精度については、比較例と第2の修正例とについての実験結果が示されている。比較例では相対誤差「65」であるが、第2の修正例では相対誤差「8.8」である。
ここで、第2の修正例では、生成する予測モデルによって、計算量が少なくて済む場合と、計算量が多くなる場合とがある。計算量が多い場合とは、ジョブの実行開始から予測対象期間までの経過時間が長い場合である。実際には、多くのジョブは、実行時間の最大値(図11の例では1日(24時間))よりも短い時間で終了し、実行終了までに長時間を要するジョブは非常に少ない。
図12は、ジョブの実行終了までの所要時間の分布の一例を示す図である。図12には、ジョブの所要時間分布表322が示されている。ジョブの所要時間分布表322では、横軸にジョブの実行開始から終了までの時間(所要時間)を、5分を単位時間として示している(所要時間の数値の5倍が、所要時間の分表示となる)。縦軸には、所要時間を所定時間幅の複数の期間に分割したときの、各期間内で終了したジョブ数を示している。図12に示すように、ほとんどのジョブは所要時間が短い。そのため、予測対象期間が時間的に後半の予測モデルになればなるほど、データセットに含まれる実際の計測結果の電力値の量が減り、計算時間も減ることとなる。
また、図11に示した例では、第2の修正例の相対誤差は、比較例に比べて非常に少なくなっている。図11に示した第2の修正例の相対誤差は、生成される複数の予測モデルの相対誤差の平均であるが、各予測モデルの相対誤差は、問題データの取得対象期間が長い(入力の電力値の数が多い)ほど少なくなる。
図13は、問題データの取得対象期間の長さと相対誤差との関係を示す図である。図13では、第1の比較例の相対誤差331と、第2の修正例の相対誤差332とをグラフで示している。第2の修正例の相対誤差332は、問題データの取得対象期間の長さに応じた折れ線グラフとなっている。
図13に示すように、第2の修正例の相対誤差332は、問題データの取得対象期間が長いほど少なくなる。また問題データの取得対象期間が30分(入力の電力値の数「6」)の場合であっても、第2の修正例の相対誤差332は、第1の比較例の相対誤差331よりも極めて少ない。すなわち、問題データの取得対象期間が同等であっても、第2の修正例は、比較例よりも高精度の予測が可能である。
これは、第2の修正例と比較例との2つの大きな相違点(RNNの大きさ(入力の電力値の数)の違いとデータセットの多様性の違い)のうち、データセットの多様性の違いが、予測精度に大きく寄与していることを示している。すなわち第2の修正例は、1つの予測モデルの生成に使用するデータセットの多様性が、比較例よりも低い。この多様性の低減が、予測精度の向上をもたらしている。
以下、管理サーバ100によるジョブ電力予測を伴うHPCシステム30の消費電力の管理方法について詳細に説明する。なお、以下の例では、管理サーバ100は、図10に示した第2の修正例よりも、さらにデータセットの量を削減している(詳細は、図20〜図23参照)。
図14は、電力管理のための各装置の機能を示すブロック図である。HPC運用管理サーバ200は、DB210、タイマ部220、情報取得部230、ジョブスケジューリング部240、および制御指示部250を有する。
DB210は、実行するジョブのステイタスを示すジョブステイタス情報や、実行したジョブの消費電力の時系列変化を示すジョブ消費電力情報を記憶する。
タイマ部220は、HPCシステム30からジョブごとの消費電力情報を収集するタイミングを管理する。例えばタイマ部220は、一定の時間間隔で、ジョブ消費電力情報の収集を情報取得部230に指示する。
情報取得部230は、タイマ部220からの指示に応じて、HPCシステム30から、HPCシステム30での実行が終了したジョブの時系列電力データを取得する。情報取得部230は、取得した消費電力情報を、DB210に格納する。
なおHPCシステム30は、ジョブごとに電力を測定する機能を備えている。例えばHPCシステム30内の各計算ノード31,32,・・・は、消費電力を計測する機器を備えており、ジョブを実行していない状態での消費電力と、ジョブを実行中の消費電力との差を、そのジョブの消費電力とすることができる。また計算ノード31,32,・・・は、温度センサなどの情報を元にジョブの消費電力を予測してもよい。例えば計算ノード31,32,・・・は、CPU温度とシステムボード(SB)排気温度とを、温度センサによって収集する。計算ノード31,32,・・・は、収集した温度データに基づいて、まずCPU温度変化(Tcpu)とSB排気温度変化(Tair)とを計算する。
CPU温度変化(Tcpu)は、以下の式で算出できる。
CPU温度変化(Tcpu)=CPU温度−水冷入力温度 ・・・(1)
またSBの排気温度変化(Tair)は、以下の式で算出できる。
SB排気温度変化(Tair)=SB排気温度−ラック吸気温度 ・・・(2)
計算ノード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 ・・・(3)
ジョブスケジューリング部240は、新規に投入されたジョブの実行スケジュールを作成する。またジョブスケジューリング部240は、管理サーバ100から実行中のジョブの今後の消費電力の予測結果を受信すると、HPCシステム30の消費電力が、所定の閾値を超えるか否かを判断する。例えばジョブスケジューリング部240は、実行中のジョブの消費電力の合計を、HPCシステム30の消費電力とする。ジョブスケジューリング部240は、HPCシステム30の消費電力が閾値を超えると予測した場合、一部のジョブを強制停止することを決定する。
制御指示部250は、ジョブスケジューリング部240によるジョブの実行スケジュールに従って、HPCシステム30にジョブの実行を指示する。また制御指示部250は、ジョブスケジューリング部240によってジョブの強制停止が決定されると、該当ジョブの停止をHPCシステム30に指示する。
管理サーバ100は、DB110、タイマ部120、メトリクス収集部130、サンプル作成部140、学習部150、予測値計算部160、および予測結果送信部170を有する。
DB110は、ジョブごとの電力消費パターンの予測に使用する情報を記憶する。タイマ部120は、実行済みのジョブの時系列電力データの取得タイミングを管理する。例えばタイマ部120は、一定の時間間隔で、HPC運用管理サーバ200からの情報収集を、メトリクス収集部130に指示する。またタイマ部120は、ジョブの実行が開始されると、一定間隔で該当ジョブの消費電力の予測を予測値計算部160に指示する。
メトリクス収集部130は、タイマ部120の指示に応じて、HPC運用管理サーバ200から情報を収集する。例えばメトリクス収集部130は、実行待ちのジョブおよび実行が終了したジョブのジョブステイタス情報と、実行が終了したジョブの電力消費パターンを示す時系列電力データとを、HPC運用管理サーバ200から取得する。メトリクス収集部130は、取得した情報をDB110に格納する。
サンプル作成部140は、DB110に格納された時系列電力データに基づいて、消費電力を推定するための予測モデルの生成に使用するサンプルデータを作成する。例えばサンプル作成部140は、ジョブの実行開始からの経過時間を分割して得られる複数の時間帯それぞれを予測対象期間として、予測対象期間ごとの学習用のデータセットを作成する。そしてサンプル作成部140は、作成したデータセットの集合を、サンプルデータとしてDB110に格納する。
学習部150は、ニューラルネットワークを用いて、ジョブの過去の消費電力情報から、以後の消費電力を予測する予測モデルを生成する。学習部150は、例えば予測対象期間ごとに、該当期間のデータセットを用いて、RNNにより予測モデルを生成する。
予測値計算部160は、タイマ部120により指示されたタイミングで、予測モデルを用いて、実行中のジョブの以後の消費電力の時系列変化を予測する。例えば予測値計算部160は、消費電力予測対象のジョブが属するグループの、現在のジョブの実行時間に応じた期間の予測モデルを用いて、消費電力を予測する。
予測結果送信部170は、未実行のジョブの消費電力の予測結果、および実行中のジョブの消費電力の予測結果を、HPC運用管理サーバ200に送信する。
なお、図14に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図14に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
図15は、管理サーバのDBに格納される情報の一例を示す図である。図15の例では、DB110には、ジョブ消費電力情報111、サンプルデータ112、学習結果情報113、および予測結果情報114が格納されている。
ジョブ消費電力情報111は、実行が終了したジョブの時系列の消費電力に関する情報である。サンプルデータ112は、ジョブ消費電力情報111から抽出された、予測対象期間ごとの予測モデルの生成に用いる時系列電力データである。学習結果情報113は、予測モデルの学習結果を示す情報である。予測結果情報114は、実行中のジョブの以後の所定期間における消費電力の予測結果を示す情報である。
図16は、ジョブ消費電力情報の一例を示す図である。ジョブ消費電力情報111は、例えばジョブの実行開始からの経過時間を行のラベルに設定し、ジョブ名を列のラベルに設定したデータテーブルである。行と列の交わる位置に、列に示されるジョブを実行したときの、実行開始から行に示される時間だけ経過した時点での、該当ジョブの消費電力が設定されている。なお、図16の例では、経過時間に、その経過時間に対応する測定点の番号が示されている。
図17は、サンプルデータの一例を示す図である。サンプルデータ112には、複数のデータセット112a,112b,・・・が含まれる。例えばサンプル作成部140は、ジョブの実行開始からの経過時間を分割して得られる期間について、時間が早い順に「Interval 0」、「Interval 1」、「Interval 2」、・・・との識別子を付与するものとする。このとき「Interval 0」の期間は、その期間以前の時系列電力データが存在しないため予測対象期間からは除外される。そのためサンプル作成部140は、「Interval 1」以降の期間を、予測対象期間とする。そしてサンプル作成部140は、予測対象期間ごとのデータセット112a,112b,・・・を作成する。
例えばデータセット112aには、「Interval 1」の予測対象期間の予測モデルの生成に利用する時系列電力データが含まれる。データセット112aには、実行済みのジョブのジョブ名とそのジョブのジョブ番号との組に対応付けて、該当ジョブの時系列電力データが設定されている。時系列電力データの欄には、電力の測定点の番号に対応づけて、その測定点で測定した電力値が設定されている。
データセット112aに含まれる時系列電力データは、問題データと答えデータとに分かれる。問題データには、データセット112aの予測対象期間より前に測定された電力値が含まれる。答えデータには、データセット112aの予測対象期間内に測定された電力値が含まれる。
データセット112aと同様に、他のデータセット112b,・・・にも、それぞれの予測対象期間の予測モデルの生成に利用する時系列電力データが含まれる。
図18は、学習結果情報の一例を示す図である。学習結果情報113には、例えばグループごとの予測モデル113a,113b,・・・が含まれている。例えば予測モデル113aは、単位時間(5分)間隔に設定された予測点における1点先(5分先)〜6点先それぞれの消費電力を予測するニューラルネットワーク(例えばRNN)の予測モデルである。ニューラルネットワークにおける学習とは、ニューロンに相当するユニットに入力するデータに対する重みの適切な値を求めることである。学習結果には、例えばRNNの構造と学習された重み値とが設定される。
図19は、予測結果情報の一例を示す図である。予測結果情報114には、実行中のジョブごとの予測電力データ114a,114b,・・・が含まれている。予測電力データ114a,114b,・・・それぞれには、例えばジョブ名、予測時刻、および予測対象の時点ごとの消費電力が設定されている。
次に、サンプルデータ112に含まれる予測対象期間ごとのデータセットの生成方法について詳細に説明する。
図10に示した例では、予測モデル313〜315それぞれの作成に使用するデータセットは、すべてのジョブの時系列電力情報302から抽出されている。しかし、予測対象期間以前に実行が終了してしまうジョブの時系列電力データは、その予測対象期間の予測モデルの生成に役立たない可能性がある。例えばジョブの実行開始からの経過時間が120分〜150分の期間の電力を推定するための予測モデルの生成に、実行開始から30分未満で実行が終了するジョブの時系列電力データは有効ではない。そこで例えば、サンプル作成部140は、予測モデルの生成に利用する時系列電力データを、予測対象期間まで実行が継続していたジョブの時系列電力データに限定することができる。
図20は、データセットの生成例(参考例)を示す図である。図20の例では、ジョブ消費電力情報111に基づいて、「Interval 2」の予測対象期間に対応するデータセット333が生成されている。
図20のジョブ消費電力情報111では、各ジョブの実行時に測定された電力値が「0」以外の値の場合、該当する測定点の欄に「x」が示されている。またジョブ消費電力情報111では、各ジョブの実行終了後の各測定点の欄に「0」が示されている。
図20からも分かるように、実行時間の長さはジョブごとに異なる。そのため予測モデルの生成に利用する時系列電力データを、予測対象期間まで実行が継続していたジョブの時系列電力データに限定すると、データセットに含まれる電力値の数は、ジョブの実行開始からの予測対象期間までの時間が長くなるほど少なくなる。
例えば「Interval 2」の予測対象期間のデータセット333は、例えば以下の手順で作成することができる。
図20の例では「JOB A/B/C/D/E」は「Interval 2」の前にジョブが終了している。これらのジョブは「Interval 2」の期間は実行されておらず、これらのジョブの時系列電力データは、「Interval 2」の期間中に継続して実行されているジョブの消費電力の予測には、あまり有用ではないと考えることもできる。そのためサンプル作成部140は、これらのジョブの電力の測定値は、「Interval 2」の予測モデル生成用のデータセット333から除外することも可能である。
ただし、実行されるジョブには、「JOB F」のように「Interval 2」の期間の開始直後(測定点「11」経過後、測定点「12」到達前)に完了しているジョブもある。この「JOB F」と同種のジョブの消費電力を正しく予測するには、データセット333内に、「JOB F」と同程度の実行時間で終了するジョブの時系列電力データが多く含まれていることが望ましい。ところが、図20の例では「Interval 2」の期間内に終了しているジョブの時系列電力データが少ない。そのため、データセット333を用いて生成した予測モデルでは、「Interval 2」の期間内にジョブが終了し、消費電力が「0」となるようなジョブの消費電力の時系列変化を正しく予測することが難しい。
そこでサンプル作成部140は、予測対象期間までの所定期間内に終了しているジョブの時系列電力データをデータセットに追加する。例えばサンプル作成部140は、「Interval x」(xは1以上の整数)の消費電力の予測に使用するデータセットに、ジョブの終了が測定点「6x−5」以降であるジョブの時系列電力データを含める。以下、図21〜図23を参照して、予測対象期間までの所定期間内に終了しているジョブの時系列電力データをデータセットに含まれる場合の、データセットの生成例について説明する。
図21は、データセットの第1の生成例を示す図である。図21の例では、ジョブ消費電力情報111に基づいて、「Interval 1」(x=1)の予測対象期間に対応するデータセット112aが生成されている。この場合、サンプル作成部140は、測定点「1」(6×1−5)以降に終了するジョブの時系列電力データを、データセット112bに含める。このうち、測定点「0〜5」の電力値が問題データであり、測定点「6〜11」の電力値が答えデータである。
図22は、データセットの第2の生成例を示す図である。図22の例では、ジョブ消費電力情報111に基づいて、「Interval 2」(x=2)の予測対象期間に対応するデータセット112bが生成されている。この場合、サンプル作成部140は、測定点「7」(6×2−5)以降に終了するジョブの時系列電力データを、データセット112bに含める。このうち、測定点「0〜11」の電力値が問題データであり、測定点「12〜17」の電力値が答えデータである。
図23は、データセットの第3の生成例を示す図である。図23の例では、ジョブ消費電力情報111に基づいて、「Interval 3」(x=3)の予測対象期間に対応するデータセット112cが生成されている。この場合、サンプル作成部140は、測定点「13」(6×3−5)以降に終了するジョブの時系列電力データを、データセット112cに含める。このうち、測定点「0〜17」の電力値が問題データであり、測定点「18〜23」の電力値が答えデータである。
サンプル作成部140は、図21〜図22に示したデータセット112a,112b,112cと同様に、以降の予測対象期間についてのデータセットを生成する。そしてサンプル作成部140は、生成したすべてのデータセットの集合を、サンプルデータ112としてDB110に格納する。その後、所定のタイミングで、学習部150が、サンプルデータ112に基づいて、予測対象期間ごとの予測モデルを生成する。
図24は、予測モデル生成処理の概要を示す図である。例えば学習部150は、データセット112aに含まれるジョブごとの時系列電力データ51,52,・・・に基づいてRNNによる学習を行い、「Interval 1」の予測対象期間の予測用の予測モデル113aを生成する。また学習部150は、データセット112bに含まれるジョブごとの時系列電力データ61,62,・・・に基づいてRNNによる学習を行い、「Interval 2」の予測対象期間の予測用の予測モデル113bを生成する。以後同様に、学習部150は、他の予測対象期間についても、その予測対象期間のデータセットに基づいてRNNによる学習を行い、その予測対象期間の予測モデルを生成する。
図25は、予測モデルの一例を示す図である。図25の例では、1点先から6点先の測定点それぞれの電力を予測する予測モデル113aが示されている。学習部150は、実行済みのジョブの時系列電力データを含むデータセット112aを読み込みながら、問題データに基づいて予測対象期間内の消費電力をRNNにより予測する。そして学習部150は、予測値と答えデータとの誤差を求め、誤差を減らすような重み値のパラメータを学習する。例えば学習部150は、BPTT(Back-Propagation Through Time)アルゴリズムで実測値と予測値との誤差を学習する。BPTTは、ニューラルネットワークの重みの時間方向の誤差逆伝播を行うものである。
予測値計算部160は、実行中のジョブの消費電力の実測値を取得したとき、図25に示す様な予測モデル113aにより、以後の複数の測定点における該当ジョブの消費電力を予測できる。
次に予測モデルの生成処理の手順について具体的に説明する。
図26は、予測モデル生成処理の手順の一例を示すフローチャートである。以下、図26に示す処理をステップ番号に沿って説明する。なお予測モデル生成処理は、例えばタイマ部120から所定時間間隔で出力される指示に応じて実行される。なお、以下の説明では、ジョブの実行時間の最大値は24時間であり、予測対象期間の時間幅は30分であるものとする。この場合、「Interval x」のxの上限は「47」となる。
[ステップS101]メトリクス収集部130は、HPC運用管理サーバ200から、ジョブごとの時系列電力データを取得する。メトリクス収集部130は、取得した時系列電力データを、ジョブ消費電力情報111としてDB110に格納する。この際、メトリクス収集部130は、ジョブ実行期間の最大値までの測定点のうち、計測されていない測定点の電力値はすべて「0」とする。
[ステップS102]サンプル作成部140は、変数xに初期値「1」を設定する。
[ステップS103]サンプル作成部140は、DB110内のジョブ消費電力情報111から、実行終了までの測定点「6x−5」以上のジョブの時系列電力データを抽出する。
[ステップS104]サンプル作成部140は、ステップS103で抽出した時系列電力データに基づいて、「Interval x」の予測対象期間(測定点「6x〜6x+5」)を予測するモデルを作るための、学習用のデータセットを作成する。例えばサンプル作成部140は、測定点「0〜6x−1」の電力値を問題データとし、測定点「6x〜6x+5」の電力値を答えデータとするデータセットを生成する。サンプル作成部140は、生成したデータセットをDB110に格納する。
[ステップS105]学習部150は、ステップS104で作成したデータセットを用いて、RNNにより「Interval x」の予測対象期間の予測モデルを学習する。学習部150は、学習した予測モデルをDB110に格納する。
[ステップS106]サンプル作成部140は、変数xに1を加算する(x=x+1)。
[ステップS107]サンプル作成部140は、xの値が上限(例えば「47」)を超えたか否かを判断する。サンプル作成部140は、xの値が上限を超えた場合、処理を終了する。またサンプル作成部140は、xの値が上限を超えていなければ、処理をステップS103に進める。
このようにして、予測対象期間ごとの予測モデルが生成される。そして予測値計算部160により、予測モデルを用いて、実行中のジョブの以後の所定期間(例えば30分)の消費電力の時系列変化の予測値が計算される。
図27は、消費電力予測処理の概要を示す図である。例えば新たにジョブの実行が開始されると、予測値計算部160は、メトリクス収集部130により該当ジョブの一定期間分の時系列電力データ70が取得されるのを待つ。時系列電力データ70が取得されると、予測値計算部160は、複数の予測モデル113a,113b,・・・のなかから、次の予測対象期間に対応する予測モデルを選択する。そして予測値計算部160は、時系列電力データ70を選択した予測モデルへの入力とすることで、次の予測対象期間の該当ジョブの消費電力を予測する。予測値計算部160は、予測結果を示す予測電力データ71をDB110に格納する。
次に、電力推定処理の手順について詳細に説明する。
図28は、電力推定処理の手順の一例を示すフローチャートである。以下、図28に示す処理をステップ番号に沿って説明する。なお電力推定処理は、新たにジョブの実行が開始されるごとに実施される。
[ステップS111]予測値計算部160は、新たに実行が開始されたジョブを推定対象ジョブとする。そして予測値計算部160は、推定対象ジョブの実行開始から30分待機する。待機時間の30分は、例えばタイマ部120で測定される。この場合、予測値計算部160は、タイマ部120からの30分経過の通知を受けて、次のステップS112に処理を進める。
[ステップS112]予測値計算部160は、変数xに初期値「1」を設定する。
[ステップS113]メトリクス収集部130は、HPC運用管理サーバ200から、推定対象ジョブの時系列電力データを取得する。そしてメトリクス収集部130は、取得した時系列電力データをDB110に格納する。この際、メトリクス収集部130は、電力情報がない期間(現在からジョブ実行最大長まで)の測定点には、すべて電力値「0」を設定する。またメトリクス収集部130は、ジョブがすでに完了した場合も、ジョブ終了後のジョブ実行最大長までの測定点には、すべて電力値「0」を設定する。
[ステップS114]予測値計算部160は、「Interval x」を予測対象期間とし、該当期間用の予測モデルにより、以後の30分の推定対象ジョブの一定時間間隔の測定点(例えば5分間隔の6点)の消費電力を予測する。例えば予測値計算部160は、推定対象ジョブの時系列電力データに示される測定点「0〜6x−1」の電力値に基づいて、測定点「6x〜6x+5」の6点の消費電力を予測する。
[ステップS115]予測値計算部160は、予測した消費電力に推定対象ジョブのジョブ名と現在時刻とを付与し、予測結果データとしてDB110に格納する。
[ステップS116]予測値計算部160は、30分だけ待機する。待機時間の30分は、例えばタイマ部120で測定される。この場合、予測値計算部160は、タイマ部120からの30分経過の通知を受けて、次のステップS117に処理を進める。
[ステップS117]予測値計算部160は、推定対象ジョブが終了したか否かを判断する。例えば予測値計算部160は、推定対象ジョブの消費電力が「0」になった場合、そのジョブが終了したと判断することができる。予測値計算部160は、推定対象ジョブが終了した場合、電力推定処理を終了する。また予測値計算部160は、推定対象ジョブが終了していなければ、処理をステップS118に進める。
[ステップS118]予測値計算部160は、変数xに1を加算する(x=x+1)。
[ステップS119]予測値計算部160は、xの値が上限(例えば「47」)を超えたか否かを判断する。予測値計算部160は、xの値が上限を超えた場合、処理を終了する。また予測値計算部160は、xの値が上限を超えていなければ、処理をステップS113に進める。
このようにして、適切な予測モデルを用いて消費電力を予測することができ、予測値の計算精度が向上する。
次に、HPC運用管理サーバ200によるジョブの強制停止処理の手順について説明する。
図29は、ジョブ強制停止処理の手順の一例を示すフローチャートである。以下、図29に示す処理をステップ番号に沿って説明する。
[ステップS131]ジョブスケジューリング部240は、ジョブの専有ノード数と最大時間に基づいて、ジョブのスケジューリングを行う。スケジューリング結果は、制御指示部250に送信される。制御指示部250は、スケジュールに従ってHPCシステム30にジョブの実行を指示する。
[ステップS132]ジョブスケジューリング部240は、実行中のジョブの消費電力の予測結果を受信すると、その予測結果に基づいて、今後のHPCシステム30の全電力の時系列変化を計算する。例えばジョブスケジューリング部240は、ジョブごとの電力波形を積算し、積算結果をHPCシステム30の電力とする。
[ステップS133]ジョブスケジューリング部240は、HPCシステム30の電力が最大供給電力を超過するか否かを判断する。ジョブスケジューリング部240は、消費電力が最大供給電力を超過する時間がある場合、処理をステップS134に進める。ジョブスケジューリング部240は、消費電力が最大供給電力を超過しなければ、処理を終了する。
[ステップS134]ジョブスケジューリング部240は、実行中のジョブの1つを強制停止する。例えばジョブスケジューリング部240は、実行中のジョブのうち、最も消費電力が大きいジョブを強制停止する。その後、ジョブスケジューリング部240は、処理をステップS133に進める。
このようにして、実行中のジョブの消費電力の予測結果に基づいて、HPCシステム30の消費電力が最大供給電力を超えないように制御することが可能となる。実行中のジョブの消費電力の予測結果が正確であることにより、無駄にジョブを強制停止させることがなくなり、ジョブの実行効率が向上する。また、実行中のジョブの消費電力の予測結果が正確であることで、予測に反してHPCシステム30の消費電力が最大供給電力を超えてしまう事態の発生を抑止でき、HPCシステム30の安定性が向上する。
次に、第2の実施の形態で適用した技術により予測した消費電力と実際の消費電力との誤差について説明する。
図30は、適用技術と比較例との平均誤差を比較した図である。図30では、第2の実施の形態の技術により予測した30分間の消費電力の平均誤差を、図8に示した比較例に示した予測モデルを用いて予測した30分間の消費電力の平均誤差と比較している。
なお適用技術については、消費電力が2MW未満の通常ジョブの消費電力を予測した場合の平均誤差と、消費電力が2MW以上の大規模ジョブの消費電力を予測した場合の平均誤差とが示されている。比較例については、消費電力が2MW以上の大規模ジョブの消費電力を予測した場合の平均誤差が示されている。
通常ジョブの消費電力を、第2の実施の形態に示した適用技術で予測した場合、5.5%の誤差で予測できている。また大規模ジョブの消費電力を、第2の実施の形態に示した適用技術で予測した場合、8.8%の誤差で予測できている。それに対して、大規模ジョブの消費電力を比較例に示した予測モデルで予測した場合、誤差が65.0%である。このように、第2の実施の形態に示した適用技術によれば、高精度にジョブの消費電力を予測することができる。
図31は、通常ジョブの消費電力の予測結果の相対誤差の分布を示す図である。図31では、横軸に相対誤差の区間を示し、縦軸に予測結果が対応する区間内の誤差を有するジョブの全体に対する割合を示している。図31の例では、相対誤差が0%以上5%未満のジョブが全体の69%である。また相対誤差が5%以上10%未満のジョブが全体の25%である。さらに相対誤差が10%以上20%未満のジョブが全体の5%である。このように、ほとんどの通常ジョブは、相対誤差20%未満に収まっている。
図32は、大規模ジョブの消費電力の予測結果の相対誤差の分布を示す図である。図32では、横軸に相対誤差の区間を示し、縦軸に予測結果が対応する区間内の誤差を有するジョブの全体に対する割合を示している。図32の例では、相対誤差が0%以上5%未満のジョブが全体の60%である。相対誤差が5%以上10%未満のジョブが全体の18%である。相対誤差が10%以上20%未満のジョブが全体の10%である。相対誤差が20%以上30%未満のジョブが全体の4%である。相対誤差が30%以上40%未満のジョブが全体の4%である。相対誤差が40%以上50%未満のジョブが全体の3%である。相対誤差が70%以上80%未満のジョブが全体の1%である。このように、大規模ジョブは、通常ジョブに比べると誤差が増えるものの、60%のジョブは相対誤差5%未満であり、高い予測精度が達成されている。
また、ジョブごとの消費電力を正確に予測できることで、オンデマンド料金制度に基づいて電力料金の契約をしていた場合に、HPCシステム30の消費電力が契約電力を超えないように適切に制御することができる。
図33は、オンデマンド料金制度を説明する図である。図33には、HPCシステム30全体の消費電力を示す電力波形341のグラフを示している。グラフの横軸がHPCシステムの稼働時間であり、縦軸が消費電力である。電力波形341で示される消費電力の時系列変化の所定期間(例えば30分)の平均電力342が、該当期間の電力使用量となる。図33の例では、瞬間最大消費電力は150kwであるが、電力使用量は100kwと換算される。
ここでオンデマンド料金制度では、「電気料金=契約電力料金+電力料金単価×1ヶ月の電力使用量」という計算式で、各月の電力料金が算出される。HPCシステム30では膨大な電力を消費するため、契約電力料金が高額になる。契約電力料金は前年(過去1年間)で最も電力を使用した30分間の電力使用量(最大需要電力)に応じて決定される。そのため30分間単位の時間帯で一度でも契約電力を超過すれば、次年度の電力料金が増加する。
新規投入ジョブの消費電力を正確に予測することができれば、HPC運用管理サーバ200は、以後の30分の時間帯における電力使用量が、過去1年の最大需要電力を超えそうか否かを適切に判断できる。HPC運用管理サーバ200は、過去1年の最大需要電力を超えそうと判断した場合、新規投入ジョブの実行開始を遅らせたり、実行中のジョブを強制停止したりすることで、電力使用量が過去1年の最大需要電力を超えることを抑止できる。その結果、電力料金が抑えられる。
〔その他の実施の形態〕
第2の実施の形態では、図10に示した第2の修正例よりも、さらにデータセットの量を削減することで処理の効率化を図っているが、管理サーバ100は、第2の修正例に示したようなデータセットを用いて予測モデルを生成してもよい。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
1 HPCシステム
2a,2b,・・・ 第1ジョブ
3 第2ジョブ
4 第1消費電力情報
5a,5b,5c,・・・ サンプルデータ
6a,6b,6c,・・・ 予測モデル
10 ジョブ電力予測装置
11 記憶部
12 処理部

Claims (7)

  1. コンピュータに、
    実行が終了した複数の第1ジョブの実行時の消費電力の時間変化を示す第1消費電力情報に基づいて、前記複数の第1ジョブの実行開始からの経過時間の時間幅によって定義された複数の予測対象期間それぞれに対応付けて、対応する予測対象期間以前の1以上の第1ジョブの消費電力の時間変化を示すサンプルデータを生成し、
    前記複数の予測対象期間それぞれに対応する前記サンプルデータに基づいて、対応する前記予測対象期間におけるジョブの消費電力の時間変化を予測するための予測モデルを生成し、
    実行中の第2ジョブの現在までの実行時間に基づいて一予測対象期間を特定し、
    前記第2ジョブの現在までの消費電力の時間変化を示す第2消費電力情報に基づいて、前記一予測対象期間におけるジョブの消費電力の時間変化を予測するための前記予測モデルを用いて、前記一予測対象期間における前記第2ジョブの消費電力の時間変化を予測する、
    処理を実行させるジョブ電力予測プログラム。
  2. 前記サンプルデータの生成では、対応する前記予測対象期間より前の期間の前記1以上の第1ジョブの消費電力の時間変化を問題データとして含み、対応する前記予測対象期間の前記1以上の第1ジョブの消費電力の時間変化を答えデータとして含む前記サンプルデータを生成し、
    前記予測モデルの生成では、前記サンプルデータの前記問題データに基づいて、前記予測モデルを用いて、対応する前記予測対象期間の消費電力の時系列変化を予測し、予測結果と前記答えデータとの誤差に基づいて前記予測モデルを修正する、
    請求項1記載のジョブ電力予測プログラム。
  3. 前記サンプルデータの生成では、前記1以上の第1ジョブの実行開始から、対応する前記予測対象期間の終了時までの消費電力の時間変化を示す前記サンプルデータを生成する、
    請求項1または2記載のジョブ電力予測プログラム。
  4. 前記サンプルデータの生成では、互いに重複せずに連続する複数の期間を、前記複数の予測対象期間とする、
    請求項1ないし3のいずれかに記載のジョブ電力予測プログラム。
  5. 前記サンプルデータの生成では、前記複数の第1ジョブのなかから、実行開始から終了までの所要時間が、生成する前記サンプルデータに対応する前記予測対象期間に基づいて決定した閾値よりも長い前記1以上の第1ジョブを抽出し、抽出した前記1以上の第1ジョブの消費電力の時間変化を示す前記サンプルデータを生成する、
    請求項1ないし4のいずれかに記載のジョブ電力予測プログラム。
  6. コンピュータが、
    実行が終了した複数の第1ジョブの実行時の消費電力の時間変化を示す第1消費電力情報に基づいて、前記複数の第1ジョブの実行開始からの経過時間の時間幅によって定義された複数の予測対象期間それぞれに対応付けて、対応する予測対象期間以前の1以上の第1ジョブの消費電力の時間変化を示すサンプルデータを生成し、
    前記複数の予測対象期間それぞれに対応する前記サンプルデータに基づいて、対応する前記予測対象期間におけるジョブの消費電力の時間変化を予測するための予測モデルを生成し、
    実行中の第2ジョブの現在までの実行時間に基づいて一予測対象期間を特定し、
    前記第2ジョブの現在までの消費電力の時間変化を示す第2消費電力情報に基づいて、前記一予測対象期間におけるジョブの消費電力の時間変化を予測するための前記予測モデルを用いて、前記一予測対象期間における前記第2ジョブの消費電力の時間変化を予測する、
    ジョブ電力予測方法。
  7. 実行が終了した複数の第1ジョブの実行時の消費電力の時間変化を示す第1消費電力情報を記憶する記憶部と、
    前記第1消費電力情報に基づいて、前記複数の第1ジョブの実行開始からの経過時間の時間幅によって定義された複数の予測対象期間それぞれに対応付けて、対応する予測対象期間以前の1以上の第1ジョブの消費電力の時間変化を示すサンプルデータを生成し、前記複数の予測対象期間それぞれに対応する前記サンプルデータに基づいて、対応する前記予測対象期間におけるジョブの消費電力の時間変化を予測するための予測モデルを生成し、実行中の第2ジョブの現在までの実行時間に基づいて一予測対象期間を特定し、前記第2ジョブの現在までの消費電力の時間変化を示す第2消費電力情報に基づいて、前記一予測対象期間におけるジョブの消費電力の時間変化を予測するための前記予測モデルを用いて、前記一予測対象期間における前記第2ジョブの消費電力の時間変化を予測する処理部と、
    を有するジョブ電力予測装置。
JP2019099871A 2019-05-29 2019-05-29 ジョブ電力予測プログラム、ジョブ電力予測方法、およびジョブ電力予測装置 Active JP7288189B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019099871A JP7288189B2 (ja) 2019-05-29 2019-05-29 ジョブ電力予測プログラム、ジョブ電力予測方法、およびジョブ電力予測装置
EP20172121.4A EP3745262A1 (en) 2019-05-29 2020-04-29 Program, job power estimation method, and job power estimating device
US16/865,451 US11402889B2 (en) 2019-05-29 2020-05-04 Storage medium, job power estimation method, and job power estimating device
CN202010412296.3A CN112015615A (zh) 2019-05-29 2020-05-15 存储介质、作业功率评估方法和作业功率评估设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019099871A JP7288189B2 (ja) 2019-05-29 2019-05-29 ジョブ電力予測プログラム、ジョブ電力予測方法、およびジョブ電力予測装置

Publications (2)

Publication Number Publication Date
JP2020194377A true JP2020194377A (ja) 2020-12-03
JP7288189B2 JP7288189B2 (ja) 2023-06-07

Family

ID=70480132

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019099871A Active JP7288189B2 (ja) 2019-05-29 2019-05-29 ジョブ電力予測プログラム、ジョブ電力予測方法、およびジョブ電力予測装置

Country Status (4)

Country Link
US (1) US11402889B2 (ja)
EP (1) EP3745262A1 (ja)
JP (1) JP7288189B2 (ja)
CN (1) CN112015615A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7500499B2 (ja) 2021-05-31 2024-06-17 株式会社東芝 情報処理装置、情報処理方法およびプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210397476A1 (en) * 2020-06-18 2021-12-23 International Business Machines Corporation Power-performance based system management
EP3979021A1 (en) * 2020-09-30 2022-04-06 Ricoh Company, Ltd. Scheduling system, scheduling method, and carrier means

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010108283A (ja) * 2008-10-30 2010-05-13 Nec Corp 予測システム、予測方法および予測プログラム
JP2011114944A (ja) * 2009-11-26 2011-06-09 Fuji Electric Systems Co Ltd 電力需要予測装置、そのプログラム
JP2014215908A (ja) * 2013-04-26 2014-11-17 富士通株式会社 消費電力予測プログラム、消費電力予測方法及び消費電力予測装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09146915A (ja) 1995-11-20 1997-06-06 Meidensha Corp カオス時系列短期予測装置
JP4061492B2 (ja) * 2003-02-10 2008-03-19 ソニー株式会社 情報処理装置および消費電力制御方法
JP5256967B2 (ja) * 2008-09-26 2013-08-07 富士通株式会社 動的再構成支援プログラム、動的再構成支援装置および動的再構成支援方法
US8627123B2 (en) * 2010-03-25 2014-01-07 Microsoft Corporation Managing power provisioning in distributed computing
US9672577B2 (en) * 2013-01-10 2017-06-06 International Business Machines Corporation Estimating component power usage from aggregate power usage
WO2014184928A1 (ja) 2013-05-16 2014-11-20 株式会社日立製作所 検出装置、検出方法、および記録媒体
JP6128624B2 (ja) * 2015-02-19 2017-05-17 日本電気株式会社 電力消費量推定装置、電力消費量推定方法およびプログラム
JP6683920B2 (ja) * 2016-02-24 2020-04-22 富士通株式会社 並列処理装置、電力係数算出プログラムおよび電力係数算出方法
JP6799255B2 (ja) * 2016-11-22 2020-12-16 富士通株式会社 ジョブ消費電力推定プログラム、並列処理装置およびジョブ消費電力推定方法
US11074151B2 (en) * 2018-03-30 2021-07-27 Intel Corporation Processor having embedded non-volatile random access memory to support processor monitoring software
KR102047866B1 (ko) * 2018-04-10 2019-11-22 아주대학교산학협력단 모바일 장치의 전력 측정 및 분석 시스템 및 그 방법
US10732690B2 (en) * 2018-05-17 2020-08-04 Arm Ip Limited Systems and methods for monitoring state transitions
US11579680B2 (en) * 2019-02-01 2023-02-14 Alibaba Group Holding Limited Methods and devices for power management based on synthetic machine learning benchmarks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010108283A (ja) * 2008-10-30 2010-05-13 Nec Corp 予測システム、予測方法および予測プログラム
JP2011114944A (ja) * 2009-11-26 2011-06-09 Fuji Electric Systems Co Ltd 電力需要予測装置、そのプログラム
JP2014215908A (ja) * 2013-04-26 2014-11-17 富士通株式会社 消費電力予測プログラム、消費電力予測方法及び消費電力予測装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7500499B2 (ja) 2021-05-31 2024-06-17 株式会社東芝 情報処理装置、情報処理方法およびプログラム

Also Published As

Publication number Publication date
CN112015615A (zh) 2020-12-01
JP7288189B2 (ja) 2023-06-07
US11402889B2 (en) 2022-08-02
EP3745262A1 (en) 2020-12-02
US20200379533A1 (en) 2020-12-03

Similar Documents

Publication Publication Date Title
JP7177350B2 (ja) ジョブ電力予測プログラム、ジョブ電力予測方法、およびジョブ電力予測装置
Tuli et al. COSCO: Container orchestration using co-simulation and gradient based optimization for fog computing environments
CN113099729B (zh) 生产调度的深度强化学习
CN103136039B (zh) 用于平衡能量消耗和调度性能的作业调度方法和系统
JP7288189B2 (ja) ジョブ電力予測プログラム、ジョブ電力予測方法、およびジョブ電力予測装置
JP2018195308A (ja) プロセス及び製造業における業績評価指標のデータに基づく最適化のための方法及びシステム
JP7040319B2 (ja) 運用管理装置、移動先推奨方法及び移動先推奨プログラム
Rodriguez et al. Detecting performance anomalies in scientific workflows using hierarchical temporal memory
JP2006024017A (ja) コンピュータ資源のキャパシティを予測するためのシステム、方法およびプログラム
JP7243361B2 (ja) ジョブスケジューラ及びジョブスケジュール制御方法
Tuli et al. MCDS: AI augmented workflow scheduling in mobile edge cloud computing systems
Amiri et al. Multi-objective green flowshop scheduling problem under uncertainty: Estimation of distribution algorithm
US20210359514A1 (en) Information processing apparatus and job scheduling method
US20190385045A1 (en) Systems And Methods For Generalized Adaptive Storage Endpoint Prediction
JP2019032185A (ja) センサ制御支援装置、センサ制御支援方法およびコンピュータプログラム
Yang et al. A pattern fusion model for multi-step-ahead CPU load prediction
JP7481902B2 (ja) 管理計算機、管理プログラム、及び管理方法
Zhai et al. Predictive maintenance integrated production scheduling by applying deep generative prognostics models: approach, formulation and solution
Zou et al. Indicator-directed dynamic power management for iterative workloads on GPU-accelerated systems
Sinha Short term load forecasting using artificial neural networks
Muruganandam et al. Dynamic Ensemble Multivariate Time Series Forecasting Model for PM2. 5.
Jawaddi et al. Integrating OpenAI Gym and CloudSim Plus: A simulation environment for DRL Agent training in energy-driven cloud scaling
JP7235960B2 (ja) ジョブ電力予測プログラム、ジョブ電力予測方法、およびジョブ電力予測装置
US20210365094A1 (en) Storage medium, method and apparatus for job power consumption prediction
JP5826892B1 (ja) 変化点検出装置、変化点検出方法、及びコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230406

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230425

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230508

R150 Certificate of patent or registration of utility model

Ref document number: 7288189

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150