(57)【要約】【課題】ブレート・システムにおける電力供給を調整する。【解決手段】電力は、その最大電力消費値ではなく、使用されることが予想される実際の電力の推定に基づいてブレードに割り振られる。推定の実電力消費値を超える状況に対して保護するために、ハードウェアのコンパレータが、ユーザ入力に基づいて管理モジュールにより設定された所定の閾値に対するブレード・システム負荷をモニタする。その閾値を超えた場合、ブレード・システム負荷をモニタしているサービス・プロセッサからの信号に基づいてスロットル・ラッチがトリガされる。そのラッチ出力はスロットル調整に直接関与する。サービス・プロセッサはまた、ラッチ出力をモニタし、評価のために、スロットル調整に関する情報を管理モジュールに伝える。【選択図】図１
2007172601.tif 000002
【特許請求の範囲】
【請求項１】
ブレード・コンピューティング・システムにおけるスロットル管理方法であって、
前記ブレード・コンピューティング・システムにおける第１のブレードに対する推定の最大電力使用量を識別するステップと、
前記識別された推定の最大電力使用量に基づいて前記第１のブレードに電力を割り振るステップと、
前記第１のブレードの実電力消費をモニタするステップと、
前記実電力消費が、所定の電力消費閾値レベルに達した場合またはそれを超えた場合、前記第１のブレードを自動的にスロットル調整するステップと
を含む方法。
【請求項２】
前記ブレード・コンピューティング・システムが複数のブレードを備えており、
前記ブレード・コンピューティング・システムにおける各ブレードに対する推定の最大電力使用量を識別するステップと、
前記識別された推定の最大電力使用量に基づいて、各ブレードに電力を割り振るステップと、
各ブレードの前記実電力消費をモニタするステップと、
その実電力消費が所定の電力消費閾値レベルに達した、または超えた任意のブレードを自動的にスロットル調整するステップと
をさらに含む、請求項１に記載の方法。
【請求項３】
前記所定の閾値レベルが、各ブレードに対して特有のものである、請求項２に記載の方法。
【請求項４】
各ブレードに対する前記閾値レベルが、前記ブレードに手動で入力される、請求項３に記載の方法。
【請求項５】
各ブレードに対する前記閾値レベルが、各ブレードのＶＰＤ（可変出力分割器）に組み込まれる、請求項３に記載の方法。
【請求項６】
ブレード・コンピューティング・システムにおけるスロットル管理のためのシステムであって、
前記ブレード・コンピューティング・システムにおける第１のブレードに対する推定の最大電力使用量値を受け取り、前記推定の最大電力使用量値を所定の閾値レベルとして設定するサービス・プロセッサと、
前記第１のブレードの実電力消費を検出するセンサと、
前記第１のブレードの前記検出した実電力消費を、前記第１のブレードの前記所定の閾値レベルと比較し、比較結果を発行するコンパレータと、
前記コンパレータの前記比較結果に基づき、閾値を超えた状態を識別し、前記閾値を超えた状態が生じた場合、前記ブレードにスロットル・コマンドを発行するように構成されたプログラム可能なロジックと
を備える第１のブレードを備えるシステム。
【請求項７】
前記ブレード・コンピューティング・システムが複数のブレードを備えており、各ブレードが、
前記ブレード・コンピューティング・システムにおける各ブレードに対する推定の最大電力使用量値を受け取り、その推定の最大電力使用量値に基づき、所定の電力消費閾値レベルを各ブレードと関連付けるサービス・プロセッサと、
各ブレードの実電力消費を検出するセンサと、
各ブレードの前記検出した実電力消費を、その関連付けられた所定の電力消費閾値レベルと比較し、比較結果を発行するコンパレータと、
前記コンパレータの前記比較結果に基づいて閾値を超えた状態を識別し、前記閾値を超えた状態が生じた任意のブレードにスロットル・コマンドを発行するように構成されたプログラム可能なロジックと
を備える第１のブレードを備える、請求項６に記載のシステム。
【請求項８】
前記所定の電力消費閾値レベルが、各ブレードに特有のものである、請求項７に記載のシステム。
【請求項９】
各ブレードに対する前記閾値レベルが、前記ブレードに手動で入力される、請求項８に記載のシステム。
【請求項１０】
各ブレードに対する前記閾値レベルが、各ブレードのＶＰＤに組み込まれる、請求項８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブレード・コンピュータ・システムにおけるスロットル調整（ｔｈｒｏｔｔｌｉｎｇ）の制御に関する。
【背景技術】
【０００２】
運用されている現況技術のブレード・システムでは、システムにおけるブレードの、電力を必要とするより新しいプロセッサ・オプションにより大きな問題が提示されている。ブレード・システムで使用される電源は、ブレードの電力要求に追いついていない。典型的な、ブレード・システムは、最高４つの電源からの電力を共用する最高１４のブレードを有することができる。通常、十分な冗長性が構築されており、したがって、ブレードのすべてが１００％動作している状況で、ある電源が故障した場合、他の電源が、ブレードの動作を縮小することなくブレードに継続して電力を供給できるように、電源間で十分な電力がある。いくつかの場合、電力消費がシステムの完全に冗長なレベルを超えることが許容され、またいくつかの極端な場合では、電力の割振りに全く冗長性のないこともあり得る。すなわち、電源の１つが一旦故障すると、ブレードへの電力を大幅に減少させることが必要になる。
【０００３】
従来技術のブレード・システムにおいて電力の割振りを決定する場合は、最悪のシナリオが生じていると仮定する。すなわち、各ブレードが常に１００％の電力で動作しているものと仮定し、次いで、その仮定に基づいて電力が割り振られる。通常、最大の電力消費値は、ブレードのＶＰＤ（Ｖａｒｉａｂｌｅ  Ｐｏｗｅｒ  Ｄｉｖｉｄｅｒ：可変出力分割器）から取得され、次いで、それに従って、電力の割振りが設定される。しかし、現実には、すべてのブレードが１００％の電力で動作する場合はまれであり、実際は、１０００ブレードごとに１台だけが実際の動作で１００％の電力が必要になると推定される。したがって、大部分の状況で他のブレードに割り振ることに利用できる十分な電力があるが、各ブレードに対して最悪の場合のシナリオが使用されているので、その過剰な電力は利用されない。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
したがって、実際のシステム負荷を、ブレード・システムにおける電力の割振りに利用できるようにする方法、システム、およびコンピュータ・プログラム製品を有することが望ましい。
【課題を解決するための手段】
【０００５】
本発明によると、その最大の電力消費値ではなく、使用が予想される実際の電力の推定に基づいてブレードに電力が割り振られる。推定の実電力消費値を超える状況に対して保護するために、ハードウェア・コンパレータが、ユーザ入力に基づいた管理モジュール（ＭＭ）により設定された所定の閾値に対するブレード・システム負荷をモニタする。その閾値を超えた場合、ブレード・システム負荷をモニタしているサービス・プロセッサからの信号に基づいてスロットル・ラッチがトリガされる。そのラッチ出力は、スロットル調整に直接関与する。サービス・プロセッサはまた、ラッチ出力をモニタし、スロットル調整に関する情報を評価のため管理モジュールに伝える。
【発明を実施するための最良の形態】
【０００６】
図１は、本発明を可能にするシステムのブロック図である。好ましい実施形態では、各ブレードは、図１のシステムを備えている。図１を参照すると、統合されたＡ／Ｄコンバータ１０４を有するサービス・プロセッサ１０２は、ブレード電流／負荷センサ１０６から、特定のブレードで消費される全体のブレード電流に比例した電圧信号１２８を受け取る。ブレード電流／負荷センサ１０６からの信号１２８はまた、コンパレータ１１０の第１の入力部に提示される。
【０００７】
ブレード電流／負荷センサ１０６は、それがインストールされている（または、それが接続されている）ブレードの電流消費を検出し、その検出した電流消費を、アナログの電圧信号である信号１２８に変換する。したがって、信号１２８は、ブレードの電流消費に比例したアナログの電圧信号である。Ａ／Ｄコンバータ１０４は、このアナログ信号１２８を受け取り、サービス・プロセッサ１０２により処理するために、それをデジタル形式に変換する。図１に示すように、また前述のように、サービス・プロセッサ１０２は、統合されたＡ／Ｄコンバータ１０４を有するシングル・チップのマイクロコントローラを備えることができる。しかし、異なる構成、例えば、マルチチップ・マイクロコントローラ、または分離したアナログ／デジタル・コンバータを有するマイクロコントローラあるいはその両方を使用することが可能である。
【０００８】
サービス・プロセッサ１０２から出力された信号１３０は、デジタル／アナログ・コンバータ１０８に入力される。信号１３０は、Ｄ／Ａコンバータ１０８と通信するためにサービス・プロセッサによって用いられるデジタル制御信号を表す。Ｄ／Ａコンバータ１０８は、サービス・プロセッサ１０２からのデジタル信号をアナログ信号１３２に変換し、その信号は、以下で述べるように、コンパレータ１１０によりアナログ信号１２８と比較される。望ましい場合、知られた方法でＤ／Ａコンバータ１０８と同じ機能を実施するために、単純なデジタル電位差計を使用することもできる。アナログ信号１３２は、コンパレータ１１０の第２の入力部に入力される。コンパレータ１１０は、２つのアナログ信号、すなわち、全体ブレード電流／負荷センサ１０６から得られるアナログ信号１２８と、Ｄ／Ａコンバータ１０８によって出力されたアナログ信号１３２との大きさを比較する比較回路である。この比較結果は、信号１３４として出力される論理１または論理０である。一例として、信号１３２が信号１２８よりも大きい場合、出力１３４は論理１となり、そうでない場合は、１３４の出力を論理０とするようにシステムを構成することもできる。
【０００９】
コンパレータ１１０の出力１３４は、ラッチ１１２に入力される。ラッチ１１２は、現在の閾値を超えるブレード電流の発生を捕捉し、信号１３２で表される所定の閾値を超えている場合、出力信号１２６（例えば、論理１）を発行する。サービス・プロセッサ１０２からのリセット出力１２４は、ラッチ１１２に入力されており、サービス・プロセッサ１０２がリセット・コマンドを発行したとき、ラッチ１１２をリセットすることができる。
【００１０】
ラッチ１１２からの出力信号１２６は、ＣＰＬＤ１１４に入力され、またサービス・プロセッサ１０２にも入力される。ＣＰＬＤ１１４は、知られた方法で論理関数を生成するのに使用される結合プログラム可能論理回路（Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）である。本発明では、ＣＰＬＤ１１４は、ラッチ１１２からの出力信号１２６が、全体ブレード電流／負荷センサ１０６により検出された全体ブレード電流／負荷が閾値を超えていることを示す場合、ＣＰＵならびにサービス・プロセッサ１０２に対してスロットル・コマンド１２０を発行するようにプログラムされている。ＣＰＵに対して発行されたスロットル・コマンド１２０は、スロットル調整手順に実際に関与するが、一方、サービス・プロセッサ１０２に入力された同じスロットル・コマンド１２０は、システムがスロットル・モードに入りつつあることをサービス・プロセッサ１０２に通知する。ブレード機能が低下することは、ブレードにより動作している顧客のアプリケーションに影響を与え得るので、ブレードがスロットル調整されていることをサービス・プロセッサが知ることは有益である。あるブレードがスロットル調整されていること、また低下した機能が生じていることを知ることにより、そのブレードにもっと多くの電力を割り振って戻し、補償のために別のブレードをスロットル調整することもあり得る。
【００１１】
図１の回路の動作は以下のようになる。ユーザは、図１のシステムで構成されたブレードに対する推定の実使用量を識別する。キーボードまたは他の知られた入力デバイスを用いて、その情報を、知られた方法で、サービス・プロセッサ１０２に入力する。推定の最大実使用量を入力することにより、ユーザは、動作中にブレードで行われる実使用量と比較される閾値を設定する。ユーザは、何のためにその特定のブレードが使用されているかなど、ブレード中にインストールされたオプションを考慮に入れる。推定の実使用量は、手動で入力されるよりむしろ、ブレードのＶＰＤに組み込むことも可能であることが予想される。しかし、現在使用されるブレードは、ブレードの電力使用量が、ブレードのすべてのエレメントが動作状態にある場合に消費される電力に等しいと仮定するデータをＶＰＤ中に含んでいる。
【００１２】
ブレードが動作すると、その全体の電流／負荷値は、全体ブレード電流／負荷センサ１０６により検出され、センサは、電流／負荷レベルに対応する電圧１２８を出力する。その値は、サービス・プロセッサ１０２のＡ／Ｄコンバータ１０４に入力され、Ａ／Ｄコンバータ１０４は、その信号をサービス・プロセッサ１０２で処理するために、デジタル信号に変換する。例えば、過負荷状態が検出された後、システムは、リカバリ・アルゴリズムの一部として、実時間で実際の負荷測定値が何かを知る必要があり得る。診断、初期化、および他のリカバリの実施にその情報を必要とする可能性がある。
【００１３】
信号１２８はまた、コンパレータ１１０に入力され、信号１３２と比較される。信号１３２は、ユーザによりサービス・プロセッサ１０２に入力された閾値１３０のアナログ表示である。比較結果が、実際の値１２８が閾値１３２を超えていることを示す場合、コンパレータ１１０は、ブレードが、その所定の推定の最大実使用量値より多い電力を消費しようとしていることを示す論理信号をラッチ１１２に出力する。その論理値はラッチ１１２に入力される。実時間の電流はアプリケーションに依存しており、ミリ秒の速度で変化し得るため、ラッチ１１２が使用される。信号１３４は、このようにミリ秒の速度で発振する可能性があり、サービス・プロセッサで使用するのを困難にする。したがって、その信号をラッチさせる。ラッチされたイベントは、最後にラッチがリセットされた後に過負荷イベントが生じたことを示す。実時間に近い読取りは、ラッチをリセットした後に直ぐラッチ読取りを行うことにより達成することができる。ラッチがＣＰＬＤ１１４の外側に示されているが、ＣＬＰＤ内に実装することも可能である。ラッチ１１２は、ＣＰＬＤ１１４に論理信号を渡し、その論理信号はＣＰＬＤ１１４にスロットル・コマンド１２０を発行させる。スロットル・コマンドはＣＰＵに送られ、ＣＰＵは、ブレードをスロットル調整して推定の最大実使用量値を超えないようにする。スロットル信号１２０はまた、スロットル状態について知らせるためにサービス・プロセッサ１０２に入力される。このイベントの最初の発生では、システムは、回路をリセットしてそのイベントが繰り返されるかどうか見守る可能性が高い。システムは、ブレードがさらに多くの電力を本当に必要とすることを検証した後、そのブレードにさらに多くの電力を再配分するためのアクションを取るべきである。
【００１４】
図２は、本発明に従って実施される諸ステップを示すフローチャートである。ステップ２０２で、ブレード・システムにおける各ブレードに対する推定の最大実使用量が識別される。ステップ２０４で、ブレードに対する推定の最大実使用量に基づいて、ブレード・システム中の電源から電力が割り振られる。ステップ２０６で、ステップ２０２で推定された最大実使用量が各ブレードに対する閾値として設定される。
【００１５】
ステップ２０８で、各ブレードの実電流消費がモニタされる。ステップ２１０で、いずれかの閾値を超えたかどうかに関して判定が行われる。どの閾値も超えていない場合、プロセスは、ステップ２０８に戻り、引き続き各ブレードをモニタする。しかし、ステップ２１０で、閾値を超えていると判定された場合、それは、ブレードの１つがその最大に割り振られた閾値レベルを超えて動作し始めていることを示す。ステップ２１２で、閾値を超えているブレードをスロットル調整し、その最大値を超えないように保つ。ステップ２１４で、そのスロットル調整は管理モジュールに報告される。システム・オペレータは、電力レベルを超えようとする動きの発生を識別するために、また望ましい場合は、その特定のブレードに対する電力レベルおよび電力レベル閾値を増加させるために、それを利用することができる。管理モジュールはまた、望ましい場合、十分に活用していない、または電力を供給していないブレードを捜して、スロットル調整されているブレードの電力配分を増加させるように構成することもできる。
【００１６】
ステップ２１６で、システムの継続したモニタリングが望ましいかどうかが判定される。モニタリングの停止が望ましい場合、プロセスは終了する。しかし、モニタリングの継続が望ましい場合、プロセスはステップ２０８に戻り、ブレードのモニタリングを継続する。
【００１７】
本発明は、ハードウェアの実施形態で本明細書に述べられており、このハードウェアの実施形態は、高速なスロットル調整が望ましい状況では好ましい。しかし、上記の諸ステップはまた、標準のよく知られたプログラミング技法を用いて実施することができる。上記実施形態の新規性は、特有のプログラミング技法にあるのではなく、前述の結果を達成するために述べた諸ステップを使用することにある。本発明を実施するためのソフトウェア・プログラミング・コードは、通常、各ブレードの永久記憶装置など、何らかのタイプの永久記憶装置に記憶される。クライアント／サーバ環境では、このようなソフトウェア・プログラミング・コードは、サーバと関連付けられた記憶装置を用いて記憶することができる。ソフトウェア・プログラミング・コードは、ディスケットやハード・ドライブ、ＣＤ−ＲＯＭなど、データ処理システムで使用できる様々の知られた媒体のいずれかで実施することができる。コードは、このような媒体上で配布することができ、あるいは一方のコンピュータ・システムのメモリまたは記憶装置から、他システムのユーザで使用される他方のコンピュータ・システムに、何らかのタイプのネットワークを介してユーザに分配することができる。物理的な媒体上でソフトウェア・プログラム・コードを実施するための、またはネットワークを介してソフトウェア・コードを配布するための、あるいはその両方の技法および方法はよく知られており、本明細書ではこれ以上論じない。
【００１８】
例示の各要素、および例示の要素の組合せは、指定された機能または諸ステップを実施する汎用または特殊目的あるいはその両方のハードウェア・ベースのシステムにより、あるいは汎用または特殊目的あるいはその両方のハードウェアとコンピュータ命令の組合せにより実施することができる。
【００１９】
これらのプログラム命令は、プロセッサ上で実行される命令が例示の中で指定された機能を実施するための手段を作成するようなマシンを生成するためにプロセッサに提供することができる。プロセッサによりコンピュータ・プログラム命令が実行されて、プロセッサで行われる一連の動作ステップによりコンピュータ実施プロセスを生成させることができ、したがって、プロセッサ上で実行される命令が、例示の中で指定される機能を実施するための諸ステップを提供することができる。したがって、図は、指定された機能を実施するための手段の組合せ、指定された機能を実施するための諸ステップの組合せ、および指定された機能を実施するためのプログラム命令手段をサポートする。
【００２０】
本発明を、その特有の好ましい実施形態に関して述べてきたが、様々な変更および修正形態を当業者に示唆することが可能であり、本発明は、このような変更および修正形態を、添付の特許請求の範囲に含まれるものとして包含するものとする。
【図面の簡単な説明】
【００２１】
【図１】本発明を可能にするシステムのブロック図である。
【図２】本発明に従って実施される諸ステップを示すフローチャートである。
【符号の説明】
【００２２】
１０２  サービス・プロセッサ
１０４  Ａ／Ｄコンバータ
１０６  全体ブレード電流／負荷センサ
１０８  Ｄ／Ａコンバータ
１１０  コンパレータ
１１２  ラッチ
１１４  ＣＰＬＤ
１２０  スロットル・コマンド
１２４  リセット出力
１２６  出力信号
１２８  電圧信号、アナログ信号
１３０  信号、閾値
１３２  アナログ信号、閾値
１３４  信号、出力
【図１】
2007172601.tif 000003
【図２】
2007172601.tif 000004