JP6683920B2 - 並列処理装置、電力係数算出プログラムおよび電力係数算出方法 - Google Patents

並列処理装置、電力係数算出プログラムおよび電力係数算出方法 Download PDF

Info

Publication number
JP6683920B2
JP6683920B2 JP2016032582A JP2016032582A JP6683920B2 JP 6683920 B2 JP6683920 B2 JP 6683920B2 JP 2016032582 A JP2016032582 A JP 2016032582A JP 2016032582 A JP2016032582 A JP 2016032582A JP 6683920 B2 JP6683920 B2 JP 6683920B2
Authority
JP
Japan
Prior art keywords
node
job
power consumption
power
calculation
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
JP2016032582A
Other languages
English (en)
Other versions
JP2017151656A (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 JP2016032582A priority Critical patent/JP6683920B2/ja
Priority to US15/386,792 priority patent/US20170242728A1/en
Publication of JP2017151656A publication Critical patent/JP2017151656A/ja
Application granted granted Critical
Publication of JP6683920B2 publication Critical patent/JP6683920B2/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
    • 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
    • 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
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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
    • 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/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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)
  • Software Systems (AREA)
  • Power Sources (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は並列処理装置、電力係数算出プログラムおよび電力係数算出方法に関する。
複数の計算ノードを並列に用いて処理を実行する計算システムが利用されている。計算システムでは、複数の計算ノードを同時に動作させるため、比較的大きな電力を消費する。このため、例えば、複数のジョブの実行をスケジューリングする際、各計算ノードによる消費電力を予測し、全体の消費電力が過大にならないように制御することがある。
ここで、ある装置の消費電力を予測する方法が考えられている。例えば、電力見積装置が、電力見積対象装置からパラメータの組み合わせ毎の電力値を複数取得し、電力値の平均値に対する電力値の変動の大きさに基づいて電力予測式を作成し、電力予測式を用いて電力見積対象装置の消費電力を見積もる提案がある。また、例えば、消費電力予測装置が、論理ゲート毎のイベントに対応して得られる消費電力を示す消費電力テーブルを参照して、イベントから論理ゲート毎の消費電力を予測する提案もある。
また、論理セルライブラリ生成システムにおいて、メモリに入るデータがランダムであると仮定してメモリの動作モードを加味したベクトルを作成し、ベクトルで指定されたサイクル毎に消費電力を算出する方法も提案されている。
特開2015−111326号公報 特開2001−265847号公報 特開平10−222545号公報
計算システムの消費電力を予測する際、各計算ノードの消費電力に対する個別の特性を考慮することが考えられる。例えば、複数の計算ノードが同じ処理を実行したとしても、計算ノードに含まれる部品の製造上の品質のばらつきによって、各計算ノードの消費電力は変わり得る。このような個々の計算ノードの特性を電力係数として予め把握しておけば、消費電力の予測に役立てることができる。
例えば、電力係数を測るために、各計算ノードに均一の負荷をかけるテストプログラムを各計算ノードに実行させて、各計算ノードによる消費電力を測定する方法が考えられる。しかし、この方法では、テストプログラムを実行するために、計算ノードの通常運用を中断せねばならず、また、テストプログラムの実行のために余計な電力を消費するという問題がある。
1つの側面では、本発明は、テスト用の特別なプログラムを実行しなくても電力係数を取得できる並列処理装置、電力係数算出プログラムおよび電力係数算出方法を提供することを目的とする。
1つの態様では、並列処理装置が提供される。この並列処理装置は記憶部と演算部とを有する。記憶部は、ジョブを並列に実行する複数のノードそれぞれに対して、ジョブの実行に応じたノード毎の消費電力の算出に用いられる電力係数を記憶する。演算部は、複数のノードを用いてジョブを並列に実行する際に、実行対象の複数のジョブのうち第1のジョブの実行時の、ノード毎の消費電力の差が所定値よりも小さくなる時間帯のノード毎の消費電力に基づいて、ノード毎の電力係数を更新する。
1つの側面では、テスト用の特別なプログラムを実行しなくても電力係数を取得できる。
第1の実施の形態の並列処理装置を示す図である。 第2の実施の形態の計算システムを示す図である。 第2の実施の形態の管理ノードのハードウェア例を示す図である。 第2の実施の形態の計算ノードのハードウェア例を示す図である。 第2の実施の形態のデータ格納サーバのハードウェア例を示す図である。 第2の実施の形態の管理ノードの機能例を示す図である。 第2の実施の形態の電力係数テーブルの例を示す図である。 第2の実施の形態の電力係数の決定例を示すフローチャートである。 第3の実施の形態の電力係数の決定例を示すフローチャートである。 第3の実施の形態の総命令数および予測消費電力の例を示す図である。 第3の実施の形態の実測消費電力および電力係数の例を示す。
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の並列処理装置を示す図である。並列処理装置10は、管理ノード11および計算ノード12,13,14を有する。管理ノード11および計算ノード12,13,14は、ネットワーク15に接続されている。管理ノード11は、計算ノード12,13,14に実行させるジョブを管理するノードである。計算ノード12,13,14は、ジョブを並列に実行する演算処理用のノードである。
ここで、1つのジョブは複数の命令を含む。管理ノード11は、複数の命令の実行を計算ノード12,13,14に分散して割り当てることで、計算ノード12,13,14を用いて1つのジョブを並列に実行できる。また、並列処理装置10では、計算ノード12,13,14それぞれを、計算ノードID(IDentifier)により識別する。計算ノードIDは、複数の計算ノードそれぞれの識別情報である。例えば、計算ノード12の計算ノードIDは“X1”である。計算ノード13の計算ノードIDは“X2”である。計算ノード14の計算ノードIDは“X3”である。
管理ノード11は、記憶部11aと演算部11bを有する。記憶部11aは、RAM(Random Access Memory)などの揮発性の記憶装置でもよいし、フラッシュメモリなどの不揮発性の記憶装置でもよい。演算部11bは、例えば、プロセッサである。プロセッサは、CPU(Central Processing Unit)やDSP(Digital Signal Processor)であってもよく、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路を含んでもよい。プロセッサは、例えば、RAMに記憶されたプログラムを実行する。また、「プロセッサ」は、2以上のプロセッサの集合(マルチプロセッサ)であってもよい。管理ノード11は、「コンピュータ」と呼ばれてもよい。また、計算ノード12,13,14も、管理ノード11と同様に、プロセッサやRAMを備えている。
記憶部11aは、計算ノード12,13,14それぞれに対して、電力係数を記憶する。電力係数は、計算ノード12,13,14に並列にジョブを実行させる際の、計算ノード12,13,14それぞれの消費電力の算出に用いられる情報である。例えば、記憶部11aは、計算ノードと電力係数との対応を示す電力係数情報11cを記憶する。ここで、電力係数と消費電力の関係は、例えば次の式(1)によって表される。
p=c×r ・・・(1)
pは、消費電力(単位は、ワット(W))である。cは、ジョブの実行に伴い計算ノードで実行される総命令数である。例えば、cは、パフォーマンスカウンタを用いて取得することができる。rは、電力係数(単位は、W/1命令)である。電力係数は、各計算ノードの消費電力の特性を表す量であると考えることができる。例えば、計算ノード12,13,14の総命令数がほぼ同じで、各計算ノードの消費電力に差がある場合、その差は計算ノードの特性によるものであると考えられる。このような電力係数の差は、例えば、各計算ノードが備える部品(例えば、RAMやプロセッサなど)の品質のばらつきによっても生じ得る。
演算部11bは、並列処理装置10においてジョブを実行する際に、実行対象の複数のジョブのうち計算ノード毎の消費電力の差が所定値よりも小さいジョブ(第1のジョブ)を検出する。例えば、演算部11bは、計算ノード12,13,14を用いて、あるジョブを並列実行した後、計算ノード12,13,14からジョブの実行に伴う消費電力を収集する。そして、演算部11bは、計算ノード12,13,14それぞれの消費電力の差が所定値よりも小さいか否かを判定する。差が所定値よりも小さい場合、該当のジョブによって計算ノード12,13,14それぞれにほぼ均一な負荷が掛けられたと考えることができる。その場合、計算ノード12,13,14が当該ジョブの割り当てに伴って実行した総命令数はほぼ同じである可能性が高い。総命令数がほぼ同じである可能性が高ければ、そのときの実績の消費電力と計算ノード12,13,14それぞれが実行した総命令数とにより、式(1)に基づいて計算ノードの消費電力に対する特性を導くことができる。
演算部11bは、ジョブの実行に伴う計算ノード12,13,14それぞれの消費電力の差が所定値よりも小さいか否かを判定するために、計算ノード12,13,14から取得した消費電力の最大値と最小値との差が所定値よりも小さいか否かを判定してもよい。消費電力の最大値と最小値との差が各計算ノードにおける最大の消費電力差を与えるからである。消費電力の最大値と最小値との差を用いて判定を行うことで、計算ノード12,13,14それぞれの消費電力のばらつきを簡便に評価できる。
演算部11bは、検出したジョブの実行時の消費電力に基づいて、計算ノード毎の電力係数を更新する。例えば、演算部11bは、式(1)を用いて、検出したジョブの実行時の消費電力と総命令数から計算ノード12の電力係数R1を算出する。演算部11bは、式(1)を用いて、検出したジョブの実行時の消費電力と総命令数から計算ノード13の電力係数R2を算出する。演算部11bは、式(1)を用いて、検出したジョブの実行時の消費電力と総命令数から計算ノード14の電力係数R3を算出する。なお、演算部11bは、計算ノード12,13,14それぞれから該当のジョブのために実行した総命令数を取得してもよい。
例えば、演算部11bは、計算ノード12,13,14それぞれに対して求めた電力係数を電力係数情報11cに登録する。電力係数情報11cに各計算ノードに関して前回算出された電力係数が登録されているとき、演算部11bは、前回算出された電力係数と今回算出された電力係数とに基づいて計算ノード12,13,14の電力係数を更新することも考えられる。
より具体的には、ある計算ノードが故障したとき、故障した計算ノードを新しい計算ノードに交換することがある。この場合、交換後の計算ノードに対して仮の電力係数(例えば、正常な計算ノードの電力係数の平均値)を設定して運用することが考えられる。このとき、演算部11bは、通常の運用で実行される複数のジョブの中から、上記の方法により各計算ノードにほぼ均等に負荷をかけたと考えられるジョブを選択する。そして、演算部11bは、選択したジョブの実行に伴う各計算ノードの実測消費電力を基に、交換後の計算ノードに設定した仮の電力係数を補正する。補正の方法としては、例えば、前回算出した電力係数と今回のジョブ実行の実績に応じた電力係数との平均を今回の電力係数として採用することが考えられる。こうして、並列処理装置10では、ジョブ実行の通常運用を継続しながら、交換後の計算ノードに対する電力係数を改善していくことができる。
ここで、例えば、計算ノード12,13,14に対する電力係数を求めるために、各計算ノードに均一の負荷をかけるテストプログラムを各計算ノードに実行させて、各計算ノードによる消費電力を測定する方法も考えられる。しかし、この方法では、テストプログラムを実行するために、計算ノード12,13,14の通常運用を中断せねばならず、また、テストプログラムの実行のために、計算ノード12,13,14により余計な電力を消費するという問題がある。すなわち、電力係数を取得するために、テスト用の特別なプログラムを実行すること自体が、計算システムの運用として非効率である。
一方、並列処理装置10によれば、上記のようにジョブ実行の通常運用を継続しながら、計算ノード12,13,14に対する電力係数を求めることができる。このため、テストプログラムのような特別なプログラムを実行するための時間を割かなくて済み、計算ノード12,13,14による通常運用を中断せずに済む。また、テストプログラムを実行しなくてもよいので、計算ノード12,13,14により電力係数を求めるだけの余計な電力を消費せずに済む。
このように、並列処理装置10によれば、通常運用で計算ノードの電力係数を効率的に求めることができる。例えば、並列処理装置10は、あるジョブを実行する前に、電力係数情報11cに登録されている各計算ノードの電力係数R1,R2,R3を用いて、式(1)により計算ノード毎の予測消費電力を求める。そして、並列処理装置10は、計算ノード毎の予測消費電力の和から計算ノード全体の消費電力を予測でき、予測した消費電力に応じたジョブ実行のスケジューリングを適切に行えるようになる。
[第2の実施の形態]
図2は、第2の実施の形態の計算システムを示す図である。図2に示す計算システムは、管理ノード100、計算ノード200,200a,200b,200c、ログインノード300およびデータ格納サーバ400を含む。
管理ノード100、計算ノード200,200a,200b,200cおよびログインノード300は、ネットワーク20に接続されている。データ格納サーバ400は、ネットワーク30に接続されている。ネットワーク30は、ネットワーク20に接続されている。例えば、ネットワーク20は、計算システムの管理用のネットワークである。このうち、計算ノード200,200a,200b,200cの相互接続網の形態は、メッシュやトーラスなどと呼ばれる直接網であってもよい。また、ネットワーク30は、計算システムが設けられたデータセンタ内のローカルネットワークでもよいし、データセンタ外の広域ネットワークでもよい。
管理ノード100は、計算ノード200,200a,200b,200cへのジョブの実行を管理するサーバコンピュータである。管理ノード100は、ログインノード300からジョブ情報を受信する。ジョブ情報は、計算ノード200,200a,200b,200cに実行させるジョブの内容やジョブを実行させる計算ノードの数に関する情報などを含む。管理ノード100は、計算ノード200,200a,200b,200cにジョブを投入し、ジョブを実行させる。
計算ノード200,200a,200b,200cは、管理ノード100から投入されたジョブを並列に処理するサーバコンピュータである。計算ノードの数は、4つでなくてもよい。計算ノードを多数備えて大規模な計算処理を行う技術を、HPC(High-Performance Computing)と呼ぶことがある。
ログインノード300は、ユーザによる計算システムへのログインに用いられるサーバコンピュータである。例えば、ログインノード300は、ネットワーク30に接続されたクライアントコンピュータ(図2では図示を省略)からユーザのログインを受け付ける。ユーザは、ログインノード300を用いてジョブのプログラムのコンパイルを行える。また、ユーザは、ログインノード300を介して、管理ノード100に対する実行対象のジョブの入力を行える。ログインノード300は、ジョブの実行のために計算ノード200,200a,200b,200cを利用するとき、管理ノード100にジョブ情報を送信する。
データ格納サーバ400は、各種データを記憶するサーバコンピュータである。例えば、データ格納サーバ400は、管理ノード100に実行させるプログラムを管理ノード100に配信することができる。
ここで、管理ノード100は、計算ノード200,200a,200b,200cに対して実行させるジョブのスケジューリングを行う。管理ノード100は、スケジューリングの際、各ジョブの実行に伴う各計算ノードの消費電力を考慮する。計算システム全体として、消費電力が過大にならないように制御するためである。管理ノード100は、ジョブの実行に伴う消費電力の予測に、計算ノード毎の電力係数を用いる。例えば、管理ノード100は、電力係数を用いて、式(1)により、計算ノード毎のジョブの実行に伴う消費電力を見積もることができる。
ところが、計算システムでは、何れかの計算ノードが故障する可能性がある。故障した計算ノードは、例えば計算システムの管理者によって、新しい計算ノードに交換される。すると、交換後の計算ノードに対する電力係数を新たに求めることになる。管理ノード100は、このような交換後の計算ノードに対する電力係数を効率的に決定する機能を提供する。
次に、計算システムが有する各装置のハードウェアについて、説明する。
図3は、第2の実施の形態の管理ノードのハードウェア例を示す図である。管理ノード100は、プロセッサ101、RAM102、NVRAM(Non Volatile RAM )103および通信インタフェース104を有する。各ユニットが管理ノード100のバスに接続されている。
プロセッサ101は、管理ノード100の全体を制御する。プロセッサ101は、複数のプロセッシング要素を含むマルチプロセッサであってもよい。プロセッサ101は、例えばCPU、DSP、ASICまたはFPGAなどである。プロセッサ101は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。
RAM102は、管理ノード100の主記憶装置である。RAM102は、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。
NVRAM103は、管理ノード100の補助記憶装置である。NVRAM103は、OSのプログラム、アプリケーションプログラム、および各種データを記憶する。管理ノード100は、NVRAM103としてフラッシュメモリやSSD(Solid State Drive)などの種々の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
通信インタフェース104は、ネットワーク20を介して他の装置と通信を行う。
なお、ログインノード300も管理ノード100と同様のハードウェアにより実現できる。
図4は、第2の実施の形態の計算ノードのハードウェア例を示す図である。計算ノード200,200a,200b,200cは、同様のハードウェアで実現できる。そのため、ここでは計算ノード200のハードウェアについて説明する。
計算ノード200は、プロセッサ201、RAM202、NVRAM203、通信インタフェース204および接続インタフェース205を有する。各ユニットが計算ノード200aのバスに接続されている。
プロセッサ201は、計算ノード200aの全体を制御する。プロセッサ201は、複数のプロセッシング要素を含むマルチプロセッサであってもよい。プロセッサ201は、例えばCPU、DSP、ASICまたはFPGAなどである。プロセッサ201は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。
RAM202は、計算ノード200の主記憶装置である。RAM202は、プロセッサ201に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM202は、プロセッサ201による処理に用いる各種データを記憶する。
NVRAM203は、計算ノード200の補助記憶装置である。NVRAM203は、OSのプログラム、アプリケーションプログラム、および各種データを記憶する。管理ノード100は、NVRAM203としてフラッシュメモリやSSDなどの種々の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
通信インタフェース204は、ネットワーク20を介して他の装置と通信を行う。
接続インタフェース205は、電力計21が計測した電力値を取得する。電力計21は、計算ノード200による消費電力を計測する計測器である。なお、電力計21は、計算ノード200に内蔵されていてもよい。
図5は、第2の実施の形態のデータ格納サーバのハードウェア例を示す図である。データ格納サーバ400は、プロセッサ401、RAM402、HDD(Hard Disk Drive)403、通信インタフェース404、画像信号処理部405、入力信号処理部406および媒体リーダ407を有する。各ユニットがデータ格納サーバ400のバスに接続されている。
プロセッサ401は、データ格納サーバ400の全体を制御する。プロセッサ401は、複数のプロセッシング要素を含むマルチプロセッサであってもよい。プロセッサ401は、例えばCPU、DSP、ASICまたはFPGAなどである。また、プロセッサ401は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。
RAM402は、データ格納サーバ400の主記憶装置である。RAM402は、プロセッサ401に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM402は、プロセッサ401による処理に用いる各種データを記憶する。
HDD403は、データ格納サーバ400の補助記憶装置である。HDD403は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD403には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。データ格納サーバ400は、フラッシュメモリやSSDなどの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
通信インタフェース404は、ネットワーク30を介して他の装置と通信を行う。
画像信号処理部405は、プロセッサ401からの命令に従って、データ格納サーバ400に接続されたディスプレイ41に画像を出力する。ディスプレイ41としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機EL(Electro-Luminescence)ディスプレイなど各種のディスプレイを用いることができる。
入力信号処理部406は、データ格納サーバ400に接続された入力デバイス42から入力信号を取得し、プロセッサ401に出力する。入力デバイス42としては、マウスやタッチパネルなどのポインティングデバイスやキーボードなどの各種の入力デバイスを用いることができる。データ格納サーバ400には、複数の種類の入力デバイスが接続されてもよい。
媒体リーダ407は、記録媒体43に記録されたプログラムやデータを読み取る装置である。記録媒体43として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。また、記録媒体43として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。媒体リーダ407は、例えば、プロセッサ401からの命令に従って、記録媒体43から読み取ったプログラムやデータをRAM402またはHDD403に格納する。
次に、管理ノード100が有する機能について説明する。
図6は、第2の実施の形態の管理ノードの機能例を示す図である。管理ノード100は、記憶部110、ジョブ管理部120、消費電力取得部130および電力係数更新部140を有する。記憶部110は、例えば、RAM102またはNVRAM103に確保した記憶領域として実装される。ジョブ管理部120、消費電力取得部130および電力係数更新部140は、RAM102に記憶されたプログラムをプロセッサ101が実行することで実現される。
記憶部110は、電力係数テーブルを有する。電力係数テーブルは、計算ノード200,200a,200b,200cそれぞれに対応する電力係数を登録した情報である。
ジョブ管理部120は、ログインノード300からジョブ情報を取得する。ジョブ情報には、並列に実行されるべき複数のプログラムを含むジョブを示す情報が含まれる。また、ジョブ管理部120は、ジョブを投入するタイミングをスケジューリングする。更に、ジョブ管理部120は、ジョブを投入する際、計算ノード200,200a,200b,200cにジョブの内容を示すプログラムを配置する。ジョブ管理部120は、配置したプログラムを実行させるための起動コマンドを計算ノード200,200a,200b,200cに送信する。これにより、計算ノード200,200a,200b,200cによってジョブが並列に実行される。
ジョブ管理部120は、ジョブのスケジューリングにおいて、各ジョブの実行に伴う各計算ノードの消費電力を考慮する。ジョブ管理部120は、ジョブの実行に伴う消費電力の予測に、記憶部110に記憶された計算ノード毎の電力係数を用いる。例えば、ジョブ管理部120は、電力係数を用いて式(1)により、計算ノード毎のジョブの実行に伴う消費電力を見積もることができる。
ここで、前述のように、管理ノード100は、ある計算ノードが故障して、新しい計算ノードに交換された場合、交換後の計算ノードに対する電力係数を新たに求めることになる。管理ノード100は、計算ノードの電力係数を求める機能として、ジョブ管理部120とは別個に、下記の消費電力取得部130および電力係数更新部140を有している。
消費電力取得部130は、ジョブの実行完了後、計算ノード200,200a,200b,200cそれぞれの消費電力を取得する。例えば、消費電力取得部130は、あるジョブを実行している間の消費電力の実測値を計算ノード200から継続して取得し、各取得タイミングにおける実測値の平均を、当該ジョブの実行に伴う計算ノード200の消費電力として取得してもよい。あるいは、ジョブの実行に伴う消費電力の実測値を取得する機能を計算ノード200が有していれば、消費電力取得部130は、ジョブの実行完了後に、計算ノード200によって計算された消費電力の実測値を、計算ノード200から取得してもよい。消費電力取得部130は、こうして各計算ノードのジョブの実行に伴う消費電力を取得できる。また、消費電力取得部130は、ジョブの実行に伴い交換後の計算ノードで実行された総命令数を取得する。
電力係数更新部140は、電力係数の更新を行う。ここで、電力係数の更新を行う場合、実行されたジョブが、各計算ノードに対して均等な問題に分割されたかを判断し、均等な問題に分割されたジョブを用いて計算ノードの電力係数を更新することが求められる。
そこで、電力係数更新部140は、実行対象の複数のジョブのうち、SPMD(Single Program, Multiple Data streams)のジョブを検出して、電力係数の更新に用いる。SPMDは、複数の計算ノードに並列に同じプログラムを実行させる手法であり、SPMDのジョブであれば、各計算ノードに対してほぼ均等な命令数が割り当てられる性質をもつ。そのために、電力係数更新部140は、消費電力取得部130により各計算ノードから取得された消費電力に基づいて、該当のジョブの実行による計算ノード毎の消費電力のばらつきを評価する。
電力係数更新部140は、当該ばらつきの評価に、SPMD評価閾値Ts(単位:W)を用いる。該当のジョブの実行により、各計算ノードに対して、ほぼ均等に命令数が割り当てられた否かを判断するためである。例えば、各計算ノードの消費電力のうち、最大の消費電力と最小の消費電力との差がSPMD評価閾値よりも小さければ、電力係数更新部140は、該当のジョブはSPMDのジョブであり、各計算ノードに対してほぼ均等な命令数が割り当てられたと評価できる。一方、最大の消費電力と最小の消費電力との差が、SPMD評価閾値以上であれば、電力係数更新部140は、該当のジョブはSPMDのジョブではなく、各計算ノードに対してほぼ均等に命令数が割り当てられるジョブではないと評価できる。なお、電力係数更新部140は、最大の消費電力と最小の消費電力とを得る際に、交換後の計算ノードの消費電力を除外してもよい。交換後の計算ノードに初期不良が存在する可能性もあり、初期不良がある計算ノードの消費電力を用いてジョブの評価を行うと判定精度が悪化するおそれがあるからである。
電力係数更新部140は、こうして検出したジョブの実行に伴う消費電力を用いて、式(1)により、交換後の計算ノードの電力係数を更新する。電力係数更新部140は、更新後の電力係数を、交換後の計算ノードに対応付けて、記憶部110に記録する。
次に、記憶部110に格納される電力係数テーブルについて詳細に説明する。
図7は、第2の実施の形態の電力係数テーブルの例を示す図である。電力係数テーブル111は、記憶部110に格納される。電力係数テーブル111は、計算ノードIDおよび電力係数の項目を含む。計算ノードIDの項目には、計算ノードを識別する情報が登録される。電力係数の項目には、電力係数を示す情報が登録される。
ここで、例えば、計算ノード200の計算ノードIDは“N1”である。計算ノード200aの計算ノードIDは“N2”である。計算ノード200bの計算ノードIDは“N3”である。計算ノード200cの計算ノードIDは“N4”である。
例えば、電力係数テーブル111には、計算ノードIDが“N1”、電力係数が“r1”という情報が登録される。これは、計算ノード200の電力係数が“r1”であることを示す。電力係数テーブル111には、計算ノード200a,200b,200cに対しても、同様に電力係数が登録される。
次に、計算システムにおける通常運用で電力係数を算出して更新する処理について、詳細に説明する。以下に示す手順では、ある計算ノードが故障し、故障した計算ノードが新しい交換ノードに交換された場合を想定する。交換後の計算ノードを計算ノード200bとする。
図8は、第2の実施の形態の電力係数の決定例を示すフローチャートである。以下、図8に示す処理をステップ番号に沿って説明する。
(S11)ジョブ管理部120は、交換後の計算ノード200bの電力係数を電力係数テーブル111に設定する。具体的には、ジョブ管理部120は、電力係数テーブル111を参照し、計算ノード200,200a,200cの電力係数r1,r2,r4の平均値を計算ノード200bの電力係数として、電力係数テーブル111に登録する。
(S12)電力係数更新部140は、オーバーカウンタocに0を代入する。オーバーカウンタocは、交換後の計算ノード200bの初期不良の有無を判断するためのカウンタである。オーバーカウンタocは、交換後の計算ノード200bの実測の消費電力が所定範囲に収まらなかったジョブの数をカウントする。また、電力係数更新部140は、ジョブ実行回数カウンタjcに0を代入する。ジョブ実行回数カウンタjcは、ジョブの実行回数のカウンタである。
(S13)ジョブ管理部120は、ログインノード300からジョブ情報を取得する。ジョブ管理部120は、ジョブ情報を記憶部110に格納する。
(S14)ジョブ管理部120は、電力係数テーブル111に登録されている各計算ノードの電力係数と、記憶部110に格納されている実行予定のジョブに対応する総命令数とを、式(1)に代入して、各計算ノードの消費電力を推定する。そして、ジョブ管理部120は、ジョブを実行するタイミングをスケジューリングする。ここで、ジョブ管理部120は、推定した消費電力を考慮して、計算システム全体として消費電力が過大とならないようにジョブを実行するタイミングをスケジューリングする。
(S15)ジョブ管理部120は、スケジューリングの結果に応じたタイミングで、計算ノード200,200a,200b,200cによりジョブを並列実行する。
(S16)消費電力取得部130は、計算ノード200,200a,200b,200cそれぞれからジョブの実行に伴う消費電力wを取得する。ここで、計算ノード200の消費電力をw1、計算ノード200aの消費電力をw2、計算ノード200bの消費電力をw3、計算ノード200cの消費電力をw4とする。例えば、前述のように、ジョブ管理部120は、計算ノード200,200a,200b,200cそれぞれからの該当ジョブの実行中の消費電力を周期的に取得し、各取得タイミングの平均値を当該ジョブの実行に伴う消費電力としてもよい。あるいは、消費電力取得部130は、計算ノード200,200a,200b,200cそれぞれからジョブの実行完了の通知を受け付けた後に、各計算ノードにより求められた消費電力を取得してもよい。また、消費電力取得部130は、ジョブの実行に伴って計算ノード200bで実行された総命令数c3を計算ノード200bから取得する。
(S17)電力係数更新部140は、計算ノード200,200a,200cから取得した消費電力w1,w2,w4の中から最も大きい消費電力max(w)と最も小さい消費電力min(w)とを特定する。計算ノード200bの消費電力w3を除く理由は、前述のようにSPMDのジョブの検出精度を高めるためである。電力係数更新部140は、消費電力の最大値と最小値との差(max(w)−min(w))がSPMD評価閾値Tsよりも小さいか否かを判定する。max(w)−min(w)<Tsの場合、計算ノード200,200a,200cで実行された総命令数がほぼ同じである可能性が高いとして、処理をステップS18に進める。max(w)−min(w)≧Tsの場合、計算ノード200,200a,200cで実行された総命令数に比較的大きな隔たりがあるとして、処理をステップS13に進める。なお、閾値Tsは、ユーザにより記憶部110に予め登録されている(例えば、Ts=10W程度とするなど)。あるいは、電力係数更新部140は、閾値Tsを収集した消費電力の平均の10%程度とするなど、閾値Tsを動的に定めてもよい。
(S18)電力係数更新部140は、交換後の計算ノードから取得した消費電力(wx)がステップS17で特定した消費電力の最大値と最小値との間の値であるか否か(min(w)<wx<max(w))を判定する。ここでは、wx=w3であるので、電力係数更新部140は、min(w)<w3<max(w)であるか否かを判定する。min(w)<w3<max(w)である場合、処理をステップS19に進める。min(w)<w3<max(w)でない場合、処理をステップS21に進める。なお、min(w)<w3<max(w)でない場合、計算ノード200bは、他の計算ノードの電力消費に比べて逸脱した電力消費がみられたことになる。これは、計算ノード200bの初期不良の可能性を示唆する。
(S19)電力係数更新部140は、ジョブ実行回数カウンタjcに1を加算する。
(S20)電力係数更新部140は、計算ノード200bの電力係数を更新する。具体的には、電力係数テーブル111に登録されている計算ノード200bの電力係数をr31(前回の電力係数)とする。電力係数更新部140は、式(1)に基づいて、今回のジョブ実行に応じた電力係数r32=(w3/c3)を算出する。そして、電力係数更新部140は、今回の電力係数の更新結果r3をr3=(r31+r32)/2とする。電力係数更新部140は、算出した当該電力係数r3を電力係数テーブル111に登録して、計算ノード200bの電力係数を更新する。そして、処理をステップS22に進める。
(S21)電力係数更新部140は、オーバーカウンタocに1を加算する。電力係数更新部140は、ジョブ実行回数カウンタjcに1を加算する。
(S22)電力係数更新部140は、ジョブ実行回数カウンタjcがジョブ実行回数カウンタ閾値tjよりも大きい(jc>tj)か否かを判定する。jc>tjの場合、処理をステップS23に進める。jc≦tjの場合、処理をステップS13に進める。ここで、ジョブ実行回数カウンタ閾値tjは、ユーザにより記憶部110に予め登録されている。
(S23)電力係数更新部140は、オーバーカウンタocがオーバーカウンタ閾値toよりも大きい(oc>to)か否かを判定する。oc>toの場合、処理をステップS24に進める。oc≦toの場合、処理を終了する。ここで、オーバーカウンタ閾値toは、ユーザにより記憶部110に予め登録されている。
(S24)電力係数更新部140は、交換後の計算ノード200bについて他の計算ノードに比べて逸脱した消費電力が計測されており、計算ノード200bに初期不良が存在する可能性がある旨の警告をログインノード300に通知する。例えば、ログインノード300は、ユーザに対して当該警告を提示し、計算ノード200bの保守を促す。そして、処理を終了する。
このように、管理ノード100は、ジョブ実行回数カウンタ(jc)が閾値(tj)に達するまで、ステップS13〜S22の処理を繰り返し実行し、計算ノード200bの電力係数を更新していく。これにより、計算ノード200bに対する電力係数の決定精度を高めることができる。
また、前述のように、管理ノード100は、オーバーカウンタocを用いて、交換後の計算ノード200bの不良の可能性を検出し、警告できる。これにより、ユーザによる早期の保守を促すことができ、計算システムの安定稼働を支援できる。
このように、第2の実施の形態によれば、管理ノード100は、計算システムの通常運用で実行されるジョブの中から、電力係数の決定に適したジョブを選択し、当該ジョブの実行に伴う消費電力を基に、計算ノード毎の電力係数を更新する。このため、第2の実施の形態の計算システムでは、電力係数の決定のためだけに、テストプログラムを実行する時間を割かなくて済み、計算システムの通常運用を中断せずに済む。また、テストプログラムを実行しなくてもよいので、電力係数を求めるだけの余計な電力を計算システムで消費せずに済む。また、電力係数更新部140により、ジョブ管理部120とは別個に、電力係数を更新することで、通常運用に用いられているジョブ管理部120への影響を抑えて、電力係数を決定できるという利点もある。
このように、第2の実施の形態の計算システムによれば、テスト用の特別なプログラムを実行せずに、通常運用で計算ノードの電力係数を効率的に求めることができる。また、管理ノード100は、こうして求めた電力係数を用いて、消費電力に基づくジョブ実行のスケジューリングを適切に行えるようになる。例えば、管理ノード100は、あるジョブを実行する前に、電力係数テーブル111に登録されている各計算ノードの電力係数を用いて、式(1)により計算ノード毎の予測消費電力を求める。そして、管理ノード100は、計算ノード毎の予測消費電力の和から計算ノード全体の消費電力を予測でき、予測した消費電力に応じたジョブ実行のスケジューリングを適切に行えるようになる。
[第3の実施の形態]
次に、第3の実施の形態を説明する。前述の第2の実施の形態との相違する事項を主に説明し、共通する事項の説明を省略する。
ここで、計算システムには、気象予測などの定期的なジョブの実行が主な用途であるものもある。このような計算システムでは、単発的に実行される非定期のジョブが実行されることもある。そこで、第3の実施の形態では、このような計算システムにおいて、定期的に実行されるジョブを特定し、当該ジョブの実行に伴う消費電力に基づいて計算ノード毎の電力係数を求める機能を提供する。定常実行されるジョブがある場合、当該ジョブを用いて消費電力を求めた方が、実運用に適した電力係数を求められるからである。
なお、第3の実施の形態では、第2の実施の形態と同じ計算システムを想定する。そこで、第3の実施の形態でも、第2の実施の形態と同じ符号/名称を用いて各要素を指し示す。
以下、第3の実施の形態の電力係数の決定の手順を説明する。以下に示す手順では、ある計算ノードが故障し、故障した計算ノードが新しい交換ノードに交換された場合を想定する。交換後の計算ノードを計算ノード200cとする。なお、管理ノード100は、計算ノードの交換後、該当の計算ノードに対する電力係数を電力係数テーブル111から削除する(本例では、計算ノード200cに対する電力係数が設定なしとなる)。
図9は、第3の実施の形態の電力係数の決定例を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。
(S31)ジョブ管理部120は、ログインノード300からジョブ情報を取得する。ジョブ管理部120は、ジョブ情報を記憶部110に格納する。
(S32)ジョブ管理部120は、ジョブのスケジューリングを行い、スケジューリング結果に応じたタイミングで、計算ノード200,200a,200b,200cによりジョブを並列実行する。このとき、ジョブ管理部120は、ジョブのスケジューリングを行うために、計算ノード200cの電力係数を、計算ノード200,200a,200bの電力係数の平均値として、当該ジョブの実行に伴う計算ノード200cの消費電力を予測する。
(S33)消費電力取得部130は、実行されたジョブが定期的に実行される定期ジョブであるか否かを判定する。例えば、消費電力取得部130は、該当のジョブのジョブ名や定期的にジョブの実行を指示するユーザのユーザ名などに基づいて、該当のジョブが定期ジョブであるか否かを判定する。定期ジョブの場合、処理をステップS34に進める。定期ジョブでない場合、処理を終了する。
(S34)消費電力取得部130は、計算ノード200,200a,200b,200cから定期ジョブの実行に伴う消費電力(w)を取得する。取得方法の具体例は、ステップS16と同様である。また、消費電力取得部130は、当該ジョブに応じて実行した総命令数も、計算ノード200,200a,200b,200cから取得する。
(S35)電力係数更新部140は、電力係数テーブル111を参照し、計算ノード200,200a,200b,200cそれぞれの電力係数が設定済みであるか否かを判定する。未設定の場合、処理をステップS36に進める。設定済みの場合、処理を終了する。
(S36)電力係数更新部140は、計算ノード200cの電力係数を設定する。具体的には、電力係数更新部140は、式(1)に基づいて、(ステップS34で取得した計算ノード200cの消費電力)÷(ステップS34で取得した計算ノード200cの総命令数)を計算することで、計算ノード200cの電力係数r4を算出する。電力係数更新部140は、算出した電力係数を電力係数テーブル111に登録する。そして、処理を終了する。
このように、例えば、計算システムの通常運用において、定期ジョブが存在する場合には、定期ジョブの実行に伴う消費電力を各計算ノードから取得して、電力係数の決定に用いてもよい。
図10は、第3の実施の形態の総命令数および予測消費電力の例を示す図である。以下の説明では、2×2の4ノード(すなわち、計算ノード200,200a,200b,200c)で動作するジョブを想定する。図10では、行番号および列番号の組に対応する1つの矩形が1つの計算ノードに相当している(以降の図も同様)。例えば、(行,列)=(0,0)は、計算ノード200である。(行,列)=(0,1)は、計算ノード200aである。(行,列)=(1,0)は、計算ノード200bである。(行,列)=(1,1)は、計算ノード200cである。前述の例のように、計算ノード200cが交換後のノードである場合を想定する(計算ノード200cに相当する矩形を網掛けで示している)。
図10(A)は、ある定期ジョブに対して各計算ノードが実行した総命令数の例を示す。具体的には、計算ノード200の総命令数は“1000”である。計算ノード200aの総命令数は“900”である。計算ノード200bの総命令数は“1050”である。計算ノード200cの総命令数は“900”である。
図10(B)は、ある定期ジョブの実行に際して予測される消費電力の例を示す。具体的には、計算ノード200の予測消費電力は“100”Wである。計算ノード200aの予測消費電力は“90”Wである。計算ノード200bの予測消費電力は“110”Wである。計算ノード200cの予測消費電力は“90W”である。
図11は、第3の実施の形態の実測消費電力および電力係数の例を示す。図11(A)は、ある定期ジョブの実行に対して実測された消費電力(実測消費電力)の例を示す。具体的には、計算ノード200の実測消費電力は“101”Wである。計算ノード200aの実測消費電力は“90”Wである。計算ノード200bの実測消費電力は“109”Wである。計算ノード200cの実測消費電力は“95”Wである。
図11(B)は、ある定期ジョブの実行後における計算ノード200,200a,200b,200cの電力係数の例を示す。具体的には、計算ノード200の電力係数は“0.1”である。計算ノード200aの電力係数は“0.1”である。計算ノード200bの電力係数は“0.105”である。計算ノード200cの電力係数は“0.105”である。このうち、計算ノード200cの電力係数r4は、図10(A)における計算ノード200cの総命令数“900”および図11(A)における計算ノード200cの実測消費電力“95”Wを基に計算された値である。すなわち、r4=95÷900=0.105(小数第4位以下切り捨て)である。
このように、第3の実施の形態でも、第2の実施の形態と同様に、通常運用で実行されるジョブを選択し、当該ジョブの実行に伴う消費電力を基に、計算ノード毎の電力係数を更新する。このため、第3の実施の形態の計算システムでも、電力係数の決定のためだけに、テストプログラムを実行する時間を割かなくて済み、計算システムの通常運用を中断せずに済む。また、テストプログラムを実行しなくてもよいので、電力係数を求めるだけの余計な電力を計算システムで消費せずに済む。
こうして、第3の実施の形態の計算システムによっても、第2の実施の形態と同様に、通常運用で計算ノードの電力係数を効率的に求めることができる。
なお、第1の実施の形態の情報処理は、演算部11bに、プログラムを実行させることで実現できる。第2,3の実施の形態の情報処理は、プロセッサ101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体に記録できる。
例えば、プログラムを記録した記録媒体43を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータ(例えば、データ格納サーバ400)に格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体43に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAMやNVRAMなどの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。
10 並列処理装置
11 管理ノード
11a 記憶部
11b 演算部
11c 電力係数情報
12,13,14 計算ノード
15 ネットワーク

Claims (8)

  1. ジョブを並列に実行する複数のノードそれぞれに対して、前記ジョブの実行に応じたノード毎の消費電力の算出に用いられる電力係数を記憶する記憶部と、
    前記複数のノードを用いて前記ジョブを並列に実行する際に、実行対象の複数のジョブのうち第1のジョブの実行時の、ノード毎の消費電力の差が所定値よりも小さくなる時間帯のノード毎の消費電力に基づいて、ノード毎の前記電力係数を更新する演算部と、
    を有する並列処理装置。
  2. 前記演算部は、ノード毎の消費電力の中から最大値と最小値を特定し、前記最大値と前記最小値の差が前記所定値よりも小さいジョブを、前記第1のジョブとする、請求項1記載の並列処理装置。
  3. 前記演算部は、前記第1のジョブの実行時の、ノード毎の消費電力の差が前記所定値よりも小さくなる前記時間帯のノード毎の消費電力と、前回算出した電力係数に基づいて今回の電力係数を算出する、請求項1または2記載の並列処理装置。
  4. 前記演算部は、前記複数のノードの中に交換後のノードが含まれている場合、前記複数のノードを用いて前記ジョブを実行する際に、前記複数のノードから前記交換後のノードを除外したノード毎の消費電力に基づいて前記第1のジョブを検出し、検出した前記第1のジョブの実行時の前記交換後のノードの消費電力に基づいて、前記交換後のノードの前記電力係数を更新する、請求項1記載の並列処理装置。
  5. 前記演算部は、前記複数のジョブのうち、前記交換後のノードの消費電力が、前記交換後のノード以外のノード毎の消費電力の最大値と最小値との範囲内に含まれなかったジョブの数を計数し、計数した数に応じて前記交換後のノードの不良を検出する、請求項4記載の並列処理装置。
  6. 前記演算部は、定期的に実行されるジョブを特定し、当該定期的に実行されるジョブの実行に伴うノード毎の消費電力に基づいて、ノード毎の前記電力係数を更新する、請求項1乃至5の何れか1項に記載の並列処理装置。
  7. コンピュータに、
    複数のノードを用いてジョブを並列に実行する際に、実行対象の複数のジョブのうち第1のジョブの実行時の、前記複数のノードそれぞれの消費電力の差が所定値よりも小さくなる時間帯のノード毎の消費電力に基づいて、前記ジョブの実行に応じたノード毎の消費電力の算出に用いられるノード毎の電力係数を更新する、
    処理を実行させる電力係数算出プログラム。
  8. コンピュータが、
    複数のノードを用いてジョブを並列に実行する際に、実行対象の複数のジョブのうち第1のジョブの実行時の、前記複数のノードそれぞれの消費電力の差が所定値よりも小さくなる時間帯のノード毎の消費電力に基づいて、前記ジョブの実行に応じたノード毎の消費電力の算出に用いられるノード毎の電力係数を更新する、
    電力係数算出方法。
JP2016032582A 2016-02-24 2016-02-24 並列処理装置、電力係数算出プログラムおよび電力係数算出方法 Expired - Fee Related JP6683920B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016032582A JP6683920B2 (ja) 2016-02-24 2016-02-24 並列処理装置、電力係数算出プログラムおよび電力係数算出方法
US15/386,792 US20170242728A1 (en) 2016-02-24 2016-12-21 Parallel processing apparatus, power coefficient calculation program, and power coefficient calculation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016032582A JP6683920B2 (ja) 2016-02-24 2016-02-24 並列処理装置、電力係数算出プログラムおよび電力係数算出方法

Publications (2)

Publication Number Publication Date
JP2017151656A JP2017151656A (ja) 2017-08-31
JP6683920B2 true JP6683920B2 (ja) 2020-04-22

Family

ID=59629436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016032582A Expired - Fee Related JP6683920B2 (ja) 2016-02-24 2016-02-24 並列処理装置、電力係数算出プログラムおよび電力係数算出方法

Country Status (2)

Country Link
US (1) US20170242728A1 (ja)
JP (1) JP6683920B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6923803B2 (ja) 2017-12-06 2021-08-25 富士通株式会社 情報処理装置、省電力移行プログラム、及び、省電力移行方法
JP7181464B2 (ja) * 2019-02-25 2022-12-01 富士通株式会社 電力推定プログラム、電力推定装置及び電力推定方法
JP7288189B2 (ja) * 2019-05-29 2023-06-07 富士通株式会社 ジョブ電力予測プログラム、ジョブ電力予測方法、およびジョブ電力予測装置
JP2021182224A (ja) * 2020-05-18 2021-11-25 富士通株式会社 ジョブスケジューリングプログラム、情報処理装置およびジョブスケジューリング方法
JP7323202B2 (ja) * 2021-02-26 2023-08-08 Necプラットフォームズ株式会社 検査制御装置、情報処理装置、検査制御方法及びプログラム
JP2023127631A (ja) * 2022-03-02 2023-09-14 株式会社日立製作所 消費電力推定装置、消費電力推定システム及び消費電力推定方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004011065A1 (en) * 2002-07-31 2004-02-05 Alza Corporation Injection device providing automatic needle retraction
EP1774583A2 (en) * 2004-07-28 2007-04-18 Sv Probe Pte Ltd. Method and apparatus for producing co-planar bonding pads on a substrate
US7389403B1 (en) * 2005-08-10 2008-06-17 Sun Microsystems, Inc. Adaptive computing ensemble microprocessor architecture
US7549069B2 (en) * 2006-03-15 2009-06-16 Fujitsu Limited Estimating software power consumption
US8046565B2 (en) * 2006-12-06 2011-10-25 Kabushiki Kaisha Toshiba Accelerator load balancing with dynamic frequency and voltage reduction
JP4838112B2 (ja) * 2006-12-25 2011-12-14 富士通株式会社 消費電力調整プログラム,装置,および処理方法
US7478856B1 (en) * 2007-07-06 2009-01-20 Philmar, Llc Kit for conversion of horizontally hinged door of recreational vehicle to a table
WO2012001779A1 (ja) * 2010-06-30 2012-01-05 富士通株式会社 情報処理装置の使用量解析方法、情報処理システム及びそのプログラム
CN102480450B (zh) * 2010-11-30 2014-12-10 富士通株式会社 预失真器控制装置和方法、功率控制状态检测方法
US8677157B1 (en) * 2010-12-30 2014-03-18 Symantec Corporation Systems and methods for detecting power consumption of a computing device
US9049069B2 (en) * 2013-03-21 2015-06-02 Broadcom Corporation Sparse equalizer system
JP6488630B2 (ja) * 2014-10-15 2019-03-27 富士通株式会社 電力測定装置及び電力測定方法
US9983966B2 (en) * 2015-11-30 2018-05-29 Oracle International Corporation Detecting degraded core performance in multicore processors

Also Published As

Publication number Publication date
US20170242728A1 (en) 2017-08-24
JP2017151656A (ja) 2017-08-31

Similar Documents

Publication Publication Date Title
JP6683920B2 (ja) 並列処理装置、電力係数算出プログラムおよび電力係数算出方法
JP6455035B2 (ja) 負荷分散管理装置、制御方法およびプログラム
US9304886B2 (en) Associating energy consumption with a virtual machine
US20190260655A1 (en) Method and system for determining workload availability in a multi-tenant environment
JP5686904B2 (ja) 稼働情報予測計算機、稼働情報予測方法及びプログラム
JP4572251B2 (ja) 計算機システム、計算機システムの障害の予兆検知方法及びプログラム
US11550634B2 (en) Capacity management in a cloud computing system using virtual machine series modeling
US20070250629A1 (en) Method and a system that enables the calculation of resource requirements for a composite application
US9852007B2 (en) System management method, management computer, and non-transitory computer-readable storage medium
TWI519945B (zh) 伺服器及用於伺服器停機時間計量的方法和設備
WO2019204898A1 (en) Workload scheduling in a distributed computing environment based on an applied computational value
US9558088B2 (en) Using environmental signatures for test scheduling
US8479204B1 (en) Techniques for determining transaction progress
US20160006640A1 (en) Management computer, allocation management method, and non-transitory computer readable storage medium
US20160117199A1 (en) Computing system with thermal mechanism and method of operation thereof
US9864964B2 (en) Job monitoring support method and information processing apparatus
JP2006092053A (ja) システム使用率管理装置及びそれに用いるシステム使用率管理方法並びにそのプログラム
US9323642B2 (en) Calculation apparatus, calculation method, and recording medium for calculation program
WO2018207322A1 (ja) データ収集装置およびデータ収集プログラム
JPWO2018163280A1 (ja) 予兆検知装置及び予兆検知方法
JP5659054B2 (ja) システム管理装置、システム管理方法及びシステム管理プログラム
US20170031674A1 (en) Software introduction supporting method
US20170111224A1 (en) Managing component changes for improved node performance
JP2018190187A (ja) 作業スケジュール算出プログラム、作業スケジュール算出方法及び情報処理装置
US20230325892A1 (en) System and method for managing license of software

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181011

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190927

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190927

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200214

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200309

R150 Certificate of patent or registration of utility model

Ref document number: 6683920

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees