(57)【要約】【課題】ＯＳやアプリケーションに依存せず、ブレードサーバ全体での電力管理を可能とすること。【解決手段】ＣＰＵ１０１、ＣＰＵ周波数制御部１０２、ブレードマネージメントコントローラ（ＢＭＣ）１０３を有する複数のブレード１００と、ブレードに電力を供給する１つ以上の電源ボックス１０７と、ＢＭＣに接続された単一のシステムマネージメントコントローラ１０４と、を１つの筐体内に備えたブレードサーバであって、単一のシステムマネージメントコントローラ１０４は、ブレード１００の実装数と、各ブレードの消費電力と、電源ボックスによる供給電力とを検知するとともに、ブレードサーバ全体の消費電力が供給電力を超える場合に、各ブレード毎の消費電力低減の優先度に応じてブレードでの消費電力を制御すること。【選択図】図１
2005202506.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサ、プロセッサ周波数制御部、ブレードマネージメントコントローラを有する複数のブレードと、前記ブレードに電力を供給する１つ以上の電源ボックスと、前記ブレードマネージメントコントローラに接続された単一のシステムマネージメントコントローラと、を１つの筐体内に備えたブレードサーバであって、
前記単一のシステムマネージメントコントローラは、前記ブレードの実装数と、各ブレードの消費電力と、前記電源ボックスによる供給電力とを検知するとともに、
ブレードサーバ全体の消費電力が前記供給電力を超える場合に、各ブレード毎の消費電力低減の優先度に応じて前記ブレードでの消費電力を制御する
ことを特徴とするブレードサーバにおける電力管理システム。
【請求項２】
請求項１において、
前記ブレードの消費電力の制御は、ブレードのプロセッサ動作周波数の高低設定で行うことを特徴とするブレードサーバにおける電力管理システム。
【請求項３】
請求項２において、
前記ブレードサーバへの電力供給に際して、前記電源ボックスから各ブレードに順次電源を投入し、電源投入直後に前記プロセッサ動作周波数の最大値よりも低い制限周波数で動作させ、前記電源ボックスからの供給電力条件に基づいて予め設定された各ブレード毎のプロセッサ動作周波数制限の優先度に応じて前記優先度に従い制限周波数でプロセッサを動作させ、優先度のないブレードについては最大動作周波数でプロセッサを動作させる
ことを特徴とするブレードサーバにおける電力管理システム。
【請求項４】
請求項２において、
前記単一のシステムマネージメントコントローラは、前記ブレードマネージメントコントローラを通して各ブレードのプロセッサ動作周波数を取得し、一定期間に亘ってプロセッサ動作周波数が所定値よりも下回るときに、前記優先度の最も低いブレードを選択し、前記選択されたブレードのプロセッサ動作周波数を最大値にするように前記ブレードマネージメントコントローラに指示する
ことを特徴とするブレードサーバにおける電力管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のブレードを１つの筐体内に有するブレードサーバ全体の消費電力を管理する電力管理技術に関する。
【背景技術】
【０００２】
ブレードとは、プロセッサ、メモリ、ネットワーク等をひとつのマザーボード上に高密度実装したシステムボードである。また、ブレードサーバとは、複数のブレードを１つの筐体内に格納し、筐体、電源、ファン、ケーブルなどを共有することで、拡張性は多少制限されるものの、ＰＣサーバとしての基本機能はそのままにして省スペース化を実現し、導入および管理のトータルコスト削減を実現するサーバシステムである。なお、このような定義は本発明にも適用されるものである。
【０００３】
それぞれのブレードがＰＣサーバとしての基本機能を備えているため、ブレードごとに、異なるＯＳや異なるアプリケーションを動作させることが可能である。また、クラスタシステムソフトウェアを導入することにより、各ブレードをノードとみなし、ブレードサーバ全体又はその一部をクラスタシステム（パフォーマンス等の向上のために複数のサーバを連携させて一つの大きなシステムとして機能させるシステム）して運用することも可能である。
【０００４】
パソコンにおける省電力技術として、アドバンスドパワーマネージメント（以下、ＡＰＭという）やＡｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ（以下、ＡＣＰＩという）が、一般的に知られているが、ブレード単体で行う電力管理としてもこれらの技術が使用されている。
【０００５】
また、クラスタシステムにおける電力管理技術としては、例えば、特許文献１、２及び３に記載されているような従来技術がある。特許文献１及び２においては、外部からの処理要求を受け付けてノードに割り振るフロントエンドプロセッサがシステムの電力管理を行い、特許文献３においては、同様の作業を行うクラスタシステムソフトウェアが存在し、処理要求の割り振りとともに、システム全体の電力管理を行っている。
【特許文献１】特開平９−９１２５４号公報
【特許文献２】特開平１０−１８７６３６号公報
【特許文献３】特開２００３−１６２５１５
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ブレードサーバにおいてもＣＰＵ性能への要望が高くなってきており、最新ＣＰＵの採用を検討する動きがでてきている。しかし、高周波数のＣＰＵを用いたブレードを高密度実装しようとすると、放熱と消費電力の課題が発生する。高周波数のＣＰＵは、当然、消費電力が大きく、実装数が増えてくれば、電源を１００Ｖから２００Ｖのものに変更するか、１００Ｖの電源ボックスの数を増やすさなければならない。２００Ｖの電源を用いた場合には、使用できる環境が限られるため、潜在的なユーザの母数が減ってしまうことになる。１００Ｖの電源を用いた場合でも、電源ボックスの数がふえると、コストアップとなるだけでなく、トータルでの電力量が大きければ、設置できる場所が限定されてしまうことになる。
【０００７】
このため、ブレードサーバ全体での消費電力を管理し、最大消費電力量を抑えることが要請されることとなる。しかし、従来技術であるＡＰＭもしくはＡＣＰＩによる電力管理では、ブレードごとの電力管理しかされておらず、システム全体での電力管理は行われていない。
【０００８】
また、複数のサーバが存在するシステム全体の電力管理技術として、上述した特許文献１、２及び３に記載のクラスタシステムのための電力管理技術があるが、ブレードサーバ全体でクラスタシステム（外部からみたときに論理的に１つのシステムとして見えるように複数システムを束ねるシステム）を組むとは限らないことから、そのまま、本発明が対象とするブレードサーバに適用することはできない。また、ブレードごとに異なるＯＳやアプリケーションが搭載されることも想定されることから、ＯＳやアプリケーションに依存しない電力管理が求められている。
【０００９】
本発明の目的は、ＯＳやアプリケーションに依存せず、クラスタシステムを組まなくても、ブレードサーバ全体での電力管理を行えるシステムを提供することにある。
【課題を解決するための手段】
【００１０】
前記課題を解決するために、本発明は主として次のような構成を採用する。  
プロセッサ、プロセッサ周波数制御部、ブレードマネージメントコントローラを有する複数のブレードと、前記ブレードに電力を供給する１つ以上の電源ボックスと、前記ブレードマネージメントコントローラに接続された単一のシステムマネージメントコントローラと、を１つの筐体内に備えたブレードサーバであって、
前記単一のシステムマネージメントコントローラは、前記ブレードの実装数と、各ブレードの消費電力と、前記電源ボックスによる供給電力とを検知するとともに、
ブレードサーバ全体の消費電力が前記供給電力を超える場合に、各ブレード毎の消費電力低減の優先度に応じて前記ブレードでの消費電力を制御する構成とする。
【発明の効果】
【００１１】
本発明によれば、ＯＳやアプリケーションに依存せず、クラスタシステムを組まなくても、ブレードサーバ全体での電力管理が可能となる。
【発明を実施するための最良の形態】
【００１２】
本発明の実施形態に係るブレードサーバの電力管理について、図１〜図６を参照しながら以下詳細に説明する。図１は本発明の実施形態に係るブレードサーバにおける電力管理システムの全体構成の概要を示す図である。図２は本実施形態に関するブレードの内部構成を示す図である。図３は本実施形態に係る電力管理システムの不揮発性メモリに格納される情報を示す図である。図４は本実施形態に係る電力管理システムにおける電源投入時の消費電力設定動作例を示すフローチャートである。図５は本実施形態に係る電力管理システムにおける電源投入時の他の消費電力設定動作例を示すフローチャートである。図６は本実施形態における稼働中の電力管理のフローを示す図である。
【００１３】
図１において、ブレードサーバは、１つの筐体内に複数のブレード１００、温度センサ１０５、ファン（ＦＡＮ）１０６、電源ボックス１０７、ＳＭＣ（システムマネージメントコントローラ）１０４、不揮発性メモリ１０９を１つの筐体内に備える。ＳＭＣ１０４は、筐体内マネージメントバス１０８を介して、バスに接続されている各デバイスにアクセス可能である。バス上でのマスタになりうるデバイスが、ＳＭＣ１０４以外に筐体内マネージメントバス１０８上に存在すれば、そのデバイスから、ＳＭＣ１０４を含む他のデバイスへアクセスすることも可能である。具体的例示で云えば、１つの筐体内に、複数のブレード用マザーボードと、マザーボード背面にあるバックプレーンボード上の１つのＳＭＣと、筐体後方に配された複数の電源ボックス（マザーボードの消費電力の関係で複数存在する）等が内蔵されている。
【００１４】
ブレード１００の内部構成例を示す図２において、ブレード１００は、システムバス２０３上に、メモリコントローラ２０５、表示コントローラ２０６、キーボード（ＫＢ）コントローラ２０７、ディスクコントローラ２１１、ネットワークコントローラ２１４、周波数制御手段１０２、ＳＭＩ（System Management Interrupt）発生手段２０１、ブレードマネジメントコントローラ（以下、ＢＭＣという）１０３、ＢＩＯＳ２１２が接続され、ＣＰＵ（又はプロセッサ）１０１からアクセス可能な構造になっている。
【００１５】
また、メモリコントローラ２０５、表示コントローラ２０６、キーボードコントローラ２０７、ディスクコントロ−ラ２１１には、それぞれ、ＤＲＡＭ２０４、表示部２０８、キー入力部２０９、ＨＤＤ２１０が接続されている。ＣＰＵ１０１周辺の温度を計測する温度センサ２１３は、ブレード内マネージメントバス２０２を介して、ＢＭＣ１０３からアクセス可能である。ＢＩＯＳ２１２は、ＣＰＵ１０１によって実行されるソフトウェアであり、不揮発性メモリに格納されている。ＢＩＯＳ２１２は、ブレード１００に電源が供給されてから、ＯＳブートまでの間に実行されるＰＯＳＴ部分と、ＳＭＩ信号２００がＳＭＩ発生手段２０１によってＣＰＵ１０１へ通知されたときに実行されるＳＭＩコード部分からなる。
【００１６】
まず、単一のブレード内で従来から行われている消費電力管理について説明する。消費電力管理のやり方には、主なものとして２つに大別できる。１つはＡＰＭ（アドバンスド  パワー  マネージメント）を用いたもの、もう１つはＡＣＰＩ（アドバンスド  コンフィギュレーション  アンド  パワー  インタフェース）を用いたものである。
【００１７】
ＡＰＭを用いた場合には、省電力管理の主体がＢＩＯＳ２１２となる。ＢＩＯＳ２１２は、ＣＰＵ１０１、キー入力部２０９、ＨＤＤ２１０が使用される頻度を監視しする。キー入力部２０９やＨＤＤ２１０の使用頻度が低い場合には、表示部２０８（キー入力しないとき表示する必要がない）やＨＤＤ２１０への電源供給をストップすることで、ブレード内の消費電力を下げる。ＣＰＵ１０１の使用頻度が低い場合には、周波数制御手段１０２を用いて、ＣＰＵ１０１の動作周波数を下げ、ＣＰＵ１０１による消費電力を下げる。使用頻度が高まれば、電源供給の再開、動作周波数の引き上げを行う。
【００１８】
ＡＣＰＩを用いた場合には、省電力管理の主体がＯＳとなり、ＯＳが各部位（例えば、図２の各種コンローラ）の使用頻度やＯＳ上で実行されているプログラムの稼動状態を監視し、ＡＰＭと同様に、個別デバイスへの電源供給のストップやＣＰＵの動作周波数の引き下げを行う。
【００１９】
そこで、本発明の実施形態では、ブレード１００の外部に設けたＳＭＣ１０４からＣＰＵ１０１の動作周波数を制御できる必要があり、その実現手法について以下説明する。
【００２０】
ＳＭＣ１０４が、筐体内マネージメントバス１０８（図１を参照）を介して、ＣＰＵ１０１の最大周波数比をブレード１００内のＢＭＣ１０３に指示する。最大周波数比は、ＣＰＵ１０１が動作可能な最大周波数に対するパーセンテージで表す。ＢＭＣ１０３は、ＳＭＩリクエスト信号（割り込みリクエスト信号）２１５をＳＭＩ発生手段２０１へ通知する。ＳＭＩ発生手段２０１がＳＭＩ信号２００をＣＰＵ１０１へ通知し、ＢＩＯＳ２１２のＳＭＩコード部が実行される。ＳＭＩコード部は、最大周波数比が５０％であれば、ＣＰＵ１０１の最大周波数と０．５の積に、ＣＰＵ１０１の動作周波数がなるように周波数制御手段１０２を設定すると同時に、この最大周波数比をＤＲＡＭ２０４に格納する。
【００２１】
以後、ＳＭＣ１０４から新しい最大周波数比を指示してくるまでは、ＳＭＩコード部は、動作周波数の引き上げを行うときには、ＤＲＡＭ２０４内の最大周波数比を参照し、その値より高い動作周波数は設定しないようにする。これにより、ＡＰＭを用いた消費電力管理におけるＣＰＵ１０１の動作周波数の上げ下げにおいて、ＳＭＣ１０４から指示された最大周波数比が上限となる。
【００２２】
換言すると、例えば、ＢＩＯＳがＣＰＵの動作周波数を経時的に１００％、５０％、２０％、１００％というように設定している（当然のことながらＯＳやアプリケーションが設定していない）場合において、ＳＭＣからの指示によって５０％を上限値とすれば、最大周波数の５０％を超える周波数では上限値の５０％に低減されて動作する。上述の経時的例では５０％、５０％、２０％、５０％で動作することとなる。
【００２３】
ＡＣＰＩを用いた消費電力管理においては、ＯＳが主体となるため、周波数制御手段１０２に直接、最大周波数比を設定できるようにする。ＳＭＩコード部は、周波数制御手段１０２中の最大周波数比を設定するだけでよい。ＯＳは、１００ＭＨｚや２００ＭＨｚといった周波数値ではなく、５０％、７０％といった周波数比を周波数制御手段１０２に設定するため、周波数制御手段１０２は、（ＣＰＵ１０１の最大周波数）×（ＳＭＣ１０４からの最大周波数比）×（ＯＳからの周波数比）をＣＰＵ１０１の動作周波数とすればよい。これにより、ＡＣＰＩの場合にも、ＳＭＣ１０４から指示された最大周波数比が上限となる。
【００２４】
換言すると、周波数制御手段には、ＯＳによる最大周波数比設定部と、ＢＭＣを介したＳＭＣによる最大周波数比設定部とがあって、最大周波数が１００ＭＨｚで、ＯＳ設定部が７０％、ＳＭＣ設定部が５０％であれば、３５ＭＨｚが動作周波数になる。さらに、ＳＭＣ設定部が最大周波数の上限値％を設定するようにしても良く、この場合に、ＯＳ設定部が８０％、３０％を経時的に設定していて、上限値を５０％に設定すれば、ＣＰＵ動作周波数は、５０％、３０％で動作することとなる。このように、ＡＣＰＩの電力管理では、ＣＰＵの動作周波数は周波数制御手段のハードウェア変更によって決まるのであるから、電力管理のためにＯＳ自体に変更を加える必要はないのである（前述した周波数制御手段におけるＯＳからの周波数比設定は、ＯＳが本来保持している機能を利用したものである）。
【００２５】
周波数制御手段１０２にブレード内マネージメントバスとのＩ／Ｆを持たせれば、ＳＭＩコード部を介さずに、ＢＭＣ１０３が、周波数制御手段１０２内の最大周波数比を直接設定可能となる。以上説明した実現手法により、ＳＭＣ１０４からブレード１００上のＣＰＵ１０１の動作周波数を制御できるようになる。
【００２６】
次に、本発明の実施形態における複数のブレードサーバの電力管理システムを説明する。本実施形態の構成例では、１０枚のブレードを実装したブレードサーバのうちの３枚のブレードについて、それらのＣＰＵの動作周波数を７０％にすれば、ブレードサーバ全体の消費電力が、電源からの供給電力内に収まる場合について説明する。ここで、ブレードの枚数と電源ボックスの数との関係を述べると、例えば、１０枚のブレードをフルの１００％で動作させるには、４つの電源ボックスが供給電力の関係で必要とされると仮定すると、１０枚中の３枚のブレードを７０％で動作させれば、３つの電源ボックスで足りるという場合が生じる（電源ボックスが１台故障、筐体が占めるスペースの都合、ブレードのその後の追加設置など）。この場合に、限られた電源ボックスからの供給電力を考慮したブレードへの条件が複数設定でき、この電力供給条件の詳細が図３に示されている。
【００２７】
不揮発性メモリ１０９に格納されている情報を示す図３において、まず、不揮発性メモリ１０９には、３枚のブレードのＣＰＵ動作周波数を７０％にすればよいという供給電力条件３００と、電力投入時にどのブレードのＣＰＵ動作周波数を７０％にするかを示す初期情報３０１と、現在どのブレードのＣＰＵ動作周波数が７０％に設定されているかを示すカレント情報３０２が格納されている。初期情報３０１には、ブレード毎に７０％動作周波数にすべき優先度が格納され（優先度の高い方のブレードをまず７０％動作させる）、カレント情報３０２には、ブレード毎の現状の優先度と電力モードとカウンタが格納されている。
【００２８】
供給電力条件３００には、１）正常な電源ボックスが４台であれば無条件で動作可能であり、２）３台であれば３枚のブレードのＣＰＵ動作周波数を７０％にすればよく、３）２台であれば７枚のブレードのＣＰＵ動作周波数を７０％にすればよく、４）１台であれば８枚のブレードの動作周波数を５０％にすればよいというように、正常な電源ボックスに応じた条件を格納しておくことも可能である。
【００２９】
初期情報３０１は、ユーザーが使用環境にあわせて、ユーティリティ（電力管理システムの管理プログラム）上から変更できる。ユーティリティは、供給電力条件３００、初期情報３０１、カレント情報３０２を読み出し、画面上でユーザが理解可能なように情報を加工して表示する。そして、ユーティリティは、ＣＰＵ動作周波数を７０％にするブレードを画面上で選択できるようにし、ユーザーが選択したブレードの数が、供給電力条件３００で示された枚数と一致しない場合には、ユーザーから初期情報３０１の書き換えを指示されても、警告メッセージを表示して、書き換えは行わないようにする。
【００３０】
供給電力条件３００で示されたブレード枚数とユーザ選択のブレード数が一致していれば、ユーザーの指示に従い、初期情報３０１の書き換えを行う。同時に、３枚のうちでの優先度をユーザーが指定できるようにし、優先度も、初期情報３０１に格納する。優先度が一番高いものが、ＣＰＵ動作周波数を７０％に設定していて一番問題ないブレードとする。ユーザーが優先度を設定しない場合には、ブレードの物理的な実装位置にしたがって、ユーティリティが自動的に設定する。
【００３１】
次に、本実施形態におけるブレードサーバの電力管理システムに電源が投入にされてからの消費電力設定動作について説明する。概略的に云えば、ブレードサーバに電源が投入されると、ＳＭＣ１０４が動きだし、筐体内に実装されている各ブレードへの電源を順番に投入していく。電源が投入されたブレードのＢＭＣ１０３は、ＣＰＵ動作周波数を７０％に設定する。実装されているブレード全ての電源を投入し終わると、ＳＭＣ１０４は、初期情報３０１をカレント情報３０２にコピーし、初期情報３０１で示されたブレード以外のブレードのＢＭＣに対して、ＣＰＵ動作周波数を１００％にするように指示する。
【００３２】
上述のことを補足して、図４を参照しながら、再度説明すると、周波数制御手段１０２の電源投入時の初期値は１００％であり、ブレードへ電源を投入する前に、この値を変更することはできない。このため、一旦、ＣＰＵ動作周波数を１００％で起動（図４のＳ３を参照）させた後に７０％へ変更する（Ｓ４を参照）必要がある。このとき、実装されているブレード全ての電源を一斉に投入すると、一時的に、全てのブレード が１００％で起動することになるので、ブレードの実装枚数によっては、供給電力条件３００を超えてしまう可能性がある。そこで、１枚ずつ電源を投入し、電源投入直後に７０％の設定を行い、７０％に設定されたことを確認（Ｓ５を参照）してから、次のブレードの電源を投入するようにし、全てのブレード を７０％の設定で起動（Ｓ６を参照）し終わってから条件を緩和する。即ち、７０％から１００％に設定できるブレードはこの時点で１００％に設定（Ｓ１２を参照）して稼働させる。
【００３３】
なお、図４を参照して更に説明すると、全てのブレードがオンになってから、電源ボックスの実装数を確認後に現在の電源ボックス数での供給電力条件を読み出して（Ｓ７とＳ８を参照）、ブレード実装数の電力と供給電力条件を比較して（Ｓ９を参照）、初期情報３０１中の優先度を読み出し７０％で動かすべきブレードを決定する（Ｓ１１を参照）。それ以外のブレードのＢＭＣへは１００％動作を指示する。次いで、初期情報３０１の優先度をカレント情報３０２にコピーし、７０％動作のブレードに対応したカレント情報中の電力モードフラグをセットし、カレント情報３０２中の全てのカウンタをクリアする（Ｓ１３，Ｓ１４，Ｓ１５を参照、図３を参照）。
【００３４】
さらに、電源投入時の設定動作について、図５に示すようなフローを行うこともできる。ブレードへの電源供給を開始（図５のＳ８を参照）する前に、供給電力条件３００を読み出し、実装されているブレードを全て１００％で動作可能な場合は、上述した図４に示したような順次の電源投入はせずに、一斉に電源を投入する。そうでない場合には、初期情報３０１中の優先度に従い、７０％に設定すべきブレードと、その次に優先度が高いブレードＡを選択する（図５のＳ７を参照）。次に、ブレード１から順番に電源を投入していく。選択されたブレードでなければ、そのまま、次のブレードの電源投入へ進む。選択されたブレードであれば、電源投入後に７０％の設定を行う（図５のＳ９を参照）。全てのブレードの電源投入が終了した後、ブレードＡの設定を１００％に設定する（図５のＳ１２を参照）。図５に示すＳ１３，Ｓ１４，Ｓ１５の動作は図４のそれらと同様である。
【００３５】
また、ブレードサーバの電力管理システムが稼動中にブレードが新たに挿入されると、ＳＭＣ１０４は、カレント情報３０２を参照し、挿入されたブレードがＣＰＵ動作周波数を１００％に設定してよいブレードかどうかを判断する。１００％に設定してよいブレードの場合には、挿入されたブレードの電源を投入後、そのブレードのＢＭＣに対して、ＣＰＵ動作周波数を１００％にするよう指示する。ブレードは電源投入されれば、自動的に、ＢＭＣがＣＰＵ動作周波数を７０％に設定するが、７０％に設定されるまでの間は、当然、ＣＰＵ動作周波数１００％で動作することになる。このため、７０％に設定すべきブレードの場合には、現在１００％で動作しているブレードのうち、１枚のＣＰＵ動作周波数を７０％に設定してから、挿入されたブレードの電源を投入し、一定時間後に、ＢＭＣへアクセスし、ＢＭＣがＣＰＵを７０％に設定したことを確認する。７０％に設定したことを確認したら、一時的に７０％に設定していたブレードのＣＰＵ動作周波数を１００％にするようにＳＭＣ１０４はＢＭＣへ指示する。
【００３６】
次に、稼働中の電源管理について図６を参照しながら説明すると、電源投入後のブレードは、前述したように、ＡＰＭもしくはＡＣＰＩにより消費電力管理をブレードごとに行っている。ＢＭＣ１０３は、定期的に周波数制御手段１０２にアクセスし、現在のＣＰＵ動作周波数比を取得する（図６のＳ１を参照）。一定期間以上、ＣＰＵ動作周波数が７０％を下回る場合には（図６のＳ２を参照）、ＢＭＣ１０３はＳＭＣ１０４に対してそのことを報告する。もしくは、ＳＭＣが定期的にＢＭＣ経由で現在のＣＰＵ動作周波数を取得し、一定期間以上、ＣＰＵ動作周波数が７０％を下回ったかどうかをＳＭＣが判断しても良い。
【００３７】
報告を受けたＳＭＣ１０４は、報告されたブレードのＢＭＣに対してＣＰＵ動作周波数７０％を指示（図６のＳ５を参照）するとともに、カレント情報３０２を確認し、実装されているブレードで７０％に設定されているブレードがあれば、その中で一番優先度が低いブレードＢを選択し（図６のＳ６を参照）、ブレードＢのＢＭＣへ１００％動作を指示して（図６のＳ７を参照）、ブレードＢのフラグをクリアする。以上のようにして、供給電力条件３００を満たしながら、稼動状況に応じて、消費電力を管理することが可能となる。
【００３８】
上述した構成例では、ＳＭＣ１０４は、１００％か７０％かどちらかの周波数比しかＢＭＣ１０３に指示できないが、７０％のときは３枚、８０％のときは４枚と、各周波数比において低周波数モードに設定しなければいけないブレードの数を表として保持することにより、できるだけ多くのブレードが高いＣＰＵ動作周波数で動作するように管理することも可能となる。
【００３９】
また、各ブレード上で、ＡＰＭもしくはＡＣＰＩにより電力供給を管理されている部位（例えば、図１に示す各種コントローラの内のいくつかのコントローラ）があれば、その状態をＢＭＣ１０３から判断できるようにし、特定の部位がいくつのブレードで電源オフされていれば、ＣＰＵ動作周波数を何％引き上げてもよいという情報が並んだ表をＳＭＣ１０４が持つことで、各部位の電力供給状況をＢＭＣ１０３から集めて、その表に従い、７０％に設定しているブレードに対して、より高いＣＰＵ動作周波数比を指示することも可能となる。
【００４０】
また、特許文献３に示す従来技術のように、処理要求を振り分けるソフトウェアが存在し、そのソフトウェアが電力管理機能を持つ場合には、ソフトウェアからＳＭＣ１０４へコマンドを送れるようにすることで、各ブレードに割り振られる仕事量に応じて、ＳＭＣ１０４は、ブレードサーバの消費電力を管理できるようになる。
【００４１】
以上説明した本発明の実施形態では、実際にブレードサーバ全体で消費されている電力量は参照せずに、あらかじめ決められた供給電力条件３００に従い、電力管理を行っている。消費されている電力量をもとに電力管理を行う構成例について以下説明する。まず、従来の電源ボックスは、出力電流の検知回路をもち、供給可能な電力量を超えると、電力の供給をストップしてしまう。当然、検知回路の閾値を変えることで、供給可能な電力量の９０％を超えたことを検知することも可能となる。
【００４２】
そこで、本発明の構成例では、消費電力量が、供給可能な電力量の９０％まで来たら、筐体内マネージメントバス１０８を経由して、ＳＭＣ１０４に通知するようにすることで、その通知が来るまでは、実装されているブレードのＣＰＵ動作周波数は１００％で動作させることが可能となる。電源ボックスからの通知を受けると、ＳＭＣ１０４は、不揮発性メモリ１０９に格納された優先度に従い、優先度の高いものから順番に、ＣＰＵ動作周波数を７０％に設定するようにＢＭＣ１０３へ指示する。１つのＢＭＣ１０３にＣＰＵ動作周波数７０％を指示したら、電源ボックスからの通知が取り下げられたかどうかを確認し、取り下げられてなければ、次に優先度の高いブレードのＢＭＣ１０３へＣＰＵ動作周波数７０％を指示し、取り下げらていれば、次のブレードへの指示を取りやめる。
【００４３】
以上のように、本発明の実施形態は、ブレードサーバのバックプレーンボード上に載置されて、筐体内の温度を検知し、ＦＡＮの回転数を制御することなどを目的とするシステムマネージメントコントローラ（ＳＭＣ）によって、ブレードサーバ内の機器構成、各ブレード上のＣＰＵの動作周波数、各デバイスの電源状態を検知して、各ブレード上の周波数制御手段を介してＣＰＵの動作周波数を制御するものであり、ＳＭＣは自身のファームウェアを実行することから、ＯＳやアプリケーションに依存することなく動作可能である。このため、ＳＭＣにてブレードサーバ全体の電力管理を行えば、ＯＳやアプリケーションに依存せず（ＯＳはＣＰＵ動作周波数を変更する機能を元来有していてこの機能をそのまま利用するが、ブレードサーバ全体の電力管理を行うためにＯＳ自体を変更する必要はない）、クラスタシステムを組まなくても済ませることができて、ブレードサーバ全体での電力管理を行うことを特徴とする。なお、以上の説明で消費電力の管理を主としてＣＰＵの動作周波数の高低で例示したが、これに限らず、コントローラ類の節電、電力供給オフでも適用可能である。
【図面の簡単な説明】
【００４４】
【図１】本発明の実施形態に係るブレードサーバにおける電力管理システムの全体構成の概要を示す図である。
【図２】本実施形態に関するブレードの内部構成を示す図である。
【図３】本実施形態に係る電力管理システムの不揮発性メモリに格納される情報を示す図である。
【図４】本実施形態に係る電力管理システムにおける電源投入時の消費電力設定動作例を示すフローチャートである。
【図５】本実施形態に係る電力管理システムにおける電源投入時の他の消費電力設定動作例を示すフローチャートである。
【図６】本実施形態における稼働中の電力管理のフローを示す図である。
【符号の説明】
【００４５】
１００  ブレード
１０１  ＣＰＵ
１０２  周波数制御手段
１０３  ＢＭＣ（ブレードマネージメントコントローラ）
１０４  ＳＭＣ（システムマネージメントコントローラ）
１０５  温度センサ
１０６  ファン（ＦＡＮ）
１０７  電源ボックス
１０８  筐体内マネージメントバス
１０９  不揮発性メモリ
２００  ＳＭＩ（System Management Interrupt）信号
２０１  ＳＭＩ発生手段
２０２  ブレード内マネージメントバス
２０３  システムバス
２０６  表示コントローラ
２０８  表示部
２０９  ＫＢ（キーボード）
２１２  ＢＩＯＳ
２１５  ＳＭＩリクエスト信号
【図１】
2005202506.tif 000003
【図２】
2005202506.tif 000004
【図３】
2005202506.tif 000005
【図４】
2005202506.tif 000006
【図５】
2005202506.tif 000007
【図６】
2005202506.tif 000008