(57)【要約】  開示の技術は、情報処理装置の消費電力が目標値と相違する場合に、情報処理装置の消費電力の遷移速度を向上させることを目的とする。  開示の情報処理システムは、演算処理部を含む情報処理装置と、演算処理部の動作周波数を制御する消費電力制御部と、管理装置とを有し、管理装置は、情報処理装置の消費電力と情報処理装置の消費電力の目標値との差分に基づき、目標値とは異なる値を有する制御値を特定し、制御値を消費電力制御部に通知し、消費電力制御部は、制御値と消費電力との差分に基づき、単位時間当たりの周波数変化量を特定し、前記単位時間当たりの周波数変化量で前記動作周波数を変化させる。これにより、情報処理装置の消費電力の遷移速度を向上させることができる。
2015040654.tif 000002
【特許請求の範囲】
【請求項１】
演算処理部を含む第１情報処理装置と、
前記演算処理部の動作周波数を制御する消費電力制御部と、
管理装置と
を有し、
前記管理装置は、前記第１情報処理装置の消費電力と前記第１情報処理装置の消費電力の目標値との差分に基づき、前記目標値とは異なる値を有する制御値を特定し、前記制御値を前記消費電力制御部に通知し、
前記消費電力制御部は、前記制御値と前記消費電力との差分に基づき、単位時間当たりの周波数変化量を特定し、前記単位時間当たりの周波数変化量で前記動作周波数を変化させる
ことを特徴とする情報処理システム。
【請求項２】
前記管理装置は、前記目標値から前記消費電力を減算した値が大きいほど、前記制御値から前記目標値を減算した値が大きくなるよう、前記制御値を特定することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記消費電力制御部は、前記制御値から前記消費電力を減算した値が大きいほど、前記単位時間当たりの周波数変化量が大きくなるよう、前記単位時間当たりの周波数変化量を特定することを特徴とする請求項１又は２に記載の情報処理システム。
【請求項４】
前記管理装置は、前記目標値を格納する第１格納部と、前記第１格納部に格納された値と前記消費電力の差分に基づいて前記制御値を算出する演算部とを有し、
前記消費電力制御部は、前記制御値を格納する第２格納部を有し、前記消費電力が前記第２格納部に格納された値を超えないよう、前記動作周波数を制御することを特徴とする請求項１乃至３いずれか一項に記載の情報処理システム。
【請求項５】
前記消費電力制御部は、前記第２格納部に格納された値から前記消費電力を減算した値が大きい程、前記単位時間当たりの周波数変化量が大きくなるよう、前記単位時間当たりの周波数変化量を規定した第１テーブルを格納した第１メモリを更に有することを特徴とする請求項４に記載の情報処理システム。
【請求項６】
前記管理装置は、前記第１格納部に格納された値から前記消費電力を減算した値が大きい程、大きい値を示す加算値を規定した第２テーブルを格納した第２メモリを更に有し、
前記演算部は、前記目標値に前記加算値を加算することにより前記制御値を算出することを特徴とする請求項４又は５に記載の情報処理システム。
【請求項７】
前記情報処理システムは、電力供給装置を更に有し、
前記消費電力制御部は、前記消費電力として前記電力供給装置が出力する電力を測定することを特徴とする請求項１乃至６いずれか一項に記載の情報処理システム。
【請求項８】
前記情報処理システムは、第２情報処理装置を更に有し、
前記管理装置は、前記消費電力が前記第２情報処理装置の消費電力を上回った場合に、前記目標値を前記消費電力制御部へ通知することを特徴とする請求項１乃至７いずれか一項に記載の情報処理システム。
【請求項９】
第１情報処理装置に含まれる演算処理部の動作周波数を制御する消費電力制御部に接続される管理装置であって、
前記管理装置は、前記第１情報処理装置の消費電力と前記第１情報処理装置の消費電力の目標値との差分に基づき、前記目標値とは異なる値を有する制御値を算出する演算部を有し、
前記管理装置は、前記制御値と前記消費電力との差分に基づき、単位時間当たりの周波数変化量を特定し、前記単位時間当たりの周波数変化量で前記動作周波数を変化させる制御を、前記消費電力制御部に行わせること特徴とする管理装置。
【請求項１０】
前記演算部は、前記目標値から前記消費電力を減算した値が大きいほど、前記制御値から前記目標値を減算した値が大きくなるよう、前記制御値を特定することを特徴とする請求項９に記載の管理装置。
【請求項１１】
前記管理装置は、
前記目標値を格納する第１格納部と、
前記第１格納部に格納された値から前記消費電力を減算した値が大きい程、大きい値を示す加算値を規定したテーブルを格納したメモリと、
を更に有し、
前記演算部は、前記第１格納部に格納された値に前記加算値を加算することにより前記制御値を算出することを特徴とする請求項９又は１０に記載の管理装置。
【請求項１２】
演算処理部を含む第１情報処理装置と、前記演算処理部の動作周波数を制御する消費電力制御部と、前記消費電力制御部に接続された管理装置と、を有する情報処理システムを用いた情報処理方法であって、
前記管理装置が、前記第１情報処理装置の消費電力と前記第１情報処理装置の消費電力の目標値との差分に基づき、前記目標値とは異なる値を有する制御値を特定する工程と、
前記消費電力制御部が、前記制御値と前記消費電力との差分に基づき、単位時間当たりの周波数変化量を特定する工程と、
前記消費電力制御部が、前記単位時間当たりの周波数変化量で前記動作周波数を変化させる工程と
を有することを特徴とする情報処理方法。
【請求項１３】
前記管理装置は、前記目標値から前記消費電力を減算した値が大きいほど、前記制御値から前記目標値を減算した値が大きくなるよう、前記制御値を特定することを特徴とする請求項１２に記載の情報処理方法。
【請求項１４】
前記消費電力制御部は、前記制御値から前記消費電力を減算した値が大きいほど、前記単位時間当たりの周波数変化量が大きくなるよう、前記単位時間当たりの周波数変化量を特定することを特徴とする請求項１２又は１３に記載の情報処理方法。
【請求項１５】
前記消費電力制御部は、第１格納部を有し、
前記情報処理方法は、
前記消費電力制御部が、前記消費電力を測定する工程と、
前記管理装置が、前記制御値を前記第１格納部へ格納する工程と、
前記管理装置が、前記制御値の前記第１格納部への格納を行った後、前記消費電力制御部へ完了通知を行う工程と、
を更に有し、
前記消費電力制御装置は、前記完了通知を受けた後に、前記単位時間当たりの周波数変化量を特定することを特徴とする請求項１２乃至１４いずれか一項に記載の情報処理方法。
【請求項１６】
コンピュータに、
演算処理部を含む第１情報処理装置の消費電力と、前記第１情報処理装置の消費電力の目標値との差分に基づき、前記目標値とは異なる値を有する制御値を特定させ、
前記制御値と前記消費電力との差分に基づいて、単位時間当たりの周波数変化量を特定させ、
前記単位時間当たりの周波数変化量で、前記演算処理部の動作周波数を変化させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願開示は、情報処理システム、管理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
種々の情報処理を行うサーバ等の情報処理装置において、情報処理装置に許容される消費電力の上限値が規定される場合がある。情報処理装置は、消費電力を制御するための制御部を備え、消費電力が上限値を超えないよう、情報処理装置の消費電力を制御する。【０００３】
情報処理装置の消費電力を制御する方法として、情報処理装置に含まれる演算処理部であるプロセッサの動作周波数を制御する方法がある。プロセッサは、クロック生成回路により生成されたクロックを動作クロックとして受信し、そのクロックに基づいて演算処理を行う。プロセッサの動作周波数を増加させると、プロセッサの処理能力も向上する。そのため、例えばプロセッサ内で処理待ち状態のタスクが増加する等して、プロセッサの処理能力を向上させる必要がある場合には、クロック生成回路はプロセッサに供給するクロックの周波数を増加させる。しかし、プロセッサの動作周波数が上昇すると、プロセッサが消費する電力も増加してしまう。そのため消費電力制御部は、消費電力が上限値を超えない範囲でクロック生成回路の出力クロックの周波数を制御する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−５１３００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
情報処理装置にて実際に消費されている電力と、設定された上限値との間に乖離が生じる場合がある。例えば情報処理装置に設定される消費電力の上限値が変更された場合等である。情報処理装置の消費電力が上限値に満たない状態であって、かつ、プロセッサの処理能力を向上させる必要がある場合、消費電力制御部は、上限値を目標値としてクロック周波数を変更させる。具体的には、クロック生成回路の出力クロックの周波数の変更及び消費電力のモニタを繰り返し行い、消費電力が目標値に遷移するようフィードバック制御を行う。消費電力の遷移が完了するまでの過渡的な期間は、プロセッサの処理能力を十分に活かすことができていない期間であり、短縮されることが好ましい。【０００６】
また、情報処理装置の消費電力が上限値を超えている場合には、消費電力制御部は、上限値を目標値とし、消費電力が目標値まで低下するようクロックの周波数を低下させる。消費電力の遷移が完了するまでの過渡的な期間は、消費電力が上限値を超えている状態が継続されている期間であり、短縮されることが好ましい。【０００７】
本願開示の技術は、情報処理装置の消費電力の遷移速度を増加させ、プロセッサの処理能力を十分に活かすことができていない期間や消費電力が上限値を超えている期間を短縮することを目的とする。
【課題を解決するための手段】
【０００８】
開示の情報処理システムは、演算処理部を含む情報処理装置と、演算処理部の動作周波数を制御する消費電力制御部と、管理装置とを有し、管理装置は、情報処理装置の消費電力と情報処理装置の消費電力の目標値との差分に基づき、目標値とは異なる値を有する制御値を特定し、制御値を消費電力制御部に通知し、消費電力制御部は、制御値と消費電力との差分に基づき、単位時間当たりの周波数変化量を特定し、前記単位時間当たりの周波数変化量で前記動作周波数を変化させる。
【発明の効果】
【０００９】
情報処理装置の消費電力の遷移速度を増加させ、プロセッサの処理能力を十分に活かすことができない期間や消費電力が上限値を超えている期間を短縮することができる。
【図面の簡単な説明】
【００１０】
【図１】第１実施例におけるコンピュータシステムのハ−ドウェア構成を示す図である。
【図２】第１実施例における消費電力制御部の機能ブロック図である。
【図３】第１実施例における周波数変更値量テーブルの例を示す図である。
【図４】第１実施例における消費電力制御部の処理フローチャートである。
【図５】第１実施例における消費電力の遷移挙動を示すグラフである。
【図６】第１実施例における管理装置の機能ブロック図である。
【図７】第１実施例における加算値テーブルの例を示す図である。
【図８】第１実施例における管理装置の処理フローチャートである。
【図９】第１実施例における消費電力の遷移挙動を示すグラフである。
【図１０】第２実施例における消費電力制御部の機能ブロック図である。
【図１１】第２実施例における周波数−電圧対応テーブルの例を示す図である。
【図１２】第２実施例における消費電力制御部の処理フローチャートである。
【図１３】第４実施例におけるコンピュータシステムのハードウェア構成を示す図である。
【図１４】第４実施例における消費電力の遷移挙動を示すグラフである。
【図１５】第４実施例における管理装置の機能ブロック図である。
【図１６】第４実施例における管理装置の処理フローチャートである。
【図１７】ＰＬＬ回路の回路構成を示す図である。
【図１８】ＤＣ−ＤＣコンバータの回路構成を示す図である。
【発明を実施するための形態】
【００１１】
＜第１実施例＞
第１実施例では、情報処理装置で消費されている電力が上限値と乖離している場合に、上限値を目標値とし、消費電力と目標値との差分に応じて、目標値とは異なる値を有する制御値を用いて消費電力制御を行うことにより、消費電力の遷移速度を増加させるものである。
【００１２】
図１は、第１実施例における情報処理を行うコンピュータシステムのハードウェア構成図である。コンピュータシステム１は、互いにネットワーク５００を介して接続された第１情報処理装置１００と管理装置３００を有する。第１情報処理装置１００は、プロセッサ１０と、メモリ３０と、ネットワークインターフェースカード（ＮＩＣ）４０と、Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ（ＰＬＬ）回路６０と、ＤＣ−ＤＣコンバータ７０と、消費電力制御部８０とを有する。演算処理部であるプロセッサ１０はメモリ３０にバスで接続され、メモリ３０にアクセスすることができる。ＮＩＣ４０は、ネットワーク５００を介して第１情報処理装置１００と管理装置３００との間でのデータ転送を行う。ＰＬＬ回路６０はクロック生成回路であり、所望の周波数を有するクロックを生成し、プロセッサ１０に供給する。プロセッサ１０はＰＬＬ回路６０から受信したクロックを用いて演算処理を行う。ＤＣ−ＤＣコンバータ７０は電力供給回路であり、プロセッサ１０に電力を供給する。尚、ＤＣ−ＤＣコンバータ７０は、プロセッサ１０以外のハードウェア、例えばメモリ３０やＰＬＬ回路６０や消費電力制御部８０にも電力供給を行ってもよい。消費電力制御部８０は、第１情報処理装置１００で消費される電力の制御を行う。
【００１３】
消費電力制御部８０は、プロセッサ１１０とメモリ１３０とを有する。演算処理部であるプロセッサ１１０はメモリ１３０に配線で接続され、メモリ１３０にアクセスすることができる。尚、消費電力制御部８０は、メモリ１３０を有していなくともよい。この場合、プロセッサ１１０は、演算処理に用いるプログラムやデータをメモリ３０に格納してもよい。また図１では、消費電力制御部８０を第１情報処理装置１００に含まれる構成として示したが、消費電力制御部８０が第１情報処理装置１００の外部に配置され、ネットワーク５００を介して第１情報処理装置１００に接続される構成であってもよい。
【００１４】
管理装置３００は、プロセッサ３１０と、メモリ３３０と、ＮＩＣ３４０とを有する。演算処理部であるプロセッサ３１０はメモリ３３０に配線で接続され、メモリ３３０にアクセスすることができる。ＮＩＣ３４０は、ネットワーク５００を介して管理装置３００と第１情報処理装置１００との間のデータ転送を行う。
【００１５】
第１情報処理装置１００は例えばサーバであり、管理装置３００は例えば管理サーバである。プロセッサ１０、１１０、３１０は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）、Ｍｉｃｒｏ−Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＭＰＵ）、Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ（ＤＳＰ）、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ（ＦＰＧＡ）等の電子回路部品であり、メモリ３０、１３０、３３０は、Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＤＲＡＭ）、Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＳＲＡＭ）、フラッシュメモリ等の電子回路部品である。
【００１６】
図１においては、第１情報処理装置１００はプロセッサ１０の他に、メモリ３０、ＮＩＣ４０、ＰＬＬ回路６０、ＤＣ−ＤＣコンバータ７０および消費電力制御部８０を含むものとして図示した。しかしプロセッサ１０以外の構成は、いずれも第１情報処理装置１００の内部に含まれる必要はない。例えばＰＬＬ回路６０やＤＣ−ＤＣコンバータ７０や消費電力制御部８０は、第１情報処理装置１００の外部に設けられてもよい。またＰＬＬ回路６０はプロセッサ１０に内蔵されてもよい。
【００１７】
以下に示す図２から図５は、消費電力制御部８０の機能及び消費電力制御部８０が行う消費電力の制御方法に関して説明するものである。また図６から図９は、消費電力制御部８０に対する管理装置３００の制御機能及び制御フローを示すものである。
【００１８】
図２は、消費電力制御部８０の有するプロセッサ１１０の機能ブロック、およびメモリ１３０に格納される情報を示す図である。プロセッサ１１０は、メモリ１３０、メモリ３０、メモリ３３０又は他の情報処理装置のメモリに格納された所定のプログラムを実行することにより、図２に示す各ブロックの機能を実現する。プロセッサ１１０は、第１上限値格納部１１１、消費電力測定部１１２、第１測定値格納部１１３、タイマー部１１４、演算部１１５、タスクマネージャ１１６、判定部１１７および設定部１１８として機能する。
【００１９】
第１上限値格納部１１１は、第１情報処理装置１００の消費電力の上限値を格納する。上限値は、第１情報処理装置１００の電力制御を行う際のターゲットとなる値（目標値）の一例である。第１上限値格納部１１１に格納される値は、例えば管理装置３００から与えられる。消費電力測定部１１２は、第１情報処理装置１００で消費されている電力を測定する。消費電力の測定方法としては種々の方法が適用可能である。例えばＤＣ−ＤＣコンバータ７０の出力電圧及び出力電流をモニタすることにより消費電力を測定してもよい。この場合に測定される消費電力は、プロセッサで消費される電力に加え、ＤＣ−ＤＣコンバータ７０が電力を供給する他の回路素子で消費される電力も含めた値となる。例えばＤＣ−ＤＣコンバータ７０がＰＬＬ回路６０にも電力供給を行う場合は、ＰＬＬ回路にて消費される電力も含めて測定される。消費電力の別の測定方法としては、第１情報処理装置１００の消費電力のうち、プロセッサ１０で消費される電力を測定し、その値を第１情報処理装置１００の消費電力としてもよい。プロセッサ１０で消費される電力Ｐは、例えば以下の式（１）で表すことができる。
式（１）：
【数１】
2015040654.tif 000003
【００２０】
式（１）において、Ｃはプロセッサ１０に含まれる複数の素子の静電容量の合計値であり、Ｖはプロセッサ１０の動作電圧であり、Ｆはプロセッサ１０の動作周波数であり、Ｉはプロセッサ１０内で流れる電流の合計値である。消費電力測定部１１２は、例えば式（１）を用いて消費電力を算出してもよい。本明細書において、「第１情報処理装置１００の消費電力の測定」という記載は、第１情報処理装置１００全体の消費電力を測定するものと、プロセッサ１０の消費電力を測定するものの両方を含む意味として用いる。消費電力測定部１１２は、一定の時間間隔、または後述する消費電力測定間隔として定められた時間間隔にて消費電力を測定する。
【００２１】
第１測定値格納部１１３は、消費電力測定部１１２によって測定された消費電力の値を格納する。消費電力測定部１１２は所定時間毎に消費電力の測定を行うため、測定値格納部１１３は新たに測定された測定値のみを格納して保存するようにしてもよい。
【００２２】
タイマー部１１４は、一定の時間間隔、または後述する消費電力測定間隔として定められた時間間隔にて、プロセッサ１０の消費電力を測定するよう消費電力測定部１１２に指示する。プロセッサ１０による消費電力の測定は、一定の間隔で行ってもよく、後述する周波数変更量テーブル１３１に規定される時間間隔で行ってもよい。
【００２３】
演算部１１５は、消費電力の制御に必要な種々の演算、例えば第１上限値格納部１１１に格納された値から、第１測定値格納部１１３に格納された値を減算する処理を行う。タスクマネージャ１１６は、プロセッサ１０内で処理待ち状態にあるタスクの量などを管理し、必要に応じて動作周波数の向上要求を行う。判定部１１７は、演算部１１５の演算結果に基づき、消費電力の測定値が上限値を超えているか否かの判定を行う。また判定部１１７は、タスクマネージャ１１６からの動作周波数向上要求の有無及び消費電力が上限値を超えているか否かの判定の結果に基づき、プロセッサ１０の動作周波数を変更すべきか否かを判定する。設定部１１８は、判定部１１７の判定結果に基づき、後述する周波数変更量テーブル１３１の記載内容に沿って、ＰＬＬ回路６０に出力クロックの周波数の変更を指示する。尚、ここに示した機能の全てがプロセッサ１１０で実現される必要はなく、例えば第１上限値格納部１１１や第１測定値格納部１１３は、プロセッサ１１０の外部に設けられた専用のレジスタ等を用いてもよい。
【００２４】
メモリ１３０は周波数変更量テーブル１３１を格納する。周波数変更量テーブル１３１の内容を図３に例示する。周波数変更量テーブル１３１は、消費電力の上限値と測定値との差分と、ＰＬＬ回路６０が出力するクロックの周波数変更量との対応関係を規定するテーブルである。また図３に示す例において、周波数変更量テーブル１３１は更に、消費電力の上限値と測定値との差分と、消費電力測定部１１２が消費電力の測定を行う時間間隔との対応関係も規定する。
【００２５】
周波数変更量テーブル１３１の第１行から第３行の記載は、消費電力の測定値が上限値に満たない場合を示している。例えば周波数変更量テーブル１３１の第１行の記載は、消費電力の上限値から測定値を減算した値が５０Ｗ以上であれば、ＰＬＬ回路６０から出力されるクロックの周波数を２００ＭＨｚ増加させ、１０秒後に再度、消費電力測定部１１２にプロセッサ１０の消費電力を測定させることを意味する。また周波数変更量テーブル１３１の第３行の記載は、消費電力の上限値から測定値を減算した値が０Ｗ以上かつ２０Ｗ未満であれば、ＰＬＬ回路６０から出力されるクロックの周波数を３０ＭＨｚ増加させ、１０秒後に再度、消費電力測定部１１２にプロセッサ１０の消費電力を測定させることを意味している。図３に示す例のように、消費電力の上限値と測定値の差分が小さいほど、周波数変更量は小さい値に設定される。
【００２６】
周波数変更量テーブル１３１の第４行から第６行の記載は、消費電力の測定値が上限値を超えている場合を示している。周波数変更量テーブル１３１の第６行の記載は、消費電力の上限値から測定値を減算した値が−５０Ｗ未満であれば、ＰＬＬ回路６０から出力されるクロックの周波数を２００ＭＨｚ減少させ、１０秒後に再度、消費電力測定部１１２にプロセッサ１０の消費電力を測定させることを意味している。また周波数変更量テーブル１３１の第４行の記載は、消費電力の上限値から測定値を減算した値が０Ｗ未満かつ−２０Ｗ以上であれば、ＰＬＬ回路６０から出力されるクロックの周波数を３０ＭＨｚ減少させ、１０秒後に再度、消費電力測定部１１２にプロセッサ１０の消費電力を測定させることを意味している。図３に示す例のように、消費電力の上限値と測定値の差分の絶対値が小さいほど、周波数変更量の絶対値は小さい値に設定される。尚、図３に示される具体的な数値はあくまでも一例であり、他の数値であってもよい。また、周波数変更量テーブル１３１は必ずしもメモリ１３０に格納される必要はなく、メモリ３０やその他のメモリに格納されてもよい。
【００２７】
図４は、消費電力制御部８０の有するプロセッサ１１０の処理フローチャートである。図４の処理は処理１０００により開始される。処理１００１において、第１上限値格納部１１１が、第１情報処理装置１００の消費電力の上限値を格納する。処理１００２において消費電力測定部１１２が、第１情報処理装置１００の消費電力を測定する。処理１００３において、第１測定値格納部１１３が、消費電力の測定値を格納する。処理１００４において判定部１１７が、第１上限値格納部１１１への上限値の格納が終了したことを示す完了通知を管理装置３００から受けたか否かを判定し、完了通知を受けるまで処理１００４を繰り返す。処理１００４において判定部１１７が完了通知を受けたと判定すると処理１００５へ移行する。完了通知についての詳細は後述する。処理１００５において演算部１１５が、第１上限値格納部１１１に格納された値から、第１測定値格納部１１３に格納された値を減算した差分値を算出する。処理１００６において判定部１１７が、消費電力の測定値が上限値を超えているか否かを判定する。測定値が上限値を超えていると判定された場合は、処理１００８へ移行し、測定値が上限値を超えていないと判定された場合は、処理１００７へ移行する。処理１００７において判定部１１７が、タスクマネージャ１１６が周波数増加要求を行っているか否かを判定する。処理１００７において、タスクマネージャ１１６が周波数増加要求を行っていると判定された場合は処理１００８へ移行し、タスクマネージャ１１６が周波数増加要求を行っていないと判定された場合は処理１００２へ戻る。
【００２８】
処理１００８において設定部１１８が、周波数変更量テーブル１３１を参照し、処理１００５で算出された差分値に対応する周波数変更量を取得する。処理１００９において設定部１１８が、周波数変更量テーブル１３１から取得された周波数変更量に基づいて、出力クロックの周波数を変更するようＰＬＬ回路６０に指示する。処理１０１０においてタイマー部１１４が、処理１００２にて消費電力測定部１１２が測定を行ってから所定時間が経過したか否かを判断し、所定時間が経過した場合に処理１００２に戻る。
【００２９】
図５は、図３に示す周波数変更量テーブル１３１を用いた制御が行われた場合の、第１情報処理装置１００の消費電力の遷移挙動を示すグラフである。図５に示されるグラフは、横軸に時間、縦軸に消費電力の測定値を示している。消費電力の上限値として２００Ｗが第１上限値設定部１１１に設定されている場合を例示する。時刻Ｔ１においては、第１情報処理装置１００の消費電力の測定値は１３０Ｗを示している。この場合、上限値と測定値の差分は７０Ｗである。周波数変更量テーブル１３１において、上限値と測定値の差分が７０Ｗの場合は、周波数変更量が２００ＭＨｚと規定されている。よって、ＰＬＬ回路６０の出力クロックの周波数は２００ＭＨｚ増加するよう制御される。また周波数変更量テーブル１３１において、上限値と測定値の差分が７０Ｗの場合は、消費電力測定間隔は１０秒と定められているので、時刻Ｔ１の１０秒後の時刻Ｔ２のタイミングで第１情報処理装置１００の消費電力の測定が行われる。
【００３０】
次に、時刻Ｔ２における第１情報処理装置１００の消費電力の測定値は１６０Ｗを示している。この場合、上限値と測定値の差分は４０Ｗである。周波数変更量テーブル１３１において、上限値と測定値の差分が４０Ｗの場合は、周波数変更量が１００ＭＨｚと規定されている。よって、ＰＬＬ回路６０の出力クロックの周波数は１００ＭＨｚ増加するよう制御される。また周波数変更量テーブル１３１において、上限値と測定値の差分が４０Ｗの場合は、消費電力測定間隔は１０秒と定められているので、時刻Ｔ２の１０秒後の時刻Ｔ３のタイミングで第１情報処理装置１００の消費電力測定が行われる。
【００３１】
同様の手順により時刻Ｔ３、Ｔ４における第１情報処理装置１００の消費電力が測定される。時刻Ｔ４においては、第１情報処理装置１００の消費電力の測定値は１９０Ｗを示している。この場合、上限値と測定値の差分は１０Ｗである。周波数変更量テーブル１３１において、上限値と測定値の差分が１０Ｗの場合は、周波数変更量が３０ＭＨｚと規定されている。よって、ＰＬＬ回路６０の出力クロックの周波数は３０ＭＨｚ増加するよう制御される。また周波数変更量テーブル１３１において、上限値と測定値の差分が１０Ｗの場合は、消費電力測定間隔は１０秒と定められているので、時刻Ｔ４の１０秒後の時刻Ｔ５のタイミングで第１情報処理装置１００の消費電力測定が行われる。同様の手順により時刻Ｔ６以降の第１情報処装置１００の消費電力が測定される。
【００３２】
このように消費電力制御部８０は、第１情報処理装置１００の消費電力の上限値と測定値の差分を算出し、差分が大きいときはクロック周波数を大きく変化させ、差分が小さくなるとクロック周波数を小さく変化させる。
【００３３】
尚、図３に示す周波数変更量テーブル１３１では、消費電力測定間隔は、上限値と測定値との差分に依らず全て１０秒と規定されているが、上限値と測定値との差分に応じて異なる値を規定してもよい。例えば上限値と測定値との差分の絶対値が２０Ｗ以下である場合に、消費電力測定間隔を２０秒とするなど、他に比べて長い時間を設定してもよい。このように設定することで、消費電力が短期間に大量に変動することが少ないと考えられる場合において測定間隔を広く設定することができ、第１情報処理装置１００の消費電力を測定するために使用されるプロセッサ１１０の消費電力を抑制することができる。
【００３４】
また、図３に示す周波数変更量テーブルは一回の変更において変化させる周波数を規定しているが、周波数の変更はこのような離散的な値で行うものに限られない。より連続的に周波数を変化させる制御を行ってもよい。その場合は、周波数変更量テーブル１３１には単位時間当たりの周波数変化量が規定される。尚、本願明細では、図３のように離散的に周波数を変更させる場合においては、周波数変更量を消費電力測定間隔で除算した値を、単位時間当たりの周波数変化量と同義のものとして扱う。
【００３５】
ここまで図２から図５を用いて、消費電力制御部８０の機能及び制御方法を説明した。次に、図６から図９を用いて、消費電力制御部８０に対する管理装置３００の機能及び制御方法を説明する。
【００３６】
図６は、管理装置３００が有するプロセッサ３１０の機能ブロック及びメモリ３３０に格納される情報を示す図である。プロセッサ３１０は、メモリ３３０、メモリ３０、メモリ１３０又は他の処理装置のメモリに格納された所定のプログラムを実行することにより、図６に示す各ブロックの機能を実現する。プロセッサ３１０は、第２上限値格納部３１１、第２測定値格納部３１２、演算部３１３、加算値取得部３１４、および設定部３１５として機能する。
【００３７】
第２上限値格納部３１１は、第１情報処理装置１００の消費電力の上限値を格納する。第２上限値格納部３１１に格納される値は、例えば管理装置３００に接続されるユーザ端末から設定可能である。第２測定値格納部３１２は、プロセッサ１１０の消費電力測定部１１２から測定結果を受信して格納する。消費電力測定部１１２は、所定の時間間隔で消費電力の測定を行うため、第２測定値格納部３１２は最新の測定値のみを保存するようにしてもよい。演算部３１３は、管理装置３００の行う処理に必要な演算、例えば第２上限値格納部３１１に格納された値から第２測定値格納部３１２に格納された値の減算等の演算を行う。加算値取得部３１４は、後述する加算値テーブル３３１を参照し、演算部３１３により算出された消費電力の上限値と測定値の差分に対応する加算値を取得する。加算値の技術的意義については後述する。設定部３１５は、加算値取得部３１４によって取得された加算値を、第２上限値格納部３１１に格納された上限値に足し合わせ、足し合わせた値を、消費電力制御部８０の第１上限値格納部１１１に格納する。本明細において「本来の上限値」とは、管理装置３００の第２上限値格納部３１１に格納される値を意味するものとして使用する。また本明細書において「制御値」とは、第２上限値格納部３１１に格納された本来の上限値に加算値を足し合わせ、消費電力制御部８０の第１上限値格納部１１１に格納される値を意味するものとして使用する。
【００３８】
メモリ３３０は、加算値テーブル３３１を格納する。ここで加算値の技術的意義について、図７に示す加算値テーブル３３１の一例を用いて説明する。加算値テーブル３３１は、消費電力の上限値と測定値との差分と、その差分に対応する加算値との対応関係を規定するものである。例えば上限値が２００Ｗであって測定値が１３０Ｗである場合は、上限値と測定値との差分は７０Ｗである。図７に示す加算値テーブル３３１の例では、差分値が７０Ｗの場合、対応する加算値は５０Ｗである。この場合、加算値５０Ｗを上限値２００Ｗに加えた２５０Ｗが制御値として算出される。制御値は、消費電力制御部８０の第１上限値格納部１１１に格納される。プロセッサ１１０は、第１上限値格納部１１１に格納される、本来の上限値とは異なるこの制御値を上限値として認識、第１情報処理装置１００の消費電力の制御を行うことになる。
【００３９】
図７に示す加算値テーブル３３１の例では、上限値と測定値との差分の絶対値が大きいほど、加算値の絶対値が大きく設定されている。このように加算値を設定し、本来の上限値に加算して第１上限値格納部１１１に格納することにより、上限値と測定値の差分が大きい状態においては、実際の差分よりも大きな差分があるかのように消費電力制御部８０に認識させることができる。これによって、周波数変更量テーブル１３１に規定される変更量以上の変更量で周波数を変更させることができる。そして、上限値と測定値の差分が小さくなると、消費電力制御部８０に本来の上限値を用いた消費電力の制御をさせることができる。
【００４０】
図８は、管理装置３００の有するプロセッサ３１０の処理フローチャートである。図８の処理は処理１１００により開始する。処理１１０１において第２上限値格納部３１１が、プロセッサ１０の消費電力の上限値を格納する。上限値は、外部のユーザ端末から管理装置３００に入力される値を用いてもよく、または設定部３１５が他の情報処理装置の消費電力とのバランスに基づいて定める値を用いてもよい。処理１１０２において第２測定値格納部３１２が、プロセッサ１１０にアクセスして消費電力測定部１１２もしくは第１測定値格納部１１３から電力の測定値を取得し、取得した測定値を格納する。処理１１０３において演算部３１３が、第２上限値格納部３１１に格納された値から第２測定値格納部３１２に格納された値を減算する。処理１１０４において加算値取得部３１４が、加算値テーブル３３１にアクセスし、演算部３１３によって算出された差分値に対応する加算値を取得する。処理１１０５において演算部３１３が、取得した加算値を第２上限値格納部３１１に格納された本来の上限値に加算して制御値を算出する。処理１１０６において設定部３１５が、演算部３１３によって算出された制御値を、消費電力制御部８０の第１上限値格納部１１１に格納する。処理１１０７において設定部３１５は、第１上限値格納部１１１への制御値の格納が終了したことを示す完了通知を、消費電力制御部８０へ通知する。
【００４１】
次に、管理装置３００により算出された制御値を第１上限値格納部１１１に設定することにより、第１情報処理装置１００の消費電力がどのような遷移挙動を示すかについて、図９を用いて説明する。図９は、第１情報処理装置１００の消費電力の遷移挙動を示すグラフである。図９に示されるグラフは、図５と同様に、横軸に時間、縦軸に消費電力を示している。消費電力の上限値として２００Ｗが第２上限値設定部３１１に設定されている場合を例示する。尚、白丸で示すプロットが、管理装置３００による図８の制御が行われた場合の消費電力であり、黒丸で示すプロットは、図５に示すプロットと同一の値であって、比較のために表示するものである。
【００４２】
まず時刻Ｔ１においては、第１情報処理装置１００の消費電力の測定値は１３０Ｗを示している。この場合、上限値と測定値の差分は７０Ｗである。加算値テーブル３３１において、上限値と測定値の差分が７０Ｗの場合は加算値が５０Ｗと規定されている。よって、上限値である２００Ｗに、加算値である５０Ｗを加えた２５０Ｗが制御値となる。そして制御値２５０Ｗが消費電力制御部８０の第１上限値格納部１１１に格納される。
【００４３】
第１上限値格納部１１１に格納された２５０Ｗと測定値１３０Ｗとの差分は１２０Ｗである。よって、周波数変更量テーブル１３１において、上限値と測定値の差分が１２０Ｗの場合の周波数変更量として規定される２００ＭＨｚだけ、ＰＬＬ回路６０の出力クロックの周波数が増加するよう制御される。また周波数変更量テーブル１３１において、上限値と測定値の差分が１２０Ｗの場合は、消費電力測定間隔は１０秒と定められているので、時刻Ｔ１の１０秒後の時刻Ｔ２のタイミングで第１情報処理装置１００の消費電力の測定が行われる。
【００４４】
次に、時刻Ｔ２においては、第１情報処理装置１００の消費電力の測定値は１６０Ｗを示している。この場合、上限値と測定値の差分は４０Ｗである。加算値テーブル３３１において、上限値と測定値の差分が４０Ｗの場合の加算値は２０Ｗと規定されている。よって、上限値である２００Ｗに、加算値である２０Ｗを加えた２２０Ｗが制御値となる。そして制御値２２０Ｗが消費電力制御部８０の第１上限値格納部１１１に格納される。第１上限値格納部１１１に格納された２２０Ｗと測定値１６０Ｗとの差分は６０Ｗである。よって、周波数変更量テーブル１３１において、上限値と測定値の差分が６０Ｗの場合の周波数変更量として規定される２００ＭＨｚだけ、ＰＬＬ回路６０の出力クロックの周波数が増加するよう制御される。また周波数変更量テーブル１３１において、上限値と測定値の差分が６０Ｗの場合は、消費電力測定間隔は１０秒と定められているので、時刻Ｔ２の１０秒後の時刻Ｔ３のタイミングで第１情報処理装置１００の消費電力の測定が行われる。
【００４５】
更に、時刻Ｔ３においては、第１情報処理装置１００の消費電力の測定値は１９０Ｗを示している。この場合、上限値と測定値の差分は１０Ｗである。加算値テーブル３３１において、上限値と測定値の差分が１０Ｗの場合は加算値が０Ｗと規定されている。よってこの場合は、上限値である２００Ｗがそのまま制御値となる。そして制御値２００Ｗが消費電力制御部８０の第１上限値格納部１１１に格納される。以下、同様の制御を繰り返して時刻Ｔ４以降の各時刻における消費電力が測定される。
【００４６】
ここで、管理装置３００が算出する制御値に基づく制御を行った白丸の値は、図５で示した黒丸の値よりも、時刻Ｔ３以降においては上限値に近い消費電力を示している。これは、時刻Ｔ２から時刻Ｔ３への周波数の増加量が、黒丸では１００ＭＨｚであったのに対し、白丸では２００ＭＨｚとなったことに起因する。つまり、白丸の制御においては、本来の上限値よりも高い値に設定された制御値を一時的な上限値として用いることにより、クロック周波数を急峻に上昇させることができた。また、消費電力の測定値が本来の上限値に近づいた場合には、制御値を本来の上限値に戻すことにより、最終的な消費電力を本来の上限値に抑えるよう制御している。このように、本実施例においては、消費電力制御部８０に与える上限値を、消費電力の上限値から測定値を差し引いた値が大きい場合には一時的に、本来の上限値よりも高い値を与え、差分が小さい場合は本来の上限値を与えることにより、消費電力の上限値への収束時間を短縮することが可能となる。
【００４７】
図９では消費電力の測定値が、上限値に満たない場合について説明した。消費電力の測定値が上限値を上回っている場合も、図８に示す管理装置３００の制御及び図４に示す消費電力制御部８０の制御により、消費電力の上限値への収束時間を短縮することが可能となる。
【００４８】
尚、第１情報処理装置１００において、第１上限値格納部１１１に格納し得る値の上限値と下限値が定められている場合がある。例えば第１情報処理装置１００に含まれるハードウェアが過熱によって破壊されることを防止するために最大消費電力が設けられる場合や、プロセッサ１０による演算処理の信頼性を確保するために最低消費電力が設けられている場合がある。管理装置３００から与えられる制御値が、第１情報処理装置１００内において規定された最大消費電力を超える場合は、最大消費電力を第１上限値格納部１１１に格納する。また、管理装置３００から与えられる制御値が、第１情報処理装置１００内において規定された最低消費電力を下回る場合は、最低消費電力を第１上限値格納部１１１に格納する。
【００４９】
このように本実施例においては、本来の上限値に加算値を足し合わせた制御値を、一時的な上限値として消費電力制御部８０に与えることで、急峻な消費電力変更を実現する方法を説明した。この方法は、周波数変更量テーブル１３１の内容を変更することが困難な場合に特に有効である。例えば市販のサーバを利用するユーザは、そのサーバが内部で規定している消費電力制御ポリシーまたはその一部である周波数変更量の規定内容を変更することができない場合がある。そのような場合、本実施例にて説明した管理装置３００をサーバに接続し、サーバの上限値格納部に対して与える制御値を制御することにより、より高速に消費電力を変化させることが可能となる。また、例えば電力料金の異なる日中と夜間とで消費電力の上限値を切り替えるようなサーバの管理にも、本実施例は有効である。
【００５０】
＜第２実施例＞
第１実施例においては、第１情報処理装置１００の消費電力を制御するために、プロセッサ１０の動作周波数を変更する手法について説明した。第２実施例では、プロセッサ１０の動作周波数の変更に加え、プロセッサ１０の動作電圧も変更する手法について説明する。
【００５１】
第２実施例においては、プロセッサ１０の動作周波数を増加させる場合は、プロセッサ１０へ電力を供給するＤＣ−ＤＣコンバータ７０の出力電圧も上昇させる。これは、プロセッサ１０を高い周波数で動作させる場合は、プロセッサ１０内に含まれるインバータ等の素子の動作速度を高める必要があり、そのためにはインバータ等の素子に与える電圧を高める必要があるためである。逆に、プロセッサ１０の動作周波数を減少させる場合は、ＤＣ−ＤＣコンバータ７０の出力電圧も減少させる。これは、プロセッサ１０の動作周波数を低下させるのであれは、電圧を下げてもインバータ等の素子の動作は維持され、プロセッサ１０の消費電力を抑えることができるからである。
【００５２】
図１０は、消費電力制御部８０が有するプロセッサ１１０の機能ブロックと、メモリ１３０に格納される情報を示す図である。第１実施例にて説明した機能と同一の機能を有するブロック、および同一の内容を有する情報については同一の参照番号を付し、説明を省略する。プロセッサ１１０は、メモリ１３０、メモリ３０、メモリ３３０又は他の情報処理装置のメモリに格納された所定のプログラムによる処理を実行することにより、図１０に示す各ブロックの機能を実現する。プロセッサ１１０は、第１実施例にて説明した各機能に加え、周波数モニタ部１１９及び電圧モニタ部１２０として機能する。周波数モニタ部１１９は、ＰＬＬ回路６０から出力されるクロックの周波数をモニタする。電圧モニタ部１２０は、ＤＣ−ＤＣコンバータ７０の出力電圧をモニタする。メモリ１３０には、第１実施例にて説明した情報に加え、周波数−電圧対応テーブル１３２を格納する。周波数−電圧対応テーブル１３２は、プロセッサ１０の動作周波数と動作電圧との対応関係を示すテーブルである。
【００５３】
図１１は、周波数−電圧対応テーブル１３２の一例を示す図である。図１１に示す例では、例えば第１行の記載は、プロセッサ１０の動作周波数が３．０ＧＨｚである場合は、動作電圧として１．８Ｖを必要とすることを意味する。図１１の周波数−電圧対応テーブル１３２に示すように、動作周波数が高くなるほど、動作電圧も高くなるよう規定される。ここで、周波数変更に伴うプロセッサ１０内での演算処理のエラー発生を抑制するために、周波数を増加させる場合は、周波数を増加させる前に電圧を増加させるようＰＬＬ回路６０及びＤＣ−ＤＣコンバータ７０の制御が行われる。周波数を低下させる場合は、周波数を低下させた後で、電圧を低下させるようＰＬＬ回路６０及びＤＣ−ＤＣコンバータ７０の制御が行われる。
【００５４】
図１２は、第２実施例におけるプロセッサ１１０の処理フローチャートである。第２実施例におけるプロセッサ１１０の処理フローは、図４に示したプロセッサ１１０の処理フローと、処理１０００から処理１００６、および処理１００９以降は同一である。よって図１２では、処理１００６以降の処理フローのみを示す。
【００５５】
処理１００６において設定部１１８が周波数変更量を決定した後、処理２００１において周波数モニタ部１１９が、現状のクロック周波数を取得する。また、処理２００１において演算部１１５が、現状のクロック周波数に周波数変更量を加算して新たに設定する周波数を特定する。処理２００２において、判定部１１８が、周波数変更量がプラスの値であるか、マイナスの値であるかを判定する。処理２００２において、周波数変更量がプラスであると判定された場合は、処理２００３へ移行し、周波数変更量がマイナスであると判定された場合は、処理２００７へ移行する。
【００５６】
処理２００３において設定部１１８が、周波数−電圧対応テーブル１３２を参照し、新しいクロック周波数に対応する電圧設定値を取得する。処理２００４において設定部１１８が、ＤＣ−ＤＣコンバータ７０の出力電圧を設定する。処理２００５において判定部１１７が、電圧モニタ部１２０のモニタ結果に基づき、出力電圧が設定値に達したか否かの判定を、設定値に達するまで繰り返し行う。処理２００５において出力電圧が設定値に達したと判定されると、処理２００６へ移行する。処理２００６において設定部１１８が、新しいクロック周波数をＰＬＬ回路６０に設定し、図４の処理１００９へ移行する。
【００５７】
また処理２００２において周波数変更量がマイナスであると判定された場合は、処理２００７において設定部１１８が、ＰＬＬ回路６０のクロック周波数の設定値を、処理１００６で取得された周波数変化量だけ減少させる。処理２００８において判定部１１７が、周波数モニタ部１１９のモニタ結果に基づき、クロック周波数が設定値となったか否かの判定を、設定値になるまで繰り返し行う。処理２００８においてクロック周波数が設定値に達したと判定されると、処理２００９に移行する。処理２００９において、設定部１１８が周波数−電圧対応テーブル１３２を参照し、新しい電圧設定値を取得する。処理２０１０において設定部１１８が、ＤＣ−ＤＣコンバータ７０に新しい電圧設定値を設定し、図４の処理１００９へ移行する。
【００５８】
このようにプロセッサ１０の動作周波数を増加させる場合は、先にＤＣ−ＤＣコンバータ７０の出力電圧を増加させてからＰＬＬ回路６０の出力クロックの周波数を増加させる。一方、プロセッサ１０の動作周波数を低下させる場合は、先にＰＬＬ回路６０の出力クロックの周波数を低下させてからＤＣ−ＤＣコンバータ７０の出力電圧を低下させる。このような制御により、プロセッサ１０内でのエラー発生を抑制しつつ、プロセッサ１０の消費電力を低減させることができる。
【００５９】
＜第３実施例＞
第１実施例及び第２実施例において説明したように、管理装置３００は、第１情報処理装置１００の消費電力の遷移速度を増加させ、消費電力が上限値へ収束するまでの期間を短縮する機能を有する。消費電力の上昇速度を増加させた場合、一時的に消費電力が上限値を超える状態、所謂オーバーシュートの状態が生じる場合がある。また、消費電力の降下速度を増加させた場合、一時的に消費電力が上限値を下回る状態、所謂アンダーシュートの状態が生じる場合がある。第１実施例及び第２実施例において説明した加算値テーブル３３１は、消費電力が上限値へ収束するまでの期間を短縮させつつも、オーバーシュートやアンダーシュートを抑制するよう作成されることが好ましい。ここでは、第１実施例及び第２実施例にて説明した第１情報処理装置１００及び管理装置３００を用いて、加算値テーブル３３１を作成する手順の一例を説明する。尚、「消費電力がオーバーシュートすることを防止する」とは、消費電力がオーバーシュートすることを完全に排除する意味ではなく、オーバーシュートが生じる可能性を低減させる、またはオーバーシュート量を小さくさせるよう作用する、という意味である。「消費電力がアンダーシュートすることを防止する」についても同様である。
【００６０】
まず、管理装置３００の設定部３１５から消費電力制御部８０の第１上限値格納部１１１に、固定の上限値を格納し、第１情報処理装置１００の消費電力の遷移挙動を確認する。例えば第１情報処理装置１００が消費電力１４０Ｗで動作している状態において、第１上限値格納部１１１に例えば２００Ｗの上限値を入力し、上限値を固定した状態で消費電力測定部１１２の測定結果を取得する。このようにして得た消費電力の遷移挙動が図５に示したグラフと同一内容となったものと仮定し、以下図５を用いて説明する。
【００６１】
図５に示す消費電力の遷移挙動から以下のことが分かる。時刻Ｔ１における消費電力の上限値（２００Ｗ）と測定値（１３０Ｗ）の差分は７０Ｗであり、時刻Ｔ２における消費電力の上限値と測定値（１６０Ｗ）の差分は４０Ｗであり、時刻Ｔ１から時刻Ｔ２への消費電力の増加量が３０Ｗである。このことから、第１情報処理装置１００では、上限値と測定値の差分が７０Ｗである場合は、消費電力が３０Ｗ上昇するように周波数変更量テーブル１３１が定められていると予測される。そして、もし時刻Ｔ２から時刻Ｔ３への遷移において消費電力を３０Ｗ増加させても、消費電力は上限値へは未だ到達しない。よって、上限値と測定値の差分値が４０Ｗである場合も、上限値と測定値の差分が７０Ｗの場合と同じだけ周波数を変更してもよいことが分かる。そこで、上限値と測定値の差分値が４０Ｗである場合の加算値を、時刻Ｔ１における差分値７０Ｗと同じ値にする加算値、つまり３０Ｗと規定する加算値テーブル３３１を作成することができる。
【００６２】
また、図５のグラフから以下のことも分かる。時刻Ｔ３における消費電力の上限値と測定値（１７５Ｗ）の差分は２５Ｗであり、時刻Ｔ４における消費電力の上限値と測定値（１９０Ｗ）の差分は１０Ｗであり、時刻Ｔ３から時刻Ｔ４への消費電力の増加量が１５Ｗである。このことから、第１情報処理装置１００では、上限値と測定値の差分が２５Ｗである場合は、消費電力が１５Ｗ上昇するように周波数変更量テーブル１３１が定められていると予測される。もし時刻Ｔ３から時刻Ｔ４への遷移においても消費電力を１５Ｗ増加させると、上限値を超えてしまうことが予測される。よって、上限値と測定値の差分値が１０Ｗである場合の加算値を０Ｗと規定する加算値テーブル３３１を作成することができる。
【００６３】
このように、第１上限値格納部１１１に固定値を格納した状態での消費電力の遷移挙動を予め取得することにより、加算値テーブル３３１を作成することができる。尚、加算値テーブル３３１の精度をより高めるために、複数の異なる値を第１上限値格納部１１１に格納することによって得られた消費電力の複数の遷移挙動を用いてもよい。また、消費電力の遷移挙動に加え、第１情報処理装置１００の動作周波数の遷移挙動又は動作電圧の遷移挙動を併せて取得し、その結果に基づいて加算値テーブル３３１を作成してもよい。また、第１情報処理装置１００にアクセスすることによって周波数変更量テーブル１３１の内容を取得することができる場合には、周波数変更量テーブル１３１の記述内容にも基づいて加算値テーブル３３１を作成してもよい。
【００６４】
＜第４実施例＞
第１実施例から第３実施例では、第１情報処理装置１００の消費電力を制御方法について説明したが、管理装置３００は他の情報処理装置も含めて消費電力の制御を行うことも可能である。ここでは、２つの情報処理装置の消費電力の制御方法の一例を説明する。
【００６５】
図１３は、第４実施例におけるコンピュータシステムのハードウェア構成例である。図１に示す構成と同一のものについては同一の参照符号を付し、説明を省略する。第４実施例におけるコンピュータシステム２は、図１に示す構成に対して第２情報処理装置２００が更に付加される。第２情報処理装置２００は、ネットワーク５００を介して第１情報処理装置１００及び管理装置３００に接続される。第１情報処理装置１００及び管理装置３００の内部構成は、図１に示す内容と同一の構成である。第２情報処理装置２００は第１情報処理装置１００と概ね同一の内部構成を含む。
【００６６】
図１４は、第１情報処理装置１００と第２情報処理装置２００の消費電力の遷移挙動を示すグラフである。図１４は、第１情報処理装置１００及び第２情報処理装置２００のそれぞれが、管理装置３００からの制御を受けず、消費電力の上限値を一定の２００Ｗとして制御された場合の遷移挙動を示す。図１４においては、黒丸が第１情報処理装置の消費電力、バツ印が第２情報処理装置の消費電力を示す。第２情報処理装置２００は第１情報処理装置１００よりも、消費電力の速い上昇軌道を示している。二つの軌道が相違する原因の一つとしては、二つの情報処理装置がそれぞれ有する周波数変更量テーブルの内容の相違が挙げられる。第４実施例では、上昇速度の遅い第１情報処理装置１００の消費電力の変化速度を増加させる。そして、第１情報処理装置１００の消費電力が第２情報処理装置２００の消費電力を超えた場合には、第１情報処理装置１００の消費電力の変化速度を低下させる。例えば消費電力が上昇する状態において、第１情報処理装置１００の消費電力が第２情報処理装置２００の消費電力よりも低い場合は、第１上限値格納部１１１に本来の上限値よりも高い制御値を一時的に格納する。第１情報処理装置１００の消費電力が第２情報処理装置２００の消費電力よりも高くなると、第１上限値格納部１１１に本来の上限値を格納する。このように制御を行うことにより、第１情報処理装置１００の消費電力の上昇軌道を急峻なものとしつつ、第１情報処理装置１００の消費電力が上限値を超えないよう制御することができる。
【００６７】
図１５は、本実施例で用いる管理装置３００のプロセッサ３１０の機能ブロックおよびメモリ３３０に格納される情報を示す図である。図６に示した内容と同一のものについては同一の参照符号を付し、説明を省略する。図１５に示すプロセッサ３１０の機能は、図６に示すプロセッサ３１０の機能と概ね同じであるが、消費電力の測定値の格納部として、第１情報処理装置１００に対応した第２測定値格納部３１２の他に、第２情報処理装置２００に対応した第３測定値格納部３１２２を有する点が相違する。また、第２測定値格納部に格納された値と第３測定値格納部に格納された値の何れが大きいかを判定する判定部３１６を更に有する。
【００６８】
図１６は、第４実施例における管理装置３００の有するプロセッサ３１０の処理フローチャートである。尚、図８にて示した処理内容と同一のものについては同一の参照符号を付し、説明を省略する。処理１１０１の後、処理１２０１において第２測定値格納部３１２が、第１情報処理装置１００の消費電力の測定値を格納する。処理１２０２において第３測定値格納部３１２２が、第２情報処理装置２００の消費電力の測定値を格納する。処理１２０３において判定部３１６が、第２測定値格納部３１２に格納された値と第３測定値格納部３１２２に格納された値の何れが大きいかを判定する。処理１２０３において、第２測定値格納部３１２に格納された値が第３測定値格納部３１２２に格納された値よりも小さいと判定された場合は、処理１１０３へ移行する。処理１１０３から処理１１０６では、本来の上限値に加算値を足し合わせた値が第１上限値格納部１１１に格納される。これに対し、処理１２０３において第２測定値格納部３１２に格納された値が第３測定値格納部３１２２に格納された値よりも大きいと判定された場合は、処理１２０４へ移行する。処理１２０４において設定部３１５が、第１上限値格納部１１１に本来の上限値を格納して処理１２０１へ戻る。
【００６９】
このような制御により、第１情報処理装置１００に対して消費電力の上昇速度を増加するよう制御を行いつつ、第１情報処理装置１００の消費電力が第２情報処理装置２００の消費電力を上回ると上昇速度を低下させる。これにより、第１情報処理装置１００の消費電力がオーバーシュートすることを抑制する。
【００７０】
第４実施例は、複数の情報処理装置の消費電力を増加させるケースだけでなく、複数の情報処理装置の消費電力を減少させるケースにも適用可能である。例えば、二つの情報処理装置のうち消費電力の減少速度が遅い第１情報処理装置１００に対して、減少速度を高めるよう制御を行う一方で、消費電力の減少速度が速い第２情報処理装置２００の消費電力を下回った時点で、消費電力の減少速度を低下させる。この場合は、図１６の処理１２０３の判定内容を「第２情報処理装置の消費電力よりも低い？」に変更する。このように制御することにより、消費電力のアンダーシュートを抑制する。
【００７１】
ここで、全ての実施例において共通で適用可能なＰＬＬ回路６０及びＤＣ−ＤＣコンバータ７０の回路構成を例示する。図１７はＰＬＬ回路６０の回路ブロック図である。ＰＬＬ回路６０は、位相比較器６１と、チャージポンプ回路６２と、ローパスフィルタ６３と、電圧制御発振器６４と、第１分周器６５と、第２分周器６６と、基準クロック受信端子６７と、クロック出力端子６８と、周波数設定信号受信端子６９とを有する。位相比較器６１は、基準クロック受信端子６７を介して受信する基準クロックと、第１分周器６５から受けるクロックとの位相を比較し、位相差に応じた位相差信号をチャージポンプ回路６２に出力する。チャージポンプ回路６２は、受信した位相差信号に応じた電圧を有する電圧信号をローパスフィルタ６３に出力する。ローパスフィルタ６３は、受信した電圧信号の高周波成分を除去し、電圧制御信号を電圧制御発振器６４に出力する。電圧制御発振器６４は、受信した電圧制御信号に応じた周波数を有する第１クロックを生成し、第１分周器６５及び第２分周器６６に出力する。第２分周器６６は、第１クロックを所定数分周した第２クロックを、ＰＬＬ回路６０の出力クロックとしてクロック出力端子６８を介して出力する。出力クロックはプロセッサ１０に供給される。一方、第１分周器６５は、受信した第１クロックを所定数分周し、位相比較器６１に供給する。位相比較器６１、チャージポンプ回路６２、ローパスフィルタ６３、電圧制御発振器６４、および第１分周器６５で構成されるループにより、第１クロックの周波数はロック制御される。
【００７２】
第１分周器６５の分周比及び第２分周器６６の分周比は、周波数設定信号受信端子６９を介して受信した周波数設定信号により設定可能である。例えば第１分周器６５の分周比が１００に、第２分周器６６の分周比が２に設定された場合、基準クロックの周波数が１０ＭＨｚであれば、電圧制御発振器６４からは１ＧＨｚにロックされた第１クロックが生成され、第２分周器６６からは５００ＭＨｚの第２クロックが、ＰＬＬ回路６０の出力クロックとして出力される。第１分周器６５の分周比設定を変更すると、第１クロックの周波数ロックが解除されるため、新しい設定値に対応する周波数に再度ロックされるまでには一定の時間が必要となる。これに対して、第１分周器６５の分周比設定は変更せずに、第２分周器６６の分周比設定を変更する場合は、第１クロックの周波数ロックは維持されたままである。よって、新しい設定値に対応する周波数への移行は、第１分周器６５の分周比設定を変更する場合に比べて、短時間で行うことが可能である。また、上記の例において、出力クロックの周波数を変更したい場合に、粗調整としてまず第２分周器６６の分周比設定を変更し、その後に微調整として第１分周器６５の分周比設定を変更するよう制御してもよい。
【００７３】
図１８は、ＤＣ−ＤＣコンバータ７０の回路ブロック図である。ＤＣ−ＤＣコンバータ７０は、電源７１と、スイッチ素子７２と、デューティー比制御回路７３と、インダクタ７４と、ダイオード７５と、キャパシタ７６と、可変抵抗素子７７と、差動増量回路７８と、基準電位生成回路７９とを有する。スイッチ素子７２は、デューティー比制御回路７３によって制御された所定のデューティー比でオン及びオフが繰り返される。そしてデューティー比に応じた電圧がＤＣ−ＤＣコンバータ７０から出力される。また出力電圧は、電圧設定信号受信端子７１２を介して受信する電圧設定信号により、可変抵抗素子７７を制御することにより変更可能である。
【符号の説明】
【００７４】
１、２  コンピュータシステム
１００  第１情報処理装置
２００  第２情報処理装置
３００  管理装置
５００  ネットワーク
１０、１１０、３１０  プロセッサ
３０、１３０、３３０  メモリ
４０、３４０  ＮＩＣ
６０  ＰＬＬ回路
７０  ＤＣ−ＤＣコンバータ
８０  消費電力制御部
１１１  第１上限値格納部
１１２  消費電力測定部
１１３  第１測定値格納部
１１４  タイマー部
１１５  演算部
１１６  タスクマネージャ
１１７  判定部
１１８  設定部
１１９  周波数モニタ部
１２０  電圧モニタ部
３１１  第２上限値格納部
３１２  第２測定値格納部
３１２２  第３測定値格納部
３１３  演算部
３１４  加算値取得部
３１５  設定部
３１６  判定部
１３１  周波数変更量テーブル
１３２  周波数−電圧対応テーブル
３３１  加算値テーブル
６１  位相比較器
６２  チャージポンプ回路
６３  ローパスフィルタ
６４  電圧制御発振器
６５  第１分周器
６６  第２分周器
６７  基準クロック受信端子
６８  クロック出力端子
６９  周波数設定信号受信端子
７１  電源
７２  スイッチ素子
７３  デューティー比制御回路
７４  インダクタ
７５  ダイオード
７６  キャパシタ
７７  可変抵抗素子
７８  差動増幅回路
７９  基準電位生成回路
７１１  出力端子
７１２  電圧設定信号受信端子
【図１】
2015040654.tif 000004
【図２】
2015040654.tif 000005
【図３】
2015040654.tif 000006
【図４】
2015040654.tif 000007
【図５】
2015040654.tif 000008
【図６】
2015040654.tif 000009
【図７】
2015040654.tif 000010
【図８】
2015040654.tif 000011
【図９】
2015040654.tif 000012
【図１０】
2015040654.tif 000013
【図１１】
2015040654.tif 000014
【図１２】
2015040654.tif 000015
【図１３】
2015040654.tif 000016
【図１４】
2015040654.tif 000017
【図１５】
2015040654.tif 000018
【図１６】
2015040654.tif 000019
【図１７】
2015040654.tif 000020
【図１８】
2015040654.tif 000021
【手続補正書】
【提出日】平成28年6月16日(2016.6.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
演算処理部を含む第１情報処理装置と、
前記演算処理部の動作周波数を制御する消費電力制御部と、
管理装置と
を有し、
前記管理装置は、
前記第１情報処理装置の消費電力と前記第１情報処理装置の消費電力の目標値との差分に基づき、前記目標値とは異なる値を有する制御値を特定し、
前記制御値を前記消費電力制御部に通知し、
前記消費電力制御部は、
前記制御値と前記消費電力との差分に基づき、単位時間当たりの周波数変化量を特定し、前記単位時間当たりの周波数変化量で前記動作周波数を変化させる
ことを特徴とする情報処理システム。
【請求項２】
前記管理装置は、前記目標値から前記消費電力を減算した値が大きいほど、前記制御値から前記目標値を減算した値が大きくなるよう、前記制御値を特定することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記消費電力制御部は、前記制御値から前記消費電力を減算した値が大きいほど、前記単位時間当たりの周波数変化量が大きくなるよう、前記単位時間当たりの周波数変化量を特定することを特徴とする請求項１又は２に記載の情報処理システム。
【請求項４】
前記管理装置は、前記目標値を格納する第１格納部と、前記第１格納部に格納された値と前記消費電力の差分に基づいて前記制御値を算出する演算部とを有し、
前記消費電力制御部は、前記制御値を格納する第２格納部を有し、前記消費電力が前記第２格納部に格納された値を超えないよう、前記動作周波数を制御することを特徴とする請求項１乃至３いずれか一項に記載の情報処理システム。
【請求項５】
前記消費電力制御部は、前記第２格納部に格納された値から前記消費電力を減算した値が大きい程、前記単位時間当たりの周波数変化量が大きくなるよう、前記単位時間当たりの周波数変化量を規定した第１テーブルを格納した第１メモリを更に有することを特徴とする請求項４に記載の情報処理システム。
【請求項６】
前記管理装置は、前記第１格納部に格納された値から前記消費電力を減算した値が大きい程、大きい値を示す加算値を規定した第２テーブルを格納した第２メモリを更に有し、
前記演算部は、前記目標値に前記加算値を加算することにより前記制御値を算出することを特徴とする請求項４又は５に記載の情報処理システム。
【請求項７】
前記情報処理システムは、電力供給装置を更に有し、
前記消費電力制御部は、前記消費電力として前記電力供給装置が出力する電力を測定することを特徴とする請求項１乃至６いずれか一項に記載の情報処理システム。
【請求項８】
第１情報処理装置に含まれる演算処理部の動作周波数を制御する消費電力制御部に接続される管理装置であって、
前記管理装置は、前記第１情報処理装置の消費電力と前記第１情報処理装置の消費電力の目標値との差分に基づき、前記目標値とは異なる値を有する制御値を算出する演算部を有し、
前記管理装置は、前記制御値と前記消費電力との差分に基づき、単位時間当たりの周波数変化量を特定し、前記単位時間当たりの周波数変化量で前記動作周波数を変化させる制御を、前記消費電力制御部に行わせる
こと特徴とする管理装置。
【請求項９】
演算処理部を含む第１情報処理装置と、前記演算処理部の動作周波数を制御する消費電力制御部と、前記消費電力制御部に接続された管理装置と、を有する情報処理システムを用いた情報処理方法であって、
前記管理装置が、前記第１情報処理装置の消費電力と前記第１情報処理装置の消費電力の目標値との差分に基づき、前記目標値とは異なる値を有する制御値を特定する工程と、
前記消費電力制御部が、前記制御値と前記消費電力との差分に基づき、単位時間当たりの周波数変化量を特定する工程と、
前記消費電力制御部が、前記単位時間当たりの周波数変化量で前記動作周波数を変化させる工程と
を有することを特徴とする情報処理方法。
【請求項１０】
コンピュータに、
演算処理部を含む第１情報処理装置の消費電力と、前記第１情報処理装置の消費電力の目標値との差分に基づき、前記目標値とは異なる値を有する制御値を特定させ、
前記制御値と前記消費電力との差分に基づいて、単位時間当たりの周波数変化量を特定させ、
前記単位時間当たりの周波数変化量で、前記演算処理部の動作周波数を変化させる
ことを特徴とするプログラム。
【国際調査報告】
2015040654.tif 000022
2015040654.tif 000023
2015040654.tif 000024
2015040654.tif 000025