JP6959506B2 - 並列処理システムのシステム管理装置、並列処理システムおよび電力制御方法 - Google Patents

並列処理システムのシステム管理装置、並列処理システムおよび電力制御方法 Download PDF

Info

Publication number
JP6959506B2
JP6959506B2 JP2017115310A JP2017115310A JP6959506B2 JP 6959506 B2 JP6959506 B2 JP 6959506B2 JP 2017115310 A JP2017115310 A JP 2017115310A JP 2017115310 A JP2017115310 A JP 2017115310A JP 6959506 B2 JP6959506 B2 JP 6959506B2
Authority
JP
Japan
Prior art keywords
job
node
power consumption
nodes
time
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.)
Active
Application number
JP2017115310A
Other languages
English (en)
Other versions
JP2019003281A (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 JP2017115310A priority Critical patent/JP6959506B2/ja
Priority to US16/001,990 priority patent/US10705592B2/en
Publication of JP2019003281A publication Critical patent/JP2019003281A/ja
Application granted granted Critical
Publication of JP6959506B2 publication Critical patent/JP6959506B2/ja
Active 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Remote Monitoring And Control Of Power-Distribution Networks (AREA)

Description

本発明は並列処理システムのシステム管理装置、並列処理システムおよび電力制御方法に関する。
現在、大規模な計算を行う並列処理システムが利用されている。例えば、並列処理装置では、計算を実行するノードを相互に複数接続して、複数のノードにより並列に計算を行う。各ノードの動作には電力の消費を伴う。そこで、ノードの電力消費を制御する方法が考えられている。
例えば、新たにジョブを追加する際、一定時間ごとのノードの総消費電力量が、閾値を超過しないように、ジョブのスケジュールを作成するジョブ管理装置の提案がある。
また、サーバにジョブを投入する時、サーバの過去の消費電力データと現消費電力から予測した予測消費電力を基に、消費電力が上限値を超えるか否かを判定し、超える場合にジョブの投入タイミングを遅らせる電力制御システムの提案もある。
更に、処理周期毎にプロセッサの処理負荷を予測し、予測した処理負荷に基づいて、処理周期毎に、プロセッサの動作周波数と、プロセッサを冷却する冷却ファンの回転数と、プロセッサが使用するメモリ領域とを制御するリアルタイム計算機の提案もある。
特開2016−71841号公報 特開2013−101576号公報 特開2008−198072号公報
並列処理システムの消費電力が所定の上限電力を超えないように運用することがある。例えば、上限電力を超えそうな場合に、全ノードの電力断、または、全ノードのハードウェアの省電力モードへの移行を行うことが考えられる。あるいは、最も消費電力の多いジョブを実行しているノードの停止やクロックダウンなどにより、消費電力を下げることも考えられる。しかしながら、ジョブを実行しているノードの停止やクロックダウンなどを行うと、該当のノードが当該ジョブを完遂しない可能性が高まる。ジョブを完遂しない場合、ユーザは、当該ジョブの実行を再度指示し、並列処理システムにより当該ジョブを再実行させることになる。したがって、中長期的に考えると、消費電力の大きなジョブの実行完遂率が低下し、未完遂のジョブの再実行により、消費される電力量が過剰になる可能性がある。
1つの側面では、本発明は、消費される電力量を減らすことを目的とする。
1つの態様では、並列処理システムのシステム管理装置が提供される。システム管理装置は、記憶部と処理部とを有する。記憶部は、複数のノードそれぞれの消費電力の情報と複数のノードにより並列に実行される複数のジョブであって、各々が複数のノードのうちの1以上のノードにより実行される複数のジョブの情報とを記憶する。処理部は、複数のノードの総消費電力が閾値に達すると、記憶部に記憶された情報に基づいて複数のジョブのうち消費電力が最大である第1ジョブを抽出し、第1ジョブの終了予定時刻までの時間が所定時間以上の場合、第1ジョブを実行する第1ノードの消費電力を削減する処理を行い、第1ジョブの終了予定時刻までの時間が所定時間未満の場合、第1ノード以外の第2ノードであって、第1ジョブを実行しておらず複数のジョブのうちの第2ジョブを実行する第2ノードの消費電力を削減する処理を行う。
1つの側面では、消費される電力量を減らすことができる。
第1の実施の形態の並列処理システムの例を示す図である。 第2の実施の形態の並列処理システムの例を示す図である。 システム管理ノードのハードウェア例を示す図である。 計算ノードのハードウェア例を示す図である。 並列処理システムの機能例を示す図である。 ノード消費電力情報の例を示す図である。 ジョブ統計情報の例を示す図である。 ジョブ単位消費電力情報の例を示す図である。 ジョブ情報の例を示す図である。 システム管理ノードの処理例を示すフローチャートである。 ジョブ管理ノードの処理例を示すフローチャートである。 計算ノードの処理例を示すフローチャートである。
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の並列処理システムの例を示す図である。並列処理システム10は、システム管理装置11および計算ノード群12を有する。システム管理装置11は、並列処理システム10の所定のネットワークを介して、計算ノード群12に属する複数の計算ノードと接続されており、各計算ノードを制御する。並列処理システム10は、計算ノード群12に属する複数の計算ノードを用いて、複数のジョブを並列に実行する。1つのジョブは、1以上の計算ノードに割り当てられ、当該1以上の計算ノードにより実行される。ジョブは、割当て先の1以上の計算ノードを占有する。
例えば、複数の計算ノードは、計算ノード12a,12b,12c,12dを含む。ここで、計算ノード12aの識別情報(ノードID(IDentifier))は、“N1”である。計算ノード12bのノードIDは、“N2”である。計算ノード12cのノードIDは、“N3”である。計算ノード12dのノードIDは、“N4”である。また、ジョブは、ジョブの識別情報(ジョブID)により識別される。一例として、ジョブID“J1”、“J2”で識別される2つのジョブを考える。例えば、ジョブID“J1”のジョブは、計算ノード12a,12bに割り当てられている。また、ジョブID“J2”のジョブは、計算ノード12c,12dに割り当てられている。例えば、計算ノードに対するジョブの割り当ては、ジョブ管理ノード(図1では図示を省略している)によって行われる。
システム管理装置11は、記憶部11aおよび処理部11bを有する。
記憶部11aは、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。処理部11bは、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。処理部11bはプログラムを実行するプロセッサでもよい。「プロセッサ」は、複数のプロセッサの集合(マルチプロセッサ)も含み得る。
記憶部11aは、複数のノードそれぞれの消費電力の情報と複数のノードにより並列に実行される複数のジョブの情報とを記憶する。例えば、記憶部11aは、テーブルD1,D2を記憶する。
テーブルD1は、各ノードの消費電力の情報である。テーブルD1には、ノードIDおよび消費電力が登録される。消費電力の単位は、ワット(W)である。例えば、テーブルD1には、ノードID“N1”の計算ノード12aの消費電力が“P1”という情報が登録されている。また、テーブルD1には、ノードID“N2”の計算ノード12bの消費電力が“P2”という情報が登録されている。また、テーブルD1には、ノードID“N3”の計算ノード12cの消費電力が“P3”という情報が登録されている。また、テーブルD1には、ノードID“N4”の計算ノード12dの消費電力が“P4”という情報が登録されている。
テーブルD2は、ジョブの情報である。テーブルD2には、ジョブID、ノードIDおよび残り時間が登録される。残り時間は、現時刻から該当のジョブの終了予定時刻までの時間(残り実行時間)である。
例えば、テーブルD2には、ジョブID“J1”、ノードID“N1”、“N2”、残り時間“T1”というレコードが登録されている。これは、ジョブID“J1”のジョブが計算ノード12a,12bにより実行されており、当該ジョブの残り時間が“T1”であることを示す。また、テーブルD2には、ジョブID“J2”、ノードID“N3”、“N4”、残り時間“T2”というレコードが登録されている。これは、ジョブID“J2”のジョブが計算ノード12c,12dにより実行されており、当該ジョブの残り時間が“T2”であることを示す。例えば、処理部11bは、前述のジョブ管理ノードからテーブルD2の情報を取得してもよい。
処理部11bは、複数のノードの総消費電力が閾値に達すると、記憶部11aに記憶された情報に基づいて、複数のジョブのうち消費電力が最大である第1ジョブを抽出する。前述のように1つのジョブは、割り当て先の1以上の計算ノードを占有するので、該当の1以上の計算ノードの消費電力の和を、当該ジョブの実行に要する消費電力と考えることができる。テーブルD1,D2によれば、ジョブID“J1”のジョブの消費電力は、P1+P2である。また、ジョブID“J2”のジョブの消費電力は、P3+P4である。
また、総消費電力の閾値は、許容される消費電力の上限値でもよいし、当該上限値より小さい値でもよい。許容される消費電力の上限値は、例えば、システムの管理者によって予め設定される。許容される消費電力の上限値は、電力会社などとの契約に応じて予め定められる契約電力でもよい。
例えば、処理部11bは、計算ノード12a,12b,12c,12dの総消費電力を監視し、総消費電力が閾値に達すると、ジョブID“J1”、“J2”のジョブのうち、消費電力が最大である第1ジョブを抽出する。ここで、ジョブID“J1”、“J2”のジョブのうち、消費電力が最大のジョブ(第1ジョブ)は、ジョブID“J1”のジョブであるとする。すなわち、P1+P2>P3+P4である。
処理部11bは、記憶部11aに記憶された情報に基づいて、第1ジョブの終了予定時刻までの時間が所定時間以上であるか否かを判定する。例えば、所定時間をT0とする。所定時間T0は、運用に応じて予め定められる。第1ジョブの終了予定時刻までの時間は、テーブルD2における残り時間T1に相当する。
処理部11bは、第1ジョブの終了予定時刻までの時間が所定時間(T0)以上である場合、第1ジョブを実行する第1ノードの消費電力を削減する処理を行う。一方、処理部11bは、第1ジョブの終了予定時刻までの時間が所定時間(T0)未満である場合、第1ノード以外の第2ノードの消費電力を削減する処理を行う。消費電力を削減する処理としては、省電力モードで動作させる、または、該当ノードを停止させるなどが考えられる。例えば、省電力モードとしては、該当ノードのプロセッサの動作周波数を低減(クロックダウン)して動作するモードや、該当ノードの複数のプロセッサのうちの一部を停止させて動作するモードなどが考えられる。
例えば、第1ジョブとして抽出されたジョブID“J1”のジョブの終了予定時刻までの時間(残り時間)T1が、T1≧T0を満たす場合、処理部11bは、計算ノード12a,12bの消費電力を削減する処理を行う(図1(A)の場合)。このとき、処理部11bは、計算ノード12c,12dについては現状の動作を維持する。
一方、残り時間T1がT1<T0を満たす場合、処理部11bは、計算ノード12c,12dの消費電力を削減する処理を行う(図1(B)の場合)。このとき、処理部11bは、計算ノード12a,12bについては現状の動作を維持する。
並列処理システム10によれば、消費される電力量(例えば、単位はワット時(Wh))を減らすことができる。
ここで、並列処理システム10の消費電力を抑えるために、消費電力が最大のジョブを実行している計算ノードの停止やクロックダウンなどを行うことが考えられる。しかし、当該ジョブを実行している計算ノードの停止やクロックダウンなどを行うと、該当の計算ノードが当該ジョブを完遂しない可能性が高まる。当該ジョブを完遂しない場合、ユーザは、当該ジョブの実行を再度指示し、並列処理システム10により当該ジョブを再実行させることになる。再実行では、当該ジョブを最初から実行し直すことになる。したがって、中長期的に考えると、消費電力の大きなジョブの実行完遂率が低下し、未完遂のジョブの再実行により、並列処理システム10において消費される電力量が過剰になる可能性がある。
そこで、システム管理装置11は、消費電力が最大である第1ジョブの終了予定時刻までの時間と所定時間との比較に応じて、消費電力を削減する計算ノードを選択する。
システム管理装置11は、第1ジョブの終了予定時刻までの時間が所定時間T0以上である場合に、第1ジョブを実行する第1ノードの消費電力を削減する処理を行う。この場合、第1ジョブの終了予定時刻までの時間が所定時間T0以上であれば、第1ジョブの進捗の度合いも低いと考えられ、仮に第1ジョブが完遂されない場合でも、第1ジョブの実行のための電力量の浪費を抑えられる。また、消費電力が最大である第1ノードの消費電力を削減することで、システム全体の消費電力を効率的に抑えて、第1ノード以外の第2ノードによる第2ジョブの実行を継続することができる。
一方、システム管理装置11は、第1ジョブの終了予定時刻までの時間が所定時間T0未満である場合に、第1ジョブを実行する第1ノード以外の第2ノードの消費電力を削減する処理を行う。この場合、第1ジョブの終了予定時刻までの時間が所定時間T0未満であれば、第1ジョブの進捗の度合いも高いと考えられ、仮に第1ジョブが完遂されないとすると、それまでの第1ジョブの実行のための電力量の浪費が大きい。第1ジョブの終了が間近であるにも関わらず、第1ノードの消費電力を削減して第1ジョブの完遂率を低下させてしまうと、それまでの第1ジョブの処理、および、第1ジョブの再実行により消費される電力量が大きくなるリスクが高まる。このため、処理部11bは、第1ジョブの残り時間が比較的短い場合は、第2ノードの消費電力を削減し、第1ジョブの実行を優先することで、第1ジョブが適切に完遂されるように制御する。
こうして、消費電力が最大であるジョブの実行完遂率を向上させることで、当該ジョブの再実行を抑え、並列処理システム10において消費される電力量を減らすことができる。
以下では、より具体的なシステムを例示して、システム管理装置11の機能を詳細に説明する。
[第2の実施の形態]
図2は、第2の実施の形態の並列処理システムの例を示す図である。並列処理システム50は、システム管理ノード100、ジョブ管理ノード200および計算ノード300,400,500,600,・・・を有する。システム管理ノード100、ジョブ管理ノード200および計算ノード300,400,500,600,・・・は、並列処理システム50における管理用のネットワーク21に接続されている。また、計算ノード300,400,500,600,・・・は、格子状のネットワークにより相互に接続されている。例えば、ネットワーク21は、メッシュ結合またはトーラス結合と呼ばれる接続形態のネットワークでもよい。
システム管理ノード100は、並列処理システム50における計算ノード300,400,500,600,・・・の消費電力を監視する。システム管理ノード100は、消費電力の監視に応じて、計算ノード300,400,500,600,・・・の動作モードを制御する。
ジョブ管理ノード200は、ユーザによるジョブの入力を受け付け、計算ノード300,400,500,600,・・・に対するジョブの割り当てを行う。また、ジョブ管理ノード200は、割り当て先の計算ノードに対するジョブの実行を指示する。
ジョブ管理ノード200は、システム管理ノード100の指示に応じて、計算ノード300,400,500,600,・・・から消費電力の情報を収集し、システム管理ノード100に提供することもある。更に、ジョブ管理ノード200は、システム管理ノード100の指示に応じて、計算ノード300,400,500,600,・・・に動作モードの変更を指示することもある。
計算ノード300,400,500,600,・・・それぞれは、プロセッサおよびメモリを有し、ジョブ管理ノード200により割り当てられたジョブを並列に実行する。ここで、1つのジョブは、1以上の計算ノードに割り当てられる。1つのジョブは、割り当て先の1以上の計算ノードを占有する。
図3は、システム管理ノードのハードウェア例を示す図である。システム管理ノード100は、プロセッサ101、RAM102、HDD103、通信インタフェース104、画像信号処理部105、入力信号処理部106および媒体リーダ107を有する。各ハードウェアはシステム管理ノード100のバスに接続されている。ジョブ管理ノード200もシステム管理ノード100と同様のハードウェアを用いて実現される。
プロセッサ101は、システム管理ノード100の情報処理を制御するハードウェアである。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、DSP、ASICまたはFPGAなどである。プロセッサ101は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。
RAM102は、システム管理ノード100の主記憶装置である。RAM102は、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。
HDD103は、システム管理ノード100の補助記憶装置である。HDD103は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、OSのプログラム、アプリケーションプログラム、および各種データを記憶する。システム管理ノード100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
通信インタフェース104は、ネットワーク21を介して他の装置と通信を行う。通信インタフェース104は、有線通信インタフェースでもよいし、無線通信インタフェースでもよい。
画像信号処理部105は、プロセッサ101からの命令に従って、システム管理ノード100に接続されたディスプレイ22に画像を出力する。ディスプレイ22として、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどを用いることができる。
入力信号処理部106は、システム管理ノード100に接続された入力デバイス23から入力信号を取得し、プロセッサ101に出力する。入力デバイス23として、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
媒体リーダ107は、記録媒体24に記録されたプログラムやデータを読み取る装置である。記録媒体24として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。また、記録媒体24として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。媒体リーダ107は、例えば、プロセッサ101からの命令に従って、記録媒体24から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
図4は、計算ノードのハードウェア例を示す図である。計算ノード300は、プロセッサ301、RAM302および通信インタフェース303,304を有する。各ハードウェアは計算ノード300のバスに接続されている。計算ノード400,500,600,・・・も計算ノード300と同様のハードウェアを用いて実現される。
プロセッサ301は、計算ノード300の情報処理を制御するハードウェアである。プロセッサ301は、マルチプロセッサであってもよい。プロセッサ301は、例えばCPU、DSP、ASICまたはFPGAなどである。プロセッサ301は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。プロセッサ301は、周波数レジスタ301aを有する。周波数レジスタ301aは、プロセッサ301の動作周波数が設定されるレジスタである。
RAM302は、計算ノード300の主記憶装置である。RAM302は、プロセッサ301に実行させるプログラムの少なくとも一部を一時的に記憶する。RAM302は、プロセッサ301による処理に用いられる各種データを記憶する。
通信インタフェース303は、計算ノード400,500,・・・それぞれと接続され、他の計算ノードとの通信に用いられるインタフェースである。
通信インタフェース304は、ネットワーク21に接続され、ジョブ管理ノード200などの他のコンピュータとの通信に用いられるインタフェースである。
図5は、並列処理システムの機能例を示す図である。システム管理ノード100は、記憶部110および電力管理部120を有する。
記憶部110は、RAM102またはHDD103の記憶領域を用いて実現される。電力管理部120は、プロセッサ101により実現される。プロセッサ101は、RAM102に記憶されたプログラムを実行することで、電力管理部120の機能を発揮する。あるいは、電力管理部120は、FPGAやASICなどのハードワイヤードロジックにより実現されてもよい。
記憶部110は、電力管理部120によりジョブ管理ノード200から取得されたジョブの実行に関する情報(ジョブ情報)を記憶する。ジョブ情報は、ジョブの割り当て先の計算ノード、ジョブの消費電力、および、ジョブの終了予定時刻までの残り実行時間(残り時間)の情報を含む。ジョブの消費電力は、当該ジョブの割り当て先の各計算ノードの消費電力の和である。
また、記憶部110は、並列処理システム50により許容されるシステム消費電力の上限値を記憶する。当該上限値は、例えば、電力会社との契約により定められた契約電力である。
電力管理部120は、計算ノード300,400,500,・・・に接続されたBMC(Baseboard Management Controller)60,70と通信し、BMC60,70により計測された消費電力を取得する。
ここで、BMC60,70は、所定の周期で、所定数(例えば、2台、8台または16台など)の計算ノードにおける消費電力を計測する。BMC60,70は、計算ノード300,400,500,・・・と所定のインタフェースにより接続され、例えば、ネットワーク21を介して、システム管理ノード100と通信する。あるいは、BMC60,70は、システム管理ノード100とシリアルインタフェースなどの所定のインタフェースにより接続されて、システム管理ノード100と通信してもよい。
電力管理部120は、BMC60,70から取得した消費電力を集計することで、システム消費電力を計算する。電力管理部120は、システム消費電力を監視し、システム消費電力が閾値を超えると一部の計算ノードの動作を制御して、省電力化を図る。閾値は、システム消費電力の上限値に応じて予め定められる。閾値は、例えば、システム消費電力の上限値よりも小さい値である。
具体的には、電力管理部120は、ジョブ毎の消費電力と残り実行時間とをジョブ管理ノード200に問い合わせる。電力管理部120は、ジョブ毎の消費電力と残り実行時間とをジョブ管理ノード200から取得し、取得した情報に基づいて、消費電力の削減対象の計算ノードを選択する。電力管理部120は、選択した計算ノードの消費電力を削減するようジョブ管理ノード200に指示する。
ジョブ管理ノード200は、記憶部210、ジョブ管理部220および資源管理マスター230を有する。
記憶部210は、ジョブ管理ノード200が備えるRAMまたはHDDの記憶領域を用いて実現される。ジョブ管理部220および資源管理マスター230は、ジョブ管理ノード200が備えるプロセッサにより実現される。ジョブ管理ノード200のプロセッサは、ジョブ管理ノード200のRAMに記憶されたプログラムを実行することで、ジョブ管理部220および資源管理マスター230の機能を発揮する。あるいは、ジョブ管理部220および資源管理マスター230は、FPGAやASICなどのハードワイヤードロジックにより実現されてもよい。
記憶部210は、資源管理マスター230により取得された情報や、ジョブ管理部220により作成された情報を記憶する。
ジョブ管理部220は、各計算ノードによるジョブの実行を管理する。ジョブ管理部220は、電力管理部120によるジョブ毎の消費電力と残り実行時間の問い合わせに応じて、ジョブ毎の消費電力と残り実行時間を電力管理部120に提供する。具体的には、ジョブ管理部220は、各計算ノードの消費電力の取得を資源管理マスター230に指示し、資源管理マスター230を介して、各計算ノードの消費電力を取得する。そして、ジョブ管理部220は、ジョブ毎の割り当て先の計算ノード、消費電力、および、現時刻から終了予定時刻までの時間(残り実行時間)を計算し、電力管理部120に送信する。
また、ジョブ管理部220は、電力管理部120から消費電力の削減の指示を受け付けると、指示された計算ノードの消費電力の削減を依頼するように、資源管理マスター230に指示する。
資源管理マスター230は、ジョブ管理部220から各計算ノードの消費電力の取得指示を受け付けると、各計算ノードの消費電力を取得し、ジョブ管理部220に提供する。また、資源管理マスター230は、ジョブ管理部220から消費電力の削減依頼の指示を受け付けると、指示された計算ノードに、消費電力の削減を依頼する。
計算ノード300は、資源管理スレーブ310、消費電力収集部320および動作制御部330を有する。
資源管理スレーブ310、消費電力収集部320および動作制御部330は、プロセッサ301により実現される。プロセッサ301は、RAM302に記憶されたプログラムを実行することで、資源管理スレーブ310、消費電力収集部320および動作制御部330の機能を発揮する。あるいは、資源管理スレーブ310、消費電力収集部320および動作制御部330は、FPGAやASICなどのハードワイヤードロジックにより実現されてもよい。
資源管理スレーブ310は、資源管理マスター230からの消費電力の取得指示を受け付けると、消費電力収集部320を介して計算ノード300の消費電力を取得し、資源管理マスター230に送信する。
消費電力収集部320は、計算ノード300の消費電力を計測し、資源管理スレーブ310に提供する。
動作制御部330は、資源管理スレーブ310の指示により、計算ノード300の動作モードを変更する。動作制御部330は、計算ノード300の動作モードを変更することで、計算ノード300の消費電力を削減する(パワーノブ設定)。例えば、動作制御部330は、計算ノード300においてジョブ実行に用いられるプロセッサ301の動作周波数を通常よりも下げる省電力モードで計算ノード300を動作させる。動作制御部330は、周波数レジスタ301aの設定値を変更することで、プロセッサ301の動作周波数を下げる、上げるなどの変更を行える。なお、ジョブ実行に用いられるプロセッサは、プロセッサ301とは別個に、計算ノード300に設けられてもよい。また、省電力モードの他の例としては、計算ノード300がジョブ実行に複数のプロセッサを用いている場合に複数のプロセッサの一部を停止させることも考えられる。更に、動作制御部330は、計算ノード300を停止させる(シャットダウンまたはスタンバイ状態に移行させるなど)こともある。
消費電力収集部320および動作制御部330の機能は、所定のPowerAPI(Application Programming Interface)により実現される。
図6は、ノード消費電力情報の例を示す図である。ノード消費電力情報211は、記憶部210に格納される。ノード消費電力情報211は、ノード識別子および消費電力の項目を含む。
ノード識別子の項目には、計算ノードの識別情報(ノード識別子)が登録される。消費電力の項目には、該当のノード識別子で示される計算ノードの消費電力が登録される。消費電力の単位は、ワット(W)である。
例えば、ノード消費電力情報211には、ノード識別子が“0xFF010004”、消費電力が“120”というレコードが登録される。このレコードは、ノード識別子“0xFF010004”の計算ノードの消費電力が120Wであることを示す。
図7は、ジョブ統計情報の例を示す図である。ジョブ統計情報212は、記憶部210に格納される。ジョブ統計情報212は、ジョブ識別子、ジョブ終了予定時刻およびノード識別子の項目を含む。
ジョブ識別子の項目には、ジョブの識別情報(ジョブ識別子)が登録される。ジョブ終了予定時刻の項目には、該当のジョブの実行が完遂する予定の時刻(終了予定時刻)が登録される。ノード識別子の項目には、ノード識別子が登録される。なお、何れのジョブも割り当てられていない計算ノードのノード識別子に対し、ジョブ識別子およびジョブ終了予定時刻は、設定なし(設定なしをハイフン“−”で示す)となる。
例えば、ジョブ統計情報212には、ジョブ識別子が“7101927”、ジョブ終了予定時刻が“20:30”、ノード識別子が“0xFF010004”、“0xFF010005”というレコードが登録される。このレコードは、ジョブ識別子“7101927”のジョブの終了予定時刻が20時30分であり、ノード識別子“0xFF010004”および“0xFF010005”の2つの計算ノードが、当該ジョブを実行する計算ノードであることを示す。
また、ジョブ統計情報212には、ジョブ識別子が“7119895”、ジョブ終了予定時刻が“20:00”、ノード識別子が“0xFF010006”、“0xFF010007”というレコードが登録される。このレコードは、ジョブ識別子“7119895”のジョブの終了予定時刻が20時00分であり、ノード識別子“0xFF010006”および“0xFF010007”の2つの計算ノードが、当該ジョブを実行する計算ノードであることを示す。
なお、ジョブ統計情報212において、ノード識別子“0xFF010008”に対するジョブ識別子およびジョブ終了予定時刻は、設定なし(“−”)である。これは、“0xFF010008”には何れのジョブも割り当てられていないことを示す。
図8は、ジョブ単位消費電力情報の例を示す図である。ジョブ単位消費電力情報213は、記憶部210に格納される。ジョブ単位消費電力情報213は、ジョブ識別子、ノード識別子および消費電力合計値の項目を含む。
ジョブ識別子の項目には、ジョブ識別子が登録される。ノード識別子の項目には、ノード識別子が登録される。消費電力合計値の項目には、ノード識別子で示される計算ノードの消費電力の合計値が登録される。なお、何れのジョブも割り当てられていない計算ノードのノード識別子に対し、ジョブ識別子は、設定なし(“−”)となる。
例えば、ジョブ単位消費電力情報213には、ジョブ識別子が“7101927”、ノード識別子が“0xFF010004”、“0xFF010005”、消費電力合計値が“240”というレコードが登録される。このレコードは、ジョブ識別子“7101927”のジョブを実行する計算ノードがノード識別子“0xFF010004”、“0xFF010005”の2つの計算ノードであり、これらの計算ノードの消費電力の合計値が240Wであることを示す。
また、ジョブ単位消費電力情報213には、ジョブ識別子が“7119895”、ノード識別子が“0xFF010006”、“0xFF010007”、消費電力合計値が“350”というレコードが登録される。このレコードは、ジョブ識別子“7119895”のジョブを実行する計算ノードがノード識別子“0xF010006”、“0xFF010007”の2つの計算ノードであり、これらの計算ノードの消費電力の合計値が350Wであることを示す。
なお、ジョブ単位消費電力情報213において、ノード識別子“0xFF010008”に対するジョブ識別子は、設定なし(“−”)である。これは、“0xFF010008”には何れのジョブも割り当てられていないためである。ノード識別子“0xFF010008”に対する消費電力合計値“80”(W)は、ジョブを実行していない状態における該当の計算ノードの単体の消費電力である。
図9は、ジョブ情報の例を示す図である。ジョブ情報111は、記憶部110に格納される。ジョブ情報111は、ジョブ識別子、ノード識別子、残りのジョブ実行時間および消費電力合計値の項目を含む。
ジョブ識別子の項目には、ジョブ識別子が登録される。ノード識別子の項目には、ノード識別子が登録される。残りのジョブ実行時間の項目には、現時刻から当該ジョブの終了予定時刻までの時間が登録される。消費電力合計値の項目には、当該ジョブを実行する各計算ノードの消費電力の合計値が登録される。なお、ジョブ情報111は、何れのジョブも割り当てられていない計算ノードの情報も含む。何れのジョブも割り当てられていない計算ノードのノード識別子に対し、ジョブ識別子および残りのジョブ実行時間は、設定なし(“−”)となる。
例えば、ジョブ情報111には、ジョブ識別子が“7101927”、ノード識別子が“0xFF010004”、“0xFF010005”、残りのジョブ実行時間が“40分”、消費電力合計値が“240”というレコードが登録される。このレコードは、ジョブ識別子“7101927”のジョブを実行する計算ノードがノード識別子“0xFF010004”、“0xFF010005”の2つの計算ノードであることを示す。また、当該ジョブの残りのジョブ実行時間が40分であり、当該ジョブを実行する各計算ノードの消費電力の合計値が240Wであることを示す。
また、ジョブ情報111には、ジョブ識別子が“7119895”、ノード識別子が“0xFF010006”、“0xFF010007”、残りのジョブ実行時間が“10分”、消費電力合計値が“350”というレコードが登録される。このレコードは、ジョブ識別子“7119895”のジョブを実行する計算ノードがノード識別子“0xFF010006”、“0xFF010007”の2つの計算ノードであることを示す。また、当該ジョブの残りのジョブ実行時間が10分であり、当該ジョブを実行する各計算ノードの消費電力の合計値が350Wであることを示す。
なお、ジョブ情報111において、ノード識別子“0xFF010008”に対するジョブ識別子および残りのジョブ実行時間は、設定なし(“−”)である。これは、“0xFF010008”には何れのジョブも割り当てられていないためである。ノード識別子“0xFF010008”に対する消費電力合計値“80”(W)は、ジョブを実行していない状態における該当の計算ノードの単体の消費電力である。
次に、並列処理システム50における各ノードの処理手順を説明する。まず、システム管理ノード100の処理手順を説明する。
図10は、システム管理ノードの処理例を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。
(S11)電力管理部120は、各BMC(BMC50,60)から消費電力を取得する。
(S12)電力管理部120は、各BMCから取得した消費電力を集計し、システム消費電力を算出する。システム消費電力は、各BMCから取得した消費電力の合計である。
(S13)電力管理部120は、システム消費電力が(システム消費電力上限値−α)以上であるか否かを判定する。αは正の実数である。システム消費電力が(システム消費電力上限値−α)以上である場合、電力管理部120は、ステップS14に処理を進める。システム消費電力が(システム消費電力上限値−α)未満である場合、電力管理部120は、ステップS18に処理を進める。ここで、(システム消費電力上限値−α)は、システム消費電力に対する閾値である。システム消費電力上限値およびパラメータαの値は、記憶部110に予め設定される。並列処理システム50で許容されるシステム消費電力上限値よりも小さい値を閾値とすることで、システム消費電力が、システム消費電力上限値を超えないように運用できる。前述のように、システム消費電力上限値は、電力会社との契約で定められる契約電力でもよい。
(S14)電力管理部120は、ジョブ毎の消費電力と残り実行時間とをジョブ管理ノード200に問い合わせる。電力管理部120は、問い合わせに対して、ジョブ毎の消費電力と残り実行時間とを含むジョブ情報111を、ジョブ管理ノード200から取得し、記憶部110に格納する。
(S15)電力管理部120は、ジョブ情報111に基づいて、最大消費電力のジョブの終了予定時刻までの時間(現時刻から終了予定時刻までの時間差)が所定時間以上であるか否かを判定する。最大消費電力のジョブの終了予定時刻までの時間が所定時間以上である場合、電力管理部120は、ステップS17に処理を進める。最大消費電力のジョブの終了予定時刻までの時間が所定時間未満である場合、電力管理部120は、ステップS16に処理を進める。
(S16)電力管理部120は、最大消費電力のジョブ以外のジョブの消費電力を削減する処理をジョブ管理ノード200に依頼する。具体的には、電力管理部120は、最大消費電力のジョブ以外のジョブをジョブ情報111から特定し、特定したジョブの電力削減指示(すなわち、特定したジョブを実行する計算ノードの電力削減指示)を、ジョブ管理ノード200に送信する。そして、電力管理部120は、ステップS18に処理を進める。
(S17)電力管理部120は、最大消費電力のジョブの消費電力を削減する処理をジョブ管理ノード200に依頼する。具体的には、電力管理部120は、最大消費電力のジョブをジョブ情報111から特定し、特定したジョブの電力削減指示(すなわち、特定したジョブを実行する計算ノードの電力削減指示)を、ジョブ管理ノード200に送信する。そして、電力管理部120は、ステップS18に処理を進める。
(S18)電力管理部120は、一定時間待機する。その後、電力管理部120は、ステップS11に処理を進める。
ここで、一例として、ステップS15の判定における所定時間が20分の場合を考える。図9で示したジョブ情報111の例によれば、消費電力が最大のジョブは、ジョブ識別子“7119895”のジョブである。この場合、ジョブ識別子“7119895”のジョブの残りのジョブ実行時間“10分”は、所定時間“20分”未満である(ステップS15 No)。したがって、電力管理部120は、ジョブ識別子“7119895”以外のジョブ識別子“7101927”のジョブの電力削減指示をジョブ管理ノード200に送信する。このとき、電力管理部120は、ジョブを未割当てである計算ノードについての電力削減指示をジョブ管理ノード200に更に送信してもよい。
また、ステップS15の判定における所定時間は、ジョブ毎に定められてもよい。例えば、電力管理部120は、ジョブの総実行所要時間のうちの所定割合(例えば、30%や20%など)の時間を、当該ジョブに対する所定時間として決定してもよい。
次に、ジョブ管理ノード200による処理手順を説明する。
図11は、ジョブ管理ノードの処理例を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
(S21)ジョブ管理部220は、ジョブ毎の消費電力と残り実行時間との問い合わせをシステム管理ノード100から受信する。ジョブ管理部220は、計算ノード毎の消費電力の取得を資源管理マスター230に指示する。
(S22)資源管理マスター230は、計算ノード毎の消費電力の取得を各計算ノードに指示する。
(S23)資源管理マスター230は、計算ノード毎の消費電力を各計算ノードから取得する。資源管理マスター230は、取得した消費電力の情報によりノード消費電力情報211を生成し、記憶部210に格納する。
(S24)ジョブ管理部220は、ノード消費電力情報211に基づいて、ジョブ毎の消費電力を計算する。ここで、ジョブ管理部220は、ジョブ統計情報212を記憶部210に予め格納している。このため、ジョブ管理部220は、ノード識別子をキーにして、ノード消費電力情報211のテーブルと、ジョブ統計情報212のテーブルとを結合することで、ジョブ単位消費電力情報213を生成する。このとき、共通のジョブ識別子に対応するノード識別子の消費電力を合計することで、ジョブ単位消費電力情報213における消費電力合計値を求める。また、ジョブ管理部220は、ジョブ統計情報212に基づいて、現時刻から終了予定時刻までの時間(残り実行時間)をジョブ毎に計算する。
(S25)ジョブ管理部220は、ジョブ毎の消費電力と残り実行時間の情報をシステム管理ノード100に送信する。具体的には、ジョブ管理部220は、ジョブ単位消費電力情報213にジョブ毎の残り実行時間を追加することで、ジョブ情報111を生成し、システム管理ノード100に送信する。
(S26)ジョブ管理部220は、システム管理ノード100から電力削減指示を受信したか否かを判定する。システム管理ノード100から電力削減指示を受信した場合、ジョブ管理部220は電力削減指示を資源管理マスター230に通知し、ステップS27に処理を進める。システム管理ノード100から電力削減指示を受信しない場合、ジョブ管理部220は処理を終了する。
(S27)資源管理マスター230は、該当の計算ノードに電力削減を指示する。具体的には、資源管理マスター230は、電力削減指示で指定されたジョブの割り当て先の計算ノードを、ジョブ統計情報212に基づいて特定する。資源管理マスター230は、特定した計算ノードに対して、電力削減指示を送信する。そして、資源管理マスター230は、処理を終了する。
なお、上記の例では、ジョブ管理部220により各計算ノードの消費電力を集計してジョブ毎の消費電力を算出するものとしたが、電力管理部120が各計算ノードの消費電力をジョブ毎に集計する処理を行ってもよい。この場合、ジョブ管理部220は、ジョブ情報111における消費電力合計値の代わりに、各計算ノードの消費電力の情報を電力管理部120に提供する。また、資源管理マスター230が電力削減指示に応じて対象の計算ノードを特定するものとしたが、電力管理部120またはジョブ管理部220が電力削減対象の計算ノードの選択を行ってもよい。例えば、電力管理部120が、ジョブ情報111に基づいて、消費電力最大のジョブに対応する電力削減対象の計算ノードを選択してもよい。
次に、計算ノード300の処理手順を説明する。計算ノード400,500,600,・・・も計算ノード300と同様の処理手順を実行する。
図12は、計算ノードの処理例を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
(S31)資源管理スレーブ310は、ジョブ管理ノード200から消費電力の取得指示を受信する。
(S32)資源管理スレーブ310は、消費電力収集部320を介して計算ノード300の消費電力を取得し、計算ノード300の消費電力をジョブ管理ノード200に送信する。
(S33)資源管理スレーブ310は、ジョブ管理ノード200から消費電力の削減指示を受信したか否かを判定する。消費電力の削減指示を受信した場合、資源管理スレーブ310は、消費電力の削減を動作制御部330に指示して、ステップS34に処理を進める。消費電力の削減指示を受信しない場合、資源管理スレーブ310は、処理を終了する。
(S34)動作制御部330は、計算ノード300の消費電力を削減する。具体的には、動作制御部330は、計算ノード300を省電力モードに移行させる。一例では、動作制御部330は、ジョブの実行に用いられるプロセッサ301の周波数レジスタ301aに、通常よりも低い周波数を設定することで、プロセッサ301による消費電力を削減する。あるいは、複数のプロセッサがジョブの実行に用いられている場合、動作制御部330は、複数のプロセッサの一部を停止させることで、消費電力を削減してもよい。また、動作制御部330は、計算ノード300を停止(例えば、シャットダウンまたはスタンバイ状態へ移行)させてもよい。そして、動作制御部330は、処理を終了する。
なお、電力管理部120は、消費電力削減の依頼後、何れかのジョブの実行が終了すると、ジョブ管理ノード200から当該ジョブの終了の通知を受け付けてもよい。そして、電力管理部120は、当該通知に応じて、消費電力を削減中である(省電力モードである)計算ノードを通常モードに移行させるようにジョブ管理ノード200に指示してもよい。ジョブ管理ノード200は、電力管理部120の指示に応じて、該当の計算ノードに通常モードへの移行を指示する。そして、指示を受けた計算ノードは、省電力モードから通常モードへ移行する(例えば、プロセッサ周波数の設定をクロックダウン前の設定に戻す、または、計算ノードを停止させた場合には当該計算ノードを起動させるなど)。
以上で例示したように、システム管理ノード100は、システム消費電力が閾値に達すると、消費電力が最大である第1ジョブの終了予定時刻までの時間と所定時間との比較に応じて、消費電力を削減する計算ノードを選択する。
システム管理ノード100は、第1ジョブの終了予定時刻までの時間が所定時間T0以上である場合に、第1ジョブを実行する計算ノードの消費電力を削減する処理を行う。この場合、第1ジョブの終了予定時刻までの時間が所定時間以上であれば、第1ジョブの進捗の度合いも低いと考えられ、仮に第1ジョブが完遂されない場合でも、第1ジョブの実行のための電力量の浪費を抑えられる。また、消費電力が最大である第1ノードの消費電力を削減することで、システム全体の消費電力を効率的に抑えて、第1ノード以外の第2ノードによる第2ジョブの実行を継続することができる。
一方、システム管理ノード100は、第1ジョブの終了予定時刻までの時間が所定時間未満である場合に、第1ジョブを実行する第1ノード以外の第2ノードの消費電力を削減する処理を行う。この場合、第1ジョブの終了予定時刻までの時間が所定時間未満であれば、第1ジョブの進捗の度合いも高いと考えられ、仮に第1ジョブが完遂されないとすると、それまでの第1ジョブの実行のための電力量の浪費が大きい。第1ジョブの終了が間近であるにも関わらず、第1ノードの消費電力を削減して第1ジョブの完遂率を低下させてしまうと、それまでの第1ジョブの処理、および、第1ジョブの再実行により消費される電力量が大きくなるリスクが高まる。このため、第2ノードの消費電力を削減し、第1ジョブの実行を優先することで、第1ジョブが適切に完遂されるように制御する。
こうして、第1ジョブの実行完遂率を向上させることで、第1ジョブの再実行を抑え、並列処理システム10において消費される電力量を減らすことができる。
また、上記のように、計算ノード300の消費電力を削減する方法には種々の方法(プロセッサ周波数の低減や計算ノード300の停止など)が考えられる。電力管理部120は、消費電力を削減するために何れの方法を用いるかを状況に応じて選択してもよい。例えば、電力管理部120は、まずは、電力削減対象の計算ノードのプロセッサの動作周波数を低下させ、それでもシステム消費電力が(システム消費電力上限値−α)を下回らない場合に、該当の計算ノードの停止をジョブ管理ノード200に指示してもよい。このとき、電力管理部120は、システム消費電力が(システム消費電力上限値−α)を下回るように、ある計算ノードでプロセッサの動作周波数を低減させ、別の計算ノードを停止させるようジョブ管理ノード200に指示してもよい。このように消費電力を削減する方法を柔軟に選択することで、消費電力を削減しつつ、計算ノード300,400,500,600,・・・の利用効率を向上させることも可能である。
なお、第2の実施の形態では、システム管理ノード100とジョブ管理ノード200とを別個のノードとして実現する例を説明したが、両ノードの機能は1つのノードによって実現されてもよい。例えば、ジョブ管理ノード200の機能の一部または全部を、システム管理ノード100に組み込むこともできる。
また、第1の実施の形態の情報処理は、処理部11bにプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、プロセッサ101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体24に記録できる。
例えば、プログラムを記録した記録媒体24を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体24に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。
10 並列処理システム
11 システム管理装置
11a 記憶部
11b 処理部
12 計算ノード群
12a,12b,12c,12d 計算ノード
D1,D2 テーブル

Claims (7)

  1. 複数のノードそれぞれの消費電力の情報と複数のノードにより並列に実行される複数のジョブであって、各々が前記複数のノードのうちの1以上のノードにより実行される前記複数のジョブの情報とを記憶する記憶部と、
    前記複数のノードの総消費電力が閾値に達すると、前記記憶部に記憶された情報に基づいて前記複数のジョブのうち消費電力が最大である第1ジョブを抽出し、前記第1ジョブの終了予定時刻までの時間が所定時間以上の場合、前記第1ジョブを実行する第1ノードの消費電力を削減する処理を行い、前記第1ジョブの終了予定時刻までの時間が所定時間未満の場合、前記第1ノード以外の第2ノードであって、前記第1ジョブを実行しておらず前記複数のジョブのうちの第2ジョブを実行する前記第2ノードの消費電力を削減する処理を行う処理部と、
    を有する並列処理システムのシステム管理装置。
  2. 前記処理部は、ジョブが割り当てられた各計算ノードの消費電力の合計を前記ジョブの消費電力とする、請求項1記載の並列処理システムのシステム管理装置。
  3. 前記閾値は、前記並列処理システムで許容される消費電力の上限値よりも小さい値である、請求項1または2記載の並列処理システムのシステム管理装置。
  4. 前記処理部は、前記総消費電力が前記閾値に達すると、前記複数のノードによる前記複数のジョブの実行を管理するジョブ管理ノードから、ジョブ毎の計算ノードの割り当て先、および、ジョブ毎の終了予定時刻までの時間を含む前記複数のジョブの情報を取得する、請求項1乃至3の何れか1項に記載の並列処理システムのシステム管理装置。
  5. 前記処理部は、前記第1ノードまたは前記第2ノードの停止、あるいは、前記第1ノードまたは前記第2ノードのプロセッサの動作周波数の低下を指示することで、前記第1ノードまたは前記第2ノードの消費電力を削減する、請求項1乃至4の何れか1項に記載の並列処理システムのシステム管理装置。
  6. 各々が1以上のノードにより実行される複数のジョブを並列に実行する複数のノードと、
    前記複数のノードの総消費電力が閾値に達すると、前記複数のノードそれぞれの消費電力の情報と前記複数のジョブの情報とに基づいて前記複数のジョブのうち消費電力が最大である第1ジョブを抽出し、前記第1ジョブの終了予定時刻までの時間が所定時間以上の場合、前記第1ジョブを実行する第1ノードの消費電力を削減する処理を行い、前記第1ジョブの終了予定時刻までの時間が所定時間未満の場合、前記第1ノード以外の第2ノードであって、前記第1ジョブを実行しておらず前記複数のジョブのうちの第2ジョブを実行する前記第2ノードの消費電力を削減する処理を行うシステム管理装置と、
    を有する並列処理システム。
  7. コンピュータが、
    各々が1以上のノードにより実行される複数のジョブを並列に実行する複数のノードの総消費電力が閾値に達すると、前記複数のノードそれぞれの消費電力の情報と前記複数のジョブの情報とに基づいて前記複数のジョブのうち消費電力が最大である第1ジョブを抽出し、
    前記第1ジョブの終了予定時刻までの時間が所定時間以上の場合、前記第1ジョブを実行する第1ノードの消費電力を削減する処理を行い、前記第1ジョブの終了予定時刻までの時間が所定時間未満の場合、前記第1ノード以外の第2ノードであって、前記第1ジョブを実行しておらず前記複数のジョブのうちの第2ジョブを実行する前記第2ノードの消費電力を削減する処理を行う、
    電力制御方法。
JP2017115310A 2017-06-12 2017-06-12 並列処理システムのシステム管理装置、並列処理システムおよび電力制御方法 Active JP6959506B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017115310A JP6959506B2 (ja) 2017-06-12 2017-06-12 並列処理システムのシステム管理装置、並列処理システムおよび電力制御方法
US16/001,990 US10705592B2 (en) 2017-06-12 2018-06-07 Efficient reduction in electric power consumption for a parallel processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017115310A JP6959506B2 (ja) 2017-06-12 2017-06-12 並列処理システムのシステム管理装置、並列処理システムおよび電力制御方法

Publications (2)

Publication Number Publication Date
JP2019003281A JP2019003281A (ja) 2019-01-10
JP6959506B2 true JP6959506B2 (ja) 2021-11-02

Family

ID=64564058

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017115310A Active JP6959506B2 (ja) 2017-06-12 2017-06-12 並列処理システムのシステム管理装置、並列処理システムおよび電力制御方法

Country Status (2)

Country Link
US (1) US10705592B2 (ja)
JP (1) JP6959506B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7367565B2 (ja) * 2020-03-03 2023-10-24 富士通株式会社 電力制御装置および電力制御プログラム
JP2023021662A (ja) * 2021-08-02 2023-02-14 富士通株式会社 プログラムおよび管理方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3959516B2 (ja) * 2001-08-06 2007-08-15 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワークシステム、cpu資源プロバイダ、クライアント装置、処理サービスの提供方法、およびプログラム
US7117497B2 (en) * 2001-11-08 2006-10-03 Honeywell International, Inc. Budget transfer mechanism for time-partitioned real-time operating systems
US20040237087A1 (en) * 2003-05-08 2004-11-25 Nong Ye Job scheduling techniques to reduce the variance of waiting time
US8108863B2 (en) * 2005-12-30 2012-01-31 Intel Corporation Load balancing for multi-threaded applications via asymmetric power throttling
JP2008198072A (ja) 2007-02-15 2008-08-28 Mitsubishi Electric Corp リアルタイム計算機
US8132031B2 (en) * 2009-03-17 2012-03-06 International Business Machines Corporation Power adjustment based on completion times in a parallel computing system
US8479035B1 (en) * 2010-09-02 2013-07-02 Google Inc. Smart limited functionality mode manager
JP5429402B2 (ja) * 2010-11-15 2014-02-26 富士通株式会社 情報処理装置、情報処理プログラム、および情報処理方法
JP5887846B2 (ja) 2011-11-10 2016-03-16 日本電気株式会社 電力制御システムおよび電力制御方法
EP2828748A4 (en) * 2012-03-21 2016-01-13 Nokia Technologies Oy METHOD IN A PROCESSOR, DEVICE AND COMPUTER PROGRAM PRODUCT
US10040735B2 (en) * 2014-05-08 2018-08-07 Exxonmobil Research And Engineering Company Method of producing an alcohol-containing pyrolisis product
JP2016071841A (ja) 2014-09-30 2016-05-09 日本電気株式会社 ジョブ管理装置、ジョブ管理システム、ジョブ管理方法、及びプログラム

Also Published As

Publication number Publication date
US10705592B2 (en) 2020-07-07
US20180356875A1 (en) 2018-12-13
JP2019003281A (ja) 2019-01-10

Similar Documents

Publication Publication Date Title
JP4380986B2 (ja) クロック制御装置及びその記録媒体
US9977439B2 (en) Energy efficiency aware thermal management in a multi-processor system on a chip
Do et al. ptop: A process-level power profiling tool
KR101523909B1 (ko) 마이크로프로세서 내의 열 설계 전력을 구성하기 위한 방법 및 장치
TWI505080B (zh) 在電腦系統中分派任務之方法、系統及電腦程式
Meisner et al. The powernap server architecture
WO2013077972A1 (en) Thermally driven workload scheduling in a heterogeneous multi - processor system on a chip
JP2007310791A (ja) 計算機システムの消費電力低減方法、及びそのプログラム
TW201339967A (zh) 協同處理器及系統效能及電源管理
KR20020087388A (ko) 연산처리시스템 및 연산처리 제어방법, 업무관리시스템 및업무관리방법과 기억매체
US9342133B2 (en) Information processing apparatus and power saving control method
WO2013043349A1 (en) On-chip thermal management techniques using inter-processor time dependent power density data for identification of thermal aggressors
JP6959506B2 (ja) 並列処理システムのシステム管理装置、並列処理システムおよび電力制御方法
TWI659297B (zh) 系統電源管理方法及計算機系統
TW202011146A (zh) 動態地分配和優化電力資源的方法及系統、以及非暫態性機器可讀媒體
US20160103714A1 (en) System, method of controlling a system including a load balancer and a plurality of apparatuses, and apparatus
JP6259388B2 (ja) 電源制御装置、サーバ仮想化システム、および、電源制御方法
US10802832B2 (en) Information processing device and method of controlling computers
JP5097263B2 (ja) 計算機システム、その消費電力低減方法、及びそのプログラム
JP4517006B2 (ja) クロック制御装置及びその記録媒体
JP2016053841A (ja) 電源状態制御装置およびプログラム
Hemanandhini et al. A Study on Various Techniques for Energy Conservation in Data Centers for Green Computing
US11822408B2 (en) Computer-readable recording medium storing program and management method
US11823294B1 (en) Site management apparatus and management method
JP5962095B2 (ja) 電力制御システム、電力制御のための管理装置および電力制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200310

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200316

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210511

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210607

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210920

R150 Certificate of patent or registration of utility model

Ref document number: 6959506

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150