(57)【要約】【課題】従来はジョブの割り当てによる周囲温度の変化については考慮されておらず、限界温度ぎりぎりで動作していた計算機Ａの近くの計算機Ｂに消費電力の高いジョブを割り当てることで、計算機Ａの周辺温度が上がり、計算機Ａがダウンしてしまうことがある。【解決手段】割当決定部２０３はジョブスケジューリング装置がネットワークを介して接続された複数の計算機の温度センサ値、消費電力センサ値、ジョブを割り付けた際の消費電力の予測値、環境パラメータなどを基に計算機間にジョブを割り当てた結果発生する発熱量だけでなく、周辺の計算機の発熱量をも含めて温度予測してジョブの割り付け先計算機を決定する。また、ジョブ分類器２０１、ジョブ履歴テーブル２０２、履歴テーブル管理部２０４は、ジョブの消費電力を予測するために存在する。ジョブ履歴テーブル２０２にはジョブの種類毎に履歴がとられる。【選択図】図２
2008242614.tif 000002
【特許請求の範囲】
【請求項１】
複数の計算機にネットワークを介して接続され、各計算機毎にジョブを割り当てるジョブスケジューリング装置であって、
割り当てようとする所望のジョブを分類するジョブ分類手段と、
前記ジョブ分類手段の分類結果と、前記複数の計算機のそれぞれから入力される各計算機毎に検出された少なくとも各計算機の内部の温度情報及び消費電力情報とに基づいて、前記所望のジョブを各計算機に割り当てた時の自計算機と周辺のすべての計算機の温度変化を予測し、その予測値に基づいて前記所望のジョブを割り当てる計算機を決定する割当決定手段と、
前記割当決定手段により決定された計算機に対して、前記所望のジョブを割り当てるジョブ割当手段と
を有することを特徴とするジョブスケジューリング装置。
【請求項２】
前記複数の計算機のそれぞれについて、前記ジョブ分類手段で分類される前記ジョブの種類毎の履歴と消費電力増加分とジョブの実行時間との対応関係を予め記憶したジョブ履歴テーブルを有し、
前記割当決定手段は、前記ジョブ分類手段の分類結果と、前記複数の計算機のそれぞれから入力される各計算機毎に検出された少なくとも各計算機の内部の温度情報及び消費電力情報とから前記ジョブ履歴テーブルを参照して前記所望のジョブを前記各計算機に割り当てた時の自計算機と周辺のすべての計算機の消費電力量増加分を予測し、その消費電力量増加分の予測値に基づいて前記温度変化を予測し、その温度変化予測値に基づいて前記所望のジョブを割り当てる計算機を決定することを特徴とする請求項１記載のジョブスケジューリング装置。
【請求項３】
前記並列計算機システムは、前記複数の計算機のそれぞれの大きさ情報、計算機設置位置情報及び設置場所の冷却能力情報に基づく各計算機毎の環境情報を保存する環境情報保存装置を有すると共に、前記複数の計算機は環境温度を計測する環境温度計測手段を更に有しており、
前記環境情報保存装置から読み出した前記環境情報に基づいて、前記所望のジョブを前記各計算機に割り当てた時の自計算機と周辺のすべての計算機の、前記複数の計算機のそれぞれに設定されている最大許容環境温度と前記環境温度計測手段からの環境温度との差の温度が最小値を示し、かつ、最小値を示す差の温度のうち最大の差の温度を示したときのジョブ割り当て計算機をジョブを割り当てる計算機として決定し、前記最大の差の温度を示す計算機が存在しない場合、ジョブの割り当てを保留する手段を更に有することを特徴とする請求項１記載のジョブスケジューリング装置。
【請求項４】
前記割当決定手段は、前記複数の計算機のそれぞれから入力される各計算機毎に検出された少なくとも各計算機の内部の温度情報及び消費電力情報とに基づいて、前記所望のジョブを各計算機に割り当てる前と割り当てた後の自計算機と周辺のすべての計算機の温度の差分を計測し、各計算機毎に前記消費電力量の上昇値と温度の上昇値との相関関係から相関関数を求め、その相関係数を用いて各計算機の消費電力量の上昇値に基づいて周辺の計算機における温度上昇値を推定し、その推定値に基づいて前記所望のジョブを割り当てる計算機を決定する手段であることを特徴とする請求項１記載のジョブスケジューリング装置。
【請求項５】
ジョブを割り当てられた計算機の一定時間後の消費電力情報を取得し、ジョブの完了後にそのジョブの種類をインデックスとして、ジョブ完了までの時間とジョブ実行中の消費電力の値とを前記ジョブ履歴テーブルに追加更新するジョブ履歴テーブル管理手段を更に有することを特徴とする請求項２記載のジョブスケジューリング装置。
【請求項６】
前記割当決定手段は、前記ジョブ分類手段の分類結果と、前記複数の計算機のそれぞれから入力される各計算機毎に検出された少なくとも各計算機の内部の温度情報及び消費電力情報とから前記ジョブ履歴テーブルを参照して消費電力増加分と実行時間とから前記所望のジョブを前記各計算機に割り当てた時の周辺のすべての計算機の消費電力量増加分を予測すると共に、各計算機に前記所望のジョブを割り当てた時の全ての計算機における一定時間後の環境温度を推定し、前記消費電力量増加分の予測値と前記環境温度の推定値とに基づいて前記所望のジョブを割り当てる計算機を決定する手段であることを特徴とする請求項２記載のジョブスケジューリング装置。
【請求項７】
複数の計算機にネットワークを介して接続され、各計算機毎にジョブを割り当てるジョブスケジューリング方法であって、
割り当てようとする所望のジョブを分類する第１のステップと、
前記ジョブの分類結果と、前記複数の計算機のそれぞれから入力される各計算機毎に検出された少なくとも各計算機の内部の温度情報及び消費電力情報とに基づいて、前記所望のジョブを各計算機に割り当てた時の自計算機と周辺のすべての計算機の温度変化を予測する第２のステップと、
前記温度変化の予測値に基づいて前記所望のジョブを割り当てる計算機を決定する第３のステップと、
前記第３のステップにより決定された計算機に対して、前記所望のジョブを割り当てる第４のステップと
を含むことを特徴とするジョブスケジューリング方法。
【請求項８】
前記第３のステップは、前記ジョブの分類結果と、前記複数の計算機のそれぞれから入力される各計算機毎に検出された少なくとも各計算機の内部の温度情報及び消費電力情報とから、前記複数の計算機のそれぞれについて、前記ジョブの種類毎の履歴と消費電力増加分とジョブの実行時間との対応関係を予め記憶したジョブ履歴テーブルを参照して前記所望のジョブを前記各計算機に割り当てた時の自計算機と周辺のすべての計算機の消費電力量増加分を予測する消費電力量増加分予測ステップと、その消費電力量増加分の予測値に基づいて前記温度変化を予測して、その温度変化予測値に基づいて前記所望のジョブを割り当てる計算機を決定する決定ステップとからなることを特徴とする請求項７記載のジョブスケジューリング方法。
【請求項９】
前記並列計算機システムは、前記複数の計算機のそれぞれの大きさ情報、計算機設置位置情報及び設置場所の冷却能力情報に基づく各計算機毎の環境情報を保存する環境情報保存装置を有すると共に、前記複数の計算機は環境温度を計測する環境温度計測手段を更に有しており、
前記環境情報保存装置から読み出した前記環境情報に基づいて、前記所望のジョブを前記各計算機に割り当てた時の自計算機と周辺のすべての計算機の、前記複数の計算機のそれぞれに設定されている最大許容環境温度と前記環境温度計測手段からの環境温度との差の温度が最小値を示し、かつ、最小値を示す差の温度のうち最大の差の温度を示したときのジョブ割り当て計算機をジョブを割り当てる計算機として決定し、前記最大の差の温度を示す計算機が存在しない場合、ジョブの割り当てを保留するステップを更に有することを特徴とする請求項７記載のジョブスケジューリング方法。
【請求項１０】
前記第３のステップは、前記複数の計算機のそれぞれから入力される各計算機毎に検出された少なくとも各計算機の内部の温度情報及び消費電力情報とに基づいて、前記所望のジョブを各計算機に割り当てる前と割り当てた後の自計算機と周辺のすべての計算機の温度の差分を計測する差分計測ステップと、各計算機毎に前記消費電力量の上昇値と温度の上昇値との相関関係から相関関数を求め、その相関係数を用いて各計算機の消費電力量の上昇値に基づいて周辺の計算機における温度上昇値を推定する温度上昇値推定ステップと、前記温度上昇値の推定値に基づいて前記所望のジョブを割り当てる計算機を決定する決定ステップとからなることを特徴とする請求項７記載のジョブスケジューリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はジョブスケジューリング装置及びジョブスケジューリング方法に係り、特に計算機にジョブを割り当てるジョブスケジューリング装置及びジョブスケジューリング方法に関する。
【背景技術】
【０００２】
近年、計算機の単位体積当たりの処理能力の進歩に伴って、その単位体積当たりの消費電力や発熱量も増え続けている。最近では、計算機の処理性能は自身の消費電力による発熱量に制限されるようになってきている。この傾向は、複数の計算機によって構成される並列計算機システムにおいても同様であるが、各計算機を密接して設置することの多い並列計算機システムにおいては個別に設置される熱対策以上に熱の問題への緻密な対応が求められている。
【０００３】
並列計算機システムにおける熱対策としては、例えば各計算機が最大出力で運用されるような状況下であっても、過熱によって計算機が停止したりパフォーマンスが低下したりすることのないよう、予め計算機同士をある程度離して設置する方法が最も安全な対策であると考えられる。しかし、近年の計算機の運用を考えると、全ての計算機が最大出力で運用されるような状況は稀なケースである場合が多い。そのような運用を考慮してサーバを離して配置した場合、システム全体の単位体積当りの計算能力は落ちてしまう。限られた体積で性能が求められる場合、ある程度密着して計算機を配置し、運用で熱対策を行う必要性が求められる。また、近年、計算機の消費電力の増加にマシンルームの設備投資が間に合わず、冷却能力の足りないマシンルームで発熱の多い計算機を運用したいといった要求もよくある。このような場合も運用で熱問題を解決する必要があるだろう。
【０００４】
そのような運用の一形態として、ジョブの配置を工夫することで発熱する計算機を分散させ、特定の計算機の過熱を防ぐという手法がある。しかしながら、ある計算機にジョブ配置することによる他の計算機への温度の影響を考慮しながら緻密にジョブの配置を行うジョブスケジューリング手法はまだ提案されていない。
【０００５】
運用における柔軟な熱対策の一つとして、ジョブスケジューリングを工夫することにより、熱の発生を分散させ、ある箇所の温度が極度に過熱しないように制御する方法が考えられる。その一手法として、各計算機の温度をモニタし、常に最も温度の低い計算機にジョブを割り当てるというジョブスケジューリング装置が既に提案されている（例えば、特許文献１参照）。
【０００６】
また、マルチプロセッサシステムにおいて、制御用ＩＣが過熱する可能性があるプロセッサがあるか否か確認し、過熱する可能性が無い場合には、プロセッサの割当に従ってスレッドのディスパッチを行い、過熱する可能性が有る場合には、現状の空きプロセッサに加えて新しい空きプロセッサができるまでジョブの割当を待機することにより、過熱による処理停止の発生を抑制するようにしたマルチプロセッサシステムも知られている（例えば、特許文献２参照）。
【０００７】
更に、プロセッサの予測温度を計算し、予測温度が条件の範囲内であれば、プロセッサに対しタスクを割り当てるプロセッサシステムも知られている（例えば、特許文献３参照）。
【０００８】
【特許文献１】特開２００４−１２６９６８号公報（第６頁）
【特許文献２】特開２００６−０９９６２４号公報（第９頁）
【特許文献３】特開２００６−１３３９９５号公報（第１２−１３頁）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１記載の従来のジョブスケジューリング装置では、ジョブの割り当てによる周囲温度の変化については考慮されておらず、限界温度ぎりぎりで動作していた計算機Ａの近くの計算機Ｂに消費電力の高いジョブを割り当てることで、計算機Ａの周辺温度が上がり、計算機Ａがダウンしてしまうといったことが考えられる。
【００１０】
また、特許文献２や特許文献３記載の発明では、タスクを割り当てることで発生する一時的な発熱量のみを参考として温度予測を行っているので、精度の高い温度予測ができず、計算機がダウンするリスクが高い。更に、特許文献１〜３記載の発明はいずれも計算機へのジョブ割当によって発生する熱量が周辺の計算機に及ぼす二次的な温度変化を用いて温度予測したり、周辺の計算機で発生する発熱量も考慮に入れた温度予測をしていないため、計算機がダウンしない範囲でより高いパフォーマンスを引き出すことができない。
【００１１】
本発明は以上の点に鑑みなされたもので、周辺の計算機の発熱量も考慮した温度予測を行うことにより、システムの過熱による計算機のパフォーマンスダウンやシステムダウンを防止し得るジョブスケジューリング装置及びジョブスケジューリング方法を提供することを目的とする。
【００１２】
また、本発明の他の目的は、冷却能力の不足したマシンルームで計算機を運用する場合でも、決められた温度制限の中で最大限の能力を引き出すことが可能なジョブスケジューリング装置及びジョブスケジューリング方法を提供することにある。
【課題を解決するための手段】
【００１３】
上記の目的を達成するため、本発明のジョブスケジューリング装置は、複数の計算機にネットワークを介して接続され、各計算機毎にジョブを割り当てるジョブスケジューリング装置であって、割り当てようとする所望のジョブを分類するジョブ分類手段と、ジョブ分類手段の分類結果と、複数の計算機のそれぞれから入力される各計算機毎に検出された少なくとも各計算機の内部の温度情報及び消費電力情報とに基づいて、所望のジョブを各計算機に割り当てた時の自計算機と周辺のすべての計算機の温度変化を予測し、その予測値に基づいて所望のジョブを割り当てる計算機を決定する割当決定手段と、割当決定手段により決定された計算機に対して、所望のジョブを割り当てるジョブ割当手段とを有することを特徴とする。
【００１４】
この発明では、ジョブを各計算機に割り当てた時の自計算機と周辺の全ての計算機の温度変化をそれぞれ予測し、その予測値に基づいて所望のジョブを割り当てる計算機を決定するようにしたため、システムを構成する複数の計算機のうちの最適な温度変化の予測値の計算機にジョブを割り当てることができる。
【００１５】
また、上記の目的を達成するため、本発明のジョブスケジューリング装置は、複数の計算機のそれぞれについて、ジョブ分類手段で分類されるジョブの種類毎の履歴と消費電力増加分とジョブの実行時間との対応関係を予め記憶したジョブ履歴テーブルを有し、割当決定手段は、ジョブ分類手段の分類結果と、複数の計算機のそれぞれから入力される各計算機毎に検出された少なくとも各計算機の内部の温度情報及び消費電力情報とからジョブ履歴テーブルを参照して所望のジョブを各計算機に割り当てた時の自計算機と周辺のすべての計算機の消費電力量増加分を予測し、その消費電力量増加分の予測値に基づいて温度変化を予測し、その温度変化予測値に基づいて所望のジョブを割り当てる計算機を決定することを特徴とする。
【００１６】
この発明では、すべてのジョブについて消費電力量増加分を予測するのは困難であるので、ジョブを予め複数のジョブの種類に分類して、そのジョブ区の種類毎に、実際のジョブを割り当てたときの消費電力増加分の履歴を予め記憶したジョブ履歴テーブルを用意し、そのジョブ履歴テーブルを参照して取得した所望のジョブを各計算機に割り当てた時の自計算機と周辺のすべての計算機の消費電力量増加分の予測値から温度変化を予測するようにしたため、正確な温度変化予測値が得られる。
【００１７】
また、上記の目的を達成するため、本発明のジョブスケジューリング装置は、並列計算機システムは、複数の計算機のそれぞれの大きさ情報、計算機設置位置情報及び設置場所の冷却能力情報に基づく各計算機毎の環境情報を保存する環境情報保存装置を有すると共に、複数の計算機は環境温度を計測する環境温度計測手段を更に有しており、
環境情報保存装置から読み出した環境情報に基づいて、所望のジョブを各計算機に割り当てた時の自計算機と周辺のすべての計算機の、複数の計算機のそれぞれに設定されている最大許容環境温度と環境温度計測手段からの環境温度との差の温度が最小値を示し、かつ、最小値を示す差の温度のうち最大の差の温度を示したときのジョブ割り当て計算機をジョブを割り当てる計算機として決定し、最大の差の温度を示す計算機が存在しない場合、ジョブの割り当てを保留する手段を更に有することを特徴とする。
【００１８】
この発明では、計算機が設置される場所（マシンルーム）の冷却能力が不足している場合は、決められた温度制限（最大許容環境温度）の中でジョブ割当に適した計算機を求めることができる。この場合、その計算機システムの最高性能を引き出すことはできないが、コスト対パフォーマンスのバランスを見て意図的にマシンルームへの投資を抑えたり、マシンルームの設備が整わないうちに計算能力の高い最新の計算機を動作させておいて、後から設備を整えたりすることが可能となる。
【００１９】
また、この発明では予想の結果、条件を満たす計算機が見付けられない場合、ジョブの割り当てを保留し、現在割り当てられているジョブが終了するのを待つ。これにより、温度問題によるシステムダウンやパフォーマンスダウンを回避することが可能である。
【００２０】
また、上記の目的を達成するため、本発明のジョブスケジューリング装置は、上記の割当決定手段が、複数の計算機のそれぞれから入力される各計算機毎に検出された少なくとも各計算機の内部の温度情報及び消費電力情報とに基づいて、所望のジョブを各計算機に割り当てる前と割り当てた後の自計算機と周辺のすべての計算機の温度の差分を計測し、各計算機毎に消費電力量の上昇値と温度の上昇値との相関関係から相関関数を求め、その相関係数を用いて各計算機の消費電力量の上昇値に基づいて周辺の計算機における温度上昇値を推定し、その推定値に基づいて所望のジョブを割り当てる計算機を決定する手段であることを特徴とする。
【００２１】
また、上記の目的を達成するため、本発明のジョブスケジューリング装置は、ジョブを割り当てられた計算機の一定時間後の消費電力情報を取得し、ジョブの完了後にそのジョブの種類をインデックスとして、ジョブ完了までの時間とジョブ実行中の消費電力の値とをジョブ履歴テーブルに追加更新するジョブ履歴テーブル管理手段を更に有することを特徴とする。この発明では、ジョブ履歴テーブルを常に最新の状態にすることができるため、ジョブ履歴テーブルを用いたジョブ割当の決定を正確に行わせることができる。
【００２２】
また、上記の目的を達成するため、本発明のジョブスケジューリング装置は、上記の割当決定手段が、ジョブ分類手段の分類結果と、複数の計算機のそれぞれから入力される各計算機毎に検出された少なくとも各計算機の内部の温度情報及び消費電力情報とからジョブ履歴テーブルを参照して消費電力増加分と実行時間とから所望のジョブを各計算機に割り当てた時の自計算機と周辺のすべての計算機の消費電力量増加分を予測すると共に、各計算機に所望のジョブを割り当てた時の全ての計算機における一定時間後の環境温度を推定し、消費電力量増加分の予測値と環境温度の推定値とに基づいて所望のジョブを割り当てる計算機を決定する手段であることを特徴とする。
【００２３】
また、上記の目的を達成するため、本発明は複数の計算機にネットワークを介して接続され、各計算機毎にジョブを割り当てるジョブスケジューリング方法であって、割り当てようとする所望のジョブを分類する第１のステップと、ジョブの分類結果と、複数の計算機のそれぞれから入力される各計算機毎に検出された少なくとも各計算機の内部の温度情報及び消費電力情報とに基づいて、所望のジョブを各計算機に割り当てた時の自計算機と周辺のすべての計算機の温度変化を予測する第２のステップと、温度変化の予測値に基づいて所望のジョブを割り当てる計算機を決定する第３のステップと、第３のステップにより決定された計算機に対して、所望のジョブを割り当てる第４のステップとを含むことを特徴とする。
【００２４】
この発明では、ジョブを各計算機に割り当てた時の自計算機と周辺の全ての計算機の温度変化をそれぞれ予測し、その予測値に基づいて所望のジョブを割り当てる計算機を決定するようにしたため、システムを構成する複数の計算機のうちの最適な温度変化の予測値の計算機にジョブを割り当てることができる。
【００２５】
本発明では、ジョブスケジューリング装置が各計算機の設置位置や周辺環境などの情報を持ち、数値計算によりジョブの投入や移動による各計算機の周辺の温度変化を予測し、その予測に基づいてジョブ割り当てを行う計算機を決定することができる。各計算機の周辺の温度変化の予測には、予めジョブを割り当てたときの発熱量を予測しておく必要がある。本発明では、実際にジョブを割り当てたときの消費電力増加の履歴を残しておき、そこから類推する手法をとる。ジョブは予め何種類かに分類しておき、履歴はその種類毎にとられる。消費電力の予測値は、ジョブを割り当てる前の消費電力値と、履歴情報の平均値などからある程度の精度で求めることが可能である。
【発明の効果】
【００２６】
本発明によれば、ジョブを各計算機に割り当てた時の自計算機と周辺の全ての計算機の温度変化をそれぞれ予測し、その予測値に基づいて所望のジョブを割り当てる計算機を決定することで、ジョブを割り当てた結果発生する発熱量だけでなく、周辺の計算機の発熱量をも含めて温度予測してジョブの割り付けを決定することができ、システムを構成する複数の計算機のうち特定の計算機で過熱が起きることを防ぎ、システムのダウンや全体パフォーマンスの低下を予防することができる。
【００２７】
また、本発明によれば、冷却能力の不足したマシンルームで計算機を運用する場合でも、決められた温度制限の中で最大限の能力を引き出すことができ、予想の結果、条件を満たす計算機が見付けられない場合、ジョブの割り当てを保留し、現在割り当てられているジョブが終了するのを待つことで、温度問題によるシステムダウンやパフォーマンスダウンを回避することが可能である。
【発明を実施するための最良の形態】
【００２８】
次に、本発明を実施するための最良の形態について図面と共に説明する。図１は本発明になるジョブスケジューリング装置の一実施の形態の構成図を示す。同図において、並列計算機システム１００は、ネットワーク１０１によって各計算機１１１、１１２、１１３などを接続した計算機システムである。この並列計算機システム１００におけるジョブの割り付けは、同じネットワーク１０１に接続されたスケジューリング装置１０３が行う。各計算機１１１、１１２、１１３は環境温度センサ１２１、ＣＰＵ温度センサ１２２、並びに消費電力センサ１２３を備えており、スケジューリング装置１０３はネットワーク１０１を通じてこれらの情報を読み出すことができる。また、各計算機１１１、１１２、１１３には、最大許容環境温度１２４が設定されており、同様にスケジューリング装置１０３から読み出すことができる。この最大許容環境温度情報は、例えば不揮発性メモリに予め設定されているものとする。別の実装としては、最大許容環境温度１２４は外から書き換え可能として、マシンルームの冷却能力に応じて設定するという実装も考えられる。
【００２９】
本実施の形態では、各計算機１１１、１１２、１１３は環境温度センサ１２１の値とＣＰＵ温度センサ１２２の値とに応じて自動的に計算機内の冷却温度を調整する。この冷却制御は、例えばＢＭＣ（Baseboard Management Controller）などが行う。この機能により、本実施の形態では各計算機１１１、１１２、１１３の内部の冷却については考慮しない。
【００３０】
また、ネットワーク１０１には各計算機１１１、１１２、１１３が設置されている位置情報を保存しておくための環境情報保存装置１０２が接続されている。この環境情報もまたスケジューリング装置１０３から読み出し可能である。また、別の実装方法として、位置情報は各計算機１１１、１１２、１１３に保存されているという実装も考えられる。また、環境温度保存装置１０２には、より正確な温度予測を行うためのデータとして、各計算機１１１、１１２、１１３の大きさ情報（幅、奥行き、高さ）、各計算機１１１、１１２、１１３が設置してあるマシンルームの構造情報、マシンルームの冷却能力を保存している。スケジューリング装置１０３はこれらの情報を読み出して、演算の際の境界条件として用いることで、温度予測を正確に行うことができる。
【００３１】
図２はスケジューリング装置１０３の一例の構成図を示す。同図において、割当決定部２０３は各計算機１１１、１１２、１１３の温度センサ値、消費電力センサ値、ジョブを割り付けた際の消費電力の予測値、環境パラメータなどを基に計算機間にジョブを割り当てた際の温度変化を予測し、その予測値を基にジョブの割り付け先計算機を決定する。また、ジョブ分類器２０１、ジョブ履歴テーブル２０２、履歴テーブル管理部２０４は、ジョブの消費電力を予測するために存在する。
【００３２】
全てのジョブに対して増加消費電力分を予想するのは難しいため、ジョブを予め複数の種類に分類し、ジョブ履歴テーブル２０２にはこれらの種類毎に履歴がとられる。この場合のジョブの種類とは、例えばデータベース検索トランザクション、ウェブ（Ｗｅｂ）リクエスト、データ処理などであり、スケジューリング装置１０３が分類を行う。
【００３３】
図３はジョブ履歴テーブル２０２の一例を示す。同図に示すように、ジョブ履歴テーブル２０２は、Ｗｅｂリクエスト、データベース検索、データ処理１、データ処理２のジョブの種類毎に、履歴、消費電力増加、ジョブ時間とを対応付けて記憶している。このジョブ履歴テーブル２０２は図１のネットワーク１０１に接続されているスケジューリング装置１０３がジョブを決定する複数の計算機１１１、１１２、１１３のそれぞれに対応して設けられている。従って、図３に示すジョブ履歴テーブル２０２はネットワークに接続されたある一つの計算機についてのジョブ履歴テーブルであり、その中の「履歴」はその一つの計算機の履歴である。
【００３４】
次に、本実施の形態の動作について詳細に説明する。まず、図１の環境情報保存部１０２に対して、予め各計算機１１１、１１２、１１３の設置位置情報を入力しておく。この設置位置情報は、マシンルーム内における縦方向、横方向、高さ方向といった簡単な情報でもよい。この設置位置情報の入力は人手で行うことを想定しているが、各計算機１１１、１１２、１１３の設置位置情報はＲＦＩＤなどの公知の技術を用いて自動的に入力される手段が提供されてもよい。また、同様に、環境温度の計算に必要な各種パラメータを図１の環境情報保存装置１０２に設定しておく。これは例えば、各計算機１１１、１１２、１１３の大きさ情報、マシンルームの構造情報、各計算機１１１、１１２、１１３の排熱方向、マシンルーム全体の排熱能力、などの情報である。
【００３５】
図４（Ａ）、（Ｂ）はジョブを割り当てる先の計算機の決定方法を説明するための構成図とフローチャートを示す。図４（Ａ）、（Ｂ）に示すように、ジョブ分類器２０１でジョブを分類し（ステップＳ１）、割当決定部２０３がジョブ履歴テーブル２０２からジョブを割り当てた際の消費電力の増加分の予想値を得る。同時に、各計算機１１１、１１２、１１３の環境温度センサ１２１の値、各計算機１１１、１１２、１１３の環境パラメータを取得する(ステップＳ２)。
【００３６】
続いて、割当決定部２０３は各計算機にジョブを割り当てたときの全ての計算機１１１、１１２、１１３における一定時間後の環境温度を予測して割当先を決定する（ステップＳ３）。その後、ジョブ分類器２０１が割当先にジョブの割り当てを行う（ステップＳ４）。
【００３７】
上記のジョブの割り当てについて、具体的に説明する。スケジューリング装置１０３は、あるジョブをある計算機Ｎに割り当てたときの消費電力の増加分Ｗ＿Ｎを、例えば図３のジョブの種類毎の履歴の平均で推定する。図３が例えば図１の計算機１１１のジョブ履歴テーブルであれば、計算機１１１に各ジョブを割り当てた時の平均消費電力量の増加分は、平均消費電力と平均時間とから以下の表１のように求められる。
【００３８】
【表１】
2008242614.tif 000003
これを各計算機について計算し、その消費電力量に基づいて、ジョブの割当先の計算機を決定する。
【００３９】
次に、ステップＳ４のジョブ割当先の決定方法について更に具体的に説明する。まず、ある計算機ＮにジョブＫを割り当てた時の消費電力の増加量Ｗｓ（Ｎ，Ｋ）に基づいて、自計算機と周辺の計算機の温度の上昇量を推定する。計算機ＮにジョブＫを割り当てた時の、自計算機又は周辺の計算機Ｍの温度の上昇推定量をTup(M,N,K)として、全ての周辺の計算機Ｍについて上限環境温度Tlim(M)を超えないＮ，Ｋの組み合わせを探索し、割り当て行う。
【００４０】
例えば、図１の計算機１１１、１１２、１１３を計算機１，２，３と表記すると共に、これらの計算機のジョブを割り当てる前の環境温度が表２のように示されるものとし、またこれらの計算機の上限環境温度を４０℃とし、Ｗｅｂリクエストのジョブを各計算機に割り当てたときの、各計算機の平均消費電力量が表３のようになったものとする。
【００４１】
【表２】
2008242614.tif 000004
【００４２】
【表３】
2008242614.tif 000005
次に、その平均消費電力量を用いて計算機ｘにジョブを割り当てた時の、計算機（自計算機と他計算機）ｙの温度上昇量の推定値を表４のように求め、計算機ｘにジョブを割り当てた時の、計算機（自計算機と他計算機）ｙの温度の推定値を表５のように求める。
【００４３】
【表４】
2008242614.tif 000006
【００４４】
【表５】
2008242614.tif 000007
ただし、表４及び表５において縦軸の計算機は上記の計算機ｘを示し、横軸の計算機は上記の計算機ｙを示す。従って、例えば、表４の２行１列目の「０.３」は計算機２（１１２）にジョブを割り当てた時の、計算機１（１１１）の温度上昇の推定値を示し、表５の２行１列目の「37.5」は計算機２（１１２）にジョブを割り当てた時の、計算機１（１１１）の温度の推定値を示す。
【００４５】
その結果、表５から計算機１（１１１）にジョブを割り当てたときは、上限環境温度（４０℃）と温度推定値との差分が最も小さな計算機ｙは計算機２（１１２）の１.２℃であり、また、計算機２（１１２）にジョブを割り当てたときは、上限環境温度（４０℃）と温度推定値との差分が最も小さな計算機ｙは計算機２（１１２）の０.２℃であり、また、計算機３（１１３）にジョブを割り当てたときは、上限環境温度（４０℃）と温度推定値との差分が最も小さな計算機ｙは計算機２（１１２）の１.２５℃であることが分かる。このうち、差分温度が最も大きな１.２５℃はジョブを計算機３（１１３）に割り当てた場合であるので、計算機３（１１３）に割り当てるのが最も上限環境温度（４０℃）からのマージンが大きいと推定できるため、スケジューリング装置１０３は計算機３（１１３）にジョブを割り当てることになる。
【００４６】
次に、ジョブ管理テーブル２０２の管理について、図５（Ａ）のスケジューリング装置１０３の構成図と同図（Ｂ）のフローチャートと共に説明する。まず、ジョブ分類器２０１はジョブを予めある程度の種類に分類する（ステップＳ１１）。続いて、ジョブ分類器２０１はジョブ割当先の計算機を決定し（ステップＳ１２）、ジョブを各計算機に投入した後（ステップＳ１３）、履歴テーブル管理部２０４が一定時間後の投入計算機の消費電力センサ１２３の値を読んでおく（ステップＳ１４）。
【００４７】
続いて、履歴テーブル管理部２０４は、計算機のジョブの完了を確認すると、そのジョブの種類をインデックスとして、ジョブ完了までの時間と、ジョブ実行中の消費電力センサ１２３で検出した消費電力値をジョブ履歴テーブル２０２に追加書き込みをする（ステップＳ１５）。ジョブ履歴テーブル２０２は各ジョブの種類に対して有限のエントリしか持ち得ないため、ラウンドロビン方式でエントリを上書きしていく。
【００４８】
ところで、消費電力上昇値から他の計算機の温度上昇の推定値を求める方法としては、以下の方法がある。スケジューリング装置１０３がまず、ジョブを割り当てる度に図３のような消費電力の履歴を取り、これから消費電力量を求め、続いてジョブを割り当てる前とジョブが終了した時の全計算機の温度の差分をとる。続いて、スケジューリング装置１０３は、各計算機毎に消費電力量の上昇値と温度の上昇値の図６に示すような相関図を作成し、それに基づいて相関関数を求める（例えば、一次式で）。この相関関数を用いて、スケジューリング装置１０３は各計算機毎に、その計算機の消費電力量の上昇値から他の計算機における温度上昇値を推定する。
【００４９】
なお、前記環境温度の予測は、熱拡散を数値計算で解くことによって得ることもできる。この場合はスケジューリング装置１０３は、このために必要な情報を環境情報保存装置１０２から読み出し、適当な大きさの格子を設定して熱伝導や対流による温度変化の時間発展を数値計算する。系がある程度平衡に達したと判断したら数値計算を止め、そのときの他の各計算機における温度変化の予想値を記憶しておく。
【００５０】
スケジューリング装置１０３は、この予想を全ての計算機１１１、１１２、１１３に対して行い、温度条件が最も緩くなるジョブの割り当てを採用する。温度条件が最も緩いジョブの割り当てとは、温度条件が最もシビアな計算機（最大許容環境温度と環境温度の差が最も小さな計算機）の最大許容環境温度と環境温度の差が最も大きくなる割り当てである。すなわち、計算機ｉにジョブを割り付けた際の計算機ｊ（自計算機ｉも含む）における予想環境温度をＴｉｊとし、また、計算機ｊの最大許容環境温度をＴＣｊとすると、ジョブを各計算機ｉに割り当てた時の各計算機ｊそれぞれにおける最大許容環境温度ＴＣｊと予想環境温度Ｔｉｊとの差分の温度が最も小さな複数の計算機ｊのうち、最大の差分温度を示すときのジョブが割り当てられている計算機ｉ、すなわち、max_i(min_j(TCj-Tij))を満たす割り当て計算機ｉを求める。この計算機ｉが温度条件が最も緩くなるジョブの割当先計算機となる。
【００５１】
このような計算機ｉが存在しない場合、スケジューリング装置１０３は、ジョブの割り当てをペンディングし、現在実行されているジョブが一つでも終了するのを待ち、再度割当先を決定する。また、各計算機の最大許容環境温度は書き換え可能にして、マシンルームの冷却能力が不足しているような場合に、この値を調整することでマシンルームの冷却能力を超える過熱を防ぐ運用を行うこともできる。この場合の設定値TC_limitは、計算機を設置する際に予め求めておく。
【図面の簡単な説明】
【００５２】
【図１】本発明のジョブスケジューリング装置の一実施の形態の構成図である。
【図２】図１中のスケジューリング装置の一例の構成図である。
【図３】図２中のジョブ履歴テーブルの一例を示す図である。
【図４】ジョブを割り当てる先の計算機の決定方法を説明するためのスケジューリング装置の構成図と動作説明用フローチャートである。
【図５】ジョブ管理テーブルの管理方法を説明するためのスケジューリング装置の構成図と動作説明用フローチャートである。
【図６】計算機の消費電力量上昇と温度上昇との相関関係の一例を示す図である。
【符号の説明】
【００５３】
１００  並列計算機システム
１０１  ネットワーク
１０２  環境情報保存装置
１０３  スケジューリング装置
１１１、１１２、１１３  計算機
１２１  環境温度センサ
１２２  ＣＰＵ温度センサ
１２３  消費電力センサ
１２４  最大許容環境温度
２０１  ジョブ分類器
２０２  ジョブ履歴テーブル
２０３  割当決定部
２０４  履歴テーブル管理部
【図１】
2008242614.tif 000008
【図２】
2008242614.tif 000009
【図３】
2008242614.tif 000010
【図４】
2008242614.tif 000011
【図５】
2008242614.tif 000012
【図６】
2008242614.tif 000013