(57)【特許請求の範囲】
【請求項１】
複数の論理プロセッサの各々が、処理量に応じて消費電力が動的に変化する物理プロセッサに時分割で割り当てられることにより、前記複数の論理プロセッサ上で複数のプロセスを実行する仮想化されたプロセッサにおいて、前記物理プロセッサの消費電力を制御する電力制御装置であって、
前記複数の論理プロセッサは、複数の論理プロセッサグループにグループ分けされており、
前記電力制御装置は、
前記物理プロセッサに割り当てられる論理プロセッサが変更されるにあたり、変更後の論理プロセッサが属する論理プロセッサグループである対象論理プロセッサグループに属する論理プロセッサが割り当てられる物理プロセッサの消費電力を示す電力状態情報に基づいて、前記変更後の論理プロセッサの前記物理プロセッサへの割り当て時の予測電力状態情報を決定する電力状態情報決定部と、
前記電力状態情報決定部が決定した前記予測電力状態情報に基づいて、前記物理プロセッサへ供給する電力を変更する電力状態変更部と
を備える電力制御装置。
【請求項２】
前記電力状態情報決定部は、前記対象論理プロセッサグループに属する論理プロセッサのうち、前記変更後の論理プロセッサとは異なる論理プロセッサの電力状態情報に基づいて、前記変更後の論理プロセッサの予測電力状態情報を決定する
請求項１記載の電力制御装置。
【請求項３】
さらに、
論理プロセッサグループごとに、当該論理プロセッサグループに属する論理プロセッサの予測電力状態情報を決定するに当たり、当該論理プロセッサグループに属する論理プロセッサのうち、前記物理プロセッサへの割り当て対象とされる論理プロセッサ以外の論理プロセッサの電力状態情報を用いることを許可するか否かを示す論理プロセッサグループ内予測可否情報を記憶している電力状態制御情報記憶部を備え、
前記電力状態情報決定部は、前記電力状態制御情報記憶部に記憶されている前記論理プロセッサグループ内予測可否情報を参照し、前記論理プロセッサグループ内予測可否情報が許可している場合にのみ、前記対象論理プロセッサグループに属する論理プロセッサのうち、前記変更後の論理プロセッサとは異なる論理プロセッサの電力状態情報に基づいて、前記変更後の論理プロセッサの予測電力状態情報を決定する
請求項２記載の電力制御装置。
【請求項４】
前記電力状態情報決定部は、前記異なる論理プロセッサの電力状態情報が示す値の平均を、前記変更後の論理プロセッサの予測電力状態情報が示す値として決定する
請求項２又は３記載の電力制御装置。
【請求項５】
さらに、
論理プロセッサグループごとに、当該論理プロセッサグループに属する論理プロセッサの予測電力状態情報を決定するに当たって参照する当該論理プロセッサグループとは異なる論理プロセッサグループを示す論理プロセッサグループ間予測対象論理プロセッサグループ情報を記憶している電力状態制御情報記憶部を備え、
前記電力状態情報決定部は、前記論理プロセッサグループ間予測対象論理プロセッサグループ情報が示す論理プロセッサグループに属する論理プロセッサの電力状態情報と、前記対象論理プロセッサグループに属する論理プロセッサのうち前記変更後の論理プロセッサとは異なる論理プロセッサの電力状態情報とに基づいて、前記変更後の論理プロセッサの予測電力状態情報を決定する
請求項２記載の電力制御装置。
【請求項６】
前記電力状態情報決定部は、前記変更後の論理プロセッサの過去の電力状態情報に基づいて、前記変更後の論理プロセッサの予測電力状態情報を決定する
請求項１記載の電力制御装置。
【請求項７】
前記電力状態情報決定部は、前記物理プロセッサに割り当てられた前記対象論理プロセッサグループに属する論理プロセッサの過去の電力状態情報が示す値が時間の経過とともに単調に増加又は減少する場合に、前記対象論理プロセッサグループに属する前記論理プロセッサの過去の電力状態情報が示す値を外挿することにより、前記変更後の論理プロセッサの予測電力状態情報を決定する
請求項１記載の電力制御装置。
【請求項８】
さらに、
論理プロセッサグループごとに、当該論理プロセッサグループに属する論理プロセッサが前記物理プロセッサに割り当てられた際に決定された前記物理プロセッサの予測電力状態情報が当たっているか否かを示す電力予測履歴情報を記憶している電力状態制御情報記憶部を備え、
前記電力状態情報決定部は、前記電力状態制御情報記憶部に記憶されている前記電力予測履歴情報を参照し、前記対象論理プロセッサグループに対応する前記物理プロセッサの予測電力状態情報が当たっている場合にのみ、前記変更後の論理プロセッサの予測電力状態情報を決定する
請求項１記載の電力制御装置。
【請求項９】
さらに、
論理プロセッサグループごとに、当該論理プロセッサグループに属する論理プロセッサが実行する処理の応答性を示す条件情報を記憶している電力状態制御情報記憶部を備え、
前記電力状態情報決定部は、前記対象論理プロセッサグループに属する論理プロセッサのうち、前記変更後の論理プロセッサとは異なる論理プロセッサの電力状態情報と、前記電力状態制御情報記憶部に記憶されている前記対象論理プロセッサグループに対応する前記条件情報とに基づいて、前記条件情報が示す応答性が高いほど電力が大きくなるように前記変更後の論理プロセッサの予測電力状態情報を決定する
請求項１記載の電力制御装置。
【請求項１０】
さらに、
論理プロセッサグループごとに、当該論理プロセッサグループに属する論理プロセッサが実行する処理の応答性が最大の応答性を要するか否かを示す緊急プロセッサ該非情報を記憶している電力状態制御情報記憶部を備え、
前記電力状態情報決定部は、前記電力状態制御情報記憶部に記憶されている前記対象論理プロセッサグループに対応する前記緊急プロセッサ該非情報が最大の応答性を要する場合に、電力状態情報が取り得る最大値を前記変更後の論理プロセッサの予測電力状態情報が示す値として決定する
請求項１記載の電力制御装置。
【請求項１１】
複数の論理プロセッサの各々が、処理量に応じて消費電力が動的に変化する物理プロセッサに時分割で割り当てられることにより、前記複数の論理プロセッサ上で複数のプロセスを実行する仮想化されたプロセッサにおいて、前記物理プロセッサの消費電力を制御する電力制御方法であって、
前記複数の論理プロセッサは、複数の論理プロセッサグループにグループ分けされており、
前記電力制御方法は、
前記物理プロセッサに割り当てられる論理プロセッサが変更されるにあたり、変更後の論理プロセッサが属する論理プロセッサグループである対象論理プロセッサグループに属する論理プロセッサが割り当てられる物理プロセッサの消費電力を示す電力状態情報に基づいて、前記変更後の論理プロセッサの前記物理プロセッサへの割り当て時の予測電力状態情報を決定するステップと、
決定された前記予測電力状態情報に基づいて、前記物理プロセッサへ供給する電力を変更するステップと
を含む電力制御方法。
【請求項１２】
複数の論理プロセッサの各々が、処理量に応じて消費電力が動的に変化する物理プロセッサに時分割で割り当てられることにより、前記複数の論理プロセッサ上で複数のプロセスを実行する仮想化されたプロセッサにおいて、前記物理プロセッサの消費電力を制御するための前記物理プロセッサで実行可能なプログラムであって、
前記複数の論理プロセッサは、複数の論理プロセッサグループにグループ分けされており、
前記物理プロセッサに割り当てられる論理プロセッサが変更されるにあたり、変更後の論理プロセッサが属する論理プロセッサグループである対象論理プロセッサグループに属する論理プロセッサが割り当てられる物理プロセッサの消費電力を示す電力状態情報に基づいて、前記変更後の論理プロセッサの前記物理プロセッサへの割り当て時の予測電力状態情報を決定するステップと、
決定された前記予測電力状態情報に基づいて、前記物理プロセッサへ供給する電力を変更するステップと
を前記物理プロセッサに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチプロセッサにおける、物理プロセッサの電力状態を示す電力状態情報を決定する電力制御装置及び電力制御方法に関する。
【背景技術】
【０００２】
近年、デジタルテレビ、ビデオレコーダ又は携帯電話等のデジタル機器において、音声処理、オーディオ処理、動画像処理又は符号化処理などのデジタル処理、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）操作、又はインターネット上でのＷｅｂブラウザ閲覧対応等の様々な需要が増加している。これら処理の実現の為には、マイクロプロセッサなどの情報処理装置が一般に利用されているが、アプリケーション需要の増大に応じて処理能力を向上するために、プロセッサの動作周波数の向上、マルチスレッド化及びマルチコア化が行われている。
【０００３】
これら処理の実現の為には、マイクロプロセッサなどの情報処理装置が一般に利用されているが、アプリケーション需要の増大に応じて、回路規模、動作周波数又は搭載プロセッサ数が増加し、消費電力は増加の一途をたどっている。
【０００４】
消費電力の増加は、エネルギー消費に関する環境問題及びバッテリの動作時間に伴う機器の稼働時間の低下を招く上、熱の発生による誤動作、冷却機器の高コスト化及び長期間使用における信頼性低下などの重大な問題を生じる。
【０００５】
これに対し従来、消費電力削減のため様々な取り組みが行われており、近年はプロセッサの実行状態の長周期の平均負荷状況に応じて、周波数又は電圧状態を変更する電力制御が行われている（例えば、特許文献１参照）。
【０００６】
一方、高い処理性能とソフトウェア生産性を低コストで提供する新たな試みとして、マルチプロセッサにおいて複数のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を稼働させる仮想化マルチプロセッサが実用的になってきている（例えば、特許文献２及び３参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】国際公開第２００６／１１７９５０号
【特許文献２】特許第３９２７５３３号公報
【特許文献３】特許第４１８１５５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
仮想化マルチプロセッサにおいては、各物理プロセッサ上で複数のＯＳが実行される。このため、各物理プロセッサに複数の論理プロセッサが時分割で割り当てられるが、論理プロセッサ間で処理負荷が異なる場合が想定される。
【０００９】
しかしながら、従来の電力制御は、物理プロセッサ単位で行われている。このため、同一の物理プロセッサに処理負荷の異なる論理プロセッサが時分割で割り当てられると、論理プロセッサの切り替えに伴う処理負荷の変化に追随することができず、最適な電力制御を行うことができないという課題がある。
【００１０】
本発明は、上述の課題を解決するためになされたものであり、仮想化されたプロセッサにおいて最適な電力制御を行うことができる電力制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明のある局面に係る電力制御装置は、複数の論理プロセッサの各々が、処理量に応じて消費電力が動的に変化する物理プロセッサに時分割で割り当てられることにより、前記複数の論理プロセッサ上で複数のプロセスを実行する仮想化されたプロセッサにおいて、前記物理プロセッサの消費電力を制御する電力制御装置であって、前記複数の論理プロセッサは、複数の論理プロセッサグループにグループ分けされており、前記電力制御装置は、前記物理プロセッサに割り当てられる論理プロセッサが変更されるにあたり、変更後の論理プロセッサが属する論理プロセッサグループである対象論理プロセッサグループに属する論理プロセッサが割り当てられる物理プロセッサの消費電力を示す電力状態情報に基づいて、前記変更後の論理プロセッサの前記物理プロセッサへの割り当て時の予測電力状態情報を決定する電力状態情報決定部と、前記電力状態情報決定部が決定した前記予測電力状態情報に基づいて、前記物理プロセッサへ供給する電力を変更する電力状態変更部とを備える。
【００１２】
この構成では、同程度の負荷の処理を実行するなどのように互いに相関のある論理プロセッサ同士をグループ化し、対象論理プロセッサグループに属する論理プロセッサの電力状態情報に基づいて、変更後の論理プロセッサの予測電力状態情報（変更後の論理プロセッサが割り当てられる物理プロセッサの予測電力状態情報）を決定している。これにより、各物理プロセッサに時分割で割り当てられる複数の論理プロセッサの間で処理負荷が異なる場合であっても、論理プロセッサの切り替えに伴う処理負荷の変化に追随することができ、最適な電力制御を行うことができる。
【００１３】
好ましくは、前記電力状態情報決定部は、前記対象論理プロセッサグループに属する論理プロセッサのうち、前記変更後の論理プロセッサとは異なる論理プロセッサの電力状態情報に基づいて、前記変更後の論理プロセッサの予測電力状態情報を決定する。
【００１４】
この構成により、複数の論理プロセッサに相関性がある場合に、電力状態情報の相関性を利用した電力状態情報の予測を行うことができる。
【００１５】
さらに好ましくは、上述の電力制御装置は、さらに、論理プロセッサグループごとに、当該論理プロセッサグループに属する論理プロセッサの予測電力状態情報を決定するに当たり、当該論理プロセッサグループに属する論理プロセッサのうち、前記物理プロセッサへの割り当て対象とされる論理プロセッサ以外の論理プロセッサの電力状態情報を用いることを許可するか否かを示す論理プロセッサグループ内予測可否情報を記憶している電力状態制御情報記憶部を備え、前記電力状態情報決定部は、前記電力状態制御情報記憶部に記憶されている前記論理プロセッサグループ内予測可否情報を参照し、前記論理プロセッサグループ内予測可否情報が許可している場合にのみ、前記対象論理プロセッサグループに属する論理プロセッサのうち、前記変更後の論理プロセッサとは異なる論理プロセッサの電力状態情報に基づいて、前記変更後の論理プロセッサの予測電力状態情報を決定する。
【００１６】
また、前記電力状態情報決定部は、前記異なる論理プロセッサの電力状態情報が示す値の平均を、前記変更後の論理プロセッサの予測電力状態情報が示す値として決定しても良い。
【００１７】
また、上述の電力制御装置は、さらに、論理プロセッサグループごとに、当該論理プロセッサグループに属する論理プロセッサの予測電力状態情報を決定するに当たって参照する当該論理プロセッサグループとは異なる論理プロセッサグループを示す論理プロセッサグループ間予測対象論理プロセッサグループ情報を記憶している電力状態制御情報記憶部を備え、前記電力状態情報決定部は、前記論理プロセッサグループ間予測対象論理プロセッサグループ情報が示す論理プロセッサグループに属する論理プロセッサの電力状態情報と、前記対象論理プロセッサグループに属する論理プロセッサのうち前記変更後の論理プロセッサとは異なる論理プロセッサの電力状態情報とに基づいて、前記変更後の論理プロセッサの予測電力状態情報を決定しても良い。
【００１８】
この構成により、対象論理プロセッサグループに含まれる論理プロセッサと相関性を有する他の論理プロセッサグループに含まれる論理プロセッサの電力状態情報を用いて、変更後の論理プロセッサの予測電力状態情報を決定することができる。例えば、２つの論理プロセッサグループが同種のＯＳ上で動作する論理プロセッサを含んでいる場合に、このような処理は有効である。
【００１９】
また、前記電力状態情報決定部は、前記変更後の論理プロセッサの過去の電力状態情報に基づいて、前記変更後の論理プロセッサの予測電力状態情報を決定しても良い。
【００２０】
対象論理プロセッサグループに属する変更後の論理プロセッサのみが物理プロセッサに割り当てられており、対象論理プロセッサグループに属する変更後の論理プロセッサ以外の論理プロセッサが物理プロセッサに割り当てられていない場合に、少なくとも、変更後の論理プロセッサの過去の電力状態情報を用いて、変更後の論理プロセッサの現在の予測電力状態情報を決定することにより、予測の誤りを最小限に抑えることができる。
【００２１】
また、前記電力状態情報決定部は、前記物理プロセッサに割り当てられた前記対象論理プロセッサグループに属する論理プロセッサの過去の電力状態情報が示す値が時間の経過とともに単調に増加又は減少する場合に、前記対象論理プロセッサグループに属する前記論理プロセッサの過去の電力状態情報が示す値を外挿することにより、前記変更後の論理プロセッサの予測電力状態情報を決定しても良い。
【００２２】
この構成によると、論理プロセッサグループ内で処理負荷が徐々に増大又は減少している場合に、適切な予測電力状態情報を決定することができる。
【００２３】
また、上述の電力制御装置は、さらに、論理プロセッサグループごとに、当該論理プロセッサグループに属する論理プロセッサが前記物理プロセッサに割り当てられた際に決定された前記物理プロセッサの予測電力状態情報が当たっているか否かを示す電力予測履歴情報を記憶している電力状態制御情報記憶部を備え、前記電力状態情報決定部は、前記電力状態制御情報記憶部に記憶されている前記電力予測履歴情報を参照し、前記対象論理プロセッサグループに対応する前記物理プロセッサの予測電力状態情報が当たっている場合にのみ、前記変更後の論理プロセッサの予測電力状態情報を決定しても良い。
【００２４】
決定した予測電力状態情報が外れている場合に、電力状態情報の予測を禁止することができる。これにより、不必要に電力状態情報の予測が外れるのを減らしながら、予測電力状態情報を決定することができる。
【００２５】
また、上述の電力制御装置は、さらに、論理プロセッサグループごとに、当該論理プロセッサグループに属する論理プロセッサが実行する処理の応答性を示す条件情報を記憶している電力状態制御情報記憶部を備え、前記電力状態情報決定部は、前記対象論理プロセッサグループに属する論理プロセッサのうち、前記変更後の論理プロセッサとは異なる論理プロセッサの電力状態情報と、前記電力状態制御情報記憶部に記憶されている前記対象論理プロセッサグループに対応する前記条件情報とに基づいて、前記条件情報が示す応答性が高いほど電力が大きくなるように前記変更後の論理プロセッサの予測電力状態情報を決定しても良い。
【００２６】
高い応答性が求められる論理プロセッサグループの論理プロセッサが物理プロセッサに割り当てられる場合には、電力を大きくするように予測電力状態情報を決定することにより、条件情報で指定される応答性を反映させた予測電力状態情報を決定することができる。
【００２７】
また、上述の電力制御装置は、さらに、論理プロセッサグループごとに、当該論理プロセッサグループに属する論理プロセッサが実行する処理の応答性が最大の応答性を要するか否かを示す緊急プロセッサ該非情報を記憶している電力状態制御情報記憶部を備え、前記電力状態情報決定部は、前記電力状態制御情報記憶部に記憶されている前記対象論理プロセッサグループに対応する前記緊急プロセッサ該非情報が最大の応答性を要する場合に、電力状態情報が取り得る最大値を前記変更後の論理プロセッサの予測電力状態情報が示す値として決定しても良い。
【００２８】
この構成によると、最大の応答性が要求される緊急プロセッサに該当する論理プロセッサについては、最大の電力で起動させることができる。
【００２９】
なお、本発明は、このような特徴的な処理部を備える電力制御装置として実現することができるだけでなく、電力制御装置に含まれる特徴的な処理部が実行する処理をステップとする電力制御方法として実現することができる。また、電力制御装置に含まれる特徴的な処理部としてコンピュータを機能させるためのプログラム又は電力制御方法に含まれる特徴的なステップをコンピュータに実行させるプログラムとして実現することもできる。そして、そのようなプログラムを、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等のコンピュータ読取可能な非一時的な記録媒体やインターネット等の通信ネットワークを介して流通させることができるのは、言うまでもない。
【発明の効果】
【００３０】
本発明によると、仮想化されたプロセッサにおいて最適な電力制御を行うことができる。
【図面の簡単な説明】
【００３１】
【図１】単一の物理プロセッサにおける一般的なソフトウェア構造を示す図である。
【図２】単一の物理プロセッサにおける電力制御の時間遷移例を示すブロック図である。
【図３】複数の物理プロセッサを備えるマルチプロセッサにおける一般的なソフトウェア構造を示す図である。
【図４】マルチプロセッサにおける電力制御の時間遷移例を示す図である。
【図５】仮想化マルチプロセッサにおける一般的なソフトウェア構造を示す図である。
【図６】仮想化マルチプロセッサにおける論理プロセッサの割当の時間遷移例を示す図である。
【図７】デジタル民生機器用のシステムＬＳＩの構成を示すブロック図である。
【図８】システムＬＳＩの各プロセッサにおける処理負荷状況例を示すである。
【図９Ａ】図５に示した仮想化マルチプロセッサにおけるドメインＡの論理プロセッサの電力状態情報の時間遷移例を示す図である。
【図９Ｂ】図５に示した仮想化マルチプロセッサにおけるドメインＢの論理プロセッサの電力状態情報の時間遷移例を示す図である。
【図９Ｃ】図５に示した仮想化マルチプロセッサにおける物理プロセッサの電力状態情報の時間遷移例を示す図である。
【図１０】全処理量が単調増加している場合の論理プロセッサ群における電力制御の時間遷移例を示す図である。
【図１１】本発明の実施の形態に係る仮想化されたマルチプロセッサを含むマルチプロセッサシステムのハードウェア構成を示すブロック図である。
【図１２】論理プロセッサグループマッピング情報の構成例を示す図である。
【図１３】物理プロセッサ電力状態表の構成例を示す図である。
【図１４】物理プロセッサ電力状態表の一例を示す図である。
【図１５】論理プロセッサ電力状態表の構成例を示す図である。
【図１６】論理プロセッサ電力状態表の一例を示す図である。
【図１７】電力状態変更装置を構成する電圧制御装置の構成例を示す図である。
【図１８】電力状態変更装置を構成するクロック制御装置の構成例を示す図である。
【図１９】図１１に示したマルチプロセッサシステムによる電力制御方法に関するソフトウェア構造を示す階層図である。
【図２０】論理プロセッサグループ対応表の構成例を示す図である。
【図２１】論理プロセッサグループ電力状態制御表の構成例を示す図である。
【図２２】論理プロセッサグループ電力状態制御表の電力状態制御情報の構成例を示す図である。
【図２３】電力状態履歴情報の一例を示す図である。
【図２４】本発明の実施の形態に係るマルチプロセッサシステムにおける電力制御方法のフローチャートである。
【図２５】本発明の実施の形態に係るマルチプロセッサシステムにおける電力制御方法の他のフローチャートである。
【図２６】電力状態予測処理（図２５の手順ＺＡ２１０６）の詳細なフローチャートである。
【図２７】本発明の実施の形態に係るマルチプロセッサシステムの論理的な制御構造を示すブロック図である。
【図２８】同一の論理プロセッサグループに含まれる論理プロセッサの電力状態情報を示す図である。
【図２９】論理プロセッサの電力制御の時間遷移例を示す図である。
【発明を実施するための形態】
【００３２】
本実施の形態に係るマルチプロセッサについて説明する前に、本発明を行うに至った背景について説明する。
【００３３】
図１は、単一の物理プロセッサ（Ｐｈｙｓｉｃａｌ  Ｐｒｏｃｅｓｓｏｒ）における一般的なソフトウェア構造を示す図である。図２は、単一の物理プロセッサにおける電力制御の時間遷移例を示す図である。
【００３４】
図１に示すように、物理プロセッサ１０１上ではＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）１０２が実行され、ＯＳ１０２が資源管理を行い、物理プロセッサ１０１の資源をソフトウェア実行体であるプロセス１０３に提供する。つまり、ＯＳ１０２は、複数のプロセス１０３（プロセスＰ０〜Ｐｎ）のうちのいずれか１つを物理プロセッサ１０１に時分割で割り当てる。これにより、プロセス１０３が物理プロセッサ１０１上で、時分割で実行される。
【００３５】
物理プロセッサ１０１上で実行されるプロセス１０３の処理状況に応じて、物理プロセッサ１０１で必要とされる周波数やメモリなどの物理資源が変化する。例えば、プロセス１０３の処理量が大きい場合や高速な応答が求められる場合には、物理プロセッサ１０１の動作周波数を大きくしたり物理プロセッサ１０１が利用するメモリの容量を大きくしたりする必要がある。
【００３６】
この際、物理プロセッサ１０１上の処理負荷に応じて、物理プロセッサ１０１の周波数や物理プロセッサ１０１の電源電圧などの電力条件を変化させることで、物理プロセッサ１０１の消費電力の削減を図ることが一般的に行われる。
【００３７】
例えば、図２に示すように、物理プロセッサ１０１自身の現在の処理負荷状況や過去の処理負荷状況から、次の電力状態情報を予測的に変化させる。このような方法により、より積極的で効果的な電力制御を実現することが可能となっている。なお、本実施の形態において電力状態情報は、物理プロセッサの動作電圧及び動作周波数のそれぞれと一対一に対応付けられる値（以下、「電力状態」という。）を含むものとし、電力状態が高くなるにつれ（電力状態が大きくなるにつれ）、物理プロセッサの動作電圧及び動作周波数が大きくなるものとする。
【００３８】
なお、動的に周波数や電圧を可変にする電力制御は、リアルタイム性の実現に課題を与える。このため、デジタルテレビや携帯電話などのようにリアルタイム性が要求される機器においては、これが阻害されないような電力制御の実現が不可欠となる。
【００３９】
また近年はプロセッサの処理能力を増大させるために、プロセッサにおいてマルチプロセッサ構成を採ることが多くなってきている。図３は、複数の物理プロセッサを備えるマルチプロセッサにおける一般的なソフトウェア構造を示す図である。図４は、マルチプロセッサにおける電力制御の時間遷移例を示す図である。
【００４０】
図３に示すように、複数の物理プロセッサ１０１（物理プロセッサＰＰ＃０〜ＰＰ＃３）を共通に管理するマルチプロセッサ用のＯＳ１０２上で複数のプロセス１０３（プロセスＰ０〜Ｐｎ）が実行される。各々の物理プロセッサ１０１上では、ＯＳ１０２が割当てたプロセス１０３が実行される。
【００４１】
このようなマルチプロセッサにおいては、図２に示したような単一プロセッサを前提とした電力制御方法に加えて、図４に示すようなより積極的な電力制御が可能となる。つまり、各物理プロセッサ１０１の電力制御において、他の物理プロセッサ１０１の電力状態を反映させることで、より最新の時刻情報を活かしながら、効果的な電力制御が可能となる。
【００４２】
具体的には、例えば図４のように、３つの物理プロセッサＰＰ＃０〜ＰＰ＃２が、処理負荷が高いために高い電力状態で稼働しているものとする。そこへ４つ目の物理プロセッサＰＰ＃３を、マルチプロセッサ全体の処理量を低減させる目的で起床させる場合について説明する。
【００４３】
この場合、物理プロセッサＰＰ＃３の現在と過去の電力状態から、次の物理プロセッサＰＰ＃３の電力状態を予測しても、物理プロセッサＰＰ＃３はこれまで停止していた。このため、物理プロセッサＰＰ＃３を一度に高負荷の処理が可能な電力状態に遷移させる予測はできない。そこで、同時刻帯に稼働している他の物理プロセッサＰＰ＃０〜ＰＰ＃２の電力状態を参照することにより、物理プロセッサＰＰ＃３の電力状態を予測すれば、より素早く適切な電力状態に遷移させる事が可能となる。例えば、他の物理プロセッサＰＰ＃０〜ＰＰ＃２の電力状態の平均値を物理プロセッサＰＰ＃３の電力状態として予測することにより、物理プロセッサＰＰ＃３を高負荷の処理が可能な電力状態で起動させることができる。
【００４４】
このように、マルチプロセッサにおいては、電力状態の予測対象となっている物理プロセッサ１０１と相関のある他の物理プロセッサ１０１の電力状態を用いて、予測対象となっている物理プロセッサ１０１の電力状態を予測することができる。なお、互いに相関する物理プロセッサ１０１とは、処理負荷、処理に対して要求される応答性、又は処理内容などの処理の特性が類似する物理プロセッサ１０１同士のことを言う。
【００４５】
次に、仮想化マルチプロセッサについて説明する。
【００４６】
図５は、仮想化マルチプロセッサにおける一般的なソフトウェア構造を示す図である。ここでは２つのＯＳドメインが存在する場合を例示している。
【００４７】
各々のＯＳ１０２は、論理プロセッサ（Ｌｏｇｉｃａｌ  Ｐｒｏｃｅｓｓｏｒ）１０４又は仮想プロセッサ（Ｖｉｒｔｕａｌ  Ｐｒｏｃｅｓｓｏｒ）１０４と呼ばれる仮想的なプロセッサ上で稼働し、各々の論理プロセッサ１０４はあたかも自分が物理プロセッサ１０１を占有して以下のように動作する。
【００４８】
論理プロセッサ１０４は、ハイパーバイザ（Ｈｙｐｅｒｖｉｓｏｒ）１０５又はバーチャルマシンモニタ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｍｏｎｉｔｏｒ）１０５と呼ばれる、仮想化レイヤのソフトウェア又はハードウェア又は両者の協調動作によって、物理プロセッサ１０１に時分割的に割り当てられる。
【００４９】
例えば、図５に示されるように、４つの論理プロセッサ１０４（論理プロセッサＬＰ＃Ａ０〜ＬＰ＃Ａ３）上でドメインＡのＯＳ１０２が稼働し、４つの論理プロセッサ１０４（論理プロセッサＬＰ＃Ｂ４〜ＬＰ＃Ｂ７）上でドメインＢのＯＳ１０２が稼働する。
【００５０】
ドメインＡのＯＳ１０２は、プロセスＰａ０〜Ｐａｎを論理プロセッサＬＰ＃Ａ０〜＃Ａ３に割り当て、ドメインＢのＯＳ１０２は、プロセスＰｂ０〜Ｐｂｎを論理プロセッサＬＰ＃Ｂ４〜＃Ｂ７に割り当てる。
【００５１】
ハイパーバイザ１０５は、４つの物理プロセッサ１０１に、８つの論理プロセッサ１０４を時分割で切り替えながら割り当てる。これにより、２つのＯＳ１０２上で実行されるプロセス１０３を時分割で実行する。
【００５２】
図６には、各々の論理プロセッサ１０４が、時分割で物理プロセッサ１０１に割当てられる様子を示す。例えば、物理プロセッサＰＰ＃０には、ハイパーバイザ１０５により論理プロセッサＬＰ＃Ａ０が割り当てられており、その後、ハイパーバイザ１０５により論理プロセッサＬＰ＃Ｂ５が割り当てられることが示されている。
【００５３】
また、近年のＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）は高度に集積化され、システムの大きな部分をＬＳＩに集積できるに至っている。
【００５４】
図７に、デジタル民生機器用のシステムＬＳＩの例を示す。本例に示すように、近年のシステムＬＳＩには、構造や用途が異なる多数のプロセッサが集積されている。各プロセッサは各々の処理に最適に設計されており、その分野において最大の能力を提供する。
【００５５】
例えば、図７に示すシステムＬＳＩ１０６には、ユーザインタフェースＣＰＵ、デバイスコントローラプロセッサ、ビデオＤＳＰ、オーディオＤＳＰなどの多数の物理プロセッサ１０１が集積されている。
【００５６】
しかしながら、各物理プロセッサ１０１は常に最大の処理能力で稼働する訳ではない。図８に一例を示すように、インターネットのＷｅｂブラウザ閲覧時や、デジタルＴＶなどのＡＶ（Ａｕｄｉｏ／Ｖｉｓｕａｌ）視聴時や、ネットワークの待機状態では、それぞれのプロセッサ群の稼働割合は異なる。つまり、図８（ａ）に示すようにインターネットのＷｅｂブラウザ閲覧時には、ユーザインタフェースＣＰＵの処理負荷が大きくなるが、その他のＣＰＵの処理負荷は小さい。また、図８（ｂ）に示すようにＡＶ視聴時にはビデオＤＳＰ及びオーディオＤＳＰの処理負荷が大きくなるが、その他のＣＰＵの処理負荷は小さい。さらに、図８（ｃ）に示すようにネットワークの待機状態では、すべてのＣＰＵの処理負荷が小さい。
【００５７】
システムでは各プロセッサ群が個別に最大処理を必要とする能力を供給すべく実装されており、一般的にはコストが大きくなるという課題を誘発する。
【００５８】
このコスト課題と性能供給を解決する策として、先に述べた仮想化システムが適用されつつある。すなわち、図５のような仮想化マルチプロセッサを用いて、低コストながら高性能なシステムを構築する事ができる。
【００５９】
しかしながら、仮想化マルチプロセッサにおいては、異なる処理負荷や処理特性をもつ複数のＯＳドメイン上の処理が混在して物理プロセッサ１０１群上で実行される。このため、効率の良い電力制御による消費電力削減を行うことができない。
【００６０】
例えば、先に図４で示したような他の物理プロセッサ１０１の現在の稼働状況を利用して電力状態を予測することによる積極的な電力削減を行うことができない。以下、この理由について説明する。
【００６１】
例えば、図５のように２つのＯＳドメインが存在する仮想化マルチプロセッサを考える。２つのＯＳドメインのうち、ドメインＡのＯＳ１０２で実行されるプロセス１０３の処理は軽く、ドメインＢのＯＳ１０２で実行されるプロセス１０３の処理は重い状態を考える。図９Ａは、ドメインＡの論理プロセッサの電力状態の時間遷移例を示す図である。図９Ｂは、ドメインＢの論理プロセッサの電力状態の時間遷移例を示す図である。図９Ａ及び図９Ｂともに、横軸は時間を示し、縦軸は電力状態を示す。図９Ａに示すように論理プロセッサＬＰ＃Ａ０〜ＬＰ＃Ａ３で実行されるプロセス１０３の処理は軽く、図９Ｂに示すように論理プロセッサＬＰ＃Ｂ４〜ＬＰ＃Ｂ７で実行されるプロセス１０３の処理は重いものとする。
【００６２】
図９Ｃは、物理プロセッサ１０１の電力状態の時間遷移例を示す図である。横軸及び縦軸は、図９Ａ及び図９Ｂに示したものと同じである。
【００６３】
ここでは、物理プロセッサＰＰ＃０に、高負荷なドメインＢの論理プロセッサＬＰ＃Ｂ５が割り当てられており、物理プロセッサＰＰ＃１〜ＰＰ＃３に、低負荷なＯＳドメインＡの論理プロセッサＬＰ＃Ａ０〜＃Ａ２がそれぞれ割り当てられている時間帯を考える。
【００６４】
このとき、物理プロセッサＰＰ＃１に割り当てられる論理プロセッサが、低負荷なＯＳドメインＡの論理プロセッサＬＰ＃Ａ０から高負荷なＯＡドメインＢの論理プロセッサＬＰ＃Ｂ４に変化するものとする。この場合に、図４で示したような物理プロセッサ１０１間の相関を使用した電力状態予測を適用すると、本来は適切ではない電力制御が行われることになる。つまり、物理プロセッサＰＰ＃１には高負荷なＯＡドメインＢの論理プロセッサＬＰ＃Ｂ４が割り当てられるため、本来、高い電力状態９０１で動作を開始するのが望ましい。しかし、物理プロセッサ１０１間の相関を利用して電力状態予測を行うと、物理プロセッサＰＰ＃１〜ＰＰ＃３の低い電力状態の影響を強く受け、低い電力状態９０２を予測してしまう。例えば、物理プロセッサＰＰ＃０の高い電力状態と、物理プロセッサＰＰ＃１〜ＰＰ＃３の低い電力状態との平均により、物理プロセッサＰＰ＃１の電力状態を予測すると、低い電力状態９０２を予測してしまう。
【００６５】
このような予測を行ってしまうと、不要な周波数低減及び電圧低減が発生する。これは必要な処理能力を物理プロセッサ１０１に供給することを妨げるため、処理の応答性及びリアルタイム性の悪化を招いてしまう。
【００６６】
他の電力状態の制御方法としては、論理プロセッサ１０４毎に自身の論理プロセッサ１０４に関する電力状態を保持し、例えば前回実行時の最後の電力状態を用いて、今回の物理プロセッサ１０１への割当て時の電力状態の予測値とする方法が考えられる。
【００６７】
これは単一の論理プロセッサ１０４の予測方式として適切であるが、複数の論理プロセッサ１０４間で電力状態が相関をもつ場合には、その相関を利用する事ができない。
【００６８】
例えば、図１０に示すように、３つの論理プロセッサＬＰ＃Ａ０〜ＬＰ＃Ａ２が同一ＯＳドメインで稼働し、物理プロセッサＰＰ＃０上で動作しているものとする。これは、ＳＭＰ（対称マルチプロセッサ）上において汎用ＯＳが稼働している場合に相当する。
【００６９】
図１０（ａ）に示すように、時間の進行とともにあるＯＳ全体で処理しなければならないプロセス数が増大するなどの理由により負荷が増大する場合、前回起動時の終了時の自身の論理プロセッサ１０４の電力状態は、ＯＳ全体としての最新の状態は反映していない。つまり、図１０（ｃ）に示すように、物理プロセッサＰＰ＃０に、論理プロセッサＬＰ＃Ａ０、論理プロセッサＬＰ＃Ａ１、論理プロセッサＬＰ＃Ａ２の順に論理プロセッサ１０４が割り当てられ、再度、論理プロセッサＬＰ＃Ａ０が割り当てられるものとする。この場合、図１０（ｂ）に示すように、前回起動時の終了時の論理プロセッサＬＰ＃Ａ０の電力状態１００２を、今回起動時の論理プロセッサＬＰ＃Ａ０の電力状態１００１とすると、電力状態の予測に失敗してしまう。
【００７０】
つまり、論理プロセッサＬＰ＃Ａ０が再び物理プロセッサＰＰ＃０に割当てられる時に、ＯＳ全体としてより的確な負荷状態を反映した電力状態は、論理プロセッサＬＰ＃Ａ２の電力状態１００３である。しかしながら、前回の論理プロセッサＬＰ＃Ａ０の電力状態１００２を使用すると、ＯＳ全体としては、適切な電力で早く処理全体を終わらせる方が有利であるにも関わらず、この最新のＯＳの状態を反映させる事ができない。
【００７１】
このように、電力制御が論理プロセッサ１０４単位、又は物理プロセッサ１０１単位で行われる限り、システム全体を考慮した消費電力の削減は充分に行うことができない。
【００７２】
以下、本発明の実施の形態を、図面を参照して詳しく説明する。なお、図面において同一又は相当する部分には同一の参照符号を付してその説明は繰り返さない。
【００７３】
図１１は、本発明の実施の形態に係る仮想化されたマルチプロセッサを含むマルチプロセッサシステムのハードウェア構成を示すブロック図である。本実施の形態におけるマルチプロセッサは、マイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ及びディジタル・シグナル・プロセッサを含むものとする。
【００７４】
マルチプロセッサシステムは、複数の物理プロセッサ１０１（物理プロセッサＰＰ＃０〜ＰＰ＃３）と、複数のレベル１キャッシュ１２１と、レベル２キャッシュ及び共有バス１２２と、電力状態変更部１０７と、入出力装置１２３と、記憶装置１２４と、外部装置１２５とを備える。このうち、複数の物理プロセッサ１０１と、複数のレベル１キャッシュ１２１と、レベル２キャッシュ及び共有バス１２２とがマルチプロセッサを構成する。ただし、その他の構成部がマルチプロセッサに加えられていても良い。
【００７５】
複数の物理プロセッサ１０１は、レベル２キャッシュ及び共有バス１２２を経由して互いに接続されている。各物理プロセッサ１０１には、レベル１キャッシュ１２１が接続されている。また、物理プロセッサ１０１は、レベル２キャッシュ及び共有バス１２２を経由して、電力状態変更部１０７、入出力装置１２３、記憶装置１２４、及びその他の外部装置１２５と接続されている。
【００７６】
各物理プロセッサ１０１は、当該物理プロセッサ１０１に割り当てられる論理プロセッサ１０４が属している論理プロセッサグループを識別するための論理プロセッサグループ識別情報１０８を保持している。これにより、各物理プロセッサ１０１は、当該物理プロセッサ１０１にいずれの論理プロセッサグループの論理プロセッサ１０４が割当てられているかを確認することができる。論理プロセッサグループは、予め定められており、同じプロセッサグループに属する論理プロセッサ１０４が実行する処理は、処理負荷、処理に対して要求される応答性、又は処理内容などの処理の特性が類似するように決定される。
【００７７】
また、各物理プロセッサ１０１は、電力状態情報１０９が示す電力状態に対応付けられた動作電圧及び動作周波数に従い、動作しているものとする。
【００７８】
なお、物理プロセッサ１０１と論理プロセッサグループとの対応関係を示すデータを、記憶装置１２４に記憶するようにしても良い。図１２は、物理プロセッサ１０１と論理プロセッサグループとの対応関係を示すデータである論理プロセッサグループマッピング情報の一例を示す図である。
【００７９】
論理プロセッサグループマッピング情報１１０は、物理プロセッサ１０１ごとに、その物理プロセッサ１０１に割り当てられている論理プロセッサ１０４の属する論理プロセッサグループの番号を記憶している情報である。図１２に示す論理プロセッサグループマッピング情報１１０によると、物理プロセッサＰＰ＃０、ＰＰ＃２及びＰＰ＃３には、番号が１番の論理プロセッサグループに属する論理プロセッサ１０４が割り当てられており、物理プロセッサＰＰ＃１には、番号が０番の論理プロセッサグループに属する論理プロセッサ１０４が割り当てられていることが示されている。
【００８０】
論理プロセッサグループマッピング情報１１０と同様に、図１３に示すような物理プロセッサ１０１ごとに電力状態情報１０９を示した物理プロセッサ電力状態表１１１を記憶装置１２４に記憶するようにしても良い。
【００８１】
図１４は、物理プロセッサ電力状態表１１１の一例を示す図である。各物理プロセッサ１０１の電力状態情報１０９は、論理プロセッサ１０４の割り当て開始時の電力状態と、論理プロセッサ１０４の割り当て終了時の電力状態と、論理プロセッサ１０４が割り当てられていた時間における平均の電力状態とを含む。
【００８２】
また、記憶装置１２４には、図１５に示すような論理プロセッサ１０４ごとの電力状態情報を示した論理プロセッサ電力状態表１２６が記憶されているものとする。論理プロセッサ１０４の電力状態とは、論理プロセッサ１０４に現在割り当てられている物理プロセッサ１０１又は最も時間的に近くに割り当てられた物理プロセッサ１０１の電力状態のことである。
【００８３】
図１６は、論理プロセッサ電力状態表１２６の一例を示す図である。各論理プロセッサ１０４の電力状態情報は、論理プロセッサ１０４の割り当て開始時の電力状態と、論理プロセッサ１０４の割り当て終了時の電力状態と、論理プロセッサ１０４が割り当てられていた時間における平均の電力状態とを含む。
【００８４】
電力状態変更部１０７は、外部からの電力状態の変更要求に従って、各物理プロセッサ１０１の電力状態を変更する。
【００８５】
図１７と図１８には、電力状態変更部１０７の一例を示す。図１７は、与えられた電源電圧条件や閾値電圧条件に対し、ＤＣ−ＤＣコンバータを用いて供給電圧を変更する回路例である。図１８は、クロック周波数情報としての逓倍率条件と分周率条件により、供給クロックを変更する回路例である。
【００８６】
つまり、各回路は、受け取った電力状態変更要求情報をもとに、各物理プロセッサ１０１に対する電圧値の変更又はクロック周波数の変更を行う。電力状態変更部１０７は、物理プロセッサ１０１群と同一のＬＳＩ上に実装されても良いし、ＬＳＩ外部に実装されても良い。
【００８７】
また、電力状態変更部１０７に対する電力状態の変更要求は、ハードウェアにより行われても良いし、ソフトウェアにより行われても良い。
【００８８】
図１９は、図１１に示したマルチプロセッサシステムによる電力制御方法に関するソフトウェア構造を示す階層図である。
【００８９】
この階層図は、図５に示した仮想化マルチプロセッサにおけるソフトウェア構造を示す図と同じである。
【００９０】
なお、ハイパーバイザ１０５は、論理プロセッサグループ対応表１１２と、論理プロセッサグループ電力状態制御表１１３と、電力状態履歴情報１１７と、論理プロセッサ電力状態表１２６と、論理プロセッサグループマッピング情報１１０と、物理プロセッサ電力状態表１１１とを有する。これらの情報は、記憶装置１２４に記憶されている。
【００９１】
論理プロセッサグループ対応表１１２は、図２０に示すように、論理プロセッサ１０４と論理プロセッサグループとを対応付けるデータであある。図２０の例によると、論理プロセッサＬＰ＃Ａ０〜ＬＰ＃Ａ３がグループ番号０番の論理プロセッサグループ（論理プロセッサグループ０）に属し、論理プロセッサＬＰ＃Ｂ４〜ＬＰ＃Ｂ７がグループ番号１番の論理プロセッサグループ（論理プロセッサグループ１）に属している。
【００９２】
一般的には、あるＯＳドメインに属する論理プロセッサ１０４が共通の論理プロセッサグループに属するように論理プロセッサグループを設定する。
【００９３】
但し、システムの処理特性によっては、ＯＳドメイン内の論理プロセッサ１０４が複数の論理プロセッサグループに属するように論理プロセッサグループを設定したり、複数のＯＳ内の論理プロセッサ１０４を共通の論理プロセッサグループに属するように論理プロセッサグループを設定したりすることも可能である。
【００９４】
例えば、ソフトウェア保守性やセキュリティの観点から、８つの論理プロセッサ１０４を４つの論理プロセッサ１０４からなる２つの汎用ＯＳドメインに分割するが、電力制御は共通に適用したいケースも存在する。このような場合には、１つの論理プロセッサグループに８つの論理プロセッサ１０４が属するように論理プロセッサグループを設定すれば良い。
【００９５】
逆に、あるＯＳドメイン内において、特定の論理プロセッサ１０４のみ、電力制御特性を区別したいケースも存在する。このような場合には、特定の論理プロセッサ１０４のみが属する論理プロセッサグループを設定すれば良い。
【００９６】
このように、システムの特性によって、論理プロセッサ１０４と論理プロセッサグループとの関係を任意に設定可能とする。
【００９７】
図２１には、論理プロセッサグループ電力状態制御表１１３の例を示す。論理プロセッサグループ電力状態制御表１１３は、論理プロセッサグループごとに、電力状態制御情報１１４を記憶しているデータである。電力状態制御情報１１４は、論理プロセッサグループの電力状態及び電力制御仕様を示すデータである。
【００９８】
図２２は、電力状態制御情報１１４の一例を示す図である。
【００９９】
電力状態制御情報１１４は、電圧状態情報と、クロック状態情報と、ＬＰグループ内予測可否情報と、ＬＰグループ間予測対象ＬＰグループ情報と、電力予測履歴情報と、電力制御禁止情報と、電力制御変化幅情報と、応答性条件情報と、電力上限条件情報と、緊急プロセッサ該非情報と、最小プロセッサ条件情報とを含む。
【０１００】
電圧状態情報は、着目している論理プロセッサグループに含まれる論理プロセッサの電力状態を示す情報である。例えば、電圧状態情報は、電源電圧や閾値電圧を含む。
【０１０１】
クロック状態情報は、着目している論理プロセッサグループに含まれる論理プロセッサのクロック状態を示す情報である。クロック状態情報は、例えば、クロック周波数や現在のクロックが停止しているか否かに関する情報を含む。
【０１０２】
ＬＰグループ内予測可否情報は、着目している論理プロセッサグループに含まれる論理プロセッサ１０４の電力状態に基づいて、電力状態の予測を行うか否かを示す情報である。
【０１０３】
ＬＰグループ間予測対象ＬＰグループ情報は、電力状態の予測を行う際に着目している論理プロセッサグループと同一の論理プロセッサグループとみなす他の論理プロセッサグループの識別情報である。例えば、マルチプロセッサ上で３つのＯＳが動作している場合に、そのうちの２つが同一の種類のＯＳで他の１つがそれとは異なる種類のＯＳの場合であって、ＯＳごとに論理プロセッサグループが設定されている場合には、同一の種類のＯＳに対応する２つの論理プロセッサグループを同一の論理プロセッサグループとみなす。
【０１０４】
電力予測履歴情報は、着目している論理プロセッサグループに属する論理プロセッサに対する電力状態の予測が当たっていたか否かを示す情報である。なお、予測した電力状態で論理プロセッサが割り付けられた物理プロセッサを動作させた際に、その後の一定時間の間、予測した電力状態が保たれていれば予測が当たっていると判断され、上記一定時間の間に電力状態が変更されると予測が外れたと判断される。
【０１０５】
電力制御禁止情報は、電力状態の予測を禁止するか否かを示すフラグ情報である。
【０１０６】
電力制御変化幅情報は、電力を変化させるときの変化幅を示す情報である。この変化幅を小さく設定すれば、電力変化の応答性が悪くなるが、決め細やかな制御が可能となる。一方、変化幅を大きく設定すれば、決め細やかな制御がし難くなるが、電力変化の応答性が良くなる。
【０１０７】
応答性条件情報は、電力制御の際の応答性のレベルを示す情報である。高い応答性が望まれるレベルの場合には、電圧及び周波数を下げる際にはゆっくりと下げ、上げる際には急激に上げる制御が行われる。これにより、電圧及び周波数をできるだけ上げようとするため、着目している論理プロセッサグループに属する論理プロセッサ１０４が割り当てられる物理プロセッサ１０１の応答性を高くすることができる。なお、高い応答性が望まれるレベルの場合に、電力を変化されるときの変化幅を大きくするようにしても良い。
【０１０８】
電力上限条件情報は、電力制御の際の電力の上限値を示す情報である。電力の上限値を小さく設定することにより、上記物理プロセッサ１０１を低電力で動作させることができる。
【０１０９】
緊急プロセッサ該非情報は、着目している論理プロセッサグループに属する論理プロセッサ１０４が緊急プロセッサに該当するか否かを示す情報である。緊急プロセッサとは、最大の応答性が必要とされるプロセッサのことであり、緊急プロセッサに該当する論理プロセッサ１０４が物理プロセッサ１０１に割り当てられる際には、その物理プロセッサ１０１の電圧及び周波数を最大にするような電力状態の制御が行われる。
【０１１０】
最小プロセッサ条件情報は、複数の物理プロセッサ１０１に同時に割り当てる論理プロセッサ１０４の最大個数を示す情報である。着目している論理プロセッサグループに属する論理プロセッサ１０４が実行するプロセス１０３の処理負荷が低く、高い応答性を要求しない場合には、最大個数を小さく設定する。これにより、無駄に物理プロセッサ１０１が稼働することを防ぐことができ、物理プロセッサ１０１が稼働していない間、電力を停止させることができる。
【０１１１】
ハイパーバイザ１０５は、以上説明した電力状態制御情報１１４に含まれる各情報に基づいて、物理プロセッサ１０１に対する電力制御を行う。
【０１１２】
なお、ハイパーバイザ１０５は、ソフトウェア又はハードウェアにより構成されていても良いし、両者の協調動作によって処理を実行するようにソフトウェア及びハードウェアにより構成されていても良い。
【０１１３】
図２３は、電力状態履歴情報１１７の一例を示す図である。
【０１１４】
電力状態履歴情報１１７は、論理プロセッサグループごとに、ＦＩＦＯ形式で電力状態情報を記憶している。図２３に示す例では、４つの電力状態情報（電力状態情報Ｎ−１〜Ｎ−４）が履歴として記憶されている。各電力状態情報は、論理プロセッサ１０４の割り当て開始時の電力状態と、論理プロセッサ１０４の割り当て終了時の電力状態と、論理プロセッサ１０４が割り当てられていた時間における平均の電力状態と、論理プロセッサ１０４が割り当てられていた時間とを示す情報を含む。
【０１１５】
図２４は、本実施の形態に係るマルチプロセッサシステムにおける電力制御方法のフローチャートである。
【０１１６】
手順ＺＡ２００１において、ハイパーバイザ１０５は、次に物理プロセッサ１０１に割当てるべき論理プロセッサ１０４を決定する。論理プロセッサ１０４の決定は、スケジューリング処理により行なわれ、本願の主眼ではないため、その詳細な説明は省略する。
【０１１７】
手順ＺＡ２００２では、ハイパーバイザ１０５は、次に物理プロセッサ１０１に割当てるべき論理プロセッサ１０４の電力状態情報を、論理プロセッサ電力状態表１２６から取得する。
【０１１８】
手順ＺＡ２００３で、ハイパーバイザ１０５は、論理プロセッサグループマッピング情報１１０を参照し、次に物理プロセッサ１０１に割当てるべき論理プロセッサ１０４が属する論理プロセッサグループの論理プロセッサグループ番号と一致する論理プロセッサグループ番号を有する物理プロセッサ１０１を抽出する。
【０１１９】
続く手順ＺＡ２００４にて、ハイパーバイザ１０５は、物理プロセッサ電力状態表１１１から、抽出した物理プロセッサ１０１についての、電力状態情報１０９を取得する。
【０１２０】
手順ＺＡ２００５では、ハイパーバイザ１０５は、次に物理プロセッサ１０１に割当てるべき論理プロセッサ１０４と論理プロセッサグループが一致する物理プロセッサ１０１が存在するかを判定する。つまり、ハイパーバイザ１０５は、手順ＺＡ２００３で物理プロセッサ１０１が抽出できた場合には存在すると判定し、抽出できなかった場合には存在しないと判定する。
【０１２１】
次に物理プロセッサ１０１に割当てるべき論理プロセッサ１０４と論理プロセッサグループが一致する物理プロセッサ１０１が存在しない場合には（手順ＺＡ２００５でＮＯ）、手順ＺＡ２００６において、ハイパーバイザ１０５は、割り当て対象の論理プロセッサ１０４の過去の電力状態情報に基づいて、論理プロセッサ１０４を物理プロセッサ１０１に割当てる際の電力状態を予測する。例えば、ハイパーバイザ１０５は、論理プロセッサ電力状態表１２６から取得した電力状態情報を参照し、割り当て対象の論理プロセッサ１０４が物理プロセッサ１０１に最近割り当てられた際の物理プロセッサ１０１の電力状態を、割り当て対象の論理プロセッサ１０４を物理プロセッサ１０１に割り当てる際の電力状態として予測する。
【０１２２】
次に物理プロセッサ１０１に割当てるべき論理プロセッサ１０４と論理プロセッサグループが一致する物理プロセッサ１０１が存在する場合には（手順ＺＡ２００５でＹＥＳ）、手順ＺＡ２００７において、ハイパーバイザ１０５は、手順ＺＡ２００４で取得された物理プロセッサ１０１の電力状態情報１０９から、割り当て対象の論理プロセッサ１０４を物理プロセッサ１０１に割り当てる際の電力状態を予測する。例えば、ハイパーバイザ１０５は、物理プロセッサの電力状態の平均値を、割り当て対象の論理プロセッサ１０４を物理プロセッサ１０１に割り当てる際の電力状態として予測する。
【０１２３】
例えば、図９Ｃにおいて、論理プロセッサＬＰ＃Ｂ４が物理プロセッサＰＰ＃１に割り当てられる場合を考えると、論理プロセッサＬＰ＃Ｂ４と論理プロセッサグループが一致する物理プロセッサ１０１は物理プロセッサＰＰ＃０のみである。このため、物理プロセッサＰＰ＃０電力状態が、論理プロセッサＬＰ＃Ｂ４を物理プロセッサＰＰ＃１に割り当てられる際の電力状態として予測される。
【０１２４】
なお、電力状態の予測の際に、物理プロセッサの電力状態のみならず、割り当て対象の論理プロセッサ１０４の電力状態を用いて予測を行っても良い。
【０１２５】
手順ＺＡ２００８では、ハイパーバイザ１０５が電力状態変更部１０７に対して予測した電力状態への変更要求を行い、電力状態変更部１０７が、予測した電力状態に基づいて、論理プロセッサ１０４が割り当てられる物理プロセッサ１０１の電力状態を変更する。
【０１２６】
図２５は、本実施の形態に係るマルチプロセッサシステムにおける電力制御方法の他のフローチャートである。図２４に示す電力制御方法及び図２５に示す電力制御方法は、択一的に実施される。どちらの電力制御方法を実施するかは、マルチプロセッサシステムの設計による。
【０１２７】
手順ＺＡ２１００において、ハイパーバイザ１０５は、次に物理プロセッサ１０１に割当てるべき論理プロセッサ１０４を決定する。論理プロセッサ１０４の決定は、スケジューリング処理により行なわれ、本願の主眼ではないため、その詳細な説明は省略する。
【０１２８】
手順ＺＡ２１０１において、ハイパーバイザ１０５は、論理プロセッサグループ電力状態制御表１１３から、割り当て対象の論理プロセッサ１０４が属する論理プロセッサグループの電力状態制御情報１１４を取得する。ハイパーバイザ１０５は、取得した電力状態制御情報１１４のうちＬＰグループ内予測可否情報を参照し、論理プロセッサグループ内の論理プロセッサ１０４間の電力状態予測が禁止されているか否かを判別する。
【０１２９】
論理プロセッサ１０４間の電力状態予測が禁止されている場合には（手順ＺＡ２１０１でＹＥＳ）、ハイパーバイザ１０５は、電力状態変更部１０７に対して電力状態の変更要求を行わず、現在の物理プロセッサ１０１の電力状態を維持する。
【０１３０】
論理プロセッサ１０４間の電力状態予測が禁止されていない場合には（手順ＺＡ２１０１でＮＯ）、手順ＺＡ２１０２において、ハイパーバイザ１０５は、手順ＺＡ２１０１で取得した電力状態制御情報１１４のうち、電力予測履歴情報を参照し、上記論理プロセッサグループに属する論理プロセッサ１０４の電力状態の予測が外れているか否かを判断する。
【０１３１】
電力状態の予測が外れていることにより電力状態予測による電力制御が禁止されている期間である場合には（手順ＺＡ２１０１でＹＥＳ）、ハイパーバイザ１０５は、電力状態変更部１０７に対して電力状態の変更要求を行わず、現在の物理プロセッサ１０１の電力状態を維持する。
【０１３２】
電力状態の予測が当たっている場合には（手順ＺＡ２１０１でＮＯ）、手順ＺＡ２１０３において、ハイパーバイザ１０５は、論理プロセッサグループマッピング情報１１０を参照し、次に物理プロセッサ１０１に割当てるべき論理プロセッサ１０４が属する論理プロセッサグループの論理プロセッサグループ番号と一致する論理プロセッサグループ番号を有する物理プロセッサ１０１を抽出する。
【０１３３】
続く手順ＺＡ２１０４で、ハイパーバイザ１０５は、電力状態履歴情報１１７から、割り当て対象の論理プロセッサ１０４が属する論理プロセッサグループの電力状態情報を取得する。
【０１３４】
手順ＺＡ２１０５では、ハイパーバイザ１０５は、次に物理プロセッサ１０１に割当てるべき論理プロセッサ１０４の電力状態情報を、論理プロセッサ電力状態表１２６から取得する。
【０１３５】
手順ＺＡ２１０６で、ハイパーバイザ１０５は、取得した電力状態情報群を用いて、次に論理プロセッサ１０４が割り当てられる物理プロセッサ１０１の電力状態を予測する。手順ＺＡ２１０６の詳細については後述する。
【０１３６】
手順ＺＡ２１０７で、ハイパーバイザ１０５は、電力状態変更部１０７に対して予測した電力状態への変更要求を行い、電力状態変更部１０７は、予測した電力状態に基づき、論理プロセッサ１０４が割り当てられる物理プロセッサ１０１の電力状態を変更する。
【０１３７】
図２６は、電力状態予測処理（図２５の手順ＺＡ２１０６）の詳細なフローチャートである。
【０１３８】
手順ＺＡ２２０１において、ハイパーバイザ１０５は、論理プロセッサグループマッピング情報１１０を参照し、実行中の物理プロセッサ１０１のうち、割り当てられている論理プロセッサ１０４の論理プロセッサグループに属する物理プロセッサ１０１が２つ以上存在するか否かを判定する。
【０１３９】
同一の論理プロセッサグループに属する物理プロセッサ１０１が２つ以上存在する場合は（手順ＺＡ２２０１でＹＥＳ）、手順ＺＡ２２０６にて、ハイパーバイザ１０５は、同一の論理プロセッサグループに属する物理プロセッサ１０１の電力状態の平均値を、割り当て対象の論理プロセッサ１０４を物理プロセッサ１０１に割り当てる際の電力状態として予測する。なお、物理プロセッサ１０１の電力状態は、物理プロセッサ電力状態表１１１から取得する。具体例は、手順ＺＡ２００７の説明において図９Ｃを参照して説明したものと同様である。
【０１４０】
ここでは瞬時的な電力状態の誤差の影響を取り除くために論理プロセッサグループが同一の物理プロセッサ１０１が２つ以上存在するか否かを判定基準にしたが、これは一例である。また、平均値による電力状態の予測例を示したが、重みづけ演算を行うなど、電力状態の予測には、システムに適した任意の方法を選択することが可能である。
【０１４１】
同一の論理プロセッサグループに属する物理プロセッサ１０１が１つしか存在しない場合又は全く存在しない場合は（手順ＺＡ２２０１でＮＯ）、手順ＺＡ２２０２で、ハイパーバイザ１０５は、電力状態履歴情報１１７に示されている割り当て対象の論理プロセッサ１０４が属する論理プロセッサグループの電力状態情報から、電力状態の変化傾向を算出する。
【０１４２】
例えば、電力状態履歴情報１１７に過去の４回分の履歴が記録されており、時間の経過につれて、そのいずれもが電力状態が増加する、すなわち電圧又は周波数が大きくなる傾向を示している場合は、手順ＺＡ２２０３にて電力状態が単方向増加中であると判定する。また、そのいずれもが電力状態が減少する、すなわち電圧又は周波数が小さくなる傾向を示している場合は、手順ＺＡ２２０３にて電力状態が単方向減少中であると判定する。
【０１４３】
電力状態の変化傾向が単方向増加中又は単方向減少中であると判定される場合には（手順ＺＡ２２０３でＹＥＳ）、次の手順ＺＡ２２０５において、ハイパーバイザ１０５は、割り当て対象の論理プロセッサ１０４を物理プロセッサ１０１に割り当てた際においても、その電力状態の変化方向が維持されるように物理プロセッサ１０１の電力状態を設定する。例えば、４回分の電力状態の値から次の物理プロセッサ１０１の電力状態を外挿することにより予測する。具体的には、４回分の電力状態の値に最小二乗法を適用することにより、次の物理プロセッサ１０１の電力状態を予測するようにしても良い。例えば、図１０に示した例の場合に、過去の論理プロセッサＬＰ＃Ａ０、ＬＰ＃Ａ１、ＬＰ＃Ａ２のそれぞれの電力状態から次の物理プロセッサＰＰ＃０の電力状態を外挿することにより、物理プロセッサＰＰ＃０の電力状態１００３が予測される。
【０１４４】
つまり、論理プロセッサグループ内で処理負荷が徐々に増大又は減少している場合に、適切な電力状態の予測を行うことができる。
【０１４５】
電力状態の変化傾向が単方向増加中でもなく単方向減少中でもない場合、すなわち電力状態がランダムに変化している場合には（手順ＺＡ２２０３でＮＯ）、手順ＺＡ２２０４において、ハイパーバイザ１０５は、割り当て対象の論理プロセッサ１０４の過去の電力状態情報に基づいて、論理プロセッサ１０４を物理プロセッサ１０１に割当てる際の電力状態を予測する。例えば、ハイパーバイザ１０５は、論理プロセッサ電力状態表１２６から取得した電力状態情報を参照し、割り当て対象の論理プロセッサ１０４が物理プロセッサ１０１に最近割り当てられた際の物理プロセッサ１０１の電力状態を、割り当て対象の論理プロセッサ１０４を物理プロセッサ１０１に割り当てる際の電力状態として予測する。この場合、同一論理プロセッサグループの他の論理プロセッサ１０４の電力状態や、実行中の物理プロセッサ１０１の電力状態を使用した電力状態予測は行うことができないが、少なくとも、自身の最終電力状態から処理を開始することで、予測誤差の拡大を防ぐことができる。
【０１４６】
このように、同一の論理プロセッサグループの物理プロセッサ１０１の最新の電力状態と、過去最近の同一の論理プロセッサグループの電力状態履歴と、自身の論理プロセッサ１０４の電力状態とを適切に組み合わせて次の電力状態を予測することで、より適切な電力状態予測制御を適用する事ができる。
【０１４７】
図２７は、本実施の形態に係るマルチプロセッサシステムの論理的な動作関係を示す図である。
【０１４８】
ハイパーバイザ１０５は、ハイパーバイザ１０５をソフトウェアとして実現し、そのソフトウェアを実行した際に、機能的に、論理プロセッサスケジューラ１１５と、電力状態情報決定部１１６と、論理プロセッサグループ対応表１１２と、論理プロセッサグループ電力状態制御表１１３と、電力状態履歴情報１１７とを含む。
【０１４９】
ハイパーバイザ１０５及び電力状態変更部１０７は、電力制御装置としての役割を果たす。電力制御装置は、複数の論理プロセッサ１０４の各々が、処理量に応じて消費電力が動的に変化する物理プロセッサ１０１に時分割で割り当てられることにより、複数の論理プロセッサ１０４上で複数のプロセスを実行する仮想化されたプロセッサにおいて、物理プロセッサ１０１の消費電力を制御する。複数の論理プロセッサ１０４は、複数の論理プロセッサグループにグループ分けされている。
【０１５０】
電力状態情報決定部１１６は、物理プロセッサ１０１に割り当てられる論理プロセッサ１０４が変更されるにあたり、変更後の論理プロセッサ１０４が属する論理プロセッサグループである対象論理プロセッサグループに属する論理プロセッサ１０４が割り当てられる物理プロセッサ１０１の消費電力を示す電力状態情報に基づいて、変更後の論理プロセッサ１０４の物理プロセッサ１０１への割り当て時の電力状態情報を決定する。
【０１５１】
電力状態変更部１０７は、電力状態情報決定部１１６で決定された電力状態情報に基づいて、物理プロセッサ１０１へ供給する電力を変更する。
【０１５２】
以下、電力状態の予測時の動作の一例を示す。
【０１５３】
各物理プロセッサ１０１は、当該物理プロセッサ１０１の電源電圧や動作周波数などの電力状態の変更に応じて、電力状態情報１０９を更新する。
【０１５４】
論理プロセッサスケジューラ１１５は、論理プロセッサ１０４を物理プロセッサ１０１に割り当てるスケジューリング処理を実行する。
【０１５５】
論理プロセッサスケジューラ１１５による論理プロセッサ１０４のスケジューリングが新たに行われ、物理プロセッサ１０１上で論理プロセッサ１０４の入れ替えが発生する際に、当該物理プロセッサ１０１の電力状態情報１０９が、電力状態履歴情報１１７に書き込まれる。
【０１５６】
電力状態履歴情報１１７には任意個数の電力状態情報１０９を蓄えることができ、新たな書き込みが発生した場合には、最も古い電力状態情報１０９は押し出され削除される。
【０１５７】
一方、論理プロセッサ１０４のスケジューリングが行われ、物理プロセッサ１０１に割当てるべき新たな論理プロセッサ１０４が確定すると、電力状態情報決定部１１６は、論理プロセッサグループ対応表１１２からその論理プロセッサ１０４が所属する論理プロセッサグループを特定する。
【０１５８】
さらに、電力状態情報決定部１１６は、論理プロセッサグループマッピング情報１１０をもとに、現在実行中の物理プロセッサ１０１のうち、論理プロセッサグループが同一の物理プロセッサ１０１を特定する。
【０１５９】
電力状態情報決定部１１６は、同一の論理プロセッサグループをもつ物理プロセッサ１０１から電力状態情報１０９を取得する。
【０１６０】
電力状態情報決定部１１６は、この情報と新たに割り当てられる論理プロセッサ１０４用の論理プロセッサ１０４毎の電力状態履歴情報１１７をもとに、次の電力状態を予測する。
【０１６１】
電力状態情報決定部１１６は、予測した電力状態をもとに、電力状態変更部１０７に電力状態変更要求を発生させ、電力状態変更部１０７が対応する物理プロセッサ１０１の電力を変更する。
【０１６２】
図２８を用いて、図２２に示した電力状態制御情報１１４のＬＰグループ内予測可否情報に基づいた同一の論理プロセッサグループ内の論理プロセッサ１０４の電力状態に基づいた電力状態予測の禁止の意図について説明する。
【０１６３】
図２８は、ある時刻における、同一の論理プロセッサグループの４つの論理プロセッサ１０４（論理プロセッサＬＰ＃Ａ０〜ＬＰ＃Ａ３）の電力状態を示している。
【０１６４】
これは、例えばあるＯＳ１０２上で、唯一つのプロセスのみが高負荷で稼働しており、他のプロセスは起動されていない場合である。例えば、バックグラウンドで行われる負荷の高いデータ処理ソフトウェアのプロセスが唯一つ実行されている場合である。
【０１６５】
この場合に、同一論理プロセッサグループに含まれる論理プロセッサ１０４の電力状態を用いて電力状態の予測を行うと、処理を負担していない論理プロセッサ１０４の電力状態に引きずられて、処理が重い論理プロセッサ１０４の電力状態が誤って低く予測されてしまう。あるいは、処理が重い論理プロセッサ１０４の電力状態に引きずられて、処理が軽い論理プロセッサ１０４の電力状態が誤って高く予測されてしまう。これはマルチプロセッサシステムの電力状態として得策でない。
【０１６６】
このため、各ＯＳレベルで（論理プロセッサグループごとに）、論理プロセッサ１０４の負荷状況から明らかな負荷のアンバランスが発生している事を検知し、ハイパーバイザ１０５経由で論理プロセッサグループ電力状態制御表１１３のＬＰグループ内予測可否情報を禁止設定にすることで、この状況を防ぐことができる。
【０１６７】
一般にＯＳは、プロセスの個数及び各プロセッサのアイドル状態を管理可能であるため、この負荷状況の反映は既存のＯＳの機能を流用することで、ハイパーバイザ１０５との連携動作により実現可能である。
【０１６８】
また、システムによっては、ＯＳ内の各プロセスの負荷状況がアンバランスになることがあらかじめ既知であるケースが存在する。例えば、散発的に発生するバースト的なデバイス制御の場合である。この場合にも、システムソフトウェア設計者が、あらかじめ論理プロセッサグループ内の論理プロセッサ１０４の電力状態に基づいた電力状態予測を禁止設定することで、本来望まない電力状態予測の影響を抑制する事ができる。
【０１６９】
次に、図２９を用いて、図２２に示した電力状態制御情報１１４の電力予測履歴情報に基づいた電力状態予測について説明する。
【０１７０】
図２９は、ある同一の論理プロセッサグループに含まれる４つの論理プロセッサ１０４の物理プロセッサ１０１上における電力状態の時間遷移を示している。
【０１７１】
時刻ＺＡ２５０１にて、最も電力状態の大きい論理プロセッサ１０４が物理プロセッサ１０１から追い出される。その後、時刻ＺＡ２５０２において、退避された論理プロセッサ１０４が再び物理プロセッサ１０１に割当てられる際の電力状態予測について説明する。
【０１７２】
この場合、時刻ＺＡ２５０２では、同一の論理プロセッサグループに含まれる３つの論理プロセッサ１０４がプロセス１０３を実行しており、そのいずれもが低負荷状態に遷移しつつある。４つ目の論理プロセッサ１０４を物理プロセッサ１０１に割当てる際に、ハイパーバイザ１０５は、プロセス１０３を実行中の論理プロセッサ１０４の電力状態に基づいて、４つの目の論理プロセッサ１０４の電力状態を予測する。このような予測により、４つ目の論理プロセッサ１０４の電力状態は、以前自身が稼働していた電力状態より低めに設定される。
【０１７３】
しかしながら、たまたま４つ目の論理プロセッサ１０４では、前述の図２８の例のように、唯一つだけ負荷が高いプロセス１０３が稼働しており、予測設定された電力状態よりさらに高い電力状態が必要である場合は、電力状態予測が外れたことになる。
【０１７４】
このような状態を繰り返すと、電力的な損失に加えて、処理に必要な周波数が適切な時間帯に得られないことによる処理時間の損失も発生する。リアルタイム性の高い応用ではこの処理時間の損失が許されない場合がある。
【０１７５】
そこで、論理プロセッサ１０４を物理プロセッサ１０１に割り当ててから一定時間内に、予測した電力状態とその後必要とした電力状態とが異なる予測外れを物理プロセッサ１０１が発生させた場合、その物理プロセッサ１０１に割り当てられた論理プロセッサ１０４が属する論理プロセッサグループにおいて電力状態予測を禁止させる。この動的な電力状態予測の禁止の可否は、あらかじめ規定した所定回数の予測外れにより禁止状態に遷移させる事ができる。その後、所定時間が経過するかソフトウェアによる設定により再び予測を許可させる。
【０１７６】
これにより、ソフトウェアの介在を極力減らしながら、より積極的な電力状態予測を可能にできる。
【０１７７】
以上説明したように、本実施の形態に係るマルチプロセッサシステムによると、同程度の負荷の処理を実行するなどのように互いに相関のある論理プロセッサ１０４同士をグループ化し、物理プロセッサ１０１への割り当て対象となっている論理プロセッサ１０４が属する論理プロセッサグループと同一の論理プロセッサグループに属する論理プロセッサ１０４の電力状態情報に基づいて、論理プロセッサ１０４が割り当てられる物理プロセッサ１０１の電力状態情報を決定している。これにより、各物理プロセッサ１０１に時分割で割り当てられる複数の論理プロセッサ１０４の間で処理負荷が異なる場合であっても、論理プロセッサ１０４の切り替えに伴う処理負荷の変化に追随することができ、最適な電力制御を行うことができる。
【０１７８】
以上、本発明の実施の形態に係るマルチプロセッサシステムについて説明したが、本発明は、この実施の形態に限定されるものではない。
【０１７９】
例えば、物理プロセッサ１０１の個数は１つであっても構わない。
【０１８０】
また、上述の実施の形態では、論理プロセッサ１０４の電力状態を用いて、物理プロセッサ１０１の電力状態を予測する際に、計算により電力状態を予測していたが、必ずしもこの方法に限られるものではない。例えば、予測に用いる論理プロセッサ１０４の電力状態をレベル分けし、レベルごとに起動時の物理プロセッサ１０１の電力状態を示したテーブルデータを参照することにより、物理プロセッサ１０１の電力状態を決定するようにしても良い。
【０１８１】
また、電力状態情報決定部１１６は、図２２の電力状態制御情報１１４に含まれるＬＰグループ間予測対象ＬＰグループ情報が示す論理プロセッサグループに属する論理プロセッサの電力状態情報と、変更後の論理プロセッサが属する論理プロセッサグループである対象論理プロセッサグループに属する論理プロセッサのうち変更後の論理プロセッサとは異なる論理プロセッサの電力状態情報とに基づいて、変更後の論理プロセッサの電力状態情報を決定しても良い。
【０１８２】
また、電力状態情報決定部１１６は、対象論理プロセッサグループに属する論理プロセッサのうち、変更後の論理プロセッサとは異なる論理プロセッサの電力状態情報と、図２２の電力状態制御情報１１４に含まれる対象論理プロセッサグループに対応する応答性条件情報とに基づいて、応答性条件情報が示す応答性が高いほど電力が大きくなるように変更後の論理プロセッサの電力状態情報を決定しても良い。
【０１８３】
また、電力状態情報決定部１１６は、図２２の電力状態制御情報１１４に含まれる対象論理プロセッサグループに対応する緊急プロセッサ該非情報が最大の応答性を要する場合に、電力状態情報が取り得る最大値を変更後の論理プロセッサの電力状態情報が示す値として決定しても良い。
【０１８４】
また、本発明は、上記に示す方法であるとしても良い。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしても良いし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。
【０１８５】
さらに、本発明は、上記コンピュータプログラム又は上記デジタル信号をコンピュータ読み取り可能な非一時的な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標））、半導体メモリなどに記録したものとしても良い。また、これらの非一時的な記録媒体に記録されている上記デジタル信号であるとしても良い。
【０１８６】
また、本発明は、上記コンピュータプログラム又は上記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。
【０１８７】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、上記メモリは、上記コンピュータプログラムを記憶しており、上記マイクロプロセッサは、上記コンピュータプログラムに従って動作するとしても良い。
【０１８８】
また、上記プログラム又は上記デジタル信号を上記非一時的な記録媒体に記録して移送することにより、又は上記プログラム又は上記デジタル信号を上記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしても良い。
【０１８９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【０１９０】
本発明は、マルチプロセッサ（マイクロプロセッサやマイクロコンピュータやマイクロコントローラやディジタル・シグナル・プロセッサを含む）を含む情報処理システムに適用可能である。
【符号の説明】
【０１９１】
１０１  物理プロセッサ
１０２  ＯＳ
１０３  プロセス
１０４  論理プロセッサ
１０５  ハイパーバイザ
１０６  システムＬＳＩ
１０７  電力状態変更部
１０８  論理プロセッサグループ識別情報
１０９  電力状態情報
１１０  論理プロセッサグループマッピング情報
１１１  物理プロセッサ電力状態表
１１２  論理プロセッサグループ対応表
１１３  論理プロセッサグループ電力状態制御表
１１４  電力状態制御情報
１１５  論理プロセッサスケジューラ
１１６  電力状態情報決定部
１１７  電力状態履歴情報
１２１  レベル１キャッシュ
１２２  レベル２キャッシュ及び共有バス
１２３  入出力装置
１２４  記憶装置
１２５  外部装置
１２６  論理プロセッサ電力状態表
【図１】
0005681527.tif 000002
【図２】
0005681527.tif 000003
【図３】
0005681527.tif 000004
【図４】
0005681527.tif 000005
【図５】
0005681527.tif 000006
【図６】
0005681527.tif 000007
【図７】
0005681527.tif 000008
【図８】
0005681527.tif 000009
【図９Ａ】
0005681527.tif 000010
【図９Ｂ】
0005681527.tif 000011
【図９Ｃ】
0005681527.tif 000012
【図１０】
0005681527.tif 000013
【図１１】
0005681527.tif 000014
【図１２】
0005681527.tif 000015
【図１３】
0005681527.tif 000016
【図１４】
0005681527.tif 000017
【図１５】
0005681527.tif 000018
【図１６】
0005681527.tif 000019
【図１７】
0005681527.tif 000020
【図１８】
0005681527.tif 000021
【図１９】
0005681527.tif 000022
【図２０】
0005681527.tif 000023
【図２１】
0005681527.tif 000024
【図２２】
0005681527.tif 000025
【図２３】
0005681527.tif 000026
【図２４】
0005681527.tif 000027
【図２５】
0005681527.tif 000028
【図２６】
0005681527.tif 000029
【図２７】
0005681527.tif 000030
【図２８】
0005681527.tif 000031
【図２９】
0005681527.tif 000032