(57)【要約】【課題】  複数の配電盤からの供給電力を複数の筐体で共有する計算機システムでは、配電盤の定格電力容量を超えない範囲で複数の筐体間で電力消費量の上限値の調整を動的にできないため、配電盤からの供給電力を最大限に利用できない点である。【解決手段】筐体は、電力上限値を設定可能な電源モジュールと、前記電力上限値と前記筐体の電力仕様情報と消費電力情報と前記配電盤の設備仕様情報と供給電力情報を記録した電力テーブルと、前記配電盤と前記電源モジュールの接続状態を記録した電源接続情報と、管理モジュールを含み、前記管理モジュールは、前記電力テーブルと前記電源接続情報をもとに、前記電源モジュールの電力上限値を動的に制御する。【選択図】  図1
2013143120.tif 000002
【特許請求の範囲】
【請求項１】
複数の筐体と複数の配電盤とを備え、前記配電盤が前記筐体に電力を供給する計算機システムにおいて、
前記筐体は、複数の計算機モジュールと複数の電源モジュールと管理モジュールとを有し、
前記複数の筐体間は、バスで接続され、
前記配電盤は、前記電源モジュールと接続され、
前記管理モジュールは、前記配電盤と前記電源モジュールとの対応を前記筐体毎に管理する電源接続情報と、前記計算機モジュールの消費電力及び前記電源モジュールの出力電力を筐体毎に管理する電力テーブルとを有し、
ある筐体に属するある電源モジュールの出力電力が、前記ある電源モジュールに設定された上限の出力電力に達すると、
前記管理モジュールは、第一の電力制御により前記ある筐体に属する計算機モジュールの消費電力を下げて、前記ある電源モジュールの出力電力を下げることを特徴とする計算機システム。
【請求項２】
前記ある筐体の管理モジュールは、
前記第一の電力制御により前記ある筐体の電力状態が変わると、前記電力テーブルのある筐体に関する情報を更新し、
前記電力テーブルの更新した情報を、前記バスを介して他の筐体に送信することを特徴とする請求項１記載の計算機システム。
【請求項３】
前記ある筐体の管理モジュールは、前記第一の電力制御後における前記ある筐体に属する電源モジュールの総出力電力を前記第一の電力制御前における前記ある筐体に属する電源モジュールの総出力電力に近づける第二の電力制御を、行うことを特徴とする請求項２記載の計算機システム。
【請求項４】
前記管理モジュールは、前記配電盤に接続される電源モジュールに設定された上限の出力電力を更新し、前記配電盤の上限の供給電力を前記配電盤に予め設定された定格電力以下とすることを特徴とする請求項３記載の計算機システム。
【請求項５】
前記ある筐体の管理モジュールは、
前記第ニの電力制御により前記ある筐体の電力状態が変わると、前記電力テーブルのある筐体に関する情報を更新し、
前記電力テーブルの更新した情報を、前記バスを介して他の筐体に送信することを特徴とする請求項４記載の計算機システム。
【請求項６】
前記管理モジュールは、前記電源モジュールの出力電力をモニタリングする電力モニタを有することを特徴とする請求項５記載の計算機システム。
【請求項７】
ある配電盤の故障により、前記ある配電盤から前記ある配電盤に接続される電源モジュールへの電力の供給が止まると、
他の配電盤に接続される電源モジュールは、出力電力を上げ、前記ある配電盤に接続される電源モジュールから供給されなくなった電力を補うことを特徴とする請求項６記載の計算機システム。
【請求項８】
複数の筐体と複数の配電盤とを備え、前記配電盤が前記筐体に電力を供給する計算機システムにおける電力管理方法であって、
前記筐体は、複数の計算機モジュールと複数の電源モジュールと管理モジュールとを有し、
前記複数の筐体間は、バスで接続され、
前記配電盤は、前記電源モジュールと接続され、
前記管理モジュールは、前記配電盤と前記電源モジュールとの対応を前記筐体毎に管理する電源接続情報と、前記計算機モジュールの消費電力及び前記電源モジュールの出力電力を筐体毎に管理する電力テーブルとを有し、
ある筐体に属するある電源モジュールの出力電力が、前記ある電源モジュールに設定された上限の出力電力に達すると、
前記管理モジュールによる第一の電力制御により、前記ある筐体に属する計算機モジュールの消費電力を下げて、前記ある電源モジュールの出力電力を下げることを特徴とする電力管理方法。
【請求項９】
前記ある筐体の管理モジュールは、
前記第一の電力制御により前記ある筐体の電力状態が変わると、前記電力テーブルのある筐体に関する情報を更新し、
前記電力テーブルの更新した情報を、前記バスを介して他の筐体に送信することを特徴とする請求項８記載の電力管理方法。
【請求項１０】
前記ある筐体の管理モジュールは、前記第一の電力制御後における前記ある筐体に属する電源モジュールの総出力電力を前記第一の電力制御前における前記ある筐体に属する電源モジュールの総出力電力に近づける第二の電力制御を、行うことを特徴とする請求項９記載の電力管理方法。
【請求項１１】
前記管理モジュールは、前記配電盤に接続される電源モジュールに設定された上限の出力電力を更新し、前記配電盤の上限の供給電力を前記配電盤に予め設定された定格電力以下とすることを特徴とする請求項１０記載の電力管理方法。
【請求項１２】
前記ある筐体の管理モジュールは、
前記第ニの電力制御により前記ある筐体の電力状態が変わると、前記電力テーブルのある筐体に関する情報を更新し、
前記電力テーブルの更新した情報を、前記バスを介して他の筐体に送信することを特徴とする請求項１１記載の電力管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の筐体と複数の配電盤を有する計算機システムの電力管理に関する。
【背景技術】
【０００２】
コンピュータ・システムは、1つの筐体の中に複数台のサーバを搭載可能なブレード型サーバを使用することにより、１筐体あたり、または、ラック1台あたりの物理的なサーバの集約度を向上させることが可能である。
【０００３】
また、ブレード型サーバでは、筐体に搭載している電源モジュールを筐体に搭載する複数台のサーバで共有しているが、コンピュータ・システムの動作時において、サーバ毎に利用度が不均一で電力消費量が異なっていることを利用して、サーバ毎に消費電力の上限値を可変に制御可能な仕組みを入れて、筐体に搭載されている電源モジュールから供給可能な電力を効率よく利用する電力管理が行われている。
【０００４】
本技術分野の背景として、特許文献１がある。この公報では、消費電力の上限値を可変に設定可能な単位をデバイス、電源を共有しているデバイス群をデバイス・グループとし、「デバイス・グループの正味の電力消費を制限するために、可変グループ電力制限を実施する。現在のグループ電力制限を満足させるために、各デバイスに実施した可変デバイス電力制限を別個に調節可能とする。デバイス電力制限は、電力管理方法に従って動的に選択される。この方法では、選択的に、利用度の低いデバイスのデバイス電力制限を低下させ、利用度の高いデバイスのデバイス電力制限を上昇させる。」と記載している。
【０００５】
しかしながら、コンピュータ・システムの設備設計においては、配電コストの最小化を目的とする場合に、１筐体にサーバを最大搭載した場合の最大消費電力量と電源系の冗長性を考慮して、1つの配電盤から供給可能な電力を複数の筐体で共有したり、複数の配電盤から１つの筐体に電力供給をしたりするため、電源系の故障時も含めて、電力制限を最小化して、配電盤から供給可能な電力を最大限利用するためには、コンピュータ・システムに電力供給を行う配電盤が冗長系も含めて複数あることを考慮して、設備設計と電力管理を行う必要があり、特許文献１の電力管理方法では不十分である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１１６８６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
複数の配電盤からの供給電力を複数の筐体で共有するコンピュータ・システムにおいて、配電盤の定格電力容量を超えない範囲で複数の筐体間で電力消費量の上限値の調整を動的にできないため、配電盤からの供給電力を最大限に利用できない点である。また、電源系の故障時に、配電盤の定格電力容量を超えない範囲で複数の筐体間で電力消費量の上限値の調整を動的にできないため、配電盤からの供給電力を最大限に利用できない点である。
【課題を解決するための手段】
【０００８】
上述の課題を解決するために、本発明に係る計算機システム及び電力管理方法は、複数の筐体と複数の配電盤とを備え、前記配電盤が前記筐体に電力を供給する計算機システムにおいて、前記筐体は、複数の計算機モジュールと複数の電源モジュールと管理モジュールとを有し、前記複数の筐体間は、バスで接続され、前記配電盤は、前記電源モジュールと接続され、前記管理モジュールは、前記配電盤と前記電源モジュールとの対応を前記筐体毎に管理する電源接続情報と、前記計算機モジュールの消費電力及び前記電源モジュールの出力電力を筐体毎に管理する電力テーブルとを有し、ある筐体に属するある電源モジュールの出力電力が、前記ある電源モジュールに設定された上限の出力電力に達すると、前記管理モジュールは、第一の電力制御により前記ある筐体に属する計算機モジュールの消費電力を下げて、前記ある電源モジュールの出力電力を下げることを特徴とする。
【０００９】
また、前記ある筐体の管理モジュールは、前記第一の電力制御により前記ある筐体の電力状態が変わると、前記電力テーブルのある筐体に関する情報を更新し、前記電力テーブルの更新した情報を、前記バスを介して他の筐体に送信する。
【発明の効果】
【００１０】
本発明によれば、各筐体に搭載されている管理モジュールが、各筐体の電源接続情報と消費電力量情報を記録する電力テーブルを共有して、電源モジュールの電力出力量の上限値を動的に制御しているため、各筐体の消費電力量が電源モジュールの電力出力量の上限値に達して電力制限される頻度を最小化し、電力制限によるサーバ処理能力の低下を最低限に抑えることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態のコンピュータ・システムの構成図の例である。
【図２】管理モジュールの内部構成図の例である。
【図３】電源接続情報の例である。
【図４】電力テーブルの例である。
【図５】電源障害発生直後の電力テーブルの例である。
【図６】電力モード値の変更後の電力テーブルの例である。
【図７】電力モード値の再設定後の電力テーブルの例である。
【図８】電力上限値の設定値の変更後の電力テーブルの例である。
【図９】電力上限値制御プログラムの処理を説明するフローチャートの例である。
【図１０】電力モード値を決定する処理を説明するフローチャートの例である。
【図１１】電力上限値を決定する処理を説明するフローチャートの例である。
【発明を実施するための形態】
【００１２】
複数の配電盤からの供給電力を複数の筐体で共有するコンピュータ・システムにおいて、配電盤の定格電力容量を超えない範囲で、配電盤からの供給電力を最大限に利用するという目的を、各筐体に搭載する管理モジュール間で電源接続情報と電力テーブルを共有し、管理モジュールから電源モジュールの電力上限値を動的に制御することにより実現する。
【００１３】
以下、図面を用いて実施例を説明する。
【００１４】
図１は、本発明の一実施形態のコンピュータ・システムの構成図で、筐体１００ａ〜１００ｃが３台、配電盤２００ａ〜２００ｄが４台、筐体１００には電源モジュール１１０ａ〜１１０ｄを４台、管理モジュール１２０を１台、サーバブレード１４０ａ〜１４０ｃが３台、その他モジュール１６０が1台を含む例である。電源モジュール１１０ａ〜１１０ｄは、配電盤２００ａ〜２００ｄのいずれかに接続され、配電盤２００ａ〜２００ｄからの電力を筐体１００ａ〜１００ｃに供給する。電源モジュール１１０ａ〜１１０ｄと配電盤２００ａ〜２００ｄの間には、ブレーカ２１０ａ〜２１０ｄがあり、配電盤２００ａ〜２００ｄからの供給電力が、配電盤２００ａ〜２００ｄの定格電力容量を超えないように過電流を防ぐ。また、電源モジュール１１０ａ〜１１０ｄは、管理モジュール１２０から設定可能な電力上限値１１１と電力出力量の値をモニタリングする電力モニタ１１２を内部に持っており、電力モニタ１１２の値が電力上限値１１１を超えた場合には、電力出力量が電力上限値１１１以下なるように電力制限し、管理モジュール１２０に、電力出力量が電力制限の状態であることを通知する機能を持つ。
【００１５】
図２は、管理モジュール１２０の内部構成図の例を示す。
【００１６】
管理モジュール１２０は、ＣＰＵ１２５と、電力テーブル１２１と電源接続情報１２２と電力上限値制御プログラム１２３を記録するメモリ１２４と、通信制御部１２６と、ユーザインタフェース１２７から構成される。筐体１００ａ〜１００ｃの各管理モジュール１２０は、外部通信バス１５４を経由して外部ネットワーク１３０で接続されており、電力テーブル１２１と電源接続情報１２２を相互に通信して共有する。電力テーブル１２１は、筐体１００ａ〜１００ｃ内の各電源モジュール１１０ａ〜１１０ｄ、管理モジュール１２０、各サーバブレード１４０ａ〜１４０ｃ、その他モジュール１６０の電力仕様情報と消費電力情報を保持する。また、電力テーブル１２１は、配電盤２００ａ〜２００ｄの設備仕様情報と供給電力情報を保持する。電源接続情報１２２は、筐体１００ａ〜１００ｃに搭載されている各電源モジュール１１０ａ〜１１０ｄと配電盤２００ａ〜２００ｄとの接続状態を保持する。
【００１７】
ＣＰＵ１２５は、メモリ１２４に記録されている電力上限値制御プログラム１２３に従い電力制御を実行する。ＣＰＵ１２５は、電力上限値制御プログラム１２３の実行により、電源モジュール１１０ａ〜１１０ｄの電力出力量が電力制限状態にあるかを検知し、電力テーブル１２１と電源接続情報１２２から各配電盤２００ａ〜２００ｄに接続されている電源モジュール１１０ａ〜１１０ｄの電力出力量の合計を計算し、各配電盤２００ａ〜２００ｄの定格電力容量を超えないように、電源モジュール１１０ａ〜１１０ｄの電力上限値１１１の設定値を動的に変更する。
【００１８】
通信制御部１２６は、電力上限値制御プログラム１２３を実行するＣＰＵ１２５からの指示に従い、内部管理バス１５１を通じて電源モジュール１１０ａ〜１１０ｄの各電源モジュールの電力上限値１１１を設定する。また、通信制御部１２６は、電力上限値制御プログラム１２３を実行するＣＰＵ１２５からの指示に従い、内部管理バス１５２を通じて各電源モジュール１１０ａ〜１１０ｄの電力モニタ１１２から各電源モジュール１１０ａ〜１１０ｄの現在の電力出力量を取得し、メモリ１２４に記録されている電力テーブル１２１を更新する。また、通信制御部１２６は、電力上限値制御プログラム１２３を実行するＣＰＵ１２５からの指示に従い、内部管理バス１５３を通じて、各サーバブレード１４０ａ〜１４０ｃの省電力制御部１４１を制御する。また、通信制御部１２６は、電力上限値制御プログラム１２３を実行するＣＰＵ１２５からの指示に従い、外部通信バス１５４を経由して外部ネットワーク１３０で接続されている他の筐体の管理モジュール１２０と相互に通信して、メモリ１２４に記録されている電力テーブル１２１と電源接続情報１２２を更新する。
【００１９】
ユーザインタフェース１２７は、ユーザから入力された電力テーブル１２１の項目と電源接続情報１２２をメモリ１２４に出力する。ユーザインタフェース１２７の例としては、例えばＫＶＭ（Ｋｅｙｂｏａｒｄ／Ｖｉｄｅｏ／Ｍｏｕｓｅ）や、コンソール接続等がある。
【００２０】
図１の実施例では、管理モジュールは１台の構成であるが、複数の管理モジュールが筐体１００ａ〜１００ｃ内に搭載されている構成でもよい。管理モジュールが複数台ある構成では、管理モジュールを主系の管理モジュールと、待機系の管理モジュールとに分ける。主系の管理モジュールは、上記に述べた動作を実行する。待機系の管理モジュールは、主系の管理モジュールが異常、故障の発生やメンテナンス等により継続動作ができなくなった場合に、主系の管理モジュールに代わり継続動作を行う。管理モジュールが複数台の場合には、内部管理バス１５１、１５２、１５３は全て管理モジュールの台数分だけ具備される。また主系と待機系の管理モジュール間にも管理バスを追加する。このバスにより、１つの管理モジュール内部の通信制御部１２６は他の管理モジュールの通信制御部１２６から情報を取得することが可能となる。
【００２１】
また、図１の実施例では、内部管理バス１５１、１５２、１５３はそれぞれ独立したバスである。しかし実施例の形態に限らず、内部管理バス１５１、１５２、１５は１本の共通バスとしてもよい。内部管理バス１５１、１５２、１５３が、それぞれがさらに分割される構成でもよい。
【００２２】
図３は、電源接続情報１２２の例である。
【００２３】
電源接続情報１２２は、筐体１００ａ〜１００ｃに搭載されている各電源モジュール１１０ａ〜１１０ｄと配電盤２００ａ〜２００ｄとの接続状態を示すマトリクス表である。例えば、図１の構成図に対応する電源接続情報１２２は、図３（ａ）となる。図１の構成図において、筐体１００ａの電源モジュール１１０a、１１０ｂは配電盤２００ａに接続されているので、図３（ａ）の筐体１００ａの電源モジュール１１０a、１１０ｂと配電盤２００ａがクロスする欄は接続の状態となり、図１の構成図において、筐体１００ａの電源モジュール１１０ｃ、１１０ｄと配電盤２００ａは接続されていないので、図３（ａ）の筐体１００ａの電源モジュール１１０ｃ、１１０ｄと配電盤２００ａがクロスする欄は未接続の状態(空欄で示す)となる。
【００２４】
電源接続情報１２２の初期値は、管理者が外部ネットワーク１３０から管理モジュール１２０の外部通信バス１５４経由でユーザインタフェース１２７にアクセスして設定する。管理モジュール１２０は、電源モジュール１１０ａ〜１１０ｄのオン・オフ制御と状態監視を行い、電源モジュール１１０ａ〜１１０ｄの状態に応じて、マトリクス表の該当欄の状態を更新する。例えば、電源モジュール１１０ａ〜１１０ｄをオン状態にした場合は、マトリクス表の該当欄を接続状態に更新し、電源モジュール１１０ａ〜１１０ｄをオフ状態にした場合は、マトリクス表の該当欄を未接続の状態(空欄で示す)に更新する。また、電源モジュール故障を検知した場合、あるいは電源ラインの故障を検出した場合には、マトリクス表の該当欄を未接続の状態(空欄で示す)に更新する。
【００２５】
故障の検出方法の例としては、管理モジュール１２０が、電源モジュール１１０ａ〜１１０ｄの電力モニタ１１２から出力電圧と出力電流を計測して、電源モジュール１１０ａ〜１１０ｄの電力出力量を算出し、電源モジュール１１０ａ〜１１０ｄの出力電力が０Ｗであることを検出することにより、供給電力が０Ｗとなっている電源モジュール自身か、電源モジュールを接続している配電盤からの電力供給ラインが故障したと判断することが可能である。例えば、図１の構成図において、配電盤２００ａの電源ラインが故障した場合、管理モジュール１２０は、配電盤２００ａに接続されている筐体１００ａの電源モジュール１１０ａ、１１０ｂと筐体１００ｂの電源モジュール１１０ａの出力電力が０Ｗであることを検知し、配電盤２００ａの電源ラインが故障したと判断し、電源接続情報１２２を、図３（ａ）の内容から図３（ｂ）の内容へ更新する。
【００２６】
図４、５、６、７、８は、電力テーブル１２1の例である。
【００２７】
電力テーブル１２１は、管理モジュール１２０とサーバブレード１４０ａ〜１４０ｃとその他モジュール１６０の各電力モード値に対する最大消費電力４０１、４０２、４０３と、現在の電力モード値４０４と、現在の電力モード値４０４に対する現在の最大消費電力４０５をテーブルとして保持する。
【００２８】
管理モジュール１２０は、サーバブレード１４０ａ〜１４０ｃの消費電力を、現在の最大消費電力４０５の値以下になるように省電力制御部１４１を制御して電力制限をする。電力モード値の値は小さいほど、省電力制御部１４１による省電力制御量が少なくなり最大消費電力と最大処理性能は大きくなり、電力モード値の値が大きいほど省電力制御部１４１による省電力制御量が多くなり最大消費電力と最大処理性能は小さくなる。省電力制御部１４１の省電力制御の例としては、サーバブレード１４０ａ〜１４０ｃの動作電圧や動作周波数を最大値から低下させる割合を制御したり、動作電圧や動作周波数を低下させる時間の割合を制御したりする方法がある。
【００２９】
図４−図８の電力テーブル１２１は、電力モード値を、１，２，３の３つに設定した例で、電力モード値が最小の１の場合の最大消費電力４０１は、管理モジュール１２０からサーバブレード１４０ａ〜１４０ｃの省電力制御部１４１による省電力制御を全く行わない場合の最大消費電力を示し、電力モード値が最大の３の場合の最大消費電力４０３は、管理モジュール１２０からサーバブレード１４０ａ〜１４０ｃの省電力制御部１４１による省電力制御を最大限に行った場合の最大消費電力を示し、電力モード値が２の場合の最大消費電力４０２は、管理モジュール１２０からサーバブレード１４０ａ〜１４０ｃの省電力制御部１４１による省電力制御を電力モード値＝１と電力モード値＝３の中間の制御を行った場合の最大消費電力を示している。
【００３０】
管理モジュール１２０が、サーバブレード１４０ａ〜１４０ｃの省電力制御部１４１による省電力制御を全く行わない場合の最大消費電力と省電力制御を最大限に行った場合の最大消費電力の範囲内で、電力モード値の数を４つ以上に設定して、電力モード値の値が小さいほど、省電力制御部１４１による省電力制御量を少なくして最大消費電力と最大処理性能を大きくし、電力モード値の値が大きいほど省電力制御部１４１による省電力制御量を多くして最大消費電力と最大処理性能を小さくして、電力モード値の設定数に応じた、より細かな省電力制御をすることも可能である。
【００３１】
各電力モード値に対する最大消費電力４０１、４０２、４０３の値は、サーバブレード１４０ａ〜１４０ｃ、管理モジュール１２０、その他モジュール１６０の電力仕様で決まる固有な数値であり、管理者が外部ネットワーク１３０から管理モジュール１２０の外部通信バス１５４経由でユーザインタフェース１２７にアクセスして設定する。また、電力テーブル１２１は、電源モジュール１１０ａ〜１１０ｄの電力上限値の設定可能な最大値４０６と、電源モジュール１１０ａ〜１１０ｄの電力上限値１１１に設定している現在の電力上限値の設定値４０７と電源モジュール１１０ａ〜１１０ｄの電力モニタ１１２から取得した現在の電力モニタ値４０８と過去の電力モニタ値４０９をテーブルとして保持する。電源モジュール１１０ａ〜１１０ｄの電力上限値の設定可能な最大値４０６は、電源モジュール１１０ａ〜１１０ｄの電力仕様で決まる固有な数値であり、管理者が外部ネットワーク１３０から管理モジュール１２０の外部通信バス１５４経由でユーザインタフェース１２７にアクセスして設定する。
【００３２】
管理モジュール１２０の中のＣＰＵ１２５は、電力上限値制御プログラム１２３の実行により、電源モジュール１１０ａ〜１１０ｄの電力上限値の設定可能な最大値４０６以下になるように、電源モジュール１１０ａ〜１１０ｄの電力上限値１１１を設定し、電源モジュール１１０ａ〜１１０ｄの現在の電力上限値の設定値４０７に記録する。管理モジュール１２０の中のＣＰＵ１２５は、電力上限値制御プログラム１２３の実行により、電源モジュール１１０ａ〜１１０ｄの現在の電力モニタ値４０８の値を過去の電力モニタ値４０９にコピーした後に、電源モジュール１１０ａ〜１１０ｄの電力モニタ１１２から取得した電力モニタ値を現在の電力モニタ値４０８として記録する。
【００３３】
また、電力テーブル１２１は、配電盤２００ａ〜２００ｄの定格電力容量４１１と現在の供給電力上限４１２と現在の供給電力４１３をテーブルとして保持する。定格電力容量４１１は、配電盤２００ａ〜２００ｄの設備仕様で決まる固有な数値であり、管理者が外部ネットワーク１３０から管理モジュール１２０の外部通信バス１５４経由でユーザインタフェース１２７にアクセスして設定する。管理モジュール１２０の中のＣＰＵ１２５は、電力上限値制御プログラム１２３の実行により、電源接続情報１２２から筐体１００ａ〜１１０ｃと接続状態になっている電源モジュール１１０ａ〜１１０ｄの現在の電力上限値の設定値４０７の合計を計算して、配電盤２００ａ〜２００ｄの現在の供給電力上限４１２を記録する。
【００３４】
例えば、電源接続情報１２２が図３（ａ）、電力テーブル１２１が図４の場合は、配電盤２００ａと接続状態となっている電源モジュール１１０は、筐体１００ａの電源モジュール１１０ａと、筐体１００ａの電源モジュール１１０ｂと、筐体１００ｂの電源モジュール１１０ａであるので、筐体１００ａの電源モジュール１１０ａの電力上限値の設定値４０７の４２５Ｗと、筐体１００ａの電源モジュール１１０ｂの電力上限値の設定値４０７の４２５Ｗと、筐体１００ｂの電源モジュール１１０ａの電力上限値の設定値４０７の４６３Ｗを合計した１３１３Ｗを、配電盤２００ａの現在の供給電力上限４１２として記録する。
【００３５】
また、管理モジュール１２０の中のＣＰＵ１２５は、電力上限値制御プログラム１２３の実行により、電源接続情報１２２において筐体１００ａ〜１１０ｃと接続状態になっている電源モジュール１１０ａ〜１１０ｄの電力モニタ１１２から取得した現在の電力モニタ値４０８の合計を計算して、配電盤２００ａ〜２００ｄの現在の供給電力４１３を記録する。
【００３６】
例えば、電源接続情報１２２が図３（ａ）、電力テーブル１２１が図４の場合は、配電盤２００ｂと接続状態となっている電源モジュール１１０は、筐体１００ｂの電源モジュール１１０ｂと、筐体１００ｃの電源モジュール１１０ａと、筐体１００ｃの電源モジュール１１０ｂであるので、筐体１００ｂの電源モジュール１１０ｂの現在の電力モニタ値４０８の３００Ｗと、筐体１００ｃの電源モジュール１１０ａの現在の電力モニタ値４０８の３５０Ｗと、筐体１００ｃの電源モジュール１１０ｂの現在の電力モニタ値４０８の３５０Ｗを合計した１０００Ｗを、配電盤２００ｂの現在の供給電力４１３として記録する。
【００３７】
図９は、電力上限値制御プログラム１２３の処理を説明するフローチャートの例である。図９のフローチャートは、筐体１００ａ〜１００ｃに搭載されている各管理モジュール１２０内のＣＰＵ１２５が実行する。
【００３８】
ステップ５１０において、筐体１００ａ〜１００ｃにある各管理モジュール１２０が、電源モジュール１１０ａ〜１１０ｄのいずれかが電力制限の状態にあるか、電源モジュール１１０ａ〜１１０ｄの全てが電力制限の状態にないかを判定する。判定は、電源モジュール１１０ａ〜１１０ｄが内部管理バス１５２経由で管理モジュール１２０に電力制限状態を通知しているかどうかで判定する。
【００３９】
電源モジュール１１０ａ〜１１０ｄの全てが電力制限の状態にない場合は、電源接続情報１２２の更新を確認するステップ５２２に移る。電源モジュール１１０ａ〜１１０ｄのいずれかが電力制限の状態にある場合は、電源モジュール１１０ａ〜１１０ｄの電力モニタ１１２から現在の電力モニタ値を取得するステップ５２０に移る。
【００４０】
まず、電源モジュール１１０ａ〜１１０ｄの全てが電力制限の状態にない場合について説明する。
【００４１】
ステップ５２２において、管理モジュール１２０は、電源接続情報１２２の変更があったかどうかを判定する。電源接続情報１２２の変更がなかった場合はフローチャートの開始ステップに戻る。電源接続情報１２２の変更があった場合は、ステップ５２３に移る。
【００４２】
ステップ５２３において、管理モジュール１２０は、電力テーブル１２３の現在の電力モニタ値４０８を過去の電力モニタ値４０９にコピーし、電源モジュール１１０ａ〜１１０ｄの電力モニタ１１２から現在の電力モニタ値を取得し、現在の電力モニタ値４０８に記録する。
【００４３】
ステップ５３１において、ステップ５３０と同じ処理を実行するが、電力制限に状態にある電源モジュールはなく、現在の電力モード値４０４を再設定する処理と、電源モジュール１１０ａ〜１１０ｄの電力上限値１１１ａ〜１１１ｄを設定する処理は不要なので、電力テーブル１２１と電源接続情報１２２の更新・共有の処理が終了すると、フローチャートの開始ステップに戻る。
【００４４】
次に、電源モジュール１１０ａ〜１１０ｄのいずれかが電力制限の状態にある場合について説明する。
【００４５】
ステップ５２０において、管理モジュール１２０は、電力テーブル１２３の現在の電力モニタ値４０８を過去の電力モニタ値４０９にコピーし、電源モジュール１１０ａ〜１１０ｄの電力モニタ１１２から現在の電力モニタ値を取得し、現在の電力モニタ値４０８に記録する。例えば、図１の構成図において、電源接続情報１２２が図３（ａ）、電力テーブル１２３が図４のシステム状態で、配電盤２００ａの電源ラインが故障した状態になった場合、配電盤２００ａの電源ラインからの供給電力の喪失分を配電盤２００ｂ、２００ｃ、２００ｄの電源ラインからの供給電力で補うため、筐体１００ａと筐体１００ｂの電力モニタ値４０８ａ、４０８ｂは、図４から図５のように変化する。この時、筐体１００ａの電源モジュール１１０ｃ、１１０ｄの電力モニタ値４０８ａは、図４の値から上昇し、現在の電力上限値の設定値４０７ａまで上昇したところで抑えられ電力制限状態になるため、筐体１００ａの電力モニタ値４０８ａの合計は、図４から図５で１０００Ｗから８５０Ｗに減少する。一方、筐体１００ｂの電源モジュール１１０ｂ、１１０ｃ、１１０ｄの電力モニタ値４０８ｂは、図４の値から上昇するが、現在の電力上限値の設定値４０７ｂまで到達せず、筐体１００ｂの電力モニタ値４０８ｂの合計は、図４から図５で１２００Ｗのままである。
【００４６】
ステップ５２１において、電力制限に状態にある電源モジュールを持つ筐体の電力モード値を最大に設定する。例えば、図１の構成図において、電源接続情報１２２が図３（ａ）、電力テーブル１２１が図４のシステム状態から、配電盤２００ａの電源ラインが故障した状態になった場合、電力テーブル１２１は図５となる。筐体１００ａの電源モジュール１１０ｃ、１１０ｄが電力制限の状態にあるので、筐体１００ａの現在の電力モード値４０４ａを最大の３に設定する。電力モード値４０４ａの変更により、現在の最大消費電力４０５ａの値は、電力モード値＝３の最大消費電力４０３ａになるので、電力モニタ値４０８ａは、現在の上限値の設定値４０７ａ以下になり、筐体１００ａの電源モジュール１１０ｃ、１１０ｄが電力制限の状態は解除される。
【００４７】
ステップ５３０において、筐体１００ａ〜１００ｃに搭載されている各管理モジュール１２０は外部ネットワーク１３０を介して相互に通信して、電力テーブル１２１と電源接続情報１２２を最新情報に更新する。例えば、図１の構成図において、電源接続情報１２２が図３（ａ）、電力テーブル１２３が図４のシステム状態から、配電盤２００ａの電源ラインが故障した状態になった場合には、筐体１００ａに搭載している管理モジュール１２０が、筐体１００ａの部分の電力テーブル１２１と電源接続情報１２２を更新し、筐体１００ｂに搭載している管理モジュール１２０が、筐体１００ｂの部分の電力テーブル１２１と電源接続情報１２２を更新し、筐体１００ｃに搭載している管理モジュール１２０が、筐体１００ｃの部分の電力テーブル１２１と電源接続情報１２２を更新する。その後、筐体１００ａ〜１００ｃに搭載されている各管理モジュール１２０は外部ネットワーク１３０を介して、各管理モジュール１２０が更新した部分の電力テーブル１２１と電源接続情報１２２を相互に通信して共有し、筐体１００ａ〜１００ｃの各管理モジュール１２０の電源接続情報１２２は図３（ｂ）、電力テーブル１２１は図６となる。
【００４８】
ステップ５４０において、管理モジュール１２０は、現在の電力モニタ値４０８の合計を、電源モジュール１１０が電力制限される前の過去の電力モニタ値４０９の合計に近い値になるように、現在の電力モード値４０４を再設定する。
【００４９】
ステップ５５０において、管理モジュール１２０は、電源モジュール１１０ａ〜１１０ｄの電力上限値１１１ａ〜１１１ｄを、配電盤の定格電力容量４１１を超えない範囲で、配電盤の定格電力容量４１１と現在の供給電力上限４１２の差が最小になるように、電力上限値１１０ａ〜１１０ｄを更新する。
【００５０】
ステップ５６０において、筐体１００ａ〜１００ｃに搭載されている各管理モジュール１２０は外部ネットワーク１３０を介して相互に通信して、電源モジュール１１０ａ〜１１０ｄの電力上限値１１１の設定変更後の電力テーブル１２１を更新して共有する。ステップ５６０終了後の電力テーブル１２１の例は、図８となる。
【００５１】
図１０は、ステップ５４０における現在の電力モード値４０４を再設定する処理を説明するフローチャートの例である。
【００５２】
ステップ６１０において、電力モード候補値の初期値を設定する。本実施例では、電力テーブル１２１の図６の現在の電力モード値４０４を初期値とした場合を説明する。この場合、筐体１００ａの初期値は３、筐体１００ｂ、１００ｃの初期値は１となる。
【００５３】
ステップ６２０において、電力モード候補値が電力モード値として設定可能な最小値かどうかを判定する。電力テーブル１２１の図６の場合、電力モード候補値が最小値ではない筐体１００ａは、ステップ６３０に移り、電力モード候補値が最小値の１である筐体１００ｂ、１００ｃは、ステップ６４１に移る。
【００５４】
ステップ６３０において、電力モード候補値が電力モード値として設定可能な最大値かどうかを判定する。
【００５５】
電力モード候補値が、電力モード値として設定可能な最大値の場合、ステップ６３１に移り、電力モード値をより小さな値に設定可能かを判定するループ処理に移る。電力モード候補値が電力モード値として設定可能な最大値ではない場合、ステップ６５０に移り電力モード候補値を現在の電力モード値４０４に設定して、フローチャートを終了する。電力テーブル１２１の図６の場合、筐体１００ａの電力モード候補値は最大値なので、ステップ６３１に移る。
【００５６】
ステップ６３１、６３２、６３３、６３４では、電力モード候補値の値を１つずつ減少させて、現在の最大消費電力４０５ａの合計値が、過去の電力モニタ値４０９ａ以上になる電力モード候補値を見つける。電力テーブル１２１の図６の場合、筐体１００ａの過去の電力モニタ値４０９ａは１０００Ｗなので、電力モード候補値が３から２とした場合に、現在の最大消費電力４０５ａの合計値が１０００Ｗから１２５０Ｗとなり、過去の電力モニタ値４０９ａの合計値１０００Ｗ以上になるので、電力モード候補値として２を見つけた後、ステップ６５０に移り電力モード候補値を現在の電力モード値４０４ａに設定して、フローチャートを終了する。
【００５７】
ステップ６４１、６４２、６４３、６４４、６４５では、電力モード候補値の値を１つずつ増加させて、現在の最大消費電力４０５ａの合計値が、現在の電力モニタ値４０８未満にならない電力モード候補値を見つける。電力テーブル１２１が図６の場合、筐体１００ｂは、現在の電力モニタ値４０８ｂの合計値は１２００Ｗなので、電力モード候補値が２から３とした場合に、現在の最大消費電力４０５ｂの合計値が１３５５Ｗから８５０Ｗとなり、現在の電力モニタ値４０８ｂの合計値１２００Ｗ未満になるので、電力モード候補値として２を見つけた後、ステップ６５０において、電力モード候補値を現在の電力モード値４０４に設定して、フローチャートを終了する。
【００５８】
筐体１００ｃの現在の電力モニタ値４０８ｃの合計値は１４００Ｗに対して、電力モード候補値が２から３とした場合に、現在の最大消費電力４０５ｃの合計値が１４６０Ｗから９２０Ｗとなり、現在の電力モニタ値４０８ｃの合計値１２００Ｗ未満になるので、電力モード候補値として２を見つけた後、ステップ６５０において電力モード候補値を現在の電力モード値４０４ｃに設定して、フローチャートを終了する。
【００５９】
図４−図８の電力テーブル１１２と図１０のフローチャートの例では、サーバブレード１４０ａ〜１４０ｃ、管理モジュール１２０、その他モジュール１６０の現在の電力モード値４０４をすべて同じ値に設定しているが、サーバブレード１４０ａ〜１４０ｃ、管理モジュール１２０、その他モジュール１６０において、電力制限の優先度をつけて、サーバブレード１４０ａ〜１４０ｃ、管理モジュール１２０、その他モジュール１６０の現在の電力モード値４０４を異なる値を設定して制御することも可能である。
【００６０】
図１１は、ステップ５５０における現在の電力上限値の設定値４０７を設定する処理を説明するフローチャートの例である。
【００６１】
ステップ７１０において、電源モジュール１１０ａ〜１１０ｄの現在の電力上限値の設定値４０７の設定候補値の初期値を設定する。例えば、現在の最大消費電力４０５の合計値を電力供給している電力モジュール数で割った値を計算して設定する。電力テーブル１２１が図７の場合、筐体１００ａの中で電力供給している電力モジュールは、電力モジュール１１０ｃと１１０ｄの２台なので、現在の最大消費電力４０５の合計値の１２５０Ｗを２で割って、現在の電力上限値の設定値４０７の設定候補値の初期値を６２５Ｗとする。また、筐体１００ｂの中で、電力供給している電力モジュールは、電力モジュール１１０ｂと１１０ｃと１１０ｄの３台なので、現在の最大消費電力４０５の合計値の１３５５Ｗを３で割って、現在の電力上限値の設定値４０７の設定候補値の初期値は４５２Ｗとなる。また、筐体１００ｃの中で電力供給している電力モジュールは、電力モジュール１１０ａと１１０ｂと１１０ｃと１１０ｄの４台なので、現在の最大消費電力４０５の合計値の１４６０Ｗを４で割って、初期値は３６５Ｗとなる。
【００６２】
ステップ７２０において、現在の電力上限値４０７の設定候補値が電力上限値の設定可能な最大値４０６の値以下かどうかを判定する。
【００６３】
現在の電力上限値４０７の設定候補値が電力上限値の設定可能な最大値４０６の値以下でない場合は、現在の電力上限値４０７の設定候補値を電力上限値の設定可能な最大値４０６の値に設定するステップ７２１を実行後、ステップ７３０に移る。現在の電力上限値４０７の設定候補値が電力上限値の設定可能な最大値４０６の値以下の場合は、ステップ７１０で設定した現在の電力上限値４０７の設定候補値のまま、ステップ７３０に移る。
【００６４】
ステップ７３０、７４０、７５０、７６０では、現在の電力上限値４０７の設定候補値をΔＷずつ減少させて、配電盤２００ａ〜２００ｄの現在の供給電力上限４１２の値が定格電力容量４１１以下となるような現在の電力上限値の設定値４０７の設定候補値を見つける。電力テーブルが図７の場合、配電盤２００ｃの供給電力上限４１２の値が、配電盤２００ｃの定格電力容量４１１の値の１５００Ｗを超えているので、配電盤２００ｃから電力供給を受けている筐体１００ａと筐体１００ｂの電源モジュール１１０ａ〜１１０ｄの電力上限値４０７の設定候補値を、例えばΔＷ＝５Ｗずつ減少させていく。配電盤２００ａ〜２００ｄの現在の供給電力上限４１２の値が、定格容量４１１以下となった時点で、ステップ７３０、７４０、７５０、７６０のループを抜け、現在の電力上限値の設定値４０７の設定候補値を現在の電力上限値の設定値４０７に記録し、現在の電力上限値の設定値４０７の値を、電源モジュール１１０ａ〜１１０ｄの電力上限値１１１に設定して、図１１のフローチャートを終了する。
【００６５】
図１〜図１１による実施の形態により、複数の配電盤からの供給電力を複数の筐体で共有するコンピュータ・システムにおいて、配電盤の定格電力容量を超えない範囲で、配電盤からの供給電力を最大限に利用できるため、電力制限の頻度を最小化して、サーバの処理能力低下を最低限に抑えることが可能である。また、図１の構成例では、筐体１００ａ、筐体１００ｂ、筐体１００ｃの３台、１筐体あたりの電源モジュールの搭載数が電源モジュール１１０ａ〜１１０ｄ の４台、１筐体あたりのサーバモジュールの搭載数がサーバモジュール１４０ａ〜１４０ｃの３台、１筐体あたりのその他モジュールの搭載数がその他モジュール１６０の１台、１筐体あたりの管理モジュールの搭載数が管理モジュール１２０の１台、システム全体の配電盤数が配電盤２００ａ、配電盤２００ｂ、配電盤２００ｃ、配電盤２００ｄの４台の場合のコンピュータ・システムの構成例であるが、筐体数、電源モジュール数、サーバモジュール数、その他モジュール数、管理モジュール数、配電盤数が図１以外の構成の場合において、本発明の範囲から逸脱しない他の実施例の形態も考案可能である。
【符号の説明】
【００６６】
１００ａ〜１００ｃ  筐体、１１０ａ〜１１０ｄ  電源モジュール、１１１  電力上限値、１１２  電力モニタ、１２０  管理モジュール、１２１  電力テーブル、１２２  電源接続情報、１２３  電力上限値制御プログラム、１４０ａ〜１４０ｃ  サーバブレード
【図１】
2013143120.tif 000003
【図２】
2013143120.tif 000004
【図３】
2013143120.tif 000005
【図４】
2013143120.tif 000006
【図５】
2013143120.tif 000007
【図６】
2013143120.tif 000008
【図７】
2013143120.tif 000009
【図８】
2013143120.tif 000010
【図９】
2013143120.tif 000011
【図１０】
2013143120.tif 000012
【図１１】
2013143120.tif 000013