(57)【特許請求の範囲】
【請求項１】
作業負荷管理ソフトウェアを用いて管理される複数のノードを有する計算環境内のエネルギ消費を管理する方法であって、前記作業負荷管理ソフトウェアは、資源管理部と通信して、前記計算環境内のジョブのスケジュール設定および分配を行い、前記方法は、
前記複数のノード毎のエネルギ消費量を含む前記計算環境の現在の状態を示す状態情報および現在における前記複数のノード毎のエネルギ消費量と料金の関係を示す料金計算情報を受信するステップと、
前記計算環境内の前記作業負荷管理ソフトウェアによって予め予約された前記複数のノードを、現在消費している作業負荷を分析し、第１の分析結果を得るステップと、
前記状態情報、前記料金計算情報および前記第１の分析結果に基づいて、一のノードに割り当てられた作業負荷を、当該作業負荷の実行に要するエネルギ消費量にかかる料金が前記一のノードよりも安価である他のノードへ移行させるステップと、
前記現在の状態、および前記計算環境で消費される作業負荷の前記第１の分析結果に基づいて、少なくとも一つの電力消費節約動作を予測するステップと、
前記計算環境内の前記ノードを消費することが予定されている待ち行列にあるジョブを分析し、第２の分析結果を得るステップと、
前記計算環境内で前記待ち行列にあるジョブのうちの少なくとも一つが消費されるときに、前記第２の分析結果に基づいて、ジョブ別の電力消費量を予測するステップと、
少なくとも一つの電力消費節約動作と共に、前記計算環境内で前記少なくとも一つの待ち行列にあるジョブを消費するステップと、
を含み、
前記少なくとも一つの電力消費節約動作は、データの事前ステージング予約を変更することである、
ことを特徴とする方法。
【請求項２】
前記作業負荷を移行させるステップは、前記一のノードを低電力起動モードに設定することを含む、
請求項１に記載の方法。
【請求項３】
前記計算環境内で消費されることになる将来の作業負荷をジョブ別に分析して、エネルギ消費量を算出するステップを更に含み、
前記作業負荷を移行させるステップは、さらに、前記将来の作業負荷の分析に基づいて、前記一のノードから前記他のノードへ作業負荷を移行させる、
請求項１に記載の方法。
【請求項４】
前記作業負荷を移行させるステップは、少なくとも一つの前記ノードの電源をオンまたはオフにする、
請求項１に記載の方法。
【請求項５】
前記電力消費節約動作は、前記ノードのメモリをパワーダウンすること、前記ノードのディスクの回転を遅くすること、前記ノードのプロセッサのクロック速度を遅くすること、前記ノードのハードドライブをパワーダウンすること、および前記ノードを低電力消費モードに設定することのうちの一つである、
請求項１に記載の方法。
【請求項６】
前記作業負荷が前記計算環境内の前記ノードを消費するときに、前記計算環境および作業負荷を分析するステップと、
前記分析に基づいて、前記実施された、および、予想された、前記少なくとも一つの電力消費節約動作を動的に調整するステップと、を更に含む、
請求項１に記載の方法。
【請求項７】
動的に調整するステップは、
（１）パワーダウンするノードの数を、実施された数量から増減すること、または
（２）パワーダウンする前記ノードのメモリの数を、実施された数量から増減すること、
のうちの一方を更に含む、
請求項６に記載の方法。
【請求項８】
前記少なくとも一つの電力消費節約動作は、前記計算環境内でのジョブの移行、第２の計算環境へのジョブの移行、冷却システムの調整、および前記計算環境内の少なくとも一つの前記ノードの電力消費の調整、のうちの一つである、
請求項１に記載の方法。
【請求項９】
前記少なくとも一つの電力消費節約動作は、前記計算環境に関連付けられた冷却機構の使用状態を変更することに関する、
請求項１に記載の方法。
【請求項１０】
前記冷却機構を変更することは、前記少なくとも一つのジョブの消費に先立ち、前記計算環境内の前記ノードを事前に冷却することを含む、
請求項９に記載の方法。
【請求項１１】
共通の管理下に置かれ各ノードが他のノードとネットワークで接続された独立したコンピュータである複数のノードを含む計算環境であって、作業負荷管理部が作業負荷を前記複数のノードに分配するようスケジュールする計算環境の現在の状態についてのデータを受信するステップと、
前記計算環境内の前記複数のノードの資源を現在消費している作業負荷を分析するステップと、
前記データおよび前記作業負荷の分析に少なくとも部分的に基づいて、エネルギ消費に関連した方式で、作業を行う旨の予約を、前記計算環境内の資源の第１のグループから前記計算環境内の資源の第２のグループに移行することにより前記計算環境内の少なくとも一つの資源の利用を変更するステップと、
を含む、方法。
【請求項１２】
前記計算環境内の少なくとも一つの資源の利用を変更するステップは、前記複数のノードの少なくとも一つのノードを低電力起動モードに設定することを含む、
請求項１１に記載の方法。
【請求項１３】
前記データは温度及び電力消費量を含む、
請求項１１に記載の方法。
【請求項１４】
前記計算環境内で消費されることになる将来の作業負荷を分析するステップ、
を更に含み、
前記計算環境内の少なくとも一つの資源の利用を変更するステップは、前記データと、前記現在の作業負荷の分析と、前記将来の作業負荷の分析とに基づいて、前記計算環境内の少なくとも一つの資源の利用を変更する、
請求項１１に記載の方法。
【請求項１５】
前記少なくとも一つの資源は、ノードまたはメモリである、
請求項１１に記載の方法。
【請求項１６】
前記少なくとも一つの資源は、冷却機構に関連している、
請求項１１に記載の方法。
【請求項１７】
前記少なくとも一つの資源の電源をオンまたはオフにすることによって、少なくとも一つの資源の利用を変更するステップを更に含む、
請求項１１に記載の方法。
【請求項１８】
計算環境内の電力消費を管理する方法であって、
共通の管理下に置かれ各ノードが他のノードとネットワークで接続された独立したコンピュータである複数のノードを含む計算環境であって、作業負荷管理部が作業負荷を前記複数のノードに分配するようスケジュールする計算環境の現在の状態を受信するステップと、
前記計算環境内で消費される作業負荷を分析するステップと、
前記現在の状態、および前記計算環境で消費される作業負荷の分析に基づいて、少なくとも一つの電力消費節約動作を予測するステップと、
予測された少なくとも一つの電力消費節約動作を前記計算環境内で実施するステップと、
を含み、
前記少なくとも一つの電力消費節約動作は、作業を行う旨の予約を、前記計算環境内の第１の資源から前記計算環境内の第２の資源に移行する動作を含む、
ことを特徴とする、方法。
【請求項１９】
前記少なくとも一つの電力消費節約動作は、メモリをパワーダウンすること、ディスクの回転を遅くすること、プロセッサのクロック速度を遅くすること、ハードドライブをパワーダウンすること、および資源を低電力消費モードに設定することのうちの少なくとも一つである、
請求項１８に記載の方法。
【請求項２０】
前記作業負荷が前記計算環境内の資源を消費するときに、前記計算環境および作業負荷を分析するステップと、
前記作業負荷が前記計算環境内の資源を消費するときの前記計算環境および作業負荷の分析に基づいて、予測された前記少なくとも一つの電力消費節約動作を調整するステップと、を更に含む、
請求項１８に記載の方法。
【請求項２１】
前記調整するステップは、
（１）パワーダウンするノードの数を、実施された数量から増減すること、または
（２）パワーダウンするメモリの数を、実施された数量から増減すること、
のうちの一方を更に含む、
請求項２０に記載の方法。
【請求項２２】
電力消費を管理する方法であって、
共通の管理下に置かれ各ノードが他のノードとネットワークで接続された独立したコンピュータである複数のノードを含む計算環境であって、作業負荷管理部が作業負荷を前記複数のノードに分配するようスケジュールする計算環境の現在の電力消費状態を受信するステップと、
前記計算環境内の資源を消費することが予定されている待ち行列にあるジョブを分析するステップと、
前記計算環境内で前記待ち行列にあるジョブのうちの少なくとも一つが消費されるときに、前記分析に基づいて、電力消費量を予測するステップと、
前記予測に基づいて実施される少なくとも一つの電力消費節約動作と共に、前記計算環境内で前記少なくとも一つのジョブを消費するステップと、
を含み、
前記少なくとも一つの電力消費節約動作は、作業を行う旨の予約を、前記計算環境内の第１の資源から前記計算環境内の第２の資源に移行する動作を含む、
ことを特徴とする、方法。
【請求項２３】
前記少なくとも一つの電力消費節約動作は、前記計算環境内でのジョブの移行、第２の計算環境へのジョブの移行、冷却システムの調整、および前記計算環境内の少なくとも一つの資源の電力消費の調整、のうちの一つである、
請求項２２に記載の方法。
【請求項２４】
前記少なくとも一つの電力消費節約動作は、前記計算環境に関連付けられた冷却機構の使用状態を変更することに関する、
請求項２２に記載の方法。
【請求項２５】
前記冷却機構を変更することは、前記少なくとも一つのジョブの消費に先立ち、前記計算環境内の資源を事前に冷却することを含む、
請求項２４に記載の方法。
【請求項２６】
前記少なくとも一つの電力消費節約動作は、データの事前ステージング予約を変更することである、
請求項２２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算環境を管理することに関し、より詳細には、クラスタや、グリッドや、オンデマンドセンタ等の計算環境内のエネルギ消費を管理するシステムおよび方法に関する。
【背景技術】
【０００２】
（関連出願）
本願は、本願より前に出願された次の米国特許出願、２００６年８月１１日に出願された出願番号第１０／５３０，５８２号、２００６年８月１１日に出願された出願番号第１０／５３０，５８１号、２００５年３月１１日に出願された出願番号第１０／５３０，５７７号、２００５年３月１１日出願された出願番号第１０／５３０，５７６号、２００７年５月８日に出願された出願番号第１１／７１８，８６７号、２００６年８月１１日に出願された出願番号第１０／５８９，３３９号、２００５年３月１１日に出願された出願番号第１０／５３０，５７８号、２００５年３月１１日に出願された出願番号第１０／５３０，５８０号、２００８年２月４日に出願された出願番号第１０／５３０，５７５号、２００６年３月１６日に出願された出願番号第１１／２７６，８５６号、２００６年４月７日に出願された出願番号第１１／２７９，００７号、および２００８年１月３１日に出願された出願番号第１２／０２３，７２２号に関連している。これら各出願は、その開示内容全体を本願明細書の一部として援用する。
【０００３】
本願は、２００８年４月２１日に出願された米国仮出願第６１／０４６，６３６号の優先権を主張するものであり、前記出願は、その開示内容全体を本願明細書の一部として援用する。
【０００４】
グリッド、クラスタ、ファーム、オンデマンドサーバ等の計算環境内で資源の消費を管理することは、複雑で課題の多いプロセスである。グリッドコンピューティングは、動的な複数組織の提携における協調的な資源共有利用および問題解決処理として定義することができる。多くの計算プロジェクトは、単独のコンピュータが提供し得るものよりも遥かに多くの計算能力および計算資源を必要とする。プリンタ、スキャナ、Ｉ／Ｏデバイス、記憶ディスク、科学的装置および計器等の周辺資源を有するネットワークコンピュータは、タスクを完了するために連携されて利用されることを必要とし得る。計算資源という用語は、一般に、コンピュータプロセッサ、メモリ、ネットワーク帯域幅、および同様の各種の周辺資源を表す。計算ファームは、インターネットトラフィックを処理する等の目的で連動される複数のコンピュータを含むことができる。例えば、ウェブを検索するウェブサイトであるグーグル（登録商標）は、計算ファームを利用して、そのネットワークトラフィックおよびインターネット検索を処理する。
【０００５】
グリッド／クラスタの資源管理は、通常、計算環境に実行依頼されたグリッドアプリケーションまたはジョブを可能な限り効率的に実行するために、要求を特定し、アプリケーションに資源を適合させ、その資源の割り当てを行い、更に、グリッド資源のスケジュール設定および経時的監視を行うプロセスである。各プロジェクトまたはジョブは、異なる組み合わせの資源を利用するため、一般的にはそれぞれ固有のものである。例えば、一つのジョブは、コンピュータプロセッサおよびディスク空間を利用する場合がある一方で、他のジョブは、大容量のネットワーク帯域幅および特定のオペレーティングシステムを必要とし得る。特定のジョブまたは資源の要求に応じて資源を割り当てる課題に加え、アドミニストレータには、利用可能な資源、計算環境および利用可能な資源の現在の状態、ならびに各種ユーザ間のリアルタイムの競合する要望を明確に理解するという問題もある。このプロセスの一つの側面は、ジョブのために資源を予約する能力である。クラスタの管理者は、クラスタが、保証されたサービス品質でジョブを処理することを可能にする、一連の資源を予約することを求める。
【０００６】
クラスタおよびグリッドについての一般的な背景情報は、複数の刊行物において見出すことができる。例えば、非特許文献１および非特許文献２を参照されたい。
【０００７】
本明細書において、グリッドおよびクラスタの用語は交換可能であると概して理解されるが、これらの用語は異なる意味を有する。例えば、グリッドが、資源に対する要求を受け取り、その要求が特定の方式で処理されるものを意味する場合、これと同じ方式は、クラスタ、オンデマンドセンタ、計算ファーム等の他の計算環境にも適用することができる。クラスタは、一般に、一つのタスク、または一連のタスクを達成するために組織化される計算ノードの集合として定義される。通常、一つのグリッドは、図１に示すように複数のクラスタを含む。グリッド内の資源を最大化しようとする場合、いくつかの一般的な課題が存在する。第１は、一般に、グリッドおよびクラスタのスケジューラの複数の層が存在することである。グリッド１００は、通常、クラスタのグループ、またはネットワークコンピュータのグループを含む。グリッドの定義は非常に柔軟で、多数の異なるコンピュータ構成を意味し得る。本明細書の導入部は、実現可能な各種の構成を前提として一般的であるように意図されている。グリッドスケジューラ１０２は、複数のクラスタスケジューラ１０４Ａ，１０４Ｂ，１０４Ｃと通信する。これらの各クラスタスケジューラは、それぞれ個別の資源管理部１０６Ａ、１０６Ｂ、または１０６Ｃと通信する。各資源管理部は、クラスタ１１０内のノード１０８Ａ，１０８Ｂ，１０８Ｃ、クラスタ１１２内のノード１０８Ｄ，１０８Ｅ，１０８Ｆ、およびクラスタ１１４内のノード１０８Ｇ，１０８Ｈ，１０８Ｉとして示される、それぞれ個別の一連のコンピュータ資源と通信する。
【０００８】
ローカルスケジューラ（クラスタスケジューラ１０４または資源管理部１０６のいずれかであってよい）は、特定の資源１０８に近接しており、グリッドスケジューラ１０２が資源に直接アクセスすることを許可しなくてもよい。グリッドレベルのスケジューラ１０２は、通常、資源を実際に所有する、または制御するものではない。したがって、ジョブは、ユーザが保持する権限を超えない範囲で、高レベルのグリッドスケジューラ１０２からローカルの資源集合に実行依頼される。このことは効率を低下させ、資源の予約処理をより複雑にし得る。
【０００９】
共有計算資源の異機種混在的な特性も、効率の低下をもたらす。資源への専用アクセスを行わないグリッドレベルのスケジューラ１０２は、利用できる資源の能力について、差異の度合いが大きく、予測不可能であるという問題を抱えている。ほとんどの資源は、ユーザ間およびプロジェクト間で共有され、各プロジェクトは、互いに異なっている。プロジェクトのパフォーマンス目標は様々である。グリッド資源は、アプリケーションパフォーマンスを改善するために利用されるが、資源の所有者およびユーザは、単一のアプリケーションパフォーマンスを最適化することから、最高のシステム処理量を得ること、または応答時間を最小化することに及ぶ、様々なパフォーマンス目標を有する。地域の政策もパフォーマンスに影響を及ぼし得る。
【００１０】
オンデマンドセンタの利用、ならびに追加の音楽ダウンロードサービス、ビデオオンデマンドサービス、インターネット電話サービス等の新しいインターネットサービスの利用が増えているため、インターネット内で使用されるサービスおよびノードの数も増加し続けている。オンデマンドセンタ、グリッド、クラスタ等におけるサービスの数が増えるにつれて、このようなサーバで使用される電気の量も増加する。米国および全世界でサーバによって使用される電気の総量の推定は、設置基盤についてのデータ内で、測定データと、最も広く利用されているサーバによって使用される電力の推定値とを組み合わせることによって行われる。最近の推定の多くは、以前の推定よりも詳細なデータに基づいて行われている。政策立案者および事業者は、産業内のこれらの問題に気付き始め、その対策を取ろうとしている。
【００１１】
サーバに使用される電気総量は、米国内と全世界規模の両方において、２０００年から２００５年までの期間に倍増している。この増加のほとんどは、より安価なサーバ数が増大した結果であり、この増加のわずかな部分のみが、ユニット単位での電力使用の増加に因るものである。例えば、サーバによって使用された合計電力は、２００５年の米国の全電気消費量の約０．６％であった。ただし、補助的基幹設備の冷却処理を含めると、前述の数字は１．２％に上昇し、この値は、テレビの電気消費量に匹敵する大きさである。対応する基幹設備を含む、２００５年の合計電力需要は、米国については１０００ＭＷ級発電所のほぼ５つ分に相当し、世界的には１４の１０００ＭＷ級発電所に相当する。２００５年における、前述のサーバおよび対応する基幹設備を稼働するための電気料金の合計は、米国では約２７億ドル、全世界では７２億ドルであった。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】「Ｇｒｉｄ  Ｒｅｓｏｕｒｃｅ  Ｍａｎａｇｅｍｅｎｔ，Ｓｔａｔｅ  ｏｆ  ｔｈｅ  Ａｒｔ  ａｎｄ  Ｆｕｔｕｒｅ  Ｔｒｅｎｄｓ（グリッド資源管理、最新の技術と将来動向）」ジャレク・ナブルツスキー（Ｊａｒｅｋ  Ｎａｂｒｚｙｓｋｉ）、ジェニファ・ショーフ（Ｊｅｎｎｉｆｅｒ  Ｍ．  Ｓｃｈｏｐｆ）、およびジャン・ヴェグラーツ（Ｊａｎ  Ｗｅｇｌａｒｚ）著、クルアー学術出版社（Ｋｌｕｗｅｒ  Ａｃａｄｅｍｉｃ  Ｐｕｂｌｉｓｈｅｒｓ）、２００４年
【非特許文献２】「Ｂｅｏｗｕｌｆ  Ｃｌｕｓｔｅｒ  Ｃｏｍｐｕｔｉｎｇ  ｗｉｔｈ  Ｌｉｎｕｘ（リナックスでのベオウルフ・クラスタ計算）」ウィリアム・グロップ（Ｗｉｌｌｉａｍ  Ｇｒｏｐｐ）、ユーウィング・ルスク（Ｅｗｉｎｇ  Ｌｕｓｋ）、およびトーマス・スターリング（Ｔｈｏｍａｓ  Ｓｔｅｒｌｉｎｇ）編纂、マサチューセッツ工科大学（Ｍａｓｓａｃｈｕｓｅｔｔｓ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｔｅｃｈｎｏｌｏｇｙ）、２００３年
【発明の概要】
【発明が解決しようとする課題】
【００１３】
したがって、この技術に求められているのは、クラスタおよびグリッド等の計算環境内、または同様に構成される計算環境内の電力消費を管理する向上した機構である。
【課題を解決するための手段】
【００１４】
本発明の更なる特徴および利点は、後述する説明に記載されており、その特徴および利点の一部は、後述の説明から明らかになるであろうが、本発明を実践することによって習得できるものもある。本発明の特徴および利点は、特に付属の請求項に記載された機器および組み合わせを利用して認識および取得することができる。前述したもの、および他の本発明の特徴は、下記の説明および付属の請求項からより完全に明瞭になるか、または、本明細書に記載されるように本発明を実施することによって習得することができる。
【００１５】
本発明は、グリッドやクラスタ等のコンピュータ環境内の計算資源の使用と消費、予約処理、およびジョブのうちの少なくともいずれかを管理するシステム、方法、ならびにコンピュータ可読媒体に関する。一実施形態は、本明細書に開示する原理に従ってジョブを実行する計算環境そのものである。
【００１６】
本発明は、高性能計算処理を背景とした電力消費の問題に対処する。本発明の態様は、直接的（計算ノードの）電力消費と間接的（冷却機、サポートサーバ等の）電力消費の両方の削減を実現しながら、クラスタの全性能、またはサービス内容合意書（ＳＬＡ：Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔ）に基づいた十分なクラスタ性能のいずれかを維持することができる。これらの原理で動作する全ての機構は、柔軟であると共に、エンドユーザと作業負荷の両方に対して透明な方式で実現できなければならない。
【００１７】
本明細書に提示される開示に従って達成される他の事項は、アドミニストレータおよび管理者にレポートおよび図表作成の多彩な機構を提供して、計算環境がどのように利用されているのか、および電力が具体的にどのように消費されているのかを、顧客またはアドミニストレータが理解できるようにすることを含む。また、本システムは、電力消費全体を低減する動作を行うことができる。チャージバック（ｃｈａｒｇｅｂａｃｋ）機構も実現できるため、エンドユーザとスケジューラの両方の決定に、費用モデリング情報を反映させることができる。
【００１８】
本明細書で開示する基本構成要素は４つある。第１に、資源の状態を、特に電力および温度の関連において監視する機構が存在する。第２に、レポート作成機構が、電力および温度に関する前記状態を報告することである。そして、本システムは、ノードの電源をオンオフする、またはスリープ状態に設定できる機能等の電力管理機構と連動する。最後に、電力消費の制御機能を提供する知的方針を開示する。
【００１９】
本発明の実施形態は、作業負荷管理ソフトウェアを実行するサーバ等、資源管理部および他の機構と通信して、向上した電力消費を実現するシステムと、向上した電力消費を提供する特定の方法、本明細書に開示する原理に従って動作するクラスタグリッドやオンデマンドセンタ等の高性能計算環境、および本明細書に開示する原理に従って一つ以上の計算装置を制御して向上した電力消費を実現する、コンピュータ可読媒体に格納された作業負荷管理ソフトウェアを含む。例えば、作業負荷管理ソフトウェアは、クラスタリソース社（Ｃｌｕｓｔｅｒ  Ｒｅｓｏｕｒｃｅｓ，  Ｉｎｃ．）のＭｏａｂ（登録商標）ブランドの製品を含む。
【００２０】
前述したように、本発明の実施形態には、範囲に包含し得る各種のものが存在する。ただし、本発明の基本的機能は、方法の実施形態に関連して説明される。もちろん、本方法は、オンデマンド環境において、作業負荷管理ソフトウェアを動作させる一つ以上のサーバによって実施されても、または、高性能計算環境における電力消費を改善する各種の機能を実行する計算装置を制御する命令を格納するコンピュータ可読媒体に保存されてもよい。
【００２１】
高性能計算処理（ＨＰＣ：Ｈｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｃｏｍｐｕｔｉｎｇ）における電力消費を改善することに関わる４つの基本構成要素が存在する。環境内で一つ以上の電力消費動作を実施する各種の機構が開示される。これらの機構は図３に記載されている。第１に、システム３０４（計算環境と通信するノード上で稼働する作業負荷管理部等）は、計算環境３００内の資源の一つ以上の状態を監視する（３０２）。このことは、各種の方式で実行できる。基本的に、この概念は、計算環境内の特定の資源によって使用される電力と、その資源の温度とを監視することを伴う。したがって、システム３０４は、例えば、クラスタ内の特定のノードについて、その電力消費および温度を監視し（３０２）、この情報は、後述するように、前記特定のノードから見た作業負荷の分配およびタイミングを制御および管理するための知的方針に利用される。次に、モジュールは、資源の状態をレポートする（３０６）ように構成される。これには、特定の資源についての電力消費および温度に関する基本的情報も含まれる。レポート作成の側面には、後で詳しく説明するように、特定の性質の有用なレポートを実現できる特定の方式で、監視情報を整理することが含まれる。次に、他の構成要素は、電力管理機構３０８へのインターフェース３１２である。このことは、作業負荷管理ソフトウェア３０４が、ノードの電源をオンまたはオフにする等の電力管理に関わる各種の機構に命令を提供できる点で有用である。最後に、他の構成要素３０４は、電力消費部３１２，３１０を制御する知的方針を実現できる機構を含む。この知的方針は、好ましくは、資源の予約要求を受け取る作業負荷管理ソフトウェア３０４との関連において動作し、クラスタグリッド、オンデマンドセンタ、サーバファーム等の計算環境内の消費について、ジョブ３１０の受領および分配を管理する。
【００２２】
本明細書に開示する原理は、各種の計算環境に、エネルギを節約する多数の利益を提供することができる。例えば、これらの原理は、従来の作業負荷のパッキングと仮想化の技術を利用することによって、サーバの作業負荷を最大化して、ワット単位のパフォーマンスを増強することができる。これらの原理は、あらゆる機会を活用して、十分に活用されていないサーバから、より少数のサーバに作業負荷を集約させる。他の利点として、本原理は、アイドル状態のサーバを自動的に待機モードまたはスリープモードに設定でき、このことは、これらのサーバにおける電力消費を５０％も節約することに役立ち得る。システムは、このようなアイドル状態のサーバを完全にオフにして、更に大きくエネルギを節約することもできる。他の態様において、作業負荷管理部３０４は、高温のサーバを冷却できるように、作業負荷を移動することができる。この機構は、温度を意識した作業負荷のスケジュール設定を実現でき、過熱したサーバから作業負荷を移動することで、その過熱したサーバが独力で冷却できるようにして、冷却システムの需要を抑制することができる。本システムは、温度、ノードの利用度、およびエネルギ消費の統計情報を収集するツールを利用することによって、最もエネルギ効率の高いサーバに作業負荷を送ることができる。本システムは、最もエネルギ効率の良い資源に作業負荷を送って、消費ワット数当たりの実現可能な最高パフォーマンスを達成することを支援できる。他の利点は、サービス品質（ＱＯＳ：Ｑｕａｌｉｔｙ  Ｏｆ  Ｓｅｒｖｉｃｅ）保証を確実に満たしながら、エネルギコストがより低いオフピーク時間中に処理するように優先度の低い作業負荷を自動的にスケジュール設定することによって、システムがオフピーク時間を活用できることである。次に、他の利点は、作業負荷管理部３０４が、起動時間の制約、データ伝送時間、サービス内容合意書、および他の要因を考慮して、エネルギ比率の最も低い場所に作業負荷を移送できることである。最後に、本明細書に開示する原理の他の利点は、この原理に従って動作する作業負荷管理部が、ユーザに管理を任せて、組織のエネルギ効率の管理および文書記録を行って、環境負荷の低い計算を行うという目標を達成することを可能にする高度な追跡機能、最新の訓練機能、およびレポート作成機能を提供できるようにする。本システムは、潜在的には、炭素クレジット、またはチャージバックおよびレポート作成を目的とする他の統計情報を追跡する能力をユーザに付与することもできる。
【００２３】
前述したもの、ならびに本発明の他の利点および特徴を取得できる方法を記述するために、上記で簡単に説明した本発明の更に具体的な説明は、付属の図面に記載した本発明の特定の実施形態を参照しながら展開する。これらの図面は、本発明の典型的な実施形態のみを記述したものであるため、本発明の範囲を限定するものと見なされるべきではないという了解のもとに、付属の図面を利用して、更なる具体的かつ詳細な内容で本発明について記述および説明する。
【図面の簡単な説明】
【００２４】
【図１】複数のクラスタ内の計算ノードと情報をやり取りするグリッドスケジューラ、クラスタスケジューラ、および資源管理部の概略を示す図である。
【図２】システムの実施形態を示す図である。
【図３】環境負荷の低い計算処理のための基本構成要素を示す図である。
【図４】一つの司法管轄域から別の司法管轄域への移行の適用例を示す図である。
【図５Ａ】方法の実施形態を示す図である。
【図５Ｂ】方法の別の実施形態を示す図である。
【図５Ｃ】本発明の方法の更に別の実施形態を示す図である。
【図６】本開示の複数の態様を示す図である。
【発明を実施するための形態】
【００２５】
下記において、本発明の各種の実施形態を詳細に説明する。特定の実施例を説明するが、この説明は例示する目的でのみ行うものであることは理解されよう。関連技術の当業者であれば、本発明の精神および範囲から逸脱することなく、他の構成要素および構成を利用できることは理解されるであろう。
【００２６】
電力および温度等の観点から資源の状態を監視（３０２）する第１の主要構成要素に関して、モジュールは、複数資源の管理機能および固有インターフェースを利用して、下記の情報の少なくとも一つ以上を収集する。知的プラットフォーム管理インターフェース（ＩＰＭＩ：Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｌａｔｆｏｒｍ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｒｆａｃｅ）または他の低水準インターフェースによって、負荷の「ノード別消費ワット数」が収集される。他の情報は、ＩＰＭＩまたは他の低水準インターフェースによる負荷の「ノード別ＣＰＵ温度」に関する。更に他のパラメータは、システムネットワーク管理プロトコル（ＳＮＭＰ：Ｓｙｓｔｅｍ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）または他の低水準インターフェースによる、冷却機、記憶システム、ファイルサーバ、およびネットワークスイッチを含む、計算しない知的資源についての負荷の「消費ワット数」に関する。当業者であれば、作業負荷管理部内にプログラムされるか、または包含されるソフトウェアによってデータを検索および監視できる標準インターフェースのことは理解されよう。
【００２７】
次に、電力、電力消費量、および電力情報に加え、温度について、資源の状態を報告するという概念は、下記のことを含む。各種のレポートは、監視情報に基づいて生成することができる。例えば、ジョブレポートは、次に示す特徴、（１）ジョブ別の現在の電力消費、最小電力消費、最大電力消費、平均電力消費、および合計電力消費の特徴、（２）ジョブ別の経時的電力消費の特徴、（３）ジョブ別の消費キロワット時（ｋｗｈ）によるドル建て（または各種の通貨建て）コストの特徴、ならびに（４）ジョブ別の割り当て資源の平均温度の特徴を含んで生成される。もちろん、これらの概念と共に他のパラメータを利用して、ジョブごとの電力消費に関する情報を提供することができる。これに関して、ジョブの電力消費について、特定のジョブがある量の電力を消費したというレポートをユーザまたはアドミニストレータに送り返すことができる。この情報は、作業負荷管理部３０４で、各種の情報を分析して、該当するジョブをどのように計算環境に実行依頼するのかに関わる消費についての知的決定を行うために利用することができる。例えば、レポートは、ジョブが異なる方式または異なる場所で処理された場合と対比した、ジョブのエネルギ消費量の比較を提供することができる。全体コストの最小化、能動的冷却処理の最小利用という運用目標が複数存在する場合、レポートは、運用目標ごとに最適化するために提案する複数の構成と共に、各運用目標を組み合わせて提案する一つの最適な構成を含むことができる。
【００２８】
次に、ジョブの定型レポートも提供することができる。ジョブの定型レポートは、次に示すパラメータで情報を提供できる。パラメータは、（１）ジョブ別の現在の電力消費、最小電力消費、最大電力消費、平均電力消費、および合計電力消費、（２）ジョブ別の経時電力消費、（３）ジョブ別の消費ＫＷＨに対するドル建て（または各種の通貨建て）コスト、（４）ジョブ別の割り当て資源の平均温度、（５）ジョブ別ノード別のアプリケーションパフォーマンス、（６）ジョブ別ノード別の電力消費、および（７）ジョブ別ノード別ワット単位の最も有効なアプリケーションパフォーマンスである。ジョブの定型レポートから得られるこの情報は、特定のアプリケーション（ソフトウェアアプリケーション、オペレーティングシステム等）のパフォーマンスに関する追加の詳細内容と、特定のジョブについてのノード単位の電力消費のより詳細な分析とを提供することができる。また、この情報は、作業負荷の分配を改良して、ＳＬＡに保証された基準を満たしながら電力消費を改善することにも利用できる。
【００２９】
他のレポート生成機能は、認証情報レポートを含む。認証情報は、ユーザ、グループ、プロジェクト、またはアカウントと、クラスまたは待ち行列と、サービス品質（ＱＯＳおよびＳＬＡ）とのうちの少なくともいずれかのパラメータを含む。これらの情報は、電力消費に関して、認証情報パラメータに基づいた異なるタイプの視点を提供できる。これにより、アドミニストレータやユーザは、特定のタイプの認証情報によって実行依頼された作業負荷が、平均的電力消費量であるのか、平均を上回る電力消費量であるのか、平均に満たない電力消費量であるのか、または改善を必要とする電力消費量であるのかを特定できるようになる。例えば、認証情報レポートに含めることができるパラメータとしては、（１）認証情報別の現在の電力消費、最小電力消費、最大電力消費、平均電力消費、および合計電力消費、（２）認証情報別の経時電力消費、（３）認証情報別の（消費ＫＷＨによる）ドル建て（または他の通貨建て）コスト、および（４）認証情報別の割り当て資源の温度が挙げられる。
【００３０】
生成できる他のタイプのレポートには、ノードレポートがある。ノードレポートは、その名前が示すように、ノード単位での使用量および消費量に関する情報およびデータを提供する。パラメータとしては、（１）ノード別の現在の電力消費、最小電力消費、最大電力消費、平均電力消費、および合計電力消費、（２）ノード別の経時電力消費、（３）ノード別の消費ＫＷＨに由来するコスト、ならびに（４）ノード別の現在の温度、最低温度、最高温度、および平均温度が挙げられる。
【００３１】
生成できる他のレポートには、区分レポートがある。区分レポートには、各区分を単位とする少なくとも次のパラメータが含まれる。パラメータは、（１）区分別の現在の電力消費、最小電力消費、最大電力消費、平均電力消費、および合計電力消費、（２）区分別の経時電力消費、（３）区分別の消費ＫＷＨに由来するコスト、（４）区分別の現在の温度、最低温度、最高温度、および平均温度、ならびに（５）区分別の経時的な実電力消費と環境負荷の大きい電力消費と最大電力消費との対比である。これらのパラメータにより、計算環境内で作業負荷を消費するために形成された区分について、情報を提供することができる。
【００３２】
電力管理の機構との相互作用に関して、計算環境内の電力を管理する用途で、少なくとも下記の動作を利用できる。電力管理機構は、ノードの電源をオンにする機能、ノードの電源をオフにする機能、およびリナックスのスリープ状態等のスリープ状態を有効化する機能を含む。現在使用されていないノードまたは他の資源をパワーダウンする、または電力消費を低減するために有効化できる他のスリープ状態も存在し得る。例えば、各種の機構は、可能なものすべての出力を低下させる休止状態を提供するが、依然として同期状態を維持する。他の電力管理機構は、資源を低電力待機モードまたはスリープモードにする機能を含む。これらの管理機構は、作業負荷管理部によって命令されて、ＳＬＡに準拠したサービスの保証レベルを維持すると共に、電力消費の観点での計算環境の効率を最大化するように制御される。
【００３３】
本願の出願時において、より新しいサーバは、いくつかの電力管理機能を独立かつ内部的に提供し始めている。例えば、サーバには、自身の電源をオフにできるそれぞれ固有の管理ソフトウェアを含むものもある。これは、基本的に局所的知識に基づいたものである。本開示の一態様は、これらの管理機能またはＡＰＩを外部に設けることに関わり、これにより、電力管理機構３０８および作業負荷管理部３０４の両方と通信して、電力管理を行うための命令を受信できるようにするものである。この点において、システムは、メモリの特定の部分に侵入でき、場合によってはその部分を停止することが可能であってよい。例えば、システムは、低メモリ状態で動作するようにノードに命令することができる。したがって、特定のノートが４ギガバイトのＲＡＭを有していても、作業負荷が小さいか、より大きい場合に、作業負荷管理部３０４は、その特定のノードが自身を制限してＲＡＭを２分の１ギガバイトまで落として、この休止状態に留まるように、その特定のノードに命令することができる。ここで、メモリはかなりの量の電力を消費するため、実施されたメモリ制限により、電力消費が抑制される。他の例において、管理ソフトウェアは、各プロセッサのクロック速度を低減する、特定のプロセッサまたはコアの電源をオフにする、ハードドライブをパワーダウンする、ＤＶＤ−ＲＯＭや他のタイプのインターフェース等の周辺装置の回転速度を低減することが可能であってもよい。すなわち、計算環境のあらゆる電力消費構成要素は、その構成要素の利用を管理および制御できる作業負荷管理部３０４に接続することができる。したがって、作業負荷、ジョブ、ジョブ分析部、資源分析部等との各種の接続は、全て、本明細書に開示する原理に従って監視、報告、および制御することができる。
【００３４】
計算環境内の前述した個々の資源を制御することに加え、本開示の一態様において、前述した全ての状態は、予測に基づいて利用できる異なる動作であり、この動作において、作業負荷管理部３０４は、ジョブが到来したとき、または、環境内の資源を効率的に消費するという想定で予約を受け取ったときに、ノードをパワーダウンする、ＲＡＭの一部または全てをパワーダウンする、ＤＶＤ−ＲＯＭの回転速度を遅くすること等を想定できる。更に、動的方式で調整を行うことができ、この動的方式では、事前決定がなされて作業負荷による消費が開始した後で、作業負荷、環境、ＳＬＡ、または各種の他のパラメータにおける変化を識別でき、効率を改善するために、電力管理の決定と命令、もしくは予測、またはその両方を修正することができる。例えば、システムは、ジョブに必要なＲＡＭの量を過大に推定する場合がある。実際の作業負荷が処理されるときに、システムは、実際にはより少ないＲＡＭが必要とされていることを判断して、適切な調整を行い、より多くのＲＡＭを休止状態に設定する。オンデマンドセンタの空調に失敗すると、ノードが過熱し得る。この場合、作業負荷管理部３０４は、他の計算環境に作業負荷を転送するか、または過熱領域内のプロセッサのクロック速度を遅くする等、熱に対処する他の変更を行う。したがって、作業負荷管理部３０４は、環境および作業負荷の現在の状態についての情報、もしくは将来の作業負荷についての知識、またはその両方を利用して、計算環境内のいずれかの特定の資源のパワーダウンまたはパワーアップをいつ行うのか等のエネルギ節約決定を実施することができる。ノードのパワーダウンまたはパワーアップは、現在および将来の両方の作業負荷の状態および／または知識、ならびに予想された作業負荷の状態および／または知識に関連する情報に基づいて行うことができる。
【００３５】
計算環境３００における電力消費を管理する機構について、一例の方法は、計算環境３００の現在の状態についてのデータを受信することを含む。受信されるデータは、例えば、現在の作業負荷、現在の温度、現在の電力消費、待機モードである現在のノード、低下した電力消費モードであるメモリ、等についてのデータを含むことができる。計算環境３００の現在の状態に関するあらゆるデータは、このカテゴリに入り得る。次に、本方法は、計算環境３００内の資源を現在消費している作業負荷を分析する。本方法は、次に、受信したデータおよび作業負荷の分析に基づいて、計算環境３００内の少なくとも一つの資源に対して、その電源をオンもしくはオフにする、または他の電力節約ステップを実行することを含む。少なくとも一つの資源の電源をオフにすることは、少なくとも一つのノードを低電力待機モードにすることを含んでよい。この少なくとも一つの資源は、ノード、メモリ、ルータ、帯域幅、等であってよい。他の態様において、前記分析は、計算環境３００を消費する予定である作業負荷の分析を更に含む。作業負荷管理部３０４は、作業負荷を消費する予定であるジョブの待ち行列を受信して設定する。本実施形態の一つの側面は、まだ計算環境３００内の資源を消費してはいないが、その資源を消費することが予定されている作業負荷の分析を実現できることである。
【００３６】
方法の他の実施形態において、システム３０４は、計算環境の現在の状態に関するデータを受け取って、計算環境３００内で消費される予定の作業負荷を分析することによって、計算環境３００内の電力消費を管理するステップを実行する。このシステムは、現在の状態および分析された作業負荷に基づいて、少なくとも一つの電力消費節約動作を予測し、予測された少なくとも一つの電力消費節約動作を計算環境内で実施する。電力消費節約動作は、ノードのパワーダウン、ＲＡＭ等のメモリのパワーダウン、ディスクの回転速度の低減、プロセッサのクロック速度の低減、ハードドライブのパワーダウン、または資源の低電力消費モードの設定のうちの一つであってよい。他の電力節約ステップも同様に行うことができる。本システムは、作業負荷が計算環境３００内の資源を消費しているときに、計算環境３００および作業負荷を分析することもでき、計算環境および作業負荷のこの分析に基づいて、動的に、実施および予測された少なくとも一つの電力消費節約動作を調整することができる。少なくとも一つの電力消費節約動作を動的に調整する一例としては、パワーダウンまたはパワーアップするノードの数を、実施された数量から増減することが挙げられる。動的調整の他の例は、パワーダウンするＲＡＭ等のメモリの量を、実施された数量から増減することを含む。
【００３７】
次に、システム３０４は、電力消費を制御する知的方針を提供する。例えば、アイドルプール管理機構は、作業負荷予測機構を利用して、待ち行列の作業負荷を実行するためにアイドルノードが必要とされる時点を決定することを含む。この管理機構は、アイドルプールに加わることになるノードを指定することもできる。瞬時作業負荷応答のために、本方法では、アイドル状態に留ることができるアイドルノードの数、および目的とする作業負荷が存在しないときに、最小の指定時間枠のノード割り当てを目的としてパワーアップされるアイドルノードの数が指定される。システムは、指定された範囲に入らないアイドルノードをパワーダウンして、オフモードまたは待機モードのいずれかに設定する。システム３０４は、ノードの平均故障間隔（ＭＴＢＦ：Ｍｅａｎ  Ｔｉｍｅ  Ｂｅｔｗｅｅｎ  Ｆａｉｌｕｒｅ）に影響し得る、電力管理のスラッシング（ｔｈｒａｓｈｉｎｇ；ノードの電源をオンオフすること、ハードドライブの回転速度を速くし、その後で遅くすること等）を防ぐために、ノード移行の調整（ｔｈｒｏｔｔｌｉｎｇ）を実施できる。また、システム３０４は、エンドユーザおよび作業負荷からノード、電力状態、および状態変位を隠す、トランスペアレント（ｔｒａｎｓｐａｒｅｎｔ）な電力管理も実現できる。
【００３８】
他の知的方針は、ＱＯＳ基準の電力管理方針である。ここで、システム３０４は、ＱＯＳ別の未処理作業および応答時間係数に基づいて動的に調整される、資源プールのサイズ設定を実現できる。この場合、例えば、一部のノードは、待ち行列のジョブが存在していても、ＳＬＡが満たされる限り、パワーダウンモードに維持されてよい。電力の原価計算は、システムで実施される他の知的方針で、この方針において、システムは、時刻基準の電力請求料金を含め、ユーザ割り当てに対する「消費ワット数」基準の内部作業負荷請求を実現できる。ＱＯＳ電力基盤管理の例では、環境負荷の低い計算処理の単純な局面を示し、その後で、ＱＯＳに基づく電力管理を実施できる方式についての詳細な例示を提供できる。例えば、環境負荷の低い計算処理の第１段階において、システムは、ジョブを有し、そのジョブに着手することを決定して、そのジョブを実行するノードを起動することができる。システムは、ジョブが待ち行列内にあり開始する準備が整っていれば、単純に、生じ得る確実な最高応答時間または最大スループットをユーザに提示するように処理を進め、ノードがアイドル状態になる予定であれば、特定のノードを対象としたものがシステムに存在しない場合に、前述のアイドル状態になる予定のノードの電源をオフにする。ＱＯＳ電力基準の管理では、システムは、ジョブが待ち行列にあり、かつ処理する用意が整っている場合に、そのジョブを特定の時点で処理すべきかどうかを決定する追加の知的処理を提供する。例えば、システムは、資源が利用可能であるという理由だけで、必ず数秒以内にジョブを実行する必要はない。特定の時間長さだけジョブの実行を待機することによって、計算環境３００の電力管理が向上する場合もある。例えば、システムは、あるタイプの組織は、３０分の応答時間を必要とするが、他のタイプの組織は１５秒の応答時間を必要とするというＳＬＡを有する場合がある。システムは、各種のＳＬＡが満たされることを保証することができ、個々のＳＬＡを満たす範囲においてのみ、資源の電源のオンおよびオフを行うことができる。したがって、システムは、ノードが電源オフの状態にある２０分の間、待ち行列に存在しているジョブを保持することができる。システムは、直ちにノードの電源をオンにして作業負荷を処理することもできるが、ＱＯＳ電力基準管理の知的処理において、システムは、電力消費を改善できる場合には、該当する時間まで（この例では）ジョブの処理を遅らせ、その後で、ノードの電源を投入して資源を消費することを決定する。システム３０４は、計算環境３００の領域に寒冷前線が到来するという知見等の外部情報を受け取り、その寒冷前線が到来するまで、熱が集中するジョブの処理を先延ばしすることもできる。
【００３９】
ＱＯＳ電力基準の管理の他の態様において、電力管理閾値は満たされるが、そのためにはＳＬＡに違反する必要がある場合には、実際にユーザとの対話を行うことが可能であってよい。例えば、システム３０４は、１５秒の応答時間を要求するＳＬＡを保持するユーザ３１２にフィードバックを提供することができ、このフィードバックにおいて、システムは、エネルギの節約を目的としたＳＬＡとの齟齬を要求できる。これは、もちろん、計算環境、待ち行列内のジョブ、ＳＬＡ、場合によっては過去の履歴等のうちの少なくとも一つの分析に基づいたものである。このシナリオにおいて、システム３０４は、標準ＳＬＡからの逸脱を承認する会話を行うことができる。このタイプの詳細内容は、通例的にＳＬＡに予め記載されていると好ましい。すなわち、ＳＬＡは１５秒という一般的な応答時間を含んでよいが、その応答時間を変更することによって、電力消費を改善する特定の閾値を達成できる場合に、ＳＬＡは、標準の要求応答時間からのこのような逸脱を予め承認するパラメータを含むことができる。
【００４０】
他の知的方針は、時刻基準の電力消費に関わる。ここで、システム３０４は、最も値段の高い「ピーク」電力消費期間中には最も緊急を要する（ｔｉｍｅ−ｃｒｉｔｉｃａｌ）作業負荷のみを実行し、他の作業負荷は、より低コストの期間まで延期するという知的スケジュール設定を実現できる。緊急を要する作業負荷は処理する必要があり、妥協点は、作業負荷を処理することと、電力消費により少ない金額を支払うこととのバランスであるため、例えば、一日のうちで最もコストの高い消費期間が午前９：００から昼の１２時までの間である場合、知的スケジュール設定方針は、ジョブまたはジョブの待ち行列を識別し、前述の期間中に、最も緊急を要する作業負荷を実行することができる。この後、必要性のより低い他の作業負荷は、例えば、１２時から午後１時の昼食期間中、または、更に後で、より安価な電力コストを利用できる深夜に処理することができる。特定の環境に関連付けられた請求レートを把握して、個人ユーザ、または大規模なシステムユーザもしくは部門であってよいユーザに請求書を送れることは、ユーザが計算資源を利用することを許可する何らかのクレジット単位を持つことであってよい。例えば、電力コスト計算の概念は、前述のクレジットの一部が、作業負荷のワット数に基づいて直接消費されることを可能にするものである。したがって、システム３０４は、計算資源の使用に対応する通常のコスト計算係数を提供できる。例えば、システム３０４は、特定の用途が、プロセッサ秒当たり特定数のクレジットを使用する予定であることを割り当てているため、システム３０４は、環境のそのままの利用（ｒａｗ  ｕｓｅ）を実現できる。また、ユーザには、実際の消費電力について料金を請求することができる。したがって、本開示のこの態様は、データセンタまたは高性能計算（ＨＰＣ：Ｈｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｃｏｍｐｕｔｉｎｇ）クラスタ３００のコスト構造、および電力コスト計算手法をモデル化して、基本的にエネルギ使用のモデル化およびエネルギ使用に対するユーザへの請求を行おうとするものである。
【００４１】
他の知的方針は、温度に基づいた作業負荷分配に関わる。ここで、システムは、データセンタまたはクラスタ内の熱放散ひいてはノード温度のバランスを取るように作業負荷を分配するノード割り当て方針を実現できる。ここで、温度についての監視情報を利用して、作業負荷管理部は、実際に、より高温で動作しているノードではなく、より低温で動作しているクラスタ内の特定のノードに作業負荷を分配することができる。したがって、システムは、知的処理として、自動学習または他の機構に基づいて、高温のノードに「低熱」作業負荷を送ることで、データセンタの熱分布のバランスを取ることができる。例えば、特定のジョブには、Ｉ／Ｏが限定的であり、ネットワーク全体に遥かに多くのデータスループットを要求するものがある。他のジョブは、プロセッサが極めて限定的であると共に、そのうちの一部のジョブには、利用および料金要件が徐々に増大するものもある。このように、異なるジョブおよび異なる作業負荷は、異なる資源消費特性、ひいては様々な電力消費特性を有する。他の例は、電力効率のよい超低電圧（ＵＬＶ：Ｕｌｔｒａ−Ｌｏｗ  Ｖｏｌｔａｇｅ）プロセッサと標準プロセッサとを含む異種計算環境である。ＵＬＶプロセッサは、極めて僅かな発熱で、常に１００％のＣＰＵ利用に対処できるが、標準ＣＰＵは、同一の作業負荷でかなりの熱を生成することになる。同一のジョブでも、同じ場所にあるどのハードウェアがそのジョブを処理するのかによって、熱に関する異なる特徴をもたらし得る。したがって、システム３０４による分析は、各ＣＰＵおよびその発熱特徴の知識に基づいて、エネルギ節約決定を行うことを含む。
【００４２】
基本的に、作業負荷管理部の学習者能力は、このような情報を利用して、アプリケーションまたは特定のタイプの作業負荷のプロファイリングを行い、そのアプリケーションまたは作業負荷がどのようなタイプの電力消費特徴を有するのかを見出す。システム３０４が、電力の消費特徴を特定した後、前記システムは、データセンタに着目して、該当する作業負荷を処理するときに、データセンタ３００にどのような追加の熱が加わることになるのかを判定することができる。システム３０４は、前記センタへの追加の熱全体がどうなるのかを特定することができる。この方式で、システム３０４は、データセンタ３００が、過熱されて、計算環境を認証された温度範囲から逸脱させることになるかどうかを判断することができる。システムは、実際に、ノード別またはパーティション基準で、データセンタの低温の物理的部分が存在するのかどうかを特定することができる。この場合は、もちろん、監視状態を利用および分析することで、作業負荷管理部は、実際に、一つの棚の中、または特定の冷却機もしくは冷却ユニット３１６の隣に特定の作業負荷を配置でき、その結果、環境内で資源が消費されるときに、作業負荷管理部３０４は、結果的に生じる温度上昇をバランスさせることができる。このことは、もちろん、費用の節約になるが、これは、作業負荷管理システム３０４が、特定の温度閾値外になることを防げるほど十分に知的であるため、計算環境の設計者および購買者は、冷却システムについての過剰な購入、または過剰な支払いを行う必要がないことに起因する。このことは、本明細書に開示した原理の一例の利点であり、この利点は、このような計算環境の所有者および運営者とっての直接的な費用節約である。
【００４３】
次に、前述したジョブの移行に関連のある他の概念は、システムが、場合によっては、現在の時刻においてジョブを実行しないことである。作業負荷管理ソフトウェア３０４は、場合によっては、ジョブをすぐに実行しないことを決定し、そのジョブを開始しても、システムが目標として維持しようとしている合計温度閾値、ワット数閾値、熱量（ＢＴＵ；Ｂｒｉｔｉｓｈ  Ｔｈｅｒｍａｌ  Ｕｎｉｔ）閾値を超えることのない場所および時間を特定することができる。したがって、上記では主に温度について考察したが、ワット数閾値およびＢＴＵ閾値も、計算環境内での作業負荷の配置およびジョブの移行に関する決定に考慮すべきパラメータになり得る。
【００４４】
本開示の他の態様において、知的方針は、ジョブの移行処理を採用できる作業負荷管理部３０４で実施されてもよい。この態様の例は、実行中のジョブが予想よりも多くの熱を発生する時点を特定することを伴う。許容可能なレベルの熱と共に特定の閾値を越える場合、作業負荷管理部３０４は、新たなより低温の場所に当面のジョブを実際に移行させる。このことが該当するシナリオはいくつか存在し得る。例えば、ジョブまたは作業負荷が一定の特徴を備えておらず、そのジョブによって発生する熱についての最適で最も正確な予測が不正確であった可能性があり、その結果、新しい場所へそのジョブを移す修正が必要になる場合があり得る。したがって、この点において、他の態様は、作業負荷の特徴を生成することを含み、この特徴は、保存されて、後に実行依頼される、同一または類似の特徴を有する可能性のあるジョブの作業負荷の分散を改善するために、後日利用することができる。
【００４５】
更に、電力管理機構３１２への他のインターフェースは、作業負荷管理部３０４が、空調や冷却ユニット３１６等の熱管理機構にも接続することを許可できる。したがって、システムは、受け取ったデータに基づいて、更に高温になり得る高温のノードに作業負荷を送ることになることが特定のパラメータおよび閾値から判明した場合、システムは、空調ユニットまたは冷却機構３１６に命令して、その機能を強化し、予想される温度上昇または現在実際に上昇している温度を吸収させることができる。また、システム３０４は、空調ユニットまたは冷却機構に命令して、例えば、配管または通気孔を遠隔制御して、より多くの冷気が最も高温のノードに向かうように仕向けることによって、建物の特定の部分またはサーバルームを冷却することもできる。この点で、システム３０４による配管、ファン等のこのような制御を通じて、極めて局所的な温度管理を連動させることができる。
【００４６】
温度についての、本開示の他の態様は、温度に基づいた応答に関わる。ここで、システムは、過度に「高温の」ノードの割り当てを除外する温度閾値を実現でき、更に、自動動作または自動通知を動的に開始する温度閾値を提供することができる。前述したように、自動動作は、計算環境そのもの、またはデータセンタもしくは計算環境に配置された温度制御機構のいずれかを必要としてよい。更に、もちろん、過度の熱や危険な状況を警告するために、ユーザまたはアドミニストレータに通知を提供することができる。
【００４７】
温度に基づいた応答の例は、作業負荷管理部３０４に関連付けられた一般的な計量機能を用いるものである。ここで、作業負荷を処理する決定に利用される計量処理の一つは、計量値として温度を追加することである。このため、作業負荷管理部３０４は、作業負荷のデフォルトパラメータとして、作業負荷は特定の閾温度Ｘより温度が低いノードのみを利用できることを示す内容を設定することができる。この点で、計算環境３００内への作業負荷の分配の観点から標準の一般的計量を実施することになる。第２の態様は、トリガ動作の場合であり、このトリガ動作も一般的計量における加熱処理に関して操作して閾値を設定することができる。したがって、既に利用された一般的計量に温度閾値、ワット数閾値、または熱量閾値を利用するという考えは、計算環境内で作業負荷を処理するときに、温度、ワット数、または熱量に基づいた応答を向上させて供給する機能を提供する。
【００４８】
システムによって可能になる他の知的方針は、電力基準の作業負荷パッキング方針である。ここで、システムは、作業負荷の配置を最適化し、かつ、最大数のサーバをアイドルモードまたは待機モードにして、消費される合計電力を最小化できるジョブパッキングを実現できる。ここで、システムは、ジョブの移行（仮想計算機またはチェック再始動に基づく機構を利用した移行）を実施して、既存の有効な作業負荷のパッキングを改善することができる。パッキング方針の一例として、システム３０４は、計算環境内の１６コア機械を管理すると仮定する。このような機械にパッキングすることは、システムにとって合理的であり得る。なぜなら、１コアが稼働する一つの機械と２コアが稼働する一つの機械との違いは、それぞれ１コアが稼働する２つの機械に対する違いと比べ、その一つの機械に２つのコアをパッキングすることで、電力が大幅に節約されるからである。このため、システムアルゴリズムは、これまで、競合を最小限に抑え、個々の各ジョブのパフォーマンスを最大化するように作業負荷を展開していた。ここで、向上したシステム３０４は、アルゴリズム内に電力節約属性を含む。したがって、作業負荷管理部３０４は、依然としてパフォーマンスを最大化することを求めながらも、費用がかかるかどうかを判定することができ、システム３０４は、電力消費のコストと、最大の分配による軽微なパフォーマンスの改善とをバランスさせる処理を追加する。この概念には、電力消費方針および電力管理の可能性を理解することも含まれる。したがって、システムが１６コア機械に作業負荷を集約させ、かつ、システムが緊密パッキングアルゴリズムを使用すれば、計算環境３００において、より多くのコアおよび他の資源の電源をオフにでき、ジョブの移行によって更に大きな節約を提供する。基本的に、前記システムは、より少ないノード上でより多くのジョブを実行し、これ以外の場合には作業負荷が分配されることになるはずの他のノードをパワーダウンする。
【００４９】
従って、この概念が適用されるのは、例えば、同一のノードにおいてジョブＡとジョブＢの両方を実行すると、計算環境を共有するという側面によってユーザは３％の遂行能力の低下に直面し得るが、ジョブＡとジョブＢが２つの個別のノードに分離されると、この分離により、電力消費が２０％だけ上昇し得る場合である。ここで、均衡化アルゴリズムが、電力の節約と引き換えにパフォーマンスが低下することが適切かどうかを判断する。
【００５０】
次に、本明細書で開示する他の知的方針は、電力効率パッキング方針である。ここで、システム３０４は、ノードごとアプリケーション別パフォーマンスを自動的に学習することができる。これにより、アプリケーションパフォーマンスと電力消費を相関させて、作業負荷のノードマッピングについての最も効率的なアプリケーションを識別することができる。ここで、システムは、マッピング情報も利用して、最適なノードに作業負荷を知的にシフトする。自動学習は、アプリケーションごと、または作業負荷ごとに、そのアプリケーションを処理するために必要とされる特定の作業ユニットの数を識別することを含む。各アプリケーションは、いくつかの作業を有するため、タイプの異なるハードウェアで動作するときに、各種の速度で動作することになる。システム３０４は、基本的に、ノード別パフォーマンス、またはこの特定の資源上でアプリケーションを実行する効果の程度を測定する。この情報を把握した後、システム３０４は、パフォーマンスと電力消費とを自動的に相関させることができる。これまで、システム３０４は、主に、単純に時間単位の測定値として、パフォーマンスを特定していた。言い換えると、システムが１秒当たりに達成できる処理ウィジェット（ｗｉｄｇｅｔ）の数である。ここでは、システム３０４は、資源の消費を異なる角度で見て、キロワット電力当たりで消費されるウィジェットの数を求める。したがって、この概念は作業の単位になり、システム３０４は、応答時間と電力消費の両方を一緒に分析して、特定のジョブの合計コストを算出する、より大規模なアルゴリズムを実施する。このように、アプリケーションの最も効果的かつ効率的な処理は、ここで、電力に加えて応答時間に基づいたものになる。したがって、作業負荷管理部３０４によって駆動される無限割り当てアルゴリズムは、システムが、計算環境内の最適なノード、または異なるタイプの最適かつ最も効率的な他の資源を取得するために若干長く待機できるようにする。
【００５１】
電力消費を制御する他の知的方針は、環境負荷の低いグリッド管理に関する。ここで、システムは、ワット中心の料金計算情報を利用して、持続的課金率と時刻基準の課金率との少なくとも一方に基づいて、最も安価なデータセンタに作業負荷を移行する。このことは図４に示されている。この点において、システムは、ＳＬＡ要件等の特性と、一つのデータセンタから他のデータセンタへの作業負荷の移行に伴う遅延のコストとのバランスを取って、作業負荷の移行に関する知的決定を行うことができる。例えば、北米のデータセンタ４０２は、温度や、電力消費や、コストに問題を有する可能性がある一方で、南米のデータセンタ４０４は、電力消費の費用が安く、追加の作業負荷を引き受ける容量を有し得るという分析を自動的に実行できる。この点で、環境負荷の低い管理モジュールは、消費のために、北米のデータセンタ４０２から南米のデータセンタ４０４に作業負荷を移行することができる。もちろん、他のデータセンタ４０６，４０８も、ネットワーク接続して利用することができる。南米の施設でジョブまたは作業負荷を処理することで増加する価値は、新しいオンデマンドセンタに作業負荷を移行するために必要な帯域幅の観点での遅延、コスト、および資源の消費を上回るものである。
【００５２】
他の例において、英国に位置するデータセンタ４０６が稼働しており、英国ではちょうどピーク利用の時間帯であるとすると、課金される値段は非常に高い。このデータセンタは、電力そのものに対して高く課金するだけでなく、当該データセンタでその日に６０，０００キロワット時より多く利用する場合、ユーザには恐らく税金も課せられるであろう。一部の司法管轄域において、特別税によりユーザにより多く課金することが認められている。したがって、作業負荷管理部３０４は、このような各種のデータセンタと通信して、該当するセンタが、北米４０２または南米４０４に位置するグリッドを介して接続されている場合には、分析を実行し、その分析において、ドル建てのコストに加え、場合によっては電力消費および時間を分析して、これらのパラメータおよびその各種の組み合わせに従って、他のデータセンタにジョブを移行することがより効果的であるかどうかを判定することができる。データおよび作業負荷の移行に関わるコストが存在するとしても、実際には節約分がそのコストを上回る可能性がある。したがって、英国のデータセンタ４０６は、英国の時刻と同じ時間に他の司法管轄域内でオフピークの時間帯にある他の場所に英国のデータセンタ４０６の作業負荷を外部委託することができる。ある場所は、地球の反対側に位置するため、深夜または極めて早朝であり得、その時間の電力はちょうど安価である。このように、システムは、特定の作業負荷、特に、応答時間の制約が厳しくなく、かつ、機密性が高くないか、またはそれほど高い値でなくてもよい作業負荷を外部委託するように管理できる。したがって、このタイプの作業負荷は、低電力消費環境に送ることができ、ユーザは、各種の閾値を維持しながら、所望のモデルに従って操作することができる。更に他の態様において、天候条件に基づいて作業負荷を移動できるため、予想される嵐を回避したり、より寒冷な領域のデータセンタが作業負荷を処理して、冷却エネルギの必要性を抑制したりできる。
【００５３】
電力消費に基づいて作業負荷の消費量を管理するこの特定の手法の他の利点は次のとおりである。石油の高いコストにより、多くの場合、単に発電所を稼働するために、一つの場所から他の場所に燃料を移動する際に多大なコストがかかる。したがって、発電所の近く等、電力の供給元に近接してデータセンタを配置して、電力のコストを最小化すると共に、移行された作業負荷についてこのようなデータセンタの利用を最大化する機構が存在し得る。
【００５４】
司法管轄域を超えてジョブを移行する概念に関して、本発明の一部の態様は、本方法が特定の司法管轄域内で実施されているかのように実施できることを注記しておく。例えば、北米のデータセンタ４０２は、世界の他の地域内のデータセンタについて、そのデータセンタがブラックボックスに由来するものであるように見ることができる。ここで、他のデータセンタから、そのデータセンタの電力のキロワット単位のコスト、ピーク消費、作業負荷の処理についての利用可能性等に関する状態情報を受け取ることができる。このような情報は、姉妹作業負荷管理部（図３の３１８，３２２）から、または地理的に遠方の場所にあるデータセンタ（図３の３２０，３２４、または図４のデータセンタ（ＤＣ））についてのデータを受け取る同一の作業負荷管理部から読み出すことができる。このように、データセンタ４０２に関連付けられた作業負荷管理部は、データセンタ４０４，４０６，４０８についての状態情報を受け取ることができる。分析を実行して、電力消費、コスト、異なるデータセンタそれぞれにデータおよび作業負荷を移行する個別のコスト等のバランスをとることができる。したがって、データセンタ４０２に対応付けられた作業負荷管理部は、その親和性アルゴリズムに基づいて、他のデータセンタのうちのどのデータセンタが、移行および資源消費に最も高い効率を提供するのかを特定することができる。この点に関して、英国のデータセンタ４０６が、オフピーク時間帯であるために、最も安い燃料コストを提供し最も安価であると識別されたとすると、データセンタ４０２に関連付けられた作業負荷管理部が作動して、データセンタ４０６に作業負荷を外部委託する。データセンタ４０６において資源を消費した後、データセンタ４０２の作業負荷管理部は、データセンタ４０６から受け取ったデータに基づいた結果を受け取る。各データセンタの状態情報を読み出して利用することができる各種の機構が存在し得る。換言すると、状態情報を管理すると共に、作業負荷を適切に分配し、必要に応じてジョブの移行決定を行うアルゴリズムを実行する作業負荷管理部は、単一、または複数存在し得る。この場合も、どこで作業負荷を処理するのかについての決定は、好ましくは、その作業負荷の実行依頼を行うユーザにとって透明であることが推奨される。したがって、ユーザは、そのユーザの知り得る限りでは、近くの計算環境に作業負荷の実行依頼を行うだけであるが、前述の方針および各種データセンタ間の通信により、作業負荷が移行され、その作業負荷は、資源についての予約または要求を受け取った当初のデータセンタから遥かに遠方の場所において処理される。
【００５５】
本発明の一実施形態は、計算環境内の資源の消費を管理する方法に関する。図５Ａに、本方法の実行に関わる基本ステップを示す。図示したように、本方法は、計算環境内の少なくとも一つの電力消費パラメータを監視し（５０２）、監視される少なくとも一つのパラメータに少なくとも部分的に基づいて計算環境内に作業負荷を分散させ（５０４）、結果を報告する（５０６）ことを含む。
【００５６】
理解されるように、これらの処理は、計算環境を効率的に管理するプロセスにおける複数の基本ステップを表している。電力消費および温度についての多くのデータ項目（ｄａｔａ  ｐｏｉｎｔ）を監視および報告することができ、計算環境、ならびに冷却機構３１６を含む、計算環境内の電力および温度に関連する多くの機能は、作業負荷管理ソフトウェア３０４によって制御および管理できることは理解されよう。したがって、本明細書において、複数の方法の実施形態が開示される。
【００５７】
本明細書の開示によって実現できる他の知的方針は、電力制限および上限設定に関わるものである。ここで、システムは、ユーザ別、グループ別、プロジェクト別、部門別、ジョブ別等の単位で、一日当たりもしくは合計のワット数制限または上限設定を行うことができる。したがって、認証情報等の各種のパラメータには、電力もしくは温度の制限または上限設定を記述して割り当てることができる。他の態様は、電力優先順序付けを伴う。ここで、システムは、最も費用の高い時間帯に、「環境負荷の低い」作業負荷を優先的に実行できる。このため、システムは、実際の作業負荷を分析し、その作業負荷を処理するために必要とされる可能性のある電力消費量を特定する。ここで、特定のジョブまたは作業負荷が、他の作業負荷ほど多くの電力を利用しないことが予想される場合、システムは、その特定の作業負荷を一日のうちの最も費用の高い時間帯に優先して行うことができる。環境負荷の低い作業負荷を優先させる例として、システム３０４は、作業負荷の分析を実行し、特定の作業負荷は、少量のエネルギを利用するため、その特定の作業負荷は、最も費用の高い時間中に処理できることを特定する。ここで、アルゴリズムは、特定の作業負荷に対して、その特定の作業負荷の電力消費に関する属性に基づいて、時間基準の親和性を付与するものであってよい。
【００５８】
図５Ｂに、他の例の方法を示す。この例において、本方法は、計算環境内の電力消費を管理するものである。この方法は、計算環境の現在の状態についてのデータを受け取る（５１０）ことを含む。次に、システムは、計算環境内で現在資源を消費している作業負荷を分析し（５１２）、受け取ったデータおよび前記作業負荷の分析に基づいて、計算環境内の少なくとも一つの資源を変更する（５１４）。この変更は、エネルギ消費に関するものである。この関連において、計算環境内の資源は、プロセッサ、メモリ、帯域幅、ディスク空間等の計算資源を含むだけでなく、空調ユニット、ファン、ダクト、空気流制御部、窓、環境に供給される電気等の環境資源も含むことができる。したがって、計算環境内の少なくとも一つの資源を変更するという概念には、全計算環境の前述の各種の構成要素全てが包含される。例えば、計算環境内の少なくとも一つの資源の変更は、少なくとも一つのノードを低電力状態にすること、または少なくとも一つのノードの電源をオンもしくはオフにすることを含むことができる。計算環境内の少なくとも一つの資源の変更は、計算環境内の温度を維持する、または計算環境の一部を特定のレベルに維持するために空調を強化することを含むことができる。この場合、計算環境における変更は、空調ユニットまたは冷却機構に命令して、建物の特定の部分、すなわちサーバ室の冷却処理を強化することを含んでよく、この冷却処理の強化は、例えば、配管や空気孔を遠隔制御して、最も高温のノードまたは環境内の特定の部分に冷気を送ることによって行われる。
【００５９】
本方法は、計算環境内で消費活動が行われることになる将来の作業負荷を分析することを更に含むこともでき、この場合、少なくとも一つの資源を変更するステップは、受け取ったデータ、ならびに、現在の作業負荷および将来の作業負荷の分析に基づいている。
【００６０】
図５Ｃに、方法の実施形態の他の例を示す。ここで、システムは、計算環境の現在の状態を受信し（５２０）、計算環境内で消費を行う作業負荷を分析し（５２２）、前記現在の状態と、計算環境内で消費を行う予定の作業負荷の分析に基づいて、少なくとも一つの電力消費節約動作を予測する（５２４）ことによって、計算環境内の電力消費を管理する。アルゴリズムは、計算環境内で消費を行うことが予定されている将来の作業負荷に着目し、該当する現在の状態、および分析された作業負荷に基づいて、少なくとも一つの電力消費節約動作の予測を行う。例えば、ジョブの待ち行列内には、環境内の資源を消費することが予定され、熱集約性が高いと予想されるジョブが存在し得る。この場合、少なくとも一つの電力消費節約動作は、標準プロセッサではなく、効率的な超低電圧プロセッサを利用できるように作業負荷の配分を調整することを含んでよい。更に、純粋に電力消費を基準とするのではなく、温度に基づいた追加の動作を採用することができる。例えば、熱集約的作業負荷が、環境内の資源を消費する予定であることを把握した場合、システムは、そのような作業負荷が処理されることになる計算環境、またはその計算環境の一部に、強化した冷却処理を導入することができる。この場合は、ノードの放熱が向上した後にそのノードを冷やすのを待つかわりに、環境を事前に冷却することでエネルギを節約できる。したがって、計算資源内と、冷却機構の両方におけるこのような動作は、計算環境の状態、およびその計算環境で消費活動を行う予定の作業負荷に基づいて採用することができる。次に、本方法は、予想された少なくとも一つの電力消費節約動作を計算環境内で実施する（５２６）ことを含む。他のステップは、作業負荷が計算環境内の資源を消費するときに、計算環境および作業負荷を分析し、その分析に基づいて、少なくとも一つの予想および実施された電力消費節約動作を動的に調整することを含むことができる。本システムは、パワーダウンするノードの数を、実施された数量から増減する、または、パワーダウンするメモリの数を、実施された数量から増減することができる。更に、システムは、実施された、冷却機構を操作するステップを増減すること、またはジョブの移行ステップ、もしくは別のオンデマンドセンタへの作業負荷の移送処理等を変更することもできる。
【００６１】
他の態様において、システムは、計算環境内の現在の電力消費状態を受け取って、その計算環境内の資源を消費することが予定されている待ち行列にあるジョブを分析し、前記待ち行列にあるジョブのうちの少なくとも一つが、計算環境において消費を行うときの電力消費を予測することができる。最後に、本方法は、少なくとも一つの電力消費節約動作と共に、計算環境内の少なくとも一つのジョブの消費を行うことに関する。前述したように、この動作は、計算環境の温度に関連したアクションであってもよいし、環境内の新しい領域、他のオンデマンドセンタ、または他の計算環境に作業負荷を移行または移送することを伴う他の動作であってもよい。
【００６２】
図６に、本開示および前述の考察の複数の特徴を表したネットワーク６００を示す。第１作業負荷管理部６０２は、クラスタ６０６内の作業負荷の分配を管理する。このクラスタ内のジョブ６１０は、クラスタ６０６内の特定の組み合わせの資源を消費するものとして示されている。前述した一つの態様は、クラスタ６０６の一つの部分からクラスタの他の部分６１２へのジョブの移行に関する。したがって、前述した原理を利用して、作業負荷管理部６０２は、単独で、または他のソフトウェアもしくは制御モジュールと連携して、電力消費に関して本明細書で開示した少なくとも一つのデータ項目を受け取って、クラスタ６０６内の資源の消費についての場所、タイミング等を管理する命令および制御を提供することができる。図６のこの部分には、同一クラスタ内の他の部分に一つのジョブを物理的にどのように移行できるのかが簡単に示されている。図６には、冷却機構６１８も示されており、この冷却機構６１８は、一般に、クラスタ６０６に関連して採用できる空調、通気孔、または各種の他の冷房もしくは温度管理機構である。また、作業管理部６０２は、このような冷却機構６１８と通信することに加え、前記クラスタからのリンクを介して、前述した他の電力消費機構と通信して、本明細書で開示した目的およびプロセスを達成することができる。
【００６３】
また、上記で説明したように、ジョブは、一つのクラスタ６０６から他のクラスタ６０８に移行されて、移行された部分６１４で消費を行ってもよい。このように、図６には、作業負荷管理部６０２および個別のクラスタ６０８の両方と通信する他の作業負荷管理部６０４も示されている。クラスタ６０８に関連して、冷却機構６２０も図示されている。したがって、図６には、前述したように、温度コスト等についてのデータ項目が受信され、閾値が満たされる場合には、システムが、クラスタ６０６からクラスタ６０８にジョブを移行して、クラスタ６０８内の資源６１４を消費できる例が示されている。ここで、２つのクラスタ間で、ネットワークリンクを介してデータおよび作業負荷を移行するコストを考慮することで、システムの作業負荷管理部６０２は、そのアルゴリズム内にプログラムされた親和性に従って、電力消費節約が移行の妥当な理由となる場合に、このような移行を実施することができる。図６の具体的な構成は、もちろん、当業者であればわかるように、変更されてよい。例えば、両方のクラスタを管理できる単一の作業負荷プログラム例等が存在してもよい。また、図には記載されていないが当業者であればわかるように、作業負荷管理部は、典型的には、クラスタリソース社（Ｃｌｕｓｔｅｒ  Ｒｅｓｏｕｒｃｅｓ）のＴＯＲＱＵＥのような資源管理部や、個々のクラスタ内のノードにおける最終的な通信および作業負荷の実行を管理する、各種の他の既知の資源管理部と共に動作する。もちろん、図６は、オンデマンドデータセンタ、グリッド、または各種の商用タイプの多ノード計算環境にも適用することができる。
【００６４】
一般に、本発明の方法の実施形態は、前述したタイプの少なくとも一つのデータ項目を利用し、これらのデータ項目のうちの一つ以上に基づいて、特定のジョブ、グループ等についての電力消費を改善するために特定の動作を行うかどうかを、プログラムされたアルゴリズムに従って決定することを含む。このため、上記の開示により、監視および報告される各種のパラメータと共に、作業負荷、クラスタ、冷却機構、エネルギ管理制御機能等に対して採用できる異なる種類の各種の動作を利用する複数の方法が考えられ、これらの方法は、特許請求の範囲に入り得る。
【００６５】
前述したように、多数の関連出願が本明細書に援用されている。本明細書に開示したエネルギ節約の概念は、本開示に援用される前記出願に開示された各種の概念に適用して組み合わせることができる。作業負荷管理におけるエネルギ節約技術と、本明細書に含まれる特定の概念とのこのような組み合わせの一例は、米国出願第１０／５８９，３３９号に関する。この出願は、計算環境におけるデータの知的事前ステージングを開示している。この出願に記載された概念は、種々多様な計算資源の利用を最適化する知的データ「ジャストインタイム」式データの事前ステージングに関するものである。データの事前ステージングを実現する機構の一例は、計算予約の時間よりも前に、データのステージング予約を生成することである。計算予約は、予約の計算部分を実行するために、一つのプロセッサ、またはプロセッサのグループを予約することであってよい。データステージング予約は、ジョブを処理するための計算資源に必要なデータを提供（「ジャストインタイム」で提供）するために、適切な長さの時間だけ計算予約を重複させることが開示されている。この場合、データ資源は、他のエンティティのために予約することができる。これは、データのステージアウトが予約されるまでこれらの資源が必要とされないためであり、このステージアウト予約は、例えば、中心的な在庫の分析部から処理データを受け取ることを含むことができる。
【００６６】
ステージイン予約、計算予約、およびステージアウト予約に加え、本開示の一態様は、これら各種の予約についての電力消費およびエネルギ利用に関する情報を受け取ることを含んでよい。例えば、データのステージイン予約は、計算予約よりも前に設定することができ、これにより、ジャストインタイムモードで計算用データを提供するように時間設定される。ただし、このデータステージイン予約に行える変更として、特定のジョブにおける十分なＳＬＡパフォーマンスを維持しながら、電力消費を最小化できるようにすることが考えられる。例えば、データの事前ステージングが、エネルギ消費を考慮せずに行われた場合、データ事前ステージングは、比較的大量の電力を利用して、過剰な熱を発生する可能性がある。一例において、前述したような変更に基づいて、データ事前ステージングは、必ずしもジャストインタイムで設定される必要はなく、データは、計算予約の１０分前に事前ステージングされればよいので、このような変更によって、作業負荷管理アルゴリズムは、ＳＬＡ契約との整合性を維持することが可能でありながら、電力を節約し、計算環境内の温度を低減することができる。
【００６７】
したがって、この例は、一つの事例を提供するものであり、最適化アルゴリズムが、エネルギ節約の親和性を有し、かつ環境内で適切な変更を行って環境に関するこれらの追加のパラメータを考慮することができる、多くの変形例が考えられる。したがって、援用した各種の出願に関連する各種のデータを同様に変更して、利用可能な全てのエネルギ消費情報を考慮することができる。また、電力消費および温度に関連のある、冷却機等の他の制御可能な構成要素も、本明細書に援用される各種の出願において、作業負荷管理に関して行われる決定に照らして調整することができる。
【００６８】
本発明の範囲内の実施形態は、コンピュータ実行可能命令もしくは内部に格納されたデータ構造を坦持または保持するコンピュータ可読媒体も含むことができる。このようなコンピュータ可読媒体は、汎用コンピュータまたは専用コンピュータでアクセスできる、入手可能な各種の媒体であってよい。限定するものではないが、一例として、このようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、他の光ディスク記憶装置、磁気ディスク記憶装置、他の磁気記憶装置、またはコンピュータ実行可能命令またはデータ構造の形式で所望のプログラムコード手段を保持または格納するために利用できる各種の他の媒体であってよい。ネットワークや他の通信接続（配線接続、無線接続、またはこれらの組み合わせのいずれか）を通ってコンピュータに情報が伝送または提供されるとき、コンピュータは、この接続状態を適宜コンピュータ可読媒体と見なす。したがって、このような各種の接続は、適宜、コンピュータ可読媒体と呼ばれる。上記の組み合わせも、コンピュータ可読媒体の範囲に入るものである。
【００６９】
コンピュータ実行可能命令は、例えば、汎用コンピュータ、専用コンピュータ、または専用処理装置に、特定の機能または機能群を実行させる命令およびデータを含む。コンピュータ実行可能命令は、独立型またはネットワーク環境内のコンピュータによって実行されるプログラムモジュールも含む。一般に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、およびデータ構造等を含む。コンピュータ実行可能命令、対応データ構造、およびプログラムモジュールは、本明細書に開示した方法のステップを実行するプログラムコード手段の例に相当する。このような実行可能命令またはデータ構造の特定のシーケンスは、前述のステップに記述された機能を実施する対応動作の例に相当する。
【００７０】
当業者であれば理解されるであろうが、本発明の他の実施形態は、パーソナルコンピュータ、携帯用デバイス、多重プロセッサシステム、マイクロプロセッサベースの家庭用電子機器、マイクロプロセッサベースのプログラム可能な家庭用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ等を含む、多くのタイプのコンピュータシステム構成が存在するネットワーク計算環境で実施することができる。実施形態は、通信ネットワークによってリンク接続（配線接続リンク、無線リンク、またはこれらの組み合わせのうちのいずれかによってリンク接続）されたローカルおよびリモートの処理装置によってタスクが実行される分散計算環境において実施することもできる。分散計算環境において、プログラムモジュールは、ローカルおよびリモートいずれの記憶装置に配置されてもよい。
【００７１】
上記の説明は、特定の詳細内容を含み得るが、これらの詳細内容は、いかなる意味においても請求項を限定するものとして理解されるべきではない。したがって、提示した特定の例ではなく、付属の請求項およびその法的等価物のみが、本発明を定義するものである。
【図１】
0005529114.tif 000002
【図２】
0005529114.tif 000003
【図３】
0005529114.tif 000004
【図４】
0005529114.tif 000005
【図５Ａ】
0005529114.tif 000006
【図５Ｂ】
0005529114.tif 000007
【図５Ｃ】
0005529114.tif 000008
【図６】
0005529114.tif 000009