(57)【特許請求の範囲】
【請求項１】
複数のプロセッサと、
前記複数のプロセッサに対応して設けられ、対応する前記各プロセッサに電源電圧を供給する、複数の電源制御回路と、
複数の処理を前記複数のプロセッサに分散させて処理させるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を記憶する、メモリと、
前記複数の電源制御回路の動作を制御する、ＢＭＣ（Ｂａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）と、
を具備し、
前記ＢＭＣは、
前記各プロセッサにおける消費電力に関連する情報を電力情報として取得する、監視部と、
前記電力情報に基づいて、前記複数のプロセッサ全体において、処理性能が維持され、消費電力が低減される条件を識別し、識別結果に基づいて、電源をオン又はオフに変更するべきプロセッサを特定プロセッサとして特定し、前記特定プロセッサを示す最適化情報を生成する最適化部と、
前記最適化情報に基づいて、前記特定プロセッサを前記ＯＳの配下から切り離す旨、又は、前記特定プロセッサを前記ＯＳの配下に組み込む旨を示す割り込み要求を生成し、前記割り込み要求を前記ＯＳに通知する、プラグアンドプレイ部とを備え、
前記ＯＳは、前記割り込み要求に従って、前記特定プロセッサを、配下に組み込み、又は、配下から切り離し、
前記プラグアンドプレイ部は、前記特定プロセッサが組み込まれた後、又は前記特定プロセッサが切り離された後に、前記特定プロセッサに対する電源電圧の供給が開始又は停止されるように、前記複数の電源制御回路の動作を制御する
コンピュータシステム。
【請求項２】
請求項１に記載されたコンピュータシステムであって、
前記各プロセッサには、前記各プロセッサにおける温度を測定し、温度データを生成する、温度モニタが設けられ、
前記各電源制御回路には、対応する前記各プロセッサにおける消費電流を測定し、消費電流データを生成する、電流モニタが設けられ、
前記監視部は、前記電力情報として、前記温度データ及び前記消費電流データを含む情報を取得し、
前記最適化部は、予め設定された、前記各プロセッサについて消費電流、温度、及び性能の対応関係を示す性能テーブルを参照し、前記温度データ及び前記消費電流データに基づいて、前記複数のプロセッサが有している性能を認識し、認識した現在の性能が維持できる条件のうちで消費電力が最小となるような条件を特定し、特定した条件において電源をオン又はオフに変更するべきプロセッサが存在する場合には、そのプロセッサを前記特定プロセッサとして特定する
コンピュータシステム。
【請求項３】
複数のプロセッサと、前記複数のプロセッサに対応して設けられ、対応する前記各プロセッサに電源電圧を供給する、複数の電源制御回路と、複数の処理を前記複数のプロセッサに分散させて処理させるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を記憶する、メモリと、前記複数の電源制御回路の動作を制御する、ＢＭＣ（Ｂａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）とを具備するコンピュータシステムにおける省電力制御方法であって、
前記ＢＭＣが、前記各プロセッサにおける消費電力に関連する情報を電力情報として取得するステップと、
前記ＢＭＣが、前記電力情報に基づいて、前記複数のプロセッサ全体において、処理性能が維持され、消費電力が低減される条件を識別し、識別結果に基づいて、電源をオン又はオフに変更するべきプロセッサを特定プロセッサとして特定し、前記特定プロセッサを示す最適化情報を生成するステップと、
前記ＢＭＣが、前記最適化情報に基づいて、前記特定プロセッサを前記ＯＳの配下から切り離す旨、又は、前記特定プロセッサを前記ＯＳの配下に組み込む旨を示す割り込み要求を生成し、前記割り込み要求を前記ＯＳに通知するステップと、
前記ＯＳが、前記割り込み要求に従って、前記特定プロセッサを、配下に組み込み、又は、配下から切り離すステップと、
前記ＢＭＣが、前記特定プロセッサが組み込まれた後、又は前記特定プロセッサが切り離された後に、前記特定プロセッサに対する電源電圧の供給が開始又は停止されるように、前記複数の電源制御回路の動作を制御するステップと、
を具備する
省電力制御方法。
【請求項４】
請求項３に記載されたコンピュータシステムにおける省電力制御方法であって、
更に、
前記各プロセッサが、前記各プロセッサにおける温度を測定し、温度データを生成するステップと、
前記各電源制御回路が、対応する前記各プロセッサにおける消費電流を測定し、消費電流データを生成するステップと、
を具備し、
前記電力情報として取得するステップは、前記電力情報として、前記温度データ及び前記消費電流データを含む情報を取得するステップを含んでおり、
前記最適化情報を生成するステップは、予め設定された、前記各プロセッサについて消費電流、温度、及び性能の対応関係を示す性能テーブルを参照し、前記温度データ及び前記消費電流データに基づいて、前記複数のプロセッサが有している性能を認識し、認識した現在の性能が維持できる条件のうちで消費電力が最小となるような条件を特定し、特定した条件において電源をオン又はオフに変更するべきプロセッサが存在する場合には、そのプロセッサを前記特定プロセッサとして特定するステップを含んでいる
省電力制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステム、及びコンピュータシステムにおける省電力制御方法に関する。
【背景技術】
【０００２】
コンピュータシステムでは、消費電力を抑制するために、省電力機能が搭載される。現在、ほとんどのコンピュータシステムでは、省電力動作を実現するために、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）とハードウェア部分との間のインターフェースとして、ＡＣＰＩ（Ａｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ）規格に従う手段が採用されている。特に、プロセッサを省電力で動作させるために、ＡＣＰＩ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  （Ｒｅｖｉｓｉｏｎ  ３．０ａ）の「８  Ｐｒｏｃｅｓｓｏｒ  Ｐｏｗｅｒ  ａｎｄ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｓｔａｔｅ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｃｏｎｔｒｏｌ  」の章に記載されている手段が利用されている。
【０００３】
コンピュータシステムとして、複数のプロセッサを備えるマルチプロセッサシステムが知られている。マルチプロセッサシステムにおいても、上述のように、ＡＣＰＩ規格を利用して、省電力機能が実現される。
【０００４】
図１は、コンピュータシステムにおける省電力動作を概念的に示す図である。コンピュータシステムにおいては、ハードウェア部分１０１（ハードウェア及びファームウェア）上において、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）１０２が動作する。また、ＯＳ１０２上においては、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）１０５を介して、ＳＭＳ（Ｓｙｓｔｅｍ  Ｍａｎａｇｅｍｅｎｔ  Ｓｏｆｔｗａｒｅ）１０３が動作する。ハードウェア部分１０１には、プロセッサの電力を制御するためのプロセッサ電力制御手段１０６が設けられる。ＯＳ１０２は、プロセッサ電力制御手段１０７を有している。また、ＯＳ１０２又はＳＭＳ１０３は、プロセッサ状態監視手段１０８を有している。プロセッサ電力制御手段１０６及びプロセッサ電力制御手段１０７は、ＡＣＰＩ規格に規定される機能により、プロセッサの省電力動作を実現する。
【０００５】
図１に示されるコンピュータシステムにおいては、ＯＳ１０２又はＳＭＳ１０３が、プロセッサ状態監視手段１０８により、プロセッサの動作状態を監視し、省電力モードに移行するか否かを決定する。省電力モードに移行する場合、ＯＳ１０２において、プロセッサ電力制御手段１０７が、どの状態（ステート）でプロセッサを動作させるかを決定する。そして、プロセッサ電力制御手段１０７は、ＡＣＰＩ１０４を介して、決定された状態でプロセッサが動作するように、ハードウェア部分１０１を制御する。ハードウェア部分１０１では、プロセッサ電力制御手段１０６により、決定された状態で動作するように、プロセッサが制御される。
【０００６】
尚、省電力動作に関連する技術として、特許文献１（特開２００５−１８６６２号公報）には、パワーマネージメントシステムが開示されている。特許文献１には、マルチタスクのシステムにおいて、全てのプログラムが休止状態であることを知る手段と、ＣＰＵ＿Ｉｄｌｅの発生割合を計測する手段と、マルチタスクシステムであっても、ＣＰＵ＿Ｉｄｌｅの発生頻度から各プログラムの処理終了を認識する手段と、プログラムが動作していないときは、周辺デバイスへの電源供給を停止し、または、ＣＰＵクロックを停止又は低下させる手段を有する点が記載されている。
【０００７】
他の関連技術として、特許文献２（特開２０１０−２５０７９２号公報）には、節電電子装置が開示されている。この節電電子装置においては、ＡＣＰＩのＳ３状態などのメモリサスペンド状態にあるとき、サウスブリッジチップとＳＩＯチップの電源を強制的に切断し、電力を節減する点が開示されている。
【０００８】
更に他の関連技術として、特許文献３（特開２００８−１６５８０３号公報）には、ブレードサーバ管理システムが開示されている。基板管理制御器（Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ  ：  ＢＭＣ）がブレードサーバの動作パラメータを監視制御し、各ブレードのオン、オフ、電源管理の制御を提供する点が記載されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００５−１８６６２号公報
【特許文献２】特開２０１０−２５０７９２号公報
【特許文献３】特開２００８−１６５８０３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
図１に示したように、ＡＣＰＩ規格を利用してプロセッサの省電力制御機能を実現する場合には、以下の課題がある。
【００１１】
まず、ＯＳ１０２は、プロセッサ電力制御手段１０７を実現するために、ＡＣＰＩに規定される機能を有していなければならない。ＡＣＰＩ規格では、プロセッサの動作状態として、Ｃ０ステート（Ｐｒｏｃｅｓｓｏｒ  Ｐｏｗｅｒ  Ｓｔａｔｅ  Ｃ０）、Ｃ１ステート（Ｐｒｏｃｅｓｓｏｒ  Ｐｏｗｅｒ  Ｓｔａｔｅ  Ｃ１）、Ｃ２ステート（Ｐｒｏｃｅｓｓｏｒ  Ｐｏｗｅｒ  Ｓｔａｔｅ  Ｃ２）、Ｃ３ステート（Ｐｒｏｃｅｓｓｏｒ  Ｐｏｗｅｒ  Ｓｔａｔｅ  Ｃ３）、及びＰｘステート（Ｐｒｏｃｅｓｓｏｒ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｓｔａｔｅ  Ｐｘ）などが規定されている。従って、ＯＳ１０２は、これらＡＣＰＩ規格によって規定される動作状態でプロセッサを制御することができるような機能を有していなければならない。ＡＣＰＩ規格では、ＯＳ１０２に対し、ステートＣ０及びステートＣ１でプロセッサを制御することができるような機能をサポートしていることが義務付けられている。従って、殆どの場合、ＯＳ１０２は、ステートＣ０及びステートＣ１に関する機能をサポートしている。しかしながら、しかし、Ｃ２ステート、Ｃ３ステート、及びＰｘステートなどは、ＡＣＰＩ規格においてオプションとして規定されている。また、Ｃ２ステート、Ｃ４ステート、及びＰｘステートでプロセッサを動作させるためには、プロセッサがこれらのステートで動作するような機能をサポートしている必要がある。そのため、殆どの場合、ＯＳ１０２は、Ｃ２ステート、Ｃ３ステート、及びＰｘステートに関する機能をサポートしていない。
【００１２】
すなわち、殆どの場合、ＯＳ１０２は、ステートＣ０及びステートＣ１によって、プロセッサの省電力動作を実現する。ステートＣ０では、プロセッサが、通常状態で動作する。ステートＣ１では、プロセッサにおいて命令の実行が停止される。プロセッサの動作状態がステートＣ１になるように制御されたとしても、プロセッサの命令実行が停止されるだけであり、プロセッサ自身の電源がオフ状態にされるわけではない。従って、省電力効果は、低い。
【００１３】
また、ＡＣＰＩ規格を利用する場合、ＯＳ１０２又はＳＭＳ１０３は、プロセッサ状態監視手段１０８を備えてなければならない。すなわち、ＯＳ１０２又はＳＭＳ１０３が、プロセッサの状態を監視する機能を有していなければならない。コンピュータシステムにおいては、ＯＳ１０２又はＳＭ１０３が、プロセッサの状態を監視する機能を有していない場合もある。そのような場合、プロセッサの省電力制御機能を実現することができない。
【００１４】
従って、本発明の課題は、ＯＳやＳＭＳの仕様に関わらず、プロセッサの省電力制御機能を実現することができる、コンピュータシステム、及び省電力制御方法を提供することにある。
【００１５】
尚、引用文献１乃至３のいずれにおいても、ＯＳやＳＭＳの仕様に関わらずプロセッサの省電力制御機能を実現する点については、触れられていない。
【課題を解決するための手段】
【００１６】
本発明に係るコンピュータシステムは、複数のプロセッサと、前記複数のプロセッサに対応して設けられ、対応する前記各プロセッサに電源電圧を供給する、複数の電源制御回路と、複数の処理を前記複数のプロセッサに分散させて処理させるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を記憶する、メモリと、前記複数の電源制御回路の動作を制御する、ＢＭＣ（Ｂａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）とを具備する。前記ＢＭＣは、前記各プロセッサにおける消費電力に関連する情報を電力情報として取得する、監視部と、前記電力情報に基づいて、前記複数のプロセッサ全体において、処理性能が維持され、消費電力が低減されるように、前記各プロセッサを動作させるか否かを決定し、決定結果を示す最適化情報を生成する最適化部と、前記最適化情報に基づいて、前記各プロセッサを前記ＯＳの配下から切り離す旨、又は、前記各プロセッサを前記ＯＳの配下に組み込む旨を示す割り込み要求を生成し、前記割り込み要求を前記ＯＳに通知する、プラグアンドプレイ部とを備える。前記ＯＳは、前記割り込み要求に従って、前記各プロセッサを、配下に組み込み、又は、配下から切り離す。前記プラグアンドプレイ部は、前記各プロセッサが組み込まれた後、又は前記各プロセッサが切り離された後に、前記各プロセッサに対する電源電圧の供給が開始又は停止されるように、前記複数の電源制御回路の動作を制御する。
【００１７】
本発明に係る省電力制御方法は、複数のプロセッサと、前記複数のプロセッサに対応して設けられ、対応する前記各プロセッサに電源電圧を供給する、複数の電源制御回路と、複数の処理を前記複数のプロセッサに分散させて処理させるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を記憶する、メモリと、前記複数の電源制御回路の動作を制御する、ＢＭＣ（Ｂａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）とを具備するコンピュータシステムにおける省電力制御方法である。この省電力制御方法は、前記ＢＭＣが、前記各プロセッサにおける消費電力に関連する情報を電力情報として取得するステップと、前記ＢＭＣが、前記電力情報に基づいて、前記複数のプロセッサ全体において、処理性能が維持され、消費電力が低減されるように、前記各プロセッサを動作させるか否かを決定し、決定結果を示す最適化情報を生成するステップと、前記ＢＭＣが、前記最適化情報に基づいて、前記各プロセッサを前記ＯＳの配下から切り離す旨、又は、前記各プロセッサを前記ＯＳの配下に組み込む旨を示す割り込み要求を生成し、前記割り込み要求を前記ＯＳに通知するステップと、前記ＯＳが、前記割り込み要求に従って、前記各プロセッサを、配下に組み込み、又は、配下から切り離すステップと、前記ＢＭＣが、前記各プロセッサが組み込まれた後、又は前記各プロセッサが切り離された後に、前記各プロセッサに対する電源電圧の供給が開始又は停止されるように、前記複数の電源制御回路の動作を制御するステップとを具備する。
【発明の効果】
【００１８】
本発明の課題は、ＯＳやＳＭＳの仕様に関わらず、プロセッサの省電力制御機能を実現することができる、コンピュータシステム、及び省電力制御方法が提供される。
【図面の簡単な説明】
【００１９】
【図１】コンピュータシステムにおける省電力動作を概念的に示す図である。
【図２】実施形態に係るコンピュータシステムの機能構成を概略的に示す概念図である。
【図３】実施形態に係るコンピュータシステムを示すブロック図である。
【図４】ＢＭＣの機能構成を示す概略図である。
【図５】性能テーブルの一例を示す概念図である。
【図６】コンピュータシステムの動作方法を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下に、図面を参照しつつ、本発明の実施形態について説明する。
【００２１】
まず、本実施形態に係るコンピュータシステム１について、概略的に説明する。
【００２２】
図２は、本実施形態に係るコンピュータシステム１の機能構成を概略的に示す概念図である。尚、本実施形態に係るコンピュータシステム１は、複数のプロセッサを備えるマルチプロセッサコンピュータシステムであるものとする。
【００２３】
図２に示されるように、コンピュータシステム１では、ハードウェア部分２上において、ＯＳ３が動作する。ＯＳ３は、複数のプロセッサにより実行される。また、ＯＳ３上において、ＳＭＳ４（システムマネジメントソフトウェア）が動作する。
【００２４】
ハードウェア部分２は、ハードウェア及びファームウェアによって構成される部分であり、監視部７、最適化部６、及びプラグアンドプレイ部５を備えている。監視部７は、複数のプロセッサそれぞれにおける消費電力に関する情報（電力情報）を取得（監視）する機能を有している。最適化部６は、電力情報に基づいて、コンピュータシステム１の全体における電力パフォーマンスの最適解を解き、電源をオン又はオフに変更するプロセッサを特定する機能を有している。プラグアンドプレイ部５は、最適化部６において得られた結果に基づいて、特定したプロセッサの電源をオン又はオフにする機能を有している。
【００２５】
一方、ＯＳ３は、プラグアンドプレイ部８を備えている。プラグアンドプレイ部８は、特定のプロセッサをＯＳ３の配下に組み込む機能（オンラインにする機能）、及び、特定のプロセッサをＯＳ３の配下から切り離す機能（オフラインにする機能）を有している。これらの機能は、ＡＣＰＩにより規定されるプラグアンドプレイ（Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）機能である。
【００２６】
本実施形態に係るコンピュータシステム１では、ハードウェア部分２において、監視部７が、複数のプロセッサの各々状態を監視し、電力情報を取得する。そして、最適化部６が、電力情報に基づいて、電力パフォーマンスの最適解を解き、電源をオン又はオフに変更するべきプロセッサを特定する。プラグアンドプレイ部５は、最適化部６において特定されたプロセッサをオフライン又はオンラインにする旨を示す割り込み要求を生成し、ＯＳ３に通知する。ＯＳ３は、割り込み要求を受け付けると、プラグアンドプレイ部８により、特定されたプロセッサをオフライン又はオンラインにする。その後、ハードウェア部分２において、プラグアンドプレイ部５が、特定されたプロセッサの電源をオン又はオフに変更する。
【００２７】
上述のような動作方法により、複数のプロセッサが、最適化部６において最適化された状態で動作し、消費電力が抑制される。本実施形態によれば、ＯＳ３は、ＡＣＰＩにおいて規定されるプラグアンドプレイ機能さえサポートしていればよく、ＡＣＰＩに規定される電力制御機能（ステートＣ０、Ｃ１、Ｃ２、Ｃ３、Ｐｘ）などをサポートしている必要はない。すなわち、ＯＳ３やＳＭＳ４の仕様にさほど依存することなく、プロセッサに対する省電力制御を実現することができる。また、動作する必要がないプロセッサの電源はオフにされるため、ＡＣＰＩに規定されるステートＣ１とは異なり、複数のプロセッサにおいて消費される電力量を大きく減らすことができる。
【００２８】
続いて、本実施形態に係るコンピュータシステム１について、詳細に説明する。
【００２９】
図３は、本実施形態に係るコンピュータシステム１を示すブロック図である。図３に示されるように、コンピュータシステム１は、複数のプロセッサ９−１〜９−３、複数の電源制御回路１０−１〜１０−３、ホストブリッジ１２、メモリ１３、ＩＯブリッジ１４、複数のＩＯデバイス１５、及びＢＭＣ（管理コントローラ；Ｂａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）１１を備えている。
【００３０】
ホストブリッジ１２は、複数のプロセッサ９−１〜９−３、メモリ１３、及びＩＯブリッジ１４に接続されている。ＩＯブリッジ１４の配下には、複数のＩＯデバイス１５が接続されている。ホストブリッジ１２は、複数のプロセッサ９−１〜９−３、メモリ１３、及び複数のＩＯデバイス間におけるデータの転送を制御する機能を有している。ＩＯブリッジ１４は、ホストブリッジ１２と複数のＩＯデバイス１５との間におけるデータの転送を制御する。複数のＩＯデバイス１５は、ネットワークデバイス、ＤＩＳＫデバイス等であり、コンピュータシステム１を周辺装置と接続するために用いられる。
【００３１】
メモリ１３には、ＯＳ及びＳＭＳが格納されている。既述のように、ＯＳは、複数のプロセッサ９−１〜９−３によって実行される。ＯＳは、複数の処理を複数のプロセッサ９−１〜９−３に分散させ、実行する。ＳＭＳは、ＯＳ上で動作する。また、既述のように、ＯＳは、ＡＣＰＩに規定されるプラグアンドプレイ機能をサポートしている。
【００３２】
複数のプロセッサ９−１〜９−３の各々には、温度を計測し、温度データを生成する温度モニタが設けられている。
【００３３】
複数の電源制御回路１０−１〜１０−３は、複数のプロセッサ９−１〜９−３に対応して設けられている。複数の電源制御回路１０の各々は、対応するプロセッサの電源として機能する。各電源制御回路１０には、電流モニタが設けられている。電流モニタは、対応するプロセッサ９における消費電流を計測し、電流データを生成する。
【００３４】
ＢＭＣ１１は、コンピュータシステム１に含まれる主要なハードウェア部品（複数のプロセッサ９−１〜９−３、ホストブリッジ１２、ＩＯブリッジ１４等）を管理し、制御するために設けられている。ＢＭＣ１１は、管理バス１６を介して、プロセッサ９−１〜９−３、ホストブリッジ１２、ＩＯブリッジ１４、および複数の電源制御回路１０−１〜１０−３に接続されている。
【００３５】
図４は、本発明に関連するＢＭＣ１１の機能構成を示す概略図である。図４に示されるように、ＢＭＣ１１は、監視部７、最適化部６、及びプラグアンドプレイ部５を有している。
【００３６】
監視部７は、各プロセッサ９の状態を監視する部分である。具体的には、監視部７は、各プロセッサにおける消費電流及び温度を監視する。すなわち、監視部７は、管理バス１６を介して、各プロセッサ９に設けられた温度モニタから、温度データを取得する。また、監視部７は、管理バス１６を介して、各電源制御回路１０に設けられた電流モニタから、電流データを取得する。監視部７は、温度データ及び電流データを、電力情報として、最適化部６に通知する。
【００３７】
最適化部６は、電力情報に基づいて、コンピュータシステム１における電力パフォーマンスの最適解を解き、電源をオン又はオフに変更するべきプロセッサを、特定プロセッサとして特定する。特定プロセッサの特定手法については、特に限定されるものではないが、例えば次のような手法を採用することができる。最適化部６は、予め設定された性能テーブルを保持している。図５は、性能テーブルの一例を示す概念図である。図５に示されるように、性能テーブルは、各プロセッサ１０について、消費電流、温度、及び性能の対応関係を示している。最適化部６は、性能テーブルを参照し、電力情報に基づいて、現在複数のプロセッサ９−１〜９−３が有している性能を認識する。そして、最適化部６は、認識した現在の性能が維持できる条件のうちで、消費電流が最小となるような条件を特定する。更に、最適化部６は、特定した条件において、電源をオン又はオフに変更するべきプロセッサが存在する場合には、そのプロセッサを特定プロセッサとして特定する。
【００３８】
プラグアンドプレイ部５は、ＡＣＰＩに規定されるプラグアンドプレイ機能を有している。すなわち、プラグアンドプレイ部５は、特定プロセッサをオンライン（ＯＳの配下に組み込む）又はオフライン（ＯＳの配下から切り離す）旨を示す割り込み要求を生成し、ＯＳに通知する機能を有している。また、プラグアンドプレイ部５は、ＯＳによって特定プロセッサがオフライン又はオンラインに変更された後に、特定プロセッサに対する電源がオフ又はオンにされるように、特定プロセッサに対応する電源制御回路１０の動作を制御する。
【００３９】
続いて、本実施形態に係るコンピュータシステム１の動作方法について説明する。図６は、コンピュータシステム１の動作方法を示すフローチャートである。
【００４０】
ステップＳ１：プロセッサ状態の監視
ＢＭＣ１１では、監視部７が、定期的に、全てのプロセッサの消費電流及び温度を監視する。すなわち、監視部７は、管理バス１６を介して、各電源制御回路１０−１から、電流データを取得する。また、監視部７は、管理バス１６を介して、各プロセッサ９から、温度データを取得する。監視部７は、電流データ及び温度データを、電力情報として、最適化部６に通知する。
【００４１】
ステップＳ２：電力パフォーマンス最適解の算出
次いで、ＢＭＣ１１において、最適化部６が、電力情報に基づいて、コンピュータシステム１における電力パフォーマンスを分析し、コンピュータシステムの性能が維持されたまま電力パフォーマンスが最良となるような条件（消費電流が最小となるような条件）を算出する。
【００４２】
ステップＳ３：プロセッサの電源をＯＮ又はＯＦＦに変更？
次いで、最適化部６により、電源をオン又はオフにするべきプロセッサが存在するか否かが判定され、存在する場合には、当該プロセッサが特定プロセッサとして特定される。例えば、全てのプロセッサが平均的に動作している場合、１／３のプロセッサの電源をオフに変更し、残り２／３のプロセッサに処理を集中させることにより、コンピュータシステム１全体における処理性能を維持したまま、消費電力を抑制できることがある。このような場合には、最適化部６により、１／３のプロセッサが、電源をオフにするべき特定プロセッサとして特定される。最適化部６は、特定プロセッサを示す情報を、最適化情報として、プラグアンドプレイ部５に通知する。
【００４３】
ステップＳ４；ＯＳにオンラインｏｒオフライン指示
次いで、ＢＭＣ１１において、プラグアンドプレイ部５が、特定プロセッサがオフライン又はオンラインにされるように、割り込み要求を生成し、ＯＳに通知する。割り込み要求は、ＡＣＰＩに規定されているＳＣＩ（Ｓｙｓｔｅｍ  Ｃｏｎｔｒｏｌ  Ｉｎｔｅｒｒｕｐｔ）に従って、通知される。
【００４４】
ステップＳ５；ＯＳがプロセッサをオフライン又はオンラインに変更
ＯＳは、ＳＣＩによる割り込み要求を受け付けると、プラグアンドプレイ部８により、特定プロセッサをオフライン又はオンラインに変更する。その後、ＯＳは、処理が完了した旨をＢＭＣ１１に通知する。
【００４５】
ステップＳ６；特定プロセッサの電源をオン又はオフ
ＢＭＣ１１では、ＯＳから処理が完了した旨の通知を受け取ると、プラグアンドプレイ部５により、特定プロセッサの電源を、オン又はオフに変更する。具体的には、プラグアンドプレイ部５は、管理バス１６を介して、特定プロセッサに対応する電源制御回路１０に対して、指示を送る。
【００４６】
以上説明したように、本実施形態によれば、最適化部６により、コンピュータシステム１全体における処理性能が維持されたまま消費電力が低減されるように、特定プロセッサが特定される。例えば、あるプロセッサの電源をオフに変更することにより、性能を維持したまま消費電力を抑制できる場合には、最適化部６によって、そのプロセッサが電源をオフにするべきプロセッサであると特定される。そして、ＯＳにより特定プロセッサがオフラインにされ、ＢＭＣ１１により特定プロセッサの電源がオフ状態に変更される。逆に、電源がオフ状態であるプロセッサをオン状態にすることにより、性能を維持したまま省電力化が図れる場合には、その特定プロセッサの電源がオンにされ、ＯＳの配下に組み込まれる。すなわち、特定プロセッサの電源をオン又はオフにすることにより、省電力化を図ることができる。ＡＣＰＩでサポートが必須になっているステートＣ０及びステートＣ１によって省電力制御を実現する場合よりも、より大きな省電力効果を得ることができる。
【００４７】
また、本実施形態では、ＯＳが、プロセッサに対してＡＣＰＩで規定されているプラグアンドプレイ機能をサポートしてさえいれば、ＯＳ又はＳＭＳがプロセッサの省電力制御に関する機能をサポートしているか否かにかかわらず、プロセッサを省電力で動作するように制御することが可能である。
【００４８】
本発明は、マルチプロセッサシステムであり、且つ、ハードウェア部品を管理・制御するＢＭＣが搭載されたコンピュータシステムにおいて適用することができ、ＡＣＰＩにより規定されているプラグアンドプレイ機能をプロセッサに対してサポートしているＯＳが動作するコンピュータシステムに適用できる。
【符号の説明】
【００４９】
１  コンピュータシステム
２  サーバ
３  ＯＳ
４  ＳＭＳ
５  プラグアンドプレイ部
６  最適化部
７  監視部
８  プラグアンドプレイ部
９（９−１〜９−３）  プロセッサ
１０  電源制御回路
１１  ＢＭＣ
１２  ホストブリッジ
１３  メモリ
１４  Ｉ／Ｏブリッジ
１５  Ｉ／Ｏデバイス
１６  管理バス
１７  ＡＣＰＩ
１８  ＡＰＩ
１０１  サーバ
１０２  ＯＳ
１０３  ＳＭＳ
１０４  ＡＣＰＩ
１０５  ＡＰＩ
１０６  プロセッサ電力制御手段
１０７  プロセッサ電力制御手段
１０８  プロセッサ状態監視手段
【図１】
0005483465.tif 000002
【図２】
0005483465.tif 000003
【図３】
0005483465.tif 000004
【図４】
0005483465.tif 000005
【図５】
0005483465.tif 000006
【図６】
0005483465.tif 000007