(57)【特許請求の範囲】
【請求項１】
電源により給電され、各々の電力上限値にそれぞれ関連付けられている複数の電子的構成要素と、
該電子的構成要素の消費電力を或る期間にわたってモニタするとともに、モニタされた前記消費電力に基づいて前記電子的構成要素のうちの少なくとも１つに関連する少なくとも１つの電力上限値を動的に調整するように構成されているロジックと
を備え、
前記ロジックは、モニタされた前記消費電力が前記少なくとも１つの電力上限値から外れ且つ電力上限値の引き上げの決定が前記ロジックによってまだ行われていない場合において、前記少なくとも１つの電子的構成要素に対して、前記少なくとも１つの電子的構成要素の動作を低速化させる信号を送るように構成され、
前記ロジックは、モニタされた前記消費電力が前記期間の中で所定の割合にわたって前記少なくとも１つの電力上限値から外れ且つ電力上限値の引き上げの決定が前記ロジックによって行われた場合において、前記少なくとも１つの構成要素の前記電力上限値を上げるように構成されている、システム。
【請求項２】
前記ロジックは、モニタを行う期間中に、前記少なくとも１つの電子的構成要素のコントローラから複数の電流値を要求するように構成されている、請求項１に記載のシステム。
【請求項３】
前記ロジックは、前記少なくとも１つの電子的構成要素により消費される前記消費電力が所定の範囲内にある頻度を表す値を測定するように構成されている、請求項１に記載のシステム。
【請求項４】
前記少なくとも１つの電子的構成要素により消費される前記消費電力が、前記期間中において少なくとも所定の割合で前記所定の範囲を超えることを前記値が示すような場合において、前記ロジックは、前記少なくとも１つの構成要素の前記電力上限値を上げるように構成されている、請求項３に記載のシステム。
【請求項５】
前記ロジックは、前記少なくとも１つの電子的構成要素に関連する前記電力上限値の引き上げに対応して、前記複数の電子的構成要素のうちの別の電子的構成要素の前記電力上限値を下げるように構成されている、請求項４に記載のシステム。
【請求項６】
或る期間にわたって複数の電子的構成要素の消費電力をモニタするステップと、
モニタされた前記消費電力に基づいて、前記電子的構成要素のうちの少なくとも１つに関連する電力上限値を動的に調整するステップと
を含み、
前記動的に調整するステップは、
モニタされた前記消費電力が前記少なくとも１つの電力上限値から外れ且つ電力上限値の引き上げの決定が前記ロジックによってまだ行われていない場合において、前記少なくとも１つの電子的構成要素に対して、前記少なくとも１つの電子的構成要素の動作を低速化させる信号を送るステップと、
モニタされた前記消費電力が前記期間の中で所定の割合にわたって前記少なくとも１つの電力上限値から外れ且つ電力上限値の引き上げの決定が前記ロジックによって行われた場合において、前記少なくとも１つの構成要素の前記電力上限値を上げるステップと
を含んでいる方法。
【請求項７】
前記少なくとも１つの電子的構成要素の前記消費電力の引き上げに対応して、前記複数の電子的構成要素のうちの少なくとも１つに関連する前記電力上限値を上げるステップと、
ロジックが前記電力上限値を引き上げることにより、システムに対して指定された全体の電力限度値を超えないように、前記複数の電子的構成要素のうちの別の電子的構成要素に関連する別の電力上限値を下げるステップと
を更に含んでいる、請求項６に記載の方法。
【請求項８】
前記少なくとも１つの電子的構成要素の前記消費電力が所定の範囲を超える頻度を表す値を測定するステップを更に含んでいる、請求項６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピューティング装置の１つ又は複数の構成要素に割り振られる電力を動的に再配分するシステム及び方法に関する。
【背景技術】
【０００２】
コンピューティング装置の構成要素、例えば、中央演算処理装置（ＣＰＵ）及びメモリサブシステムは、より高速の動作速度を提供するために着実に進化している。このような構成要素の速度が増すにつれて、それぞれの構成要素における消費電力の要件も増大する。更に、構成要素の消費電力の要件が増大するにつれて、コンピューティング装置、例えば、サーバ及びデータセンタ全体の消費電力も増大する。しかしながら、コンピューティング装置は多くの場合、消費電力の限度を有している。例えば、電力を供給する電源は、最大電力定格を有しており、コンピューティング装置は、電力コード又は回路ブレーカのような装置の外部にあるものによって制限され、又はコンピューティング装置のユーザは、消費電力に関連するコストをコントロールするように設定された所望の限度を有し得る。
【０００３】
コンピューティング装置は多くの場合、異なったアプリケーションを実行し、それぞれ別個で異なった機能を実行するように構成され得る。例えば、アプリケーションは、データの収集、収集されたデータの編成、及び編成されたデータのメモリへの記憶を行うことができる。別の例では、アプリケーションは、上述した収集され、編成され、記憶されたデータに基づいてリポートを生成することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
多くの場合、アプリケーションの機能は、コンピューティング装置のどの構成要素（例えば、メモリ、入力／出力ドライバ、又はプロセッサ）が頻繁に使用されるか、またこれらの構成要素がそれぞれどの程度使用されるかに影響する。例えば、コンピューティング装置で実行されているアプリケーションがデータを収集している場合、そのアプリケーションは、ＣＰＵに負担をかけるような浮動小数点演算を行うのと比較してより多数のメモリアクセス動作を実行する場合がある。特に、或る構成要素に関連するアクティビティが多いほど、その特定の構成要素が消費する電力も大きくなる。したがって、各構成要素が消費する電力を制御するとともに、装置全体の消費電力の限度値を超えないように、装置全体を制御することが必要となる。
【０００５】
本発明の目的は、電力使用をモニタして、モニタされた電力使用に基づいてシステムの構成要素の動作を制御する電力管理システム及び方法を提供することである。
【課題を解決するための手段】
【０００６】
本開示の実施形態による電力管理システムは、電源によって給電される電子的構成要素を備えている。更に、電力管理システムは、或る時間期間にわたって電子的構成要素の消費電力をモニタし、且つモニタされた消費電力に基づいて電子的構成要素に関連する電力上限値を調整するように構成されているロジックを備えている。
【０００７】
本開示の例示的な実施形態による電力管理方法は、或る時間期間にわたって電子的構成要素の消費電力をモニタすることと、モニタされた消費電力に基づいてシステムの電子的構成要素に関連する電力上限値を調整することとを含んでいる。
【０００８】
本開示は、添付図面を参照してより理解することができる。図面の要素は、必ずしも互いに一定の縮尺で描かれているわけではなく、本開示の原理を明確に示すことに重点が置かれている。更に、同様の参照符号はいくつかの図全体を通して対応する部分を示している。
【発明を実施するための最良の形態】
【０００９】
本開示の実施形態は、概して、コンピューティング装置の１つ又は複数の構成要素に割り振られる電力を動的に再配分するシステム及び方法に関する。特に、本開示の一実施形態によるシステムは、コンピューティング環境内、例えばサーバ又はデータセンタ内の複数の構成要素、例えばメモリサブシステム、プロセッサ、入力／出力ドライバ等の消費電力を動的にモニタする。構成要素の消費電力の増減の表示に応答して、システムは、消費電力１ワット当たりのシステムのパフォーマンスを最適化するように、構成要素に関連する動作電力の上限値を動的に調整するようになっている。
【００１０】
特に例示的なシステムは、上述した電力の限度、例えばシステムの電源での最大電力定格、電力コード若しくは回路ブレーカ等の外部電力の制限、又はユーザが課した消費電力限度を有し得る。このようなシステムでは、所与の時間期間にわたって各種の構成要素の消費電力は変化し得るが、システムは上述した電力限度のうちの１つ又は複数による制約を受け続ける。
【００１１】
本開示のシステムは、システム全体の消費電力を規定の限度内に維持し、特定のアプリケーションの実行中にパフォーマンスを最適化するようにシステムの複数の構成要素の消費電力を制御する。例えば、システムによって実行される或るアプリケーションが複数の構成要素のうちの１つに頻繁に広範囲にわたってアクセスするが、そのアプリケーションが、別の構成要素へのアクセスを必要とする計算集約的な機能を必要としない場合がある。したがって、アプリケーションの実行中に、システムは、頻繁に広範囲にわたってアクセスされる構成要素に関連する電力上限値を上げ、頻繁に広範囲にアクセスされない構成要素に関連する電力上限値を下げる。こうして、システムは、各構成要素の動的に測定された消費電力に基づいて、システムの消費電力を任意の規定の消費電力限度下に保ちながら、複数の構成要素に電力を再配分するようになっている。このようなシナリオでは、より多くの電力がより頻繁にアクセスされる構成要素によって消費されることに留意されたい。
【００１２】
本開示のシステムは、各構成要素が消費する電力をモニタし、各構成要素の消費電力の要件の増減を検出し、各構成要素のニーズに基づいて利用可能な電力を構成要素に再配分する。これに関連して、システムは、特定の構成要素に関連する電力上限値を、その構成要素が所定の時間期間にわたって現在の電力上限値を満たし、且つ／又は超える場合において、増大させ、それによって構成要素のパフォーマンスを向上させ且つ最適化することができる。更に、構成要素の電力上限値の引き上げから生じる消費電力の増大を埋め合わせるため、システムは、別の構成要素が十分に利用されていないか否かを更に判断し、利用されていない場合には、システムは、利用が不十分な構成要素に関連する電力上限値を低減させ、それによって利用可能なより多くの電力を、頻繁にアクセスされる構成要素のサポートに割り当てることができる。
【００１３】
本開示によるシステムの別の実施形態では、システムは、１つ又は複数のロジックボードにより消費される電力を制御することにより、消費電力を制御するロジックを更に備えることができ、これについて図７を参照してより詳細に説明する。このような実施形態では、ロジックは、検出されたロジックボードの消費電力に基づいてロジックボードに関連する動作電力の上限値を調整することができる。
【００１４】
図１は、本開示の例示的な実施形態であって、少なくとも１つの電源９０と、ファン９２と、ドライブ９３と、ロジックボード９１とを備えているコンピューティングシステム１００を示すブロック図である。ロジックボード９１は、電力管理ロジック１０９と、これに加えて図２及び図３を参照して詳細に説明される他の構成要素とを備えている。コンピューティングシステム１００は例えば、サーバ、データセンタ、又はパーソナルコンピュータ（ＰＣ）であってもよいがこれらに限定されないことに留意すべきである。
【００１５】
例示的な電源９０は、１１０〜１１５又は２２０〜２３０Ｖの交流電流（ＡＣ）を低電圧直流（ＤＣ）に変換する。しかしながら、他の種類の電源が他の実施形態において可能である。例えば、電源９０は、ＤＣをＤＣに変換してもよく、又は当該技術分野において既知のＡＣ／ＤＣ変換の他の任意の組み合わせであってもよい。電源９０は、変換されたＤＣ電圧を、コンピューティングシステム１００内の各種構成要素、例えばファン９２を駆動するモータ（特に示さず）、ロジックボード９１のデジタル回路（特に示さず）、又はドライブ９３のモータ（特に示さず）に供給する。例えば、電源９０は、５Ｖをロジックボード９１に供給してロジックボード上に存在するデジタル回路を駆動してもよく、又は１２Ｖをファン９２若しくはドライブ９３に供給してもよい。例示を目的としてファン９２と、ロジックボード９１と、ドライブ９３とを示し、コンピューティングシステム１００の他の実施形態は、電源９０によって供給できる電力を必要とする他の構成要素を含んでもよいことに留意されたい。
【００１６】
上述したように、コンピューティングシステム１００の消費電力は、ユーザが課す消費電力限度、電力コード若しくは回路ブレーカによる限度等の外部ハードウェアの消費電力限度、又は電源９０の電力定格に基づく限度によって制限され得る。
【００１７】
一例として、電源９０は、複数の電圧、例えば＋５Ｖ、＋１２Ｖ、＋３．３Ｖを供給することができる。別の実施形態では、電源９０は、これもまた複数の電圧、例えば＋５Ｖ、＋１２Ｖ、＋３．３Ｖをシステム１００に供給するバッテリである。
【００１８】
それにもかかわらず、電源９０によって供給される各電圧についてそれぞれ最大電流出力があり、例えば、＋５Ｖ、＋１２Ｖ、＋３．３Ｖにそれぞれ３０Ａ、８Ａ、及び１４Ａがある。このような例示的な電源９０では、電源９０の最大電力は１５０Ｗである。
【００１９】
したがって、電源９０は最小でも、電源９０から電力を受け取る各要素、例えばファン９２、ロジックボード９１、及びドライブ９３に同時に給電するのに必要な電力量に少なくとも一致する電力定格を示している。更に、説明されている例示的な電源９０では、１５０Ｗが最大電力であると仮定する。これに関連して、電源９０により供給される任意の所与の瞬間での総電力は、１５０Ｗを超えるべきではない。
【００２０】
一例として、ファン９２は＋５Ｖ及び１Ａを必要とし、ロジックボード９１は１２Ｖ及び１０Ａを必要とし、ドライブ９３は５Ｖ及び５Ａを必要とするものと仮定する。「ドライブ」という用語は、ハードドライブ（図示せず）、コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）ドライブ（図示せず）、フロッピー（登録商標）ドライブ（図示せず）等の任意の種類の既知の又は将来開発されるドライブを表してもよいことに留意されたい。この例では、電源９０は最小でも、少なくとも１２５Ｗを提供するようになっている。更に、他のオプションの装置、例えばネットワークインタフェースカード、小型コンピュータシステムインタフェース（ＳＣＳＩ）カード、周辺機器カード、又はグラフィックスカードも存在してもよく、それぞれがまた動作に電力を必要とする。したがって、電源９０は、１００％キャパシティで、電源９０が５００Ｗの電力を供給できることを示す最大電力定格５００Ｗを有し得る。更に、特定の電圧でシステム１００の１つ又は複数の構成要素に供給されている任意の電流は、電源９０により提供される総電力が５００Ｗ未満に留まる限り、増減してシステム１００が全体として消費する電力を増減することができる。
【００２１】
本明細書に示しているように、例示的なコンピューティングシステム１００において、ロジックボード９１は、電力管理ロジック１０９を備えている。電力管理ロジック１０９は、図２を参照して説明されるように、複数の構成要素の消費電力をモニタする。構成要素のうちの１つ又は複数が、或る時間期間にわたり、その特定の構成要素に指示された消費電力の上限値を超えるような電力を消費するか又は下回るような電力を消費するかのいずれかの場合において、電力管理ロジック１０９は、その特定の構成要素の消費電力の上限値をそれぞれ動的に増減させる。消費電力の上限値は、特定の構成要素が動作することが可能な最大電力量を示す値であることに留意されたい。したがって、システム１００によって実行されているアプリケーションが、第１の構成要素を頻繁に広範囲に使用する場合、時間とともにその構成要素は関連する電力上限値を満たし、且つ／又は超え得る。その構成要素に追加の電力を割り振ることにより、電力管理ロジック１０９はその特定の構成要素のパフォーマンスを向上させる。したがって、電力管理ロジック１０９は、増大しつつある電力の使用パターンに対応して第１の構成要素に関連する消費電力の上限値を引き上げさせ、これは第１の構成要素のパフォーマンスを向上させる。更に、アプリケーションが第２の構成要素に頻繁に又は広範囲にアクセスしない場合、電力管理ロジック１０９は、低減しつつある電力の使用パターンに対応して第２の構成要素に関連する消費電力の上限値を低減することができる。このような低減により、システム１００は、アプリケーションの実行中にシステムのパフォーマンスを最適化しながら、第１の構成要素の電力の上限値の引き上げを考慮して任意の規定の電力消費限度内に留まることができる。
【００２２】
上述したように、システム１００は、構成要素の動的に得られる消費電力に基づいて構成要素に関連する電力上限値を動的に変更させることにより、システムの構成要素の消費電力を動的に制御するようになっている。これに関連して、或る時間期間にわたる構成要素の消費電力が略一定のままである場合、システム１００は、限られた追加の電力の要求にもかかわらず、１つ又は複数の構成要素に関連する電力上限値を増減しない。しかしながら、システムの１つ又は複数の構成要素で、所定の時間期間にわたって実行中のアプリケーションによる使用が絶えず増大しており、システム１００のパフォーマンスを増強するために大きな追加の電力が必要なことを示している場合、システム１００はそれに従って電力上限値を変更する。同様に、システムの１つ又は複数の構成要素で、所定の時間期間にわたって実行中のアプリケーションによる使用が低減した場合、システム１００はその１つ又は複数の構成要素の電力上限値を低減して、システム１００全体の消費電力が任意の規定の消費電力の限度内に留まることを保証することができる。こうして、システム１００は、実行中のアプリケーションによりアクティビティが増大した構成要素の電力上限値を引き上げ、アクティビティが低減した構成要素の電力上限値を下げることによってパフォーマンス及び消費電力を最適化する。
【００２３】
これに関連して、所定の時間期間にわたって構成要素によるアクティビティの増大がある場合、その構成要素が消費している電流は増大する。このような電流の増大は、構成要素が消費する電力を増大させ、したがって、パフォーマンスが劣化しないことを保証するために必要な動作を駆動するために、追加の電力をその構成要素に割り振ることができる。一方、構成要素によるアクティビティの低減がある場合、その特定の構成要素の消費電力の上限値が下げられて、システム１００全体が規定の消費電力の限度内に留まるようにする。
【００２４】
一例として、コンピューティングシステム１００が、複数のインターネットプロトコルアドレスがアクセスできるウェブサーバである場合では、２４時間の時間期間の全体を通して、コンピューティングシステム１００が多数のトラフィックを経験する可能性が高い特定の時間期間がある。例えば、通常、日中と比較して夜間により多くの個人がそれぞれのコンピュータにログオンして電子メールを調べる。したがって、このような例では、コンピューティングシステム１００がこのような時間期間の間で多くのトラフィックを経験し、コンピューティングシステム１００の入力／出力サブシステムがこのような時間期間の間で使用される可能性が高い。
【００２５】
動作中、電力管理ロジック１０９は、或る時間期間の間において、システム１００が増大したアクティビティの特徴を示すと判断するようになっており、例えば、入力／出力サブシステムの構成要素が電力上限値で動作していると判断し得る。このような時間期間の間で、電力管理ロジック１０９は、入力／出力サブシステムの構成要素が、測定間隔（例えば、３０分）にわたる時間の少なくとも所定の割合で、電力上限値に達しつつあることを検出し得る。一例として、所与の時間間隔にわたり、構成要素は、指定の閾値を超える時間量、例えば３０分間隔にわたる時間の少なくとも７５％で、関連する電力上限値に達しつつあるか、又は実質的に電力上限値になりつつある場合がある。このような例では、構成要素が３０分間隔にわたる時間の少なくとも７５％で、関連する電力上限値に達しつつあるか、又は実質的に電力上限値になりつつあるとの判断に応答して、電力管理ロジック１０９は入力／出力サブシステムの構成要素の電力上限値を上げて、その特定の構成要素のパフォーマンスを向上させる。これに関連して、構成要素に関連する電力上限値の上昇により、その構成要素はより高い消費電力のレベルで動作できるようになる。更に、電力管理ロジック１０９は、プロセッサ構成要素が、測定間隔（例えば、上述した３０分）にわたる時間の少なくとも所定の割合で電力上限値に達していないことを検出し得る。構成要素が関連する電力上限値に達していない、或いは、実質的に電力上限値になっていないというこのような検出に対応して、電力管理ロジック１０９は、プロセッサ構成要素の電力上限値を下げて、上述した入力／出力サブシステム構成要素による消費電力の増大を埋め合わせる。こうして、電力管理ロジック１０９は動的に、追加の電力が必要な構成要素に電力を再配分し、特定の期間の間で必ずしも使用されているわけではない構成要素に割り当てられる電力を低減することにより、パフォーマンスをなお最適化しながら全体の消費電力をシステムの規定の限度に保つ。
【００２６】
図２は、図１における本発明の例示的な実施形態によるロジックボード９１を示している。これに関連して、ロジックボード９１は、中央演算処理装置（ＣＰＵ）１０３と、入力／出力サブシステム１０４と、メモリ２８０とを備えている。
【００２７】
メモリ２８０は、複数のアプリケーション１１２，１１３，１１４と、メモリサブシステム１０５とを備えている。電力管理ロジック１０９は、ハードウェア、ソフトウェア、又はこれらの組み合わせのいずれかで実装できることに留意されたい。一実施形態では、図２に示しているように、電力管理ロジック１０９はソフトウェアで実装され、メモリ２８０に記憶されている。
【００２８】
電力管理ロジック１０９は、ソフトウェアで実装される場合、命令をフェッチし且つ実行できるような命令実行装置により使用されるか或いはそれに関連するような任意のコンピュータ読み取り可能な媒体に、記憶され且つ搬送できることに留意されたい。本文書の文脈の中では、「コンピュータ読み取り可能な媒体」は、命令実行装置により使用されるか或いはそれに関連するようなプログラムを、収容し、記憶し、通信し、伝搬し、又は搬送することができる任意の手段であることができる。
【００２９】
動作中、電源９０（図１）は、電力を特定の電圧でロジックボード９１に送るようになっている。ロジックボード９１上の各構成要素、例えば入力／出力サブシステム１０４、ＣＰＵ１０３、及びメモリサブシステム１０５は、電源９０によって駆動される。本明細書において述べているように、ロジックボード９１が利用可能な電力は、当該技術分野において既知の任意の数の方法で制限することができる。
【００３０】
一実施形態では、電力管理ロジック１０９は、入力／出力サブシステム１０４、ＣＰＵ１０３、及びメモリサブシステム１０５の初期の電力上限値を、これら構成要素が消費している電流に基づいて動的に決定することができる。別の実施形態では、電力管理ロジック１０９は、予め規定された電力上限値を使用することができる。
【００３１】
動作中、アプリケーション１１２〜１１４のうちの１つが実行を開始し得る。上述したように、各アプリケーション１１２〜１１４は、構成要素のうちの１つ、例えばＣＰＵ１０３、入力／出力サブシステム１０４、又はメモリサブシステム１０５のいずれかの使用を要求し得る。更に、アプリケーション１１２〜１１４は、構成要素のうちの１つをその他の構成要素よりも頻繁に、又は広範囲に使用し得る。したがって、実行中、電力管理ロジック１０９は、「サンプル期間」と呼ぶ特定の時間期間にわたり（例えば、６０分）、個々の構成要素１０４、１０３、又は１０５の各々により消費されている電力と、それぞれの電力上限値とを動的に比較する。消費されている電力は、特定の構成要素が消費している電流を示す値を取得し、このように取得された電流値と構成要素に供給されている電圧とを使用して消費されている電力を計算する（例えば、電力＝電圧×電流）ことによって求められることに留意されたい。サンプル期間の少なくとも所定の割合において特定の構成要素の電力上限値が達しつつある場合、電力管理ロジック１０９は、電力上限値を上げる。特定の構成要素の電力上限値が上げられ、それによって全体の消費電力が上がる場合、電力管理ロジック１０９は、１つ又は複数の構成要素が実行中のアプリケーション１１２〜１１４により頻繁に広範囲に使用されていないかを判断する。これに関連して、別の構成要素の消費電力が、サンプル期間の少なくとも所定の割合において、関連する電力上限値を大幅に下回る場合、電力管理ロジック１０９は、その電力上限値を下げる。或る構成要素の電力上限値を上げ、実行中のアプリケーションにより頻繁に使用されていない別の構成要素の電力上限値を下げることにより、上述したように、任意の消費電力の限度を考慮して、利用可能な電力１ワット（Ｗ）当たりのシステム１００（図１）のパフォーマンスを最適化する。サンプル期間を実行するために、電力管理ロジック１０９は、サンプル期間の開始及び終了を判断するためのクロック（図示せず）を備え得ることに留意されたい。
【００３２】
更に、特定の構成要素の消費電力を計算するための電流値の取得に使用される方法は、モニタされる構成要素のそれぞれに対し特有であることに留意されたい。例えば、構成要素がメモリサブシステムである場合、メモリサブシステムは、サブシステムから、例えば帯域幅の要求を受け取るようなコントローラを備え得る。このようなコントローラは、メモリサブシステムが電源から引き込んでいる電流量をモニタするように構成することができ、そうしてモニタするに際して、コントローラは、当該技術分野において既知の、又は将来開発される方法を介して電流値を取得し、電源から引き込まれている電流を示す値を記憶することができる。
【００３３】
一例として、アプリケーション１１２は、多くのメモリアクセスを実行するものであるが、アプリケーション１１２は、頻繁且つ広範囲なＣＰＵトランザクションを要求しないものであり得る。このような例では、メモリサブシステム１０５は動作に３．０Ｖを必要とし得る。更に、メモリサブシステム１０５の電力上限値を３０Ｗに設定することができ、これは１０Ａに換算する（すなわち、３０Ｗを３．０Ｖで除算する）ことができる。電力管理ロジック１０９は、サンプル期間にわたってメモリサブシステム１０５の消費電流をモニタして、メモリサブシステム１０５がサンプル期間の間で電力上限値に達する時間の割合を求める。
【００３４】
モニタするに際して、電力管理ロジック１０９は周期的に、メモリサブシステム１０５によって消費されている電流を示すデータをサンプル期間中に複数回、記憶することができる。換言すれば、ロジック１０９は、サンプル期間の間において、メモリサブシステム１０５によって消費されている電流を周期的にサンプリングすることができる。次いで、電力管理ロジック１０９は、例えば、特定の範囲（メモリサブシステム１０５の電力上限値であるか、又はそれに近い値）内にあるサンプルの数を計算して、メモリサブシステム１０５が電力上限値に達しつつあるか、又は実質的に電力上限値になりつつある時間の割合を求める。特定の範囲は、電力上限値である上限閾値と、上限閾値よりも下の下限閾値とから成ることに留意されたい。
【００３５】
これに関連して、上述したサンプル期間で電力上限値に達する時間の割合は、特定の範囲内にあるサンプルの数を、サンプル期間の間で取得されたサンプルの総数で除算したものに等しい。計算された割合が、範囲の上限閾値に達する且つ／又は超えるような場合には、電力管理ロジック１０９は、電力上限値を上げることができる。メモリサブシステム１０５に関連する電力上限値を上げることにより、電力管理ロジック１０９は、事実上、上述したようにシステムの消費電力の限度を超えるようにシステム１００の総消費電力を上げ得る。
【００３６】
構成要素の電力上限値を上げ、それによってシステム１００全体の消費電力が上がることに対応して、電力管理ロジック１０９は、システムがここで、任意の規定の消費電力の限度を超えることになるか否かを動的に判断することができる。システム１００がシステム１００の任意の規定の消費電力の限度を超えないことを保証するために、電力管理ロジック１０９は、現在実行中のアプリケーション１１２が別の構成要素をあまり利用していないかどうかを判断することができる。例えば、ＣＰＵ１０３は、動作に５Ｖを必要とし得る。更に、ＣＰＵ１０３の電力上限値は、５０Ｗに設定することができ、これは１０Ａに換算される（すなわち、５０Ｗを５．０Ｖで除算する）。電力管理ロジック１０９は、サンプル期間にわたってＣＰＵ１０３の消費電流をモニタして、ＣＰＵ１０３が関連する電力上限値に達する時間の割合を求めるようになっている。
【００３７】
このようにモニタするに際して、電力管理ロジック１０９は、モニタ期間の間で複数回、ＣＰＵ１０３が消費している電流を示すデータを記憶することができる。次いで、電力管理ロジック１０９は、記憶された電流値とモニタされた期間とに基づいて、ＣＰＵ１０３が電力上限値に達しつつある、又は電力上限値に実質的になりつつある時間の割合を計算することができる。
【００３８】
計算された割合が、ＣＰＵ１０３が電力上限値に達しない、又は時間のうち少しの割合でのみ電力上限値に達しただけであることを示している場合、電力管理ロジック１０９は、それに従ってＣＰＵ１０３の電力上限値を下げることができる。アプリケーション１１２の実行中に電力上限値を下げることにより、電力管理ロジック１０９は、なお任意のシステムの消費電力の限度内に抑えながら、アプリケーション１１２に対してシステム１００のパフォーマンスを最適化する。
【００３９】
この例において計算された割合が、メモリサブシステム１０５が電力上限値に達しない、又は時間のうち少しの割合でのみ電力上限値に達しただけである（例えば、範囲の下限閾値未満である）ことを示す場合、電力管理ロジック１０９は、現在の電力上限値を保持するか、又はそれに従って電力上限値を下げることができる。
【００４０】
動作中、電力管理ロジック１０９は、特定の構成要素から受け取る電流値に更に対応することができる。これに関連して、電力管理ロジック１０９は、受け取った電流値を消費電力値に換算したものと電力上限値との比較に基づいて、消費されている電流を増減する信号を送る。したがって、構成要素から受け取った特定の電流値が、その特定の構成要素に特定された電力上限値以上の消費電力値に換算される場合、電力管理ロジック１０９は、その特定の構成要素の動作を低速化させる信号を送ることができる。パフォーマンスが影響を受け得るが、少なくとも、電力管理ロジック１０９が、その構成要素に関連する電力上限値を上げるべきであると判断するまで、例えば、コンピューティングシステム１００がシステム１００で実行中の特定のアプリケーション１１２〜１１４により多くのトラフィックを受けるまで電力は節減される。
【００４１】
同様に、構成要素から受け取った特定の電流値が、その特定の構成要素に特定された電力上限値を大幅に下回る消費電力値に換算される場合、電力管理ロジック１０９は、その特定の構成要素の動作を加速化する信号を送ることができる。これに関して、構成要素がなお、少なくとも電力上限値が下げられるまで、構成要素に関連する電力上限値をはるかに下回って動作しながら、パフォーマンスを向上させることができる。
【００４２】
メモリサブシステムの例に関連して、モニタする時間期間の間において、３Ｖで動作するメモリサブシステム１０５は１１Ａを消費し、その一方で電力上限値は３０Ｗに設定されている。したがって、電力管理ロジック１０９は、１１Ａに基づいて、メモリサブシステム１０５が３３Ｗを消費していると判断する。これは電力上限値である３０Ｗを超える。電力管理ロジック１０９は、消費電流、例えば１１Ａを示すデータ、又はメモリサブシステム１０５が電力上限値を超えたことを示すデータを記憶する。更に、取得された１つの電流値に基づいてメモリサブシステムが電力上限値を超えたとの判断に対応して、電力管理ロジック１０９は、メモリサブシステム１０５の動作帯域幅（operating bandwidth）を低減する信号を送ることができる。動作帯域幅を低減することにより、メモリサブシステム１０５の処理速度を減速化して、それによってメモリサブシステムが消費している電力を低減する。メモリサブシステム１０５に関連するこのような信号は、メモリサブシステム１０５の帯域幅を増減する帯域幅制限装置（図示せず）に送ることができる。このような帯域幅制限装置は、メモリの帯域幅を制限する当該技術分野において既知であるか、又は将来開発される装置であることに留意されたい。しかし、注目すべきことに、メモリサブシステムの帯域幅を低減してメモリサブシステム１０５が消費している電力を制限することは、メモリサブシステムのパフォーマンスに直接影響する。
【００４３】
したがって、モニタする時間期間が終了した際に、電力管理ロジック１０９は、メモリサブシステム１０５が１０Ａ以上の値を、期間の７５％にわたって消費していると判断することができる。このような判断に基づいて、電力管理ロジック１０９は、３０Ｗ、すなわち１０Ａの電力上限値を４０Ｗ、すなわちおよそ１３Ａに上げることができる。
【００４４】
メモリサブシステム１０５の電力上限値を上げると、上述したようにシステム１００全体の消費電力も上がる。したがって、システム１００全体の消費電力の限度を超えないことを保証するために、電力管理ロジック１０９は、特定の時間期間にわたってメモリサブシステム１０５ほど頻繁に使用されていない構成要素に関連する電力上限値を下げることができる。
【００４５】
したがって、モニタする時間期間の間において、５Ｖで動作しているＣＰＵ１０３は５Ａを消費し、一方で消費の上限値は５０Ｗに設定されている。したがって、電力管理ロジック１０９は、５Ａに基づいて、ＣＰＵ１０３が２５Ｗを消費しており、５０Ｗの電力上限値をはるかに下回ると判断する。電力管理ロジック１０９は、消費電流、例えば５Ａを示すデータ又はＣＰＵ１０３が電力上限値を下回ることを示すデータを記憶する。更に、１つの取得された電流値に基づいてＣＰＵ１０３が電力上限値を下回るとの判断に対応して、電力管理ロジック１０９は、ＣＰＵ１０３の１つの動作速度を増大させる信号を送ることができる。動作速度を増大させるとＣＰＵ１０３の速度が増大し、それによってＣＰＵ１０３が消費している電力が増大する。ＣＰＵに関連するこのような信号をＣＰＵに送り、ＣＰＵ１０３の動作周波数を変更させ、それによってＣＰＵ１０３が消費している電流を増減することができる。
【００４６】
この例において、モニタする時間期間が終了した際に、電力管理ロジック１０９は、ＣＰＵ１０３が期間の少なくとも７５％を超えて５Ａを消費していたと判断する場合、５０Ｗ又は他の或る指定量の電力上限値を下げることができる。ＣＰＵ１０３の電力上限値、ひいてはＣＰＵ１０３の消費電力を下げることにより、電力管理ロジック１０９は、特定のアプリケーション１１２のメモリサブシステム１０５の電力上限値の引き上げが、システム１００による任意の消費電力の限度の超過に繋がらないことを保証する。
【００４７】
図３は、本発明の実施形態による例示的なロジックボード９１を示している。このような実施形態では、電源９０によりロジックボード９１に印加される電圧が、電力変換器３０２及び電力変換器３０４に向けられている。電力変換器３０２は、印加された電圧をメモリサブシステム１０５の仕様に従った電圧に変換するようになっている。例えば、メモリサブシステム１０５の特定のサブセット（メモリサブシステム１０５を具現するマイクロチップのダイの個片）が、１．８Ｖを要求し得る。したがって、電力変換器３０２は、電源９０（図１）により提供されるロジックボード９１に印加される電圧、例えば５Ｖを、メモリサブシステム１０５のサブセットに給電するために必要な１．８Ｖに変換する。次いで、電力変換器３０２は、変換された電圧をメモリサブシステム１０５に印加するようになっている。
【００４８】
更に、処理ユニット１０３が３．３Ｖコア電圧を要求し得る。したがって、電量変換器３０４は、電源９０（図１）により提供される、ロジックボード９１に印加される電圧、例えば５Ｖを、処理ユニット１０３が必要とする３．３Ｖに変換する。次いで、電力変換器３０４は、変換された電圧を１つ又は複数の処理ユニット１０３に印加する。
【００４９】
一実施形態では、電力変換器３０２及び３０４は周期的に、メモリサブシステム１０５及びＣＰＵ１０３のそれぞれが消費している電流を量的に示すデータを電力管理ロジック１０９に送る。別の実施形態では、電力管理ロジック１０９は周期的に、電力変換器３０２及び３０４の消費電流をポーリングするようになっている。こうして、電力管理ロジック１０９は、特定の期間にわたり、例えば特定のアプリケーション１１２〜１１４が実行されているときに電力変換器３０２及び３０４の特定の構成要素の消費電流をモニタする。メモリサブシステム１０５及びＣＰＵ１０３を、電力管理ロジック１０９が電流を増減することできる例示的なモニタされる構成要素として示されているが、他の実施形態では、他の構成要素をモニタし制御できることに留意されたい。メモリサブシステム１０５及びＣＰＵ１０３は、例示する目的のみで記載されている。
【００５０】
一実施形態では、電力管理ロジック１０９は、モニタされている電流値が構成要素の対応する電流上限値に達するか、又はそれを超えるような時間の割合を決定する。電力管理ロジック１０９は、受け取った各電流値に対して計算を行い、値が指定された範囲内に収まっている場合にカウンタ（図示せず）を増分することによって、このような決定を行うことができる。別法として、電力管理ロジック１０９は、電流値を記憶し、モニタする期間が終了した際に、記憶されたそれぞれの値と現在の電力上限値との比較を行うことができる。
【００５１】
次いで、電力管理ロジック１０９は、特定の構成要素が消費している電流値がサンプル期間の間において電力上限値を超えた時間の割合を計算する。電流が、電力上限値を時間の所定の割合、例えば７５％を超えて上回った場合、電力管理ロジック１０９は、構成要素から取得された電流値との比較に使用された電力上限値を動的に引き上げることができる。別の実施形態では、電流が時間の所定の割合、例えば７５％を超えて電力上限値を大幅に下回った場合、電力管理ロジック１０９は、構成要素から取得された電流値との比較に使用された電力上限値を動的に低減して、別の構成要素での任意の電力上限値の引き上げを埋め合わせることができる。
【００５２】
更に、動作中、受け取った電流値が電力上限値を超える場合、電力管理ロジック１０９は、上述したように、受け取った電流値に関連する構成要素の動作を制御する信号を送る。例えば、電力変換器３０２から受け取った電流値が、メモリサブシステム１０５が電力上限値を超えたことを示すとする。電力管理ロジック１０９は、信号に応答して、メモリサブシステム１０５の発行レート（issue rate）を低減する信号をメモリコントローラ３０６に送る。これに関連して、メモリコントローラ３０６は、メモリサブシステム１０５の発行レートを加速化又は低速化する帯域幅制限ハードウェアを備えることができる。メモリコントローラ３０６は、信号を受け取ると、発行レートを低速化して、メモリサブシステム１０５が消費している電力を低減することができる。
【００５３】
更に、電力変換器３０２から受け取った電流値が、メモリサブシステム１０５が電力上限値を大幅に下回ったことを示したとする。これに対応して、電力管理ロジック１０９は、メモリサブシステム１０５の発行レートを加速化する信号をメモリコントローラ３０６に送ることができる。メモリコントローラ３０６は、信号を受け取ると、発行レートを加速化させて、メモリサブシステム１０５のパフォーマンスを増大させることができる。
【００５４】
電力管理ロジック１０９は、特定の構成要素が消費した電流を示すデータを使用して、構成要素が消費している電力を動的に求めることができることに留意されたい。電力管理ロジック１０９は、消費されている電力を消費電力の上限値と比較する。一実施形態では、電力管理ロジック１０９はまた、モニタする時間期間にわたる最大の消費電力、又はモニタする時間期間にわたる平均の消費電力を示すデータを記憶することができる。これに関連して、電力管理ロジック１０９は、最大の消費電力又は平均の消費電力を使用して、電流の増減値を計算する。したがって、電力管理ロジック１０９は、モニタする時間期間にわたる最大の消費電力に基づいて、特定の構成要素が消費している電流を増減することができる。
【００５５】
同様に、構成要素が時間の所定の割合で消費電力の上限値になる、又は消費電力の上限値を超えた場合、電力管理ロジック１０９は、特定の要素に関連する消費電力の上限値を引き上げることができる。
【００５６】
一例として、動作中、電力管理ロジック１０９は、メモリサブシステム１０５に供給される電流を示すデータを送るように電力変換器３０２に問い合わせることができる。電力変換器３０２は、メモリサブシステム１０５が１０Ａで動作していることを示すデータを送ることができる。電力管理ロジック１０９は、構成要素が消費している電力を求め、消費されている電力を消費電力の上限値、例えば３０Ｗと比較する。
【００５７】
図４は、本開示の一実施形態によるコンピューティングシステム１００の構成要素の例示的な消費電力の挙動を示しているグラフである。グラフは、要求された帯域幅の線４０１、消費電力の上限線４０２、及び上限が制限された帯域幅の線４０３の３本の線を含んでいる。各線４０１〜４０３は、例えば、ロジックボード９１で実行中のアプリケーション１１２〜１１４（図２）に応答した際、又はコンピューティングシステム１００（図１）での任意の他の種類の増大したトラフィックに応答した際における変化を示している。
【００５８】
特に、時間期間Ｔ１にわたり、メモリサブシステムが要求した帯域幅を線４０１で示している。しかしながら、メモリサブシステム１０５の消費電力が、点線４０２で示されているように、ピーク保持可能な電力のおよそ２０％で上限が制限されている。破線４０３は、メモリサブシステム１０５に提供される実際の帯域幅を示している。
【００５９】
一方、時間期間Ｔ１にわたり、電力管理ロジック１０９は、消費電力をモニタし、期間時間Ｔ１にわたり消費電力が上限値を超えたこと、すなわち時間期間Ｔ１の期間においておよそ５０％の割合で、ピーク保持可能な電力のおよそ４０％に増大したことを示すデータを記憶するようになっている。
【００６０】
したがって、電力管理ロジック１０９は、時間期間Ｔ２中に線４０２で示されているように、上限をピーク保持可能な電力のおよそ４０％に上げる。再び、電力管理ロジック１０９は、線４０１で示している要求された帯域幅をモニタし、ここで要求された帯域幅は、時間期間Ｔ２中にピーク保持可能な水準の４０％を超えている。したがって、電力管理ロジック１０９は、線４０２で示されているように、メモリサブシステムの電力上限値を再び上げる。
【００６１】
したがって、時間期間Ｔ３中、メモリサブシステム１０５は引き続き、線４０１で示されているように、電力上限値を超える帯域幅を要求する。したがって、電力管理ロジック１０９は、期間Ｔ４に示されているように、電力上限値を再び上げる。
【００６２】
特に、メモリサブシステム１０５の帯域幅は、線４０３で示されているように上限が制限されている。これに関連して、電力管理ロジック１０９は、期間Ｔ１、Ｔ２、Ｔ３、及びＴ４の時間期間中において、メモリサブシステム１０５が線４０２で示されているような上限が制限されている帯域幅を超えるいかなる帯域幅も受け取らないようにする。しかしながら、電力管理ロジック１０９がメモリサブシステム１０５の電力の使用をモニタする間に帯域幅が増大するにつれて、電力管理ロジック１０９はメモリサブシステム１０５の電力上限値を上げる。
【００６３】
図５は、本発明の実施形態によるシステム１００の構成要素の例示的な消費電力の挙動を示しているグラフ５００である。グラフは、要求された帯域幅の線５０１、動的な消費電力の上限線５０２、及び上限が制限された帯域幅の線５０３の３本の線を含んでいる。各線５０１〜５０３は、例えば、ロジックボード９１で実行中のアプリケーション１１２〜１１４（図２）、又はコンピューティングシステム１００（図１）での任意の他の種類の増大したトラフィックに応答した際における変化を示している。
【００６４】
時間期間にわたり、電力管理ロジック１０９は、線５０１で示されているような要求された帯域幅をモニタする。要求された帯域幅の増大に付随して、電力管理ロジック１０９は、このような電力上限値を動的に上げる。したがって、グラフに示されているように、要求された帯域幅が上限を超える頻度が高いほど、電力管理ロジック１０９は上限を速く上げることになる。
【００６５】
図６は、本発明の電力管理ロジック１０９の例示的な構造及び機能を示すフローチャートである。
【００６６】
ブロック６００及び６０１に示されているように、電力管理ロジック１０９（図１）は、タイマの開始及び消費電力値の取得をそれぞれ行う。上述したように、電力管理ロジック１０９は、タイマを備えてもよく、又はロジックボード９１（図２）に配置されたクロックを使用してもよい。本明細書において述べたように、取得される電流値は、電力管理ロジック１０９による問い合わせから、又はモニタ中の構成要素によって送られる信号から得ることができる。
【００６７】
電力管理ロジック１０９は、取得された消費電力値を消費電力の上限値と比較する。ブロック６０２において、示される値が電力上限値を超える場合、ブロック６０４において、電力管理ロジック１０９は上限値を超えたことを示す「超過（exceeded）」カウンタを増分する。
【００６８】
ブロック６０２において、消費電力値が消費電力の上限値を下回ることを示す場合、電力管理ロジック１０９は、ブロック６０５において消費電力を示すデータを記憶し、ブロック６０６において、値が電力上限値を大幅に下回ることを示す「未満（below）」カウンタを増分する。
【００６９】
電力管理ロジック１０９は引き続き、或る時間期間にわたり消費電力をモニタする。これに関連して、ブロック６０７において、電力管理ロジック１０９は、タイマがまだ切れていない場合、ブロック６０１において別の電流値を取得する。
【００７０】
ブロック６０７において時間期間が過ぎた場合、続いて、ブロック６０８において、電力管理ロジック１０９は、所定の限度以上、例えばモニタする時間期間の５０％以上で消費電力の上限値を超えたか否かを判断する。ブロック６０８において所定の限度以上で消費電力の限度を超えた場合、ブロック６０９において電力管理ロジック１０９は電力上限値を上げる。
【００７１】
これに関連して、電力管理ロジック１０９は、グラフ４００（図４）に示されているように、時間期間での最大の消費電力に一致する値に上限値を上げることができる。別法として、電力管理ロジック１０９は、モニタする時間期間にわたり複数の回数、電力上限値を超えた場合、予め規定された増分だけ上限値を上げることができる。
【００７２】
ブロック６１０において、電力管理ロジック１０９は、消費電力が、所定の限度を超える、例えば時間期間の５０％を超えて消費電力の上限値を大幅に下回ったか否かを判断する。ブロック６１０において、消費電力が所定の限度を超えて、例えばモニタする時間期間中に５０％を超えて消費電力の上限値を下回った場合、ブロック６１１において、電力管理ロジック１０９は電力上限値を下げる。
【００７３】
電力管理ロジック１０９は、電力上限値を、時間期間中の最小の電流値、又は時間期間中の平均の電流値に一致するような値に下げることができることに留意されたい。
【００７４】
図７は、本発明の別の実施形態によるシステム７００を示している。
【００７５】
システム７００は、複数のロジックボード７０１，７０２，７０３を含んでいる。ロジックボード７０１〜７０３のそれぞれは、電力管理ロジック７０４を含むことができる。更に、システム７００は、電力配分（budgeting）ロジック７０５と電源７０６とを備えている。
【００７６】
電力管理ロジック７０４は、コンピューティングシステム１００（図１）の電力管理ロジック１０９（図１）と略同様に動作する。したがって、電力管理ロジック７０４は、各ロジックボード７０１〜７０３上の特定の構成要素に関連する少なくとも１つの電力上限値を示すデータを記憶する。動作中、電力管理ロジック７０４は、実行中のアプリケーションのニーズに基づいて、ロジックボード７０１〜７０３上の構成要素に電力を動的に再配分する。これに関連して、電力管理ロジック７０４は、アプリケーションのニーズに基づいて、動的にモニタされる電流値を消費電力値に換算し、それを電力上限値と比較したものに基づいて、記憶された電力上限値のそれぞれを動的に調整する。
【００７７】
更に、電力管理ロジック７０４は、構成要素が電力上限値を超えた、又は電力上限値を大幅に下回った場合に、取得された１つの電流値に基づいて信号を構成要素に送る。
【００７８】
留意すべきことに、システム７００の動作中、ロジックボード７０１〜７０３のそれぞれは、実質的に互いに独立して動作する。しかしながら、単一の電源７０６が電力を複数のロジックボード７０１〜７０３に提供しており、電源７０６が複数のロジックボード７０１〜７０３に提供できる電力量は、例えば、電源７０６の定格によって制限される。特定の時間期間中、ロジックボード７０１〜７０３のうちの１つ又は複数のアクティビティが増大し、その他のロジックボード７０１〜７０３のうちの１つ又は複数のトランザクションが一時的な静止状態（lull）になり得る。したがって、アクティビティが増大したボード７０１〜７０３は、このような時間期間中により多くの電力を要求する可能性があり、トランザクションが一時静止状態となったボードは、それほど多くの電力を必要としない可能性がある。
【００７９】
電力配分ロジック７０５は、各ロジックボード７０１〜７０３に電力上限値を関連付け、ロジックボード７０１〜７０３が関連する電力上限値以下で動作することを保証することが可能である。これに関連して、ロジック７０５は、当業者に既知のように電圧の制限及び／又は電流の制限を各ロジックボード７０１〜７０３に提供して、ロジックボード７０１〜７０３に提供される電力が電力上限値以下に留まることを保証することができる。更に、電力配分ロジック７０５は、電力管理ロジック７０４のそれぞれと通信する。
【００８０】
これに関連して、電力管理ロジック７０４は、ロジックボード７０１〜７０３上の各種構成要素が消費している電力量を検知して記録する。ロジックボード７０１〜７０３が配分された電力上限値以上であることが分かった場合、上述したように、電力管理ロジック７０４は、ロジックボード７０１〜７０３のトランザクションアクティビティが増大していることを示すデータを電力配分ロジック７０５に送る。次いで、電力配分ロジック７０５は、その他のロジックボード７０１〜７０３のうちの１つ又は複数のアクティビティが低減しているか否かを判断する。ロジックボード７０１〜７０３のうちの１つのアクティビティが低減している場合、電力配分ロジック７０５は、アクティビティが低減しているロジックボード７０１〜７０３に関連する電力上限値のうちの１つ又は複数を下げることができる。更に、電力配分ロジック７０５は、アクティビティが増大しているロジックボード７０１〜７０３に関連する電力上限値を上げることができる。したがって、電力配分ロジック７０５は、電源７０６から利用可能な電力が、ロジックボード７０１〜７０３で行われているアクティビティに基づいてロジックボード７０１〜７０３に効率的且つ有効に配分されることを保証する。
【００８１】
これに関連して、電力配分ロジック７０５は、ロジックボード７０１〜７０３の消費電力と各ロジックボード７０１〜７０３上の各種構成要素の消費電力とを、モニタする時間期間にわたってモニタする。期間中、ロジックボード７０１〜７０３のうちの１つ又は複数の消費電力が、時間期間の特定の割合（例えば７５％）で関連する電力上限値を下回った場合、電力管理ロジック７０４は、電力配分ロジック７０５によりその特定のロジックボード７０１〜７０３に割り振られた消費電力の上限値を下げる。同様に、期間中、ロジックボード７０１〜７０３のうちの１つ又は複数の消費電力が、時間の特定の割合（例えば７５％）で関連する電力上限値を満たした場合、電力管理ロジック７０４は、電力配分ロジック７０５によりその特定のロジックボード７０１〜７０３に割り振られた消費電力の上限値を上げる。
【００８２】
動作中、電力配分ロジック７０５は、システム７００の消費電力の特徴を表すデータを更に記憶することができる。例えば、電力配分ロジック７０５は、電源７０６の電圧定格を表すデータと、ロジックボード７０１〜７０３のそれぞれの動的な電流読み取り値を表すデータとを記憶することができる。更に、電力配分ロジック７０５は、各ロジックボード７０１〜７０３に関連する電力上限値を表すデータと、各ロジックボード７０１〜７０３上の構成要素（図示せず）に関連する電力上限値を表すデータとを記憶することができる。
【００８３】
動作中、電力配分ロジック７０５は、各ボード７０１〜７０３上の電力管理ロジック７０４と通信することによってロジックボード７０１〜７０３をモニタすることができる。これに関連して、電力配分ロジック７０５は、例えば、各ロジックボード７０１〜７０３が特定の期間にわたって消費している電力をモニタすることができる。
【００８４】
電力配分ロジック７０５は、ロジックボード７０１〜７０３から受け取る動的な電力情報に基づいて、ロジックボード７０１〜７０３のうちの１つ又は複数が特にアクティブであり、別のロジックボードがアクティブではないと判断することができる。したがって、電力配分ロジック７０５は、ボード７０１〜７０３のうちの１つに、モニタされた電流の使用状況に基づいて低速化又は加速化するように信号を送り、システム７００のパフォーマンスを最大化し、且つ／又は使用電力を最小化することができる。これに関連して、電力配分ロジック７０５は、１つのボード７０１〜７０３の電力使用を増大できるようにし、次に別のロジックボードに電力使用を低減するように信号を送ることができる。こうして、システム７００の全体としての消費電力が上述したようにモニタされ、且つ制御されるようになっている。
【図面の簡単な説明】
【００８５】
【図１】本発明の例示的な実施形態によるコンピューティングシステムを示しているブロック図である。
【図２】図１の例示的なロジックボードを示しているブロック図である。
【図３】図２の例示的なロジックボードを示しているブロック図である。
【図４】図１のコンピューティングシステムの例示的な一実施形態の保持可能ピークの割合としての電力と時間との関係を示しているグラフである。
【図５】図１のコンピューティングシステムの例示的な別の一実施形態のピーク保持可能な電力と時間との関係を示している別のグラフである。
【図６】図１のコンピューティングシステムの複数の構成要素による電力使用を制御する例示的な方法を示すフローチャートである。
【図７】本開示の例示的な一実施形態によるコンピューティングシステムを示しているブロック図である。
【図１】
0004489789.tif 000002
【図２】
0004489789.tif 000003
【図３】
0004489789.tif 000004
【図４】
0004489789.tif 000005
【図５】
0004489789.tif 000006
【図６】
0004489789.tif 000007
【図７】
0004489789.tif 000008