(57)【要約】【課題】複合型計算機装置において計算機装置の稼動状況が変わっても電力効率が悪化せずに無駄な消費電量を削減することが可能な電源モジュールの管理技術を提供することにある。【解決手段】複合型計算機装置100において、オペレーションシステム1101が負荷状況によりプロセッサ1021をプロセッサのスリープ状態へ移行する命令を発行する場合に管理用ネットワークMIを用いて管理モジュール107にプロセッサの状態の変更を通知する。管理モジュール107は、システム情報108としてCPUモジュール稼動情報、プロセッサの状態情報、プロセッサ消費電力情報を保持しており、プロセッサの状態変更によりシステム情報108を更新し、このシステム情報108から複合型計算機装置100に必要な消費電力を計算し、必要なAC-DC電源モジュール1061、1062、…の稼動台数を決定し、制御用インターフェースPAにより稼働台数を変更する。【選択図】図１
2006302059.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、前記プロセッサに電源を供給するDC-DC電源とを有する少なくとも一つのCPUモジュールと、
前記CPUモジュールごとに接続され前記DC-DC電源に前記プロセッサの稼動状態に合わせて必要な電源量を供給するAC-DC電源を有するAC-DC電源モジュールと、
前記プロセッサの非稼動時においても電源供給制御を行い、前記AC-DC電源モジュールと電源制御用インターフェースで接続され前記AC-DC電源モジュールの出力制御を行う前記CPUモジュールに搭載されたCPUモジュールコントローラと、
管理用インターフェースを介して前記CPUモジュールコントローラと接続され前記CPUモジュールの電源制御を行う管理モジュールと、を備え、
前記管理モジュールは、前記プロセッサのステータス情報と、前記CPUモジュール稼動情報と、前記プロセッサ種毎の消費電力情報とを含むシステム情報を保持し、
前記システム情報に基づいて、前記CPUモジュールごとに必要とする消費電力を計算し、
その計算された消費電力を確保するのに必要なAC-DC電源モジュールの稼動数を計算し、その計算結果に応じて前記AC-DC電源モジュールの稼動台数を決定することを特徴とする複合型計算機装置。
【請求項２】
前記CPUモジュールコントローラは、前記プロセッサの状態変更を前記管理モジュールへ通知し、前記管理モジュールは、前記通知に基づき前記管理モジュールに保持されたシステム情報を更新し、更新された前記システム情報に基づき前記AC-DC電源モジュールの稼動数を計算し、その計算結果に応じて前記AC-DC電源モジュールの稼動台数を決定することを特徴とする請求項１に記載の複合型計算機装置。
【請求項３】
前記プロセッサ種ごとの消費電力情報は、通常稼動、休止(高速復帰)、休止(低速復帰)、および停止のステータスを有し、各ステータスにおける必要電源容量は前記AC-DC電源モジュールのON/OFF切換え動作スピードにあわせて決定されることを特徴とする請求項１に記載の複合型計算機装置。
【請求項４】
各装置に電力を供給する少なくとも一つのAC-DC電源を有するAC-DC電源モジュールと、
少なくとも一つのプロセッサを搭載し、前記AC-DC電源モジュールから供給される電力をDC-DC変換するDC-DC電源を搭載し、前記プロセッサの非稼動時にも電源供給制御を行い、前記AC-DC電源モジュールと電源制御用インターフェースで接続されAC-DC電源モジュールの出力制御を行うCPUモジュールコントローラとを搭載したCPUモジュールと、
管理用のインターフェースに接続され前記CPUモジュールの電源制御を行う管理モジュールと、
前記CPUモジュールの電源ON時にはCPUモジュール毎に稼動するオペレーションシステムおよびシステムファームウェアとを有し、
前記プロセッサがスリープ状態を有する場合に、
前記プロセッサのスリープ状態として少なくとも一つの状態、または前記CPUモジュール毎にシステムのスリープ状態として少なくとも一つの状態、のいずれかのスリープ状態を持ち、
前記CPUモジュールコントローラは、
前記プロセッサの状態が通常稼動状態からスリープ状態に遷移する場合には、
前記システムファームウェアから通知されるスリープ状態への遷移命令により、一定時間スリープするためのタイマ機能を持ち、
また前記管理モジュールへプロセッサ状態変更を通知する機能を持ち、
前記プロセッサの状態がスリープ状態から通常稼動状態に遷移する場合には、
前記タイマ機能復帰を契機に前記管理モジュールへのプロセッサ状態変更を通知する機能を持ち、
前記管理モジュールからの前記AC-DC電源モジュールの設定完了通知を受けてスリープから通常稼動状態に戻る割り込みをプロセッサに投入する機能を持ち、
前記管理モジュールは、システム情報として、CPUモジュールの電源ONまたはOFFと、前記CPUモジュールのシステムの通常稼動状態およびスリープ状態と、搭載されたプロセッサの種類の情報とを含むCPUモジュール稼動情報を持ち、
プロセッサ情報として、前記CPUモジュール内のプロセッサの通常稼動状態およびスリープ状態のプロセッサの状態情報と、前記プロセッサの種類毎に、それぞれの状態に必要となるプロセッサ消費電力情報を持ち、
前記プロセッサの状態が通常稼動状態からスリープ状態に遷移する場合または前記プロセッサの状態がスリープ状態から通常稼動状態に遷移する場合には、
前記CPUモジュールコントローラからのプロセッサ状態変更の通知を受けて、前記CPUモジュール稼動情報と、前記プロセッサの状態情報と、前記プロセッサ消費電力情報とから複合型計算機装置全体に必要となる消費電力を計算し、その消費電力に基づいてAC-DC電源モジュールの稼動数を計算し、AC-DC電源モジュール稼動数の変更が必要な場合はAC-DC電源モジュールの稼動数を変更する制御を行う機能を持ち、
前記CPUモジュールコントローラへ前記AC-DC電源モジュールが安定して稼動していることを示す設定完了を通知する機能を持つことを特徴とする複合型計算機装置。
【請求項５】
請求項４記載の複合型計算機装置において、
前記システムのスリープ状態を持つ場合、
前記CPUモジュールコントローラは、
前記システムの状態が通常稼動状態からスリープ状態に遷移する場合に、
前記システムファームウェアからの通知されるスリープ状態への遷移命令により、管理モジュールへのプロセッサ状態変更を通知する機能を持ち、
前記システムの状態がスリープ状態から通常稼動状態に遷移する場合に、
前記管理モジュールからの通知されるCPUモジュールの起動要求を契機にCPUモジュールを起動させる機能を持ち、
前記管理モジュールは、システムの状態が通常稼動状態からスリープ状態に遷移する場合に、
前記CPUモジュールコントローラからのシステム状態変更の通知を受けて、前記CPUモジュール稼動情報と、前記プロセッサの状態情報と、前記プロセッサ消費電力情報とから複合型計算機装置全体に必要となる消費電力を計算し、その消費電力に基づいて前記AC-DC電源モジュールの稼動数を計算し、AC-DC電源モジュール稼動数の変更が必要な場合はAC-DC電源モジュールの稼動数を変更する制御を行う機能を持ち、
前記システムの状態がスリープ状態から通常稼動状態に遷移する場合に、
前記CPUモジュールの電源投入契機を受ける機能を持ち、
前記CPUモジュール稼動情報と、前記プロセッサの状態情報と、前記プロセッサ消費電力情報とから複合型計算機装置全体に必要となる消費電力を計算し、その消費電力に基づいてAC-DC電源モジュールの稼動数を計算し、AC-DC電源モジュール稼動数の変更が必要な場合はAC-DC電源モジュールの稼動数を変更する制御を行う機能を持ち、
前記CPUモジュールコントローラへCPUモジュールの起動要求を通知する機能を持つことを特徴とする複合型計算機装置。
【請求項６】
請求項４記載の複合型計算機装置で、
前記CPUモジュールに搭載されたプロセッサが、２つ以上のプロセッサコア持つ場合、
前記管理モジュールは、前記プロセッサの状態情報として、
前記CPUモジュール内のプロセッサのコア毎の通常稼動状態およびスリープ状態と、
前記CPUモジュールのシステムの通常稼動状態およびスリープ状態とを持ち、
この情報を基に、前記プロセッサの通常稼動状態とスリープ状態の遷移の際に、
前記複合型計算機装置全体に必要となる消費電力を計算し、その消費電力に基づいて
前記AC-DC電源モジュールの稼動数を計算し、前記AC-DC電源モジュール稼動数の変更が必要な場合はAC-DC電源モジュールの稼動数を変更する制御を行う機能を持つことを特徴とする複合型計算機装置。
【請求項７】
装置全体に電力を供給する少なくとも一つのAC-DC電源モジュールと、
少なくとも一つのプロセッサを搭載し、前記AC-DC電源モジュールから供給される電力をDC-DC変換するDC-DC電源を搭載し、前記プロセッサの非稼動時にも電源供給制御を行い、前記AC-DC電源モジュールと電源制御用インターフェースで接続されAC-DC電源モジュールの出力制御を行うCPUモジュールコントローラを搭載したCPUモジュールと、
管理用のインターフェースで接続され前記CPUモジュールの電源制御を行う管理モジュールと、
前記CPUモジュールの電源ON時にはCPUモジュール毎に稼動するオペレーションシステムおよびシステムファームウェアとを有し、
前記プロセッサがスリープ状態を有する場合に、
前記プロセッサのスリープ状態として少なくとも一つの状態、または前記CPUモジュール毎にシステムのスリープ状態として少なくとも一つの状態のいずれか一方のスリープ状態を持ち、
前記プロセッサの状態が通常稼動状態からスリープ状態に遷移する場合に、
前記CPUモジュール上で稼動する前記オペレーションシステムは、前記システムファームウェアにプロセッサの状態を通常稼動状態からスリープ状態へ遷移させる命令を通知し、この通知によりCPUモジュール上で稼動する前記システムファームウェアは、前記CPUモジュールコントローラにプロセッサ状態変更を通知し、
また前記プロセッサに対してスリープ制御を行い、前記CPUモジュールコントローラは前記プロセッサ管理モジュールにプロセッサ状態変更を通知し、この通知により前記プロセッサ管理モジュールは前記プロセッサCPUモジュールのプロセッサの通常稼動状態およびスリープ状態のプロセッサの状態情報を更新し、このプロセッサの状態情報と、前記プロセッサCPUモジュールの電源ONおよびOFF状態と、前記プロセッサCPUモジュールのシステムの通常稼動状態およびスリープ状態および搭載されたプロセッサの種類の情報を持つCPUモジュール稼動情報と、各プロセッサ種類に対して各状態に必要となるプロセッサ消費電力情報と、を用いて複合型計算機装置全体に必要となる消費電力を計算し、前記消費電力に基づき前記AC-DC電源モジュールの稼動数を計算し、前記AC-DC電源モジュール稼動数の変更が必要な場合はAC-DC電源モジュールの稼動数を変更する制御を行うことを特徴とする複合型計算機装置の管理方法。
【請求項８】
請求項６記載の複合型計算機装置の管理方法において、
前記プロセッサのスリープ状態を持つ場合でプロセッサの状態がスリープ状態から通常稼動状態に遷移する場合に、
前記CPUモジュールコントローラに設定されたタイマのタイムアウトにより管理モジュールにプロセッサの状態変更を通知し、この通知により管理モジュールは前記プロセッサの状態情報を更新し、このプロセッサの状態情報と、前記稼動情報と、前記プロセッサ消費電力情報とを用いて複合型計算機装置全体に必要となる消費電力を計算し、この消費電力に基づいて必要なAC-DC電源モジュールの稼動数を計算し、前記AC-DC電源モジュール稼動数の変更が必要な場合はAC-DC電源モジュールの稼動数を変更する制御を行い、前記AC-DC電源モジュールの稼動状態確認後、前記管理モジュールは前記CPUモジュールコントローラにAC-DC電源モジュール制御完了の通知し、この通知により前記CPUモジュールコントローラは前記プロセッサに対して通常稼動状態へ遷移するための割込み信号を出すことを特徴とする複合型計算機装置の管理方法。
【請求項９】
請求項６記載の複合型計算機装置の管理方法において、
前記システムのスリープ状態を持つ場合で前記システムの状態が通常稼動状態からスリープ状態に遷移する場合に、
前記CPUモジュール上で稼動する前記オペレーションシステムはシステムファームウェアにシステムの状態を通常稼動状態からスリープ状態へ遷移させる命令を通知し、この通知によりCPUモジュール上で稼動する前記システムファームウェアは前記CPUモジュールコントローラにシステム状態変更を通知し、またシステムに対してスリープ制御を行い、前記CPUモジュールコントローラは管理モジュールにシステム状態変更を通知し、この通知により管理モジュールは前記プロセッサの状態情報および前記CPUモジュール稼動情報とを更新し、このプロセッサの状態情報と、CPUモジュール稼動情報と、前記プロセッサ消費電力情報と、により複合型計算機装置全体に必要となる消費電力を計算し、AC-DC電源モジュールの稼動数を計算し、AC-DC電源モジュール稼動数の変更が必要な場合はAC-DC電源モジュールの稼動数を変更する制御を行うことを特徴とする複合型計算機装置の管理方法。
【請求項１０】
請求項６記載の複合型計算機装置の管理方法において、
前記システムのスリープ状態を持つ場合でシステムの状態がスリープ状態から通常稼動状態に遷移する場合に、
前記管理モジュールは、CPUモジュールの電源投入契機を受け、前記プロセッサの状態情報および前記CPUモジュール稼動情報とを更新し、このプロセッサの状態情報と、CPUモジュール稼動情報と、前記プロセッサ消費電力情報と、を用いて複合型計算機装置全体に必要となる消費電力を計算し、この消費電力に基づいてAC-DC電源モジュールの稼動数を計算し、前記AC-DC電源モジュール稼動数の変更が必要な場合はAC-DC電源モジュールの稼動数を変更する制御い、前記AC-DC電源モジュールの稼動状態確認後、前記管理モジュールは、前記CPUモジュールコントローラにCPUモジュールの電源投入命令を通知し、この通知により前記CPUモジュールコントローラはCPUモジュールを起動させることを特徴とする複合型計算機装置の管理方法。
【請求項１１】
請求項６記載の複合型計算機装置の管理方法において、CPUモジュールに搭載されたプロセッサが２つ以上のプロセッサコアを持つ場合、
前記管理モジュールは、前記プロセッサの状態情報として、前記CPUモジュール内のプロセッサのコア毎の通常稼動状態およびスリープ状態と、前記CPUモジュールのシステムの通常稼動状態およびスリープ状態とを持ち、
この情報を基に、前記プロセッサの通常稼動状態とスリープ状態の遷移の際に、複合型計算機装置全体に必要となる消費電力を計算することを特徴とする複合型計算機装置の管理方法。
【請求項１２】
請求項６記載の複合型計算機装置の管理方法において、
前記管理モジュールで計算される複合型計算機装置全体に必要となる消費電力から算出されるAC-DC電源モジュールの稼動数を、前記必要となる消費電力を供給するのに最小限必要とされる稼働台数に対して１台追加した稼働台数とし、AC-DC電源モジュールの稼動数の制御を行うことを特徴とする複合型計算機装置の管理方法。
【請求項１３】
請求項６記載の複合型計算機装置の管理方法において、
前記CPUモジュールコントローラのタイマ機能によるプロセッサのスリープ時間を、前記管理モジュールによるAC-DC電源モジュールの制御時間を差し引いた時間に設定することを特徴とする複合型計算機装置の管理方法。
【請求項１４】
請求項６記載の複合型計算機装置の管理方法において、
前記管理モジュールが持つ前記プロセッサ消費電力情報として、プロセッサのスリープ時間と前記管理モジュールによるAC-DC電源モジュールの制御時間との関係で、プロセッサのスリープ時間が長いときは、消費電力を０Ｗまたはプロセッサのスリープ時の消費電力値とし、プロセッサのスリープ時間が短いときはプロセッサの通常時の消費電力値とすることを特徴とする複合型計算機装置の管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機装置における管理技術に関して、特に１つの筐体に複数の計算機装置を搭載した複合型計算機装置における電源の制御に適用して有効な技術に関するものである。
【背景技術】
【０００２】
企業で用いられる業務システム内のWEBサーバ、アプリケーションサーバ、データベースサーバには、プロセッサ、メモリ、IOデバイス、ストレージデバイス等で構成した計算機装置が用いられる。近年、計算機装置の省スペース性やシステム内のサーバを一箇所に配置し統合して管理をすること等を狙った複合型計算機装置が用いられるようになっている。複合型計算機装置としては、ブレードサーバが良く知られている。このブレードサーバは、CPUモジュールもしくはCPUブレードと呼ばれる薄いケース内にCPU、メモリ、HDD等の計算機装置の部品が搭載され、このCPUモジュールをシャーシもしくはエンクロジャと呼ばれるケース内に複数枚搭載することにより高密度な複合型計算機装置を実現し、従来の計算機装置に比べ省スペース性が可能となっている。また、ブレードサーバにはシャーシ内の計算機装置部品に対して電力を供給するためのAC-DC電源モジュールが搭載されていて、１個のAC-DC電源モジュールの障害時でも複合型計算機装置が稼動し続けることができるように、AC-DC電源モジュールを複数個搭載するのが一般的である。このような複数の計算機装置の統合管理を実現のために、ブレードサーバにはシャーシ内に搭載されたCPUモジュールやAC-DC電源モジュール等の計算機装置を構成するモジュールの制御および管理を行う管理モジュールを搭載しているのが一般的である。管理モジュールでは、例えばCPUモジュールやAC-DC電源モジュール等のモジュールの電源ON/OFFの制御や、CPUモジュールやシャーシ内の温度のモニター、CPUモジュールやAC-DC電源モジュール等のモジュールの障害監視および障害処理を行う。ブレードサーバの管理者は、この管理モジュールに例えばtelnet等の手段によりアクセスし、ブレードサーバ内の計算機装置の電源のON/OFF等を管理することが可能となっている。さらに、計算機装置上で稼動するオペレーションシステムやアプリケーション等を含めたシステム管理を行うためには、ブレードサーバの外部の計算機装置上いわゆる管理サーバで稼動する管理ソフトウェアを用いる。この管理サーバは、上で述べた管理モジュールと管理ネットワーク、例えばローカルエリアネットワーク（LAN）で接続され、管理モジュールと通信を行うことによりブレードサーバ内の計算機装置の電源のON/OFF等を管理することが可能となっている。また、この管理サーバはブレードサーバ内の個々の計算機装置と管理ネットワークで接続され、計算機装置上で稼動するオペレーションシステムやアプリケーション等の管理を行う。管理ソフトウェアと計算機装置の通信には、計算機装置上で動作するエージェントソフトウェアを用いることが一般的である。
【０００３】
なお、この種のブレードサーバについては特許文献１（「カートリッジ型サーバユニットおよび該サーバユニット搭載用筐体」）に記載されている。
【０００４】
【特許文献１】特開２００２−３２１５３号公報
【特許文献２】米国特許ＵＳ６、７８５、８２７号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、上記のような複合型計算機装置におけるAC-DC電源モジュールの管理では、次のような問題点があることが本発明者により見い出された。
【０００６】
すなわち、AC-DC電源モジュールに必要な出力電力の最大値は、シャーシ内に搭載される計算機装置の構成要素である全モジュールが稼動時に必要な最大の消費電力値で決められているため、シャーシ内の一部の計算機装置が電源OFFの状態である場合やスリープ状態にある場合や、計算機装置に搭載されたプロセッサがスリープ状態にある場合には、消費電力が少なくなるためシャーシ内の計算機装置の稼動のために過剰な出力電力を持つAC-DC電源モジュールにより電力が供給されることになる。この場合にはAC-DC電源モジュール一台あたりの出力電力がAC-DC電源モジュールの最大出力電力値よりも少ない低負荷状態で稼動することになる。一般的にAC-DC電源は、低負荷状態では効率が悪いため、必要な消費電力に対して、無駄な消費電力を消費してしまう。図１６は、典型的なAC-DC電源の負荷（横軸）に対する消費電力（縦軸）の関係を示したグラフである。図１６の曲線1601は、AC-DC電源の出力に接続された負荷に対してAC-DC電源が消費する電力を示している。この図１６から、負荷が0の状態でも消費電力としてW0が必要であることが分かる。このW0の値についてはAC-DC電源の性能に依存するが、計算機装置に用いられるAC-DC電源では、10ワット（Ｗ）〜50ワット（Ｗ）程度ある。低負荷時LLでは、電源の効率が悪く無駄な消費電力が大きい。一方、通常負荷時SLでは、電源の効率が良く無駄な消費電力は小さい。ブレードサーバでは複数のAC-DC電源モジュールを搭載するため、
（無駄な消費電力（Ｗ））×（AC-DC電源モジュールの個数）  （Ｗ）
だけ無駄な消費電力が発生してしまうという問題がある。
【０００７】
このような問題に対する公知例として、特許文献２（「System for determining servers power supply requirement by sampling power usage values thereof at a rate based upon the criticality of its availability」）がある。この公知例では、システム内で個々の計算機装置に必要な消費電力をモニターして、その合計により必要な電力消費量を算出し、その電力消費量に応じて必要なAC-DC電源の個数を決定するという技術である。しかしながら、この公知例の方式では、急に多くの計算機装置を電源ON状態にする場合、システムがスリープ状態から通常稼動状態に復帰する場合、または、プロセッサがスリープ状態から通常稼動状態に復帰する場合において、消費電力のモニターによって最大消費電力を計算し必要な電源の個数を決定する方法では急な消費電力の増加に対応できないという問題がある。
【０００８】
本発明の目的は、このような急に消費電力が変化するような場合でも、AC-DC電源モジュールの稼働台数の制御を行い、無駄な消費電力を削減することが可能となる技術を提供することにある。
【０００９】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
上記目的は、
（１）プロセッサと、前記プロセッサに電源を供給するDC-DC電源とを有する少なくとも一つのCPUモジュールと、前記CPUモジュールごとに接続され前記DC-DC電源に前記プロセッサの稼動状態に合わせて必要な電源量を供給するAC-DC電源を有するAC-DC電源モジュールと、前記プロセッサの非稼動時においても電源供給制御を行い、前記AC-DC電源モジュールと電源制御用インターフェースで接続され前記AC-DC電源モジュールの出力制御を行う前記CPUモジュールに搭載されたCPUモジュールコントローラと、管理用インターフェースを介して前記CPUモジュールコントローラと接続され前記CPUモジュールの電源制御を行う管理モジュールと、を備え、前記管理モジュールは、前記プロセッサのステータス情報と、前記CPUモジュール稼動情報と、前記プロセッサ種毎の消費電力情報とを含むシステム情報を保持し、前記システム情報に基づいて、前記CPUモジュールごとに必要とする消費電力を計算し、その計算された消費電力を確保するのに必要なAC-DC電源モジュールの稼動数を計算し、その計算結果に応じて前記AC-DC電源モジュールの稼動台数を決定することを特徴とする複合型計算機装置により、
（２）また、各装置に電力を供給する少なくとも一つのAC-DC電源を有するAC-DC電源モジュールと、少なくとも一つのプロセッサを搭載し、前記AC-DC電源モジュールから供給される電力をDC-DC変換するDC-DC電源を搭載し、前記プロセッサの非稼動時にも電源供給制御を行い、前記AC-DC電源モジュールと電源制御用インターフェースで接続されAC-DC電源モジュールの出力制御を行うCPUモジュールコントローラとを搭載したCPUモジュールと、管理用のインターフェースに接続され前記CPUモジュールの電源制御を行う管理モジュールと、前記CPUモジュールの電源ON時にはCPUモジュール毎に稼動するオペレーションシステムおよびシステムファームウェアとを有し、前記プロセッサがスリープ状態を有する場合に、前記プロセッサのスリープ状態として少なくとも一つの状態、または前記CPUモジュール毎にシステムのスリープ状態として少なくとも一つの状態、のいずれかのスリープ状態を持ち、前記CPUモジュールコントローラは、前記プロセッサの状態が通常稼動状態からスリープ状態に遷移する場合には、前記システムファームウェアから通知されるスリープ状態への遷移命令により、一定時間スリープするためのタイマ機能を持ち、
また前記管理モジュールへプロセッサ状態変更を通知する機能を持ち、前記プロセッサの状態がスリープ状態から通常稼動状態に遷移する場合には、前記タイマ機能復帰を契機に前記管理モジュールへのプロセッサ状態変更を通知する機能を持ち、前記管理モジュールからの前記AC-DC電源モジュールの設定完了通知を受けてスリープから通常稼動状態に戻る割り込みをプロセッサに投入する機能を持ち、前記管理モジュールは、システム情報として、CPUモジュールの電源ONまたはOFFと、前記CPUモジュールのシステムの通常稼動状態およびスリープ状態と、搭載されたプロセッサの種類の情報とを含むCPUモジュール稼動情報を持ち、プロセッサ情報として、前記CPUモジュール内のプロセッサの通常稼動状態およびスリープ状態のプロセッサの状態情報と、前記プロセッサの種類毎に、それぞれの状態に必要となるプロセッサ消費電力情報を持ち、前記プロセッサの状態が通常稼動状態からスリープ状態に遷移する場合または前記プロセッサの状態がスリープ状態から通常稼動状態に遷移する場合には、前記CPUモジュールコントローラからのプロセッサ状態変更の通知を受けて、前記CPUモジュール稼動情報と、前記プロセッサの状態情報と、前記プロセッサ消費電力情報とから複合型計算機装置全体に必要となる消費電力を計算し、その消費電力に基づいてAC-DC電源モジュールの稼動数を計算し、AC-DC電源モジュール稼動数の変更が必要な場合はAC-DC電源モジュールの稼動数を変更する制御を行う機能を持ち、前記CPUモジュールコントローラへ前記AC-DC電源モジュールが安定して稼動していることを示す設定完了を通知する機能を持つことを特徴とする複合型計算機装置により、
（３）あるいは、装置全体に電力を供給する少なくとも一つのAC-DC電源モジュールと、少なくとも一つのプロセッサを搭載し、前記AC-DC電源モジュールから供給される電力をDC-DC変換するDC-DC電源を搭載し、前記プロセッサの非稼動時にも電源供給制御を行い、前記AC-DC電源モジュールと電源制御用インターフェースで接続されAC-DC電源モジュールの出力制御を行うCPUモジュールコントローラを搭載したCPUモジュールと、管理用のインターフェースで接続され前記CPUモジュールの電源制御を行う管理モジュールと、前記CPUモジュールの電源ON時にはCPUモジュール毎に稼動するオペレーションシステムおよびシステムファームウェアとを有し、前記プロセッサがスリープ状態を有する場合に、前記プロセッサのスリープ状態として少なくとも一つの状態、または前記CPUモジュール毎にシステムのスリープ状態として少なくとも一つの状態のいずれか一方のスリープ状態を持ち、前記プロセッサの状態が通常稼動状態からスリープ状態に遷移する場合に、前記CPUモジュール上で稼動する前記オペレーションシステムは、前記システムファームウェアにプロセッサの状態を通常稼動状態からスリープ状態へ遷移させる命令を通知し、この通知によりCPUモジュール上で稼動する前記システムファームウェアは、前記CPUモジュールコントローラにプロセッサ状態変更を通知し、また前記プロセッサに対してスリープ制御を行い、前記CPUモジュールコントローラは前記プロセッサ管理モジュールにプロセッサ状態変更を通知し、この通知により前記プロセッサ管理モジュールは前記プロセッサCPUモジュールのプロセッサの通常稼動状態およびスリープ状態のプロセッサの状態情報を更新し、このプロセッサの状態情報と、前記プロセッサCPUモジュールの電源ONおよびOFF状態と、前記プロセッサCPUモジュールのシステムの通常稼動状態およびスリープ状態および搭載されたプロセッサの種類の情報を持つCPUモジュール稼動情報と、各プロセッサ種類に対して各状態に必要となるプロセッサ消費電力情報と、を用いて複合型計算機装置全体に必要となる消費電力を計算し、前記消費電力に基づき前記AC-DC電源モジュールの稼動数を計算し、前記AC-DC電源モジュール稼動数の変更が必要な場合はAC-DC電源モジュールの稼動数を変更する制御を行うことを特徴とする複合型計算機装置の管理方法により達成できる。
【発明の効果】
【００１１】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下の通りである。
【００１２】
複合型計算機装置において計算機装置の稼動状況が変わっても、プロセッサの状態やシステムの状態に合わせてAC-DC電源モジュールの稼働台数を制御することができるので、電力の効率が悪化しないで無駄な消費電量を削減することが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するために全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は原則として省略する。
【００１４】
先ず本発明の一実施の形態による複合型計算機装置の構成について説明する。図１は、本発明の一実施の形態による複合型計算機装置のブロック図、図２は図１の複合型計算機装置に設けられた管理モジュールが有するCPUモジュール稼動情報の一例を示す説明図、図３は図１の複合型計算機装置に設けられた管理モジュールが有するプロセッサの状態情報の一例を示す説明図、図４は図１の複合型計算機装置に設けられた管理モジュールが有するプロセッサ消費電力情報の一例を示す説明図、である。図１に示すように、本実施の形態に置いて複合型計算機装置100は、１以上のCPUモジュール1011、1012、1013、…、１以上のAC-DC電源モジュール1061、1062、1063、1064、1065、…、ならびに管理モジュール107から構成されている。CPUモジュール1011（、1012、1013、…）は、１枚もしくは相互に接続された複数枚の配線基板上にプロセッサ1021、1031、…（、1022、1032、…、1023、1033、…）、DC-DC電源1041（、1042、1043、…）、CPUモジュールコントローラ1051（、1052、1053、…）から構成されている。CPUモジュールコントローラ1051（、1052、1053、…）は、例えばノースブリッチ等のチップセットやベースボードマネジメントコントローラ等のマネジメント用チップセット等で構成される。次にCPUモジュール1011を例にとりCPUモジュール内の接続関係を示す。他のCPUモジュール1012、1013、…についても同様な接続関係を持つ。CPUモジュールコントローラ1051がDC-DC電源を制御するために制御線PDで接続される。CPUモジュールコントローラ1051がプロセッサの割り込みを発行等のプロセッサ1021、1031、…の制御を行うための制御線BCで接続される。また、DC-DC電源1041は、電源供給のためプロセッサ1021、1031、…と電源供給配線PCで接続される。また、CPUモジュール1011で稼動するソフトウェア1091は、オペレーションシステム1101、システムファームウェア1111から構成される。オペレーションシステム1101とシステムファームウェア1111とはソフトウェアインタフェースBAで接続され、システムファームウェア1111はCPUモジュールコントローラ1051とソフトウェアインタフェースBBにより接続される。このソフトウェア1091の構成についても、他のCPUモジュール1012、1013、…についても同様な構成および接続関係を持つ。次に複合型計算機装置100内の各モジュール間の接続関係について説明する。管理モジュール107は、CPUモジュールコントローラ1051、1052、1053、…、と管理用のインターフェースMIで接続される。管理用のインターフェースMIには、例えばイーサネット（登録商標）やI2C（Inter-Integrated Circuit）等が用いられる。この管理用インターフェースMIを使用することにより管理モジュール107は、CPUモジュール1011、1012、1013、…、電源ON/OFF、障害監視、プレゼンス確認等の管理を行う。また、管理モジュール107は、AC-DC電源モジュール1061、1062、1063、1064、1065、…、とAC-DC電源モジュール制御用のインターフェースPAで接続される。AC-DC電源モジュール制御用のインターフェースPAには、例えばI2C（Inter-Integrated Circuit）等が用いられる。このAC-DC電源モジュール制御用のインターフェースPAを使用することにより管理モジュール107はAC-DC電源モジュール1061、1062、1063、1064、1065、…、の出力制御や障害監視等の管理を行う。AC-DC電源モジュール1061、1062、1063、1064、1065、…、は複合型計算機装置���部の電源、例えばブレーカ電源からAC電力を供給され、電源供給配線PBによりDC電力をCPUモジュール1011、1012、1013、…、に供給する。管理モジュール107は、複合型計算機装置100を管理するためにシステム情報108を保持している。このシステム情報108の詳細については図２、図３、図４を用いて詳細に説明する。
【００１５】
システム情報108の情報は、少なくとも図２に示すCPUモジュール稼動情報FT2、図３に示すプロセッサの状態情報FT3、図４に示すプロセッサ消費電力情報FT4から構成される。CPUモジュール稼動情報FT2は、表形式で表すとCPUモジュールの番号K201、システムの状態情報K202、CPUモジュールの各スロットに搭載されているプロセッサの種類情報K2031、K2032、…、の列で構成される。CPUモジュールの番号K201の各行は、例えば図１のCPUモジュール1011、1012、1013、…に対応する。システムの状態K202は、システムの通常稼動状態、スリープ状態（システム電源OFF状態も含む）を示している。本実施例では、B0をシステム通常稼動状態、Bx（x=1、2、3、…）をシステムスリープ状態としている。このシステムの状態を定義している例としては、ACPI（Advanced Configuration and Power Interface）でのシステムスリープ状態S0、S1、…、S5がある。
【００１６】
プロセッサの種類情報K2031、K2032、…、は、搭載されているプロセッサの種類を示している。複合型計算機装置に搭載可能なプロセッサについて固有の識別子、例えばCP1、CP2、…を付ける。本実施例では、例えばCP1はXeon 2.8GHz、CP2はItanium2 900MHzを示している。図３に示すプロセッサの状態情報FT3は、表形式で表すとCPUモジュールの番号K301、CPUモジュールの各スロットに搭載されているプロセッサの状態情報K3021、K3022、…、の列で構成される。CPUモジュールの番号K301の各行は、例えば図１のCPUモジュール1011、1012、1013、…に対応する。プロセッサの状態情報K3021、K3022、…は、CPUモジュールに搭載されている各プロセッサの通常稼動状態、スリープ状態（システムスリープ状態も含む）を示している。本実施例では、A0をプロセッサ通常稼動状態、Ax（x=1、2、3、…）をプロセッサスリープ状態、SSをシステムスリープ状態（システム電源OFF状態も含む）としている。このプロセッサの状態を定義している例としては、ACPI（Advanced Configuration and Power Interface Specification Revision 3.0（2004.9.2 発行）参照）でのプロセッサスリープ状態P0、P1、P2、P3がある。図４に示すプロセッサ消費電力情報FT4は、表形式で表すとプロセッサ種類識別子K401、プロセッサの状態A0、A1、A2、A3、…の消費電力情報K4021、K4022、K4023、K4024、…、システムの状態B0、B1、B2、B3、…の消費電力情報K4031、K4032、K4033、K4034、…、で構成される。また、プロセッサ名K404の情報を含んでも良い。プロセッサ種類識別子K401は、図３での複合型計算機装置に搭載可能なプロセッサについて固有の識別子CP1、CP2、…に対応している。消費電力情報K4021、K4022、K4023、K4024、…は、プロセッサ種類毎のプロセッサ状態A0、A1、A2、A3、…における必要なプロセッサの消費電力を示す。一方、消費電力情報K4031、K4032、K4033、K4034、…、は、プロセッサ種類毎のシステム状態B0、B1、B2、B3、…における必要なプロセッサの消費電力を示す。次にこれらのシステム情報FT2、FT3、FT4を用いて、複合型計算機装置100に必要な消費電力を算出する例を示す。CPUモジュール#0の場合は、プロセッサ#0のプロセッサの種類がCP1でプロセッサの状態がA0状態、プロセッサ#1のプロセッサの種類がCP1でプロセッサの状態がA3状態であるので、プロセッサ消費電力情報FT4を読み取って、CPUモジュール#0：80（Ｗ）＋0（Ｗ）＝80（Ｗ）となる。システム状態がB0のときはシステムが通常稼動状態になるので、B0状態に対応する消費電力情報K4031から消費電力を読み取るのではなく、プロセッサ状態A0、A1、A2、A3、…に対応する消費電力情報K4021、K4022、K4023、K4024、…から読み取る。
同様に他のCPUモジュールについても計算すると、
CPUモジュール#1：100（Ｗ）＋100（Ｗ）＝200（Ｗ）
CPUモジュール#2：80（Ｗ）＋80（Ｗ）＝160（Ｗ）
CPUモジュール#3：80（Ｗ）＋80（Ｗ）＝160（Ｗ）
CPUモジュール#4：0（Ｗ）＋0（Ｗ）＝0（Ｗ）
必要な消費電力は合計で600（Ｗ）となる。当然とことながら計算機装置では、プロセッサ以外のメモリ、HDD、I/Oカード等の構成要素でも電力を消費するため、プロセッサ消費電力情報FT4にプロセッサ以外の構成要素の消費電力が加味されていない場合は、上記計算した必要な消費電力にプロセッサ以外の構成要素の消費電力を付加する必要がある。管理モジュール107は、必要な消費電力をAC-DC電源モジュール1個あたりの最大出力電力で除することで必要なAC-DC電源モジュールの個数を計算し、稼動させるAC-DC電源モジュールの個数を制御する。なお、AC-DC電源モジュールをN+1冗長で稼動させる場合は、上記で計算した必要なAC-DC電源モジュールの個数に対して１を足した個数を稼動させるAC-DC電源モジュールの個数とする。ここでのN+1冗長とは、AC-DC電源モジュールを必要台数よりも１台多く稼動させておくことにより、1個のAC-DC電源モジュールの障害が発生しても残りのAC-DC電源モジュールが稼動しているので計算機装置が稼動し続けることが可能となる機能のことを指す。
【００１７】
次に上記で説明した本発明の一実施の形態による複合型計算機装置でのAC-DC電源モジュールの管理方法についてフローチャートを用いて説明する。最初に、プロセッサの状態がスリープ状態に遷移する場合のAC-DC電源モジュールの管理方法について説明する。図５は図１の複合型計算機装置のプロセッサの状態遷移時のAC-DC電源モジュールの管理方法のフローチャート、図６は図１の複合型計算機装置のプロセッサの状態が通常稼動状態からスリープ状態へ遷移する場合のAC-DC電源モジュールの管理方法の一例を示す説明図、図７は図１の複合型計算機装置のプロセッサの状態がスリープ状態から通常稼動状態へ遷移する場合のAC-DC電源モジュールの管理方法の一例を示す説明図である。図５では、例えば図６、図７のCPUモジュール1011に搭載されたプロセッサ1021のプロセッサ状態がA0の通常稼動状態からAx（x＝1、2、…）のスリープ状態を経てA0の通常稼動状態に戻る場合の図６、図７のAC-DC電源モジュール1061、1062、1063、1064、1065、…の管理方法のフローチャートを示している。プロセッサ状態がA0の通常稼動状態からAx（x＝1、2、…）のスリープ状態についてのフローをstart1からend1に示し、その説明図を図６に示す。また、プロセッサ状態がAx（x＝1、2、…）のスリープ状態からA0の通常稼動状態についてのフローをstart2からend2に示し、その説明図を図７に示す。なお、図６、図７中に記載されているS501〜S516は、図５に記載のフローチャートのステップS501〜S516に対応している。図５のCPUモジュール501は図６、図７のCPUモジュール1011の動作フローを示し、図５の管理モジュール502は図６、図７の管理モジュール107の動作フローを示す。プロセッサ状態503は、動作フローに対するプロセッサ1021のプロセッサ状態を示している。AC-DC電源モジュール稼動状態504は、AC-DC電源モジュールの稼働台数の変化を示している。本実施例の説明では、例えばPM1が5台稼動、PM2が4台稼動、PM3が5台稼動を示している。また、T1はプロセッサがスリープ状態から復帰するまでの時間を定めたものであり、スリープ状態Ax（x＝1、2、…）により時間が異なる。
【００１８】
プロセッサ状態がA0の通常稼動状態からAx（x＝1、2、…）のスリープ状態に遷移するときのフローについて説明する。オペレーションシステム1101は、プロセッサの負荷やオペレーションシステムの省電力の設定に従って遷移するプロセッサのスリープ状態Ax（x＝1、2、…）を決定し、ソフトウェアインターフェースを用いて遷移するスリープ状態Ax（x＝1、2、…）をシステムファームウェア1111に通知する（ステップS501）。システムファームウェア1111は、ソフトウェアインターフェースを用いてCPUモジュールコントローラ1051に対して遷移するスリープ状態Ax（x＝1、2、…）を通知する（ステップS502）。CPUモジュールコントローラ1051は遷移するスリープ状態Ax（x＝1、2、…）に対応する時間T1をCPUモジュールコントローラ1051のタイマに設定し始動する（ステップS503）。CPUモジュールコントローラ1051は、制御経路BCを用いてプロセッサ1021に対してスリープ状態Ax（x＝1、2、…）へ遷移する命令を発行する（ステップS504）。これによりプロセッサ1021は、A0の通常稼動状態からAx（x＝1、2、…）のスリープ状態に遷移する。CPUモジュールコントローラ1051は、通信経路MIを用いて管理モジュール107にプロセッサ1021がスリープ状態Ax（x＝1、2、…）に遷移したことを通知する（ステップS505）。管理モジュール107は、保持するプロセッサの状態情報FT3のスリープ状態に遷移したプロセッサに対応する状態をスリープ状態Ax（x＝1、2、…）に変更する（ステップS506）。システム情報108が更新されたため管理モジュール107は、システム情報108（FT2、FT3、FT4の情報）を基に、必要な消費電力を計算し、さらに必要なAC-DC電源モジュールの個数を計算する（ステップS507）。管理モジュール107はAC-DC電源モジュールの稼動個数に変更があるかを判定し（ステップS508）、稼動台数に変更がある場合には、管理モジュール107は、制御用の通信経路PAを用いてAC-DC電源モジュール1061、1062、1063、1064、1065、…の出力を制御して稼働台数を変更する（ステップS509）。本実施例では、例えば５台のAC-DC電源モジュール1061、1062、1063、1064、1065の稼動から、AC-DC電源モジュール1065の出力をOFFにして、４台の稼動に変更している。一方、稼動台数に変更がない場合には、動作フローを終了する。
【００１９】
次に、プロセッサ状態がAx（x＝1、2、…）のスリープ状態からA0の通常稼動状態に遷移するときのフローについて説明する。ステップS503で設定したタイマのタイムアウトを契機に、CPUモジュールコントローラ1051は、通信経路MIを用いて管理モジュール107にプロセッサ1021が通常稼動状態A0に遷移することを通知する（ステップS510）。管理モジュール107は、保持するプロセッサの状態情報FT3のスリープ状態に遷移したプロセッサに対応する状態を通常稼動状態A0に変更する（ステップS511）。システム情報108が更新されたため管理モジュール107は、システム情報108（FT2、FT3、FT4の情報）を基に、必要な消費電力を計算し、さらに必要なAC-DC電源モジュールの個数を計算する（ステップS512）。管理モジュール107はAC-DC電源モジュールの稼動個数に変更があるかを判定し（ステップS513）、稼動台数に変更がある場合には、管理モジュール107は、制御用の通信経路PAを用いてAC-DC電源モジュール1061、1062、1063、1064、1065、…の出力を制御して稼働台数を変更する（ステップS514）。本実施例では、例えば４台のAC-DC電源モジュール1061、1062、1063、1064の稼動から、AC-DC電源モジュール1065の出力をONにして、５台の稼動に変更している。一方、稼動台数に変更がない場合には、ステップS515の動作フローに移る。管理モジュール107は、制御用の通信経路PAを用いてAC-DC電源モジュール1061、1062、1063、1064、1065、…の正常に出力されていることを確認し、CPUモジュールコントローラ1051にAC-DC電源モジュールの設定完了を通知する（ステップS515）。CPUモジュールコントローラ1051は、制御経路BCを用いてプロセッサ1021に対して通常稼動状態A0へ遷移するため割込み命令を発行する（ステップS516）。これによりプロセッサ1021は、Ax（x＝1、2、…）のスリープ状態からA0の通常稼動状態に遷移する。
【００２０】
次に、システムの状態が通常稼動状態からスリープ状態に遷移する場合のAC-DC電源モジュールの管理方法について説明する。図８は図１の複合型計算機装置のシステムの状態が通常稼動状態からスリープ状態へ遷移するの場合のAC-DC電源モジュールの管理方法のフローチャート、図１０は図１の複合型計算機装置のシステムの状態が通常稼動状態からスリープ状態へ遷移する場合のAC-DC電源モジュールの管理方法の一例を示す説明図である。
【００２１】
図１０のブロック図で説明されていないものについて以下で説明する。複合型計算機100の外部の管理サーバ10012は、複合型計算機装置100やその他の計算機システムの構成要素を管理するためのサーバであり、管理ソフトウェア10013を搭載している。管理サーバ10012は、管理用のネットワークML1で複合型計算機装置100内のCPUモジュール1011、1012、1013、…と接続される。また、管理サーバ10012は、管理用のネットワークML2で複合型計算機装置100内の管理モジュール107と接続される。管理用のネットワークML1およびML2には、例えば例えばイーサネットが用いられる。管理ソフトウェア10013と通信するためのソフトウェアとしてCPUモジュール1011、1012、1013、…上にエージェントソフトウェア100141、100142、100143、…を搭載する場合もある。管理ソフトウェア10013は、エージェントソフトウェア100141、100142、100143、…もしくはオペレーションシステム1101、1102、1103、…と通信を行い、例えばCPUモジュール1011、1012、1013、…のオペレーションシステム1101、1102、1103、…のシャットダウン、アプリケーションソフトウェアの情報取得または設定等の管理を行う。また、管理ソフトウェア10013は管理モジュールと通信を行い、例えばCPUモジュール1011、1012、1013、…の電源のON/OFF、ハードウェア構成情報の取得等の管理を行う。
【００２２】
図８では、例えば図１０のCPUモジュール1011で構成される計算機装置のシステムの状態がB0の通常稼動状態からBx（x＝1、2、…）のスリープ状態に遷移する場合の図１０のAC-DC電源モジュール1061、1062、1063、1064、1065、…の管理方法のフローチャートを示している。また、その説明図を図１０に示す。なお、図１０中に記載されているS801〜S810は、図８に記載のフローチャートのステップS801〜S810に対応している。図８の管理サーバ801は図１０の管理サーバ10012の動作フローを示し、図８のCPUモジュール802は図１０のCPUモジュール1011の動作フローを示し、図８の管理モジュール803は図１０の管理モジュール107の動作フローを示す。図８のシステムの状態804は、動作フローに対するCPUモジュール1011のシステムの状態を示している。AC-DC電源モジュール稼動状態805は、AC-DC電源モジュールの稼働台数の変化を示している。本実施例の説明では、例えばPM1が5台稼動、PM2が4台稼動を示している。
【００２３】
CPUモジュール1011で構成される計算機装置のシステムの状態がB0の通常稼動状態からBx（x＝1、2、…）のスリープ状態に遷移するときのフローについて説明する。管理サーバ10012上の管理ソフトウェア10013は、業務サービスの負荷状況等により稼動する計算機装置の台数を変更するために計算機装置の遷移するシステムのスリープ状態Bx（x＝1、2、…）を決定する。管理ソフトウェア10013は、管理用のネットワークML1を用いてCPUモジュール1011で動作するエージェントソフトウェア100141に対してシステムのスリープ状態Bx（x＝1、2、…）への移行を要求する（ステップS801）。エージェントソフトウェア100141は、ソフトウェアインターフェースを用いて遷移するスリープ状態Bx（x＝1、2、…）をオペレーションシステム1101に要求する（ステップS802）。オペレーションシステム1101は、ソフトウェアインターフェースを用いて遷移するスリープ状態Bx（x＝1、2、…）をシステムファームウェア1111に命令する（ステップS803）。システムファームウェア1111は、ソフトウェアインターフェースを用いてCPUモジュールコントローラ1051に対して遷移するスリープ状態Bx（x＝1、2、…）を通知する（ステップS804）。CPUモジュールコントローラ1051は遷移するスリープ状態Bx（x＝1、2、…）への移行命令を実行する（ステップS805）。これによりCPUモジュール1011で構成される計算機装置のシステムの状態は、B0の通常稼動状態からBx（x＝1、2、…）のスリープ状態に遷移する。CPUモジュールコントローラ1051は、通信経路MIを用いて管理モジュール107にシステムがスリープ状態Bx（x＝1、2、…）に遷移したことを通知する（ステップS807）。管理モジュール107は、保持するCPUモジュール稼動情報FT2のスリープ状態に遷移したシステムに対応する状態をスリープ状態Bx（x＝1、2、…）に変更し、保持するプロセッサの状態情報FT3のスリープ状態に遷移したプロセッサに対応する状態をシステムのスリープ状態SSに変更する。（ステップS807）。システム情報108が更新されたため管理モジュール107は、システム情報108（FT2、FT3、FT4の情報）を基に、必要な消費電力を計算し、さらに必要なAC-DC電源モジュールの個数を計算する（ステップS808）。管理モジュール107はAC-DC電源モジュールの稼動個数に変更があるかを判定し（ステップS809）、稼動台数に変更がある場合には、管理モジュール107は、制御用の通信経路PAを用いてAC-DC電源モジュール1061、1062、1063、1064、1065、…の出力を制御して稼働台数を変更する（ステップS810）。本実施例では、例えば５台のAC-DC電源モジュール1061、1062、1063、1064、1065の稼動から、AC-DC電源モジュール1065の出力をOFFにして、４台の稼動に変更している。一方、稼動台数に変更がない場合には、動作フローを終了する。
【００２４】
次に、システムの状態がスリープ状態から通常稼動状態に遷移する場合のAC-DC電源モジュールの管理方法について説明する。図９は図１の複合型計算機装置のシステムの状態がスリープ状態から通常稼動状態へ遷移するの場合のAC-DC電源モジュールの管理方法のフローチャート、図１１は図１の複合型計算機装置のシステムの状態がスリープ状態から通常稼動状態へ遷移する場合のAC-DC電源モジュールの管理方法の一例を示す説明図である。
【００２５】
図９では、例えば図１１のCPUモジュール1011で構成される計算機装置のシステムの状態がBx（x＝1、2、…）のスリープ状態からB0の通常稼動状態に遷移する場合の図１１のAC-DC電源モジュール1061、1062、1063、1064、1065、…の管理方法のフローチャートを示している。また、その説明図を図１１に示す。なお、図１１中に記載されているS901〜S907は、図９に記載のフローチャートのステップS901〜S907に対応している。図９の管理サーバ901は図１１の管理サーバ10012の動作フローを示し、図９のCPUモジュール902は図１１のCPUモジュール1011の動作フローを示し、図９の管理モジュール903は図１１の管理モジュール107の動作フローを示す。図９のシステムの状態904は、動作フローに対するCPUモジュール1011のシステムの状態を示している。AC-DC電源モジュール稼動状態905は、AC-DC電源モジュールの稼働台数の変化を示している。本実施例の説明では、例えばPM2が4台稼動、PM3が5台稼動を示している。
【００２６】
CPUモジュール1011で構成される計算機装置のシステムの状態がBx（x＝1、2、…）のスリープ状態からB0の通常稼動状態に遷移するときのフローについて説明する。管理サーバ10012上の管理ソフトウェア10013は、業務サービスの負荷状況等により稼動する計算機装置の台数を変更するために計算機装置のスリープ状態から通常稼動状態への遷移を決定する。管理ソフトウェア10013は、管理用のネットワークML2を用いて管理モジュール107にCPUモジュール1011のシステムの通常稼動状態B0への移行、すなわち起動を要求する（ステップS901）。管理モジュール107は、保持するCPUモジュール稼動情報FT2の通常稼動状態に遷移するシステムに対応する状態を通常稼動状態B0に変更し、保持するプロセッサの状態情報FT3のシステムの通常稼動状態B0に遷移したプロセッサに対応するプロセッサの通常稼動状態A0に更する。（ステップS902）。システム情報108が更新されたため管理モジュール107は、システム情報108（FT2、FT3、FT4の情報）を基に、必要な消費電力を計算し、さらに必要なAC-DC電源モジュールの個数を計算する（ステップS903）。管理モジュール107はAC-DC電源モジュールの稼動個数に変更があるかを判定し（ステップS904）、稼動台数に変更がある場合には、管理モジュール107は、制御用の通信経路PAを用いてAC-DC電源モジュール1061、1062、1063、1064、1065、…の出力を制御して稼働台数を変更する（ステップS905）。本実施例では、例えば４台のAC-DC電源モジュール1061、1062、1063、1064の稼動から、AC-DC電源モジュール1065の出力をONにして、５台の稼動に変更している。一方、稼動台数に変更がない場合には、ステップS906の動作フローに移る。管理モジュール107は、制御用の通信経路PAを用いてAC-DC電源モジュール1061、1062、1063、1064、1065、…の正常に出力されていることを確認し、CPUモジュールコントローラ1051にAC-DC電源モジュールの設定完了を通知する（ステップS906）。CPUモジュールコントローラ1051は、CPUモジュール1011で構成される計算機装置のシステム起動命令を実行する（ステップS907）。これによりCPUモジュール1011で構成される計算機装置は、システムのBx（x＝1、2、…）のスリープ状態からB0の通常稼動状態に遷移する。
【００２７】
次に図１に示す本発明の一実施の形態による複合型計算機装置において、CPUモジュール1011、1012、1013、…に搭載されるプロセッサがマルチコアを持つ場合の複合型計算機装置の構成とAC-DC電源モジュールの管理方法について述べる。図１２は図１の複合型計算機装置に搭載されるCPUモジュールのプロセッサがマルチコアを有する場合のCPUモジュールのブロック図、図１３は図１の複合型計算機装置に搭載されるCPUモジュールのプロセッサがマルチコアを有する場合の管理モジュールが有するプロセッサの状態情報の一例を示す説明図である。図１２のCPUモジュール1011は、例えば図１、６、７、１０、１１に記載されたCPUモジュール1011に置き換えて考えることができる。図１２では、プロセッサ1021、1031、…が内部に２つ以上のプロセッサコア121511、121512、121513、121514、…、121521、121522、121523、121524、…、を持つ構成となる。また、図１３に示すように、管理モジュール107が保持する図３のプロセッサの稼動情報FT3が上記のプロセッサコア121511、121512、121513、121514、…、121521、121522、121523、121524、…、の個々のプロセッサコア状態を持つプロセッサの稼動情報FT13ように変更される。すなわち図１３に示すプロセッサの状態情報FT13は、表形式で表すとCPUモジュールの番号K1301、CPUモジュールの各スロットに搭載されているプロセッサの状態情報K13021、K13022、…、の列で構成され、プロセッサの状態情報は、プロセッサコアの状態情報K130311、K130312、K130313、K130314、…、K130321、K130322、K130323、K130324、…、の列で構成される。CPUモジュールの番号K301の各行は、例えば図１のCPUモジュール1011、1012、1013、…に対応する。プロセッサコアの状態情報K130311、K130312、K130313、K130314、…、K130321、K130322、K130323、K130324、…は、CPUモジュールに搭載されているプロセッサの各プロセッサコアの通常稼動状態、スリープ状態（システムスリープ状態も含む）を示している。プロセッサの状態情報FT3と同様に本実施例では、A0をプロセッサ通常稼動状態、Ax（x=1、2、3、…）をプロセッサスリープ状態、SSをシステムスリープ状態（システム電源OFF状態も含む）としている。CPUモジュール1011、1012、1013、…に搭載されているプロセッサがマルチコア持つ場合は、上記プロセッサの状態情報FT13を用いて各マルチコアの状態毎に必要な消費電力を計算する。計算方法については、上記プロセッサの状態情報FT3の説明で示した方法と同じ方法を用いる。また、AC-DC電源モジュールの管理方法については、消費電力の計算方法が各マルチコアの状態毎に必要な消費電力を計算する点と、プロセッサ単位のプロセッサの状態遷移がプロセッサコア単位のプロセッサコアの状態遷移に変更される点と、を変更すれば良い。
【００２８】
次に、プロセッサのスリープ状態Ax（x=1、2、3、…）に対するスリープ時間をカウントするタイマのタイマ設定時間T1の決定方法について述べる。図１４は図１の複合型計算機装置のプロセッサのスリープ状態のためのタイマ設定時間が典型的なスリープ時間をベースに決定する方法を示す説明図、図１５は図１の複合型計算機装置のプロセッサのスリープ状態のためのタイマ設定時間が電源の制御時間を考慮した典型的なスリープ時間をベースに決定する方法を示す説明図である。図１４および図１５で、時刻順序1401は時間の進行方向を示し図中では左から右に時間が進行する。プロセッサの状態1402は、例えばプロセッサ1021のプロセッサの状態を示し、図１４、図１５に示す例では通常稼動状態A0からスリープ状態Ax（x=1、2、3、…）に遷移し、さらに通常稼動状態A0に戻る場合を記載している。プロセッサのスリープ時間1403は、実際にプロセッサがスリープしている実スリープ時間TSPを示しており、スリープ状態Ax（x=1、2、3、…）の期間と一致する。スリープ用タイマ時間1404は、CPUモジュールコントローラ1051がタイマに設定するタイマ設定時間T1を示す。電源制御用時間1405は、管理モジュール107が、プロセッサの状態変更通知を受けてから、AC-DC電源モジュール1061、1062、1063、1064、1065、…の稼動台数を変更し、AC-DC電源モジュールの出力を確認するまでのAC-DC電源モジュール制御時間TCP1、TCP2を示す。具体的には、AC-DC電源モジュール制御時間TCP1は図５のステップS505からステップ509までの時間を示し、AC-DC電源モジュール制御時間TCP2は図５のステップS510からステップ515までの時間を示す。図１４に示すタイマ設定時間T1の決定方法では、本発明の適用前のプロセッサのスリープ時間（典型的なスリープ時間）TSAx（x=1、2、3、…）をT1として採用する。この場合は、実スリープ時間TSPは、TSP＝T1＋TCP2＝TSAx＋TCP2となる。このため典型的なスリープ時間TSAx（x=1、2、3、…）よりもAC-DC電源モジュール制御時間TCP2だけ長い期間スリープすることになる。一方、図１５に示すタイマ設定時間T1の決定方法では、本発明の適用前のプロセッサのスリープ時間TSAx（x=1、2、3、…）からAC-DC電源モジュール制御時間TCP2を引いた時間をT1として採用する。この場合は、実スリープ時間TSPは、TSP＝T1＋TCP2＝TSAx−TCP2＋TCP2＝TSAxとなる。このため本発明を適用するときと同じ典型的なスリープ時間TSAx（x=1、2、3、…）だけスリープする。ただし、タイマ設定時間T1は、計算機装置の固有の値として装置ベンダーが自由に決めることができるため、この決定方法が本発明の全ての場合に適用されるものではない。
【００２９】
次にプロセッサ消費電力情報FT4が持つプロセッサの状態A0、A1、A2、A3、…の消費電力情報K4021、K4022、K4023、K4024、…、に定める消費電力の決定方法について示す。あるプロセッサ例えばCP1に対応するプロセッサのプロセッサの状態A0、A1、A2、A3、…に対応するスリープ時間TAx（x=1、2、3、…）、消費電力値をPAx（x=0、1、2、3、…）、プロセッサ消費電力情報FT4に記載される消費電力値MPAx（x=0、1、2、3、…）とする。一般的に、スリープ時間TAx（x=1、2、3、…）および消費電力値をPAx（x=0、1、2、3、…）は次のような関係がある。
TA1＜TA2＜TA3＜…
PA0＞PA1＞PA2＞PA3＞…
つまり、スリープ時間TAx（x=1、2、3、…）は、xが大きくなるほど長くなり、消費電力値をPAx（x=0、1、2、3、…）は、xが大きくなるほど小さくなる。このときプロセッサ消費電力情報FT4に記載される消費電力値MPAx（x=0、1、2、3、…）の決定方法として、例えば全AC-DC電源モジュール制御時間TCP（＝TCP1＋TCP2）に対して、スリープ時間TAx（x=1、2、3、…）が小さい場合（TAx＜TCP）の場合は、プロセッサ消費電力情報FT4に記載される消費電力値MPAx（x=0、1、2、3、…）をMPAx＝PA0と定め、スリープ時間TAx（x=1、2、3、…）が大きい場合（TAx＞TCP）の場合は、プロセッサ消費電力情報FT4に記載される消費電力値MPAx（x=0、1、2、3、…）をMPAx＝PAxと定める。この方法によりプロセッサ消費電力情報FT4に記載される消費電力値MPAx（x=0、1、2、3、…）を定めることにより、スリープ時間TAx（x=1、2、3、…）が全AC-DC電源モジュール制御時間TCPよりも短い場合は、AC-DC電源モジュール制御が行われないのでAC-DC電源モジュール制御のためにスリープ時間が長くなることを防ぐことができる。
【００３０】
一方、システムの状態B0、B1、B2、B3、…の消費電力情報K4031、K4032、K4033、K4034、…、に定める消費電力の決定方法についても、上記プロセッサの状態A0、A1、A2、A3、…に対する消費電力情報の定め方と同じ考え方で決定することができる。ただし、上でも述べたように各スリープ状態のスリープ時間は、計算機装置の固有の値として装置ベンダーが自由に決めることができるため、この決定方法が本発明の全ての場合に適用されるものではない。
【００３１】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００３２】
例えば、前記実施の形態においては、管理モジュール107が持つ機能が複合型計算機装置100の外部の計算機装置が持っても良い。また、AD-DC電源モジュール1061、1062、1063、1064、1065、…が複合型計算機装置100の外部にあっても良い。また、管理サーバ10012が、複合型計算機装置100内部のCPUモジュール1011、1012、1013、…が代替しても良い。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施の形態による複合型計算機装置のブロック図である。
【図２】図１の複合型計算機装置に設けられた管理モジュールが有するCPUモジュール稼動情報の一例を示す説明図である。
【図３】図１の複合型計算機装置に設けられた管理モジュールが有するプロセッサの状態情報の一例を示す説明図である。
【図４】図１に示す複合型計算機装置に設けられた管理モジュールが有するプロセッサ消費電力情報の一例を示す説明図である。
【図５】図１に示す複合型計算機装置のプロセッサの状態遷移時のAC-DC電源モジュールの管理方法のフローチャートである。
【図６】図１に示す複合型計算機装置のプロセッサの状態が通常稼動状態からスリープ状態へ遷移する場合のAC-DC電源モジュールの管理方法の一例を示す説明図である。
【図７】図１に示す複合型計算機装置のプロセッサの状態がスリープ状態から通常稼動状態へ遷移する場合のAC-DC電源モジュールの管理方法の一例を示す説明図である。
【図８】図１に示す複合型計算機装置のシステムの状態が通常稼動状態からスリープ状態へ遷移するの場合のAC-DC電源モジュールの管理方法のフローチャートである。
【図９】図１に示す複合型計算機装置のシステムの状態がスリープ状態から通常稼動状態へ遷移するの場合のAC-DC電源モジュールの管理方法のフローチャートである。
【図１０】図１に示す複合型計算機装置のシステムの状態が通常稼動状態からスリープ状態へ遷移する場合のAC-DC電源モジュールの管理方法の一例を示す説明図である。
【図１１】図１に示す複合型計算機装置のシステムの状態がスリープ状態から通常稼動状態へ遷移する場合のAC-DC電源モジュールの管理方法の一例を示す説明図である。
【図１２】図１に示す複合型計算機装置に搭載されるCPUモジュールのプロセッサがマルチコアを有する場合のCPUモジュールのブロック図である。
【図１３】図１に示す複合型計算機装置に搭載されるCPUモジュールのプロセッサがマルチコアを有する場合の管理モジュールが有するプロセッサの状態情報の一例を示す説明図である。
【図１４】図１に示す複合型計算機装置のプロセッサのスリープ状態のためのタイマ設定時間が典型的なスリープ時間をベースに決定する方法を示す説明図である。
【図１５】図１に示す複合型計算機装置のプロセッサのスリープ状態のためのタイマ設定時間が電源の制御時間を考慮した典型的なスリープ時間をベースに決定する方法を示す説明図である。
【図１６】典型的なAC-DC電源の負荷と消費電力の関係を示すグラフである。
【符号の説明】
【００３４】
100…複合型計算機装置、
1011,1012,1013…CPUモジュール、
1021,1022,1023…プロセッサ、
1031,1032,1033…プロセッサ、
1041,1042,1043…DC-DC電源、
1051,1052,105…CPUモジュールコントローラ、
1061,1062,1063,1064,1065…AC-DC電源モジュール、
107…管理モジュール、
108…システム情報、
1091,1092,1093…CPUモジュールで稼動するソフトウェア群、
1091,1092,1093…CPUモジュールで稼動するソフトウェア群、
1101,1102,1103…オペレーションシステム、
1111,1112,1113…システムファームウェア、
10012…管理サーバ、
10013…管理ソフトウェア、
100141,100142,100143…エージェントソフトウェア、
121511,121512,121513,121514…プロセッサコア、
121521,121522,121523,121524…プロセッサコア、
1401…時間順序、
1402…プロセッサの状態、
1403…プロセッサのスリープ時間、
1404…スリープ用のタイマ時間、
1405…電源制御用時間、
1601…典型的なAC-DC電源の負荷-消費電力の関係を示す曲線、
BA…オペレーションシステムとシステムファームウェア間のソフトウェアインターフェース、
BB…システムファームウェアとCPUモジュールコントローラ間のソフトウェアインターフェース、
BC…プロセッサとCPUモジュールコントローラ間の制御用インターフェース、
PA…管理モジュールとAC-DC電源モジュール間の制御用のインターフェース、
PB…AC-DC電源モジュールとDC-DC電源間の電源配線、
PC…DC-DC電源とプロセッサ間の電源配線、
PD…CPUモジュールコントローラとDC-DC電源間の制御用のインターフェース、
MI…管理モジュールとCPUモジュールコントローラ間の管理用のインターフェース、
ML1…管理サーバとCPUモジュール間の管理用のインターフェース、
ML2…管理サーバと管理モジュール間の管理用のインターフェース、
FT2…CPUモジュール稼動情報、
FT3…プロセッサの状態情報、
FT4…プロセッサ消費電力情報、
FT13…プロセッサがマルチコアの場合のプロセッサの情報、
K201,K301,K1301…CPUモジュールの番号を示す列、
K202…システムの状態を示す列、
K2031,K2032…CPUモジュールに搭載されるプロセッサの種類を示す列、
K3021,K3022…CPUモジュールに搭載されるプロセッサの状態を示す列、
K401…プロセッサ種類を示す列、
K4021,K4022,K4023,K4024…プロセッサの状態A0、A1、A2、A3、…に対応する必要な消費電力を示す列、
K4031,K4032,K4033,K4034…プロセッサの状態B0、B1、B2、B3、…に対応する必要な消費電力を示す列、
K404…プロセッサの名称を示す列、
K13021,K13022…CPUモジュールに搭載されるプロセッサを示す列、
K130311,K130312,K130313,K130314…CPUモジュールに搭載されるプロセッサ内のプロセッサコアの状態を示す列、
CP1,CP…プロセッサの種類を識別するための識別子、
A0,A1,A2,A3…プロセッサの状態を表す識別子、
B0,B1,B2,B3…システムの状態を表す識別子、
SS…システムの状態がスリープ状態であることを表す識別子、
TSP…実スリープ時間、
TSAx…スリープ状態Axの（典型的な）スリープ時間、
TCP1ｖ…AC-DC電源モジュール制御時間（スリープ移行時）、
TCP2…AC-DC電源モジュール制御時間（通常稼動復帰時）、
TCP…全AC-DC電源モジュール制御時間。
【図１】
2006302059.tif 000003
【図２】
2006302059.tif 000004
【図３】
2006302059.tif 000005
【図４】
2006302059.tif 000006
【図５】
2006302059.tif 000007
【図６】
2006302059.tif 000008
【図７】
2006302059.tif 000009
【図８】
2006302059.tif 000010
【図９】
2006302059.tif 000011
【図１０】
2006302059.tif 000012
【図１１】
2006302059.tif 000013
【図１２】
2006302059.tif 000014
【図１３】
2006302059.tif 000015
【図１４】
2006302059.tif 000016
【図１５】
2006302059.tif 000017
【図１６】
2006302059.tif 000018