(57)【特許請求の範囲】
【請求項１】
３以上の演算装置に対してジョブを割り当てる負荷分散システムであって、
前記３以上の演算装置のそれぞれの温度を取得する温度取得部と、
前記温度取得部により取得された温度に応じて、前記３以上の演算装置のうちの複数の演算装置をジョブの割り当てを受ける候補に定める候補選定部と、
前記候補選定部により前記候補に定められた複数の演算装置のいずれかにジョブを割り当てるジョブ割当部と、
前記３以上の演算装置のそれぞれの温度と消費電力量との関係を示す動作特性情報を記憶する特性記憶部と、
を有し、前記候補選定部は、
前記特性記憶部に記憶される前記演算装置のそれぞれに対応する動作特性情報に基づき、前記温度取得部により取得された演算装置ごとの温度に対応する消費電力量に応じて複数の演算装置を前記候補に定める、
負荷分散システム。
【請求項２】
前記３以上の演算装置のそれぞれにおける消費電力量の温度依存特性を測定する特性取得部と、
前記特性取得部によって得られた測定情報を前記動作特性情報として前記特性記憶部に記憶させる、特性情報更新部と、をさらに備える
請求項１に記載の負荷分散システム。
【請求項３】
３以上の演算装置に対してジョブを割り当てる負荷分散システムにおいて用いられる負荷分散方法であって、
前記３以上の演算装置のそれぞれの温度を取得し、
前記３以上の演算装置のそれぞれの温度と消費電力量との関係を示す動作特性情報を記憶し、
記憶されている前記動作特性情報に基づき、前記取得された演算装置ごとの温度に対応する消費電力量に応じて、前記３以上の演算装置のうちの複数の演算装置をジョブの割り当てを受ける候補に定め、
前記候補に定められた複数の演算装置のいずれかにジョブを割り当てる、
負荷分散方法。
【請求項４】
３以上の演算装置に対してジョブを割り当てる負荷分散のための情報処理装置において実行されるコンピュータプログラムであって、
前記３以上の演算装置のそれぞれの温度を取得する温度取得部と、
前記３以上の演算装置のそれぞれの温度と消費電力量との関係を示す動作特性情報を記憶する特性記憶部と、
前記特性記憶部に記憶される動作特性情報に基づき、前記温度取得部により取得された演算装置ごとの温度に対応する消費電力量に応じて、前記３以上の演算装置のうちの複数の演算装置をジョブの割り当てを受ける候補に定める候補選定部と、
前記候補選定部により前記候補に定められた複数の演算装置のいずれかにジョブを割り当てるジョブ割当部として、前記情報処理装置を動作させる、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、複数の演算装置に対してジョブを割り当てる負荷分散システムに関する。
【背景技術】
【０００２】
複数台のサーバを備えるクライアント・サーバ・システムにおいて、ジョブを処理する演算装置であるサーバへのクライアントからのリクエストは、負荷分散手段であるロードバランサによって複数台のサーバのいずれかに割り振られる。すなわち、クライアントのユーザの指定したジョブが、いずれかのサーバに対して割り当てられる。割り振りは、予め設定された負荷分散アルゴリズムに従う。負荷分散アルゴリズムには、順番にサーバを選択するラウンドロビンをはじめ、処理中のコネクションの数が最も少ないサーバを選択するものや、一番早く応答したサーバを選択するものなどがある。
【０００３】
クライアント・サーバ・システムを含む各種システムについて、消費電力の低減が進められている。省電化に関して、例えば、複数のＣＰＵ(central processing unit)を備えたコンピュータシステムにおいて、負荷が閾値以下のときに限って、処理能力は低いが消費電力は小さいＣＰＵを選んで使用する、という技術がある（特許文献１）。また、異なるエネルギー効率を有する２つの処理装置に対して、エネルギー消費量が最少になるようにタスクをスケジューリングする技術がある（特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平４ー２１５１６８号公報
【特許文献２】特表２００４ー５３０１８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
割り当てられたジョブを処理するときの演算装置の消費電力は、その時点の演算装置の温度に依存する。一般に常温から温度が高くなるにつれて消費電力が増大する。しかし、従来においては、ジョブを割り当てる際に演算装置の温度を考慮していなかった。そのために、消費電力の小さい状態の演算装置があるにもかかわらず他の消費電力の大きい状態の演算装置にジョブを割り当ててしまい、結果的に余分に電力を消費することがあった。また、ジョブを実行すると高温になり過ぎるおそれのある演算装置にジョブを割り当てることがあり得た。
【０００６】
負荷分散システムについては、複数の演算装置のそれぞれがもつ温度依存の動作特性を反映させた負荷分散を実現することが課題としてある。
【課題を解決するための手段】
【０００７】
３以上の演算装置に対してジョブを割り当てる負荷分散システムは、前記３以上の演算装置のそれぞれの温度を取得する温度取得部と、前記温度取得部により取得された温度に応じて、前記３以上の演算装置のうちの複数の演算装置をジョブの割り当てを受ける候補に定める候補選定部と、前記候補選定部により前記候補に定められた複数の演算装置のいずれかにジョブを割り当てるジョブ割当部と、前記３以上の演算装置のそれぞれの温度と消費電力量との関係を示す動作特性情報を記憶する特性記憶部と、を有する。前記候補選定部は、前記特性記憶部に記憶される前記演算装置のそれぞれに対応する動作特性情報に基づき、前記温度取得部により取得された演算装置ごとの温度に対応する消費電力量に応じて複数の演算装置を前記候補に定める。
【発明の効果】
【０００８】
複数の演算装置のそれぞれがもつ温度依存の動作特性を反映させた負荷分散を実現することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係るコンピュータシステムの概要を示す図である。
【図２】実施形態１のシステム構成を示す図である。
【図３】消費電力量の温度特性の一例を示すグラフである。
【図４】実施形態１の負荷分散システムの動作を示すフローチャートである。
【図５】実施形態２のシステム構成を示す図である。
【図６】特性テーブルのデータ構造を示す図である。
【図７】複数のサーバにおける消費電力の大小関係の一例を示す図である。
【図８】実施形態２の負荷分散システムの動作を示すフローチャートである。
【図９】実施形態３のシステム構成を示す図である。
【図１０】電力量測定部の構成を示す図である。
【図１１】実施形態３の負荷分散システムおよびサーバの動作を示すフローチャートである。
【図１２】サーバにおける特性取得動作の第１例を示すフローチャートである。
【図１３】サーバにおける特性取得動作の第２例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
負荷分散の実施されるクライアント・サーバ・システムの構成例が図１に示される。図１の例示においては、第１、第２、第３および第４の４台のサーバ３，４，５，６に対して、ロードバランサ２がジョブを割り当てる。ただし、サーバ数は４に限らず、２以上であればよい。クライアント７Ａ，７Ｂ，７Ｃからサーバ３，４，５，６へのジョブのリクエストは、インターネットやＬＡＮ(Local Area Network)といった通信ネットワーク８を介してロードバランサ２に与えられる。ロードバランサ２は、リクエストの受信に呼応してジョブの割り当てを行う。その際、温度取得部１１によって、サーバ３，４，５，６のそれぞれからジョブの実行に影響する温度が取得される。そして、取得された温度に応じて、サーバ３，４，５，６のいずれかにジョブが割り当てられる。
【００１１】
温度取得部１１を含むロードバランサ２の機能は、情報処理装置（コンピュータ）によるプログラムの実行によって実現される。ロードバランサ２としての情報処理装置は、ＣＰＵ、主記憶装置、補助記憶装置、および通信インタフェースを含む図示しないハードウェア要素を備える。
【００１２】
以下に、図１のようなクライアント・サーバ・システムに適用される負荷分散システムを想定した実施形態１、２および３を挙げる。実施形態１〜３においては、４台のうちの２台のサーバを代表として図示する。
〔実施形態１〕
図２のように、実施形態１に係るロードバランサ２には、ソフトウェアの実装によって負荷分散システム１０が設けられる。負荷分散システム１０は、温度取得部１１、候補選定部１２、およびジョブ割当部１３を備える。負荷分散システム１０の各構成要素の機能は次のとおりである。
【００１３】
温度取得部１１は、ジョブ割当部１３からのジョブ受信通知を受けて、複数のサーバ３，４のそれぞれに備わる温度測定部２１に温度を問い合わせる。このとき実際に問い合わせの対象となるサーバは、図２に描かれた２台のサーバ３，４だけでなく、メンテナンスや他の理由で対象外とされたもの除いた全てのサーバである。複数のサーバ３，４からの返信を受け取って各サーバ３，４の温度（厳密には動作温度を示すデータ）を取得すると、温度測定部２１は取得した温度を取得先のサーバの識別情報と合せて候補選定部１２に引き渡す。
【００１４】
温度取得部１１が問い合わせる温度は、ジョブの実行に伴う消費電力の低減に関係する温度である。サーバ３，４がジョブを実行するとき、サーバ３，４において実質的な演算装置として備わる図示しないＣＰＵが電力を消費する。このＣＰＵの消費電力が当該ＣＰＵの温度に依存する。詳しくは、図３に示されるように、１命令または単位時間といった設定単位あたりの消費電力量[Ｗｈ]は、通常の稼働温度域において温度上昇に伴って増大する。そこで、各サーバ３，４の温度測定部２１は、ロードバランサ２の温度取得部１１からの問い合わせに対する応答として、該当するサーバ３，４のＣＰＵにおける現状の温度を測定して温度取得部１１に通知する。
【００１５】
サーバ３，４の温度測定部２１は例えばソフトウェアによって実現することができる。近年のコンピュータに組み付けられるＣＰＵは温度センサを内蔵しており、このようなＣＰＵを備えるコンピュータではＯＳ(Operating System）による温度管理が行われるのが通常である。したがって、ＯＳから最新の温度測定情報を取得するプログラムを既存のコンピュータに実装することにより、ハードウェア構成を変更することなく、温度測定部２１を備えたサーバ３，４を実現することができる。
【００１６】
候補選定部１２は、温度取得部１１により取得された温度に応じて、複数のサーバ３，４のうちの少なくとも１台を、ジョブの割り当てを受ける候補に定める。省電力化の観点においては、より消費電力の小さいサーバにジョブを割り当てるのが有利である。ここで、全てのサーバの消費電力の温度特性が実質的に同一であるとする。例えば全てのサーバが同型の装置であれば、特性がほぼ同一になることが多い。消費電力の温度特性は図３のように温度上昇につれて単調に増加する特性であるので、現状の温度が低いほど消費電力が小さいことになる。それ故、候補選定部１２は、温度取得部１１により取得された各サーバ３，４の現状の温度うちの値が小さいものから順に選んだ１以上の温度に対応したサーバを候補に定める。候補の数は、サーバ総数よりも少ない数であり、ジョブ割当部１３に適用されるアルゴリズムに応じて設定されている。
【００１７】
候補の数が１に設定されている場合、候補選定部１２が定める候補は、現状の温度が最も低いサーバである。候補の数が１に設定されている場合は、候補選定部１２が定めた候補に対して無条件にジョブが割り当てられるので、候補選定部１２が実質的に割り当てを決定する手段となる。
【００１８】
ジョブ割当部１３は、候補選定部１２が定めた候補にジョブを割り当てる。クライアントからのリクエストを受けると、ジョブ割当部１３はその旨を温度取得部１１に通知し、候補選定部１２によって候補が選定されるのを待つ。候補選定部１２から通知される候補が一つである場合、ジョブ割当部１３はその候補にジョブを割り当てる。候補選定部１２から複数の候補が通知される場合、ジョブ割当部１３は予め決められたアルゴリズムに従って、複数の候補のいずれかにジョブを割り当てる。例えば、連続して同じサーバに割り当てないようにして負荷分散を均等化したり、第１位の候補の負荷が一定値を超える場合に次の順位の候補にジョブを割り当てたりするアルゴリズムが適用可能である。
【００１９】
図４では本実施形態１に係る負荷分散システム１０の動作の概略が示される。負荷分散システム１０は、ロードバランサ２に新たなジョブが到来するのを待ち（＃１１）、ジョブの到来に呼応して温度の比較的に低いサーバを判定する（＃１２）。判定のために各サーバから温度情報を収集する。判定の結果に基づき、例えば最も温度の低いサーバにジョブを割り当てる（＃１３）。そして、負荷分散システム１０は次のジョブの到来を待つ。ステップ＃１３におけるジョブの割り当ての前後において、ジョブの割り当て候補であるサーバの識別に用いられる情報を有するログを、ステップ＃１２または＃１３を実行する時刻と対応付けてロードバランサ２が有する記憶部に格納しても良い。さらに、このログを記憶部に格納する際に、＃１２において取得したサーバの温度情報を対応付けても良い。
【００２０】
以上の実施形態１の変形として、各サーバから取得した温度が閾値以下か否かを判定し、温度が閾値以下であるサーバを割り当ての候補とする態様がある。この態様では、選定される候補の数は最大でサーバ数になる。この態様によれば、消費電力量が温度の閾値に対応する一定量を超えるようなサーバにジョブが割り当てられることはないので、温度を考慮せずに割り当てをする場合と比べて消費電力を低減することができる。
【００２１】
また、省電力化ではなくジョブ実行の安定化を意図する変形として、各サーバから取得した温度が予め設定された適正範囲内か否かを判定し、温度が適正範囲内であるサーバを割り当ての候補とする態様がある。
〔実施形態２〕
実施形態２において、上述の実施形態１に対応する構成要素については、その図示において実施形態１と同一の符合を付し、重複する説明を省略する。また、実施形態１と類似する構成要素については、その図示において実施形態１と同一の符合にアルファベットの「ｂ」を付け加えた符号を付してある。
【００２２】
図５のように、実施形態２に係るロードバランサ２ｂには、ソフトウェアの実装によって負荷分散システム１０ｂが設けられる。負荷分散システム１０ｂは、温度取得部１１、候補選定部１２ｂ、ジョブ割当部１３、特性記憶部１４および特性情報取得部１５を備える。温度取得部１１およびジョブ割当部１３の機能は上述の実施形態１と同様である。候補選定部１２ｂ、特性記憶部１４および特性情報取得部１５の機能は次のとおりである。
【００２３】
候補選定部１２ｂは、温度取得部１１によって取得された温度に応じて、複数のサーバ３，４のうちの少なくとも１台をジョブの割り当てを受ける候補に定める。候補を定めるにあたり、候補選定部１２ｂは、特性記憶部１４において予めサーバの動作特性情報として記憶されている特性テーブルを参照する。特性テーブルは、図６に示されるように、全てのサーバのそれぞれについて、測定単位刻みごとの温度と消費電力量とを対応づけている。
【００２４】
省電力化の観点で有利な消費電力の小さいサーバにジョブを割り当てるため、候補選定部１２は特性テーブルから各サーバ３ｂ，４ｂの現状の温度に対応する消費電力量を取得し、取得した消費電力量のうちの値が小さいものから順に選んだ１以上の消費電力量に対応したサーバを候補に定める。候補の数は、サーバ総数よりも少ない数であり、ジョブ割当部１３に適用されるアルゴリズムに応じて設定されている。
【００２５】
候補の数が１に設定されている場合、候補選定部１２が定める候補は、現状の温度に対応する消費電力量の値が最も小さいサーバである。ここで注意すべきは、最も温度の低いサーバの消費電力量の値が最も小さいとは限らないことである。本実施形態２では図７に模式的に示されるように、複数のサーバの間で消費電力量の温度特性に差異がある場合が想定されている。サーバの機種やＣＰＵの種類が異なる場合はもちろんのこと、ＣＰＵが同型であっても温度特性に差異が生じることはある。ＣＰＵの製造時のばらつき、サーバの冷却能力や周辺温度などが温度特性に影響するからである。図７の例では、第４のサーバの温度が最も低いが、消費電力量の最も小さいのは第３のサーバである。候補の数が１に設定されている場合は、図７の例で第３のサーバにジョブが割り当てられるように、候補選定部１２ｂが定めた候補に対して無条件にジョブが割り当てられるので、候補選定部１２ｂが実質的に割り当てを決定する手段となる。
【００２６】
特性情報取得部１５は、例えばロードバランサ２ｂの電源投入時といった負荷分散動作の開始前の所定時期に、複数のサーバ３ｂ，４ｂのそれぞれに備わる特性記憶部２３から各サーバの動作特性情報を収集する。特性情報取得部１５によって収集された動作特性情報は、取得先のサーバの識別情報と合せて特性記憶部１４に引き渡される。そして、特性記憶部１４によってサーバごとに温度と消費電力量とを対応づける上述の特性テーブルが記憶される。
【００２７】
図８では本実施形態２に係る負荷分散システム１０ｂの動作の概略が示される。負荷分散システム１０ｂは、クライアントからのジョブの受け付けを開始する前に、各サーバから消費電力量の温度特性を収集して特性テーブルとして記憶する（＃１０）。ロードバランサ２ｂに新たなジョブが到来するのを待ち（＃１１）、ジョブの到来に呼応して消費電力量の比較的に小さいサーバを判定する（＃１２）。判定のために各サーバから温度情報を収集し、特性テーブル（動作特性情報）から各サーバの温度に該当する消費電力量を抽出する。判定の結果に基づき、例えば最も消費電力量の小さいサーバにジョブを割り当てる（＃１３）。そして、負荷分散システム１０ｂは次のジョブの到来を待つ。
【００２８】
以上の実施形態２の変形として、各サーバから取得した温度に対応する消費電力量が閾値以下か否かを判定し、消費電力量が閾値以下であるサーバを割り当ての候補とする態様がある。この態様では、選定される候補の数は最大でサーバ数になる。この態様によれば、消費電力量が閾値を超えるサーバにジョブが割り当てられることはないので、消費電力量を考慮せずに割り当てをする場合と比べて消費電力を低減することができる。
【００２９】
また、サーバの台数および機種の変更が頻繁でなければ、負荷分散システム１０ｂの特性記憶部１４に予め各サーバ３ｂ，４ｂの動作特性情報を記憶させておく態様が有用である。この態様では、負荷分散システム１０ｂの特性情報取得部１５、および各サーバ３ｂ，４ｂの特性記憶部２３が省略される。
【００３０】
実施形態２によれば、サーバ３ｂ，４ｂの動作特性に差異があったとしても、各サーバの動作特性に照らして最も消費電力量の小さいサーバにジョブを割り当てることができ、サーバシステムのより厳密な省電化を図ることができる。
〔実施形態３〕
実施形態３において、上述の実施形態１に対応する構成要素については、その図示において実施形態１、２と同一の符合を付し、重複する説明を省略する。また、実施形態１、２と類似する構成要素については、その図示において実施形態１、２と同一の符合にアルファベットの「ｃ」を付け加えた符号を付してある。
【００３１】
図９のように、実施形態２に係るロードバランサ２ｃには、ソフトウェアの実装によって負荷分散システム１０ｃが設けられる。負荷分散システム１０ｃは、温度取得部１１、候補選定部１２ｃ、ジョブ割当部１３、特性記憶部１４ｃおよび特性情報更新部１６を備える。温度取得部１１およびジョブ割当部１３の機能は上述の実施形態１と同様であり、候補選定部１２ｃおよび特性記憶部１４ｃは実施形態２の候補選定部１２ｂおよび特性記憶部１４ｂと同様の機能を有する。特性情報更新部１６の機能は次のとおりである。
【００３２】
特性情報取更新１６は、複数のサーバ３ｂ，４ｂのそれぞれに備わる特性記憶部２３から各サーバの動作特性情報を適時に収集する。特性情報更新部１６によって収集された動作特性情報は、取得先のサーバの識別情報と合せて特性記憶部１４ｃに引き渡される。そして、特性記憶部１４ｃによってサーバごとに温度と消費電力量とが対応づけて記憶され、特性テーブルが更新される。
【００３３】
特性情報取更新１６によって収集される動作特性情報は、各サーバ３ｃ，４ｃにおいて温度および電力量の測定によって生成される。そのための要素として、各サーバ３ｃ，４ｃは、温度測定部２１に加えて、電力量測定部２７および特性取得部２８を備える。特性取得部２８は温度測定部２１および電力量測定部２８から温度および電力量の測定値を取得し、例えば１℃刻みの複数の温度のそれぞれに電力量の測定値を消費電力量として対応づけて特性記憶部２３に記憶させる。
【００３４】
図１０のように電力量測定部２７は、電力計２７２、電力量算出部２７４および積算器２７６を備える。電力計２７２は電源からＣＰＵへ供給される電力を測定する。詳しくは、電力計２７２は、ＣＰＵにつながる通電路に挿入された微小抵抗の両端子間の電圧を検出し、検出した電流と電源電圧とを掛け合わせることによって電力を算出する。電力量算出部２７４は、ミリ秒、秒、分といった単位のサンプリング間隔と電力とを掛け合わせることによって電力量を算出する。積算器２７６は、特性取得部２８からの計測開始信号を受けて電力の積算を開始し、計測結果を特性取得部２８に送る。
【００３５】
図１１では本実施形態３に係る負荷分散システム１０ｃおよびサーバ３ｃ，４ｃの動作の概略が示される。各サーバ３ｃ，４ｃにおいて、後述のようにしてＣＰＵの消費電力量の温度特性が取得されて記憶される（＃９）。負荷分散システム１０ｃは、上述の実施形態２と同様に、クライアントからのジョブの受け付けを開始する前に、各サーバから消費電力量の温度特性を収集して特性テーブルとして記憶する（＃１０）。ロードバランサ２ｃに新たなジョブが到来するのを待ち（＃１１）、ジョブの到来に呼応して消費電力量の比較的に小さいサーバを判定する（＃１２）。判定のために各サーバから温度情報を収集し、特性テーブル（動作特性情報）から各サーバの温度に該当する消費電力量を抽出する。判定の結果に基づき、例えば最も消費電力量の小さいサーバにジョブを割り当てる（＃１３）。そして、負荷分散システム１０ｃは次のジョブの到来を待つ。
【００３６】
図１２はサーバ３ｃ，４ｃにおける特性取得動作の第１例を示す。この第１例では１命令あたりの消費電力量が測定される。各サーバ３ｃ，４ｃにおいて、特性取得部２８は温度測定部２１から温度を取得して開始温度Ｔ０として記憶し（＃３１）、電力量測定部２７に計測開始を通知する（＃３２）。特性取得部２８は、ＣＰＵに予め決められた所定の命令（例えばＡＰＩ(Application Programming interface)）を実行させ、命令実行回数Ｎを一つインクリメントする（＃３３）。特性取得部２８は再び温度測定部２１から温度を取得して最新温度Ｔとし、最新温度Ｔが開始温度Ｔ０よりも１℃以上高いか否かをチェックする（＃３４、＃３５）。ステップ＃３５でノーであって１℃以上の変化がない場合には、特性取得部２８はステップ＃３８へ進み、命令実行を一定回数（例えば、１０００回）以上繰り返しているか否かをチェックする。このチェックは、飽和状態になったならば測定を打ち切るために行うものである。ＣＰＵの温度がある程度まで上昇すると、それ以上は温度がほとんど上昇しない飽和状態になる。このチェックでノーであれば、すなわち命令実行回数Ｎが一定数未満であれば、特性取得部２８はステップ＃３３に戻ってＣＰＵに命令を実行させる。
【００３７】
ステップ＃３５でイエスであれば、命令の実行によって温度に１℃以上の変化があったことになる。この場合、特性取得部２８は、電力量測定部２７から電力量を取得する（＃３６）。そして、特性取得部２８は、取得した電力量をその時点の命令実行回数Ｎで除して１命令あたりの電力量を算出し、開始温度Ｔ０と対応づけて記録する（＃３７）。その後、ステップ＃３１〜＃３８の処理を繰り返すことによって、特性取得部２８は実質的に１℃刻みの複数の温度のそれぞれに対応した１命令あたりの消費電力量を取得する。
【００３８】
ステップ＃３５でノーであってかつステップ＃３８でイエスであれば、特性取得部２８は現状を飽和状態とみなして電力量測定部２７から電力量を取得し（＃３９）、１命令あたりの電力量を算出して記録し（＃４０）、取得処理を終える。
【００３９】
図１３はサーバ３ｃ，４ｃにおける特性取得動作の第２例を示す。この第２例では単位時間あたりの消費電力量が測定される。処理の流れの概略は第１例と同様である。
【００４０】
各サーバ３ｃ，４ｃにおいて、特性取得部２８は開始温度Ｔ０を記憶し（＃３１）、電力量測定部２７に計測開始を通知し（＃３２）、計時を開始して開始時刻を記録する（＃３２Ｂ）。特性取得部２８は、ＣＰＵに所定の命令を実行させ（＃３３Ｂ）、再び温度測定部２１から温度を取得して最新温度Ｔとし、最新温度Ｔが開始温度Ｔ０よりも１℃以上高いか否かをチェックする（＃３４、＃３５）。ステップ＃３５でノーであって１℃以上の変化がない場合には、特性取得部２８はステップ＃３８Ｂへ進んで、計時開始からの経過時間が一定時間（例えば、１分）を超えているか否かをチェックする。このチェックは飽和状態になったならば測定を打ち切るために行うものである。このチェックでノーであれば、すなわち一定時間が経過していなければ、特性取得部２８はステップ＃３３Ｂに戻ってＣＰＵに命令を実行させる。
【００４１】
ステップ＃３５でイエスであれば、命令の実行によって温度に１℃以上の変化があったことになる。この場合、特性取得部２８は、現在時刻を記録し（＃３５Ｂ）、電力量測定部２７から電力量を取得する（＃３６）。そして、特性取得部２８は、取得した電力量をその時点までの経過時間ｔで除して単位時間あたりの電力量を算出し、開始温度Ｔ０と対応づけて記録する（＃３７Ｂ）。その後、ステップ＃３１〜＃３８の処理を繰り返すことによって、特性取得部２８は実質的に１℃刻みの複数の温度のそれぞれに対応した単位時間あたりの消費電力量を取得する。
【００４２】
ステップ＃３５でノーであってかつステップ＃３８Ｂでイエスであれば、特性取得部２８は現状を飽和状態とみなして電力量測定部２７から電力量を取得し（＃３９）、単位時間あたりの電力量を算出して記録し（＃４０Ｂ）、取得処理を終える。
【００４３】
以上の実施形態３の変形として、実施形態２の変形と同様に、各サーバから取得した温度に対応する消費電力量が閾値以下か否かを判定し、消費電力量が閾値以下であるサーバを割り当ての候補とする態様がある。この態様では、選定される候補の数は最大でサーバ数になる。この態様によれば、消費電力量が閾値を超えるサーバにジョブが割り当てられることはないので、消費電力量を考慮せずに割り当てをする場合と比べて消費電力を低減することができる。
【００４４】
実施形態３によれば、サーバ３ｃ，４ｃの動作特性に経時変化や環境変化に伴う変化があったとしても、変化した動作特性に照らして最も消費電力量の小さいサーバにジョブを割り当てることができる。
【符号の説明】
【００４５】
３、４、５、６    サーバ（演算装置）
３ｂ，３ｃ，４ｂ，４ｃ    サーバ（演算装置）
１０、１０ｂ、１０ｃ    負荷分散システム
１１    温度取得部
１２，１２ｂ，１２ｃ    候補選定部
１３    ジョブ割当部
１４，１４ｃ    特性記憶部
１５    特性情報取得部（特性情報更新部）
１６    特性情報更新部
２１    温度測定部
２７    電力量測定部
２８    特性取得部
【図１】
0005621287.tif 000002
【図２】
0005621287.tif 000003
【図３】
0005621287.tif 000004
【図４】
0005621287.tif 000005
【図５】
0005621287.tif 000006
【図６】
0005621287.tif 000007
【図７】
0005621287.tif 000008
【図８】
0005621287.tif 000009
【図９】
0005621287.tif 000010
【図１０】
0005621287.tif 000011
【図１１】
0005621287.tif 000012
【図１２】
0005621287.tif 000013
【図１３】
0005621287.tif 000014