(57)【要約】【課題】ハードウェアにおいて、要求される性能を確保し、かつ、電力の利用効率をよくすることができる電力制御装置を提供する。【解決手段】電力制御装置は、電源制御部を備える。前記電源制御部は、情報処理に要求される要求仕様を満足するように、複数のハードウェアの組み合わせを特定する。前記電源制御部は、特定した各ハードウェアの構成に基づいた消費電力に応じた電力を供給するように複数の電源ユニットのオン状態／オフ状態を制御する。【選択図】図１
2015191298.tif 000002
【特許請求の範囲】
【請求項１】
情報処理に要求される要求仕様を満足するように、複数のハードウェアの組み合わせを特定し、特定した各ハードウェアの構成に基づいた消費電力に応じた電力を供給するように複数の電源ユニットのオン状態／オフ状態を制御する電源制御部
を備える電力制御装置。
【請求項２】
前記電源制御部は、前記複数の電源ユニットのうちオン状態の電源ユニットが供給可能な電力の総和が前記特定した各ハードウェアの構成に基づいた消費電力よりも小さいまたは同一である場合、前記オン状態の電源ユニットが供給可能な電力の総和が前記消費電力よりも大きくなるように、オフ状態の電源ユニットをオン状態にする
請求項１に記載の電力制御装置。
【請求項３】
前記電源制御部は、前記オン状態の電源ユニットが供給可能な電力の総和が前記消費電力よりも大きい場合、前記ハードウェアをオン状態にする
請求項１または請求項２に記載の電力制御装置。
【請求項４】
前記電源制御部は、前記ハードウェアをオン状態にしたことを報知する
請求項３に記載の電力制御装置。
【請求項５】
ハードウェアの全ハードウェアリソースの使用率に基づいた消費電力を算出する消費電力算出部
を備える消費電力算出装置。
【請求項６】
前記消費電力算出部は、ビットストリームデータとして取得したプログラムにより構成が決定されるハードウェアの全ハードウェアリソースの使用率に基づいた消費電力を算出する
請求項５に記載の消費電力算出装置。
【請求項７】
ハードウェアの全ハードウェアリソースの使用率に基づいた消費電力を算出する消費電力算出部を備える消費電力算出装置と、
情報処理に要求される要求仕様を満足するように、複数の前記複数のハードウェアの組み合わせを特定し、特定した各ハードウェアの構成に基づいた消費電力に応じた電力を供給するように複数の電源ユニットのオン状態／オフ状態を制御する電源制御部を備える電力制御装置と、
を備えるコンピュータシステム。
【請求項８】
情報処理に要求される要求仕様を満足するように、複数のハードウェアの組み合わせを特定し、特定した各ハードウェアの構成に基づいた消費電力に応じた電力を供給するように複数の電源ユニットのオン状態／オフ状態を制御する電力制御方法。
【請求項９】
ハードウェアの全ハードウェアリソースの使用率に基づいた消費電力を算出し、
情報処理に要求される要求仕様を満足するように、複数の前記複数のハードウェアの組み合わせを特定し、特定した各ハードウェアの構成に基づいた消費電力に応じた電力を供給するように複数の電源ユニットのオン状態／オフ状態を制御する電力制御方法。
【請求項１０】
電力制御装置のコンピュータを、
情報処理に要求される要求仕様を満足するように、複数のハードウェアの組み合わせを特定し、特定した各ハードウェアの構成に基づいた消費電力に応じた電力を供給するように複数の電源ユニットのオン状態／オフ状態を制御する電源制御手段
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電力制御装置、消費電力算出装置、コンピュータシステム、電力制御方法、及びプログラムに関する。
【背景技術】
【０００２】
コンピュータシステムにおいて消費電力を低減することは、エネルギコストや処理性能などの点から望ましい。
特許文献１と特許文献２には、関連する技術として、コンピュータのハードウェア構成をプログラミングで設定するシステムにおける消費電力を低減する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１５１９２号公報
【特許文献２】特開２０１０−９７２５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、特許文献1に記載されている技術を用いてコンピュータのハードウェア構成をプログラミングで設定するシステム（以下、記載されている技術を用いたシステム）における消費電力を低減する場合、複数の仮想マシンが１つのハードウェアリソースを同時に使用する。そのため、特許文献１に記載されている技術を用いたシステムでは、他のユーザに割り当てられた仮想マシンの情報処理が自分に割り当てられた仮想マシンの情報処理を妨げる恐れがある。
【０００５】
そこで、特許文献２に記載されている技術を用いたシステムのように１つのＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が１台の物理サーバを占有することが考えられる。しかしながら、要求される性能は確保されるものの、実行される情報処理の繁閑の差により電力の利用効率が悪くなる恐れがある。
【０００６】
そのため、ハードウェアにおいて、要求される性能を確保し、かつ、電力の利用効率をよくすることができる技術が求められていた。
【０００７】
そこでこの発明は、上記の課題を解決することのできる電力制御装置、消費電力算出装置、コンピュータシステム、電力制御方法、及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の電力制御装置は、電源制御部を備える。前記電源制御部は、情報処理に要求される要求仕様を満足するように、複数のハードウェアの組み合わせを特定する。前記電源制御部は、特定した各ハードウェアの構成に基づいた消費電力に応じた電力を供給するように複数の電源ユニットのオン状態／オフ状態を制御する。
【０００９】
また本発明の消費電力算出装置は、消費電力算出部を備える。前記消費電力算出部は、ハードウェアの全ハードウェアリソースの使用率に基づいた消費電力を算出する。
【００１０】
また本発明のコンピュータシステムは、消費電力算出装置と、電力制御装置と、を備える。前記消費電力算出装置は、消費電力算出部を備える。前記消費電力算出部は、ハードウェアの全ハードウェアリソースの使用率に基づいた消費電力を算出する。前記電力制御装置は、電源制御部を備える。前記電源制御部は、情報処理に要求される要求仕様を満足するように、複数の前記複数のハードウェアの組み合わせを特定する。前記電源制御部は、特定した各ハードウェアの構成に基づいた消費電力に応じた電力を供給するように複数の電源ユニットのオン状態／オフ状態を制御する。
【００１１】
また本発明の電力制御方法は、情報処理に要求される要求仕様を満足するように、複数のハードウェアの組み合わせを特定し、特定した各ハードウェアの構成に基づいた消費電力に応じた電力を供給するように複数の電源ユニットのオン状態／オフ状態を制御する方法である。
【００１２】
また本発明の電力制御方法は、ハードウェアの全ハードウェアリソースの使用率に基づいた消費電力を算出し、情報処理に要求される要求仕様を満足するように、複数の前記複数のハードウェアの組み合わせを特定し、特定した各ハードウェアの構成に基づいた消費電力に応じた電力を供給するように複数の電源ユニットのオン状態／オフ状態を制御する方法である。
【００１３】
また本発明のプログラムは、電力制御装置のコンピュータを、情報処理に要求される要求仕様を満足するように、複数のハードウェアの組み合わせを特定し、特定した各ハードウェアの構成に基づいた消費電力に応じた電力を供給するように複数の電源ユニットのオン状態／オフ状態を制御する電源制御手段として機能させるプログラムである。
【発明の効果】
【００１４】
本発明によれば、ハードウェアにおいて、要求される性能を確保し、かつ、電力の利用効率をよくすることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第一の実施形態による電力制御装置１０の最小構成の一例を示す図である。
【図２】本発明の第二の実施形態によるコンピュータシステム１の一例を示す図である。
【図３】本発明の第二の実施形態によるセルブレード１００の一例を示す図である。
【図４】本発明の実施形態によるＢＩＣ７が記憶する情報１６の一例を示す図である。
【図５】本発明の実施形態による電力制御装置１０を備えるコンピュータシステム１の電源オン時の処理の一例を示す図である。
【図６】本発明の実施形態による電力制御装置１０を備えるコンピュータシステム１のセルブレードプログラミング時の処理の一例を示す図である。
【図７】本発明の実施形態による電力制御装置１０を備えるコンピュータシステム１のセルブレードをオン状態にする処理の一例を示す図である。
【図８】本発明の実施形態による電力制御装置１０を備えるコンピュータシステム１のセルブレードをオフ状態にする処理の一例を示す図である。
【図９】本発明の実施形態によるコンピュータシステム１の概念の一例を示す図である。
【発明を実施するための形態】
【００１６】
＜第一の実施形態＞
図１は、本発明の第一の実施形態による電力制御装置１０の最小構成の一例を示す図である。
第一の実施形態による電力制御装置１０は、図１で示すように、少なくとも電源制御部１０１を備える。
電力制御装置１０が備える電源制御部１０１は、情報処理に要求される要求仕様を満足するように、複数のハードウェアの組み合わせを特定する。電源制御部１０１は、特定した各ハードウェアの構成に基づいた消費電力に応じた電力を供給するように複数の電源ユニットのオン状態／オフ状態を制御する。
【００１７】
次に、第一の実施形態による電力制御装置１０の処理の一例について説明する。
ここでは、電力制御装置１０と、複数のハードウェアと、複数の電源ユニットとを備えるシステムを例に第一の実施形態による電力制御装置１０の処理を説明する。
【００１８】
電力制御装置１０は、電源制御部１０１を備える。電源制御部１０１は、複数のハードウェアの構成を示す情報を取得する（ステップＳＡ）。例えば、複数のハードウェアがＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）により構成される場合、ハードウェアの設計段階で要求仕様を満足するコンフィグレーションプログラムが作成される。コンフィグレーションプログラムは、ハードウェアの構成を示すプログラムである。記憶部は、コンフィグレーションプログラムを記憶する。電源制御部１０１は、ＦＰＧＡがハードウェアを構成する際に記憶部から読み出すコンフィグレーションプログラムを取得する。これにより、電源制御部１０１は、複数のハードウェアの組み合わせを特定したことになる。
【００１９】
次に、電源制御部１０１は、複数のハードウェアの構成と対応する消費電力の情報を取得する（ステップＳＢ）。例えば、記憶部は、コンフィグレーションプログラムと対応する電気的特性をデータテーブルＴ１として記憶している。電気的特性は、コンフィグレーションプログラムに基づいて構成したハードウェアの消費電力を含んでいる。電源制御部１０１は、記憶部からデータテーブルＴ１を読み出す。電源制御部１０１は、取得したコンフィグレーションプログラムと、データテーブルＴ１におけるコンフィグレーションプログラムとを比較する。電源制御部１０１は、データテーブルＴ１において一致したコンフィグレーションプログラムに対応する消費電力を特定する。これにより、電源制御部１０１は、ハードウェアの構成に基づいて消費電力を特定したことになる。
【００２０】
システムが備える電源ユニットは、複数のハードウェアに電力を供給する電源である。電源制御部１０１は、ハードウェアの構成に基づいて消費電力を満足する電源ユニットの組み合わせを特定する（ステップＳＣ）。例えば、記憶部は、各電源ユニットと対応する電源ユニットが供給可能な電力をデータテーブルＴ２として記憶している。電源制御部１０１は、記憶部からデータテーブルＴ２を読み出す。電源制御部１０１は、特定した消費電力と、データテーブルＴ２とに基づいて、特定した消費電力を満足する電源ユニットの組み合わせを特定する。
電源制御部１０１は、特定した消費電力を満足する電源ユニットの組み合わせに基づいて、電源ユニットを制御する（ステップＳＤ）。例えば、電源制御部１０１は、特定した消費電力を満足する電源ユニットの組み合わせに含まれる電源ユニットのみをオン状態とする。電源制御部１０１は、その他の電源ユニットをオフ状態とする。
【００２１】
このようにすれば、ハードウェアにおいて、要求される性能を確保し、かつ、電力の利用効率をよくすることができる。
また、このようにすれば、ハードウェアにおいて、他のユーザに割り当てられた仮想マシンと自分に割り当てられた仮想マシンとが同一の管理ソフトウェア上に存在するようなことがない。そのため、各マシン間での情報の漏えいが発生する恐れはなく、セキュリティが確保される。
【００２２】
＜第二の実施形態＞
図２は、本発明の第二の実施形態によるコンピュータシステム１の一例を示す図である。
本発明の第二の実施形態によるコンピュータシステム１は、電力制御装置１０を有し、第一の実施形態による電源制御部１０１のより具体的な例を示すものである。
第二の実施形態によるコンピュータシステム１は、セルブレード１００（１００ａ、１００ｂ、１００ｃ）と、複数のセルブレード１００を実装可能なエンクロージャ（図示せず）と、全セルブレード１００が共有する複数の電源ユニット１４（１４ａ、１４ｂ）と、全セルブレード１００が共有する複数の冷却機構（図示せず）と、エンクロージャ全体の電源ユニット１４や冷却機構を管理するＥＭ（Ｅｎｃｌｏｓｕｒｅ  Ｍａｎａｇｅｍｅｎｔ  Ｍｏｄｕｌｅ）１１と、を備える。
なお、セルブレード１００は、セルブレード１００ａ、１００ｂ、１００ｃ、・・・の総称である。また、電源ユニット１４は、電源ユニット１４ａ、１４ｂ、・・・の総称である。
【００２３】
セルブレード１００と電源ユニット１４は、バスバー１５を介して接続されている。また、セルブレード１００と電源ユニット１４は、ユーザが管理しているＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）２２を介して接続されている。
【００２４】
ＥＭ１１は、電源制御部１０１を有する電力制御装置１０を備える。電源制御部１０１は、ユーザが例えばセルブレード１００の電源をオン状態にする操作を行うと、操作対象となる各セルブレード１００が備える各ＢＩＣ（Ｂｌａｄｅ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｃｈｉｐ）７（７ａ、７ｂ、７ｃ）が記憶している各セルブレード１００の消費電力を読み出す。なお、ＢＩＣ７は、ＢＩＣ７ａ、７ｂ、７ｃ、・・・の総称である。
電源制御部１０１は、読み出したセルブレード１００の消費電力に基づいて、現在オン状態である、例えば電源ユニット１４ａの供給している電力がオン状態にするセルブレード１００の消費電力に対して十分であるか否かを判定する。電源制御部１０１は、現在オン状態である電源ユニット１４ａが供給している電力がオン状態にするセルブレード１００の消費電力に対して十分ではないと判定した場合、現在オフ状態である電源ユニット１４ｂをオン状態にし、バスバー１５を介して各セルブレード１００に電力を供給する。
【００２５】
図３は、本発明の第二の実施形態によるセルブレード１００の一例を示す図である。
図３で示すセルブレード１００は、ＦＰＧＡ４と、ＢＭＣ（Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）５と、ＬＡＮ６と、ＢＩＣ７と、ＣＮＦロム（Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ））８と、ＢＩＯＳロム（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ  ＲＯＭ）９とを備える。また、セルブレード１００は、ＳＤＲＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＦＬＳＨ（Ｆｌａｓｈ  ｍｅｍｏｒｙ）、Ｓｔｏｒａｇｅなどの記憶部や、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）の入出力部を備える。
また、この図３では、セルブレード１００と共に、電源制御部１０１を有する電力制御装置１０を備えるＥＭ１１が示されている。
【００２６】
ＦＰＧＡ４は、セルブレード１００のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）として動作する回路である。
ＢＩＣ７は、ハードウェア固有の情報、例えば、ＦＰＧＡ４が搭載するチップの情報などを記憶している。
【００２７】
ＢＭＣ５は、消費電力算出部１０２を有する消費電力算出装置３０を備える。ＢＭＣ５は、ＬＡＮインターフェース６を介してＥＭ１１と接続されている。ＢＭＣ５が備える消費電力算出部１０２は、ＥＭ１１からＦＰＧＡ４においてハードウェアを構成するプログラムを含むビットストリームデータ１２と、ＦＰＧＡ４の全ハードウェアリソースの使用率を示す使用率情報１３とを受信する。
また、ＢＭＣ５が備える消費電力算出部１０２は、全ハードウェアリソースの使用率情報１３とＢＩＣ７が記憶しているハードウェアの情報とに基づいて、ＦＰＧＡ４に構成されるハードウェアの消費電力を算出する。消費電力算出部１０２は、算出した消費電力をＢＩＣ７に記録する。なお、消費電力算出部１０２が行うＦＰＧＡ４の消費電力の算出は、各セルブレード１００が備える各ＢＭＣ５において行われる。
また、ＢＭＣ５が備える消費電力算出部１０２は、ビットストリームデータ１２をＦＰＧＡ４のＣＮＦロム８に書き込む。
さらに、ＢＭＣ５が備える消費電力算出部１０２は、ＦＰＧＡ４において構成されるハードウェアに適したＢＩＯＳデータをＥＭ１１から受信し、ＢＩＯＳロム９に書き込む。
【００２８】
図４は、本発明の実施形態によるＢＩＣ７が記憶する情報１６の一例を示す図である。
図４で示す情報１６は、ＣＰＵ／ＩＯ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）／ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）などのセルブレード１００のボードタイプ１７の情報を含む。情報１６は、周波数、実装個数、ベンダ、製品名などのＦＰＧＡ４が搭載するチップの情報１８を含む。情報１６は、Ｅｔｈｅｒ／ＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ））／ＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）、ＩＯのバンド幅（周波数）、レーン数などのＩ／Ｏタイプ１９を含む。情報１６は、設定済み／空き、ｘ８６／ＡＲＭ（Ａｄｖａｎｃｅｄ  ＲＩＳＣ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ）  Ｍａｃｈｉｎｅ）／ＰＰＣ（Ｐｅｒｆｏｒｍａｎｃｅ  Ｏｐｔｉｍｉｚａｔｉｏｎ  Ｗｉｔｈ  Ｅｎｈａｎｃｅｄ  ＲＩＳＣ  ｆｏｒ  Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）／ＭＥＭ  ＣＯＮ／ＩＯなどの現在のステータス２０や、現在必要な電力２１を含む。
なお、情報１６に含まれるセルブレード１００のボードタイプ１７と、ＦＰＧＡ４が搭載するチップの情報１８と、Ｉ／Ｏタイプ１９は、読み出し専用の情報である。また、情報１６に含まれる現在のステータス２０と現在必要な電力２１は、書き替え可能な情報である。
【００２９】
次に、本発明の実施形態による電力制御装置１０を備えるコンピュータシステム１の処理フローについて説明する。
図５は、本発明の実施形態による電力制御装置１０を備えるコンピュータシステム１の電源オン時の処理の一例を示す図である。
図６は、本発明の実施形態による電力制御装置１０を備えるコンピュータシステム１のセルブレードプログラミング時の処理の一例を示す図である。
図７は、本発明の実施形態による電力制御装置１０を備えるコンピュータシステム１のセルブレードをオン状態にする処理の一例を示す図である。
図８は、本発明の実施形態による電力制御装置１０を備えるコンピュータシステム１のセルブレードをオフ状態にする処理の一例を示す図である。
本発明の実施形態による電力制御装置１０を備えるコンピュータシステム１の処理フローについて、図５〜図８を用いて説明する。
なお、本発明の実施形態によるコンピュータシステム１は、図２と図３で示した構成のコンピュータシステムであるものとする。また、ＢＩＣ７は、ＢＭＣ５を介して記録された様々な仕様の情報処理を行うハードウェアに対して、予めそれらの仕様とその仕様を実現するコンフィグレーションプログラムとが関連付けて記憶しているものとする。
【００３０】
まず、図５で示す電力制御装置１０を備えるコンピュータシステム１の電源オン時の初期化の処理について説明する。
コンピュータシステム１の電源がオンされると、ＥＭ１１と電源ユニット１４が起動する。また、コンピュータシステム１の電源がオンされると、セルブレード１００が備えるＢＭＣ５およびＢＭＣ５に接続されたＢＩＣなどの記憶部が待機状態となる。ＥＭ１１が起動すると、ＥＭ１１が備える電源制御部１０１は、各セルブレード１００が備える各ＢＭＣ５を介して図４で示したようなハードウェアに関する情報１６をＢＩＣ７から読み出す（ステップＳ１）。そして、電源制御部１０１は、読み出したハードウェアに関する情報１６のデータベースをＥＭ１１内に構築する（ステップＳ２）。
次に、電源制御部１０１は、供給可能な電力を問い合わせる供給可能電力信号を各電源ユニット１４に出力する（ステップＳ３）。
各電源ユニット１４は、ＥＭ１１から供給可能電力信号を入力すると、入力した供給可能電力信号に応じて、供給可能な電力を報知する供給可能電力報知信号をＥＭ１１に出力する（ステップＳ４）。
ＥＭ１１が備える電源制御部１０１は、各電源ユニット１４から供給可能電力報知信号を入力すると、入力した供給可能電力報知信号が示す供給可能な電力の総和を算出する（ステップＳ５）。
以上が第二の実施形態によるコンピュータシステム１の電源オン時の処理である。
【００３１】
次に、図６で示す電力制御装置１０を備えるコンピュータシステム１のセルブレードプログラミング時の処理について説明する。
ユーザは、必要なＣＰＵタイプ、メモリ容量、ハードディスク容量を指定するユーザ操作を行う（ステップＳ１１）。
ＥＭ１１が備える電源制御部１０１は、ユーザ操作に応じて、予め構築したＢＩＣ７が記憶するデータベースからユーザが指定した仕様を満足するセルブレード１００を検索する（ステップＳ１２）。電源制御部１０１は、ユーザが指定した仕様を満足するセルブレードを検出すると必要なＣＰＵを実現する、例えば、図３で説明したハードウェアを構成するプログラムを含むビットストリームデータ１２と構成されるハードウェアに適したＢＩＯＳデータとをＬＡＮインターフェース６を介してセルブレード１００が備えるＢＭＣ５に配信する（ステップＳ１３）。
【００３２】
ＢＭＣ５が備える消費電力算出部１０２は、配信されたビットストリームデータ１２をセルブレード１００内のＣＮＦロム８に書き込み、またＢＩＯＳデータをＢＩＯＳロム９に書き込み、ビットストリームデータ１２とＢＩＯＳデータの書き込み完了を通知する書き込み完了信号をＥＭ１１に出力する（ステップＳ１４）。
ＥＭ１１が備える電源制御部１０１は、ＢＭＣ５から書き込み完了信号を入力すると、ＢＭＣ５に配信したビットストリームデータ１２により決定されるハードウェアリソースの使用率をＢＭＣ５に出力する（ステップＳ１５）。
【００３３】
ＢＭＣ５が備える消費電力算出部１０２は、ＥＭ１１からハードウェアリソースの使用率を入力すると、ＢＩＣ７からＦＰＧＡ４の製品情報を読み出す。消費電力算出部１０２は、ＥＭ１１から入力したハードウェアリソースの使用率に基づいて、ビットストリームデータ１２により構成されるハードウェアの消費電力を算出する。消費電力算出部１０２は、算出したハードウェアの消費電力をＢＩＣ７に記録する。消費電力算出部１０２は、構成されるハードウェアの消費電力の算出が完了したことを報知する消費電力算出完了信号をＥＭ１１に出力する（ステップＳ１６）。
【００３４】
ＥＭ１１が備える電源制御部１０１は、ＢＭＣ５から消費電力算出完了信号を入力すると、コンピュータシステム１の利用準備が完了したことをユーザに報知する利用準備完了信号を出力し、報知する（ステップＳ１７）。例えば、電源制御部１０１は、利用準備完了信号を液晶ディスプレイやスピーカなどの出力部に出力する。出力部は、ＥＭ１１から入力した利用準備完了信号に基づいて、「利用準備が完了しました」などの文字や音声を出力することでユーザにコンピュータシステム１の利用準備の完了を報知する。
以上が第二の実施形態によるコンピュータシステム１のセルブレードプログラミング時の処理である。
【００３５】
次に、図７で示す電力制御装置１０を備えるコンピュータシステム１のセルブレードをオン状態にする処理について説明する。
ユーザは、コンピュータシステム１を管理するアプリケーションプログラムに対するユーザ操作またはセルブレード１００をオン状態にするＤＣ（Ｄｉｒｅｃｔ  Ｃｕｒｒｅｎｔ）ボタンに対するユーザ操作を行う。このユーザ操作は、例えば、ハードウェアの仕様の一覧が表示部に表示され、その一覧から要求仕様を満足するハードウェアを選択するユーザ操作である。このユーザ操作により、セルブレード１００をオン状態にするＤＣオンのリクエストがＥＭ１１に入力される（ステップＳ２１）。
【００３６】
ＥＭ１１が備える電源制御部１０１は、ＤＣオンのリクエストを入力すると、周辺装置として機能しているセルブレード１００も含め、オン状態にするセルブレード１００をＢＩＣ７が記憶しているデータベースから検索し、特定する（ステップＳ２２）。電源制御部１０１は、ユーザ操作により選択されたハードウェアの仕様を満足する構成のハードウェアの中から予め決めた優先順位に従い、例えば、全ハードウェアリソースの使用率の最も低い構成のハードウェアを検索し、特定する。なお、このとき、電源制御部１０１は、特定したセルブレード１００をオン状態とすることを示すフラグをデータベースに記録する。
ＥＭ１１が備える電源制御部１０１は、オン状態にするセルブレード１００を特定すると、特定したセルブレード１００が必要とする電力を問い合わせる要求消費電力信号を特定したセルブレード１００が備えるＢＭＣ５に出力する（ステップＳ２３）。
【００３７】
特定した各セルブレード１００が備えるＢＭＣ５の消費電力算出部１０２は、ＢＩＣ７が記憶している算出したセルブレード１００の消費電力を読み出す。ＢＭＣ５は、ＢＩＣ７から読み出したセルブレード１００が必要とする消費電力を報知する要求消費電力報知信号をＥＭ１１に出力する（ステップＳ２４）。
【００３８】
ＥＭ１１が備える電源制御部１０１は、ＢＭＣ５から要求消費電力報知信号を入力すると、ステップＳ１の処理で取得した各電源ユニット１４の供給可能な電力の総和が、入力した要求消費電力報知信号の示すセルブレード１００が必要とする消費電力よりも大きいか否かを判定する（ステップＳ２５）。
ＥＭ１１が備える電源制御部１０１は、ステップＳ１の処理で取得した各電源ユニット１４の供給可能な電力の総和が、入力した要求消費電力報知信号の示すセルブレード１００が必要とする消費電力よりも大きいと判定した場合、各セルブレード１００が備えるＢＭＣ５に対してＤＣオンの指示を出力する（ステップＳ２６）。
また、ＥＭ１１が備える電源制御部１０１は、ステップＳ１の処理で取得した各電源ユニット１４の供給可能な電力の総和が、入力した要求消費電力報知信号の示すセルブレード１００が必要とする消費電力よりも小さいまたは同一と判定した場合、前記供給可能な電力の総和が前記必要とする消費電力よりも大きくなるようにオフ状態の電源ユニット１４をオン状態にする。そして、電源制御部１０１は、各セルブレード１００が備えるＢＭＣ５に対してＤＣオンの指示を出力する。
【００３９】
ＢＭＣ５が備える消費電力算出部１０２は、ＥＭ１１からＤＣオンの指示を入力すると、自身のＢＭＣ５を備えるセルブレード１００をオン状態にする。消費電力算出部１０２は、セルブレード１００のＤＣオンが完了したことを報知するＤＣオン完了信号をＥＭ１１に出力する（ステップＳ２７）。
ＥＭ１１が備える電源制御部１０１は、ＢＭＣ５からＤＣオン完了信号を入力すると、ユーザにセルブレード１００のＤＣオンが完了したことを報知するＤＣオン報知信号を出力し、報知する（ステップＳ２８）。例えば、ＥＭ１１が備える電源制御部１０１は、ＤＣオン報知信号を液晶ディスプレイやスピーカなどの出力部に出力する。出力部は、ＥＭ１１から入力したＤＣオン報知信号に基づいて、「セルブレードのＤＣオンが完了しました」などの文字や音声を出力することでユーザにセルブレード１００のＤＣオンが完了したことを報知する。
以上が第二の実施形態による電力制御装置１０を備えるコンピュータシステム１のセルブレードをオン状態にする処理である。
【００４０】
次に、図８で示す電力制御装置１０を備えるコンピュータシステム１のセルブレードをオフ状態にする処理について説明する。
ユーザは、コンピュータシステム１を管理するアプリケーションプログラムに対するユーザ操作またはセルブレード１００をオフ状態にするＤＣ（Ｄｉｒｅｃｔ  Ｃｕｒｒｅｎｔ）ボタンに対するユーザ操作を行う。このユーザ操作は、例えば、表示部に表示されるオフ状態を選択するユーザ操作である。このユーザ操作により、セルブレード１００をオフ状態にするＤＣオフのリクエストがＥＭ１１に入力される（ステップＳ３１）。
【００４１】
ＥＭ１１が備える電源制御部１０１は、ＤＣオフのリクエストを入力すると、周辺装置として機能しているセルブレード１００も含め、オフ状態にするセルブレード１００をＢＩＣ７が記憶しているデータベースから検索し、特定する（ステップＳ３２）。例えば、電源制御部１０１は、データベースに記録されているオン状態を示すフラグを検索し、フラグを検出したセルブレード１００をオフ状態にするセルブレード１００であると特定する。
電源制御部１０１は、オフするセルブレード１００を特定すると、ＤＣオフを指示するＤＣオフ信号を特定したセルブレード１００が備えるＢＭＣ５に出力する（ステップＳ３３）。
【００４２】
ＢＭＣ５が備える消費電力算出部１０２は、ＥＭ１１からＤＣオフの指示を入力すると、自身のＢＭＣ５を備えるセルブレード１００をオフする。消費電力算出部１０２は、セルブレード１００のＤＣオフが完了したことを報知するＤＣオフ完了信号をＥＭ１１に出力する（ステップＳ３４）。
ＥＭ１１が備える電源制御部１０１は、ＢＭＣ５からＤＣオフ完了信号を入力すると、ユーザにセルブレード１００のＤＣオフが完了したことを報知するＤＣオフ報知信号を出力し、報知する（ステップＳ３５）。例えば、電源制御部１０１は、ＤＣオフ報知信号を液晶ディスプレイやスピーカなどの出力部に出力する。出力部は、ＥＭ１１から入力したＤＣオフ報知信号に基づいて、「セルブレードのＤＣオフが完了しました」などの文字や音声を出力することでユーザにセルブレード１００のＤＣオフが完了したことを報知する。
以上が第二の実施形態による電力制御装置１０を備えるコンピュータシステム１のセルブレードをオフ状態にする処理である。
【００４３】
図９は、本発明の実施形態によるコンピュータシステム１の概念の一例を示す図である。
図９で示すコンピュータシステム１は、ユーザのリクエスト２により、ハードウェアリソース３から１台のＡＲＭコアを持つコンピュータが割り当てられた状況を示している。本発明では、ＡＲＭコアを持つコンピュータは、例えばＡＲＭコアを搭載するＦＰＧＡ４であり、プログラムによりハードウェアの構成が決定される。
【００４４】
以上、本発明の第二の実施形態による電力制御装置１０、消費電力算出装置３０、及びコンピュータシステム１の処理フローについて説明した。上述の電力制御装置１０が備える電源制御部１０１により、情報処理を行うハードウェアの仕様を満足するプログラムを特定し、当該特定したプログラムにより決定されるハードウェアリソースの使用率に基づいて算出したハードウェアが必要とする消費電力に応じた電力を供給するように電源ユニット１４を制御する。
このようにすれば、プログラムにより構成が決定されるハードウェアにおいて、要求される性能を確保し、かつ、電力の利用効率をよくすることができる。
また、このようにすれば、プログラムにより構成が決定されるハードウェアにおいて、他のユーザに割り当てられた仮想マシンと自分に割り当てられた仮想マシンとが同一の管理ソフトウェア上に存在するようなことがない。そのため、各マシン間での情報の漏えいが発生する恐れはなく、セキュリティが確保される。
また、消費電力算出装置３０が備える消費電力算出部１０２により、ハードウェアリソースの使用率とハードウェアの情報とに基づいて、情報処理を行うハードウェアが構成された際の消費電力を算出することができる。
【００４５】
なお、第二の実施形態では、ＦＰＧＡ４へのプログラミングの際に、ＥＭ１１がビットストリームデータ１２をＢＭＣ５に対して出力するものとして説明したが、それに限定するものではない。例えば、ＥＭ１１は、ビットストリームデータ１２の元となるソースファイルをＢＭＣ５に出力し、ＢＭＣ５がこのソースファイルをコンパイルしてビットストリームデータ１２を生成してもよい。この場合、ＢＭＣ５はより詳細なＦＰＧＡ４のハードウェアリソースの使用状況を入手する事が可能となり、より精度の高い消費電力の予想が可能となる。
【００４６】
また、第二の実施形態では、セルブレード１００のＤＣオン指示に対する問い合わせの結果、全ての電源ユニット１４の総供給電力がハードウェアの必要とする消費電力を下回った場合、起動していない電源ユニット１４を起動し、供給する電力を増やすことでハードウェアが必要とする電力を満足させるものとして説明した。しかしながら、それに限定するものではなく、例えば、起動対象となっているセルブレード１００のビットストリームデータ１２をより消費電力の低いセルブレード１００に変更、例えば、ＦＰＧＡ４のクロック周波数が１ギガヘルツのセルブレード１００からＦＰＧＡ４のクロック周波数が５００メガヘルツのセルブレード１００に変更して、消費電力を電源ユニット１４の総供給電力に収めた後にＤＣオンを行ってもよい。
【００４７】
なお、本発明におけるＢＩＣ７やその他の記憶部は、適切な情報の送受信が行われる範囲においてどこに備えられていてもよい。また、ＢＩＣ７やその他の記憶部は、適切な情報の送受信が行われる範囲において複数存在しデータを分散して記憶していてもよい。
【００４８】
なお本発明の実施形態における処理フローは、適切な処理が行われる範囲において、処理の順番が入れ替わってもよい。
【００４９】
なお本発明の実施形態について説明したが、上述の電力制御装置１０及び消費電力算出装置３０は内部に、コンピュータシステムを有している。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【００５０】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００５１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定するものではない。また、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができるものである。
【００５２】
なお、上記の実施形態の一部又は全部は、以下の付記の用にも記載されうるが、以下には限られない。
【００５３】
（付記１）情報処理に要求される要求仕様を満足するように、複数のハードウェアの組み合わせを特定し、特定した各ハードウェアの構成に基づいた消費電力に応じた電力を供給するように複数の電源ユニットのオン状態／オフ状態を制御する電源制御部
を備える電力制御装置。
【００５４】
（付記２）前記電源制御部は、前記複数の電源ユニットのうちオン状態の電源ユニットが供給可能な電力の総和が前記特定した各ハードウェアの構成に基づいた消費電力よりも小さいまたは同一である場合、前記オン状態の電源ユニットが供給可能な電力の総和が前記消費電力よりも大きくなるように、オフ状態の電源ユニットをオン状態にする
付記１に記載の電力制御装置。
【００５５】
（付記３）前記電源制御部は、前記オン状態の電源ユニットが供給可能な電力の総和が前記消費電力よりも大きい場合、前記ハードウェアをオン状態にする
付記１または付記２に記載の電力制御装置。
【００５６】
（付記４）前記電源制御部は、前記ハードウェアをオン状態にしたことを報知する
付記３に記載の電力制御装置。
【００５７】
（付記５）前記電源制御部は、ハードウェアの構成を決定する前記プログラムを出力する
付記１から付記４の何れか一に記載の電力制御装置。
【００５８】
（付記６）前記電源制御部は、前記プログラムをビットストリームデータとして出力する
付記５に記載の電力制御装置。
【００５９】
（付記７）前記電源制御部は、前記プログラムをビットストリームデータの元となるソースファイルとして出力する
付記５または付記６に記載の電力制御装置。
【００６０】
（付記８）ハードウェアの全ハードウェアリソースの使用率に基づいた消費電力を算出する消費電力算出部
を備える消費電力算出装置。
【００６１】
（付記９）前記消費電力算出部は、ビットストリームデータとして取得したプログラムにより構成が決定されるハードウェアの全ハードウェアリソースの使用率に基づいた消費電力を算出する
付記８に記載の消費電力算出装置。
【００６２】
（付記１０）前記消費電力算出部は、ビットストリームデータの元となるソースファイルとして取得したプログラムにより構成が決定されるハードウェアの全ハードウェアリソースの使用率に基づいた消費電力を算出する
付記８または付記９に記載の消費電力算出装置。
【００６３】
（付記１１）前記消費電力算出部は、前記算出した消費電力を記憶部に記録する
付記８から付記１０の何れか一に記載の消費電力算出装置。
【００６４】
（付記１２）ハードウェアの全ハードウェアリソースの使用率に基づいた消費電力を算出する消費電力算出部を備える消費電力算出装置と、
情報処理に要求される要求仕様を満足するように、複数の前記複数のハードウェアの組み合わせを特定し、特定した各ハードウェアの構成に基づいた消費電力に応じた電力を供給するように複数の電源ユニットのオン状態／オフ状態を制御する電源制御部を備える電力制御装置と、
を備えるコンピュータシステム。
【００６５】
（付記１３）情報処理に要求される要求仕様を満足するように、複数のハードウェアの組み合わせを特定し、特定した各ハードウェアの構成に基づいた消費電力に応じた電力を供給するように複数の電源ユニットのオン状態／オフ状態を制御する電力制御方法。
【００６６】
（付記１４）ハードウェアの全ハードウェアリソースの使用率に基づいた消費電力を算出する消費電力算出方法。
【００６７】
（付記１５）ハードウェアの全ハードウェアリソースの使用率に基づいた消費電力を算出し、
情報処理に要求される要求仕様を満足するように、複数の前記複数のハードウェアの組み合わせを特定し、特定した各ハードウェアの構成に基づいた消費電力応じた電力を供給するように複数の電源ユニットのオン状態／オフ状態を制御する電力制御方法。
【００６８】
（付記１６）電力制御装置のコンピュータを、
情報処理に要求される要求仕様を満足するように、複数のハードウェアの組み合わせを特定し、特定した各ハードウェアの構成に基づいた消費電力に応じた電力を供給するように複数の電源ユニットのオン状態／オフ状態を制御する電源制御手段
として機能させるプログラム。
【００６９】
（付記１７）消費電力算出装置のコンピュータを、
ハードウェアの全ハードウェアリソースの使用率に基づいた消費電力を算出する消費電力算出手段
として機能させるプログラム。
【符号の説明】
【００７０】
１・・・コンピュータシステム
２・・・リクエスト
３・・・ハードウェアリソース
４・・・ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）
５・・・ＢＭＣ（Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）
６・・・ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）インターフェース
７・・・ＢＩＣ（Ｂｌａｄｅ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｃｈｉｐ）
８・・・ＣＮＦロム（Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ））
９・・・ＢＩＯＳロム（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ  ＲＯＭ）
１０・・・電力制御装置
１１・・・ＥＭ（Ｅｎｃｌｏｓｕｒｅ  Ｍａｎａｇｅｍｅｎｔ  Ｍｏｄｕｌｅ）
１２・・・ビットストリームデータ
１３・・・使用率情報
１４、１４ａ、１４ｂ・・・電源ユニット
１５・・・バスバー
１６・・・ＢＩＣが記憶する情報
１７・・・セルブレードのタイプ
１８・・・チップの物理情報
１９・・・Ｉ／Ｏタイプ
２０・・・使用状況
２１・・・現在必要な電力
２２・・・ＬＡＮ
３０・・・消費電力算出装置
１００、１００ａ、１００ｂ、１００ｃ・・・セルブレード
１０１・・・電源制御部
１０２・・・消費電力算出部
【図１】
2015191298.tif 000003
【図２】
2015191298.tif 000004
【図３】
2015191298.tif 000005
【図４】
2015191298.tif 000006
【図５】
2015191298.tif 000007
【図６】
2015191298.tif 000008
【図７】
2015191298.tif 000009
【図８】
2015191298.tif 000010
【図９】
2015191298.tif 000011