(57)【要約】【課題】制御装置、情報処理装置及び電源制御プログラムに関し、突発的な消費電力の急増に対応した消費電力の効率化を実現可能とさせる。【解決手段】各ノードに設定された消費電力制限値と現在の消費電力値をノードごとに比較し、現在の消費電力値が消費電力制限値を超える超過ノードがある場合、超過ノードではないノードに設定された消費電力制限値から現在の消費電力値を引いた差分の電力値から配分する電力を決定し、決定された電力を超過ノードの消費電力制限値に加算する共通電力制御部４２を有する。【選択図】図４
2018194936.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードからなるノード群を備える情報処理装置の電源制御を行う制御装置であって、
各ノードに設定された消費電力制限値と現在の消費電力値をノードごとに比較し、前記現在の消費電力値が前記消費電力制限値を超える超過ノードがある場合、前記超過ノードではないノードに設定された前記消費電力制限値から現在の消費電力値を引いた差分の電力値から配分する電力を決定し、決定された前記電力を前記超過ノードの前記消費電力制限値に加算する共通電力制御部を有することを特徴とする制御装置。
【請求項２】
前記共通電力制御部は、前記情報処理装置全体における現在の消費電力に応じて電源供給装置の稼働台数を決定し、決定された前記稼働台数によって供給される最大出力電力から前記ノード群以外の前記情報処理装置に搭載される装置の最大消費電力を減算した値を前記ノード群で均等に分けて前記消費電力制限値を設定することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記共通電力制御部は、前記消費電力制限値の設定後、設定された前記消費電力制限値とノードの最大消費電力値をノードごとに比較し、前記消費電力制限値が前記最大消費電力値を超えるノードがある場合、前記超えるノードの前記消費電力制限値から前記最大消費電力値を引いた差分の電力値から、前記消費電力制限値が前記最大消費電力値を超えないノードに配分する電力を決定し、決定された前記電力を前記最大消費電力値を超えないノードの前記消費電力制限値に加算することを特徴とする請求項２に記載の制御装置。
【請求項４】
前記共通電力制御部は、前記差分の電力値を、前記最大消費電力値を超えないノードの最大消費電力値と消費電力制限値の差分の比に応じて配分することを特徴とする請求項３に記載の制御装置。
【請求項５】
前記共通電力制御部は、前記情報処理装置全体における消費電力値と、前記電源供給装置の稼働台数における電力変換効率が最も高い電力範囲を示すテーブルを用いて前記電力供給装置の稼働台数を決定することを特徴とする請求項２から４のいずれかに記載の制御装置。
【請求項６】
前記ノード群の複数のノードのうち、いずれがマスタノードとなるか又はスレーブノードとなるかは、前記ノードが接続するコネクタの配置位置に応じて決定され、前記制御装置は前記マスタノードに属する制御装置であることを特徴とする請求項１から５のいずれかに記載の制御装置。
【請求項７】
複数のノードからなるノード群を備え、電源制御を行う情報処理装置であって、
前記ノード群の複数のノードのうち、いずれかのノードに属する制御装置が、
各ノードに設定された消費電力制限値と現在の消費電力値をノードごとに比較し、前記現在の消費電力値が前記消費電力制限値を超える超過ノードがある場合、前記超過ノードではないノードに設定された前記消費電力制限値から現在の消費電力値を引いた差分の電力値から配分する電力を決定し、決定された前記電力を前記超過ノードの前記消費電力制限値に加算することを特徴とする情報処理装置。
【請求項８】
複数のノードからなるノード群を備える情報処理装置の電源制御を行う制御装置によって実行される電源制御プログラムであって、
各ノードに設定された消費電力制限値と現在の消費電力値をノードごとに比較し、前記現在の消費電力値が前記消費電力制限値を超える超過ノードがある場合、前記超過ノードではないノードに設定された前記消費電力制限値から現在の消費電力値を引いた差分の電力値から配分する電力を決定し、決定された前記電力を前記超過ノードの前記消費電力制限値に加算する、
処理を前記制御装置のコンピュータに実行させることを特徴とする電源制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
制御装置、情報処理装置及び電源制御プログラムに関する。
【背景技術】
【０００２】
近年、サーバを構成するCentral Processing Unit（ＣＰＵ）などの主要コンポーネントの低消費電力化や小型化が進み、サーバ自身の小型化や高密度化も加速している。その例として１つの筐体内に複数のサーバノードを搭載するマルチノードサーバと呼ばれる機器が開発され、更なる高密度化や省電力化を実現している。マルチノードサーバは電源供給装置（Power Supply Unit（ＰＳＵ）など）によって電源が供給される（特許文献１を参照）。複数のＰＳＵが搭載されるマルチノードサーバでは、ＰＳＵの電力変換効率を高めるために起動させるＰＳＵの数を減らす場合がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−９１６６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、ＰＳＵの数を減らすと、マルチノードサーバにおいて高負荷の処理が実行されて消費電力が急増した場合に必要な電力を供給できずにシステムダウンが発生してしまう。
【０００５】
そこで、本発明の１つの側面では、突発的な消費電力の急増に対応した消費電力の効率化を実現することを目的とする。
【課題を解決するための手段】
【０００６】
態様の一例では、複数のノードからなるノード群を備える情報処理装置の電源制御を行う制御装置であって、各ノードに設定された消費電力制限値と現在の消費電力値をノードごとに比較し、前記現在の消費電力値が前記消費電力制限値を超える超過ノードがある場合、前記超過ノードではないノードに設定された前記消費電力制限値から現在の消費電力値を引いた差分の電力値から配分する電力を決定し、決定された前記電力を前記超過ノードの前記消費電力制限値に加算する共通電力制御部を有する。
【発明の効果】
【０００７】
突発的な消費電力の急増に対応した消費電力の効率化を実現可能とさせる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態のマルチノードサーバの構成の一例を示す図である。
【図２】ＰＳＵの電力変換効率を示す図である。
【図３】ＢＭＣのハードウェア構成の一例を示す図である。
【図４】ＢＭＣの機能構成の一例を示す機能ブロック図である。
【図５】コンポーネント消費電力対応テーブルの一例を示す図である。
【図６】ＰＳＵのモデルごとの電力変換効率テーブルの一例を示す図である。
【図７】対象モデルの動作台数ごとの電力変換効率テーブルの一例を示す図である。
【図８】ＰＳＵ電力テーブルの一例を示す図である。
【図９Ａ】筐体消費電力テーブルの一例を示す図である。
【図９Ｂ】筐体消費電力テーブルの一例を示す図である。
【図９Ｃ】筐体消費電力テーブルの一例を示す図である。
【図９Ｄ】筐体消費電力テーブルの一例を示す図である。
【図９Ｅ】筐体消費電力テーブルの一例を示す図である。
【図９Ｆ】筐体消費電力テーブルの一例を示す図である。
【図９Ｇ】筐体消費電力テーブルの一例を示す図である。
【図１０Ａ】マスタノードとスレーブノードの関係を示す図である。
【図１０Ｂ】スレーブノードの異常検出により再定義されたスレーブノードの優先順位を示す図である。
【図１０Ｃ】マスタノードの異常検出によりスレーブノードのマスタノードへの昇格及び再定義されたスレーブノードの優先順位を示す図である。
【図１１】実施の形態におけるマスタ決定処理フローを示す図である。
【図１２】実施の形態におけるマスタ動作処理フローを示す図である。
【図１３】実施の形態におけるスレーブ動作処理フローを示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について図面を参照しながら説明する。
図１は実施の形態のマルチノードサーバ（情報処理装置とも言う）の構成の一例を示す。マルチノードサーバ１０に複数のＰＳＵ１１（１１ａから１１ｄ）が搭載されている場合、サーバノード１２（１２ａから１２ｈ）の負荷の合計はＰＳＵ１１ａから１１ｄに均等に割り当てられる。このため、サーバノード１２ａから１２ｈが低負荷であってマルチノードサーバ１０全体としての消費電力が低い状態では、ＰＳＵ１１ａから１１ｄの負荷率も均等に低くなる。
【００１０】
ＰＳＵ１１の電力変換効率は負荷に応じて変動し、低負荷時には電力変換効率が低くなり、負荷率５０％付近で電力変換効率が最も高くなる。このため、マルチノードサーバ１０全体としての消費電力が低い状態ではＰＳＵ１１ａから１１ｄは電力変換効率の低い負荷率で動作し、サーバノード１２ａから１２ｈで使用されずに無駄に失われる電力の割合が大きくなる。電力変換効率とは、入出力される電力が変換される効率を値で示したものであり、出力電力を入力電力で除したものである。
【００１１】
例えば、図２に示す電力変換効率を持つＰＳＵ１１において、マルチノードサーバ１０全体の消費電力が６００Ｗの場合、ＰＳＵ１１が１台起動している時の電力変換効率は９４％である（実線の矢印を参照）。一方、ＰＳＵ１１が３台起動している時、すなわち１台あたり２００Ｗ（６００Ｗ／３台）の場合、電力変換効率は８８％である（破線の矢印を参照）。なお、消費電力に対する電力変換効率は、図２に示すように極大値（最大値）が１つの曲線となる。また、図２に示す電力変換効率は、消費電力の目盛りが０から１２００Ｗであるため、ＰＳＵの最大出力電力が１２００Ｗのモデルに関するものである。
【００１２】
このように、マルチノードサーバ１０全体の消費電力が６００Ｗの場合、ＰＳＵ１１を１台起動させた方が３台起動させた場合よりも電力変換効率がよいことがわかる。これにより、ＰＳＵ１１の台数を１台にしてしまうと、突発的な消費電力の急増が生じた場合には対応ができなくなる。以下では突発的な消費電力の急増に対応した消費電力の効率化が実現可能な制御装置について説明する。
【００１３】
実施の形態のマルチノードサーバ１０は、複数のＰＳＵ１１（１１ａから１１ｄ）、複数のサーバノード１２（１２ａから１２ｈ）、冷却ファン１３、Mid-plane（ミッドプレーン）１４から構成されている。サーバノード１２や冷却ファン１３は、複数のＰＳＵ１１から構成される電力供給部からミッドプレーン１４経由で電力供給バス１５（実線）を通じて電力を受けて動作する。また、ＰＳＵ１１、サーバノード１２、冷却ファン１３はミッドプレーン１４経由でマネージメントバス１６（破線）を通じて相互に接続され、各種情報の受け渡しを行っている。
【００１４】
ＰＳＵ１１（１１ａから１１ｄ）は、サーバノード１２（１２ａから１２ｈ）や冷却ファン１３によって共有されるものであり、電力供給バス１５を通じてサーバノード１２や冷却ファン１３に電力を供給している。この例では４台のＰＳＵ１１がマルチノードサーバ１０に搭載されているが、４台に限定されるものではない。また、ＰＳＵ１１はマネージメントバス１６を通じてＰＳＵ１１に関する情報（例えば、ＰＳＵのモデル情報など）をサーバノード１２へ送信したり、起動及び停止の信号をサーバノード１２から受信したりする。
【００１５】
冷却ファン１３は、マルチノードサーバ１０に搭載される装置であって、ＰＳＵ１１から供給される電力を用いてマルチノードサーバ１０内の発熱部品を冷却するものである。例えば、冷却ファン１３は、マネージメントバス１６を介してサーバノード１２から受信した信号に基づいて該当する発熱部品を冷却する。この例では４台の冷却ファンがマルチノードサーバ１０に搭載されているが、４台に限定されるものではない。
【００１６】
ミッドプレーン１４は、配線を集約した基板であってバスを形成し、さらに不図示の複数のコネクタを備え、コネクタにはサーバノード１２が接続される。各コネクタには配置位置に応じた順位があらかじめ決められている。これにより、サーバノード１２がコネクタに接続されると、コネクタの順位に応じてマスタノード及びスレーブノードが決定され、さらにスレーブノードにおいては優先順位が決定される。決定方法の一例については後述する。
【００１７】
サーバノード１２ａは、ＣＰＵ１７、チップセット１８、消費電力センサ１９、Baseboard Management Controller（ＢＭＣ）２０を備え、これらの構成要素は相互にバス２１によってつながっている。ＢＭＣ２０を制御装置とも言う。この構成はサーバノード１２ｂから１２ｈについても同様であるため、以下ではサーバノード１２ａを例にとって各構成要素について説明し、サーバノード１２ｂから１２ｈの構成についての説明は省略する。
【００１８】
なお、サーバノード間では後述する筐体消費電力テーブルを作成するマスタノードとスレーブノードが決定され、さらにスレーブノード間ではマスタノードへの昇格の優先順位も決定される。具体的には、ＢＭＣファームウェアの初期化段階（ＢＭＣ２０は常駐電源動作のためＡＣ投入時）においてマスタノード及びスレーブノードの優先順位が決定される。
【００１９】
例えば、上述したように、コネクタの配置位置に応じてあらかじめ決められた順位に基づいてマスタノード及びスレーブノードの優先順位が決定される。例えば、各サーバノード１２はコネクタに接続されると、接続されたコネクタに割り振られた順位をコネクタから受けて、マスタノードであるか、優先順位が何位のスレーブノードであるかを判断する。
【００２０】
図１０Ａに示す例では、最も順位の高いコネクタに接続されたサーバノード１２ａがマスタノードとなっている。その次に順位の高いコネクタに接続されたサーバノード１２ｂが優先順位１位のサーバノード（スレーブノード）となり、最も順位の低いコネクタに接続されたサーバノード１２ｈが優先順位７位のサーバノード（スレーブノード）となっている。他のサーバノードにおいても優先順位がそれぞれ決められる。
【００２１】
なお、障害など何らかの問題が生じ、マスタノードが機能しない場合には、スレーブノードのうち最も優先順位の高いスレーブノードがマスタノードに昇格し、昇格したスレーブノード以降のスレーブノードの優先順位はそれぞれ昇格する（図１０Ｃを参照）。
【００２２】
具体的には、スレーブノードの中で最も優先順位の高いスレーブノード（この例ではサーバノード１２ｂ）が定期的に又は不定期的にマスタノード（この例ではサーバノード１２ａ）に対して機能しているか否かの信号を送信する。この信号に対する応答を受信しない場合、異常検出したとして最も優先順位の高いスレーブノードはマスタノードに昇格することを決定し、他のスレーブノードに優先順位を１つ昇格するように指示（優先順位再定義の指示）をする。その後、マスタノード（この例ではサーバノード１２ｂ）は各スレーブノード（この例ではサーバノード１２ｃから１２ｈ）の状態監視を行い、優先順位が最も高いスレーブノード（この例ではサーバノード１２ｃ）はマスタノードの状態監視を行う。
【００２３】
また、あるスレーブノードが機能しない場合にはそのスレーブノード以降の優先順位がそれぞれ昇格する（図１０Ｂを参照）。具体的には、マスタノード（この例ではサーバノード１２ａ）は定期的に又は不定期的に各スレーブノード（この例ではサーバノード１２ｂから１２ｈ）に対して機能しているか否かの信号を送信する。図１０Ｂの例では、信号に対する応答がサーバノード１２ｂからなくサーバノード１２ｂの異常が検出された。この場合、マスタノードは機能していないスレーブノード（この例ではサーバノード１２ｂ）以降の優先順位の低いスレーブノードに対して、優先順位を１つ昇格するように指示（優先順位再定義の指示）をする。
【００２４】
その後、マスタノード（この例ではサーバノード１２ａ）は各スレーブノード（この例ではサーバノード１２ｃから１２ｈ）の状態監視を行い、優先順位が最も高いスレーブノード（この例ではサーバノード１２ｃ）はマスタノードの状態監視を行う。
【００２５】
サーバノード１２ａの構成の説明に戻り、サーバノード１２ａがマスタノードであるとして説明する。
【００２６】
ＣＰＵ１７は、各種処理（例えば、マスタノード及びスレーブノードの優先順位の決定処理）を行うためのプログラムを不図示のメモリ（ＲＯＭ）から読み込み、読み込んだプログラムを不図示のメモリ（ＲＡＭ）に一時的に格納し、プログラムにしたがって各種処理を行う。
【００２７】
チップセット１８は、インタフェース機能を有し、ＣＰＵ１７とＢＭＣ２０の間でやりとりされるデータの制御を行う。
【００２８】
消費電力センサ１９は、サーバノード１２ａで消費されている電力を検出する。
ＢＭＣ２０は、図３に示すように、さらにＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３から構成され、ＣＰＵ３１はバス３４によってＲＯＭ３２、ＲＡＭ３３とつながっている。ＢＭＣ２０の構成はこれに限定されるものではなく、他の構成を含むものであってもよい。
【００２９】
ＣＰＵ３１は、ＲＯＭ３２内に格納される各ファームウェア（例えば、共通電力制御を行うプログラムなど）を読み込み、読み込んだプログラムをＲＡＭ３３に一時的に格納し、そのプログラムにしたがって処理を行う。ＣＰＵ３１は、主として後述するサーバ状態監視部４０、個別電力制御部４１（ノード最大消費電力算出部４１ａ、ノード現在消費電力検出部４１ｂ、ＣＰＵ動作制御部４１ｃ、ＰＳＵ起動／停止制御部４１ｄ）、共通電力制御部４２（筐体消費電力テーブル算出部４２ａ、マスタ／スレーブ管理部４２ｂ）として機能する。
【００３０】
ＣＰＵ３１によって実行される処理としては、例えばセンサ（温度／電圧／電力）の監視、イベントログの記録、構成情報の取得、電源制御（ＤＣのオン／オフ、ＰＳＵのオン／オフ）などを行うサーバ状態監視がある。その他にサーバノード１２ａの現在の消費電力値などを検出する個別電力制御や、消費電力制限値の分配などを行う共通電力制御も行われる。
【００３１】
ＲＯＭ３２は、上述したファームウェア、ブートプログラム、ＢＩＯＳ（ＢａｓｉｃＩｎｐｕｔ／Ｏｕｔｐｕｔ Ｓｙｓｔｅｍ）などのプログラムを記憶する。ＲＯＭ３２は、主として後述するコンポーネント電力情報格納部４１ｅ、ＰＳＵ電力量格納部４２ｃ、ＰＳＵ電力効率格納部４２ｄ、筐体消費電力格納部４２ｅ、記憶部４３として機能する。
【００３２】
ＲＡＭ３３は、ＣＰＵ３１に実行させるためのＯＳ（Ｏｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ）プログラムやアプリケーションプログラムの一部が一時的に格納される。また、ＲＡＭ３３にはＣＰＵ３１による処理に必要な各種データが格納される。
【００３３】
ここで、ＢＭＣ２０の機能について図４に示す機能ブロック図を用いて説明する。以下ではマスタノードになった場合のＢＭＣについて説明する。
【００３４】
ＢＭＣ２０は、サーバ状態監視部４０、個別電力制御部４１、共通電力制御部４２、記憶部４３から構成されている。記憶部４３には上述したファームウェアなどのプログラムが格納されている。
【００３５】
サーバ状態監視部４０は、上述したように、例えばセンサ（温度／電圧／電力）の監視、イベントログの記録、構成情報の取得、電源制御（ＤＣのオン／オフ、ＰＳＵのオン／オフ）などを行う。
【００３６】
個別電力制御部４１は、主として自ノードの電力に関する情報を管理し、ノード最大消費電力算出部４１ａ、ノード現在消費電力検出部４１ｂ、ＣＰＵ動作制御部４１ｃ、ＰＳＵ起動／停止制御部４１ｄ、コンポーネント電力情報格納部４１ｅから構成されている。
【００３７】
ノード最大消費電力算出部４１ａは、サーバノード１２ａに搭載されているコンポーネント（例えば、ＣＰＵ、Dual Inline Memory Module（ＤＩＭＭ）など）の存在を認識する。ノード最大消費電力算出部４１ａは、コンポーネント電力情報格納部４１ｅに格納されたコンポーネント消費電力対応テーブル（図５を参照）に基づいて、存在が認識されたコンポーネント全ての最大消費電力を加算しサーバノード１２ａの最大消費電力を算出する。
【００３８】
コンポーネント消費電力対応テーブルでは、図５に示すように、サーバノード１２ａに搭載されるコンポーネントごとの最大消費電力が関連付けられている。例えばコンポーネントの１つであるＣＰＵ Ａの最大消費電力は１００Ｗであることがわかる。例えば、存在が確認されたコンポーネントがＣＰＵ Ａが１台、メモリ Ａ ８ＧＢが３台、ＨＤＤ Ａ １ＴＢ ＳＡＴＡが１台、Ｃａｒｄ Ａ ＬＡＮが１台、ＦＡＮ Ａが２台とする。この場合、サーバノード１２ａの最大消費電力は１００Ｗ×１台＋５Ｗ×３台＋５Ｗ×１台＋５Ｗ×１台＋２０Ｗ×２台＝１６５Ｗとなる。
【００３９】
ノード現在消費電力検出部４１ｂは、サーバノード１２ａの現在の消費電力値を消費電力センサ１９から取得する。なお、一定時間の間に取得された消費電力値の平均値を現在の消費電力値としてもよい。
【００４０】
ＣＰＵ動作制御部４１ｃは、後述する筐体消費電力テーブル算出部４２ａによって設定された各サーバノードの消費電力制限値に基づいて、ＣＰＵ動作クロック削減を行うことをＣＰＵ１７に指示する。ＣＰＵ動作クロック削減とは、消費電力を抑えるための処理であって、例えばスロットリングやＰステート制御などである。
【００４１】
ＰＳＵ起動／停止制御部４１ｄは、筐体消費電力テーブル算出部４２ａの指示に基づいてＰＳＵ１１の起動台数や停止台数をＰＳＵ１１に対して指示する。具体的には、ＰＳＵ起動／停止制御部４１ｄは、ＣＰＵ１７に対して起動又は停止するＰＳＵを指示し、ＰＳＵを起動又は停止させる。なお、ＰＳＵ起動／停止制御部４１ｄは、マスタノードとなった場合に機能するものであり、スレーブノードとなった場合には機能しない。
【００４２】
コンポーネント電力情報格納部４１ｅは、上述したコンポーネント消費電力対応テーブルなどを格納する。
【００４３】
共通電力制御部４２は、主として他のサーバノードの電力に関する情報を管理し、筐体消費電力テーブル算出部４２ａ、マスタ／スレーブ管理部４２ｂ、ＰＳＵ電力量格納部４２ｃ、ＰＳＵ電力効率格納部４２ｄ、筐体消費電力格納部４２ｅから構成されている。なお、筐体消費電力テーブル算出部４２ａは、マスタノードとなった場合に機能するものであり、スレーブノードとなった場合には機能しない。また、マスタ／スレーブ管理部４２ｂは、マスタノードとなった場合でもスレーブノードとなった場合でも機能するが、後述するように監視対象が異なる。詳細については後述する。
【００４４】
筐体消費電力テーブル算出部４２ａは、マルチノードサーバ１０に搭載されるＰＳＵのモデル情報及び台数の情報を各ＰＳＵから取得し、ＰＳＵのモデルごとの電力変換効率テーブル（図６を参照）に基づいて対象モデルの動作台数ごとの電力変換効率テーブル（図７を参照）を作成する。
【００４５】
ＰＳＵのモデルごとの電力変換効率テーブルはＰＳＵ電力効率格納部４２ｄに格納されている。図６に示すように、電力変換効率テーブルは消費電力ごとに電力変換効率が関連付けられており、各モデル（１２００Ｗモデルや１０００Ｗモデルなど）の電力変換テーブルがＰＳＵ電力効率格納部４２ｄに格納されている。
【００４６】
例えば、ＰＳＵ１２００Ｗモデルの場合、消費電力０から１２００Ｗにおける電力変換効率が示されており、最大出力電力（１２００Ｗ）の５０％である消費電力（６００Ｗ）で電力変換効率（９４．００％）が最も高くなっている。ＰＳＵ１０００Ｗモデルの場合も同様に、最大出力電力（１０００Ｗ）の５０％である消費電力（５００Ｗ）で電力変換効率（９４．００％）が最も高くなっている。
【００４７】
ここで、図７に示す対象モデルの動作台数ごとの電力変換効率テーブルの作成方法について説明する。ここではＰＳＵ１２００Ｗモデルが４台搭載された場合を例にとって説明する。ＰＳＵ１２００Ｗモデルの動作台数ごとの電力変換効率テーブルを作成するため、電力変換効率テーブルはＰＳＵ１２００Ｗモデルのテーブルを利用する。また、搭載台数が４台であるため、最大出力電力は１２００Ｗ（１台分）×４（台）の４８００Ｗである。なお、台数１台の場合には図６に示す電力変換効率テーブル（ＰＳＵ１２００Ｗモデル）の電力変換効率が図７の１台の欄へそのまま挿入される。このとき、消費電力が１２０１Ｗ以降の欄については値が存在しないため空欄となる。
【００４８】
台数が１台以外の場合の電力変換効率の値の求め方を説明する。例えば、マルチノードサーバ１０全体の消費電力が２Ｗの場合を考える。ＰＳＵが２台の場合、２Ｗを均等に２台に振り分けるため、１台あたりの消費電力は１Ｗとなる。これにより、図６に示す電力変換効率テーブル（ＰＳＵ１２００Ｗモデル）の消費電力が１Ｗの場合の電力変換効率の値（８１．０２）を抽出し、抽出された値を図７に示す電力変換効率テーブルの消費電力２ＷのＰＳＵ２台の欄に挿入する。
【００４９】
他の例として、例えばマルチノードサーバ１０全体の消費電力が６００Ｗの場合を考える。ＰＳＵが３台の場合、６００Ｗを均等に３台に振り分けるため、１台あたりの消費電力は２００Ｗとなる。これにより、図６に示す電力変換効率テーブル（ＰＳＵ１２００Ｗモデル）の消費電力が２００Ｗの場合の電力変換効率の値（８９．５５）を抽出し、抽出された値を図７に示す電力変換効率テーブルの消費電力６００ＷのＰＳＵ３台の欄に挿入する。
【００５０】
このようにして、０から４８００Ｗまでの消費電力における各台数の電力変換効率を算出して図７に示す動作台数ごとの電力変換効率テーブルを作成する。
【００５１】
また、筐体消費電力テーブル算出部４２ａは、作成した動作台数ごとの電力変換効率テーブルに基づいてＰＳＵ電力テーブル（図８を参照）を作成する。作成されたＰＳＵ電力テーブルはＰＳＵ電力量格納部４２ｃに格納される。ＰＳＵ電力テーブルはＰＳＵ動作台数に対する電力下限値及び電力上限値を示し、さらにその際の最大出力電力を示している。電力下限値から電力上限値に記載の範囲は対応するＰＳＵ動作台数において最も電力変換効率が高いことを意味している。例えば、消費電力が０から８６４Ｗの間ではＰＳＵ動作台数が１台のときが最も電力変換効率が高いことを意味している。また、消費電力が８６５から１５７５Ｗの間ではＰＳＵ動作台数が２台のときが最も電力変換効率が高いことを意味している。
【００５２】
ここで、図８に示すＰＳＵ電力テーブルの作成方法について説明する。ＰＳＵ電力テーブルは図７に示す動作台数ごとの電力変換効率テーブルに基づいて作成される。具体的には、消費電力０Ｗから順に台数ごとの電力変換効率をチェックする。図７の場合、消費電力が０から８６４ＷまではＰＳＵが１台のときが他の台数と比べて最も電力変換効率が高い。また、消費電力が８６５から１５７５ＷまではＰＳＵが２台のときが他の台数と比べて最も電力変換効率が高い。消費電力が１５７６から２１２０ＷまではＰＳＵが３台のときが他の台数と比べて最も電力変換効率が高い。消費電力が２１２１から４８００ＷまではＰＳＵが４台のときが他の台数と比べて最も電力変換効率が高い。このようにチェックすることによって図８に示すＰＳＵ電力テーブルが作成される。
【００５３】
また、筐体消費電力テーブル算出部４２ａは、マルチノードサーバ１０の筐体内で使用される電力を示す筐体消費電力テーブル（図９Ａから図９Ｇを参照）を作成する。作成された筐体消費電力テーブルは筐体消費電力格納部４２ｅに格納される。
【００５４】
具体的には、筐体消費電力テーブル算出部４２ａは、自ノード及びスレーブノード（サーバノード１２ｂから１２ｈ）から送信されるスレーブノードの最大消費電力及び現在の消費電力に基づいて筐体消費電力テーブル（図９Ａ、図９Ｂを参照）を作成する。なお、自ノード（サーバノード１２ａ）の最大消費電力はノード最大消費電力算出部４１ａから取得し、自ノードの現在の消費電力はノード現在消費電力検出部４１ｂから取得する。
【００５５】
以下では２つのケースの筐体消費電力テーブルについて説明する。１つ目のケースはマルチノードサーバ１０の筐体全体の最大消費電力が最大出力電力（ＰＳＵ動作数に応じて決まる最大出力電力）以下の場合であり、２つ目のケースはマルチノードサーバ１０の筐体全体の最大消費電力が最大出力電力より大きい場合である。
【００５６】
まず、図９Ａに示す１つ目のケースの筐体消費電力テーブルは、ＰＳＵ動作数が２台、最大出力電力の合計が２４００Ｗ（１２００Ｗ×２台）、最大消費電力の合計が２４００Ｗ、現在の消費電力の合計が１４００Ｗの場合を示している。最大消費電力の合計２４００Ｗの内訳は、マスタノード（サーバノード）１２ａ及びスレーブノード（サーバノード）１２ｂから１２ｈの最大消費電力がそれぞれ２５０Ｗ、冷却ファン１３の最大消費電力が４００Ｗである。また、現在の消費電力の合計１４００Ｗの内訳は、マスタノード１２ａ及びスレーブノード１２ｂから１２ｈの現在の消費電力がそれぞれ１５０Ｗ、冷却ファン１３の現在の消費電力が２００Ｗである。
【００５７】
ＰＳＵ動作数には、マルチノードサーバ１０の筐体全体の現在の消費電力１４００Ｗが図８に示すＰＳＵ電力テーブルの電力下限から電力上限の間に当てはまる台数が選択される。図９Ａ及び図９Ｂに示す例では、筐体消費電力テーブル算出部４２ａは現在の消費電力１４００Ｗが当てはまる範囲に該当する台数の２台を選択する。なお、この時点では消費電力制限値の欄は空欄であり、２つ目のケースの場合も同様である。
【００５８】
一方、図９Ｂに示す２つ目のケースの筐体消費電力テーブルは、ＰＳＵ動作数が２台、最大出力電力の合計が２４００Ｗ（１２００Ｗ×２台）、最大消費電力の合計が２９００Ｗ、現在の消費電力の合計が１４００Ｗの場合を示している。最大消費電力の内訳は以下のとおりである。マスタノード１２ａ及びスレーブノード１２ｂ、１２ｃがそれぞれ４００Ｗ、スレーブノード１２ｄが３５０Ｗ、スレーブノード１２ｅが３００Ｗ、スレーブノード１２ｆが２５０Ｗ、スレーブノード１２ｇ、１２ｈが２００Ｗ、冷却ファン１３が４００Ｗである。現在の消費電力の合計１４００Ｗの内訳は図９Ａと同様である。
【００５９】
図９Ｂに示す筐体消費電力テーブルの場合、マルチノードサーバ１０の筐体全体の最大消費電力２９００Ｗが最大出力電力２４００Ｗを上回っている。この場合、マルチノードサーバ１０において突発的に負荷が高くなり、出力電力が足りずにシステムダウンが生じる可能性がある。これを防ぐために、筐体全体の最大消費電力が最大出力電力を上回らないようにサーバノード１２の最大消費電力に制限をかける。すなわち、図９Ｃに示すように消費電力制限値を各サーバノード１２に設定する。なお、最大消費電力が最大出力電力を上回らないように、上述したスロットリングやＰステート制御などが行われる。
【００６０】
各サーバノード１２の消費電力制限値は、筐体消費電力テーブル算出部４２ａによって以下の手順で決定される。
【００６１】
まず、ＰＳＵ動作数２台における最大出力電力２４００Ｗを筐体消費電力テーブルの筐体全体の消費電力制限値として設定する（図９Ｃを参照）。次に、筐体全体の最大出力電力２４００Ｗから冷却ファン１３の最大消費電力４００Ｗを減算し、減算後の値２０００Ｗをサーバノード１２の数（１２ａから１２ｈの８台）で割る。割って得られた値２５０Ｗをサーバノード１２の消費電力制限値にそれぞれ設定する。なお、サーバノード１２に均等に割り振って消費電力制限値を設定しているが、これに限定されるものではなく、例えばマスタノードの消費電力制限値をスレーブノードの消費電力制限値よりも多くするよう設定してもよい。
【００６２】
設定された消費電力制限値が最大消費電力よりも大きいサーバノード１２や冷却ファン１３があるか否かを判断する。図９Ｃに示す例ではサーバノード１２ｇ、１２ｈの消費電力制限値が最大消費電力よりも５０Ｗ大きい。この５０Ｗは消費電力制限値から最大消費電力値を引いた差分である。サーバノード１２ｇ、１２ｈの最大消費電力２００Ｗと同じ値に消費電力制限値を設定した後の余剰分（差分）５０Ｗ＋５０Ｗ＝１００Ｗについては、消費電力制限値が最大消費電力より小さい他のサーバノード１２に割り振る（加算する）。この例ではマスタノード１２ａ及びサーバノード１２ｂから１２ｅに割り振る。
【００６３】
例えば、余剰分１００Ｗの割り振りはサーバノード１２の最大消費電力と消費電力制限値の差分の比に応じて行う。マスタノード１２ａ及びサーバノード１２ｂ、１２ｃでは差分は１５０Ｗ（最大消費電力４００Ｗ−消費電力制限値２５０Ｗ）、サーバノード１２ｄでは差分は１００Ｗ（３５０Ｗ−２５０Ｗ）、サーバノードｅでは差分は５０Ｗ（３００Ｗ−２５０Ｗ）である。これにより、比は１５０：１５０：１５０：１００：５０となるため、マスタノード１２ａ及びサーバノード１２ｂ、１２ｃには２５Ｗ（（１５０Ｗ／６００Ｗ）×１００Ｗ）、サーバノード１２ｄには１６Ｗ、サーバノードｅには８Ｗが配分される。
【００６４】
これにより、マスタノード１２ａ及びサーバノード１２ｂから１２ｅでは消費電力制限値が加算され、サーバノード１２ｇ、１２ｈでは消費電力制限値が減算される（図９Ｄを参照）。
【００６５】
このようにして、筐体全体の消費電力制限値２３９９Ｗが最大出力電力２４００Ｗを上回らないことを保証した上でＰＳＵ動作数２台を確定して起動させるＰＳＵと停止させるＰＳＵを決定する。
【００６６】
その後、システム稼働中にサーバノード（この例ではサーバノード１２ｃ）の現在の消費電力が増加（例えば、３１０Ｗに増加）し、消費電力制限値（例えば、２７５Ｗ）を超えた場合を考える。
【００６７】
この場合、現在の消費電力が消費電力制限値に比べて低いサーバノード（この例ではサーバノード１２ｃ以外のサーバノードであって、超過ノードではないノード）の消費電力制限値を引き下げ、引き下げた分の消費電力制限値は消費電力制限値を超えたサーバノード（超過ノード）に加算される（性能低下の回避）。
【００６８】
図９Ｅに示す例では、現在の消費電力が消費電力制限値に対して余裕のあるサーバノード（サーバノード１２ｃ以外のサーバノードで、超過ノードではないノード）からサーバノード１２ｃ（超過ノード）へ５Ｗの消費電力制限値が均等に与えられる（融通される）。具体的には、超過ノードではないノードに設定された消費電力制限値から現在の消費電力値を引いた差分の電力値から配分する電力を決定し、決定された電力を超過ノードの消費電力制限値に加算する。
【００６９】
これにより、５Ｗ×７台＝３５Ｗの消費電力制限値がサーバノード１２ｃの消費電力制限値に加算されて３１０Ｗとなり、現在の消費電力３１０Ｗを超えずにシステムダウンを回避することが可能となる。なお、図９Ｅに示すように、消費電力制限値を与えたサーバノード（サーバノード１２ｃ以外のサーバノード）の消費電力制限値は５Ｗ分だけ差し引かれる。
【００７０】
ここでは、現在の消費電力が消費電力制限値を超えたサーバノードに対して、現在の消費電力が消費電力制限値と同じになるように消費電力制限値を融通しているが、消費電力制限値が現在の消費電力を上回るように融通してもよい。
【００７１】
また、筐体消費電力テーブル算出部４２ａは、定期的にマルチノードサーバ１０の筐体全体の消費電力を取得し、ＰＳＵ動作数の変更や筐体消費電力テーブルの再設定を継続的に行う。すなわち、筐体消費電力テーブル算出部４２ａは、マルチノードサーバ１０全体における消費電力値と、ＰＳＵの稼働台数における電力変換効率が最も高い電力範囲を示すテーブル（ＰＳＵ電力テーブル）を用いてＰＳＵの稼働台数を決定し、更新する。
【００７２】
例えば、筐体全体の消費電力が上昇して現在の消費電力が１６１０Ｗになった場合を考える（図９Ｆを参照）。１６１０Ｗとなると、図８に示すＰＳＵ電力テーブルのＰＳＵ２台の場合の電力上限１５７５Ｗを超えてしまう。そのため、筐体消費電力テーブル算出部４２ａは、１６１０Ｗが電力下限から電力上限の間に含まれるようにＰＳＵの動作数を変更する。この場合のＰＳＵ動作数は３台となり、図９Ｆに示すようにＰＳＵ動作数を２台から３台に変更する。
【００７３】
一方、例えば、筐体全体の消費電力が減少して現在の消費電力が８３０Ｗになった場合を考える（図９Ｇを参照）。８３０Ｗとなると、図８に示すＰＳＵ電力テーブルのＰＳＵ２台の場合の電力下限８６５Ｗを下回る。そのため、筐体消費電力テーブル算出部４２ａは、８３０Ｗが電力下限から電力上限の間に含まれるようにＰＳＵの動作数を変更する。この場合のＰＳＵ動作数は１台となり、図９Ｇに示すようにＰＳＵ動作数を２台から１台に変更する。
【００７４】
マスタ／スレーブ管理部４２ｂは、全てのスレーブノードの状態監視（例えば、異常が発生しているか否かなど）を行う（図１０Ａを参照）。なお、スレーブノードのうち最も優先順位の高いスレーブノード（サーバノード１２ｂ）はマスタノード（サーバノード１２ａ）の状態監視を行う。
【００７５】
マスタ／スレーブ管理部４２ｂは、生成されたＰＳＵ電力テーブル（図８を参照）と筐体消費電力テーブル（図９Ａから図９Ｇを参照）を優先順位の最も高いスレーブノード１２ｂにコピーする。これにより、マスタノードに問題が発生した場合でも、コピーしたスレーブノードをマスタノードに容易に昇格させることが可能となる。筐体消費電力テーブルとＰＳＵ電力量テーブルに更新があった場合には、スレーブノードのコピーされた各テーブルも更新される。
【００７６】
また、マスタ／スレーブ管理部４２ｂは、スレーブノードの状態監視を行い、スレーブノードの異常（停止）が検出された場合、スレーブノードの優先順位を振り直し、筐体消費電力テーブルを更新（再定義）する。例えば、図１０Ｂに示すように、異常が検出されたスレーブノードが最も優先順位が高いスレーブノード（サーバノード１２ｂ）である場合、それ以降のスレーブノード（サーバノード１２ｃから１２ｈ）の優先順位を振り直し、筐体消費電力テーブルを更新する。このとき、マスタ／スレーブ管理部４２ｂは、異常が検出されたスレーブノード以降のスレーブノードに対して優先順位を１つ昇格するように指示（優先順位再定義の指示）をする。図１０Ｂの例では、振り直された優先順位の最も高いサーバノード（サーバノード１２ｃ）がマスタノードの状態監視を引き継ぐ。
【００７７】
なお、スレーブノードのうち最も優先順位が高いスレーブノードのマスタ／スレーブ管理部４２ｂは以下のような処理を行う。
【００７８】
マスタ／スレーブ管理部４２ｂは、マスタノード（サーバノード１２ａ）の状態監視を行い、マスタノードの異常を検出した場合、自ノード（サーバノード１２ｂ）をマスタノードに昇格させることを決定し、他のスレーブノードの優先順位を再定義する（図１０Ｃを参照）。マスタノードに昇格したサーバノード１２ｂのマスタ／スレーブ管理部４２ｂは全てのスレーブノードの状態監視を行い、優先順位が再定義されて最も優先順位が高くなったスレーブノード（サーバノード１２ｃ）はマスタノード（サーバノード１２ｂ）の状態監視を行う。
【００７９】
ＰＳＵ電力量格納部４２ｃは上述したＰＳＵ電力量テーブル（図８）を格納する。
ＰＳＵ電力効率格納部４２ｄは上述したＰＳＵのモデルごとの電力変換効率テーブル（図６）を格納する。
【００８０】
筐体消費電力格納部４２ｅは上述した筐体消費電力テーブル（図９Ａから図９Ｇ）を格納する。
【００８１】
次に、マスタノード及びスレーブノードが決定されるマスタ決定処理のフロー、決定後のマスタノードとしてのマスタ動作処理フロー（筐体消費電力テーブルの作成処理のフロー）、決定後のスレーブノードとしてのスレーブ動作処理フローについて説明する。ここでは、図１に示すようにサーバノード８台、ＰＳＵ４台で構成されたマルチノードサーバを例にして説明する。
【００８２】
まず、マスタ決定処理のフローについて図１１を用いて説明する。マルチノードサーバ１０へＡＣ電源が投入されると、サーバノード１２（１２ａから１２ｈ）へ電源が供給され、サーバノード１２はＢＭＣのファームウェアの初期化段階においてマスタノード及びスレーブノードを決定する（ステップＳ１１０１）。このとき、サーバノード１２ａがマスタノード、それ以外のサーバノード１２ｂから１２ｈがスレーブノードとなり、スレーブノードの優先順位が図１０Ａに示すように決定されたとする。
【００８３】
サーバノード１２は自身がマスタノードであるか否かを判断する（ステップＳ１１０２）。自身がマスタノードであると判断した場合（ステップＳ１１０２でＹｅｓ）、マスタノードとしての動作処理を実行する（ステップＳ１１０３）。一方、自身がマスタノードではないと判断した場合（ステップＳ１１０２でＮｏ）、すなわちスレーブノードであると判断した場合にはスレーブノードしての動作処理を実行する（ステップＳ１１０４）。
【００８４】
以下では、マスタノードとしてのマスタ動作処理フロー及びスレーブノードとしてのスレーブ動作処理フローをそれぞれ説明する。
【００８５】
まず、マスタ動作処理フローについて図１２を用いて説明する。サーバノード１２の電源（ＤＣ電源）が投入されると、搭載された４台全てのＰＳＵ１１（１１ａから１１ｄ）が起動する。
【００８６】
マスタノードの筐体消費電力テーブル算出部４２ａ（以下、単に筐体消費電力テーブル算出部４２ａと言う）は、マルチノードサーバ１０に搭載されるＰＳＵのモデル情報及び台数の情報を取得する（ステップＳ１２０１）。筐体消費電力テーブル算出部４２ａは、ＰＳＵのモデルごとの電力変換効率テーブル（図６を参照）に基づいて対象モデルの動作台数ごとの電力変換効率テーブル（図７を参照）を作成する（ステップＳ１２０２）。
【００８７】
筐体消費電力テーブル算出部４２ａは、作成した動作台数ごとの電力変換効率テーブルに基づいて、ＰＳＵ電力量テーブル（図８を参照）を作成する（ステップＳ１２０３）。この例では、ＰＳＵ１台では０Ｗから８６４Ｗ、２台では８６５Ｗから１５７５Ｗ、３台では１５７６Ｗから２１２０Ｗ、４台では２１２１Ｗから４８００Ｗが最も電力変換効率がよい。
【００８８】
また、ノード最大消費電力算出部４１ａは、自ノード（サーバノード１２ａ）に搭載されたコンポーネントの存在を認識し（ステップＳ１２０４）、コンポーネント消費電力対応テーブル（図５を参照）に基づいて最大消費電力を算出する（ステップＳ１２０５）。このとき、マスタノードであるサーバノード１２ａのノード最大消費電力算出部４１ａは、認識するコンポーネントに冷却ファン１３も含める。例えば、コンポーネントとして、ＣＰＵ Ｃが２台、メモリ Ａ ８ＧＢが１４台、ＨＤＤ Ｂ ２ＴＢ ＳＡＴＡが２台、Ｃａｒｄ Ａ ＬＡＮが２台認識されたとする。この場合、最大消費電力は４００Ｗ（１５０Ｗ×２台＋５Ｗ×１４台＋１０Ｗ×２台＋５Ｗ×２台）となる。
【００８９】
ノード現在消費電力検出部４１ｂは、自ノードの消費電力センサ１９から現在の消費電力の情報を取得する（ステップＳ１２０６）とともに、冷却ファン１３の現在の消費電力の情報を取得する（ステップＳ１２０７）。
【００９０】
筐体消費電力テーブル算出部４２ａは、スレーブノードの最大消費電力及び現在の消費電力の情報を各スレーブノードから取得する（ステップＳ１２０８）。筐体消費電力テーブル算出部４２ａは、算出された自ノードの最大消費電力と、取得した自ノードの現在の消費電力と、取得したスレーブノードの最大消費電力及び現在の消費電力とによって筐体消費電力テーブルを作成する（ステップＳ１２０９）。このとき、マルチノードサーバ１０の筐体全体の現在の消費電力が１４００Ｗ（各サーバノードが１５０Ｗ、冷却ファン１３が２００Ｗ、）とする。この場合、最も電力変換効率がよいのはＰＳＵ電力テーブルによりＰＳＵ数が２台（最大出力電力２４００Ｗ）であるため、ＰＳＵ動作数は２台、最大消費電力は２４００Ｗと設定される（図９Ａを参照）。
【００９１】
筐体消費電力テーブル算出部４２ａは、最大消費電力と最大出力電力を比較し、最大消費電力の方が大きいか否かを判断する（ステップＳ１２１０）。最大消費電力の方が最大出力電力よりも小さい場合（ステップＳ１２１０でＮｏ）、消費電力制限値の設定をせずに終了する。
【００９２】
一方、例えば、マルチノードサーバ１０の筐体全体の最大消費電力が２９００Ｗであった場合（図９Ｂを参照）、最大消費電力２９００Ｗの方が最大出力電力２４００Ｗよりも大きいと判断し（ステップＳ１２１０でＹｅｓ）、筐体消費電力テーブル算出部４２ａは、消費電力制限値を均等に各サーバノード１２に設定する（ステップＳ１２１１）。突発的な高負荷が発生した場合に３台目のＰＳＵの起動が間に合わずシステムが停止してしまうことを避けるためである。
【００９３】
具体的には、筐体全体の最大消費電力が２９００Ｗ、冷却ファン１３の最大消費電力４００Ｗとすると、サーバノード全体で最大消費電力が２５００Ｗとなるが、これを２０００Ｗ（ＰＳＵ２台の最大出力電力２４００Ｗ−４００Ｗ）に制限する必要がある。２０００Ｗを各サーバノード１２に均等に振り分けると各サーバノード１２の消費電力制限値は２５０Ｗになる。この２５０Ｗを消費電力制限値に設定する（図９Ｃを参照）。
【００９４】
消費電力制限値を設定後、筐体消費電力テーブル算出部４２ａは消費電力制限値と最大消費電力をサーバノード１２ごとに比較する（ステップＳ１２１２）。筐体消費電力テーブル算出部４２ａは、消費電力制限値が最大消費電力より大きい場合、消費電力制限値を最大消費電力に設定し、消費電力制限値と最大消費電力の差分を蓄積する（ステップＳ１２１３）。筐体消費電力テーブル算出部４２ａは、消費電力制限値が最大消費電力より小さいサーバノードに対して、蓄積された差分を配分する（ステップＳ１２１４）。
【００９５】
具体的には、サーバノード１２ｇ、１２ｈは最大消費電力が２００Ｗであり、消費電力制限値との差分５０Ｗが無駄となるため（図９Ｃを参照）、これらの差分を最大消費電力＞消費電力制限値のサーバノードに配分する。配分は最大消費電力と消費電力制限値の差分の比となる。このとき、最大消費電力と消費電力制限値の差分は、サーバノード１２ａから１２ｃで１５０Ｗ、サーバノード１２ｄで１００Ｗ、サーバノード１２ｅで５０Ｗであるため、比は１５０：１００：５０となり、それぞれ２５Ｗ、１６Ｗ、８Ｗとなる。こうして、筐体全体の最大消費電力が動作ＰＳＵ数２台のときの最大出力電力２４００Ｗを上回らないことを保証した上で２台のＰＳＵ１１を停止させる。
【００９６】
その後、筐体消費電力テーブル算出部４２ａは、システム稼働中に継続的に現在のスレーブノードの消費電力を取得する（ステップＳ１２１５）。このとき、マスタノードの現在の消費電力も取得する。
【００９７】
筐体消費電力テーブル算出部４２ａは、現在の消費電力が消費電力制限値に達したか否かを判断する（ステップＳ１２１６）。達しない場合（ステップＳ１２１６でＮｏ）、ステップＳ１２１８へ進む。
【００９８】
一方、達した場合（ステップＳ１２１６でＹｅｓ）、筐体消費電力テーブル算出部４２ａは、達していない他のサーバノードから達したサーバノードへ消費電力制限値を融通する（ステップＳ１２１７）。すなわち、あるサーバノードの現在の消費電力が上昇した場合、消費電力制限値を超えないように調整する。
【００９９】
具体的には、サーバノード１２ｃの現在の消費電力が１６０Ｗ（１５０Ｗから３１０Ｗ）上昇した場合、サーバノード１２ｃの消費電力制限値を３５Ｗ（２７５Ｗから３１０Ｗ）上昇させ、他のサーバノードの消費電力制限値を均等に５Ｗ減少させる（図９Ｅを参照）。
【０１００】
その後、筐体消費電力テーブル算出部４２ａは、現在の消費電力とＰＳＵ電力テーブルを比較し、現在の消費電力の値が現在のＰＳＵ動作数に応じた電力下限と電力上限（最も電力変換効率のよい範囲）の間にあるか否かを判断する（ステップＳ１２１８）。電力下限と電力上限の間にある場合（ステップＳ１２１８でＹｅｓ）、筐体消費電力テーブルの更新をせずに終了する。
【０１０１】
一方、電力下限と電力上限の間にない場合（ステップＳ１２１８でＮｏ）、筐体消費電力テーブル算出部４２ａは、電力下限と電力上限の間に現在の消費電力が含まれるＰＳＵ動作数に変更する（ステップＳ１２１９）。
【０１０２】
具体的には、筐体全体の現在の消費電力が例えば１６１０Ｗになった場合は、ＰＳＵ動作数は３であるため、ＰＳＵを１台起動して３台で稼働を行う（図９Ｆを参照）。また、筐体全体の現在の消費電力が例えば８３０Ｗになった場合は、ＰＳＵ動作数は１であるためＰＳＵを１台停止して１台で稼働を行う（図９Ｇを参照）。
【０１０３】
次に、スレーブ動作処理フローについて図１３を用いて説明する。スレーブノードであると判断すると、スレーブノードのノード最大消費電力算出部４１ａは、自ノード（例えば、サーバノード１２ｂ）に搭載されたコンポーネントの存在を認識する（ステップＳ１３０１）。ノード最大消費電力算出部４１ａは、認識したコンポーネントとコンポーネント消費電力対応テーブル（図５を参照）とに基づいて最大消費電力を算出する（ステップＳ１３０２）。
【０１０４】
スレーブノードのノード現在消費電力検出部４１ｂは、自ノードの消費電力センサ１９から現在の消費電力の情報を取得する（ステップＳ１３０３）。ノード最大消費電力算出部４１ａ及びノード現在消費電力検出部４１ｂは、算出した最大消費電力の情報と取得した現在の消費電力の情報をそれぞれマスタノードへ通知する（ステップＳ１３０４）。
【０１０５】
なお、優先順位が最も高いスレーブノードの筐体消費電力テーブル算出部４２ａは、ＰＳＵ電力量テーブル及び筐体消費電力テーブルをマスタノードから受信し、ＰＳＵ電力量格納部４２ｃ及び筐体消費電力格納部４２ｅにそれぞれ格納する。
【０１０６】
各実施の形態の制御装置の１つの側面によれば、突発的な消費電力の急増に対応した消費電力の効率化を実現可能とさせる。
【０１０７】
以上の実施の形態に関して、更に以下の付記を開示する。
（付記１）複数のノードからなるノード群を備え、電源制御を行う情報処理装置であって、
前記ノード群の複数のノードのうち、いずれかのノードに属する制御装置が、
各ノードに設定された消費電力制限値と現在の消費電力値をノードごとに比較し、前記現在の消費電力値が前記消費電力制限値を超える超過ノードがある場合、前記超過ノードではないノードに設定された前記消費電力制限値から現在の消費電力値を引いた差分の電力値から配分する電力を決定し、決定された前記電力を前記超過ノードの前記消費電力制限値に加算することを特徴とする情報処理装置。
（付記２）前記制御装置は、前記情報処理装置全体における現在の消費電力に応じて電源供給装置の稼働台数を決定し、決定された前記稼働台数によって供給される最大出力電力から前記ノード群以外の前記情報処理装置に搭載される装置の最大消費電力を減算した値を前記ノード群で均等に分けて前記消費電力制限値を設定することを特徴とする付記１に記載の情報処理装置。
（付記３）前記制御装置は、前記消費電力制限値の設定後、設定された前記消費電力制限値とノードの最大消費電力値をノードごとに比較し、前記消費電力制限値が前記最大消費電力値を超えるノードがある場合、前記超えるノードの前記消費電力制限値から前記最大消費電力値を引いた差分の電力値から、前記消費電力制限値が前記最大消費電力値を超えないノードに配分する電力を決定し、決定された前記電力を前記最大消費電力値を超えないノードの前記消費電力制限値に加算することを特徴とする付記２に記載の情報処理装置。
（付記４）前記制御装置は、前記差分の電力値を、前記最大消費電力値を超えないノードの最大消費電力値と消費電力制限値の差分の比に応じて配分することを特徴とする付記３に記載の情報処理装置。
（付記５）前記制御装置は、前記情報処理装置全体における消費電力値と、前記電源供給装置の稼働台数における電力変換効率が最も高い電力範囲を示すテーブルを用いて前記電力供給装置の稼働台数を決定することを特徴とする付記２から４のいずれかに記載の情報処理装置。
（付記６）前記ノード群の複数のノードのうち、いずれがマスタノードとなるか又はスレーブノードとなるかは、前記ノードが接続するコネクタの配置位置に応じて決定されることを特徴とする付記１から５のいずれかに記載の情報処理装置。
（付記７）複数のノードからなるノード群を備える情報処理装置の電源制御を行う制御装置によって実行される電源制御プログラムであって、
各ノードに設定された消費電力制限値と現在の消費電力値をノードごとに比較し、前記現在の消費電力値が前記消費電力制限値を超える超過ノードがある場合、前記超過ノードではないノードに設定された前記消費電力制限値から現在の消費電力値を引いた差分の電力値から配分する電力を決定し、決定された前記電力を前記超過ノードの前記消費電力制限値に加算する、
処理を前記制御装置のコンピュータに実行させることを特徴とする電源制御プログラム。
（付記８）前記情報処理装置全体における現在の消費電力に応じて電源供給装置の稼働台数を決定し、決定された前記稼働台数によって供給される最大出力電力から前記ノード群以外の前記情報処理装置に搭載される装置の最大消費電力を減算した値を前記ノード群で均等に分けて前記消費電力制限値を設定することを特徴とする付記７に記載の電源制御プログラム。
（付記９）前記消費電力制限値の設定後、設定された前記消費電力制限値とノードの最大消費電力値をノードごとに比較し、前記消費電力制限値が前記最大消費電力値を超えるノードがある場合、前記超えるノードの前記消費電力制限値から前記最大消費電力値を引いた差分の電力値から、前記消費電力制限値が前記最大消費電力値を超えないノードに配分する電力を決定し、決定された前記電力を前記最大消費電力値を超えないノードの前記消費電力制限値に加算することを特徴とする付記８に記載の電源制御プログラム。
（付記１０）前記差分の電力値を、前記最大消費電力値を超えないノードの最大消費電力値と消費電力制限値の差分の比に応じて配分することを特徴とする付記９に記載の電源制御プログラム。
（付記１１）前記情報処理装置全体における消費電力値と、前記電源供給装置の稼働台数における電力変換効率が最も高い電力範囲を示すテーブルを用いて前記電力供給装置の稼働台数を決定することを特徴とする付記８から１０のいずれかに記載の電源制御プログラム。
【符号の説明】
【０１０８】
１０  マルチノードサーバ
１１（１１ａ〜１１ｄ）  ＰＳＵ
１２（１２ａ〜１２ｈ）  サーバノード
１３  冷却ファン
１４  ミッドプレーン
１５  電力供給バス
１６  マネージメントバス
１７、３１  ＣＰＵ
１８  チップセット
１９  消費電力センサ
２０  ＢＭＣ
３２  ＲＯＭ
３３  ＲＡＭ
４０  サーバ状態監視部
４１  個別電力制御部
４１ａ  ノード最大消費電力算出部
４１ｂ  ノード現在消費電力検出部
４１ｃ  ＣＰＵ動作制御部
４１ｄ  ＰＳＵ起動／停止制御部
４１ｅ  コンポーネント電力情報格納部
４２  共通電力制御部
４２ａ  筐体消費電力テーブル算出部
４２ｂ  マスタ／スレーブ管理部
４２ｃ  ＰＳＵ電力量格納部
４２ｄ  ＰＳＵ電力効率格納部
４２ｅ  筐体消費電力格納部
４３  記憶部
【図１】
2018194936.tif 000003
【図２】
2018194936.tif 000004
【図３】
2018194936.tif 000005
【図４】
2018194936.tif 000006
【図５】
2018194936.tif 000007
【図６】
2018194936.tif 000008
【図７】
2018194936.tif 000009
【図８】
2018194936.tif 000010
【図９Ａ】
2018194936.tif 000011
【図９Ｂ】
2018194936.tif 000012
【図９Ｃ】
2018194936.tif 000013
【図９Ｄ】
2018194936.tif 000014
【図９Ｅ】
2018194936.tif 000015
【図９Ｆ】
2018194936.tif 000016
【図９Ｇ】
2018194936.tif 000017
【図１０Ａ】
2018194936.tif 000018
【図１０Ｂ】
2018194936.tif 000019
【図１０Ｃ】
2018194936.tif 000020
【図１１】
2018194936.tif 000021
【図１２】
2018194936.tif 000022
【図１３】
2018194936.tif 000023