(57)【要約】      （修正有）【課題】ＣＰＵのＰステート操作に依存しない、消費電力制御システム、消費電力制御方法、およびプログラムを提供する。【解決手段】消費電力制御システム１００は、複数のＣＰＵを有するＣＰＵ群１０２を備え、アクティブＣＰＵの個数に基づいて、少なくとも１つのＣＰＵをアクティブＣＰＵとして選択する第１消費電力制御手段１１６と、アクティブＣＰＵとして選択されなかったＣＰＵのステートを遷移させる第２消費電力制御手段１１８と、を有する。【選択図】図１
2012208579.tif 000002
【特許請求の範囲】
【請求項１】
複数のＣＰＵを有するＣＰＵ群を備え、
算出されたアクティブＣＰＵの個数に基づいて、前記ＣＰＵ群の中から少なくとも１つのＣＰＵをアクティブＣＰＵとして選択する第１消費電力制御手段と、
前記ＣＰＵ群に含まれるＣＰＵの内、前記第１消費電力制御手段によって前記アクティブＣＰＵとして選択されなかったＣＰＵのステートを遷移させる第２消費電力制御手段と、
を有することを特徴とする消費電力制御システム。
【請求項２】
前記ＣＰＵ群に含まれるＣＰＵはＡＣＰＩで定義されるＰステート操作が行われるＣＰＵであり、
前記第２消費電力制御手段が、前記ＣＰＵ群に含まれるＣＰＵの内、前記第１消費電力制御手段によって前記アクティブＣＰＵとして選択されなかったＣＰＵのステートを、ＡＣＰＩで定義されるＣステートからＡＣＰＩで定義されるＣ６ステートへと遷移させることを特徴とする請求項１に記載の消費電力制御システム。
【請求項３】
前記ＣＰＵ群において消費される消費電力を検出し、検出された前記消費電力に基づいてアクティブＣＰＵの個数を算出する消費電力算出手段をさらに備え、
前記第１消費電力制御手段は、前記消費電力算出手段によって算出された前記アクティブＣＰＵの個数に基づいて前記ＣＰＵ群の中から少なくとも１つのＣＰＵをアクティブＣＰＵとして選択する、
ことを特徴とする請求項１または２に記載の消費電力制御システム。
【請求項４】
前記消費電力算出手段によって算出された前記アクティブＣＰＵの個数に関する情報を受け取るインターフェイスを前記オペレーティングシステム内にさらに有する、
ことを特徴とする請求項３に記載の消費電力制御システム。
【請求項５】
前記第１消費電力制御手段が、算出された前記アクティブＣＰＵの個数に基づいて、前記ＣＰＵ群の中からアクティブＣＰＵを選択する第１ステップと、
前記第２消費電力制御手段が、前記ＣＰＵ群に含まれるＣＰＵの内、前記アクティブＣＰＵとして選択されなかったＣＰＵのステートを変更する第２ステップと、
を含むことを特徴とする、請求項１乃至４のいずれか１項に記載の消費電力制御システムを用いた消費電力制御方法。
【請求項６】
前記第１ステップの前に、
前記ＣＰＵ群に含まれる少なくとも１つのＣＰＵが、前記消費電力算出手段を補助記憶装置から読み出し、主記憶装置において前記消費電力算出手段を実行し、前記消費電力に基づいてアクティブＣＰＵの個数を算出するステップを含む、
ことを特徴とする請求項５に記載の消費電力制御方法。
【請求項７】
コンピュータに、
算出されたアクティブＣＰＵの個数に基づいて、ＣＰＵ群の中からアクティブＣＰＵを選択する手順と、
前記ＣＰＵ群に含まれるＣＰＵの内、前記アクティブＣＰＵとして選択されなかったＣＰＵのステートを変更する手順と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、消費電力制御システム、消費電力制御方法、およびプログラムに関する。
【背景技術】
【０００２】
計算機の消費電力制御方法として、特許文献１に記載の方法などがある。
【０００３】
たとえば、ＡＣＰＩ（Ａｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ)で定義されるところのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）のＰステートを、ＯＳ（オペレーティングシステム）がＣＰＵの負荷状況に合わせて、消費電力の低いステートへ変更することによって省電力化を図ることがあった。
【０００４】
また、コンピュータシステムがアイドル状態（無負荷状態）にあるとき、ＯＳはＡＣＰＩで定義されるところのＣステートにＣＰＵを遷移させることで、コンピュータシステムの消費電力抑制を図ることがあった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−２８２５６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＣＰＵが備えるＰステートの数はＣＰＵのクロック種別によって一様とは限らないため、ＣＰＵのＰステート操作による消費電力制御では、全てのＣＰＵで一様な省電力効果を期待することが困難であった。また、Ｃステート制御は、コンピュータシステムがアイドル状態にある際の消費電力制御に用いられていた。
【０００７】
本発明は、上記事情に鑑みなされたものであって、ＣＰＵのＰステート操作に依存しない、消費電力制御システム、消費電力制御方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の第１の観点に係る消費電力制御システムは、
複数のＣＰＵを有するＣＰＵ群を備え、
算出されたアクティブＣＰＵの個数に基づいて、前記ＣＰＵ群の中から少なくとも１つのＣＰＵをアクティブＣＰＵとして選択する第１消費電力制御手段と、
前記ＣＰＵ群に含まれるＣＰＵの内、前記第１消費電力制御手段によって前記アクティブＣＰＵとして選択されなかったＣＰＵのステートを遷移させる第２消費電力制御手段と、
を有することを特徴とする。
【０００９】
上記目的を達成するため、本発明の第２の観点に係る上記消費電力制御システムを用いた消費電力制御方法は、
前記第１消費電力制御手段が、算出された前記アクティブＣＰＵの個数に基づいて、前記ＣＰＵ群の中からアクティブＣＰＵを選択する第１ステップと、
前記第２消費電力制御手段が、前記ＣＰＵ群に含まれるＣＰＵの内、前記アクティブＣＰＵとして選択されなかったＣＰＵのステートを変更する第２ステップと、
を含むことを特徴とする。
【００１０】
上記目的を達成するため、本発明の第３の観点に係るプログラムは、
コンピュータに、
算出されたアクティブＣＰＵの個数に基づいて、ＣＰＵ群の中からアクティブＣＰＵを選択する手順と、
前記ＣＰＵ群に含まれるＣＰＵの内、前記アクティブＣＰＵとして選択されなかったＣＰＵのステートを変更する手順と、
を実行させる。
【発明の効果】
【００１１】
本発明によれば、ＣＰＵのＰステート操作に依存しない、消費電力制御システム、消費電力制御方法、およびプログラムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係る消費電力制御システムを示す図である。
【図２】本実施形態に係るＣＰＵ群の詳細を示す図である。
【図３】本実施形態に係る消費電力制御方法を示すフローチャート図である。
【図４】本実施形態に係る消費電力制御システムを示す図である。
【図５】本実施例に係る消費電力制御システムを示す図である。
【図６】本実施例に係る消費電力制御方法を示すフローチャート図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態に係るコンピュータの消費電力制御システム、消費電力制御方法、およびプログラムについて、図面を参照して詳細に説明する。
【００１４】
本明細書において、「ＣＰＵ」は、ＣＰＵ単体だけでなく、複数のＣＰＵコアからなるＣＰＵの各コア自体をも示すものとする。
【００１５】
図１を参照すると、本実施形態に係るコンピュータの消費電力制御システム１００は、コンピュータ１０１と、ｎ個（ｎは２以上の整数）のＣＰＵを有するＣＰＵ群１０２と、コンピュータ１０１上で動作するＯＳ（オペレーティングシステム）１０４と、主記憶装置１０８と、補助記憶装置１１０と、を有する。
【００１６】
ＣＰＵ群１０２は複数のＣＰＵを有する。ＣＰＵは、コンピュータ１０１の動作を制御するプロセッサであり、補助記憶装置１１０から主記憶装置１０８にロードされる、ＯＳ（オペレーティングシステム）１０４、ＯＳ１０４の下で動作する（ユーティリティを含む）各種制御手段、消費電力算出手段１０６、および消費電力算出手段１０６の下で動作する消費電力検出手段１１４等を実行する。ＣＰＵ群１０２に含まれるＣＰＵはＡＣＰＩで定義されるＰステート操作が行われるＣＰＵである。
【００１７】
ＯＳ１０４は、その内部に、消費電力算出手段１０６からの要求を受け取るＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）１１２（インターフェイス）と、第１消費電力制御手段１１６と、第２消費電力制御手段１１８と、を有する。
【００１８】
主記憶装置１０８は、ＣＰＵがＯＳ１０４や消費電力算出手段１０６等を実行する際の作業領域としての機能を有する。主記憶装置１０８としては、たとえば、メモリ、レジスタ、キャッシュ等を例示することができる。
【００１９】
補助記憶装置１１０は、ＯＳ１０４、消費電力算出手段１０６などを格納する機能を有する。すなわち、補助記憶装置１１０は、本実施形態で説明する消費電力制御を実行するプログラムを格納する。補助記憶装置１１０としては、たとえば、ＨＤＤ（ハードディスクドライブ）やＣＤ−ＲＯＭ等を例示することができる。
【００２０】
消費電力算出手段１０６はアクティブＣＰＵの個数を指定する機能を有する。消費電力算出手段１０６は補助記憶装置１１０に格納されており、ＣＰＵ群１０２に含まれる少なくとも１つのＣＰＵによって読み出され、主記憶装置１０８を作業領域として実行される。消費電力算出手段１０６は消費電力検出手段１１４を内部に有する。消費電力検出手段１１４は、ＣＰＵ群１０２に含まれる各ＣＰＵで消費されている消費電力を検出する機能を有する。
【００２１】
ＡＰＩ１１２は、ＣＰＵによって主記憶装置１０８を作業領域として実行された消費電力算出手段１０６から、演算処理の実行が許可されるＣＰＵ（アクティブＣＰＵ）の個数に関する情報を受け取るインターフェイスとしての機能を有する。
【００２２】
ＣＰＵ群１０２に含まれる少なくとも１つのＣＰＵが、補助記憶装置１１０にあらかじめ格納された消費電力算出手段１０６およびその内部にある消費電力検出手段１１４を読み出して、主記憶装置１０８に書き込む。少なくとも１つのＣＰＵが主記憶装置１０８を作業領域として消費電力検出手段１１４を実行し、ＣＰＵ群１０２に含まれる各ＣＰＵで消費されている消費電力を検出し、消費電力算出手段１０６が消費電力検出手段１１４によって検出された消費電力の数値を利用する。演算処理の実行が許可されるＣＰＵ（図２に示すアクティブＣＰＵ１２２）の個数は、消費電力検出手段１１４によって検出された消費電力の数値に基づいて、ＣＰＵ群１０２に含まれる少なくとも１つのＣＰＵが、消費電力算出手段１０６を実行して算出する。
【００２３】
ＯＳ１０４内の第１消費電力制御手段１１６は、ＡＰＩ１１２によって受け取られる、消費電力算出手段１０６によって指定されたアクティブＣＰＵの個数に関する情報に基づいて、ＣＰＵ群１０２に含まれるＣＰＵの中からアクティブＣＰＵ１２２を選択する機能を有する。また、第１消費電力制御手段１１６は、第１消費電力制御手段１１６によってアクティブＣＰＵ１２２として選択されなかったＣＰＵ（図２に示すアイドルＣＰＵ１２４）の負荷をゼロとする機能を有する。すなわち、図２に示すように、ＣＰＵ群１０２の中に、アクティブＣＰＵ１２２と、アイドルＣＰＵ１２４と、が含まれる。本実施形態に係る図２において、アクティブＣＰＵ１２２の個数は（ｎ−３）個であり、アイドルＣＰＵ１２４の個数は３個である。
【００２４】
ＯＳ１０４内の第２消費電力制御手段１１８は、全てのアイドルＣＰＵ１２４のステートを、ＡＣＰＩ（Ａｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ）で定義されるＣステートから、電力消費がより抑制されるディープスリープ状態（Ｃ６ステート）へと遷移させる機能を有する。
【００２５】
以下、本実施形態に係るコンピュータの消費電力制御システム１００を用いる消費電力制御方法２００の処理手順を、図３のフローチャートを参照して説明する。
【００２６】
ＣＰＵ群１０２に含まれる少なくとも１つのＣＰＵが、補助記憶装置１１０にあらかじめ格納された消費電力算出手段１０６およびその内部にある消費電力検出手段１１４を読み出して、主記憶装置１０８に書き込む。ＣＰＵ群１０２に含まれる少なくとも１つのＣＰＵが主記憶装置１０８を作業領域として消費電力算出手段１０６を実行し、消費電力算出手段１０６内の消費電力検出手段１１４がＣＰＵ群１０２に含まれる各ＣＰＵで消費されている消費電力を検出する（ステップＳ２０１）。
【００２７】
ＣＰＵ群１０２に含まれる少なくとも１つのＣＰＵが主記憶装置１０８を作業領域として消費電力算出手段１０６を実行し、消費電力検出手段１１４によって検出された消費電力に基づいて、ＣＰＵ群１０２において削減したい電力量と、コンピュータ１０１を稼働させるために十分なＣＰＵの個数との間のバランスを取りながら、演算処理の実行が許可されるＣＰＵ（アクティブＣＰＵ１２２）の個数を算出する（ステップＳ２０２）。
【００２８】
ＣＰＵ群１０２に含まれる少なくとも１つのＣＰＵが、ステップ２０２において算出されたアクティブＣＰＵ１２２の個数に関する情報をＯＳ１０４内のＡＰＩ１１２に送信し、ＡＰＩ１１２がその情報を受け取る（ステップＳ２０３）。
【００２９】
ＯＳ１０４内の第１消費電力制御手段１１６は、ＡＰＩ１１２によって受け取られたアクティブＣＰＵの個数に関する情報に基づいて、ＣＰＵ群１０２の中からアクティブＣＰＵ１２２を選択する。第１消費電力制御手段１１６は、第１消費電力制御手段１１６によってアクティブＣＰＵ１２２として選択されなかったＣＰＵ（アイドルＣＰＵ１２４）の負荷をゼロとする（ステップＳ２０４）。
【００３０】
ＯＳ１０４内の第２消費電力制御手段１１８は、アイドルＣＰＵ１２４に含まれる全てのＣＰＵのステートを、ＡＣＰＩ（Ａｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ）で定義されるＣステートから、電力消費がより抑制されるディープスリープ状態（Ｃ６ステート）へと遷移させる（ステップＳ２０５）。
【００３１】
以上に示すように、コンピュータ１０１の消費電力制御システム１００を用いたコンピュータ１０１の消費電力制御方法２００によって、ＣＰＵのステートをＣ６ステートへと遷移させ、コンピュータの消費電力を制御することができる。
【００３２】
各コンピュータに内蔵されるＣＰＵのうち、演算処理の実行が許可されるＣＰＵ（アクティブＣＰＵ）の個数を制限することで、負荷がゼロの状態のＣＰＵ（アイドルＣＰＵ)を生じさせる。その結果、ＯＳ１０４の備える省電力機能（Ｃ６ステートへの遷移）がアイドルＣＰＵに対して動作し、コンピュータの消費電力を低減させることができる。そのため、ＣＰＵの種別やＣＰＵのＰステート操作に依存することなく、コンピュータシステムの消費電力を制御し、消費電力を抑制することができる。
【００３３】
また、本実施形態に係る消費電力制御システム１００および消費電力制御方法２００においては、第１消費電力制御手段１１６と第２消費電力制御手段１１８との２つの消費電力制御手段を用いて、多段階で消費電力が制御されている。すなわち、コンピュータ１０１の全システムがアイドル状態になるのではなく、第１消費電力制御手段１１６によって一部のＣＰＵがアイドル状態となり（アイドルＣＰＵ）、アイドルＣＰＵについてのみ第２消費電力制御手段１１８がＣＰＵのステートをディープスリープ状態に遷移させている。そのため、コンピュータ１０１の全システムが非アイドル状態においても、ＣＰＵの種別やＣＰＵのＰステート操作に依存することなく、消費電力を抑制することができる。
【００３４】
以上、本発明の実施形態について説明したが、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。
【００３５】
たとえば、本実施形態においては、消費電力算出手段１０６が補助記憶装置１１０にあらかじめ格納されていた形態について説明したが、消費電力算出手段を格納した外部媒体（ＣＤ等）を補助記憶装置に格納してもよいし、消費電力算出手段がＯＳに含まれていてもよい。また、コンピュータ１０１に上述の処理を実行させるためのコンピュータプログラムを任意の記録媒体に格納するようにしてもよい。上記コンピュータプログラムは、コンピュータ１０１に、消費電力算出手段１０６を補助記憶装置１１０から読み出し、主記憶装置１０８において消費電力算出手段１０６を実行し、消費電力算出手段１０６によって算出された消費電力に基づいてアクティブＣＰＵの個数を算出する手順と、算出されたアクティブＣＰＵの個数に基づいて、ＣＰＵ群１０２の中からアクティブＣＰＵを選択する手順と、ＣＰＵ群１０２に含まれるＣＰＵの内、アクティブＣＰＵとして選択されなかったＣＰＵのステートを変更する手順と、を実行させる。
【００３６】
また、本実施形態においては、消費電力制御システム１００が、複数のＣＰＵを有するＣＰＵ群１０２と、主記憶装置１０８と、補助記憶装置１１０と、を備えるコンピュータ１０１と、ＯＳ（オペレーティングシステム）１０４と、を備え、消費電力算出手段１０６と、第１消費電力制御手段１１６と、第２消費電力制御手段１１８と、を有する形態について説明したが、図４に示すように、消費電力制御システム５００が複数のＣＰＵを有するＣＰＵ群１０２を備え、第１消費電力制御手段１１６と、第２消費電力制御手段１１８とを有していればよい。この形態においては、コンピュータに処理を実行させるプログラムは、コンピュータに、算出されたアクティブＣＰＵの個数に基づいて、ＣＰＵ群１０２の中からアクティブＣＰＵを選択する手順と、ＣＰＵ群１０２に含まれるＣＰＵの内、アクティブＣＰＵとして選択されなかったＣＰＵのステートを変更する手順と、を実行させる。この形態においても、第１消費電力制御手段１１６と第２消費電力制御手段１１８とを用いることによって、消費電力制御システム５００はＣＰＵ群１０２で消費される電力を抑制することができる。
【００３７】
また、本実施形態においては、消費電力算出手段１０６が実行され、消費電力算出手段１０６内の消費電力検出手段１１４がＣＰＵ群１０２に含まれる各ＣＰＵで消費されている消費電力を検出し、消費電力検出手段１１４によって検出された消費電力に基づいて、演算処理の実行が許可されるアクティブＣＰＵ１２２の個数が算出される形態について説明したが、たとえば、ＣＰＵ群１０２に含まれる各ＣＰＵで消費されている消費電力を検出する機能を有する電力計などの消費電力検出手段を消費電力算出手段外部に設置してもよい。この場合、以下の方法には限定されないが、たとえば、ユーザが電力計の数値を適宜確認し、ユーザが随時消費電力削減の効果を確認しながら、ユーザがアクティブＣＰＵの個数をコンソールから入力することによって消費電力算出手段１０６に送信する。次に、ＣＰＵ群１０２に含まれる少なくとも１つのＣＰＵが、ステップＳ２０２において算出されたアクティブＣＰＵ１２２の個数に関する情報をＯＳ１０４内のＡＰＩ１１２に送信する。ＡＰＩ１１２がその情報を受け取ることによって、ＯＳ１０４内の第１消費電力制御手段１１６がアクティブＣＰＵの個数に関する情報に基づいてＣＰＵ群１０２の中からアクティブＣＰＵ１２２を選択する。
【００３８】
また、本実施形態においては、インターフェイスであるＡＰＩ１１２がアクティブＣＰＵの個数に関する情報を受け取る機能を有する形態について説明したが、たとえば、第１消費電力制御手段１１６などの他のモジュールがアクティブＣＰＵの個数に関する情報を受け取る機能をさらに有していて、ＡＰＩ１１２がＯＳ１０４内に含まれていなくてもよい。
【００３９】
また、本実施形態においては、第２消費電力制御手段１１８が、ＡＣＰＩで定義されるＰステート操作が行われるＣＰＵについて、ＡＣＰＩで定義されるＣステートからＣ６ステートへとＣＰＵのステートを遷移させることによって消費電力を抑制する形態について説明したが、第２消費電力制御手段１１８がＡＣＰＩ以外の規格で定義されたＣＰＵのステートを遷移させることによって消費電力を抑制してもよいし、Ｐステート操作が行われないＣＰＵのステートを遷移させることによって消費電力を抑制してもよい。
【実施例】
【００４０】
以下、実施例を用いて本発明を具体的に説明するが、本発明は本実施例に限定されるものではなく、様々な変形が可能とされるものである。
【００４１】
はじめに、図５を参照して、本実施例に係るコンピュータの消費電力制御システム３００の構成を説明する。消費電力制御システム３００は、コンピュータ３０１と、４個のＣＰＵを有するＣＰＵ群３０２（ＣＰＵ３０２Ａ、ＣＰＵ３０２Ｂ、ＣＰＵ３０２Ｃ、ＣＰＵ３０２Ｄ）と、４個のＣＰＵを有するＣＰＵ群３０３（ＣＰＵ３０３Ａ、ＣＰＵ３０３Ｂ、ＣＰＵ３０３Ｃ、ＣＰＵ３０３Ｄ）と、コンピュータ３０１上で動作するＯＳ（オペレーティングシステム）３０４と、メモリ３０８と、消費電力算出手段３０６を格納するＨＤＤ３１０と、を有する。
【００４２】
以下、図６のフローチャートを参照して、本実施例に係るコンピュータの消費電力制御システム３００を用いた消費電力制御方法４００の処理手順を具体的に説明する。
【００４３】
ＣＰＵ３０２Ａが、ＨＤＤ３１０にあらかじめ格納された消費電力算出手段３０６およびその内部にある消費電力検出手段３１４を読み出して、メモリ３０８に書き込む。ＣＰＵ３０２Ａがメモリ３０８を作業領域として消費電力算出手段３０６を実行し、消費電力算出手段３０６内の消費電力検出手段３１４がＣＰＵ群３０２およびＣＰＵ群３０３に含まれる８個のＣＰＵで消費されている消費電力を検出する（ステップＳ４０１）。
【００４４】
ＣＰＵ３０２Ａがメモリ３０８を作業領域として消費電力算出手段３０６を実行し、消費電力検出手段３１４によって検出されたＣＰＵの消費電力に基づいて、ＣＰＵ群３０２およびＣＰＵ群３０３において削減したい電力量と、コンピュータ３０１を稼働させるために十分なＣＰＵの個数との間のバランスを取りながら、演算処理の実行が許可されるＣＰＵ（アクティブＣＰＵ）の個数を５個と算出する（ステップＳ４０２）。
【００４５】
ＣＰＵ３０２Ａが、ステップ４０２において算出されたアクティブＣＰＵの個数（５個）に関する情報をＯＳ３０４内のＡＰＩ３１２に送信し、ＡＰＩ３１２がその情報を受け取る（ステップＳ４０３）。
【００４６】
ＯＳ３０４内の第１消費電力制御手段３１６は、ＡＰＩ３１２によって受け取られたアクティブＣＰＵの個数（５個）に関する情報に基づいて、ＣＰＵ３０２Ａ、ＣＰＵ３０２Ｂ、ＣＰＵ３０２Ｃ、ＣＰＵ３０２Ｄ、ＣＰＵ３０３Ａの５個をアクティブＣＰＵとして選択する。第１消費電力制御手段３１６は、第１消費電力制御手段３１６によってアクティブＣＰＵとして選択されなかったＣＰＵ３０３Ｂ、ＣＰＵ３０３Ｃ、ＣＰＵ３０３Ｄの３個をアイドルＣＰＵとして、ＣＰＵ３０３Ｂ、ＣＰＵ３０３Ｃ、およびＣＰＵ３０３Ｄの負荷をゼロとする（ステップＳ４０４）。
【００４７】
ＯＳ３０４に含まれる第２消費電力制御手段３１８は、アイドルＣＰＵとなったＣＰＵ３０３Ｂ、ＣＰＵ３０３Ｃ、ＣＰＵ３０３Ｄのステートを、ＡＣＰＩ（Ａｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ）で定義されるＣステートから、電力消費がより抑制されるディープスリープ状態（Ｃ６ステート）へと遷移させる（ステップＳ４０５）。
【００４８】
上記の実施形態および実施例の一部および全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００４９】
（付記１）
複数のＣＰＵを有するＣＰＵ群を備え、
算出されたアクティブＣＰＵの個数に基づいて、前記ＣＰＵ群の中から少なくとも１つのＣＰＵをアクティブＣＰＵとして選択する第１消費電力制御手段と、
前記ＣＰＵ群に含まれるＣＰＵの内、前記第１消費電力制御手段によって前記アクティブＣＰＵとして選択されなかったＣＰＵのステートを遷移させる第２消費電力制御手段と、
を有することを特徴とする消費電力制御システム。
【００５０】
（付記２）
前記ＣＰＵ群に含まれるＣＰＵはＡＣＰＩで定義されるＰステート操作が行われるＣＰＵであり、
前記第２消費電力制御手段が、前記ＣＰＵ群に含まれるＣＰＵの内、前記第１消費電力制御手段によって前記アクティブＣＰＵとして選択されなかったＣＰＵのステートを、ＡＣＰＩで定義されるＣステートからＡＣＰＩで定義されるＣ６ステートへと遷移させることを特徴とする付記１に記載の消費電力制御システム。
【００５１】
（付記３）
前記ＣＰＵ群において消費される消費電力を検出し、検出された前記消費電力に基づいてアクティブＣＰＵの個数を算出する消費電力算出手段をさらに備え、
前記第１消費電力制御手段は、前記消費電力算出手段によって算出された前記アクティブＣＰＵの個数に基づいて前記ＣＰＵ群の中から少なくとも１つのＣＰＵをアクティブＣＰＵとして選択する、
ことを特徴とする付記１または２に記載の消費電力制御システム。
【００５２】
（付記４）
前記消費電力算出手段によって算出された前記アクティブＣＰＵの個数に関する情報を受け取るインターフェイスを前記オペレーティングシステム内にさらに有する、
ことを特徴とする付記３に記載の消費電力制御システム。
【００５３】
（付記５）
前記第１消費電力制御手段が、算出された前記アクティブＣＰＵの個数に基づいて、前記ＣＰＵ群の中からアクティブＣＰＵを選択する第１ステップと、
前記第２消費電力制御手段が、前記ＣＰＵ群に含まれるＣＰＵの内、前記アクティブＣＰＵとして選択されなかったＣＰＵのステートを変更する第２ステップと、
を含むことを特徴とする、付記１乃至４のいずれか１つに記載の消費電力制御システムを用いた消費電力制御方法。
【００５４】
（付記６）
前記第１ステップの前に、
前記ＣＰＵ群に含まれる少なくとも１つのＣＰＵが、前記消費電力算出手段を補助記憶装置から読み出し、主記憶装置において前記消費電力算出手段を実行し、前記消費電力に基づいてアクティブＣＰＵの個数を算出するステップを含む、
ことを特徴とする付記５に記載の消費電力制御方法。
【００５５】
（付記７）
コンピュータに、
算出されたアクティブＣＰＵの個数に基づいて、ＣＰＵ群の中からアクティブＣＰＵを選択する手順と、
前記ＣＰＵ群に含まれるＣＰＵの内、前記アクティブＣＰＵとして選択されなかったＣＰＵのステートを変更する手順と、
を実行させるプログラム。
【符号の説明】
【００５６】
１００      消費電力制御システム
１０１      コンピュータ
１０２      ＣＰＵ群
１０４      ＯＳ
１０６      消費電力算出手段
１０８      主記憶装置
１１０      補助記憶装置
１１２      ＡＰＩ
１１４      消費電力検出手段
１１６      第１消費電力制御手段
１１８      第２消費電力制御手段
１２２      アクティブＣＰＵ
１２４      アイドルＣＰＵ
２００      消費電力制御方法
３００      消費電力制御システム
３０１      コンピュータ
３０２      ＣＰＵ群
３０２Ａ    ＣＰＵ
３０２Ｂ    ＣＰＵ
３０２Ｃ    ＣＰＵ
３０２Ｄ    ＣＰＵ
３０３      ＣＰＵ群
３０３Ａ    ＣＰＵ
３０３Ｂ    ＣＰＵ
３０３Ｃ    ＣＰＵ
３０３Ｄ    ＣＰＵ
３０４      ＯＳ
３０６      消費電力算出手段
３０８      メモリ
３１０      ＨＤＤ
３１２      ＡＰＩ
３１４      消費電力検出手段
３１６      第１消費電力制御手段
３１８      第２消費電力制御手段
４００      消費電力制御方法
５００      消費電力制御システム
【図１】
2012208579.tif 000003
【図２】
2012208579.tif 000004
【図３】
2012208579.tif 000005
【図４】
2012208579.tif 000006
【図５】
2012208579.tif 000007
【図６】
2012208579.tif 000008