(57)【特許請求の範囲】
【請求項１】
複数の電力消費電子デバイスを有する電子システムによる電力消費を制限する方法であって、  
前記複数のデバイスに対してグループ電力制限を選択するステップと、
各デバイスに対してデバイス電力制限を選択して実施し、デバイスのグループの前記デバイス電力制限の合計が前記グループ電力制限を超えないように前記デバイス電力制限を動的に調節するステップと、
前記グループ電力制限を動的に調節するステップと、
前記動的に調節したグループ電力制限を前記デバイス電力制限の合計と比較するステップと、
前記グループ電力制限が前記デバイス電力制限の合計未満であることに応答して、前記利用度の低いデバイスの１つ以上の前記デバイス電力制限を低下させるステップと、
前記グループ電力制限が前記デバイス電力制限の合計よりも大きいことに応答して、前記利用度の高いデバイスの１つ以上の前記デバイス電力制限を上昇させるステップと、
（ａ）所定の定数、（ｂ）前記デバイス電力制限の合計と前記グループ電力制限との差、（ｃ）現在最も利用されていないデバイスの前記デバイス電力制限と前記現在最も利用されていないデバイスの最小デバイス電力制限との差のうち最小のものだけ、前記利用度の低いデバイスの前記１つ以上の前記デバイス電力制限を低下させるステップと、
を含み、
前記デバイス電力制限を動的に調節する前記ステップが、利用度の低いデバイスのサブセットを識別して前記利用度の低いデバイスの１つ以上の前記デバイス電力制限を低下させること、または、利用度の高いデバイスのサブセットを識別して前記利用度の高いデバイスの１つ以上の前記デバイス電力制限を上昇させることの一方または双方を含む、
方法。
【請求項２】
前記デバイス電力制限の合計が前記グループ電力制限と実質的に等しくなるまで前記デバイス電力制限を低下させる前記ステップを繰り返すステップを更に含む、請求項１に記載の方法。
【請求項３】
複数の電力消費電子デバイスを有する電子システムによる電力消費を制限する方法であって、  
前記複数のデバイスに対してグループ電力制限を選択するステップと、
各デバイスに対してデバイス電力制限を選択して実施し、デバイスのグループの前記デバイス電力制限の合計が前記グループ電力制限を超えないように前記デバイス電力制限を動的に調節するステップと、
前記グループ電力制限を動的に調節するステップと、
前記動的に調節したグループ電力制限を前記デバイス電力制限の合計と比較するステップと、
前記グループ電力制限が前記デバイス電力制限の合計未満であることに応答して、前記利用度の低いデバイスの１つ以上の前記デバイス電力制限を低下させるステップと、
前記グループ電力制限が前記デバイス電力制限の合計よりも大きいことに応答して、前記利用度の高いデバイスの１つ以上の前記デバイス電力制限を上昇させるステップと、
（ａ）所定の定数、（ｂ）前記グループ電力制限と前記デバイス電力制限の合計との差、（ｃ）現在最も利用されているデバイスの最大電力容量と前記現在最も利用されているデバイスの前記デバイス電力制限との差のうち最小のものだけ、前記利用度の高いデバイスの１つの前記デバイス電力制限を上昇させるステップと、
を含み、
前記デバイス電力制限を動的に調節する前記ステップが、利用度の低いデバイスのサブセットを識別して前記利用度の低いデバイスの１つ以上の前記デバイス電力制限を低下させること、または、利用度の高いデバイスのサブセットを識別して前記利用度の高いデバイスの１つ以上の前記デバイス電力制限を上昇させることの一方または双方を含む、
方法。
【請求項４】
前記デバイス電力制限の合計が前記グループ電力制限と実質的に等しくなるまで前記デバイス電力制限を上昇させる前記ステップを繰り返すステップを更に含む、請求項３に記載の方法。
【請求項５】
複数の電力消費電子デバイスを有する電子システムによる電力消費を管理するためのコンピュータ・プログラムであって、
前記複数のデバイスに対してグループ電力制限を選択するための命令と、
各デバイスに対してデバイス電力制限を選択して実施し、デバイスのグループの前記デバイス電力制限の合計が前記グループ電力制限内であるように前記デバイス電力制限を動的に調節するための命令と、
前記グループ電力制限を動的に調節するための命令と、
前記動的に調節したグループ電力制限を前記デバイス電力制限の合計と比較するための命令と、
前記グループ電力制限が前記デバイス電力制限の合計未満であることに応答して、前記現在最も利用されていないデバイスの前記デバイス電力制限を低下させるための命令と、
前記グループ電力制限が前記デバイス電力制限の合計よりも大きいことに応答して、前記現在最も利用されているデバイスの前記デバイス電力制限を上昇させるための命令と、
（ａ）所定の定数、（ｂ）前記デバイス電力制限の合計と前記グループ電力制限との差、（ｃ）前記現在最も利用されていないデバイスの前記デバイス電力制限と前記現在最も利用されていないデバイスの最小デバイス電力制限との差のうち最小のものだけ、前記現在最も利用されていないデバイスの前記デバイス電力制限を低下させるための命令と、
を含み、
前記デバイス電力制限を動的に調節するための前記命令が、現在最も利用されていないデバイスを識別して前記現在最も利用されていないデバイスの前記デバイス電力制限を低下させること、または、現在最も利用されているデバイスを識別して前記現在最も利用されているデバイスの前記デバイス電力制限を上昇させるための命令を含む、
コンピュータ・プログラム。
【請求項６】
前記デバイス電力制限の合計が前記グループ電力制限と実質的に等しくなるまで前記デバイス電力制限を低下させるステップを繰り返すための命令を更に含む、請求項５に記載のコンピュータ・プログラム。
【請求項７】
複数の電力消費電子デバイスを有する電子システムによる電力消費を管理するためのコンピュータ・プログラムであって、
前記複数のデバイスに対してグループ電力制限を選択するための命令と、
各デバイスに対してデバイス電力制限を選択して実施し、デバイスのグループの前記デバイス電力制限の合計が前記グループ電力制限内であるように前記デバイス電力制限を動的に調節するための命令と、
前記グループ電力制限を動的に調節するための命令と、
前記動的に調節したグループ電力制限を前記デバイス電力制限の合計と比較するための命令と、
前記グループ電力制限が前記デバイス電力制限の合計未満であることに応答して、前記現在最も利用されていないデバイスの前記デバイス電力制限を低下させるための命令と、
前記グループ電力制限が前記デバイス電力制限の合計よりも大きいことに応答して、前記現在最も利用されているデバイスの前記デバイス電力制限を上昇させるための命令と、
（ａ）所定の定数、（ｂ）前記グループ電力制限と前記デバイス電力制限の合計との差、（ｃ）前記現在最も利用されているデバイスの最大電力容量と前記現在最も利用されているデバイスの前記デバイス電力制限との差のうち最小のものだけ、前記現在最も利用されているデバイスの前記デバイス電力制限を上昇させるための命令と、
を含み、
前記デバイス電力制限を動的に調節するための前記命令が、現在最も利用されていないデバイスを識別して前記現在最も利用されていないデバイスの前記デバイス電力制限を低下させること、または、現在最も利用されているデバイスを識別して前記現在最も利用されているデバイスの前記デバイス電力制限を上昇させるための命令を含む、
コンピュータ・プログラム。
【請求項８】
前記デバイス電力制限の合計が前記グループ電力制限と実質的に等しくなるまで前記デバイス電力制限を上昇させることを繰り返すための命令を更に含む、請求項７に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多数のエネルギ消費電子デバイスを有するコンピュータ・システム等の電子システムにおける電力管理に関する。
【背景技術】
【０００２】
多くの場合、サーバおよび他のコンピュータ・ハードウェアは、ラック上にグループ化することで、スペースを節約し、管理人がアクセスするため中央位置にサーバおよびインフラストラクチャを配置する。これらの「ラック・システム」の管理は、多数の分散したサーバを個別に管理するよりも容易かつ安価にすることができる。市場では様々なラック・システム設計が利用可能であり、それらのサイズおよび密度は多岐にわたる。ラック・システムのあるものは、各サーバが個々のシャーシ、内蔵電源、冷却ファン、および他のサポート・デバイスを有するという点で自立型であるサーバを中心に構築することができる。自立型サーバは、ラックまたはタワー構成にグループ化して、相互にかつクライアント・コンピュータに対してネットワーク化することができる。いっそう高密度のラック・システムを達成するには、もっと低品質の「ブレード・サーバ」を用い、共有するサポート・モジュールをマルチブレード・シャーシに接続すれば良い。ブレード・サーバは一般に、狭い波形率を有し、送風装置および電力モジュール等のサポート・モジュールを共有するため、高密度を実現する。現在利用可能なもっとコンパクトなラック・システム・サーバ構成には、ＩＢＭ社から入手可能なSYSTEM XサーバおよびeServer BLADECENTERが含まれる（ここで、IBM、BLADECENTER,eServerおよびSYSTEM Xは、それぞれ、IBM Corporation (International BusinessMachines Corporation ニューヨーク州アーモンク）の商標（または登録商標）である）。
【０００３】
サーバを動作させるコストを最小限に抑え、サーバが発生する熱を制御し、システムの性能および効率を最適化するため等、ラック・システムを動作させる多くの側面において、電力管理は重要である。フィードバックに基づいた電力管理システムは、例えば、内蔵電力計器回路、ＡＣＰＩ、および他のハードウェア要素またはソフトウェア要素あるいはその両方を有するマザーボードを含む場合がある。複数のシステムに対して、共通の電力供給または電力配分ユニット（ＰＤＵ：power distribution unit）により給電することができる。システムのあるものは、ベースボード管理コントローラ（ＢＭＣ：Baseboard Management Controller）等、サーバによるリアルタイムの電力消費を監視するためにサービス・プロセッサが用いる回路を含む。このフィードバックを用いて、サービス・プロセッサは、サーバ上のプロセッサまたはメモリあるいはその両方を「抑制（throttle）」して、電力消費を、管理者が設定しシャーシ管理モジュールが監視する設定点または「電力上限」未満に維持することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
サーバの電力消費を個別に制御するために、多数の方法が既知である。これらの方法には、様々な「電力上限設定（power capping）」の方法が含まれる。電力上限設定は、プロセッサの性能を選択的に低下させることによってサーバに電力制限を実施することを伴う。例えば、電力計器を用いて消費電力量を測定し、電力閾値に達した場合はプロセッサまたはメモリあるいはその両方を抑制することで電力消費の増大に即座に応答することで、サーバは電力制限を実施することができる。電力上限設定の技法は、サーバの電力消費を個別に管理するために有用であるが、システム全体に及ぶ他のパラメータも考慮しなければならない。例えば、サーバに対して電力消費を個別に管理することに加えて、全体としてのシステムに対する電力の制約を考慮しなければならない。更に、各サーバの電力上限とその実際の電力消費との間の総合的なマージンは、使われていない電力の可用性を表す。
【０００５】
従って、サーバ・レベルおよびシステム・レベルの双方の電力についての問題点に対処するために、改良された電力管理技法が求められている。特に、システムに利用可能な電力をよりよく利用し、サーバに対するスループットを最大限にすることが望ましいであろう。また、システムに求められる様々な要求に応え、システムに課せられる可能性のあるポリシー設定を考慮する電力管理方法を提供することが望ましいであろう。
【課題を解決するための手段】
【０００６】
一実施形態において、複数の電力消費電子デバイスを有する電子システムによる電力消費を制限する方法が提供される。複数のデバイスに対するグループ電力制限を選択し、各デバイスごとにデバイス電力制限を選択して実施する。デバイス・グループのデバイス電力制限の合計がグループ電力制限を超えないように、デバイス電力制限を動的に調節する。デバイス電力制限を動的に調節することは、利用度の低いデバイスのサブセットを識別して利用度の低いデバイスの１つ以上のデバイス電力制限を低下させること、または、利用度の高いデバイスのサブセットを識別して利用度の高いデバイスの１つ以上のデバイス電力制限を上昇させることの一方または双方を含む。この方法は、電子システムにおいて電力を管理するためのコンピュータ読み取り可能媒体におけるコンピュータ・プログラムとして具現化することができる。
【０００７】
別の実施形態において、複数の相互接続された電子デバイスを有する電力管理された電子システムが提供される。各デバイスは、デバイスの電力消費を関連するデバイス電力制限内に選択的に制限するための抑制機構と、電子デバイスの電力消費を検出してこの検出した電力消費を表す電力消費信号を出力するための電力計器回路と、を含む。電子デバイスの各々に可変量の電力を供給するための電力供給装置が設けられている。電力計器と通信する電力管理モジュールは、電力消費信号を受信し、その電力消費の観点で各デバイスの利用度を計算し、デバイス電力制限を動的に調節する。デバイス電力制限の動的な調節は、利用度の低いデバイスのサブセットを識別してこの利用度の低いデバイスの１つ以上のデバイス電力制限を低下させること、または、利用度の高いデバイスのサブセットを識別してこの利用度の高いデバイスの１つ以上のデバイス電力制限を上昇させることによって行われ、デバイス電力制限の合計がグループ電力制限を超えないようにする。各デバイス上に存在するローカル・コントローラは、そのデバイスに選択されたデバイス電力制限を実施するように構成されている。
【０００８】
本発明の他の実施形態、態様、および利点は、以下の説明および特許請求の範囲から明らかとなろう。
【発明を実施するための最良の形態】
【０００９】
本発明は、複数の電力消費電子デバイスを有する電子システムにおいて電力を管理するためのシステム、方法、およびコンピュータ・プログラムを提供する。デバイス・グループに対する電力制限を設け、このグループ内のデバイス間で動的に割り当てて、各デバイスがデバイス電力制限内で動作するようにする。デバイス電力制限の合計がグループ電力制限と実質的に等しくなるように、デバイス電力制限を個別にかつ動的に調整する。本発明は、ラックに搭載された複数のサーバを有しハードウェア・デバイスをサポートするコンピュータ・システム分野において、特に適用可能である。従って、本発明について、サーバ・ネットワークを含むコンピュータ・システムに対して電力を管理するという文脈の中で広範に論じる。多数の電力消費電子デバイスを有する他の電子システムにも本発明を適用可能であることは、この開示の恩恵を享受する当業者には認められよう。
【００１０】
本発明の一態様によれば、電子システムにおけるデバイス・グループに可変グループ電力制限を選択し実施して、そのデバイス・グループの正味の電力消費を制限する。各デバイスに可変デバイス電力制限を選択し実施して、現在のグループ電力制限を満足させるようにデバイス電力制限を調整する。電力管理システムおよび方法は、物理媒体上に具現化され電子システムによって使用可能なソフトウェアにおいて実施される電力管理アルゴリズムによって制御することができる。概して、この電力管理アルゴリズムは、最も利用されるデバイスの１つ以上のデバイス電力制限を選択的に上昇させるためのサブルーチンまたはソフトウェア・オブジェクト、および、最も利用されないデバイスの１つ以上のデバイス電力制限を選択的に低下させるためのサブルーチンまたはソフトウェア・オブジェクトを含むことができる。この電力管理方法は、多レベルの階層デバイス上で実行可能である。例えば、電子システムは、多数のサーバ・ラックを有するデータセンタを含み、各サーバ・ラックが多数のサーバを有することができる。１つのレベルでは、特定のラック内のサーバ・グループに対する電力を管理して、特定のラック上のデバイス・グループに対する電力がこの特定のラックに指定されたグループ電力制限を超えないようにすることができる。別のレベルでは、データセンタに対する電力を管理して、ラック・グループに対する電力がこのラック・グループまたはデータセンタ全体に指定されたグループ電力制限を超えないようにすることができる。
【００１１】
一実施形態においては、デバイス電力制限に対するデバイス電力消費の比として、現在の各デバイスの利用度を計算する。デバイス電力制限の合計が現在のグループ電力制限未満である場合、最も利用されるデバイスの１つ以上のデバイス電力制限を上昇させることができる。デバイス電力制限の合計が現在のグループ電力制限を超えている場合、最も利用されないデバイスの１つ以上のデバイス電力制限を低下させることができる。デバイス電力制限における少量の調節（上昇または低下）を行って、これらの調節を多数のデバイス間へと行き渡らせることができる。例えば、プログラミング・ループを実行し、プログラミング・ループの各繰り返しにおいて、各デバイスの利用度を計算し、最も利用されるデバイスまたは最も利用されないデバイスの１つ以上のデバイス電力制限を、少量の既定の増分または減分だけ調節することができる。
【００１２】
一実施形態においては、最も利用されないデバイスのサブセット（最低の利用度を有するデバイスの１０％を含むサブセット等）および最も利用されるデバイスのサブセット（最高の利用度を有するデバイスの１０％を含むサブセット等）を識別することができる。最も利用されるデバイスの１つ以上のデバイス電力制限を上昇させ、最も利用されないデバイスの１つ以上のデバイス電力制限を低下させることができる。別の実施形態では、これらの調節は、一度に１つのデバイスに対して行うことができる。例えば、各繰り返しにおいて、全デバイスのうち最も利用されない単一のもののみのデバイス電力制限を低下させるか、または、全デバイスのうち最も利用される単一のもののみのデバイス電力制限を上昇させることができる。
【００１３】
デバイス電力制限の合計がグループ電力制限と実質的に等しくなるまで、プログラミング・ループを実行することができる。様々なポリシー設定に応じて、グループ電力制限は経時的に変動する場合がある。ある特定の繰り返しにおいて、デバイス電力制限を既定の量だけ上昇させることによってデバイス電力制限の合計がグループ電力制限を明らかに超えた場合、またはデバイス電力制限を既定の量だけ低下させることによってデバイス電力制限の合計がグループ電力制限を明らかに下回った場合、その繰り返しにおいてもっと少量の調節を行って、デバイス電力制限の合計がグループ電力制限と等しくなるようにすることができる。このように、デバイス電力制限は実施可能な程度にグループ電力制限に近付けて、グループ電力制限を超えることなくデバイスのスループットを最大限にすることができる。
【００１４】
図１は、本発明に従って電力管理を行うことができる例示的なラック搭載可能マルチサーバ・コンピュータ・システム１０の斜視図である。コンピュータ・システム１０は、複数のブレード・サーバ１２および他のハードウェア・デバイスを収容するシャーシ１１を含む。各ブレード・サーバ１２は、１つ以上のマイクロプロセッサ、ハード・ドライブ、およびメモリを含み、１つ以上の共通のまたは独立したネットワークにサービスを提供する。また、コンピュータ・システム１０は、様々な共有サポート・モジュールを含む。それらには、シャーシ管理モジュール１５、１つ以上の電力供給モジュール１６、１つ以上の送風装置モジュール１７、および多数のスイッチ・モジュール１８が含まれる。管理モジュール１５は、シャーシ、ブレード・サーバ、および他のモジュールを管理する。電力モジュール１６は、システムに電力を提供する。送風装置モジュール１７は、シャーシ１１を通る空気流を発生してコンピュータ・システムを冷却する。スイッチ・モジュール１８は、ブレード・サーバＩ／Ｏとネットワークとの間にネットワーク接続を提供する。ノイズを低減するために、音響モジュール（図示せず）を含むことも可能である。ブレード・サーバ１２はシャーシ１１の前面２０に設置され、サポート・モジュール１５〜１８はシャーシ１１の後面２２に設置されている。ブレード・サーバ１２およびサポート・モジュール１５〜１８は、中央平面として知られる内部シャーシ・インタフェースにおいて接触し、これによって、ブレード・サーバ１２、モジュール、媒体トレー間の相互接続の全て、およびシャーシ全体にわたるＤＣ電力配分が得られる。中央平面におけるコネクタが、ブレード・サーバ１２をサポート・モジュール１５〜１８に結合して、配線要求を低減すると共に、ブレード・サーバ１２の設置および除去を容易にする。
【００１５】
図２は、マルチサーバ・コンピュータ・システムの状況における、本発明の一実施形態による電力管理されたコンピュータ・システム３０の概略図である。コンピュータ・システム３０は、例えば、図１のマルチサーバ・コンピュータ・システム１０またはそのサブシステムを概略的に表すことができる。コンピュータ・システム３０は、「Ｎ」個のサーバ１２を含む。各サーバ１２は、１つ以上のプロセッサまたはＣＰＵ３１およびメモリ３３を含み、これらは選択的に抑制することができる。電力供給装置３６がコンピュータ・システム３０に電力を供給する。電力供給装置３６は、ここでは、図１の電力モジュール１６等、サーバ１２間で共有される単体の電力供給モジュールとして図示されている。あるいは、電力供給装置３６は、サーバ１２当たり１つの内蔵電力供給モジュール等、多数の電力モジュールを含むことができる。また、サーバ１２を冷却するために冷却ユニット３２も含まれている。ここで、冷却ユニット３２は、サーバ１２当たり１つの冷却ファンを含むものとして図示されている。あるいは、冷却ファン３２は、例えば図１の送風装置モジュール１７等、シャーシを通る空気流を発生させて多数のサーバ１２を冷却する共有送風装置モジュールとすることができる。各サーバ１２のデバイス電力制限を設定し動的に調節することによって複数のサーバ１２に対する電力を管理するために、電力管理モジュール３８が設けられている。また、各サーバ１２はローカル・コントローラ４０を含む。これは、電力管理モジュール３８と連係動作して、電力管理モジュール３８によってサーバ１２に対して動的に選択されるデバイス電力制限の実施を含む、電力消費の制御および管理を行う。
【００１６】
電力管理モジュール３８またはサーバ１２あるいはその両方によって使用可能な電力管理ソフトウェア５０は、電力管理方法を実施するための論理を提供する。ソフトウェア５０は、「コンピュータ読み取り可能物理媒体」上に存在することができる。この説明の目的のため、「コンピュータ読み取り可能物理媒体」としては、命令実行システム、装置、またはデバイスによってまたはこれと接続して用いるためのプログラムを含有、記憶、伝達、伝搬、または移送することができるいずれかの装置とすることができる。コンピュータ読み取り可能媒体の例は、半導体または固体メモリ、磁気テープ、着脱可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、固定磁気ディスクおよび光ディスクを含む。現在の光ディスクの例は、コンパクト・ディスク−リード・オンリ・メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク−リード／ライト（ＣＤ−Ｒ／Ｗ）、およびＤＶＤを含む。媒体は、電子、磁気、光、電磁気、赤外線、または半導体システム（もしくは装置もしくはデバイス）、または伝搬媒体とすることができる。物理媒体は、コンピュータ・システム１０によって、管理モジュール３８、サーバ１２、またはその両方に読み取られて、電力管理モジュール３８およびサーバ１２によってアクセスし実行することができる。プロセッサ３１は、システム・バスを介して、直接または間接的に、メモリ３３または他のメモリ要素に結合することができる。メモリ３３は、プログラム・コードの実際の実行中に用いられるローカル・メモリ、大容量記憶装置、および、少なくともいくつかのプログラム・コードの一時的な記憶を提供するキャシュ・メモリを含んで、実行中に大容量記憶装置からコードを検索しなければならない回数を減らすことができる。
【００１７】
キーボード、ディスプレイ、またはポインティング・デバイス等の入出力（Ｉ／Ｏ）デバイスを、直接またはＩ／Ｏコントローラを介して、システムに結合することができる。また、ネットワーク・アダプタを用いて、構内網（プライベート・ネットワーク）または公衆網（パブリック・ネットワーク）等を介して、データ処理システムを、他のデータ処理システムまたは遠隔（リモート）プリンタまたは記憶デバイスに結合することができる。ネットワーク・アダプタの例は、モデム、ケーブル・モデム、イーサネット（登録商標）・カード、および無線ネットワーク・アダプタである。ユーザは、キーボードおよびマウス等の入力デバイスによって、コンピュータ・システムにコマンドおよび情報を入力することができる。他の入力デバイスには、マイクロフォン、ジョイスティック、ゲーム・パッド、タッチ・パッド、衛星パラボラアンテナ、スキャナ等を含むことができる。多くの場合、これらおよび他の入力デバイスは、システム・バスに結合されたＵＳＢ（ユニバーサル・シリアル・バス）を介して処理ユニットに接続するが、シリアル・ポート・インタフェース、パレレル・ポート、ゲーム・ポート等の他のインタフェースによって接続することも可能である。また、ディスプレイ・デバイスを含むグラフィカル・ユーザ・インタフェース（ＧＵＩ）を、ビデオ・アダプタ等のインタフェースを介してシステム・バスに接続することも可能である。このため、システム管理者等のユーザは、例えばポリシー設定を入力および編集することができる。
【００１８】
ユーザによって選択可能なポリシー設定の例は、限定ではないが、性能、故障管理、セキュリティ、およびエネルギ効率に関連した決定をシステムがどのように決定するかを含むことができる。システムは、最終的にこれらのポリシー設定を用いて、サーバに作業負荷を割り当てるための追加的な基準を確立する。例えば、ポリシー設定は、サーバのいくつかを、相対的に優先度の高いものまたは「重要（mission-critical）」として指定し、他のサーバを、相対的に優先度の低いものまたは「非重要（non-mission-critical）」として指定することができる。フェイルオーバ（failover）・ポリシー設定では、優先度の高いまたは重要サーバ上で故障状況が検出された場合に、優先度の低いまたは非重要サーバに対する作業負荷を一時的に中断して、優先度の高いまたは重要サーバから優先度の低いまたは非重要サーバに作業負荷をシフトさせることを指定することができる。エネルギ管理に関連するポリシー設定の別の例では、全てのサーバで作業負荷が増大している状況において、非重要サーバのデバイス制限を低下させるという犠牲を払って、いくつかの重要サーバのデバイス制限を上昇させることができる。
【００１９】
この実施形態において、ローカル・コントローラ４０は、ベースボード管理コントローラ（ＢＭＣ）４２を含む。ＢＭＣ４２は、マザーボードに埋め込まれた専用マイクロコントローラであり、インテリジェント・プラットフォーム管理インタフェース（ＩＰＭＩ：Intelligent Platform ManagementInterface）・アーキテクチャにおけるコンポーネントである。ＢＭＣ４２の機能は、従来、センサからの入力を受信し、いずれかのパラメータが所定の制限内に収まらない場合には管理者に警告を送信することを含む。ＢＭＣは、システム管理ソフトウェアとプラットフォーム・ハードウェアとの間のインタフェースを管理する。コンピュータ・システムに内蔵されたセンサは、電力、温度、冷却ファンの速度、およびオペレーティング・システム（ＯＳ）のステータス等のパラメータについてＢＭＣに通知する。ＢＭＣは、センサを監視し、パラメータのいずれかが予め設定された制限内に収まらずにシステムの故障の可能性が示される場合、ネットワークを介してシステム管理者に警告を送信することができる。また、管理者は、ＢＭＣと遠隔通信を行い、システムのリセットまたは電力サイクル等の何らかの補正措置をとって、ハングしたＯＳを再び動作させることができる。埋め込まれたセンサは電力センサ４４を含み、これは、サーバ１２による電力消費を検知し、それを表す信号を出力する。電力管理モジュール３８は、電力計器４４と通信し、電力消費信号を処理して、以下に詳述する本発明の方法が規定する方法でサーバに対する電力を制御する。
【００２０】
一つの例示的なアーキテクチャにおいて、ＢＭＣに対する物理インタフェースは、SMBusバス、ＲＳ−４８５シリアル・コンソール、アドレス、およびデータ・ライン等のシリアル通信インタフェース、ならびにインテリジェント・プラットフォーム管理バス（ＩＰＭＢ）を含むことができ、これによってＢＭＣはシステム内の他の管理コントローラからＩＰＭＩ要求メッセージを受け入れることができる。ＢＭＣは、ＩＰＭＩプロトコルを用いて、遠隔クライアント上のＢＭＣ管理ユーティリティ（ＢＭＵ：BMC management utility）と通信を行うことができる。ＢＭＵは通常、コマンドライン・インタフェース（ＣＬＩ：command line interface）・アプリケーションである。ＬＡＮを介したＢＭＣに対する接続は、ユーザのセキュリティに対する関心に応じて、暗号化を用いる場合も用いない場合もある。ＢＭＣ４０の従来の機能に加えて、ＢＭＣ４０は、電力管理方法の実施形態に従って各サーバ１２に動的なデバイス電力制約を実施するように構成されている。例として特定のアーキテクチャをここで説明するが、本発明は、このＢＭＣアーキテクチャが経時的に変化すること、およびかかる変更されたアーキテクチャと共に機能するように本発明を適合可能であることを想定している。本発明は、更に、ＢＭＣを用いることなく電力管理方法を実行することができる電力管理されたコンピュータ・システムの代替的な実施形態も想定している。
【００２１】
各サーバは設計上、正常動作のもとで維持することができる最大電力消費値を有する。この「最大電力容量」は、通常、電力供給装置がそのサーバに物理的に供給可能である最大電力量、または、サーバが電力供給装置から引き出すように設計されているエネルギの上限等のハードウェアの限界である。また、各サーバは設計上、「最小電力消費レベル」を有する。これは、サーバがアイドル状態である場合等、電源投入された場合にサーバが消費する電力の下限である。いくつかのサーバの最小電力消費レベルは、ほぼゼロとすることができる。本発明の一態様によれば、サーバの最大電力容量未満の各サーバに、可変デバイス電力制限を課すことができる。電力管理モジュール３８は、各サーバ１２に対するデバイス電力制限を選択し、これを動的かつ別個に調節して、各サーバ１２のローカル・コントローラ４０によって実施させることができる。各サーバ１２のデバイス電力制限の値は、サーバの最大電力消費レベルと最小電力消費レベルとの間の範囲内で変動し得るが、必ずしもその範囲の最大限度までは変動しない。例えば、サーバは１００Ｗの最大電力容量および５Ｗの最小電力消費レベルを有し、電力管理モジュール３８は２０Ｗと８０Ｗとの間の範囲内でそのサーバのデバイス電力制限を変動させることができる。
【００２２】
この電力管理方法によれば、管理モジュール３８は、サーバの「利用度」に従って各サーバ１２のデバイス電力制限を動的に調節することができる。サーバの利用度は、そのリアルタイムの電力消費に関連し、サーバの現在の電力消費をサーバの現在のデバイス電力制限または最大電力容量に関連付けた相対的な値として表すことができる。サーバの利用度は、例えば、その時点におけるサーバのデバイス電力制限に対する瞬間電力消費の比または割合として表すことができる。あるいは、サーバの利用度は、サーバの最大電力容量に対する瞬間電力消費の比または割合として表すことができる。例示のため、ある特定の時点で、サーバの最大電力容量が１００Ｗであり、現在のデバイス電力制限が８０Ｗであり、現在の電力消費が４０Ｗである場合、前者の利用度の定義によれば利用度は５０％であり、後者の利用度の定義に従えば利用度は４０％である。また、他の利用度の定義も本発明の範囲内である。
【００２３】
サーバ１２に対してデバイス電力制限を実施するために、ローカル・コントローラ４０によって様々な技法を用いることができる。かかる技法は、プロセッサ３１またはメモリ３３を選択的に「抑制」すること、サブシステムを省電力動作モードに置くこと、または未使用の回路の電源を切ることを含むことができる。他の電力消費制限の例は、プロセッサ３４のクロック周波数または動作電圧を低下させること、プロセッサ３１の動作に待機または保持状態を取り入れること、プロセッサのクロック・ゲーティングを実行すること、プロセッサの供給電圧を低下させること、またはデバイス間で作業負荷を移行させることが含まれる。プロセッサの負荷とサーバの電力消費との間には何らかの相関関係があり得るが、プロセッサ負荷が常に確実な電力消費の指標であるというわけではない。なぜなら、基礎にあるマイクロアーキテクチャの挙動、チップ当たりのトランジスタの変動性、および電力消費に影響を与える他の多くの複雑な要因があるからである。従って、ローカル・コントローラ４０は通常、例えばＢＭＣ上で動作するハードウェアのリアルタイム機能を用いて実施可能な精密測定およびフィードバック制御システムを含む。ローカル・コントローラ４０は、ＢＭＣ４２および電力計器４４のために、ハードウェアのリアルタイム比率制御システムとして、ミリ秒単位の時間尺度で電力を調節することができる。この機能は、ソフトウェア５０によって用いられて、本発明に従った電力管理を実施することができる。
【００２４】
図３は、本発明の一実施形態に従ってコンピュータ・システムに対する電力を制御する例示的な方法を概説するフローチャートである。フローチャートのステップは、図２の電力管理されたコンピュータ・システム３０が用いるソフトウェア５０等のソフトウェアによって実施可能である。この方法は、コンピュータ・システムがサーバ・グループ等の電力消費電子デバイス・グループを含むことを想定している。各デバイスにデバイス電力制限を実施することができ、グループ全体に「グループ電力制限」を実施することができる。例えば、各々の最大動作容量が１００Ｗである１０個のデバイスから成るグループにおいて、それぞれ１００Ｗまでの個別に調節可能なデバイス電力制限を課すことができる。このデバイス・グループでは、最大動作容量は１０００W（１０個のサーバｘ１００Ｗ／サーバ）であり、従って、このデバイス・グループには、１０００Ｗまでのグループ電力制限を課すことができる。
【００２５】
ステップ６０において、グループ電力制限を選択する。グループ電力制限は動的であり、様々なポリシー考慮要件に応答して経時的に変化する場合がある。例えば、多くのエネルギ市場においては、１日を通して電力価格は変動し、この場合、１つのポリシー考慮要件は、最高価格時間帯にグループ電力制限を低下させることである場合がある。従って、図３のフローチャートはループとして構成する。このループにおいて、ステップ６０は周期的に繰り返され、選択したグループ電力制限は経時的に変動する場合がある。ステップ６２において、グループ電力制限をデバイス電力制限と比較する。具体的には、グループ電力制限をデバイス電力制限の合計と比較して、デバイス電力制限の合計がグループ電力制限を超えないことを確実とすることができる。ステップ６４において、デバイス電力制限の合計がグループ電力制限を超えないように、デバイス電力制限を調節することができる。次いで、ステップ６６において、現在のデバイス電力制限を実施する。フローチャートのステップを実行することができる時間尺度等、機械によるソフトウェア・ステップの実行に対する物理的な制限のために、短い時間期間が存在し、この間にデバイス電力制限の合計がグループ電力制限を超えてしまう場合がある。かかる遅延は最小限に抑えることが好ましく、コンピュータ・システムに対して命令を実行するためのプロセッサは一般に、かかる遅延を最小限に抑えるために充分に高速である。例えば、ステップ６０のある繰り返しにおいてグループ電力制限を低下させた後、短い時間期間が経過し、この間に比較ステップ６２を実行し、その後ステップ６４においてデバイス電力制限を調節してステップ６６において実施することができる。
【００２６】
本発明に従った電力管理方法においてデバイス電力制限を調節し実施するために、様々な手法を用いることができる。概して、ある手法では、ステップ６２においてデバイス電力制限の合計がグループ電力制限未満であると判定された場合、ステップ６４の各繰り返しにおいて、グループ内で利用度の高いデバイス（「ＨＵＤ：higher-utilization device」）のサブセットを識別し、そのサブセットの１つ以上のデバイス電力制限を選択的に上昇させる。例えば、高利用度のデバイスのサブセットは、グループ内で最も利用される単一デバイス等、１つだけとすることができる。あるいは、高利用度のデバイスのサブセットは、最も利用されるデバイスの選択された割合のもの等、多数のデバイスとすることも可能である。例えば、高利用度のデバイスのサブセットは、グループのうち利用度が最高である１０％とし、このサブセットの１つ以上のデバイス（であるが必ずしも最も利用されるデバイスではない）をデバイス電力制限上昇に選択することができる。同様に、ステップ６２においてデバイス電力制限の合計がグループ電力制限よりも大きいと判定された場合、ステップ６４において、グループ内の１つ以上の利用度の低いデバイス（「ＬＵＤ：low-utilization device」）のサブセットを識別し、これらの１つ以上のデバイス電力制限を低下させることができる。例えば、最も利用されない単一デバイスのデバイス電力制限を低下させることができる。あるいは、低利用度のデバイス（ではあるが必ずしも最も利用されないデバイスではない）のサブセット内の１つ以上のデバイスのデバイス電力制限を低下させることができる。図３に概説した方法のステップは、更に綿密に実行して、電力管理方法を実施するための更に詳細なアルゴリズムを生成することができる。
【００２７】
図４は、コンピュータ・システムに対する電力を管理するためのアルゴリズムの更に具体的かつ詳細な実施形態を概説するフローチャートである。ステップ１００において、先に示したもの等のポリシー考慮要件について検討する。例えば、コンピュータ・システムにどのくらいの電力を割り当てるかを決定する際に、時刻およびその特定の時刻における電力の時間変化コストを考慮することができる。ステップ１０１において、グループ電力制限（ＰＬG）を取得する。グループ電力制限は、ステップ１０１の各繰り返しにおいて更新される。グループ電力制限は、ステップ１０１のいくつかの繰り返しでは変化し、他の繰り返しでは変化しない。グループ電力制限は、例えば、時間変化エネルギ・コスト、電力の可用性、または提示される作業負荷の性質に従ってデータセンタの特定の領域でサーバを用いる場合の好みに応じて等、ステップ１００において考慮したポリシー設定のために変化し得る。ステップ１０２において、デバイス電力制限の合計（ΣＰＬI）をグループ電力制限と比較する。条件ステップ１０４および１０６を用いて、デバイス電力制限の合計がグループ電力制限未満であるか、またはこれより大きいかを判定する。デバイス電力制限の合計がグループ電力制限より大きくなく、それ未満でもない場合、アルゴリズムはグループ電力制限を更新するためのステップ１０１に直接戻る。条件ステップ１０４により、デバイス電力制限の合計がグループ電力制限未満である場合、サブルーチン（「ループ」）１１０をトリガしてデバイス電力制限を選択的に上昇させる。条件ステップ１０６により、デバイス電力制限の合計がグループ電力制限より大きい場合、別のサブルーチン（「ループ」）２０をトリガしてデバイス電力制限を選択的に低下させる。
【００２８】
ステップ１０４および１０６の実行においてファジー論理を用いて、図４のアルゴリズムを実施するために用いられるソフトウェアのプログラマまたはユーザが、条件ステップ１０４および１０６のいずれかをトリガするのに必要な精度のレベルを選択することを可能とする。例えば、（例えばコードを書く際の）プログラマ、または（例えばグラフィカル・ユーザ・インタフェースにおいてユーザの好みを選択する際の）ユーザは、少なくとも選択した設定値だけ、デバイス電力制限の合計がグループ電力制限未満でなければならないこと（ステップ１０４）またはグループ電力制限よりも大きくなければならないこと（ステップ１０６）を指定することができる。設定値の使用は、例えばデバイス電力制限の合計がすでにグループ電力制限とほぼ等しい場合に不必要な調節を防ぐために望ましい。
【００２９】
ループ１１０では、ステップ１１２において各デバイスの利用度レベルを取得する。利用度の取得方法の例は、先に記載した。図４におけるアルゴリズムを論じる目的のため、特定のデバイスの利用度は、現在のデバイス電力制限に対するそのデバイスの現在の電力消費の比または割合であると仮定する。また、デバイス電力制限は一度に１つのデバイスずつ上昇させることを仮定するが、別の実施形態では、ほぼ同時に多数のデバイスのデバイス電力制限を上昇させることも可能である。ステップ１１４において、任意の値１１４Ａ、１１４Ｂ、および１１４Ｃとして示す３つのうち最小値の分だけ、選択したＨＵＤのデバイス電力制限を上昇させる。選択するＨＵＤは、グループ内の最も利用される１０％のデバイス等、１つ以上のＨＵＤのサブセットから選択したデバイスとすることができ、または、サブセットは単一のＨＵＤだけとすることができる。ＨＵＤが多数のＨＵＤのサブセットから選択される場合、このＨＵＤのサブセットから優先度の高いサーバを選択するため等、ポリシー設定を考慮することができる。一例では、最も利用されるデバイスを選択する。すなわち、これは、デバイス電力制限に対する電力消費の比が現在最も大きく、従って、そのデバイス電力制限と電力消費との間の差が最も小さいデバイスである。２つのデバイスが同じ最高の利用値を有する場合、タイブレーカを用いることができる。すなわち、同じ値を有する最も利用されるデバイス間で、いずれかのデバイス電力制限上昇量を分割することができる。ステップ１１４によって、任意の値１１４Ａ、１１４Ｂ、および１１４Ｃとして挙げた３つのうち最小値の分だけ、選択したＨＵＤのデバイス電力制限を上昇させることができる。具体的には、選択したＨＵＤのデバイス電力制限の上昇分は、「Ｘ」ワットのデフォルト定数（任意の値１１４Ａ）、グループ電力制限と個別の電力制限の合計との差（任意の値１１４Ｂ）、または現在最も利用されているデバイスの最大電力容量ＰＬI(MAX)と現在のデバイス電力制限との間の差（任意の値１１４Ｃ）とすることができる。任意の値１１４Ａを選択する場合、デバイス電力制限をデフォルト値Ｘだけ上昇させ、ループ１１０はステップ１１２から繰り返す。ループ１１０の次の繰り返しにおいて、利用度の値を再計算し、選択したＨＵＤに前のデバイス電力制限の上昇を実行した結果、異なるＨＵＤサブセットが得られる。この手法は、最も多い電力を必要とするデバイスのデバイス電力制限を一度にＸワットずつ規則正しく上昇させることによって、デバイスの電力の必要性に従ったデバイス電力制限の上昇を優先する。
【００３０】
ループ１１０の１つ以上の繰り返しを実行する。各繰り返しにおいて選択したＨＵＤのデバイス電力制限を上昇させ、デバイス電力制限の合計がグループ電力制限に等しくなるまで行う。ループ１１０の各繰り返しにおいて、Ｘがデフォルトの上昇分（任意の値１１４Ａ）として選択される。この選択は、このデフォルト上昇によって現在選択されているＨＵＤがその最大電力容量ＰＬI(MAX)を超えるか、またはデバイス電力制限の合計がグループ電力制限を超えることがない限り行われる。それらの例外の場合には、任意の値１１４Ｂ、１１４Ｃが指定される。具体的には、３つの任意の値の最小のものがＰＬI(MAX)−ＰＬI(CURR)である場合には、任意の値１１４Ｃが選択される。任意の値１１４Ｃを選択した結果、現在最も利用されているデバイスのデバイス電力制限はそのＰＬI(MAX)の上限値まで上昇し、それ以上は上昇させることができない。従って、ステップ１１４において、デバイス電力制限が現在ＰＬI(MAX)と等しいいずれのデバイスも、ループ１１０における更に別のデバイス電力制限上昇から一次的に除外することができ、その場合、代わりに、デバイス電力制限がＰＬI(MAX)未満であるグループ内の最も利用されるデバイスに、デバイス電力制限上昇を適用することができる。一次的に除外されたデバイス（複数のデバイス）は、この後のループ１２０の実行において関連するデバイス電力制限が低下した場合（後述する）等に、デバイス電力制限上昇の候補として再び含めることができる。デバイス電力制限の合計が現在選択されているグループ電力制限と等しくなるまで、ループ１１０を繰り返す。具体的には、任意の値１１４Ｂが選択されるまで、ループ１１０を繰り返す。任意の値１１４Ｂを選択することによって、デバイス電力制限の合計がグループ電力制限に等しくなる。任意の値１１４Ｂが選択された後、アルゴリズムはステップ１０１に戻り、グループ電力制限を更新する。
【００３１】
条件ステップ１０６において判定されるように、デバイス電力制限の合計がグループ電力制限よりも大きい場合、デバイス電力制限の１つ以上を低下させてグループ電力制限を満足させる必要がある。これが起こり得るのは、最高価格時間帯中に電力予算編成（budgeting）モードに入った場合等、ステップ１０１の繰り返しにおいてデバイス電力制限を低下させる必要がある場合である。従って、条件ステップ１０６をトリガすると、フローチャートの右側のループ１２０に入り、デバイス電力制限の合計がグループ電力制限を超えなくなるまでデバイス電力制限を選択的に低下させる。サーバのスループットを最大にするため、デバイス電力制限の合計が実質的にグループ電力制限に等しくなるのにちょうど充分な程度に、ループ１２０はデバイス電力制限を低下させる。ステップ１２２において、前述のように各デバイスの利用度レベルを取得する。この場合も多数のＬＵＤまたは単一のＬＵＤを含むことができるＬＵＤのサブセットを選択する。一例においては、最も利用されないデバイス、すなわち、デバイス電力制限に対する電力消費の比が最小であり、従ってデバイス電力制限とその電力消費との間の差が最大であるデバイスを、計算された各デバイスの利用度から容易に識別することができる。
【００３２】
ループ１２０において、ＬＵＤの１つ以上のデバイス電力制限を低下させる。２つのデバイスが同じ最低の利用値を有する場合、タイブレーカを用いることができる。すなわち、同じ値を有する最も利用されないデバイス間で、いずれかの低下量を分割することができる。ステップ１２４によって、任意の値１２４Ａ、１２４Ｂ、および１２４Ｃとして挙げた３つのうち最小値の分だけ、現在選択されているＬＵＤのデバイス電力制限を低下させることができる。具体的には、選択したＬＵＤのデバイス電力制限の低下分は、Ｘワットのデフォルト定数（任意の値１２４Ａ）、個別の電力制限の合計とグループ電力制限との差（任意の値１２４Ｂ）、または現在選択されているＬＵＤの現在のデバイス電力制限と最小電力容量ＰＬI(MIN)との間の差（任意の値１２４Ｃ）とすることができる。任意の値１２４Ａを選択する場合、デバイス電力制限をデフォルト値Ｘだけ低下させ、ループ１２０はステップ１２２から繰り返す。ループ１１０の次の繰り返しにおいて、利用度の値を再計算し、デバイスの１つに前のデバイス電力制限の低下を実行すると、以降の繰り返しにおいて、異なるデバイスが現在最も利用されていないデバイスとなる場合がある。この手法は、最小の電力しか必要としないデバイスのデバイス電力制限を一度にＸワットずつ規則正しく低下させることによって、デバイスの電力の必要性に従ったデバイス電力制限の低下を優先する。
【００３３】
ループ１２０の１つ以上の繰り返しを実行することができる。各繰り返しにおいて現在選択されているＬＵＤのデバイス電力制限を低下させ、デバイス電力制限の合計がグループ電力制限に等しくなるまで行う。この場合も、ユーザまたはプログラマによって、この判定を行うために必要な精度レベルを選択し、所望の場合にはファジー論理を用いることができる。ループ１２０の各繰り返しにおいて、Ｘがデフォルトの低下分として選択される。この選択は、このデフォルト低下によって現在選択されているＬＵＤがその最小電力容量ＰＬI(MIN)を下回るか、またはデバイス電力制限の合計がグループ電力制限を下回ることがない限り行われる。それらの例外の場合には、任意の値１２４Ｂおよび１２４Ｃが指定される。具体的には、３つの任意の値の最小のものがＰＬI(CURR)−ＰＬI(MIN)である場合には、任意の値１２４Ｃが選択される。任意の値１２４Ｃを選択した結果、現在選択されているＬＵＤのデバイス電力制限はそのＰＬI(MIN)まで低下し、それ以上は低下させることができない。従って、ステップ１２４において、デバイス電力制限が現在ＰＬI(MIN)と等しいいずれのデバイスも、ループ１２２における更に別のデバイス電力制限低下から一次的に除外され、その場合、代わりに、デバイス電力制限がＰＬI(MIN)よりも大きいグループ内の別のＬＵＤに、デバイス電力制限低下を適用することができる。一次的に除外されたデバイス（複数のデバイス）は、この後のループ１１０の実行において関連するデバイス電力制限が上昇した場合（上述した）等に、デバイス電力制限低下の候補として再び含めることができる。デバイス電力制限の合計が現在選択されているグループ電力制限と等しくなるまで、ループ１２０を繰り返す。具体的には、任意の値１２４Ｂが選択されるまでループ１１０を繰り返す。任意の値１２４Ｂを選択することによって、デバイス電力制限の合計がグループ電力制限に等しくなる。任意の値１２４Ｂが選択された後、アルゴリズムはステップ１０１に戻り、グループ電力制限を更新する。
【００３４】
また、ステップ１００によるポリシー設定の考慮要件によって、このアルゴリズムは、電力制限の合計がステップ１１４Ｂまたは１２４Ｂのいずれかにおけるグループ電力制限と等しい場合等、ある条件のもとで起こり得るサイクルを抜け出すことができる。かかる状況では、ステップ１００におけるポリシー設定の考慮要件がステップ１０１におけるグループ電力制限に影響を与えるまで、ステップ１０１の多くのサイクルについて、サーバに対する電力割り当ては不変のままとすることができる。例えば、ある状況においては、高利用度または高優先度あるいはその両方のサーバが、利用可能な場合に（デバイス電力制限の上昇による）追加の電力割り当てから利益を得ることができるが、ステップ１１４の各繰り返しにおいて、デバイス電力制限の合計およびグループ電力制限が平衡状態である場合がある。その場合、１つ以上の低利用度のデバイスまたは低優先度であるが高利用度のデバイスについてデバイス電力制限を低下させることができるので、１つ以上の高優先度または高利用度のデバイスについてデバイス電力制限を上昇させることができ、しかもデバイス電力制限の合計はグループ電力制限を超えない。
【００３５】
任意に、ループ１１０またはループ１２０が完了する前にグループ電力制限が変化した場合、アルゴリズムは、ループ１１０または１２０を中止するか、グループ電力制限を更新するためにステップ１０１に戻るように構成することができる。
【００３６】
図５は、電子システムに適用されるシステム階層に従って本発明の別の実施形態においてどのように電力を管理するかの一例を示す電子システムの概略図である。図５の電子システムは、３つのサーバ・ラック２３０Ａ、２３０Ｂ、２３０Ｃを有するデータセンタ２００を含む。ラック２３０Ａ〜２３０Ｃは同一である必要はないが、説明を簡略化するために同一のものとして図示している。主電力供給装置２３６が、データセンタ２００に給電する。ラック２３０Ａ〜２３０Ｃは全て、主電力供給装置２３６によって給電することができる。各ラック２３０Ａ〜２３０Ｃは、ラック当たり、複数の５個のサーバ１２および１つの電力供給装置３６Ａ〜３６Ｃを含む。第１および第２のレベルで並行して、本発明の電力管理方法に従って、電力を同時に管理することができる。階層の第１のレベルでは、各ラックをグループとして扱い、各サーバをその第２レベルのグループのデバイスとして扱うことができる。第２のレベルでは、データセンタ全体をグループとして扱い、各ラックをその第２のレベルのグループの「デバイス」として扱うことができる。これらの２つのレベルの各々について、２つの別個のグループ電力制限を選択することができる。例えば図４の電力管理アルゴリズムにおいて述べたグループ／デバイス関係に従って、各レベルのデバイス間で電力を管理することができる。
【００３７】
詳しく述べると、電力管理方法の第１のレベルでは、各ラック２３０Ａ〜２３０Ｃをグループとして扱い、各サーバ１２をそれが属するグループの「デバイス」として扱うことができる。図４のアルゴリズムに従って等、本発明に従って、各グループ（ラック２３０Ａ、２３０Ｂ、または２３０Ｃ）に対する電力を管理することができる。各ラック２３０Ａ〜２３０Ｃについてグループ電力制限を一意に指定し、電力供給装置３６Ａ、３６Ｂ、および３６Ｃによってそれぞれ供給することができる。各サーバ１２ごとに動的デバイス電力制限を動的に調節して、各ラック２３０Ａ、２３０Ｂ、または２３０Ｃにおける５つのサーバ１２のデバイス電力制限の合計がそのラックに指定されたグループ電力制限を超えないようにすることができる。
【００３８】
第２のレベルでは、データセンタ２００全体を「グループ」として扱い、各ラック２３０Ａ〜２３０Ｃをそのグループの「デバイス」として扱うことができる。図４のアルゴリズムに従って等、本発明に従って、グループ（データセンタ２００）に対する電力を管理することができる。例えば、データセンタ２００についてグループ電力制限を指定し、主電力供給装置２３６によって供給することができる。各ラック２３０Ａ、２３０Ｂ、２３０Ｃごとに動的デバイス電力制限を指定し、動的に調節して、２つのラック２３０Ａ、２３０Ｂ、および２３０Ｃのデバイス電力制限の合計がデータセンタ２００に指定されたグループ電力制限を超えないようにすることができる。
【００３９】
更に別のレベルも考えることができ、その場合、図４の電力管理アルゴリズムにおいて述べたデバイス／グループ関係に従って各レベルで電力を管理することは、本開示から利益を得る当業者には認められよう。
【００４０】
本発明の特許請求の範囲および明細書に用いられる「含む（comprising）」、「含む（including）」、および「有する（having）」という言葉は、指定されない他の要素を含み得る開かれたグループを示すものとして考えられるものである。不定冠詞（「a」、「an」）、および単語の単数形は、同じ単語の複数形を含むものであり、その言葉を用いた場合、何かが１つ以上設けられることを意味する。「１つ」または「単一」という言葉は、何かが１つだけ意図されることを示すために用いることができる。同様に、「２つ」等の他の特定の整数値は、特定数の物が意図される場合に用いることができる。「好ましくは」、「好ましい」、「好む」、「任意に」、「〜することができる」という言葉、および同様の言葉は、言及する項目、条件、またはステップが、本発明の任意の（必須ではない）特徴であることを示すために用いられる。
【００４１】
本発明について、限られた数の実施形態に関連付けて記載したが、ここに開示した本発明の範囲から逸脱しない他の実施形態も考案可能であることは、本開示から利益を得る当業者には認められよう。従って、本発明の範囲は特許請求の範囲によってのみ限定されるものとする。
【図面の簡単な説明】
【００４２】
【図１】本発明に従った、電力を管理することができる例示的なラック搭載マルチサーバ・コンピュータ・システムの斜視図である。
【図２】マルチサーバ・コンピュータ・システムの状況における、本発明の一実施形態による電力管理されたコンピュータ・システムの斜視図である。
【図３】本発明の一実施形態に従った、コンピュータ・システムによって消費される電力を管理する例示的な方法を概説するフローチャートである。
【図４】コンピュータ・システムによる電力消費を制限するためのアルゴリズムの更に具体的かつ詳細な実施形態を概説するフローチャートである。
【図５】本発明に従った電力管理方法をどのように電子システムの多レベルに同時に適用可能であるかの例を示す電子システムの概略図である。
【符号の説明】
【００４３】
１０、３０ コンピュータ・システム
１２ ブレード・サーバ
１５ シャーシ管理モジュール
１６ 電力供給モジュール
１７ 送風装置モジュール
１８ スイッチ・モジュール
３１ ＣＰＵ
３２ 冷却ユニット
３３ メモリ
３６ 電力供給装置
３８ 電力管理モジュール
４０ ローカル・コントローラ
５０ 電力管理ソフトウェア
２００ データセンタ
２３０Ａ〜２３０Ｃ  ラック
２３６ 主電力供給装置
【図１】
0005235590.tif 000002
【図２】
0005235590.tif 000003
【図３】
0005235590.tif 000004
【図４】
0005235590.tif 000005
【図５】
0005235590.tif 000006