JP2006277637A - 温度監視によってジョブを割り当てるマルチプロセッサ計算機システム、及びコンピュータプログラム - Google Patents

温度監視によってジョブを割り当てるマルチプロセッサ計算機システム、及びコンピュータプログラム Download PDF

Info

Publication number
JP2006277637A
JP2006277637A JP2005099580A JP2005099580A JP2006277637A JP 2006277637 A JP2006277637 A JP 2006277637A JP 2005099580 A JP2005099580 A JP 2005099580A JP 2005099580 A JP2005099580 A JP 2005099580A JP 2006277637 A JP2006277637 A JP 2006277637A
Authority
JP
Japan
Prior art keywords
processor
job
memory
temperature
computer system
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.)
Pending
Application number
JP2005099580A
Other languages
English (en)
Inventor
Akifumi Matsukuma
亮文 松熊
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2005099580A priority Critical patent/JP2006277637A/ja
Publication of JP2006277637A publication Critical patent/JP2006277637A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

【課題】マルチプロセッサ計算機システムにおいて、プロセッサの温度上昇による性能低下を防止する。
【解決手段】ある単位のプロセッサにメモリが対応付けられており、他の単位のプロセッサに対応するメモリに対しても、各プロセッサからアクセス可能であるマルチプロセッサ計算機システム1であって、全てのメモリを単一のメモリ空間としてアドレス割付制御を行うメモリマップ制御手段50と、各プロセッサの温度を検出する温度検出手段10と、プロセッサとメモリとの距離に基づいて、ジョブが使用するデータが格納されたメモリに最も近いプロセッサへ、ジョブの割付の要求を行うジョブメモリマップ解析手段30と、ジョブメモリマップ解析手段30と温度検出手段10の情報に基づいて、あるしきい値以下の温度のプロセッサからジョブメモリマップ解析手段30の要求に最も近いプロセッサへのジョブ割り当てを制御するスケジューラ20と、を備える。
【選択図】図1

Description

本発明は、複数個のプロセッサを有するマルチプロセッサ計算機システムにおいて、複数個のプロセッサへジョブを割り当てるジョブスケジューリング方法、及びそのジョブスケジューリング方法を有するマルチプロセッサ計算機システムに関する。
従来、電子計算機のプロセッサには半導体素子が使われるのが一般的である。半導体素子に電流が流れると、内部損失によって熱が発生する。半導体素子の接合部温度(ジャンクション温度)が許容値を超えると機能劣化や故障の原因となり、著しい場合は半導体素子が破壊される。
電子計算機の性能を決める要因として、メモリアクセスによる遅延、いわゆるノイマンボトルネックがあるが、メモリアクセス速度を速くして、プロセッサの動作クロック周波数を上げていくと、スイッチング動作の消費電力が増加し、半導体素子の接合部温度が許容値を超えることになる。
そのため、接合部温度が許容値を超えない範囲にクロック周波数を制限しなければならず、動作速度をそれ以上速くできないという問題が発生する。
そこで、プロセッサ毎の負荷状況を比較して、負荷の軽いプロセッサにジョブを割り当てる方法(特許文献1参照)がある。また、プロセッサの温度を監視して、一定以上の温度になったプロセッサは、その動作クロック周波数を下げる方法、及び温度の低いプロセッサにジョブを割り当てる方法が提案されている(特許文献2参照)。
一方、電子計算機の処理能力を高めるために複数のプロセッサを備えるマルチプロセッサ計算機システムが使用されている。マルチプロセッサ計算機システムでは、近年、論理共有メモリによる容易な並列プログラミングと、物理分散メモリによる性能スケーラビリティを両立させる並列計算機として、分散共有メモリ型並列計算機(DSM:Distributed Shared Memory processor computer)が注目されている。DSMでは、他プロセッサの物理メモリも自プロセッサの物理メモリと同様に通常のメモリ参照命令でアクセスできるが、前者は後者に比較して時間がかかる、という特性を持つ。このため、DSM上で十分な性能を得るには、データをどのプロセッサに配置するかを決めるデータ分散が重要である。
データ分散には、次のような方法が提案されている。特許文献3の方法は、メモリアクセス装置は、複数のコマンドキューと、スケジューラと、スケジューラからの管理情報を用いてメモリアクセスを実行するメモリアクセス部と、1つのコマンドキューへのメモリアクセス要求の発信頻度を用いて、スケジューラに対して帯域変更を要求する制御部とインタフェース部とから構成される。各プロセッサの負荷変動に追随したメモリアクセス処理が可能になる、共有メモリシステムである。
特許文献4は、分散メモリ方式、もしくは、プロセッサとメモリ間の距離によってプロセッサからメモリへのアクセス速度に差がある共有メモリ方式のマルチプロセッサ計算機システムにおいて、1つのソースプログラムを複数のプロセッサにより分担して並列実行する際、ソースプログラム中の1つの配列データを複数のプロセッサのメモリへ分割して割り当てる方法を提案する。その方法によれば、並列実行用プログラムを容易に記述することが可能になると同時に、データ参照時のデータ転送時間を削減することができる。命令部の各プロセッサへの分割と配列データの分割とを一致させることにより、配列データと命令における繰り返し回数が異なっていても、各プロセッサにおいて、問題なく並列実行を行うことができる。
現在のプロセッサでは、ある温度以上になると、クロックダウンして動作することで、さらなる温度上昇を抑制する機能を有するものがある。しかしながら、このプロセッサを用いて複数のプロセッサを有するシステムを構築した場合、温度上昇を検出してクロックダウンしたプロセッサにジョブが割り当てられ、期待される性能が得られない場合があるという問題があった。この問題解決のために、前述したとおりプロセッサの温度を監視し、温度の低いプロセッサに優先的にジョブを割り当てる方式が提案されてきた。しかし、この方式によるジョブ割り当てでは、分散したメモリを単一のアドレス空間として扱う方式のマルチプロセッサシステムにおいてはジョブがアクセスするメモリとジョブが割り当てられたCPUとの論理的距離が遠くなることによりメモリアクセスに遅延が生じ、性能が低下する場合があるという問題があった。
特開2001−147908号公報 特開2004−240669号公報 特開2004−126694号公報 特開平6−131313号公報
本発明は、上記事情に鑑みてなされたものであり、複数のプロセッサを有し、分散したメモリを単一のアドレス空間として扱うことのできるマルチプロセッサ計算機システムにおいて、プロセッサの温度上昇による性能低下を防止することを目的とする。
本発明のマルチプロセッサ計算機システムは、ある単位のプロセッサにメモリが対応付けられており、他の単位のプロセッサに対応するメモリに対しても、当該他のプロセッサの制御系を介してアクセスすることで、全てのプロセッサが全てのメモリにアクセス可能であるマルチプロセッサ計算機システムであって、
前記全てのメモリを単一のメモリ空間としてアドレス割付制御を行うメモリマップ制御手段と、
前記各プロセッサの温度を検出する温度検出手段と、
プロセッサとメモリとの距離に基づいて、ジョブが使用するデータが格納されたメモリに最も近いプロセッサへ、ジョブの割付の要求を行うジョブメモリマップ解析手段と、
前記ジョブメモリマップ解析手段と温度検出手段の情報に基づいて、あるしきい値以下の温度のプロセッサからジョブメモリマップ解析手段の要求に最も近いプロセッサへのジョブ割り当てを制御するスケジューラ手段と、
を備えることを特徴とする。
また、本発明のマルチプロセッサ計算機システムは、前記スケジューラ手段のジョブ割り当て履歴を記憶するジョブ割当履歴記憶手段を備え、前記ジョブメモリマップ解析手段が要求するジョブ割付と異なるプロセッサへジョブ割当が行われる状態が継続している場合に、前記スケジューラ手段にジョブ実行の一時停止を指令し、ジョブ割り当て要求の多いデータがより低温のプロセッサに対応付けられたメモリに格納されるように、データの再配置をメモリマップ制御手段に指令する温度ジョブ履歴管理手段を有することを特徴とする。
本発明のマルチプロセッサ計算機システムは、前記ジョブメモリ解析手段におけるジョブ割付の要求が、ジョブが割り付けられたプロセッサとそのジョブが使用するメモリの距離を、各プロセッサに割り付けられるすべてのジョブで合計した値が最小になるような割付であることが好ましい。
本発明のマルチプロセッサ計算機システムにおけるコンピュータプログラムは、ある単位のプロセッサにメモリが対応付けられており、他の単位のプロセッサに対応するメモリに対しても、当該他のプロセッサの制御系を介してアクセスすることで、全てのプロセッサが全てのメモリにアクセス可能であるマルチプロセッサ計算機システムにおいて、コンピュータを、
前記全てのメモリを単一のメモリ空間としてアドレス割付制御を行うメモリマップ制御手段と、
前記各プロセッサの温度を検出する温度検出手段と、
プロセッサとメモリとの距離に基づいて、ジョブが使用するデータが格納されたメモリに最も近いプロセッサへ、ジョブの割付の要求を行うジョブメモリマップ解析手段と、
前記ジョブメモリマップ解析手段と温度検出手段の情報に基づいて、あるしきい値以下の温度のプロセッサからジョブメモリマップ解析手段の要求に最も近いプロセッサへのジョブ割り当てを制御するスケジューラ手段と、
して機能させることを特徴とする。
本発明のマルチプロセッサ計算機システムによれば、不適切なプロセッサへのジョブ割り当てによる性能低下を防止することができる。また、不適切なプロセッサへのジョブ割り当てが連続することによる性能低下を抑制することができる。
以下、本発明の一実施の形態に係るマルチプロセッサ計算機システムを、図面を参照して説明する。
(実施の形態1)
図1は、本発明の実施の形態1に係るマルチプロセッサ計算機システムの論理的構成を示すブロック図である。図2は、本発明の実施の形態1に係るマルチプロセッサ計算機システムの一実施例を示すブロック図である。
本実施の形態1に係るマルチプロセッサ計算機システム1は、図1に示すように、複数のプロセッサ(CPU)61、62、63を備え、それぞれのプロセッサにメモリ81、82、83が対応付けられている。本実施の形態1では、理解を容易にするために、プロセッサの数が3の場合について説明するが、本発明はプロセッサの数に制限されるものではない。各プロセッサ61、62、63はそれぞれメモリコントローラ(MMC)71、72、73を介してメモリにアクセスする。各プロセッサは対応付けられたメモリ以外に、他のプロセッサに対応付けられたメモリにプロセッサ間接続を通じてアクセスすることができる。プロセッサ61,62,63にはその温度を検出する手段として、温度検出手段(温度センサ)10が備えられている。温度検出手段10が検出した温度情報は、スケジューラ20に送られる。一方、ジョブメモリマップ解析手段30は、例えば、専用コントローラチップ(専用プロセッサチップ)等から構成され、各ジョブが使用するデータ(各ジョブのプログラムを含む)が格納されたメモリ81,82,83とプロセッサ61、62,63との距離(アクセスの時間)を算出し、データが格納されているメモリに近い順にジョブを割り当てるべきプロセッサを選定する。ジョブメモリマップ解析手段30のプロセッサ選定情報は、スケジューラ20に読み込まれる。そして、スケジューラ20は、プロセッサ61、62,63の温度とジョブメモリマップ解析手段30のプロセッサ選定情報から、ジョブを割り当てるべきプロセッサを選択して、ジョブをプロセッサ61、62,63に割り当てる。
ジョブをプロセッサに割り当てた結果は、温度ジョブ履歴管理手段40に蓄積される。温度ジョブ履歴管理手段40は、例えば、履歴記憶用のメモリを内蔵する専用コントローラチップ(専用プロセッサチップ)から構成され、ジョブの割当履歴から、メモリ81、82、83の再配置(リマップ)が必要かどうかを判断する。メモリマップ制御手段50が温度ジョブ履歴管理手段40と各メモリコントローラ71、72、73に連携している。メモリマップ制御手段50は、専用コントローラチップ(専用プロセッサチップ)から構成され、データをメモリのどこに格納するかをメモリコントローラ71、72、73に指令する。温度ジョブ履歴管理手段40が、メモリリマップが必要と判断すると、メモリマップ制御手段50に指令して、データの再配置が行われる。
その他、マルチプロセッサ計算機システム1は、予備メモリ84とそのメモリコントローラ74を備える。予備メモリ84とそのメモリコントローラ74は、各プロセッサ61、62、63からアクセスすることができて、メモリリマップを行うときに、メモリの内容を一時待避させるために用いられる。また、各プロセッサに対応付けられたメモリ又はメモリコントローラに障害があったときに、それらの代替をする。
図2は、図1に示すマルチプロセッサ計算機システム1のハードウェア構成の一例を示すブロック図である。マルチプロセッサ計算機システム1は、図2に示すように、制御部2、主記憶部3、入出力部5、制御チャネル6及び温度センサ入力部11を備える。主記憶部3、入出力部5、制御チャネル6及び温度センサ入力部11はいずれも内部バスBを介して制御部2に接続されている。
複数のプロセッサ61〜63にはそれぞれ、メモリコントローラ71〜73を介して、メモリ81〜83が接続されている。各プロセッサ61〜63は、後述する制御バス7を経由して他のプロセッサに通信することができて、他のプロセッサに対応づけられたメモリの内容を他のプロセッサ経由で読み書き(アクセス)することができる。
1つのプロセッサからメモリへの距離は、例えば次のように定義される。1つのプロセッサから他のプロセッサまでに経由する制御バス又はネットワークのリンクの数だけ、それぞれのデータ転送レートの逆数を合計した数値をプロセッサとメモリの距離とする。データ転送レートが全て等しい場合は、経由するプロセッサの数又はネットワークのリンク数(これらをホップ数ともいう)で定義することもできる。
制御部2はCPU(Central Processing Unit)等から構成され、内部の論理回路及び/又はコード化されたプログラムに従って、後述するジョブメモリマップ解析、ジョブのスケジューラ、温度ジョブ履歴管理、メモリマップ制御などの処理を実行する。
主記憶部3はRAM(Random-Access Memory)等から構成され、各プロセッサ61〜63の温度、各メモリ81〜83領域へ格納されているデータの配置、各プロセッサ61〜63へのジョブの割当及びその履歴等を記憶し、制御部2の作業領域として用いられる。
入出力部5はキーボードおよびマウスなどのポインティングデバイス等と、キーボードおよびポインティングデバイス等を内部バスBに接続するインターフェース装置から構成されている。入出力部5を介して、ジョブの入力、ジョブの開始、実行、終了などの指令、ジョブの状況モニタ指令などが入力され、制御部2に供給される。
制御チャネル6は、制御部2と各プロセッサ61〜63を接続し、制御部2の指令又はデータを各プロセッサ61〜63に伝達し、各プロセッサ61〜63からのデータを制御部2に伝える。制御チャネル6を介して、ジョブが各プロセッサ61〜63に入力され、ジョブの実行が指示される。また、メモリマップ制御、すなわちメモリ81〜83へのデータの格納及びメモリ81〜83からのデータの読み出しが指示される。
各プロセッサ61〜63には、温度センサ12が備えられている。各温度センサ12は温度検出ライン8を通じて温度センサ入力部11に接続している。制御部2は温度センサ入力部11を介して、各プロセッサ61〜63の温度を検出することができる。
次に、図1及び図2に示すマルチプロセッサ計算機システム1の動作を、図3〜6を参照して説明する。なお、上述のように、マルチプロセッサ計算機システム1の動作は、制御部2が主記憶部3、入出力部5、制御チャネル6、温度センサ入力部11及び各プロセッサ61〜63と協働して行う。
図3は、本発明の実施の形態に係るマルチプロセッサ計算機システム1において、各プロセッサ61〜63の温度によって、各プロセッサの動作クロック周波数を制御する動作の一例を示すフローチャートである。図4は、本発明の実施の形態に係るマルチプロセッサ計算機システム1のジョブメモリ解析の動作の一例を示すフローチャートである。図5は、本発明の実施の形態に係るマルチプロセッサ計算機システム1のジョブ割当の動作の一例を示すフローチャートである。
図3に示すように、制御部2は各プロセッサ61〜63の温度を順に検出し、プロセッサの温度が所定のしきい値を超えている場合は、そのプロセッサの動作クロック周波数を下げる。図3では、プロセッサの数をmとしている。制御部2は変数iを1に初期化して(ステップS31)、i番目のプロセッサの温度を、温度センサ入力部11を介して読み込む(ステップS32)。検出したi番目のプロセッサの温度がしきい値以下であるとき(ステップS33からNOに分岐)は、制御部2は制御チャネル6を介して、i番目のプロセッサの動作クロック周波数を正常な値にし(ステップS34)、プロセッサの温度がしきい値を超えている場合(ステップS33からYESに分岐)は、動作クロック周波数を正常な値から規定の値に下げる(ステップS35)。次に、変数iをインクリメントして(ステップS36)、変数iがプロセッサの数mを超えていなければ(ステップS37)、次のプロセッサの温度を検出する。この動作を繰り返して、すべてのプロセッサの温度を検出し、各プロセッサの温度に応じて、そのプロセッサの動作クロック周波数を制御する。
あるジョブの開始がオペレーティングシステム又は他のジョブから指令されたとき、あるいはジョブの開始が入出力部5から入力されたとき、制御部2はそのジョブをいずれかのプロセッサに割り当てる。そのジョブが使用するデータが格納されたメモリにもっとも近い空きプロセッサの候補を選ぶ(本発明では、ジョブを割り付けるという)。ジョブが使用するデータには、そのジョブ自身のプログラムが含まれる。図4に示すように、そのジョブが使用するデータが格納されているメモリを調べる(ステップS41)。他のジョブを実行していない空きのプロセッサすべてについて、そのジョブが使用するメモリとそのプロセッサとの距離を計算する(ステップS42)。空きプロセッサすべてについて、プロセッサとジョブが使用するメモリとの距離が小さい順に空きプロセッサの番号を並べて、ジョブメモリマップ解析結果を得る(ステップS43)。
次に、制御部2は、プロセッサとジョブが使用するメモリとの距離が小さい順に並べられた空きプロセッサのなかから、プロセッサの温度が低いものを選定して、ジョブをそのプロセッサに割り当てる。図5に示すように、制御部2はジョブメモリマップ解析結果を読み込む(ステップS51)。図5では、空きプロセッサの数をnとしている。制御部2は変数iを1に初期化して(ステップS52)、i番目のプロセッサの温度がしきい値を超えているかどうか判定する(ステップS53)。i番目のプロセッサの温度がしきい値を超えている場合(ステップS53からYESに分岐)は、変数iをインクリメントして(ステップS54)、変数iが空きプロセッサの数を超えていなければ(ステップS55からNOに分岐)次のプロセッサの温度がしきい値を超えているかどうか判定する(ステップS53)。i番目のプロセッサの温度がしきい値を超えていなければ(ステップS53からNOに分岐)、そのプロセッサは動作クロックが下げられていないので、そのプロセッサにジョブを割り当てる(ステップS56)。
このようにして制御部2は、ジョブメモリマップ解析結果から、プロセッサとジョブが使用するメモリとの距離が小さい順に、空きプロセッサの温度がしきい値を超えているかどうかを判定し、温度がしきい値を超えていないプロセッサのうち、ジョブが使用するメモリとの距離が最も小さいプロセッサにジョブを割り当てる。
空きプロセッサの温度が全て、しきい値を超えている場合(ステップS55からYESに分岐)は、本実施の形態では、ジョブが使用するメモリに最も近いプロセッサ(すなわちジョブメモリマップ解析結果の1番目のプロセッサ)に、ジョブを割り当てる(ステップS57)。この場合、ジョブを割り当てず、又はジョブを割り当てた上で、温度の低いプロセッサがないことを警告するようにしてもよい。
最後に制御部2は、ジョブとそのジョブを割り当てたプロセッサとを、ジョブ割り当て履歴に登録する(ステップS58)。図6は、ジョブ割り当て履歴の表の一例を示す図である。ジョブ割り当て履歴は例えば、図6に示すように、ジョブを割り当てた時刻、ジョブを識別するID、空きプロセッサのうちジョブが使用するメモリに最も近いプロセッサ(割付要求CPU)、実際に割り当てたプロセッサ(割当CPU)、及び割り当てたプロセッサのそのときの動作クロック周波数を含む。割当CPUの動作クロックを履歴に含むのは、割り当てたプロセッサの温度がしきい値を超えていたかどうかが判定できるからである。図5のステップS57の場合のように、空きプロセッサの温度が全てしきい値をこえている場合に、割付プロセッサと割当プロセッサが同じであっても、動作クロック周波数が低い場合があり得る。
上述のとおり、本発明によれば、ジョブ毎に、プロセッサの温度と、メモリとの論理的距離関係が最適なプロセッサへの割り当てを要求し、そのプロセッサへの割り当てができない場合には、要求に近いプロセッサを割り当てるので、不適切なCPUへのジョブ割り当てによる性能低下を防止することができる。
上述したように、空きプロセッサのうち、ジョブが使用するメモリに最も近いプロセッサから、動作クロック周波数が正常なものが選択されて、ジョブが割り当てられる。ジョブの割当が繰り返し行われると、ジョブが使用するメモリに近いプロセッサの温度が高い場合があり、動作クロック周波数が正常で、かつ使用するメモリに近いプロセッサにジョブが割り当てられるとは限らない。そこで本発明では、ジョブが使用するメモリに最も近いプロセッサと、実際にジョブが割り当てられたプロセッサとが異なるケースが連続した場合に、ジョブ割当履歴に基づいて、メモリをリマップする。
本発明のジョブ割当履歴に基づいてメモリリマップを行う動作について説明する。図7は、本発明の実施の形態に係るマルチプロセッサ計算機システム1における、ジョブ割当履歴によってメモリリマップを行う動作の一例を示すフローチャートである。本実施の形態では、ジョブが使用するメモリに最も近いプロセッサと、実際にジョブが割り当てられたプロセッサとが異なるケースが連続してk回発生した場合に、メモリをリマップする。メモリリマップを起動するための、異なるプロセッサ割当連続発生回数kはマルチプロセッサ計算機システム1の構成に合わせて、適当な回数に設定することができる。
制御部2は、ジョブが使用するメモリに最も近い空きプロセッサ(割付プロセッサという)と異なるプロセッサに、連続してジョブ割当が行われた回数を表す変数iを1に初期化する(ステップS71)。次に制御部2は、例えば前記図5に示す動作で、新たなジョブをプロセッサに割り当て、ジョブ割当履歴に登録する(ステップS72)。割当プロセッサが割付プロセッサと同じである場合(ステップS73でYESに分岐)、さらに割当プロセッサの動作クロック周波数が正常であるかダウンしているかを判定する(ステップS74)。割当プロセッサの動作クロック周波数が正常である場合(ステップS74からNOに分岐)は、フローチャートの最初に戻って変数iを初期値1にする(ステップS71)。
ステップS73で、割当プロセッサが割付プロセッサと異なる場合(ステップS73からNOに分岐)、変数iをインクリメントする(ステップS75)。ステップS74で割当プロセッサの動作クロック周波数がダウンしていた場合(ステップS74からYESに分岐)も、変数iをインクリメントする(ステップS75)。次いで、変数iがまだ所与の回数kを超えていなければ(ステップS76からNOに分岐)、変数iをそのまま保持して次のジョブ割当を行う(ステップS72)。変数iが所与の回数kを超えている場合(ステップS76からYESに分岐)は、ジョブの実行を停止して、メモリリマップを行う(ステップS77)。
メモリリマップは、アクセス頻度の高いデータが温度の低いプロセッサに対応するメモリに格納されるように、データを配置する。その時点で割り当てられているジョブが使用するデータを、そのジョブが割り当てられているプロセッサに対応するメモリに格納するように優先順位をつけてもよい。
このようにメモリリマップを行うことによって、アクセス頻度の高いデータが、温度の低いプロセッサに対応するメモリに格納されるので、ジョブが使用するメモリに近く、かつ温度の低いプロセッサに、そのジョブが割り当てられる確率が高くなり、結果としてマルチプロセッサ計算機システム1の処理能力が高くなるのである。
(実施の形態2)
図8は、本発明の実施の形態2に係るマルチプロセッサ計算機システム1の論理的構成を示すブロック図である。図9は、本発明の実施の形態2に係るマルチプロセッサ計算機システム1の一実施例を示すブロック図である。
本実施の形態2に係るマルチプロセッサ計算機システム1は、図8及び9に示すように、マルチプロセッサ計算機システム1が、複数のプロセッサを有する複数のノードから構成され、ノード間がネットワークで接続されており、1つのノードから他のノードのメモリにはネットワーク90を経由してアクセスする点で、実施の形態1と異なる。本実施の形態2は、制御部2等の構成は実施の形態1と同じであり、同様の構成については説明を省略する。
本実施の形態2では、各プロセッサは対応付けられたメモリ以外に、他のプロセッサに対応付けられたメモリにネットワーク90を通じてアクセスすることができる。各プロセッサに備えられた温度検出手段10、メモリに近い順にジョブを割り当てるべきプロセッサを選定するジョブメモリマップ解析手段30、検出した温度情報が送られ、ジョブを割り当てるべきプロセッサを選択して、ジョブをプロセッサに割り当てるスケジューラ20、ジョブの割当履歴から、メモリ81、82、83の再配置(リマップ)が必要かどうかを判断する温度ジョブ履歴管理手段40、及びデータをメモリのどこに格納するかをメモリコントローラ71、72、73に指令するメモリマップ制御手段50は、実施の形態1と同様である。
図9は、図8に示すマルチプロセッサ計算機システム1のハードウェア構成の一例を示すブロック図である。図9は、図8の各プロセッサ61、62、63が、それぞれ共有メモリ81、82、83を備える複数のプロセッサから構成されるノード51〜53の場合を示している。ノード51〜53は1つのプロセッサから構成される場合もあるし、図2のように複数のプロセッサから構成される場合もある。図9では、図8のプロセッサ62、メモリコントローラ72、メモリ82に該当するノードの記載を、紙幅の都合で省略している。
マルチプロセッサ計算機システム1は、図9に示すように、制御部2、主記憶部3、外部記憶部4、入出力部5、制御チャネル6及び温度センサ入力部11を備える。主記憶部3、外部記憶部4、入出力部5、制御チャネル6及び温度センサ入力部11はいずれも内部バスBを介して制御部2に接続されている。
各ノード51〜53は、それぞれ、1つ又は複数のプロセッサ61〜63、メモリ81〜83、入出力部91〜93から構成される。メモリ81〜83及び入出力部91〜93はノード内の各プロセッサ61〜63にクロスバCを介して接続されている。ノード内の複数のプロセッサ61〜63は、ノード内のメモリ81〜83をそれぞれ共有している。入出力部91〜93はノード間のネットワーク90に接続されている。各ノードのプロセッサ61〜63は、入出力部91〜93及びネットワーク90を介して、他のノードのメモリにアクセスすることができる。図8のメモリコントローラ71、72、73は、クロスバC及びそれを制御するプロセッサ上のプログラムから構成される。
1つのノード内のプロセッサから他のノードのメモリへの距離は、例えば次のように定義される。1つのノードから他のノードまでに経由するノード又はネットワークのリンクの数だけ、それぞれのデータ転送レートの逆数を合計した数値をプロセッサとメモリの距離とする。データ転送レートが全て等しい場合は、経由するノードの数又はネットワークのリンク数(これらをホップ数ともいう)で定義することもできる。
制御部2はCPU(Central Processing Unit)等から構成され、外部記憶部4に記憶されているプログラムに従って、後述するジョブメモリマップ解析、ジョブのスケジューラ、温度ジョブ履歴管理、メモリマップ制御などの処理を実行する。制御部2は、実施の形態1と同様に、内部の論理回路及び/又はコード化されたプログラムから構成されていてもよい。
主記憶部3はRAM(Random-Access Memory)等から構成され、外部記憶部4に記憶されているプログラムをロードし、制御部2の作業領域として用いられる。
外部記憶部4は、フラッシュメモリ、ハードディスク、DVD(Digital Versatile Disc)、DVD−RAM(Digital Versatile Disc Random-Access Memory)、DVD−RW(Digital Versatile Disc Rewritable)等の不揮発性メモリから構成され、前記の処理を制御部2に行わせるためのプログラムを予め記憶し、また、制御部2の指示に従って、このプログラムが記憶するデータを制御部2に供給し、制御部2から供給されたデータを記憶する。
入出力部5はキーボードおよびマウスなどのポインティングデバイス等と、キーボードおよびポインティングデバイス等を内部バスBに接続するインターフェース装置から構成されている。入出力部5を介して、ジョブの入力、ジョブの開始、実行、終了などの指令、ジョブの状況モニタ指令などが入力され、制御部2に供給される。
制御チャネル6は、制御部2と各プロセッサ61〜63を接続し、制御部2の指令又はデータを各プロセッサ61〜63に伝達し、各プロセッサ61〜63からのデータを制御部2に伝える。制御チャネル6を介して、ジョブが各プロセッサ61〜63に入力され、ジョブの実行が指示される。また、メモリマップ制御、すなわちメモリ81〜83へのデータの格納及びメモリ81〜83からのデータの読み出しが指示される。
各プロセッサ61〜63には、温度センサ12が備えられている。各温度センサ12は温度検出ライン8を通じて温度センサ入力部11に接続している。制御部2は温度センサ入力部11を介して、各プロセッサ61〜63の温度を検出することができる。
制御チャネル6は、制御部2と各ノード51〜53のプロセッサ61〜63を接続し、制御部2の指令又はデータを各ノード51〜53に伝達し、各ノード51〜53からのデータを制御部2に伝える。制御チャネル6を介して、ジョブが各ノード51〜53に入力され、ジョブの実行が指示される。また、メモリマップ制御、すなわちメモリ81〜83へのデータの格納及びメモリ81〜83からのデータの読み出しが指示される。
各プロセッサ61〜63には、温度センサ12が備えられている。各温度センサ12は温度検出ライン8を通じて温度センサ入力部11に接続している。制御部2は温度センサ入力部11を介して、各ノード51〜53のプロセッサ61〜63の温度を検出することができる。
本実施の形態2は、マルチプロセッサ計算機システム1が、複数のプロセッサを有する複数のノードから構成され、ノード間がネットワーク90で接続されており、1つのノードから他のノードのメモリにはネットワーク90を経由してアクセスする点で、実施の形態1と異なる。そのため、本実施の形態2では、プロセッサとメモリとの距離がネットワーク90の構成に合わせて計算されるが、本実施の形態2におけるクロック周波数制御、メモリ解析、ジョブ割当及びメモリリマップは実施の形態1と全く同様に行われる。
従って、ジョブ毎に、プロセッサの温度と、メモリとの論理的距離関係が最適なプロセッサへの割り当てを要求し、そのプロセッサへの割り当てができない場合には、要求に近いプロセッサを割り当てるので、不適切なCPUへのジョブ割り当てによる性能低下を防止することができる、という効果も同様である。また、メモリリマップを行うことによって、ジョブが使用するメモリに近く、かつ温度の低いプロセッサに、そのジョブが割り当てられる確率が高くなり、結果としてマルチプロセッサ計算機システム1の処理能力が高くなる、という同様の効果を奏することができる。
実施の形態1及び実施の形態2について、前記のハードウエア構成やフローチャートは一例であり、任意に変更及び修正が可能である。
制御部2、主記憶部3、外部記憶部4、入出力部5、内部バスBなどから構成されるジョブ割当処理を行う中心となる部分は、専用のシステムによらず、1つのプロセッサとメモリの組(実施の形態1の場合)又は1つのノード(実施の形態2の場合)を用いて実現してもよい。例えば、前記の動作を実行するためのコンピュータプログラムを、コンピュータが読みとり可能な記録媒体(フレキシブルディスク、CD-ROM、DVD-ROM等)に格納して配布し、当該コンピュータプログラムをマルチプロセッサ計算機システムの1つのプロセッサ又はノードにインストールすることにより、前記の処理を実行する装置を構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のマルチプロセッサ計算機システムがダウンロード等することで本発明のマルチプロセッサ計算機システム1を構成してもよい。
前記制御部の機能を1つのプロセッサ又はノードで実現するのでなく、複数のプロセッサ又はノードに当該プログラムを分散して配置し、その複数のプロセッサ又はノードが協働して前記機能を実現してもよい。
また、前記の各機能を、OS(オペレーティングシステム)とアプリケーションプログラムの分担、またはOSとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
また、搬送波に上述のコンピュータプログラムを重畳し、通信ネットワークを介して配信することも可能である。
本発明の実施の形態1に係るマルチプロセッサ計算機システムの論理的構成を示すブロック図である。 本発明の実施の形態1に係るマルチプロセッサ計算機システムの一例を示すブロック図である。 本発明の実施の形態に係るマルチプロセッサ計算機システムにおいて、プロセッサの温度によってプロセッサの動作クロック周波数を制御する動作の一例を示すフローチャートである。 本発明の実施の形態に係るマルチプロセッサ計算機システムのジョブメモリ解析の動作の一例を示すフローチャートである。 本発明の実施の形態に係るマルチプロセッサ計算機システムのジョブ割当の動作の一例を示すフローチャートである。 本発明の実施の形態に係るマルチプロセッサ計算機システムにおける、ジョブ割当履歴の表の一例を示す図である。 本発明の実施の形態に係るマルチプロセッサ計算機システムにおける、ジョブ割当履歴によってメモリリマップを行う動作の一例を示すフローチャートである。 本発明の実施の形態2に係るマルチプロセッサ計算機システムの論理的構成を示すブロック図である。 本発明の実施の形態2に係るマルチプロセッサ計算機システムの一実施例を示すブロック図である。
符号の説明
1 マルチプロセッサ計算機システム
2 制御部
3 主記憶部
4 外部記憶部
5 入出力部
6 制御チャネル
7 制御バス
8 温度検出ライン
10 温度検出手段
11 温度センサ入力部
12 温度センサ
20 スケジューラ
30 ジョブメモリマップ解析手段
40 温度ジョブ履歴管理手段
50 メモリマップ制御手段
51、53 ノード
61、62、63 プロセッサ
71、72、73 メモリコントローラ
81、82、83 メモリ
90 ネットワーク
91、93 入出力部
B 内部バス
C クロスバ

Claims (4)

  1. ある単位のプロセッサにメモリが対応付けられており、他の単位のプロセッサに対応するメモリに対しても、当該他のプロセッサの制御系を介してアクセスすることで、全てのプロセッサが全てのメモリにアクセス可能であるマルチプロセッサ計算機システムであって、
    前記全てのメモリを単一のメモリ空間としてアドレス割付制御を行うメモリマップ制御手段と、
    前記各プロセッサの温度を検出する温度検出手段と、
    プロセッサとメモリとの距離に基づいて、ジョブが使用するデータが格納されたメモリに最も近いプロセッサへ、ジョブの割付の要求を行うジョブメモリマップ解析手段と、
    前記ジョブメモリマップ解析手段と温度検出手段の情報に基づいて、あるしきい値以下の温度のプロセッサからジョブメモリマップ解析手段の要求に最も近いプロセッサへのジョブ割り当てを制御するスケジューラ手段と、
    を備えることを特徴とするマルチプロセッサ計算機システム。
  2. 前記スケジューラ手段のジョブ割り当て履歴を記憶するジョブ割当履歴記憶手段を備え、前記ジョブメモリマップ解析手段が要求するジョブ割付と異なるプロセッサへジョブ割当が行われる状態が継続している場合に、前記スケジューラ手段にジョブ実行の一時停止を指令し、ジョブ割り当て要求の多いデータがより低温のプロセッサに対応付けられたメモリに格納されるように、データの再配置をメモリマップ制御手段に指令する温度ジョブ履歴管理手段を有する請求項1に記載のマルチプロセッサ計算機システム。
  3. 前記ジョブメモリ解析手段におけるジョブ割付の要求が、ジョブが割り付けられたプロセッサとそのジョブが使用するメモリの距離を、各プロセッサに割り付けられるすべてのジョブで合計した値が最小になるような割付である請求項1又は2に記載のマルチプロセッサ計算機システム。
  4. ある単位のプロセッサにメモリが対応付けられており、他の単位のプロセッサに対応するメモリに対しても、当該他のプロセッサの制御系を介してアクセスすることで、全てのプロセッサが全てのメモリにアクセス可能であるマルチプロセッサ計算機システムにおいて、コンピュータを、
    前記全てのメモリを単一のメモリ空間としてアドレス割付制御を行うメモリマップ制御手段と、
    前記各プロセッサの温度を検出する温度検出手段と、
    プロセッサとメモリとの距離に基づいて、ジョブが使用するデータが格納されたメモリに最も近いプロセッサへ、ジョブの割付の要求を行うジョブメモリマップ解析手段と、
    前記ジョブメモリマップ解析手段と温度検出手段の情報に基づいて、あるしきい値以下の温度のプロセッサからジョブメモリマップ解析手段の要求に最も近いプロセッサへのジョブ割り当てを制御するスケジューラ手段と、
    して機能させるためのコンピュータプログラム。
JP2005099580A 2005-03-30 2005-03-30 温度監視によってジョブを割り当てるマルチプロセッサ計算機システム、及びコンピュータプログラム Pending JP2006277637A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005099580A JP2006277637A (ja) 2005-03-30 2005-03-30 温度監視によってジョブを割り当てるマルチプロセッサ計算機システム、及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005099580A JP2006277637A (ja) 2005-03-30 2005-03-30 温度監視によってジョブを割り当てるマルチプロセッサ計算機システム、及びコンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2006277637A true JP2006277637A (ja) 2006-10-12

Family

ID=37212292

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005099580A Pending JP2006277637A (ja) 2005-03-30 2005-03-30 温度監視によってジョブを割り当てるマルチプロセッサ計算機システム、及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP2006277637A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008262340A (ja) * 2007-04-11 2008-10-30 Denso Corp デュアルコア向け自動コード生成装置
JP2011197715A (ja) * 2010-03-17 2011-10-06 Fujitsu Ltd 負荷分散システムおよびコンピュータプログラム
JP2012215936A (ja) * 2011-03-31 2012-11-08 Nec Corp Io構成によるジョブスケジューリング方法
JPWO2013008325A1 (ja) * 2011-07-13 2015-02-23 富士通株式会社 マルチコアプロセッサシステム、および制御方法
JP2016139171A (ja) * 2015-01-26 2016-08-04 日本電信電話株式会社 リソース割当装置、リソース割当システム、および、リソース割当方法
US9588577B2 (en) 2013-10-31 2017-03-07 Samsung Electronics Co., Ltd. Electronic systems including heterogeneous multi-core processors and methods of operating same
CN113032145A (zh) * 2021-03-18 2021-06-25 北京计算机技术及应用研究所 基于国产化多numa节点cpu结温均衡策略的任务调度方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008262340A (ja) * 2007-04-11 2008-10-30 Denso Corp デュアルコア向け自動コード生成装置
JP2011197715A (ja) * 2010-03-17 2011-10-06 Fujitsu Ltd 負荷分散システムおよびコンピュータプログラム
US9152472B2 (en) 2010-03-17 2015-10-06 Fujitsu Limited Load distribution system
JP2012215936A (ja) * 2011-03-31 2012-11-08 Nec Corp Io構成によるジョブスケジューリング方法
JPWO2013008325A1 (ja) * 2011-07-13 2015-02-23 富士通株式会社 マルチコアプロセッサシステム、および制御方法
US9547576B2 (en) 2011-07-13 2017-01-17 Fujitsu Limited Multi-core processor system and control method
US9588577B2 (en) 2013-10-31 2017-03-07 Samsung Electronics Co., Ltd. Electronic systems including heterogeneous multi-core processors and methods of operating same
JP2016139171A (ja) * 2015-01-26 2016-08-04 日本電信電話株式会社 リソース割当装置、リソース割当システム、および、リソース割当方法
CN113032145A (zh) * 2021-03-18 2021-06-25 北京计算机技术及应用研究所 基于国产化多numa节点cpu结温均衡策略的任务调度方法
CN113032145B (zh) * 2021-03-18 2023-12-26 北京计算机技术及应用研究所 基于国产化多numa节点cpu结温均衡策略的任务调度方法

Similar Documents

Publication Publication Date Title
US10817217B2 (en) Data storage system with improved time-to-ready
US8327103B1 (en) Scheduling data relocation activities using configurable fairness criteria
US10642500B2 (en) Methods, systems and computer readable media for intelligent fetching of data storage device commands from submission queues
JP2006277637A (ja) 温度監視によってジョブを割り当てるマルチプロセッサ計算機システム、及びコンピュータプログラム
US20170083474A1 (en) Distributed memory controller
US9823875B2 (en) Transparent hybrid data storage
JP2006302255A (ja) 異種の非揮発性メモリを持つデータ記憶装置とその駆動方法
JP2009528610A (ja) タスクの実行フェーズに基づいてキャッシュパーティションを動的にリサイズする方法及び装置
JP2021166034A (ja) ネットワークオンチップによるデータ処理方法及び装置
JP2007026094A (ja) 実行装置およびアプリケーションプログラム
CN107273200B (zh) 一种针对异构存储的任务调度方法
TWI533146B (zh) 虛擬資源調整裝置、方法及儲存其之電腦可讀取紀錄媒體
KR101140914B1 (ko) 컴퓨팅 자원들을 제어하는 기술
KR20130035934A (ko) 저장 장치에서 동적 자원 구성 방법과 그 저장 장치 및 저장 매체
US11231872B2 (en) Identification of substitute controllers based on temperature data
US9465745B2 (en) Managing access commands by multiple level caching
JP2009277022A (ja) 情報処理システム、負荷制御方法、および負荷制御プログラム
US10872015B2 (en) Data storage system with strategic contention avoidance
US20160363973A1 (en) Workload allocation based on downstream thermal impacts
US20220113898A1 (en) Data storage system with workload-based asymmetry compensation
JP2022121124A (ja) ジョブ割当制御装置、ジョブ割当制御方法、及び、ジョブ割当制御プログラム
KR20230068709A (ko) 스케줄러, 스케줄러의 동작 방법 및 이를 포함한 전자 장치
JP6364827B2 (ja) 情報処理装置、及び、そのリソースアクセス方法、並びに、リソースアクセスプログラム
WO2024009747A1 (ja) 情報処理装置、情報処理方法、及び、プログラム
CN112352216A (zh) 数据存储方法及数据存储装置

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080213

RD04 Notification of resignation of power of attorney

Effective date: 20080527

Free format text: JAPANESE INTERMEDIATE CODE: A7424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091105

A131 Notification of reasons for refusal

Effective date: 20091117

Free format text: JAPANESE INTERMEDIATE CODE: A131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100309