(57)【特許請求の範囲】
【請求項１】
多段階のスロットリング機能を有するプロセッサを備える情報処理装置の消費電力を制御する消費電力制御装置であって、
前記プロセッサ、メモリ及び入出力に最大負荷をかける負荷ジョブを実行させる負荷ジョブ実行部と、
前記最大負荷がかかった状態の前記プロセッサに対して、スロットリング段階を順次変える第１のスロットリング設定部と、
前記第１のスロットリング設定部により順次変えられるスロットリング段階毎に、前記最大負荷がかかった状態の前記情報処理装置全体の消費電力を計測する電力測定部と、
前記電力測定部により測定された消費電力を、前記スロットリング段階に対応付けて保持する電力管理テーブルと
を備えることを特徴とする消費電力制御装置。
【請求項２】
所定の電力上限値を保持する電力上限値保持部と、
前記電力管理テーブルを参照し、前記電力上限値保持部に保持されている前記所定の電力上限値を超えず、かつ最も高い消費電力に対応するスロットリング段階を選択する運用制御部と、
前記運用制御部により選択された前記スロットリング段階を、前記プロセッサに設定する第２のスロットリング設定部と
を更に備えることを特徴とする請求項１に記載の消費電力制御装置。
【請求項３】
前記電力上限値保持部に保持する前記所定の電力上限値を設定するユーザインターフェースを更に備えることを特徴とする請求項２に記載の消費電力制御装置。
【請求項４】
前記負荷ジョブは、少なくも、プロセッサに最大負荷をかけるＣＰＵ負荷プログラム、メモリに最大負荷をかけるメモリ負荷プログラム、入出力に最大負荷をかける入出力負荷プログラムであることを特徴とする請求項１から３のいずれかに記載の消費電力制御装置。
【請求項５】
多段階のスロットリング機能を有するプロセッサを備え、消費電力を制御する情報処理装置であって、
前記プロセッサ、メモリ及び入出力に最大負荷をかける負荷ジョブを実行させる負荷ジョブ実行部と、
前記最大負荷がかかった状態の前記プロセッサに対して、スロットリング段階を順次変える第１のスロットリング設定部と、
前記第１のスロットリング設定部により順次変えられるスロットリング段階毎に、前記最大負荷がかかった状態の情報処理装置全体の消費電力を計測する電力測定部と、
前記電力測定部により測定された消費電力を、前記スロットリング段階に対応付けて保持する電力管理テーブルと
を備えることを特徴とする情報処理装置。
【請求項６】
所定の電力上限値を保持する電力上限値保持部と、
前記電力管理テーブルを参照し、前記電力上限値保持部に保持されている前記所定の電力上限値を超えず、かつ最も高い消費電力に対応するスロットリング段階を選択する運用制御部と、
前記運用制御部により選択された前記スロットリング段階を、前記プロセッサに設定する第２のスロットリング設定部と
を更に備えることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
多段階のスロットリング機能を有するプロセッサを備える情報処理装置における消費電力制御方法であって、
前記プロセッサ、メモリ及び入出力に最大負荷をかける負荷ジョブを実行させるステップと、
前記最大負荷がかかった状態の前記プロセッサに対して、スロットリング段階を順次変えるステップと、
前記順次変えられるスロットリング段階毎に、前記最大負荷がかかった状態の前記情報処理装置全体の消費電力を計測するステップと、
前記測定された消費電力を、前記スロットリング段階に対応付けて保持するステップと
を含むことを特徴とする消費電力制御方法。
【請求項８】
多段階のスロットリング機能を有するプロセッサを備える情報処理装置のコンピュータに、
前記プロセッサ、メモリ及び入出力に最大負荷をかける負荷ジョブを実行させる負荷ジョブ実行機能、
前記最大負荷がかかった状態の前記プロセッサに対して、スロットリング段階を順次変える第１のスロットリング設定機能、
前記第１のスロットリング設定機能により順次変えられるスロットリング段階毎に、前記最大負荷がかかった状態の前記情報処理装置全体の消費電力を計測する電力測定機能、
前記電力測定機能により測定された消費電力を、前記スロットリング段階に対応付けて記憶部に保持する電力管理機能
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、消費電力制御装置、情報処理装置、消費電力制御方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、サーバの消費電力密度が急速に増大するに伴って、サーバを設置するデータセンターのインフラ整備が消費電力の増大に追いつかず、サーバ側で消費電力をコントロールする機能が求められるようになっている。その中でも、サーバに対して消費電力の目標値を与え、その電力値に収まるようにスループットをコントロールする技術が重視されてきている。
【０００３】
このような背景を踏まえて、最近のＣＰＵにはスロットリング機能を備えるものがある。スロットリング機能とは、ＣＰＵの動作周波数を落とすことでＣＰＵの消費電力を減らすことのできる機能である。動作周波数を落とすことで性能は低下するが、サーバの消費電力の制御には効果的である。また、最近のサーバは、この機能を用いてサーバ全体の消費電力が一定以上に上がらないようにする電力上限制御の機能を備えていることが多い。
【０００４】
例えば、特許文献１には、マイクロプロセッサの短期間消費電力を電力モニタにより監視し、予め決定されている閾値と比較し、比較結果に応じてマイクロプロセッサへの供給電力、ならびに周波数を変化させる閉ループフィードバックによる、スロットリングシステムによる技術が提案されている。
【０００５】
また、特許文献２には、コンピュータの部品（コンピュータ内部の部品の他、場合によっては外付けにされるＣＤ−ＲＯＭやＦＤドライブ、またドッキング・ステーション）への電力制御信号（例えばＣＰＵの内部クロック制御信号、ＣＰＵへの外部からのクロック供給制御信号、ＣＰＵへの割り込み信号、各部品への省電力制御信号等）の変化を表示する技術が提案されている。
【０００６】
また、特許文献３には、電子機器の全消費電力を検出するとともに、リソース使用量を検出し、検出された電子機器の全消費電力及び検出されたリソース使用量を重回帰分析して、リソースの消費電力を推定し、デバイスの装着状態が変更された場合に、必要な係数だけを取り出してリソースの消費電力を計算する技術が提案されている。
【０００７】
また、特許文献４には、測定温度と閾値温度に基づいて、動作周波数を段階的に低減させることができるスピード・ステップという技術及びスロットリングという技術に対応しているＣＰＵが処理すべき作業の一部を、プロセッサの処理能力を低減させて後続の時間帯で処理させることにより、測定温度のピークを後続の時間帯にシフトさせて放熱ファンの回転速度が上昇することを抑制する技術が提案されている。
【０００８】
また、特許文献５には、基本プログラムの動作環境下でＣＰＵを複数のパフォーマンス・ステップで動作させ、コンピュータ装置の消費電力を測定しておき、該測定値から当該コンピュータ装置を特定の消費電力で動作させるために必要なＣＰＵのパフォーマンス・ステップを導出し、これに従ってＣＰＵのパフォーマンス・ステップを制御する技術が提案されている。
【０００９】
また、特許文献６には、一定時間毎に電流センサ４２の電流値を読取り、規定時間Ｔの平均消費電力を算出し、その平均消費電力が上限値以上となった場合にスロットリング比率（間欠動作での動作／停止の比率）を変更するスロットリング制御を行なう技術が提案されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特表２００２−５２９８０６号公報
【特許文献２】特開平１１−２０２９８４号公報
【特許文献３】特開２０１０−２４４２０２号公報
【特許文献４】特開２０１０−０３９６５５号公報
【特許文献５】特開２００７−２９９３４６号公報
【特許文献６】特開２００３−２９５９８６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ところで、電力上限制御においては、大きく分けて閉ループ制御と開ループ制御という二つの方式が考えられる。上述した特許文献１〜６も、閉ループ制御、または開ループ制御のいずれかに分類される。閉ループ制御は、サーバの消費電力を常時モニタしながら、実消費電力が設定された上限電力値以上にならないようにスロットリングの状態を調整するフィードバック制御のことである。それに対して、開ループ制御は、事前にスロットリングの状態と消費電力値との対応を表した関係が与えられており、それに基づいてスロットリング状態を決定する制御である。
【００１２】
一般に閉ループ制御は精度が高いが、フィードバック制御による振動が生じないように、かなり高頻度な電力のモニタリングが要求される。そのため、電力制御、及びモニタリングを行う機構の性能が低い場合、開ループ制御が用いられる。また、閉ループ制御は、原理的に消費電力が設定された上限電力値を超えることがあるが、開ループ制御は、設定された上限電力値を超えないように設計することが容易であるというメリットがある。
【００１３】
開ループ制御を行うには、上記の通りスロットリング段階とそれに対応するサーバの消費電力値のテーブルが事前に与えられる必要がある。このテーブルは、事前に実験室のような環境で各スロットリング段階に設定したときの消費電力値を測定しておき、制御装置に固定値として与える。このとき、各スロットリング段階における消費電力は、サーバの構成（ＣＰＵ／メモリ／ＩＯカード／ディスクの数や種類など）の違いによって大きく変化する。そのため、理想的にはサーバの取り得る全ての構成バリエーションについて電力の測定を行う必要があるが、実際には現実的ではないため、一部の構成については多めの電力を使う構成に固定して測定を行うことになる。
【００１４】
例えば、ディスクやＩＯカードやメモリは、常に最大数搭載されている構成で、ＣＰＵの数だけ変えて測定を行う、などの方法である。この場合、測定される消費電力は、実際の構成で使われる消費電力に比べて常に過多になるため、電力上限制御の精度が低くなってしまうという問題が生じる。
【００１５】
このため、上述した特許文献１〜６においても、開ループ制御による電力制御は、閉ループ制御に比べてかなり精度が低く（制御パラメータの精度を高くできず）、正確な制御を行うことができないという問題があった。
【００１６】
本発明は、このような事情を考慮してなされたものであり、その目的は、開ループ制御によるより正確な電力上限制御を行うことができる消費電力制御装置、情報処理装置、消費電力制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１７】
上述した課題を解決するために、本発明は、多段階のスロットリング機能を有するプロセッサを備える情報処理装置の消費電力を制御する消費電力制御装置であって、前記プロセッサ、メモリ及び入出力に最大負荷をかける負荷ジョブを実行させる負荷ジョブ実行部と、前記最大負荷がかかった状態の前記プロセッサに対して、スロットリング段階を順次変える第１のスロットリング設定部と、前記第１のスロットリング設定部により順次変えられるスロットリング段階毎に、前記最大負荷がかかった状態の前記情報処理装置全体の消費電力を計測する電力測定部と、前記電力測定部により測定された消費電力を、前記スロットリング段階に対応付けて保持する電力管理テーブルとを備えることを特徴とする消費電力制御装置である。
【００１８】
また、上述した課題を解決するために、本発明は、多段階のスロットリング機能を有するプロセッサを備え、消費電力を制御する情報処理装置であって、前記プロセッサ、メモリ及び入出力に最大負荷をかける負荷ジョブを実行させる負荷ジョブ実行部と、前記最大負荷がかかった状態の前記プロセッサに対して、スロットリング段階を順次変える第１のスロットリング設定部と、前記第１のスロットリング設定部により順次変えられるスロットリング段階毎に、前記最大負荷がかかった状態の情報処理装置全体の消費電力を計測する電力測定部と、前記電力測定部により測定された消費電力を、前記スロットリング段階に対応付けて保持する電力管理テーブルとを備えることを特徴とする情報処理装置である。
【００１９】
また、上述した課題を解決するために、本発明は、多段階のスロットリング機能を有するプロセッサを備える情報処理装置における消費電力制御方法であって、前記プロセッサ、メモリ及び入出力に最大負荷をかける負荷ジョブを実行させるステップと、前記最大負荷がかかった状態の前記プロセッサに対して、スロットリング段階を順次変えるステップと、前記順次変えられるスロットリング段階毎に、前記最大負荷がかかった状態の前記情報処理装置全体の消費電力を計測するステップと、前記測定された消費電力を、前記スロットリング段階に対応付けて保持するステップとを含むことを特徴とする消費電力制御方法である。
【００２０】
また、上述した課題を解決するために、本発明は、多段階のスロットリング機能を有するプロセッサを備える情報処理装置のコンピュータに、前記プロセッサ、メモリ及び入出力に最大負荷をかける負荷ジョブを実行させる負荷ジョブ実行機能、前記最大負荷がかかった状態の前記プロセッサに対して、スロットリング段階を順次変える第１のスロットリング設定機能、前記第１のスロットリング設定機能により順次変えられるスロットリング段階毎に、前記最大負荷がかかった状態の前記情報処理装置全体の消費電力を計測する電力測定機能、前記電力測定機能により測定された消費電力を、前記スロットリング段階に対応付けて記憶部に保持する電力管理機能を実行させることを特徴とするプログラムである。
【発明の効果】
【００２１】
この発明によれば、開ループ制御による、より正確な電力上限制御を行うことができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施形態によるサーバ１００の構成を示すブロック図である。
【図２】本実施形態による電力管理テーブル１１２のデータ構成を示す概念図である。
【図３】本実施形態による負荷ジョブ保持部１２４が保持する負荷ジョブのためのプログラム例を示す図である。
【図４】本実施形態において、サーバ起動時の電力上限制御運用部１１０と上限電力計測部１２０との動作を説明するためのフローチャートである。
【図５】本実施形態において、電力計測完了後の電力上限制御運用部１１０の動作を説明するためのフローチャートである。
【図６】本実施形態において、ユーザがユーザインターフェース１１５を介して電力上限値を変更した場合の動作を説明するためのフローチャートである。
【図７】消費電力制御装置の最小構成を示す図である。
【発明を実施するための形態】
【００２３】
以下、本発明の一実施形態を、図面を参照して説明する。
【００２４】
図１は、本発明の実施形態によるサーバ１００（消費電力制御装置）の構成を示すブロック図である。図において、サーバ１００は、ＣＰＵ１０１、メモリ１０２、チップセット１０３、Ｉ／Ｏカード１０４、電源１０５、ファン１０６、消費電力センサ１０７、電力上限制御運用部１１０、及び上限電力計測部１２０から構成されている。ＣＰＵ１０１、メモリ１０２、チップセット１０３、Ｉ／Ｏカード１０４、電源１０５、ファン１０６は、各々、複数搭載されることもある。
【００２５】
ＣＰＵ１０１は、スロットリング機能を持つ。スロットリング機能とは、ＣＰＵ１０１の動作周波数を低下させることで、消費電力を低減することができる機能のことである。ＣＰＵ１０１の動作周波数は、一般的に何段階かの設定範囲を持っている。本実施形態では、ＣＰＵ１０１は、８段階の動作周波数を持つものとする。この段階のことを、以降スロットリング段階と呼ぶ。消費電力センサ１０７は、サーバ全体の消費電力を測定する。
【００２６】
電力上限制御運用部１１０は、サーバ１００を運用しているときの電力の制御を司る。該電力上限制御運用部１１０は、運用制御部１１１、電力管理テーブル１１２、スロットリング設定部（第２のスロットリング設定部）１１３、電力上限値保持部１１４、ユーザインターフェース１１５、及び通信部１１６を備えている。運用制御部１１１は、電力上限制御運用部１１０全体を統括して全体の制御を司る。電力管理テーブル１１２は、スロットリング段階毎に、そのスロットリング段階に設定したときに想定される最大負荷下のサーバ全体の消費電力を対応付けて保持している。なお、電力管理テーブル１１２の詳細については後述する。
【００２７】
スロットリング設定部１１３は、運用制御部１１１からの指示に従って、電力管理テーブル１１２、電力上限値保持部１１４を参照し、ＣＰＵ１０１を所定のスロットリング段階に設定する。電力上限値保持部１１４は、ユーザによって設定される、サーバ全体の電力の上限値を保持する。ユーザインターフェース１１５は、入力手段などからなり、上記電力上限値保持部１１４の電力上限値を入力する。通信部１１６は、上限電力計測部１２０と通信を行う。
【００２８】
上限電力計測部１２０は、電力管理テーブル１１２の作成を司る。該上限電力計測部１２０は、計測制御部１２１、スロットリング設定部（第１のスロットリング設定部）１２２、負荷ジョブ実行部１２３、負荷ジョブ保持部１２４、電力測定部１２５、通信部１２６、及びユーザインターフェース１２７を備えている。計測制御部１２１は、上限電力計測部１２０全体を統括して全体の制御を司る。スロットリング設定部１２２は、計測制御部１２１からの指示に従って、ＣＰＵ１０１を所定のスロットリング段階に設定する。
【００２９】
負荷ジョブ実行部１２３は、サーバ１００に対して最大負荷をかけるために、負荷ジョブ保持部１２４に保持されている負荷ジョブを実行する。電力測定部１２５は、消費電力センサ１０７を用いてサーバ全体の消費電力を測定する。ユーザインターフェース１２７は、入力手段などからなり、計測制御部１２１に対して、サーバ起動時に電力測定を行うか否かを示す電力計測フラグを入力する。計測制御部１２１は、サーバ起動時、該電力計測フラグを確認して、計測する設定の場合に電力計測を開始する。
【００３０】
電力上限制御運用部１１０と上限電力計測部１２０とは、様々な実装形態が考えられるが、例えばＢＭＣ（Baseboard Management Controller）や、ＢＩＯＳ（Basic Input/Output System）上のプログラムの一部として実現される。一例としては、電力上限制御運用部１１０がＢＭＣ上のプログラムとして実装され、電力上限制御計測部１２０がＢＩＯＳ上のプログラムとして実装される。その他、電力上限制御運用部１１０と電力上限制御計測部１２０とは、同一のＢＭＣやＢＩＯＳ上で動作する実装形態もある。一例としては、電力上限制御運用部１１０と電力上限制御計測部１２０とは、どちらもＢＭＣ上のプログラムとして実装される。
【００３１】
本実施形態では、電力測定を行うための仕組みである電力上限制御運用部１１０と上限電力計測部１２０とをサーバ１００内に備え、スロットリング状態と消費電力との関係を正確に測定し、その関係を用いて開ループ制御による電力上限制御を行う。
【００３２】
図７は、消費電力制御装置の最小構成を示す図である。
本実施形態においては、サーバ１００が消費電力制御装置である場合の例について説明している。しかしながら、消費電力制御装置の構成としては、図７に示すように、少なくとも、プロセッサに最大負荷をかける負荷ジョブを実行させる負荷ジョブ実行部と、最大負荷がかかった状態のプロセッサに対して、スロットリング段階を順次変える第１のスロットリング設定部と、第１のスロットリング設定部により順次変えられるスロットリング段階毎に、最大負荷がかかった状態のサーバ全体の消費電力を計測する電力測定部と、その電力測定部により測定された消費電力を、スロットリング段階に対応付けて保持する電力管理テーブルとを備えればよい。
【００３３】
図２は、本実施形態による電力管理テーブル１１２のデータ構成を示す概念図である。本実施形態では、全８段階のスロットリング段階２０１を有し、数字が小さいほど、ＣＰＵでの消費電力が小さくなっている。図示の例では、スロットリング段階２０１が「１」の場合、サーバ消費電力２０２は「１８００Ｗ」、スロットリング段階２０１が「２」の場合、サーバ消費電力２０２は「２１００Ｗ」、以下同様に、「３」の場合に「２３００Ｗ」、「４」の場合に「２５００Ｗ」、「５」の場合に「２６５０Ｗ」、「６」の場合に「２８００Ｗ」、「７」の場合に「２９００Ｗ」、「８」の場合に「３０００Ｗ」となっている。なお、本実実施形態においてはスロットリング段階２０１を８段階に分けているが、それ以外の数の段階にスロットリング段階２０１を分けるように設定してもよい。
【００３４】
図３は、本実施形態による負荷ジョブ保持部１２４が保持する負荷ジョブのためのプログラム例を示す図である。負荷ジョブ保持部１２４は、負荷ジョブとして、ＣＰＵ負荷プログラム３０１、メモリ負荷プログラム３０２、Ｉ／Ｏ（入出力）負荷プログラム３０３を保持している。それぞれＣＰＵ、メモリ、入出力（Ｉ／Ｏ）に最大負荷をかけるプログラムである。これらプログラム全てをサーバ１００上で実行した上で、何れかのスロットリング段階２０１に設定すると、そのスロットリング段階２０１で消費される電力はそのスロットリング段階２０１における最大の消費電力値となる。
【００３５】
次に、本実施形態の動作について説明する。
図４は、本実施形態において、サーバ起動時の電力上限制御運用部１１０と上限電力計測部１２０との動作を説明するためのフローチャートである。サーバ１００が起動すると、上限電力計測部１２０の計測制御部１２１は、メモリ１０２等に記録されている電力計測フラグを確認し（ステップＳ１０）、電力計測フラグが計測しない設定である場合（ステップＳ１０のＮＯ）、当該処理（電力計測）をスキップし、後述するサーバ起動継続の処理に進む。
【００３６】
一方、電力計測フラグが計測する設定である場合には（ステップＳ１０のＹＥＳ）、以下の電力計測を開始する。当該電力計測において、まず、計測制御部１２１の制御に基づいて負荷ジョブ実行部１２３が、負荷ジョブ保持部１２４に保持されている負荷ジョブ（ＣＰＵ負荷プログラム３０１、メモリ負荷プログラム３０２、ＩＯ負荷プログラム３０３）をサーバ１００上で実行し、サーバ１００に高負荷がかかった状態とする（ステップＳ１２）。これにより、以降、各スロットリング段階での最大負荷での電力を計測することができるようになる。
【００３７】
次に、スロットリング設定部１２２は、スロットリング段階を最低値に設定する（ステップＳ１４）。続けて、電力測定部１２５は、サーバ全体の単位時間あたりの消費電力を測定する（ステップＳ１６）。この時点で、スロットリング段階がＭａｘであるか否かを判定する（ステップＳ１８）。そして、スロットリング段階がＭａｘでなかった場合には（ステップＳ１８のＮＯ）、スロットリング設定部１２２がスロットリング段階を一段階上げる（ステップＳ２０）。その後、ステップＳ１６に戻り、ステップＳ１６〜Ｓ２０の動作を繰り返す。これにより、スロットリング段階を最低値から最大値まで順次変えながら、各スロットリング段階について、サーバ全体の単位時間あたりの消費電力を測定していく。
【００３８】
そして、スロットリング段階がＭａｘに達すると（ステップＳ１８のＹＥＳ）、負荷ジョブ実行部１２３は、負荷ジョブを終了させる（ステップＳ２２）。そして、計測制御部１２１は、通信部１２５を経由して、スロットリング段階毎に測定した単位時間あたりの消費電力を電力上限制御運用部１１０に送る。すると電力上限制御運用部１１０の運用制御部１１１は、スロットリング段階毎の単位時間あたりの消費電力の情報を、電力管理テーブル１１２に記録して更新する（ステップＳ２４）。また上限電力計測部１２０の計測制御部１２１は、メモリ１０２などに記録されている電力計測フラグをＦａｌｓｅに設定し（ステップＳ２６）、次に説明するサーバ起動継続の処理へ移行する。
【００３９】
図５は、本実施形態において、電力計測完了後の電力上限制御運用部１１０の動作を説明するためのフローチャートである。
上述した電力計測（図４）の処理が完了すると、電力上限制御運用部１１０において、運用制御部１１１は、電力上限値保持部１１４に設定・保持されている電力上限値を参照する（ステップＳ４０）。そして運用制御部１１１は、電力上限値保持部１１４に設定・保持されている電力上限値と、電力管理テーブル１１２に記録されているスロットリング段階毎の単位時間あたりの消費電力とを照らし合わせてスロットリング段階を決定する（ステップＳ４２）。この際、運用制御部１１１は、電力上限値保持部１１４に設定されている電力上限値を超えない最も高い消費電力に対応して電力管理テーブル１１２に記録されているスロットリング段階を選択する。例えば、電力管理テーブル１１２の内容が図２に示す通りであって、電力上限値が２７００Ｗであった場合には、運用制御部１１１は、２７００Ｗを超えない最も高い消費電力値である２６５０Ｗに対応したスロットリング段階「５」を選択する。次に、運用制御部１１１は、スロットリング設定部１１３を介してＣＰＵ１０１に対して、決定したスロットリング段階（この場合、「５」）を設定し（ステップＳ４４）、その後の通常のサーバ起動の処理を継続する。
【００４０】
図６は、本実施形態において、ユーザがユーザインターフェース１１５を介して電力上限値を変更した場合の動作を説明するためのフローチャートである。ユーザが電力上限値を変更すると、運用制御部１１１はその電力上限値の変更を検知し、設定されている電力上限値を参照する（ステップＳ５０）。そして運用制御部１１１は、電力上限値保持部１１４に新たに設定・保持された電力上限値と、電力管理テーブル１１２に記録されているスロットリング段階毎の単位時間あたりの消費電力とを照らし合わせてスロットリング段階を決定する（ステップＳ５２）。この際、スロットリング段階を決める方法は、図５に示すステップＳ４２と同様である。次に、運用制御部１１１は、スロットリング設定部１１３を介してＣＰＵ１０１に対して、決定したスロットリング段階を設定し（ステップＳ５４）、当該処理を終了する。
【００４１】
上述した実施形態によれば、スロットリングの段階毎のサーバの最大の消費電力を計測しておき、電力管理テーブル１１２に記憶しておく。そして、ユーザより設定された電力上限値を越えない最も高い消費電力に対応して電力管理テーブル１１２に記録されているスロットリング段階を用いてＣＰＵ１０１のスロットリングを設定し、サーバを起動する。これにより、実際のサーバ構成に適合した電力管理テーブルを作成することができるので、開ループ制御による、より正確な電力上限制御を行うことができる。
【符号の説明】
【００４２】
１００  サーバ
１０１  ＣＰＵ
１０２  メモリ
１０３  チップセット
１０４  Ｉ／Ｏカード
１０５  電源
１０６  ファン
１０７  消費電力センサ
１１０  電力上限制御運用部
１１１  運用制御部
１１２  電力管理テーブル
１１３  スロットリング設定部
１１４  電力上限値保持部
１１５  ユーザインターフェース
１１６  通信部
１２０  上限電力計測部
１２１  計測制御部
１２２  スロットリング設定部
１２３  負荷ジョブ実行部
１２４  負荷ジョブ保持部
１２５  電力測定部
１２６  通信部
１２７  ユーザインターフェース
２０１  スロットリング段階
２０２  サーバ消費電力
３０１  ＣＰＵ負荷プログラム
３０２  メモリ負荷プログラム
３０３  ＩＯ負荷プログラム
【図１】
0005692137.tif 000002
【図２】
0005692137.tif 000003
【図３】
0005692137.tif 000004
【図４】
0005692137.tif 000005
【図５】
0005692137.tif 000006
【図６】
0005692137.tif 000007
【図７】
0005692137.tif 000008