JP6186862B2 - 情報処理装置、省電力化制御方法および省電力化制御プログラム - Google Patents

情報処理装置、省電力化制御方法および省電力化制御プログラム Download PDF

Info

Publication number
JP6186862B2
JP6186862B2 JP2013097649A JP2013097649A JP6186862B2 JP 6186862 B2 JP6186862 B2 JP 6186862B2 JP 2013097649 A JP2013097649 A JP 2013097649A JP 2013097649 A JP2013097649 A JP 2013097649A JP 6186862 B2 JP6186862 B2 JP 6186862B2
Authority
JP
Japan
Prior art keywords
job
resource
time
frequency
execution
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.)
Expired - Fee Related
Application number
JP2013097649A
Other languages
English (en)
Other versions
JP2014219788A (ja
Inventor
善史 宇治橋
善史 宇治橋
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 JP2013097649A priority Critical patent/JP6186862B2/ja
Priority to US14/254,959 priority patent/US9342133B2/en
Publication of JP2014219788A publication Critical patent/JP2014219788A/ja
Application granted granted Critical
Publication of JP6186862B2 publication Critical patent/JP6186862B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/324Power saving characterised by the action undertaken by lowering clock frequency
    • 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
    • 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

Description

本技術は、情報処理装置、省電力化制御方法および省電力化制御プログラムに関する。
HPC(High Performance Computing)は、大規模な科学技術計算や数値計算などを高速に実行する計算処理であり、多様な研究開発分野で利用されている。
また、HPCのシステム構成では、PC(Personal Computer)クラスタが広く導入されている。これは、複数のPCノードをネットワークで接続し、大量の計算処理を分割して並列処理を行うことで、高速計算を実行するものである。
従来の技術としては、例えば、低速処理機能の処理空き時間の内に、高速処理機能を実行できる処理可能回数を求め、処理可能回数だけ一定周期で高速処理機能を実行させて制御性能の高速化を図る技術が提案されている。
また、データ量に応じて高速処理の要否を判断し、高速処理を実行する場合はクロック周波数を高くし、実行しない場合はクロック周波数を低くして低消費電力化を図る技術が提案されている。
さらに、プログラム実行状態に応じた処理速度になるようにプロセッサの駆動条件を変更し、プロセッサが過熱状態になったときには駆動条件を変更して消費電力を低下させる技術が提案されている。
特開平08−202548号公報 特開平05−27867号公報 特開平05−297993号公報
HPCのシステムでは、上記のようにPCクラスタ、またはその他の機器が複数台接続して高速計算処理が行われる。しかし、現状のHPCシステムにおいては、それぞれの装置が最大消費電力で動作する時間が長く、最大消費電力での動作時間帯が重複してしまう可能性がある。
このような場合、例えば、計算センタの施設全体として瞬間的に過大な電力が消費されることになり、電源断などの電源障害を生じてしまうおそれがある。
1つの側面では、本発明は、最大消費電力で動作する期間を短期化した情報処理装置、省電力化制御方法および省電力化制御プログラムを提供することを目的とする。
1つの案では、情報処理装置が提供される。情報処理装置は、複数のプロセッサに対するジョブスケジューリングにより生じる、実行対象ジョブと待機対象ジョブとの間の動作空き時間を検出する検出手段と、複数のプロセッサの内、動作空き時間が生じる直前までに完了予定のジョブを実行するプロセッサに対し、完了予定のジョブのジョブ実行時におけるプロセッサの動作周波数を最大周波数より低く設定する周波数制御手段と、ジョブを実行するプロセッサの数を示すリソース量の増減を時系列に管理するリソース予約テーブルと、を備え、周波数制御手段は、完了予定のジョブを待機対象ジョブを実行する時刻まで延伸する場合の利用リソース増加分である仮延伸リソースを作成し、リソース予約テーブル上の該当ジョブの終了予定時刻に仮延伸リソースを仮に割り付け、仮割り付けされた仮延伸リソースが、リソース予約テーブルの最大リソース量の範囲内に収まれば、延伸リソースに対応する完了予定のジョブが延伸可能ジョブであると判断する。
1態様によれば、最大消費電力で動作する期間を短期化することが可能になる。
情報処理装置の構成例を示す図である。 ジョブスケジューリングの動作を説明するためのモデル図である。 ブロックリソースを説明するための図である。 CPU周波数を低下させるときの動作を説明するための図である。 CPU周波数の算出式に用いるパラメータを示す図である。 電力抑制の効果を示す図である。 情報処理システムの構成例を示す図である。 ジョブ情報テーブルの構成例を示す図である。 ジョブ情報の具体例を示す図である。 ジョブ情報の具体例を示す図である。 リソース予約テーブルのデータ構造を示す図である。 ノード状態テーブルの構成例を示す図である。 ジョブスケジューリング全体の流れを示す図である。 ジョブスケジューリングの動作を示すフローチャートである。 ジョブスケジューリングの動作を示すフローチャートである。 ジョブ割り付け処理を示すフローチャートである。 省電力化制御の起動周期を示す図である。 起動周期にもとづいて省電力化制御が行われるときの動作を示すフローチャートである。 省電力化制御の動作を示すフローチャートである。 ブロックリソースの検出動作を説明するための図である。 延伸可能ジョブの検出動作を説明するための図である。 延伸可能ジョブの検出処理の動作を示すフローチャートである。 CPU周波数算出時の動作を示すフローチャートである。 ジョブが終了したときにCPU周波数を元の周波数に戻す場合の動作を示すフローチャートである。 次ジョブが開始したときにCPU周波数を元の周波数に戻す場合の動作を示すフローチャートである。 表示制御部の構成例を示す図である。 リソース予約テーブルの可視化イメージを示す図である。 リソース予約テーブルの可視化動作を示すフローチャートである。 ノード消費電力値テーブルの構成例を示す図である。 消費電力テーブルの可視化イメージを示す図である。 消費電力テーブルのデータ構造を示す図である。 消費電力テーブルの可視化動作を示すフローチャートである。 実行対象ジョブと延伸ジョブから消費電力テーブルを作成する場合の動作を示すフローチャートである。 待機ジョブから消費電力テーブルを作成する場合の動作を示すフローチャートである。 本実施の形態に用いるコンピュータのハードウェアの一構成例を示す図である。
以下、本発明の実施の形態を図面を参照して説明する。図1は情報処理装置の構成例を示す図である。情報処理装置10は、検出手段11と周波数制御手段12を備え、省電力化制御を起動して情報処理を行う装置である。
検出手段11は、ジョブスケジューリングにより生じる、プロセッサの動作空き時間を検出する。周波数制御手段12は、動作空き時間が生じる直前に実行するジョブのジョブ実行時におけるプロセッサの動作周波数を最大周波数より低く設定する。
ここで、図1にリソース予約テーブルを示す。縦軸はリソース量、横軸は時間経過である。リソース予約テーブルは、ジョブスケジューリング時にジョブを実行する際に利用されるリソース量を時系列に管理するテーブル(グラフ)である。
省電力化制御の実行前のリソース予約テーブルT0において、ジョブ#11は実行対象ジョブとし、ジョブ#12〜#14は待機ジョブとする。また、省電力化制御の実行前では、ジョブ#11は、プロセッサp1の最大周波数f1で実行されるとし、ジョブ#11は、時刻t11で実行が完了することがスケジューリングされている。
このとき、時刻t11から時刻t12までは、プロセッサp1がジョブ#11を実行しない時間帯となるので、時刻t11から時刻t12までの時間は、プロセッサp1の動作空き時間となる(動作空き時間aとする)。
一方、省電力化制御を実行する際のリソース予約テーブルT0−1において、検出手段11は、上記の動作空き時間aを検出したとする。動作空き時間aが検出されると、周波数制御手段12では、動作空き時間aが生じる直前に実行するジョブ#11のジョブ実行時におけるプロセッサp1の動作周波数を最大周波数f1より低い動作周波数に設定する。
この場合、周波数制御手段12は、動作空き時間の範囲の待機ジョブの実行開始時刻に、ジョブの実行時間が延伸するまで動作周波数を低下させる。
すなわち、この例では、周波数制御手段12は、動作空き時間aの範囲の内にある、待機ジョブ#12の実行開始時刻t12に対して、ジョブ#11の実行時間が延伸するまで動作周波数を低下させることになる。
低下させたときの動作周波数を動作周波数f1aとする(f1a<f1)。動作周波数f1aまで低下させてジョブ#11を実行すると、ジョブ#11−1(図1の斜線ブロック)となる。
すなわち、ジョブ#11−1は、ジョブ#11の実行時間を矢印Aに示すように延伸したものであり、時刻t10〜t12の時間帯で、プロセッサp1により動作周波数f1aで実行される(動作周波数f1aで実行されるので、実行時間が時刻t12まで延伸している)。
このように、情報処理装置10は、ジョブスケジューリングによりプロセッサの動作空き時間が生じることを認識すると、動作空き時間が生じる直前に実行するジョブのジョブ実行時におけるプロセッサの動作周波数を最大周波数より低く設定する。
これにより、最大周波数よりも低い周波数でジョブが実行されるので、最大消費電力で動作する期間を短期化することが可能になり、電力消費量の均等化を図ることが可能になる(消費電力降下状態は図6で後述する)。
次に本技術の動作について図2〜図6を用いて説明する。最初に、ジョブスケジューリングについて説明する。HPCでは、計算サーバを共有して、複数のPCクラスタ間でコンピュータリソースを公平に利用できるように、ジョブ(計算)のスケジューリングが行われる。
図2はジョブスケジューリングの動作を説明するためのモデル図である。ジョブスケジューラ20は、ジョブキュー26とリソース予約テーブルT1を有する。ジョブキュー26は、ジョブを格納(キューイング)する。
リソース予約テーブルT1は、横軸に時間経過、縦軸にリソースとして単一ジョブを実行する際のプロセッサ(CPU:Central Processing Unit)数をとって、リソースを時系列に管理する(CPU数には上限が設定される)。
ここで、1つのジョブを四角形のブロックで表し、横一辺の長さを当該ジョブの最大実行時間、縦一辺の長さを当該ジョブの実行に要するCPU数とする。このような矩形がジョブのスケジューリング時にリソース予約テーブルT1に割り付けられる。
また、リソース予約テーブルT1は、異なるリソースそれぞれに対応して用意される。例えば、リソースとして複数のPCクラスタCL1〜CLnがあるとすれば、PCクラスタCL1、CL2、…、CLnそれぞれに対応するリソース予約テーブルT1が用意される。
ジョブキュー26では、優先度順にジョブを整列格納している。そして、ジョブは、ジョブキュー26の先頭から順にリソース予約テーブルT1に割り付けられることで、ジョブスケジューリングが実施される。
また、現在時刻に割り付いたジョブが、実行対象ジョブとなって計算リソースとして実行される。図2の場合、ジョブ#1、#5が現在時刻に割り付いているので、ジョブ#1、#5が実行対象のジョブとなる。その他のジョブ#2、#3、#4は、待機ジョブとなる。
次にブロックリソースについて説明する。図3はブロックリソースを説明するための図である。実行対象ジョブ#1〜#3が現在時刻に割り付けられ、ジョブ#1〜#3の後段には待機ジョブ#4〜#10が割り付けられている。また、待機ジョブ#4は、CPUを多数並列して実行される高並列ジョブであるとする。
このような高並列ジョブ#4があると、ジョブキュー26にキューイングされている後続の待機ジョブ#5〜#10が、高並列ジョブ#4にブロックにされてしまい、待機ジョブ#5〜#10が利用できないリソースが発生する。このようなリソースをブロックリソースと呼ぶ。ブロックリソースは、CPUが稼働していない動作空き時間となる。
次にブロックリソースを検出してCPU周波数を低下させる省電力化制御について説明する。図4はCPU周波数を低下させるときの動作を説明するための図である。ジョブスケジューラ20は、リソース予約テーブルT1のリソース管理状態にもとづいて、ブロックリソースの有無を検出する。
そして、ジョブスケジューラ20は、ブロックリソースを検出すると、ブロックリソースの範囲内(CPUの動作空き時間の範囲内)で実行対象ジョブのCPU周波数を低下させる。このとき、ブロックリソースの範囲内で実行対象ジョブの実行時間を延伸させて、待機ジョブの実行開始を遅延させない程度の値まで、CPU周波数を低下させる。
図4の例において、実行対象ジョブ#2、#3と、待機ジョブ#4との間にブロックリソースB(図中斜線部分)が生じているとする。また、時間帯tbにおけるジョブ#2のCPU周波数をfbとする。
省電力化制御を実行する場合、ブロックリソースBの範囲内で、ジョブ#2の実行時間を延伸させ、かつ待機ジョブ#4の実行開始を遅延させない程度にCPU周波数fbを低下させるCPU周波数faを生成する。
すなわち、省電力化制御前では、時間帯tbの範囲内において、CPU周波数fbで実行対象にあったジョブ#2は、省電力化制御時には、時間帯ta(>tb)の範囲内において、CPU周波数fa(<fb)で実行対象となる。
同様に、時間帯tcにおけるジョブ#3のCPU周波数をfcとする。省電力化制御を実行する場合、ブロックリソースBの範囲内で、ジョブ#3の実行時間を延伸させ、かつ待機ジョブ#4の実行開始を遅延させない程度にCPU周波数fcを低下させるCPU周波数faを生成する。
すなわち、省電力化制御前では、時間帯tcの範囲内において、CPU周波数fcで実行対象にあったジョブ#3は、省電力化制御時には、時間帯ta(>tc)の範囲内において、CPU周波数fa(<fc)で実行対象となる。
次にCPU周波数の算出について説明する。図5はCPU周波数の算出式に用いるパラメータを示す図である。ジョブ#2の省電力化制御時のCPU周波数を求めるとする。ここで、変更前のCPU周波数をFold、現在時刻をtnow、ジョブ#2の実行時間延伸前のジョブ終了時刻をtend、実行時間延伸後のジョブ終了時刻をtend new、CPU周波数依存係数をCとする。ジョブスケジューラ20は、変更後のCPU周波数Fnewを、以下の式(1)を用いて算出する。
Fnew=(tend−tnow−C(tend−tnow))/(tend new−tnow−C(tend−tnow))×Fold ・・・(1)
なお、CPU周波数依存係数であるCは、0<C<1であって、CPUバウンドなジョブの場合、Cは0に近い値となる。また、メモリバウンドやI/Oバウンドのジョブの場合は、1に近い値となる。
このように、CPU周波数の下げ幅を求める場合、ジョブを実行しているハードウェア要素の依存度に応じて、具体的には、CPUバウンドなのか、またはメモリバウンドやI/Oバウンドなのか、といった状態に応じてCPU周波数を算出する。これにより、ジョブの特性に適したCPU周波数を適切に算出することが可能になる。
なお、計算ノード3−1〜3−nでは、CPU周波数が離散的に設定可能になっている。例えば、計算ノード3−1は、CPU周波数として、2.9、2.5、2.1、1.7、1.3(GHz)の複数の離散値を有しており、これらの中から1つを設定可能にしている。
したがって、式(1)でCPU周波数が算出されると、算出結果の近傍の値が計算ノードに設定されることになる。例えば、算出結果が2.87…(GHz)であるならば、計算ノード3−1では、2.9(GHz)を選択して、自身のCPUの動作周波数として設定することになる。
次に電力抑制の効果について説明する。図6は電力抑制の効果を示す図である。図4に示したリソース予約テーブルT1に対応した電力抑制のグラフg1を示しており、グラフg1の縦軸は消費電力量、横軸は時間経過である。
また、グラフg1の実線k1は、ジョブ#2、#3のCPU周波数を低下させず、実行時間を延長させない通常運用時における消費電力量を示している。点線k2は、ジョブ#2、#3のCPU周波数を低下させて、実行時間を延長させた省電力化制御時の消費電力量を示している。
通常運用時、消費電力量P3は、時刻t0〜t1において、ジョブ#1〜#3の実行に要する消費電力量である。消費電力量P2は、時刻t1〜t2において、ジョブ#1、#2の実行に要する消費電力量である。消費電力量P1は、時刻t2〜t3において、ジョブ#1の実行に要する消費電力量である。
一方、省電力化制御時、ジョブ#2、#3のそれぞれのCPU周波数を低下させて実行時間を時刻t3まで延長させる。このとき、時刻t3まで延長させるということは、ジョブ#2、#3のCPU周波数は共に、時刻t3でジョブ実行が終了しているジョブ#1のCPU周波数と同じ値まで低下することになる。
したがって、時刻t0〜t3の範囲では、ジョブ#1〜#3それぞれの消費電力量は、同一の値となって消費電力量Paとなる。このように、省電力化制御を行った時間帯では、電力ピークが抑制されて消費電力量が平準化されることになる。
このように、ブロックリソースにもとづくCPU周波数の低下を図ることで、最大消費電力で動作する期間を短期化することが可能になり、消費電力のピークを抑制することができる。
また、CPU周波数の低下を図る際には、ブロックリソースの範囲内で、実行中ジョブの実行時間を延伸させ、待機ジョブの実行開始を遅延させないような値にまで低下させている。したがって、後続ジョブの実行開始時間遅延を回避しているので、システム全体の性能(スループット)を確保しながら、消費電力を均一化することが可能になる。
次に情報処理装置10を含むシステムの全体構成について説明する。図7は情報処理システムの構成例を示す図である。情報処理システム1は、管理ノード2、計算ノード3−1〜3−nおよびユーザ端末4(端末装置)を備える。
管理ノード2は、図1の情報処理装置10に該当し、ジョブスケジューラ20を含む。また、ユーザ端末4は、表示制御部40を含む(表示制御部40については図26以降で後述する)。
ジョブスケジューラ20は、ジョブ操作部21、ジョブ管理部22、ジョブスケジューリング部23、ノード管理部24、設定情報送信部25、ジョブキュー26、リソース予約テーブルT1、ジョブ情報テーブルT2およびノード状態テーブルT3を備える。ジョブスケジューリング部23は、図1の検出手段11および周波数制御手段12の機能を含む。
ジョブ操作部21は、ユーザ端末4と計算ノード3−1〜3−nと接続し、ユーザ端末4とのインタフェース制御および計算ノード3−1〜3−nとのインタフェース制御を行う。ジョブ管理部22は、ジョブの格納を行うジョブキュー26と、ジョブ情報が登録されるジョブ情報テーブルT2とを管理する。
ジョブスケジューリング部23は、リソース予約テーブルT1を使用して、ジョブのスケジューリングを行い、また、省電力化制御を周期的に実行する。ノード管理部24は、計算ノード3−1〜3−nの状態が登録されるノード状態テーブルT3を管理する。設定情報送信部25は、計算ノード3−1〜3−nに対して管理ノード2で設定すべき情報を送信する。例えば、管理ノード2で求めた、計算ノード3−1〜3−nの各CPU周波数を送信したりする。
次にジョブ情報テーブルT2について説明する。図8はジョブ情報テーブルの構成例を示す図である。ジョブ情報テーブルT2は、ジョブキュー26に格納されているジョブのスケジューリングに関するジョブ情報が登録される。
ジョブ情報テーブルT2は、ジョブID、ノード数、最大実行時間(秒)、延伸可能時間(秒)、CPU周波数依存係数、利用リソース、ジョブ状態、実行ノードおよび実行開始時刻(エポック秒)およびその他の属性の項目を有する。
ジョブIDは、ジョブの識別情報である。ノード数は、ジョブの処理を実行する際の計算ノードの数(=CPUの数)である。最大実行時間は、ジョブ実行に要する最大の実行時間であり、ジョブ投入時にユーザにより任意の時間が指定可能である。
延伸可能時間は、ブロックリソースにもとづきCPU周波数を低下させる際に、ジョブ実行処理を延伸させるに可能な最大の時間である。なお、延伸可能時間は、ジョブ投入時は0である。
CPU周波数依存係数は、上記の式(1)中のCの値である。当該ジョブ実行が例えば、CPUバウンドなのかメモリバウンドなのかに応じた情報となる。この項目に示される値が式(1)に代入されて計算されることで、ジョブ特性に応じた適切なCPU周波数を求めることが可能になる。
利用リソースは、ジョブを実行するリソースの識別情報である。ジョブによって利用するリソースは異なり、例えば、あるジョブは1つのリソースとしてPCクラスタを利用したり、あるジョブは1つのリソースとしてスーパーコンピュータを利用したりする。このため、該当ジョブを実行する際にどのリソースが利用されるかの情報が利用リソースに登録される。
ジョブ状態は、ジョブが実行対象状態なのか待機状態なのかを示す情報である。実行ノードは、ジョブを実行する計算ノードの識別情報である。実行開始時刻は、ジョブ実行を開始する時刻であり、例えば、エポック秒形式で示される情報である。
図9、図10はジョブ情報の具体例を示す図である。図9のジョブ情報テーブルT2−1は、ジョブキュー26に格納されるジョブ#2のジョブ情報を示している。ジョブ#2の各種ジョブ情報として、ジョブID=10、ノード数=8、最大実行時間=172800、延伸可能時間=81276、CPU周波数依存係数=0.1(CPUバウンド)、利用リソース=resource A、ジョブ状態=実行、実行ノード=node0105、node0200、…および実行開始時刻=1351166872となっている。なお、図9において、リソース予約テーブルT1の対応する箇所にこれら各種ジョブ情報を示している。
図10のジョブ情報テーブルT2−2は、ジョブキュー26に格納されるジョブ#4のジョブ情報を示している。ジョブ#4の各種ジョブ情報として、ジョブID=11、ノード数(CPU数)=32、最大実行時間=86400、延伸可能時間=0、CPU周波数依存係数=0.8(メモリバウンドまたはI/Oバウンド)、利用リソース=resource Aおよびジョブ状態=待機となっている。なお、図10において、リソース予約テーブルT1の対応する箇所にこれら各種ジョブ情報を示している。
次にリソース予約テーブルT1のデータ構造について説明する。図11はリソース予約テーブルのデータ構造を示す図である。リソース予約テーブルT1では、各時刻のリソースの増減を管理している。
例えば、時刻t0〜t1におけるリソース増加分が+32あったとすると、時刻t1〜t2では時刻t0〜t1のリソース分から−5の減少、時刻t2〜t3では時刻t1〜t2のリソース分から−10の減少というように、時刻毎にリソースの増減(差分)で管理される。
次にノード状態テーブルT3について説明する。図12はノード状態テーブルの構成例を示す図である。ノード状態テーブルT3は、計算ノード3−1〜3−nの各CPUの動作周波数を管理するテーブルである。
ノード状態テーブルT3は、ノード名、マシンカテゴリおよび現在周波数IDの項目を有する。ノード名は、計算ノードの識別情報である。マシンカテゴリは、計算ノードに設定可能なCPU周波数を示すものであり、周波数(GHz)と周波数IDの情報を含む。現在周波数IDは、現在選択されている周波数IDを示す情報である。
例えば、ノード名=node0001の計算ノードは、現在使用可能な周波数として2.9、2.5、2.1、1.7、1.3(GHz)を有しており、周波数毎のIDが1〜5であるとする。図12では、現在周波数ID=1となっているので、2.9(GHz)の周波数が設定されていることがわかる。
同様に、ノード名=node0005の計算ノードは、現在使用可能な周波数として2.6、2.2、1.8、1.3(GHz)を有しており、周波数毎のIDが1〜4であるとする。図12では、現在周波数ID=1となっているので、2.6(GHz)の周波数が設定されていることがわかる。
次にジョブスケジューリングの全体の流れについて説明する。図13はジョブスケジューリング全体の流れを示す図である。
〔S1〕ジョブスケジューリング部23は、ジョブ投入またはジョブ終了の発生を検出する。
〔S2〕ジョブスケジューリング部23は、リソース予約テーブルT1上において、ジョブ投入またはジョブ終了が発生した時刻以前に割り付けていたリソースをクリアする。
〔S3〕ジョブスケジューリング部23は、リソース予約テーブルT1の現在時刻を更新する。
〔S4〕ジョブスケジューリング部23は、リソース予約テーブルT1に待機ジョブを順番に割り付ける。このとき、例えば、現在時刻に割り付いた待機ジョブj0は、実行対象ジョブに遷移する。ステップS1へ戻る。
次にジョブスケジューリングの動作フローについて図14〜図16を用いて説明する。図14はジョブスケジューリングの動作を示すフローチャートである。
〔S20a〕ジョブスケジューリング部23は、ジョブ投入またはジョブ終了が発生したか否かを判断する。発生を検出した場合はステップS20へ行き、発生を検出しない場合はステップS20aの処理を繰り返す。
〔S20〕ジョブスケジューリング部23は、ジョブスケジューリング処理を実行する。
図15はジョブスケジューリングの動作を示すフローチャートである。図14のステップS20の詳細動作を示すフローである。
〔S21〕ジョブスケジューリング部23は、リソース予約テーブルT1をクリアする。
〔S22〕ジョブスケジューリング部23は、リソース予約テーブルT1の現在時刻を更新する。
〔S23〕ジョブスケジューリング部23は、ジョブキュー26が空か否かを判断する。ジョブキュー26にジョブが格納されていなければ終了し、ジョブが格納されていればステップS24へ行く。
〔S24〕ジョブスケジューリング部23は、ジョブキュー26から優先度順にジョブを取得する。
〔S25〕ジョブスケジューリング部23は、リソース予約テーブルT1に対して、取得したジョブの割り付け処理を行う。
〔S26〕ジョブスケジューリング部23は、リソース予約テーブルT1に割り付けたジョブの時刻が現在時刻か否かを判断する。現在時刻ならばステップS27へ行き、現在時刻でないならばステップS23へ戻る。
〔S27〕ジョブスケジューリング部23は、現在時刻に割り付いたジョブを実行対象状態に遷移させる。
〔S28〕実行対象状態に遷移したジョブは、該当する計算ノードで実行される。
図16はジョブ割り付け処理を示すフローチャートである。図15のステップS25の詳細動作を示すフローである。
〔S25−1〕ジョブスケジューリング部23は、割り付け対象のジョブの属性(最大実行時間、ノード数、利用リソース等)をジョブ情報テーブルT2から取得する。
〔S25−2〕ジョブスケジューリング部23は、割り付け対象のジョブが利用するリソースを認識すると、該リソースに対応するリソース予約テーブルT1を取得する。
〔S25−3〕ジョブスケジューリング部23は、取得したリソース予約テーブルT1に対して、該当ジョブが割り付け可能な、現在時刻に最も近い時刻を探索する。
〔S25−4〕ジョブスケジューリング部23は、探索結果にもとづいて、該当ジョブをリソース予約テーブルT1に割り付けて、リソース予約テーブルT1の更新を行う。
次に省電力化制御の起動周期について説明する。図17は省電力化制御の起動周期を示す図である。上述してきた省電力化制御は、周期的に起動されるが、この起動周期(節電周期)の長さは、情報処理システム1の動作モードにより異なる。なお、図中の節電時刻において省電力化制御が実行される。
情報処理システム1では、動作モードとして、パフォーマンスモードM1と節電モードM2を有している。パフォーマンスモードM1は、一定期間内の省電力化制御の実行回数を減らして、ハイパフォーマンスで計算処理を行う場合の動作モードである。節電モードM2は、一定期間内の省電力化制御の実行回数を多くして、省電力で計算処理を行う場合の動作モードである。
したがって、パフォーマンスモードM1における起動周期は、節電モードM2の起動周期より長く設定され、逆に節電モードM2における起動周期は、パフォーマンスモードM1の起動周期より短く設定される。
図18は起動周期にもとづいて省電力化制御が行われるときの動作を示すフローチャートである。
〔S31〕ジョブスケジューリング部23は、ジョブスケジューリング処理を実行する。
〔S32〕ジョブスケジューリング部23は、節電時刻からの経過時間が起動周期(節電周期)に達したか否かを判断する。起動周期に達した場合は、ステップS33へ行き、節電周期に達していない場合は、ステップS31へ戻る。
〔S33〕ジョブスケジューリング部23は、省電力化制御を実行する。
〔S34〕ジョブスケジューリング部23は、節電時刻を現在時刻に更新する。ステップS31へ戻る。
図19は省電力化制御の動作を示すフローチャートである。図18のステップS33の動作を示すフローである。
〔S33−1〕ジョブスケジューリング部23は、リソース毎のリソース予約テーブルT1についてステップS33−2以降の処理を行う。
〔S33−2〕ジョブスケジューリング部23は、各リソースのリソース予約テーブルT1それぞれに対して、ブロックリソース検出処理(動作空き時間の検出処理)を行う。
〔S33−3〕ジョブスケジューリング部23は、検出したブロックリソースに対して、延伸可能ジョブを検出する。
〔S33−4〕ジョブスケジューリング部23は、検出した延伸可能ジョブのCPU周波数を算出・設定する。
次にブロックリソース検出処理について説明する。図20はブロックリソースの検出動作を説明するための図である。リソース予約テーブルT1は、図11で示したように、各時刻におけるリソースの増減を管理しているが、図20に示すように、リソースが増加している前段には、ブロックリソースBが発生しているとみなせる。
したがって、ジョブスケジューリング部23は、リソース予約テーブルT1の時刻を昇順に探索して、リソースの値が上昇している時刻b1、b2を検出することで(以下、この時刻をブロックリソース検出時刻と呼ぶ)、ブロックリソースBの存在を認識する。
このように、ジョブを実行するリソース量の増減を時系列に管理するリソース予約テーブルT1から、リソースの値が上昇している時刻を見つけてブロックリソースを検出することで、ブロックリソースの存在をジョブスケジューリング中に、容易に認識することが可能になる。
次に延伸可能ジョブの検出処理について説明する。図21は延伸可能ジョブの検出動作を説明するための図である。ジョブスケジューリング部23は、ブロックリソースを検出すると、実行中ジョブをブロックリソース検出時刻まで延伸する場合の利用リソース増加分である仮延伸リソースを作成する。仮延伸リソースは,実行中ジョブのCPU数と延伸時間の矩形で表される。
なお、延伸時間とは、実行対象ジョブの終了予定時刻からブロックリソース検出時刻までの間の時間である。ジョブスケジューリング部23は、仮延伸リソースを作成すると、その後、リソース予約テーブルT1上の該当ジョブの終了予定時刻に仮延伸リソースを仮に割り付ける。
そして、仮割り付けされた仮延伸リソースが、リソース予約テーブルT1の最大CPU数(最大リソース量)の範囲内に収まれば、延伸リソースに対応するジョブが延伸可能ジョブであると判断する。
例えば、ジョブj1に対して、ジョブj1のCPU数と、延伸時間taで仮延伸リソースを作成する。延伸時間taは、ジョブj1の終了予定時刻t21とブロックリソース検出時刻b1との間の時間である。この例の場合、仮延伸リソースをリソース予約テーブルT1に割り付けた結果がリソース予約テーブルT1の最大CPU数の範囲に収まっているので、ジョブj1は、ブロックリソースに対して延伸可能ジョブと判断される。
一方、ジョブj2に対して、ジョブj2のCPU数と、延伸時間tbで仮延伸リソースを作成する。延伸時間tbは、ジョブj2の終了予定時刻t22とブロックリソース検出時刻b1との間の時間である。この例の場合、仮延伸リソースをリソース予約テーブルT1に割り付けた結果がリソース予約テーブルT1の最大CPU数の範囲に収まらないので、ジョブj1は、ブロックリソースに対して延伸可能ジョブと判断されない。
図22は延伸可能ジョブの検出処理の動作を示すフローチャートである。
〔S41〕ジョブスケジューリング部23は、ジョブキュー26から優先度順にジョブを取得する。
〔S42〕ジョブスケジューリング部23は、取得したジョブが実行中ジョブか否かを判断する。実行中ジョブであればステップS43へ行き、実行中ジョブでなければステップS41へ戻る。
〔S43〕ジョブスケジューリング部23は、該当の実行中ジョブに対して、延伸リソースを作成し、仮延伸リソースをリソース予約テーブルT1に仮割り付けする。
〔S44〕ジョブスケジューリング部23は、仮割り付け処理の結果、リソース予約テーブルT1の最大値を超えないか否かを判断する。超えない場合はステップS45へ行き、超える場合はステップS41へ戻る。
〔S45〕ジョブスケジューリング部23は、作成した延伸リソースをリソース予約テーブルT1に割り付ける。
このように、ジョブスケジューリング部23は、CPU数と、ジョブの終了予定時刻からリソース量が増加している時刻間の時間から仮延伸リソースを作成し、リソース予約テーブルT1上におけるジョブの終了予定時刻に仮割り付けする。そして、割付結果がリソース予約テーブルT1の最大CPU数を超えない場合は、当該ジョブは延伸可能ジョブであると判断する。
これにより、省電力化制御時に、CPU周波数の低下対象となるジョブの延伸時間を正確に認識することができ、他のジョブスループットへ影響を与えず、延伸ジョブを設定することが可能になる。
次に省電力化制御におけるCPU周波数算出時の動作についてフローチャートを用いて説明する。図23はCPU周波数算出時の動作を示すフローチャートである。
〔S51〕ジョブスケジューリング部23は、ジョブ延伸時間にもとづき、CPU周波数を算出する。
〔S52〕ジョブスケジューリング部23は、CPU周波数の算出後、ジョブ情報テーブルT2の延伸可能時間を更新し、また、ノード状態テーブルT3の現在周波数を更新する。
〔S53〕設定情報送信部25は、該当する計算ノードに対して、算出されたCPU周波数を送信する。
次に省電力化制御時に算出したCPU周波数を元のCPU周波数に戻す場合の処理について説明する。CPU周波数を元に戻す場合は、ジョブが終了したとき、または次ジョブが開始したときのいずれかにおいて実行する。
図24はジョブが終了したときにCPU周波数を元の周波数に戻す場合の動作を示すフローチャートである。
〔S61〕ジョブスケジューリング部23は、ジョブ終了が発生したか否かを判断する。ジョブ終了が発生した場合はステップS62へ行き、未発生の場合はステップS61の処理を繰り返す。
〔S62〕ジョブスケジューリング部23は、終了したジョブに延伸可能時間が設定されているか否か、すなわち、終了したジョブが省電力化制御対象のジョブであるか否かを判断する。延伸可能時間が設定されている場合はステップS63へ行き、設定されていない場合はステップS65へ行く。
〔S63〕ジョブスケジューリング部23は、終了したジョブを実行していた計算ノードのCPU周波数を最大周波数に設定する。
〔S64〕ジョブスケジューリング部23は、ノード状態テーブルT3の該当する現在周波数を最大周波数に更新する。
〔S65〕ジョブスケジューリング部23は、ジョブ情報テーブルT2に対して、終了したジョブに関するジョブ情報をクリアする。
図25は次ジョブが開始したときにCPU周波数を元の周波数に戻す場合の動作を示すフローチャートである。次ジョブが開始したときにCPU周波数を元の周波数に戻す場合は、通常のジョブスケジューリング処理において、ジョブを実行対象状態に遷移させたときに、CPU周波数を最大に設定する(CPU周波数を元に戻す)。
〔S71〕ジョブスケジューリング部23は、ジョブを実行対象状態に遷移させる。
〔S72〕ジョブスケジューリング部23は、当該ジョブを実行すべき計算ノードのCPU周波数を最大周波数に設定する。
〔S73〕ジョブスケジューリング部23は、ノード状態テーブルT3の該当する現在周波数を最大周波数に更新する。
〔S74〕ジョブスケジューリング部23は、実行状態に遷移したジョブを計算ノードで実行させる。
次にユーザ端末4における画面表示について説明する。ユーザ端末4は、ユーザに対して、リソース予約テーブルT1などを可視化して、管理ノード2のジョブの実行状態などを画面表示する。
図26は表示制御部の構成例を示す図である。ユーザ端末4は、表示制御部40を備え、管理ノード2内のジョブスケジューラ20は、可視化に要する情報を表示制御部40へダンプする。ダンプする情報としては、例えば、リソース予約テーブルT1、ジョブ情報テーブルT2およびノード状態テーブルT3の各種テーブルの登録情報などがある。
表示制御部40は、受信部41、集計部42、ノード消費電力値テーブルT4、消費電力テーブル作成部43および表示部44を含む。受信部41は、ジョブスケジューラ20から送信された情報を受信する。
集計部42は、画面表示に関する各情報を集計して可視化イメージを生成する。消費電力テーブル作成部43は、ジョブ実行に要する消費電力を求めて消費電力テーブルを作成する。表示部44は、集計された情報にもとづき、画面表示を行う。表示すべき情報としては、例えば、リソース予約テーブルT1および消費電力テーブルがある。
ノード消費電力値テーブルT4は、計算ノード3−1〜3−nがそれぞれのCPU周波数で動作したときに消費される電力値を管理するテーブルである。なお、消費電力値は、あらかじめ実測して求めておいてもよい。
次にリソース予約テーブルT1の可視化について説明する。図27はリソース予約テーブルの可視化イメージを示す図である。表示制御部40は、リソース予約テーブルT1内の、実行リソースR1(実行対象ジョブ)、延伸リソースR2(延伸ジョブ)および待機リソースR3(待機ジョブ)を表示する。
実行リソースR1は、省電力化制御が働いておらず、通常のジョブスケジューリングによって実行されるリソースである。延伸リソースR2は、省電力化制御が働いてCPU周波数が低下した状態で実行される、実行時間延伸部分のリソースである。待機リソースR3は、実行待ちのリソースである。
これらのリソースが表示される場合、色分けなど適宜わかりやすいような画面表示が行われる。このようなリソース予約テーブルT1の可視化が行われることで、ジョブの割り付け状態や省電力化制御の動作を容易に確認することが可能になる。
図28はリソース予約テーブルの可視化動作を示すフローチャートである。
〔S81〕ジョブスケジューラ20内のジョブ操作部21は、リソース予約テーブルT1に関する表示情報をユーザ端末4へ送信する。
〔S82〕受信部41は、送信されたリソース予約テーブルT1の表示情報を受信する。
〔S83〕集計部42は、実行ジョブ、延伸ジョブおよび待機ジョブそれぞれの表示情報を集計する。
〔S84〕表示部44は、集計結果のリソース予約テーブルT1をグラフ化して画面表示する。
次に電力の可視化について説明する。図29はノード消費電力値テーブルの構成例を示す図である。ノード消費電力値テーブルT4は、ノード名とマシンカテゴリの項目を有する。ノード名は、計算ノードの識別情報である。マシンカテゴリは、計算ノードに設定可能な周波数毎の消費電力を示すものであり、周波数IDと消費電力(W)の情報を含む。
図29において例えば、ノード名=node0001は、周波数ID=1〜5を有しており、周波数ID=1〜5のそれぞれに対して、250、230、210、190、170(W)の消費電力を要することが登録されている。
図30は消費電力テーブルの可視化イメージを示す図である。消費電力テーブルT5は、縦軸が消費電力量(W)、横軸が時間経過であり、各リソース(実行リソース、延伸リソースおよび待機リソース)が消費する電力を時系列で表すグラフである。このような消費電力テーブルT5の可視化が行われることで、消費電力の状態を容易に確認することが可能になる。
図31は消費電力テーブルのデータ構造を示す図である。消費電力テーブルT5では、各時刻の消費電力の増減を管理している。データ構造T5−1において、例えば、時刻t0〜t1における消費電力増加分が+1500あったとすると、時刻t1〜t2では時刻t0〜t1の消費電力分から−320の減少、時刻t2〜t3では時刻t1〜t2の消費電力分から−430の減少というように、時刻毎に消費電力の増減(差分)で管理される。
図32は消費電力テーブルの可視化動作を示すフローチャートである。
〔S91〕ジョブスケジューラ20内のジョブ操作部21は、消費電力テーブルT5の可視化に要する表示情報をユーザ端末4へ送信する。
〔S92〕受信部41は、送信された消費電力テーブルT5の可視化に要する表示情報を受信する。
〔S93〕消費電力テーブル作成部43は、実行対象ジョブと延伸ジョブの消費電力テーブルを作成する。
〔S94〕消費電力テーブル作成部43は、待機ジョブの消費電力テーブルを作成する。
〔S95〕集計部42は、実行対象ジョブ、延伸ジョブおよび待機ジョブの各消費電力テーブルを集計する。
〔S96〕表示部44は、集計結果の消費電力テーブルT5をグラフ化して表示する。
図33は実行対象ジョブと延伸ジョブから消費電力テーブルを作成する場合の動作を示すフローチャートである。
〔S101〕消費電力テーブル作成部43は、実行対象ジョブの利用リソース、実行開始時刻、最大実行時間、延伸可能時間および実行ノードをジョブ情報から取得する。
〔S102〕消費電力テーブル作成部43は、ノード状態テーブルT3から、当該ジョブを実行している計算ノードのCPU周波数の周波数IDを取得する。
〔S103〕消費電力テーブル作成部43は、取得した周波数IDをキーにして、計算ノードが消費する電力をノード消費電力値テーブルT4から取得する。
〔S104〕消費電力テーブル作成部43は、当該ジョブが消費する電力(CPU数×消費電力)をジョブ開始時刻から(最大実行時間+延伸可能時間)の分、消費電力テーブルT5に割り付ける。
図34は待機ジョブから消費電力テーブルを作成する場合の動作を示すフローチャートである。
〔S111〕消費電力テーブル作成部43は、リソース毎のリソース予約テーブルT1の待機ジョブについてステップS112以降の処理を行う。
〔S112〕消費電力テーブル作成部43は、ノード消費電力値テーブルT4から、該当リソースに属するノードの最大周波数の消費電力を取得する。
〔S113〕消費電力テーブル作成部43は、リソース予約テーブルT1の待機ジョブに関する(CPU数×消費電力)を消費電力テーブルT5に割り付ける。
次に本技術の省電力化制御をコンピュータによって実現する場合について説明する。上記に示した処理機能は、コンピュータによって実現可能である。図35は本実施の形態に用いるコンピュータのハードウェアの一構成例を示す図である。情報処理装置10内のコンピュータ100は、CPU101によって装置全体が制御されている。CPU101には、バス108を介してRAM(Random Access Memory)102と複数の周辺機器が接続されている。
RAM102は、コンピュータ100の主記憶装置として使用される。RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
バス108に接続されている周辺機器としては、HDD(Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、および通信インタフェース107がある。
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、コンピュータ100の二次記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
グラフィック処理装置104には、モニタ104aが接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ104aの画面に表示させる。モニタ104aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード105aとマウス105bとが接続されている。入力インタフェース105は、キーボード105aやマウス105bから送られてくる信号をCPU101に送信する。なお、マウス105bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク106aに記録されたデータの読み取りを行う。光ディスク106aは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク106aには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(Rewritable)などがある。
通信インタフェース107は、ネットワーク110に接続されている。通信インタフェース107は、ネットワーク110を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。また、コンピュータで本実施の形態の処理機能を実現する場合、情報処理装置10が有する機能の処理内容を記述したプログラムが提供される。
そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto Optical disk)などがある。なおプログラムを記録する記録媒体には、一時的な伝搬信号自体は含まれない。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
以上説明したように、本技術によれば、ジョブスケジューリングによりCPUの空き時間が生じると、空き時間が生じる直前に実行するジョブのジョブ実行時におけるCPU動作周波数を最大周波数より低く設定する。これにより、HPC計算資源システムの最大消費電力で動作する期間を短期化することが可能になる。
また、単に、CPU周波数を低下させるとHPC計算資源システム全体のジョブスループットが低下するおそれがあるが、本技術では、ジョブスケジューラが暫時利用されないリソースを検出して、その空き時間を用いてCPU周波数を低下させてジョブを延伸して実行させる。このため、HPC計算資源システム全体のジョブスループットの低下を抑制しつつ、HPC計算資源システムの最大消費電力で動作する期間を短期化することが可能になる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。
10 情報処理装置
11 検出手段
12 周波数制御手段
#11〜#14、#11−1 ジョブ
a 動作空き時間
A ジョブの延伸を示す矢印
T0、T0−1 リソース予約テーブル
t10、t11、t12 時刻
p1 プロセッサ
f1 最大周波数
f1a 低下後の動作周波数

Claims (7)

  1. 複数のプロセッサに対するジョブスケジューリングにより生じる、実行対象ジョブと待機対象ジョブとの間の動作空き時間を検出する検出手段と、
    前記複数のプロセッサの内、前記動作空き時間が生じる直前までに完了予定のジョブを実行するプロセッサに対し、前記完了予定のジョブのジョブ実行時における前記プロセッサの動作周波数を最大周波数より低く設定する周波数制御手段と、
    ジョブを実行するプロセッサの数を示すリソース量の増減を時系列に管理するリソース予約テーブルと、
    を備え、
    前記周波数制御手段は、前記完了予定のジョブを前記待機対象ジョブを実行する時刻まで延伸する場合の利用リソース増加分である仮延伸リソースを作成し、前記リソース予約テーブル上の該当ジョブの終了予定時刻に前記仮延伸リソースを仮に割り付け、仮割り付けされた前記仮延伸リソースが、前記リソース予約テーブルの最大リソース量の範囲内に収まれば、延伸リソースに対応する前記完了予定のジョブが延伸可能ジョブであると判断する、
    ことを特徴とする情報処理装置。
  2. 前記周波数制御手段は、前記動作空き時間の範囲の待機対象ジョブの実行開始時刻に、前記ジョブの実行時間が延伸するまで前記動作周波数を低下させることを特徴とする請求項1記載の情報処理装置。
  3. 前記検出手段は、前記リソース予約テーブルの時刻を昇順に探索して、前記リソース量が増加している時刻にもとづき、前記動作空き時間を検出することを特徴とする請求項1記載の情報処理装置。
  4. 前記周波数制御手段は、前記ジョブを実行するハードウェア要素の依存度に応じて前記動作周波数を算出することを特徴とする請求項1記載の情報処理装置。
  5. 表示制御手段を含む端末装置と接続し、
    前記表示制御手段は、前記実行対象ジョブ、実行時間が延伸された延伸ジョブおよび前記待機対象ジョブを識別可能にした前記リソース予約テーブルの表示制御、または前記リソース毎に消費される消費電力を時系列で示した消費電力テーブルの表示制御の少なくとも一方を行うことを特徴とする請求項1記載の情報処理装置。
  6. 複数のプロセッサに対するジョブスケジューリングにより生じる、実行対象ジョブと待機対象ジョブとの間の動作空き時間を検出し、
    前記複数のプロセッサの内、前記動作空き時間が生じる直前までに完了予定のジョブを実行するプロセッサに対し、前記完了予定のジョブのジョブ実行時における前記プロセッサの動作周波数を最大周波数より低く設定し、
    前記完了予定のジョブを前記待機対象ジョブを実行する時刻まで延伸する場合の利用リソース増加分である仮延伸リソースを作成し、
    前記ジョブを実行するプロセッサの数を示すリソース量の増減を時系列に管理するリソース予約テーブルに対し、前記リソース予約テーブル上の該当ジョブの終了予定時刻に前記仮延伸リソースを仮に割り付け、
    仮割り付けされた前記仮延伸リソースが、前記リソース予約テーブルの最大リソース量の範囲内に収まれば、延伸リソースに対応する前記完了予定のジョブが延伸可能ジョブであると判断する省電力化制御を行う、
    ことを特徴とする省電力化制御方法。
  7. コンピュータに、
    省電力化制御の起動時に、
    複数のプロセッサに対するジョブスケジューリングにより生じる、実行対象ジョブと待機対象ジョブとの間の動作空き時間を検出し、
    前記複数のプロセッサの内、前記動作空き時間が生じる直前までに完了予定のジョブを実行するプロセッサに対し、前記完了予定のジョブのジョブ実行時における前記プロセッサの動作周波数を最大周波数より低く設定し、
    前記完了予定のジョブを前記待機対象ジョブを実行する時刻まで延伸する場合の利用リソース増加分である仮延伸リソースを作成し、
    前記ジョブを実行するプロセッサの数を示すリソース量の増減を時系列に管理するリソース予約テーブルに対し、前記リソース予約テーブル上の該当ジョブの終了予定時刻に前記仮延伸リソースを仮に割り付け、
    仮割り付けされた前記仮延伸リソースが、前記リソース予約テーブルの最大リソース量の範囲内に収まれば、延伸リソースに対応する前記完了予定のジョブが延伸可能ジョブであると判断する、
    処理を実行させることを特徴とする省電力化制御プログラム。
JP2013097649A 2013-05-07 2013-05-07 情報処理装置、省電力化制御方法および省電力化制御プログラム Expired - Fee Related JP6186862B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013097649A JP6186862B2 (ja) 2013-05-07 2013-05-07 情報処理装置、省電力化制御方法および省電力化制御プログラム
US14/254,959 US9342133B2 (en) 2013-05-07 2014-04-17 Information processing apparatus and power saving control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013097649A JP6186862B2 (ja) 2013-05-07 2013-05-07 情報処理装置、省電力化制御方法および省電力化制御プログラム

Publications (2)

Publication Number Publication Date
JP2014219788A JP2014219788A (ja) 2014-11-20
JP6186862B2 true JP6186862B2 (ja) 2017-08-30

Family

ID=51865729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013097649A Expired - Fee Related JP6186862B2 (ja) 2013-05-07 2013-05-07 情報処理装置、省電力化制御方法および省電力化制御プログラム

Country Status (2)

Country Link
US (1) US9342133B2 (ja)
JP (1) JP6186862B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9268389B2 (en) * 2010-03-23 2016-02-23 Sony Corporation Reducing power consumption on a processor system by masking actual processor load with insertion of dummy instructions
JP2015095132A (ja) * 2013-11-13 2015-05-18 富士通株式会社 情報処理システム、情報処理システムの制御方法及び管理装置の制御プログラム
JP6364880B2 (ja) * 2014-03-31 2018-08-01 富士通株式会社 並列計算機システム,ジョブ管理装置の制御プログラム,及び並列計算機システムの制御方法
JP6540107B2 (ja) * 2015-03-09 2019-07-10 富士通株式会社 並列演算装置、並列演算システム、およびジョブ制御プログラム
US10509683B2 (en) * 2015-09-25 2019-12-17 Microsoft Technology Licensing, Llc Modeling resource usage for a job
JP6576601B2 (ja) * 2017-05-24 2019-09-18 三菱電機株式会社 データ処理システム、データ処理装置およびデータ処理プログラム
WO2021006861A1 (en) * 2019-07-05 2021-01-14 Visa International Service Association Method and system using ai call prediction and cache
CN111198755B (zh) * 2019-12-23 2023-07-21 曙光信息产业(北京)有限公司 一种基于slurm作业调度系统的预计费装置和方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0527867A (ja) 1991-07-18 1993-02-05 Brother Ind Ltd 情報処理装置
JPH05297993A (ja) 1992-04-16 1993-11-12 Dia Semikon Syst Kk マイクロプロセッサの駆動制御装置
JPH08202548A (ja) 1994-11-25 1996-08-09 Toshiba Corp プログラマブルコントローラの処理周期制御装置
US20080307248A1 (en) * 2004-04-28 2008-12-11 Katsushige Amano Cpu Clock Control Device, Cpu Clock Control Method, Cpu Clock Control Program, Recording Medium, and Transmission Medium
US8261283B2 (en) * 2005-02-16 2012-09-04 Yissum Research Development Company Of Hebrew University Of Jerusalem System and method for backfilling with system-generated predictions rather than user runtime estimates
JP4476876B2 (ja) * 2005-06-10 2010-06-09 三菱電機株式会社 並列計算装置
JP4697805B2 (ja) * 2006-10-24 2011-06-08 ルネサスエレクトロニクス株式会社 データ処理装置
JP2007305148A (ja) * 2007-06-25 2007-11-22 Univ Waseda マルチプロセッサシステム
WO2009083753A1 (en) * 2007-12-28 2009-07-09 Freescale Semiconductor, Inc. Data processor performance prediction
FR2930355B1 (fr) * 2008-04-18 2013-01-18 Commissariat Energie Atomique Procede de gestion de la consommation d'energie pour les systemes multiprocesseurs.
US9268389B2 (en) * 2010-03-23 2016-02-23 Sony Corporation Reducing power consumption on a processor system by masking actual processor load with insertion of dummy instructions
JP5713029B2 (ja) * 2011-02-10 2015-05-07 富士通株式会社 スケジューリング方法、設計支援方法、およびシステム
JP5768586B2 (ja) * 2011-08-17 2015-08-26 日本電気株式会社 計算装置、計算装置の制御方法、及びプログラム
US20140137122A1 (en) * 2012-11-13 2014-05-15 David A. Egolf Modified backfill scheduler and a method employing frequency control to reduce peak cluster power requirements

Also Published As

Publication number Publication date
US9342133B2 (en) 2016-05-17
JP2014219788A (ja) 2014-11-20
US20140337648A1 (en) 2014-11-13

Similar Documents

Publication Publication Date Title
JP6186862B2 (ja) 情報処理装置、省電力化制御方法および省電力化制御プログラム
US10649935B2 (en) Deferred inter-processor interrupts
JP6249953B2 (ja) ヘテロジニアスマルチプロセッサシステムオンチップにおける熱駆動作業負荷スケジューリング
JP5695766B2 (ja) マルチコアシステムエネルギー消費最適化
JP4380986B2 (ja) クロック制御装置及びその記録媒体
JP6241300B2 (ja) ジョブスケジューリング装置、ジョブスケジューリング方法、およびジョブスケジューリングプログラム
JP6447217B2 (ja) 実行情報通知プログラム、情報処理装置および情報処理システム
JP2001318742A (ja) コンピュータシステムおよびコンピュータ読み取り可能な記録媒体
US9311142B2 (en) Controlling memory access conflict of threads on multi-core processor with set of highest priority processor cores based on a threshold value of issued-instruction efficiency
KR20120115398A (ko) 전자 디바이스에서 전력을 제어하는 시스템 및 방법
TWI739345B (zh) 中斷處理系統與中斷處理方法
JP5534002B2 (ja) マルチコアプロセッサシステム、制御プログラム、および制御方法
JP2009026199A (ja) クロック周波数制御方法及びコンピュータプログラム
Gupta et al. Minimizing power consumption by personal computers: A technical survey
US20130298132A1 (en) Multi-core processor system and scheduling method
US20150346797A1 (en) Systems and methods for displaying energy meters
US9323642B2 (en) Calculation apparatus, calculation method, and recording medium for calculation program
JPWO2013099022A1 (ja) データ処理装置、送信装置、スケジューリング方法、送信制御方法、スケジューリングプログラム、および送信制御プログラム
JP2013047892A (ja) 情報処理装置、スケジューリング方法およびプログラム
JP5737087B2 (ja) 仮想マシン制御装置,仮想マシン制御プログラムおよび仮想マシン制御方法
US9891948B2 (en) Information processing to shut down application based on start-up time and network access time
JP6928263B2 (ja) 情報処理装置、計算機制御方法、および計算機制御プログラム
JP2012116138A (ja) 制御装置、制御プログラム、画像形成装置
JP4517006B2 (ja) クロック制御装置及びその記録媒体
JP2015207052A (ja) スマート端末、消費電力の状態の制御方法、および、消費電力状態制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170123

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170613

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170619

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: 20170704

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170717

R150 Certificate of patent or registration of utility model

Ref document number: 6186862

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees