(57)【要約】【課題】ワークロードの特性に合わせて、各コンポーネントに供給する電力の配分を制御することは難しい、という問題を解決すること。【解決手段】電力が供給されて所定の動作を行う複数のコンポーネントと、複数のコンポーネントのそれぞれに配分する電力の割合を制御する電力配分制御部と、複数のコンポーネントの少なくとも１つの動作状況を取得する動作状況取得部と、を有し、電力配分制御部は、複数のコンポーネントの少なくとも１つの動作状況に基づいて、予め設定された条件を満たすように複数のコンポーネントに配分する電力の割合を制御する。【選択図】図４
2016189109.tif 000002
【特許請求の範囲】
【請求項１】
電力が供給されて所定の動作を行う複数のコンポーネントと、
前記複数のコンポーネントのそれぞれに配分する電力の割合を制御する電力配分制御部と、
前記複数のコンポーネントの少なくとも1つの動作状況を取得する動作状況取得部と、
を有し、
前記電力配分制御部は、前記複数のコンポーネントの少なくとも1つの動作状況に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する
情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記電力配分制御部は、前記複数のコンポーネントに配分する電力の割合を変化させながら前記動作状況取得部により前記複数のコンポーネントの少なくとも1つの動作状況を取得して、予め設定された条件を満たす電力の割合を調べ、当該調べた割合となるように前記複数のコンポーネントに配分する電力の割合を制御する
情報処理装置。
【請求項３】
請求項１又は２に記載の情報処理装置であって、
前記動作状況取得部は、前記複数のコンポーネントの少なくとも１つの動作状況として、コンポーネントが最大性能に対してどの程度動作しているかを示すワークロード情報を取得するよう構成され、
前記電力配分制御部は、取得した前記ワークロード情報に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する
情報処理装置。
【請求項４】
請求項３に記載の情報処理装置であって、
前記電力配分制御部は、前記複数のコンポーネントに配分する電力の割合を変化させながら前記動作状況取得部により前記ワークロード情報を取得して、予め選択されたコンポーネントの最大性能に対する動作率が最も高くなる電力の割合を調べ、当該調べた割合となるように前記複数のコンポーネントに配分する電力の割合を制御する
情報処理装置。
【請求項５】
請求項３に記載の情報処理装置であって、
前記電力配分制御部は、少なくとも第１のコンポーネントと第２のコンポーネントに配分する電力の割合を変化させながら前記動作状況取得部により少なくとも第１のコンポーネントと第２のコンポーネントの前記ワークロード情報を取得して、第１のコンポーネントの最大性能に対する動作率が最も高くなる電力の割合と、第２のコンポーネントの最大性能に対する動作率が最も高くなる電力の割合と、を調べ、当該調べた２つの電力の割合の中点となるように前記複数のコンポーネントに配分する電力の割合を制御する
情報処理装置。
【請求項６】
請求項１乃至３のいずれかに記載の情報処理装置であって、
前記複数のコンポーネントを用いて所定の処理を実行するよう構成され、
前記動作状況取得部は、前記複数のコンポーネントの少なくとも１つの動作状況として、前記複数のコンポーネントを用いて所定の処理を実行する際の処理能力を示すパフォーマンス情報を取得するよう構成され、
前記電力配分制御部は、取得した前記パフォーマンス情報に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する
情報処理装置。
【請求項７】
請求項６に記載の情報処理装置であって、
前記電力配分制御部は、前記複数のコンポーネントに配分する電力の割合を変化させながら前記動作状況取得部により前記パフォーマンス情報を取得して、前記パフォーマンス情報が示す処理能力が最も高くなる電力の割合を調べ、当該調べた割合となるように前記複数のコンポーネントに配分する電力の割合を制御する
情報処理装置。
【請求項８】
請求項１乃至７のいずれかに記載の情報処理装置であって、
前記電力配分制御部が前記複数のコンポーネントに配分する電力の割合を制御する際の条件を設定する制御条件設定部を有する
情報処理装置。
【請求項９】
複数のコンポーネントの少なくとも１つの動作状況を取得し、
取得した前記複数のコンポーネントの少なくとも１つの動作状況に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する
電力制御方法。
【請求項１０】
請求項９に記載の電力制御方法であって、
前記複数のコンポーネントに配分する電力の割合を変化させながら前記複数のコンポーネントの少なくとも１つの動作状況を取得して、予め設定された条件を満たす電力の割合を調べ、当該調べた割合となるように前記複数のコンポーネントに配分する電力の割合を制御する
電力制御方法。
【請求項１１】
電力が供給されて所定の動作を行う複数のコンポーネントを有する情報処理装置に、
前記複数のコンポーネントのそれぞれに配分する電力の割合を制御する電力配分制御手段と、
前記複数のコンポーネントの少なくとも１つの動作状況を取得する動作状況取得手段と、
を実現させ、
前記電力配分制御手段は、前記複数のコンポーネントの少なくとも１つの動作状況に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する
プログラム。
【請求項１２】
請求項１１に記載のプログラムであって、
前記電力配分制御手段は、前記複数のコンポーネントに配分する電力の割合を変化させながら前記動作状況取得手段により前記複数のコンポーネントの少なくとも１つの動作状況を取得して、予め設定された条件を満たす電力の割合を調べ、当該調べた割合となるように前記複数のコンポーネントに配分する電力の割合を制御する
プログラム。
【請求項１３】
電力が供給されて所定の動作を行う複数のコンポーネントのそれぞれに配分する電力の割合を制御する電力配分制御部と、
前記複数のコンポーネントの少なくとも１つの動作状況を取得する動作状況取得部と、
を有し、
前記電力配分制御部は、前記複数のコンポーネントの少なくとも１つの動作状況に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する
制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、電力制御方法、プログラム、制御装置に関する。
【背景技術】
【０００２】
コンピュータなどの情報処理装置は、消費電力の制約下で動作する場合がある。そして、消費電力の制約下で動作する場合、情報処理装置が有する複数のコンポーネントに対して、予め許容された上限の範囲内で電力を配分することがある。
【０００３】
このような電力の分配を実現するための技術の一つとして、例えば、特許文献１がある。特許文献１には、プロセッサ、メモリ、入出力デバイスなどの複数のコンポーネントを備え、複数のコンポーネントのそれぞれに個別の電力モニタを関連づけたシステムが記載されている。特許文献１によると、上記構成により、それぞれのコンポーネントの消費電力を監視することが出来る。その結果、特許文献１によると、個別のコンポーネントの消費電力に応じて警告を発するなどの所定の制御を行うことが可能となる。また、例えば、それぞれの電力モニタが監視したそれぞれのコンポーネントの電力消費を解析して、解析結果に応じた制御を行うことが可能となる。
【０００４】
また、例えば特許文献２には、装置の特性やユーザの好みに応じて、電力の配分を動的に制御する技術が記載されている。特許文献２によると、例えば、ユーザが優先する機能に対して優先的に電力を配分する。また、特許文献２によると、例えば、利用可能な電力の減少に応じて、休止パラメータなどが制御される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−４２０９０号公報
【特許文献２】特開２００５−５１８０４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１、２に記載の技術の場合、対象のコンポーネントが処理を実行する際のワークロードの特性を考慮していない。そのため、特許文献１、２に記載の技術を用いて電力の分配を行うと、ワークロードの性能が低下してしまうおそれがあった。
【０００７】
例えば、マルチチップで構成されるプロセッサパッケージなどであって、ＣＰＵダイとメモリダイに供給する合計の消費電力の上限が定まっている場合を想定する。このとき、プロセッサ上のワークロードの特性（例えば、プロセッサ使用率など）とＣＰＵとメモリの電力バランスがあっていないと、ワークロードの性能が低下してしまうことがあった。
【０００８】
このように、各コンポーネントに配分する電力の割合によっては、ワークロードの性能が低下してしまうことがある、という問題が生じていた。
【０００９】
そこで、本発明の目的は、各コンポーネントに配分する電力の割合によっては、ワークロードの性能が低下してしまうことがある、という問題を解決する情報処理装置を提供することにある。
【課題を解決するための手段】
【００１０】
かかる目的を達成するため本発明の一形態である情報処理装置は、
電力が供給されて所定の動作を行う複数のコンポーネントと、
前記複数のコンポーネントのそれぞれに配分する電力の割合を制御する電力配分制御部と、
前記複数のコンポーネントの少なくとも１つの動作状況を取得する動作状況取得部と、
を有し、
前記電力配分制御部は、前記複数のコンポーネントの少なくとも１つの動作状況に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する
という構成を採る。
【００１１】
また、本発明の他の形態である電力制御方法は、
複数のコンポーネントの少なくとも１つの動作状況を取得し、
取得した前記複数のコンポーネントの少なくとも１つの動作状況に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する
という構成を採る。
【００１２】
また、本発明の他の形態であるプログラムは、
電力が供給されて所定の動作を行う複数のコンポーネントを有する情報処理装置に、
前記複数のコンポーネントのそれぞれに配分する電力の割合を制御する電力配分制御手段と、
前記複数のコンポーネントの少なくとも１つの動作状況を取得する動作状況取得手段と、
を実現させ、
前記電力配分制御手段は、前記複数のコンポーネントの少なくとも１つの動作状況に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する
プログラムである。
【００１３】
また、本発明の他の形態である制御装置は、
電力が供給されて所定の動作を行う複数のコンポーネントのそれぞれに配分する電力の割合を制御する電力配分制御部と、
前記複数のコンポーネントの少なくとも１つの動作状況を取得する動作状況取得部と、
を有し、
前記電力配分制御部は、前記複数のコンポーネントの少なくとも１つの動作状況に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する
という構成を採る。
【発明の効果】
【００１４】
本発明は、以上のように構成されることにより、各コンポーネントに配分する電力の割合によっては、ワークロードの性能が低下してしまうことがある、という問題を解決する情報処理装置を提供することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態に係るコンピュータの構成の一例を示すブロック図である。
【図２】本発明の第１の実施形態に係るＣＰＵチップの構成の一例を示すブロック図である。
【図３】本発明の第１の実施形態に係るノード性能コントローラの構成の一例を示すブロック図である。
【図４】本発明の第１の実施形態に係るノード性能コントローラの制御の一例を示す図である。
【図５】本発明の第１の実施形態に係る電力配分ポリシ設定ユニットで設定されるプロセッサ優先の電力配分ポリシを説明するための図である。
【図６】山登り法を説明するための図である。
【図７】本発明の第１の実施形態に係る電力配分ポリシ設定ユニットで設定されるメモリ優先の電力配分ポリシを説明するための図である。
【図８】本発明の第１の実施形態に係る電力配分ポリシ設定ユニットで設定されるバランスの電力配分ポリシを説明するための図である。
【図９】プロセッサ優先の電力配分ポリシが設定されている際のノード性能コントローラの動作の一例を示すフローチャートである。
【図１０】メモリ優先の電力配分ポリシが設定されている際のノード性能コントローラの動作の一例を示すフローチャートである。
【図１１】バランスの電力配分ポリシが設定されている際のノード性能コントローラの動作の一例を示すフローチャートである。
【図１２】電力配分ポリシや配分する電力の割合を表示する際の一例を示す図である。
【図１３】本発明の第２の実施形態に係るノード性能コントローラの制御の一例を示す図である。
【図１４】本発明の第２の実施形態に係るノード性能コントローラの動作の一例を示すフローチャートである。
【図１５】本発明の第３の実施形態に係る情報処理装置の構成の一例を示す概略ブロック図である。
【図１６】本発明の第４の実施形態に係る制御装置の構成の一例を示す概略ブロック図である。
【発明を実施するための形態】
【００１６】
［第１の実施形態］
図１は、コンピュータ１の構成の一例を示すブロック図である。図２は、ＣＰＵチップ２の構成の一例を示すブロック図である。図３は、ノード性能コントローラ３１の構成の一例を示す図である。図４は、ノード性能コントローラ３１の制御の一例を示すブロック図である。図５は、電力配分ポリシ設定ユニット３１３で設定されるプロセッサ優先の電力配分ポリシを説明するための図である。図６は、山登り法を説明するための図である。図７は、電力配分ポリシ設定ユニット３１３で設定されるメモリ優先の電力配分ポリシを説明するための図である。図８は、電力配分ポリシ設定ユニット３１３で設定されるバランスの電力配分ポリシを説明するための図である。図９は、プロセッサ優先の電力配分ポリシが設定されている際のノード性能コントローラ３１の動作の一例を示すフローチャートである。図１０は、メモリ優先の電力配分ポリシが設定されている際のノード性能コントローラ３１の動作の一例を示すフローチャートである。図１１は、バランスの電力配分ポリシが設定されている際のノード性能コントローラ３１の動作の一例を示すフローチャートである。図１２は、電力配分ポリシや配分する電力の割合を表示する際の一例を示す図である。
【００１７】
本発明の第１の実施形態では、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）チップ２に割り当てられた電力バジェットの範囲内で、ＣＰＵチップ２が有するプロセッサダイ２１とメモリダイ２２に配分する電力の割合を制御するコンピュータ１（情報処理装置）について説明する。後述するように、本実施形態におけるコンピュータ１は、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を変えながら、当該割合で電力を供給した際の動作状況（例えば、プロセッサ使用率やメモリ帯域使用率）を取得する。そして、コンピュータ１は、取得した動作状況に基づいて、予め設定された条件を満たすように、プロセッサダイ２１とメモリダイ２２に新たに配分する電力の割合を制御する。
【００１８】
図１を参照すると、本実施形態におけるコンピュータ１は、ＣＰＵチップ２と、ノードコントローラチップ３（制御装置）と、を有している。本実施形態におけるコンピュータ１は、上記構成と図示しない記憶装置などを有する情報処理装置であり、電力を供給され所定の処理を実施するよう構成されている。
【００１９】
ＣＰＵチップ２は、電力を供給されて、演算処理などの所定の処理を実行する。ＣＰＵチップ２には、当該ＣＰＵチップ２が使用することが許容される電力バジェットが割り当てられており、ＣＰＵチップ２が有する各コンポーネントには、電力バジェットの範囲内で電力が配分されることになる。
【００２０】
図２を参照すると、ＣＰＵチップ２は、例えば、プロセッサダイ２１（コンポーネントのうちの１つ）と、複数のメモリダイ２２（メモリダイ２２−１、メモリダイ２２−２、…。以下、特に区別しない場合はメモリダイ２２とする）（コンポーネントのうちの１つ）と、プロセッサダイスロットリングレジスタ２３と、メモリダイスロットリングレジスタ２４と、パフォーマンスカウンタレジスタ２５と、を有している。
【００２１】
プロセッサダイ２１は、１つ又は複数のプロセッサを有している。プロセッサダイ２１は、電力を供給されることで、演算処理などの所定の処理を実行する。本実施形態においては、上記のように、プロセッサダイ２１には、ＣＰＵチップ２に割り当てられた電力バジェットの範囲内で電力が配分されることになる。
【００２２】
なお、本実施形態においては、ＣＰＵチップ２が１つのプロセッサダイ２１を有している場合について説明する。しかしながら、ＣＰＵチップ２は、２つ以上の複数のプロセッサダイ２１を有していても構わない。
【００２３】
メモリダイ２２は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの記憶装置である。上記のように、メモリダイ２２には、ＣＰＵチップ２に割り当てられた電力バジェットの範囲内で電力が配分されることになる。
【００２４】
プロセッサダイスロットリングレジスタ２３は、プロセッサダイ２１に供給される電力を調整する際に用いられるレジスタである。プロセッサダイスロットリングレジスタ２３は、プロセッサダイ２１と接続されている。後述するノード性能コントローラ３１は、プロセッサダイスロットリングレジスタ２３を用いて、プロセッサダイ２１に供給される電力を調整する。
【００２５】
メモリダイスロットリングレジスタ２４は、メモリダイ２２に供給される電力を調整する際に用いられるレジスタである。メモリダイスロットリングレジスタ２４は、メモリダイ２２と接続されている。後述するノード性能コントローラ３１は、メモリダイスロットリングレジスタ２４を用いて、メモリダイ２２に供給される電力を調整する。
【００２６】
パフォーマンスカウンタレジスタ２５には、プロセッサダイ２１とメモリダイ２２の動作状況を示すワークロード情報が格納される。例えば、パフォーマンスカウンタレジスタ２５には、プロセッサ使用率とメモリ帯域使用率とが格納される。プロセッサ使用率は、プロセッサダイ２１における単位時間あたりの処理の実行時間の割合を示している。また、メモリ帯域使用率は、メモリダイ２２における最大性能に対するメモリ転送速度の割合を示している。後述するノード性能コントローラ３１は、パフォーマンスカウンタレジスタ２５を参照することで、プロセッサダイ２１のプロセッサ使用率とメモリダイ２２のメモリ転送速度とを取得することになる。
【００２７】
このように、ＣＰＵチップ２はプロセッサダイ２１とメモリダイ２２とを有しており、ＣＰＵチップ２が有するプロセッサダイ２１とメモリダイ２２とには、ＣＰＵチップ２に割り当てられた電力バジェットの範囲内で電力が分配される。
【００２８】
ノードコントローラチップ３は、プロセッサダイ２１とメモリダイ２２に分配する電力の割合の制御を行う。ノードコントローラチップ３は、例えば、各コンポーネント（プロセッサダイ２１、メモリダイ２２）が消費可能な電力の期待値を示す電力キャップ値を制御する。これにより、ノードコントローラチップ３は、プロセッサダイ２１とメモリダイ２２に分配する電力の制御を行う。つまり、ノードコントローラチップ３は、例えば、電力バジェットの範囲内でプロセッサダイ２１の電力キャップ値とメモリダイ２２の電力キャップ値とを制御して、プロセッサダイ２１とメモリダイ２２に供給される電力の割合を制御する。
【００２９】
なお、ノードコントローラチップ３は、上記例示した方法以外の方法を用いてプロセッサダイ２１とメモリダイ２２に供給する電力の割合を制御しても構わない。本発明は、配分する電力の割合を制御する際の方法には依存せず実施可能である。
【００３０】
ノードコントローラチップ３上では、当該ノードコントローラチップ３上のフレームワークとして、ノード性能コントローラ３１が動作する。ノード性能コントローラ３１は、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を制御する際の全体の制御を行う。図３を参照すると、ノード性能コントローラ３１は、例えば、モニタユニット３１１（動作状況取得部）と、コントローラユニット３１２（電力配分制御部）と、電力配分ポリシ設定ユニット３１３（制御条件設定部）と、を有している。
【００３１】
モニタユニット３１１は、プロセッサダイ２１とメモリダイ２２の少なくとも１つの動作状況を監視する。本実施形態におけるモニタユニット３１１は、ＣＰＵチップ２が有するパフォーマンスカウンタレジスタ２５を参照して、ワークロード情報（プロセッサダイ２１のプロセッサ使用率、メモリダイ２２のメモリ帯域使用率）を取得する。
【００３２】
なお、モニタユニット３１１は、所定時間パフォーマンスカウンタレジスタ２５を参照して、取得したプロセッサ使用率とメモリ帯域使用率との平均値を算出するよう構成しても構わない。この場合、モニタユニット３１１や後述するコントローラユニット３１２は、モニタユニット３１１が算出した平均値をプロセッサ使用率やメモリ帯域使用率として扱うことが出来る。
【００３３】
コントローラユニット３１２は、電力バジェットの範囲内でプロセッサダイ２１とメモリダイ２２に配分する電力の割合を制御する。コントローラユニット３１２は、例えば、プロセッサダイスロットリングレジスタ２３とメモリダイスロットリングレジスタ２４を用いて、プロセッサダイ２１、メモリダイ２２に対する電力キャッピングを実行することで、プロセッサダイ２１とメモリダイ２２に対する電力バジェットの配分の割合を制御する。また、本実施形態におけるコントローラユニット３１２は、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を定期的に変動させるよう構成されている。
【００３４】
また、コントローラユニット３１２は、電力バジェットの配分の割合を制御する際に、後述する電力配分ポリシ設定ユニット３１３で設定された電力配分ポリシに従って、新たに配分する電力の割合を制御する。コントローラユニット３１２が行う電力配分ポリシに従った制御の詳細については、後述する。
【００３５】
電力配分ポリシ設定ユニット３１３は、コントローラユニット３１２が配分する電力の割合を制御する際に用いる電力配分ポリシを設定する。電力配分ポリシ設定ユニット３１３は、例えば、ユーザからの制御に基づいて、下記３つの電力配分ポリシのうちのいずれか一つを設定する。
電力配分ポリシ
・プロセッサ優先
・メモリ転送量優先
・バランス
【００３６】
プロセッサ優先の電力配分ポリシは、プロセッサ使用率がピークとなる（最も高くなる）電力配分を探索するポリシである。この電力配分ポリシが選択された場合、コントローラユニット３１２は、プロセッサ使用率が最も高くなるように、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を制御する。
【００３７】
メモリ転送量優先の電力配分ポリシは、メモリ帯域使用率がピークとなる電力配分を探索するポリシである。この電力配分ポリシが選択された場合、コントローラユニット３１２は、メモリ帯域使用率が最も高くなるように、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を制御する。
【００３８】
バランスの電力配分ポリシは、プロセッサ使用率とメモリ帯域使用率のバランスをとるポリシである。この電力配分ポリシが選択された場合、コントローラユニット３１２は、プロセッサ使用率とメモリ帯域使用率がピークとなる配分を探索して、例えばその中点に、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を制御する。
【００３９】
ノード性能コントローラ３１は、このような構成により、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を制御する。つまり、図４を参照すると、モニタユニット３１１がパフォーマンスレジスタ２５を参照して、プロセッサ使用率とメモリ帯域使用率とを取得する。また、電力配分ポリシ設定ユニット３１３には、例えばユーザの制御により、電力配分ポリシが設定される。そして、コントローラユニット３１２は、モニタユニット３１１が取得したプロセッサ使用率とメモリ帯域使用率と、電力配分ポリシ設定ユニット３１３に設定された電力配分ポリシに基づいて、プロセッサダイスロットリングレジスタ２３及びメモリダイスロットリングレジスタ２４を用いて、新たに配分する電力の割合を制御する。
【００４０】
ここで、各電力配分ポリシが設定されている際のノード性能コントローラ３１による制御の詳細について説明する。
【００４１】
まず、プロセッサ優先の電力配分ポリシが設定されている場合の制御について説明する。このポリシは、例えば、図５で示すように、プロセッサ使用率が特に重要となるジョブを実施する際など、プロセッサダイ２１に配分する電力の割合を高めることでプロセッサ使用率も高まることが期待される場合に設定される。
【００４２】
この場合、上述したように、コントローラユニット３１２は、プロセッサ使用率が最も高くなるように配分する電力の割合を制御する。つまり、プロセッサ優先の電力配分ポリシが設定されている場合、コントローラユニット３１２は、予め選択されたコンポーネントであるプロセッサダイ２１のプロセッサ使用率が最も高くなるように配分する電力の割合を制御することになる。
【００４３】
この制御は、例えば、コントローラユニット３１２がプロセッサダイ２１とメモリダイ２２に配分する電力の割合を変化させながら、モニタユニット３１１によりプロセッサ使用率を取得することで行われる。
【００４４】
具体的には、例えば、モニタユニット３１１がパフォーマンスカウンタ２５を所定時間参照して、ある時点におけるプロセッサ使用率の平均値を取得する。続いて、コントローラユニット３１２が、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を１単位（例えば、１％。任意の割合で構わない）プロセッサ側に動かす。その後、モニタユニット３１１が再度パフォーマンスカウンタ２５を参照して、電力の割合を１単位プロセッサ側に動かした際のプロセッサ使用率の平均値を取得する。モニタユニット３１１及びコントローラユニット３１２は、このような制御を、新たに取得したプロセッサ使用率が配分する電力の割合を制御する前に取得したプロセッサ使用率を下回るまで続ける。
【００４５】
その後、新たに取得したプロセッサ使用率が制御前に取得したプロセッサ使用率を下回った場合に、コントローラユニット３１２は、当該制御前に取得したプロセッサ使用率がピークであると判断する。そして、コントローラユニット３１２は、当該直前に取得したプロセッサ使用率を取得した際の電力の割合に、新たな配分する電力の割合を制御する。例えば、このような山登り法（図６参照）を用いることで、コントローラユニット３１２は、プロセッサ使用率のピークを探索する。そして、コントローラユニット３１２は、当該ピークとなるようにプロセッサダイ２１とメモリダイ２２に配分する電力の割合を制御する。
【００４６】
なお、電力配分ポリシ設定ユニット３１３によりプロセッサ優先の電力配分ポリシが設定されている場合、モニタユニット３１１はメモリ帯域使用率を取得しても構わないし、取得しなくても構わない。
【００４７】
次に、メモリ転送量優先の電力配分ポリシが設定されている場合の制御について説明する。このポリシは、例えば、図７で示すように、特にメモリが必要となるジョブを実施する際など、メモリダイ２２に配分する電力の割合を高めることでメモリ帯域使用率も高まることが期待される場合に設定される。
【００４８】
この場合、上述したように、コントローラユニット３１２は、メモリ帯域使用率が最も高くなるように配分する電力の割合を制御する。つまり、メモリ転送量優先の電力配分ポリシが設定されている場合、コントローラユニット３１２は、予め選択されたコンポーネントであるメモリダイ２２のメモリ帯域使用率が最も高くなるように配分する電力の割合を制御することになる。
【００４９】
この制御は、例えば、コントローラユニット３１２がプロセッサダイ２１とメモリダイ２２に配分する電力の割合を変化させながら、モニタユニット３１１によりメモリ帯域使用率を取得することで行われる。
【００５０】
具体的には、例えば、モニタユニット３１１がパフォーマンスカウンタ２５を参照して、ある時点におけるメモリ帯域使用率の平均値を取得する。続いて、コントローラユニット３１２が、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を１単位メモリ側に動かす。その後、モニタユニット３１１が再度パフォーマンスカウンタ２５を参照して、電力の割合を１単位メモリ側に動かした際のメモリ帯域使用率の平均値を取得する。モニタユニット３１１及びコントローラユニット３１２は、このような制御を新たに取得したメモリ帯域使用率が制御前に取得したメモリ帯域使用率を下回るまで続ける。
【００５１】
その後、新たに取得したメモリ帯域使用率が制御前に取得したメモリ帯域使用率を下回った場合に、コントローラユニット３１２は、当該制御前に取得したメモリ帯域使用率がピークであると判断する。そこで、コントローラユニット３１２は、当該制御前に取得したメモリ帯域使用率を取得した際の電力の割合に、新たな配分する電力の割合を制御する。例えば、このような山登り法を用いることで、コントローラユニット３１２は、メモリ帯域使用率のピークを探索する。そして、コントローラユニット３１２は、当該ピークとなるようにプロセッサダイ２１とメモリダイ２２に配分する電力の割合を制御する。
【００５２】
このように、メモリ転送量優先の電力配分ポリシが設定されている場合の制御は、プロセッサ優先の電力配分ポリシが設定されている場合の制御と同様に、例えば山登り法を用いて行われる。
【００５３】
なお、電力配分ポリシ設定ユニット３１３によりメモリ転送量優先の電力配分ポリシが設定されている場合、モニタユニット３１１はプロセッサ使用率を取得しても構わないし、取得しなくても構わない。
【００５４】
次に、バランスの電力配分ポリシが設定されている場合の制御について説明する。このポリシは、例えば図８で示すように、ＣＰＵ使用率とメモリとが共に必要となるジョブを実施する際など、プロセッサダイ２１とメモリダイ２２に配分する電力のバランスをとることが必要となるジョブを実施する際に選択される。
【００５５】
この場合、上述したように、コントローラユニット３１２は、プロセッサ使用率とメモリ帯域使用率がピークとなる配分を探索して、例えばその中点に配分する電力の割合を制御する。
【００５６】
この制御は、例えば、コントローラユニット３１２がプロセッサダイ２１とメモリダイ２２に配分する電力の割合を変化させながら、コントローラユニット３１２によりプロセッサ使用率とメモリ帯域使用率を取得することで行われる。
【００５７】
具体的には、例えば、モニタユニット３１１がパフォーマンスカウンタ２５を参照して、ある時点におけるプロセッサ使用率、メモリ帯域使用率を取得する。また、この際に、最初にプロセッサ使用率、メモリ帯域使用率を取得した時点（例えば、配分する電力の割合の制御を開始する時点）におけるプロセッサダイ２１とメモリダイ２２に配分する電力の割合を基準点とする。続いて、コントローラユニット３１２が、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を１単位プロセッサ側（メモリ側でも構わない）に動かす。その後、モニタユニット３１１が再度パフォーマンスカウンタ２５を参照して、電力の割合を１単位メモリ側に動かした際のプロセッサ使用率とメモリ帯域使用率とを取得する。
【００５８】
モニタユニット３１１及びコントローラユニット３１２はこのような制御を、数単位（任意の数。例えば、３回）繰り返す。そして、取得されたプロセッサ使用率、メモリ帯域使用率に応じて、モニタユニット３１１及びコントローラユニット３１２は、次回の制御の内容を変更する。
【００５９】
例えば、上記制御の結果取得されたプロセッサ使用率及びメモリ帯域使用率が共に上昇していた場合、モニタユニット３１１及びコントローラユニット３１２は、上記制御が終了した時点における電力の割合から再度同じ制御を繰り返す。つまり、モニタユニット３１１によるプロセッサ使用率、メモリ帯域使用率の取得と、コントローラユニット３１２による、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を１単位プロセッサ側に動かす制御と、が続けられることになる。
【００６０】
また、上記制御の結果取得されたプロセッサ使用率及びメモリ帯域使用率が共に下降していた場合、モニタユニット３１１及びコントローラユニット３１２は、基準点（配分する電力の割合の制御を開始する時点）における電力の割合から反対（メモリ側）方向への制御を行う。つまり、モニタユニット３１１によるプロセッサ使用率、メモリ帯域使用率の取得を行うとともに、コントローラユニット３１２により、基準点からプロセッサダイ２１とメモリダイ２２に配分する電力の割合を１単位ずつメモリ側に動かす制御が行われることになる。
【００６１】
また、上記制御の結果取得されたプロセッサ使用率が上昇する一方で、メモリ帯域使用率が下降していた場合、モニタユニット３１１及びコントローラユニット３１２は、基準点（配分する電力の割合の制御を開始する時点）における電力の割合から反対（メモリ側）方向への制御を行う。つまり、モニタユニット３１１によるプロセッサ使用率、メモリ帯域使用率の取得を行うとともに、コントローラユニット３１２により、基準点からプロセッサダイ２１とメモリダイ２２に配分する電力の割合を１単位ずつメモリ側に動かす制御が行われることになる。
【００６２】
また、上記制御の結果取得されたプロセッサ使用率が下降する一方で、メモリ帯域使用率が上昇していた場合、モニタユニット３１１及びコントローラユニット３１２は、基準点（配分する電力の割合の制御を開始する時点）における電力の割合から同（プロセッサ側）方向への制御を行う。つまり、モニタユニット３１１によるプロセッサ使用率、メモリ帯域使用率の取得を行うとともに、コントローラユニット３１２により、基準点からプロセッサダイ２１とメモリダイ２２に配分する電力の割合をプロセッサ側に動かす制御が再度行われることになる。
【００６３】
モニタユニット３１１及びコントローラユニット３１２は、例えば上記のような制御を行うことにより、プロセッサ使用率とメモリ帯域使用率のピークを探索し、当該探索された２つのピークの中点にプロセッサダイ２１とメモリダイ２２に配分する電力の割合を制御する。
【００６４】
なお、コントローラユニット３１２により行われる、プロセッサダイ２１とメモリダイ２２に配分する電力の割合の制御には、ランダム性（プロセッサ側、メモリ側の方向が変わる、一度に数単位動く、など）が導入されても構わない。また、コントローラユニット３１２は、例えば、プロセッサダイ２１とメモリダイ２２に配分する電力の割合をランダムに変更しながら、２つのピークの中点を探索しても構わない。このように、コントローラユニット３１２は、プロセッサ使用率及びメモリ帯域使用率のピークを探索し、その中点にプロセッサダイ２１とメモリダイ２２に配分する電力の割合を制御可能であれば、様々な方法を用いることが出来る。
【００６５】
以上のように、本実施形態におけるノード性能コントローラ３１は、ハードからの情報（プロセッサ使用率やメモリ帯域使用率）に基づいて、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を制御するよう構成されている。
【００６６】
次に、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を制御する際の動作について図９乃至図１１で示すフローチャートを参照して説明する。
【００６７】
まずは、図９を参照して、プロセッサ優先の電力配分ポリシが設定されている場合の動作について説明する。
【００６８】
図９を参照すると、モニタユニット３１１がパフォーマンスカウンタ２５を参照する。これにより、モニタユニット３１１は、プロセッサ使用率を取得する（ステップＳ１０１）。
【００６９】
続いて、コントローラユニット３１２がプロセッサダイ２１とメモリダイ２２に配分する電力の割合を１単位プロセッサ側に動かす（ステップＳ１０２）。この制御は、例えば、コントロールユニット３１２がプロセッサダイスロットリングレジスタ２３とメモリダイスロットリングレジスタ２４を用いて行うことになる。
【００７０】
その後、モニタユニット３１１が再度パフォーマンスカウンタ２５を参照する。これにより、モニタユニット３１１は、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を１単位プロセッサ側に動かした際のプロセッサ使用率を取得する（ステップＳ１０３）。
【００７１】
そして、コントローラユニット３１２（又は、ノード性能コントローラ３１）は、新しいプロセッサ使用率（プロセッサダイ２１とメモリダイ２２に配分する電力の割合を１単位プロセッサ側に動かした際のプロセッサ使用率）と制御前のプロセッサ使用率（プロセッサダイ２１とメモリダイ２２に配分する電力の割合を１単位プロセッサ側に動かす前のプロセッサ使用率）とを比較する（ステップＳ１０４）。
【００７２】
そして、新しいプロセッサ使用率が制御前のプロセッサ使用率よりも大きかった場合（ステップＳ１０４、ｙｅｓ）、コントローラユニット３１２は、再度プロセッサダイ２１とメモリダイ２２に配分する電力の割合を１単位プロセッサ側に動かす（ステップＳ１０２）。その後、再度モニタユニット３１１によりプロセッサ使用率が取得され（ステップＳ１０３）、同様の比較が行われることになる。
【００７３】
一方、新しいプロセッサ使用率が制御前のプロセッサ使用率以下であった場合（ステップＳ１０４、ｎｏ）、コントローラユニット３１２は、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を、制御前のプロセッサ使用率を取得した際の電力の割合に制御する（ステップＳ１０５）。
【００７４】
プロセッサ優先の電力配分ポリシが設定されている場合、ノード性能コントローラ３１は、例えば上記のような動作により、プロセッサ使用率がピークとなる電力配分を探索して、プロセッサ使用率が最も高くなるように配分する電力の割合を制御する。
【００７５】
次に、図１０を参照して、メモリ転送量優先の電力配分ポリシが設定されている場合の動作について説明する。
【００７６】
図１０を参照すると、モニタユニット３１１がパフォーマンスカウンタ２５を参照する。これにより、モニタユニット３１１は、メモリ帯域使用率を取得する（ステップＳ２０１）。
【００７７】
続いて、コントローラユニット３１２がプロセッサダイ２１とメモリダイ２２に配分する電力の割合を１単位メモリ側に動かす（ステップＳ２０２）。この制御は、例えば、コントロールユニット３１２がプロセッサダイスロットリングレジスタ２３とメモリダイスロットリングレジスタ２４を用いて行うことになる。
【００７８】
その後、モニタユニット３１１が再度パフォーマンスカウンタ２５を参照する。これにより、モニタユニット３１１は、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を１単位メモリ側に動かした際のメモリ帯域使用率を取得する（ステップＳ２０３）。
【００７９】
そして、コントローラユニット３１２（又は、ノード性能コントローラ３１）は、新しいメモリ帯域使用率（プロセッサダイ２１とメモリダイ２２に配分する電力の割合を１単位メモリ側に動かした際のメモリ帯域使用率）と制御前のメモリ帯域使用率（プロセッサダイ２１とメモリダイ２２に配分する電力の割合を１単位メモリ側に動かす前のメモリ帯域使用率）とを比較する（ステップＳ２０４）。
【００８０】
そして、新しいメモリ帯域使用率が制御前のメモリ帯域使用率よりも大きかった場合（ステップＳ２０４、ｙｅｓ）、コントローラユニット３１２は、再度プロセッサダイ２１とメモリダイ２２に配分する電力の割合を１単位メモリ側に動かす（ステップＳ２０２）。その後、再度モニタユニット３１１によりメモリ帯域使用率が取得され（ステップＳ２０３）、同様の比較が行われることになる。
【００８１】
一方、新しいメモリ帯域使用率が直前のメモリ帯域使用率以下であった場合（ステップＳ２０４、ｎｏ）、コントローラユニット３１２は、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を、制御前のメモリ帯域使用率を取得した際の電力の割合に制御する（ステップＳ２０５）。
【００８２】
メモリ転送量優先の電力配分ポリシが設定されている場合、ノード性能コントローラ３１は、例えば上記のような動作により、メモリ帯域使用率がピークとなる電力配分を探索して、メモリ帯域使用率が最も高くなるように配分する電力の割合を制御する。
【００８３】
次に、図１１を参照して、バランスの電力配分ポリシが設定されている場合の動作について説明する。
【００８４】
図１１を参照すると、モニタユニット３１１がパフォーマンスカウンタ２５を参照する。これにより、モニタユニット３１１は、プロセッサ使用率、メモリ帯域使用率を取得する（ステップＳ３０１）。
【００８５】
続いて、コントローラユニット３１２がプロセッサダイ２１とメモリダイ２２に配分する電力の割合を１単位プロセッサ側に動かす（ステップＳ３０２）。この制御は、例えば、コントロールユニット３１２がプロセッサダイスロットリングレジスタ２３とメモリダイスロットリングレジスタ２４を用いて行うことになる。
【００８６】
その後、モニタユニット３１１が再度パフォーマンスカウンタ２５を参照する。これにより、モニタユニット３１１は、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を１単位プロセッサ側に動かした際のプロセッサ使用率とメモリ帯域使用率を取得する（ステップＳ３０３）。
【００８７】
モニタユニット３１１及びコントローラユニット３１２は、上記配分する電力の割合を変更する動作と、プロセッサ使用率とメモリ帯域使用率を取得する動作を所定数回（例えば、３回）繰り返す（ステップＳ３０４）。そして、上記動作を所定数回繰り返した後（ステップＳ３０４、ｙｅｓ）、モニタユニット３１１及びコントローラユニット３１２は、取得されたプロセッサ使用率、メモリ帯域使用率に応じて、次回の制御の内容を変更する（ステップＳ３０５）。
【００８８】
例えば、上記制御の結果取得されたプロセッサ使用率及びメモリ帯域使用率が共に上昇していた場合、モニタユニット３１１及びコントローラユニット３１２は、上記制御が終了した時点における電力の割合から再度同じ制御を繰り返す。また、例えば、上記制御の結果取得されたプロセッサ使用率及びメモリ帯域使用率が共に下降していた場合、モニタユニット３１１及びコントローラユニット３１２は、基準点（配分する電力の割合の制御を開始する時点）における電力の割合から反対（メモリ側）方向への制御を行う。また、例えば、上記制御の結果取得されたプロセッサ使用率が上昇する一方で、メモリ帯域使用率が下降していた場合、モニタユニット３１１及びコントローラユニット３１２は、基準点（配分する電力の割合の制御を開始する時点）における電力の割合から反対方向（メモリ側）方向への制御を行う。また、例えば、上記制御の結果取得されたプロセッサ使用率が下降する一方で、メモリ帯域使用率が上昇していた場合、モニタユニット３１１及びコントローラユニット３１２は、基準点（配分する電力の割合の制御を開始する時点）における電力の割合から同方向（プロセッサ側）方向への制御を行う。
【００８９】
このように、モニタユニット３１１及びコントローラユニット３１２は、変更された制御の内容で再度配分する電力の割合を変更しながらプロセッサ使用率、メモリ帯域使用率を取得する。そして、モニタユニット３１１及びコントローラユニット３１２は、その結果を受けて、再度制御内容の変更を行う。
【００９０】
バランスの電力配分ポリシが設定されている場合、ノード性能コントローラ３１は、例えば上記のような動作により、プロセッサ使用率とメモリ帯域使用率がピークとなる電力配分を探索して、その２点の中点に配分する電力の割合を制御する。
【００９１】
なお、コントローラユニット３１２により行われる、プロセッサダイ２１とメモリダイ２２に配分する電力の割合の制御には、ランダム性（プロセッサ側、メモリ側の方向が変わる、一度に数単位動く、など）が導入されても構わない。
【００９２】
以上が、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を制御する際の動作の一例である。
【００９３】
このように、本実施形態におけるコンピュータ１は、ノード性能コントローラ３１上にモニタユニット３１１とコントローラユニット３１２とを有している。このような構成により、ノード性能コントローラ３１は、コントローラユニット３１２がプロセッサダイ２１とメモリダイ２２に配分する電力の割合を変化させながら、モニタユニット３１１によりプロセッサ使用率やメモリ帯域使用率を取得することが出来る。その結果、ノード性能コントローラ３１は、電力配分ポリシ設定ユニット３１３に設定されている電力配分ポリシを満たすように、配分する電力の割合を制御することが出来る。これにより、ノード性能コントローラ３１は、ワークロードの性能に合うように、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を制御することが可能となる。
【００９４】
なお、電力配分ポリシ設定ユニット３１３により設定される電力配分ポリシやノード性能コントローラ３１により調整される配分する電力の比率は、例えば、図１２に示すように、ＣＰＵ使用率などを表示する際に表示するよう構成することが出来る。
【００９５】
また、本実施形態においては、ノードコントローラチップ３上のフレームワークとしてノード性能コントローラ３１が動作するとした。しかしながら、ノード性能コントローラ３１の実現手段は、本実施形態に例示した場合に限定されない。ノード性能コントローラ３１は、例えば、コンピュータ１で動作するオペレーティングシステム上に実現されても構わない。
【００９６】
また、本実施形態においては、電力配分ポリシ設定ユニット３１３は、例えばユーザからの制御により電力配分ポリシを設定するとした。しかしながら、電力配分ポリシ設定ユニット３１３が電力配分ポリシを設定する手段は、上記場合に限定されない。電力配分ポリシ設定ユニット３１３は、例えば、ＣＰＵチップ２で実行する処理の内容に応じて自動で電力配分ポリシを設定するように構成しても構わない。
【００９７】
また、本実施形態においては、コンピュータ１が１つのＣＰＵチップ２を有する場合について説明した。しかしながら、コンピュータ１は、２つ以上の複数のＣＰＵチップ２を有していても構わない。
【００９８】
また、プロセッサ優先、メモリ優先の電力配分ポリシが設定されている場合のノード性能コントローラ３１による制御の方法は、本実施形態で例示した場合に限定されない。ノード性能コントローラ３１は、例えば、動作状況の取得と配分する電力の割合の制御とを数回行った後、取得した動作状況（プロセッサ使用率、メモリ帯域使用率）が上昇しているか、下降しているかで次回の制御内容を変更するように構成しても構わない。このとき、例えば、動作状況が上昇した場合、ノード性能コントローラ３１は、制御が終了した時点における電力の割合から再度同じ制御を繰り返すよう配分する電力の割合を制御するよう構成することが出来る。一方、動作状況が下降した場合、ノード性能コントローラ３１は、基準点における電力の割合から反対（メモリ側）方向へ配分する電力の割合を制御するよう構成することが出来る。また、ノード性能コントローラ３１による制御の方法は、山登り法に限られない。ノード性能コントローラ３１は、最良優先探索など、様々な方法を用いるよう構成することが出来る。
【００９９】
［第２の実施形態］
本発明の第２の実施形態では、ＣＰＵチップ２に割り当てられた電力バジェットの範囲内で、ＣＰＵチップ２が有するプロセッサダイ２１とメモリダイ２２に配分する電力の割合を制御するコンピュータ５について説明する。本実施形態におけるコンピュータ５はＣＰＵチップ２で実行するジョブのパフォーマンス情報（スループットなど）を取得するように構成されている。後述するように、本実施形態におけるコンピュータ５は、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を変えながら、当該割合で電力を供給してジョブを実行する際のパフォーマンス情報を取得する。そして、コンピュータ５は、取得したパフォーマンス情報に基づいて、ＣＰＵチップ２において実行されるジョブのパフォーマンスが最もよくなるように、プロセッサダイ２１とメモリダイ２２に新たに配分する電力の割合を制御する。
【０１００】
本実施形態におけるコンピュータ５は、第１の実施形態で説明したコンピュータ１と概ね同様の構成を有している。つまり、コンピュータ５は、ＣＰＵチップ２と、ノードコントローラ３と、を有している（図１参照）。また、ＣＰＵチップ２は、プロセッサダイ２１とメモリダイ２２とプロセッサダイスロットリングレジスタ２３とメモリダイスロットリングレジスタ２４とパフォーマンスカウンタレジスタ２５とを有している（図２参照）。そして、ノードコントローラ３上のノード性能コントローラ３１は、モニタユニット３１１とコントローラユニット３１２と電力配分ポリシ設定ユニット３１３とを有している（図３参照）。
【０１０１】
このように、本実施形態におけるコンピュータ５は、第１の実施形態で説明したコンピュータ１と概ね同様の構成を有している。一方、コンピュータ５は、ＣＰＵチップ２で実行するジョブの処理能力を示すパフォーマンス情報を取得して、当該パフォーマンス情報に基づいて、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を制御する点がコンピュータ１と異なっている。以下、第１の実施形態と異なる点について詳細に説明する。
【０１０２】
図１３を参照すると、本実施形態におけるコンピュータ５は、上記構成に加えて、ジョブスケジューラ４（動作状況取得部の一つ）を有している。ジョブスケジューラ４は、例えば、コンピュータ５で動作するオペレーティングシステム上に実現されている。
【０１０３】
ジョブスケジューラ４は、ＣＰＵチップ２で実行するジョブを管理する。また、ジョブスケジューラ４は、ＣＰＵチップ２でジョブを実行する際に、当該実行するジョブのパフォーマンス情報を定期的に取得する。パフォーマンス情報は、ベンチマークやＧＦＬＯＰＳ（ＧｉｇａＦＬＯＰＳ、ギガフロップス）、顔を認識する処理を実行する際の顔の認識数など、ＣＰＵチップ２で実行するジョブに応じた情報である。パフォーマンス情報は、ＣＰＵチップ２上で実行するジョブの単位時間当たりの処理能力を示している。
【０１０４】
ジョブスケジューラ４は、図１３で示すように、ノード性能コントローラ３１からの指示に応じて、取得したパフォーマンス情報をノード性能コントローラ３１へ送信する。なお、ジョブスケジューラ４は、ノード性能コントローラ３１からの指示に応じて、現時間区間（例えば、送信する指示を受信したときから５秒前までなど）の全パフォーマンス情報の平均値をノード性能コントローラ３１へ送信するように構成しても構わない。
【０１０５】
上記のように、本実施形態におけるノード性能コントローラ３１（又は、コントローラユニット３１２）は、ジョブスケジューラ４に対してパフォーマンス情報を送信するよう指示する。
【０１０６】
また、本実施形態におけるコントローラユニット３１２は、パフォーマンス情報が示す処理能力が最も高くなるように配分する電力の割合を制御する。
【０１０７】
この制御は、例えば、コントローラユニット３１２がプロセッサダイ２１とメモリダイ２２に配分する電力の割合を変化させながら、ジョブスケジューラ４によりパフォーマンス情報を取得することで行われる。
【０１０８】
具体的には、例えば、ジョブスケジューラ４がＣＰＵチップ２で実行するジョブのパフォーマンス情報を取得する。また、この際に、ノード性能コントローラ３１は、最初にパフォーマンス情報を取得した時点（例えば、配分する電力の割合の制御を開始する時点）におけるプロセッサダイ２１とメモリダイ２２に配分する電力の割合を基準点とする。続いて、コントローラユニット３１２が、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を１単位プロセッサ側に動かす。その後、ジョブスケジューラ４が再度パフォーマンス情報を取得する。
【０１０９】
ジョブスケジューラ４及びコントローラユニット３１２はこのような制御を、数単位繰り返す。そして、取得されたパフォーマンス情報に応じて、ジョブスケジューラ４及びコントローラユニット３１２は、次回の制御の内容を変更する。
【０１１０】
例えば、上記制御の結果取得されたパフォーマンス情報が示す処理能力が上昇していた場合、ジョブスケジューラ４及びコントローラユニット３１２は、上記制御が終了した時点における電力の割合から再度同じ方向への制御を繰り返す。つまり、ジョブスケジューラ４によるパフォーマンス情報の取得と、コントローラユニット３１２による、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を１単位プロセッサ側に動かす制御と、が続けられることになる。
【０１１１】
また、上記制御の結果取得されたパフォーマンス情報が示す処理能力が下降していた場合、ジョブスケジューラ４及びコントローラユニット３１２は、基準点（配分する電力の割合の制御を開始する時点）における電力の割合から反対（メモリ側）方向への制御を行う。つまり、ジョブスケジューラ４によりパフォーマンス情報の取得を行うとともに、コントローラユニット３１２により、基準点からプロセッサダイ２１とメモリダイ２２に配分する電力の割合を１単位ずつメモリ側に動かす制御が行われることになる。
【０１１２】
ジョブスケジューラ４及びコントローラユニット３１２は、例えば上記のような制御を行うことにより、パフォーマンス情報が示す処理能力のピークを探索し、当該探索されたピークにプロセッサダイ２１とメモリダイ２２に配分する電力の割合を制御する。なお、ジョブスケジューラ４及びコントローラユニット３１２は、例えば、配分する電力の割合の制御とパフォーマンス情報の取得とを、新たに取得したパフォーマンス情報が制御前のパフォーマンス情報を下回るまで続けることでパフォーマンス情報が示す処理能力のピークを探索するように構成しても構わない。
【０１１３】
以上のように、本実施形態におけるノード性能コントローラ３１は、ソフトからの情報（パフォーマンス情報）に基づいて、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を制御するよう構成されている。
【０１１４】
次に、本実施形態においてプロセッサダイ２１とメモリダイ２２に配分する電力の割合を制御する際の動作について図１４で示すフローチャートを参照して説明する。
【０１１５】
図１４を参照すると、ジョブスケジューラ４がパフォーマンス情報を取得する（ステップＳ４０１）。
【０１１６】
続いて、コントローラユニット３１２がプロセッサダイ２１とメモリダイ２２に配分する電力の割合を１単位プロセッサ側に動かす（ステップＳ４０２）。この制御は、例えば、コントロールユニット３１２がプロセッサダイスロットリングレジスタ２３とメモリダイスロットリングレジスタ２４を用いて行うことになる。
【０１１７】
その後、ジョブスケジューラ４が再度パフォーマンス情報を取得する（ステップＳ４０３）。
【０１１８】
ジョブスケジューラ４及びコントローラユニット３１２は、上記配分する電力の割合を変更する動作と、パフォーマンス情報を取得する動作を所定数回（例えば、３回）繰り返す（ステップＳ４０４）。そして、上記動作を所定数回繰り返した後（ステップＳ４０４、ｙｅｓ）、ジョブスケジューラ４及びコントローラユニット３１２は、取得されたパフォーマンス情報に応じて、次回の制御の内容を変更する（ステップＳ４０５）。
【０１１９】
例えば、上記制御の結果取得されたパフォーマンス情報が上昇していた場合、ジョブスケジューラ４及びコントローラユニット３１２は、上記制御が終了した時点における電力の割合から再度同じ方向への制御を行う。また、例えば、上記制御の結果取得されたパフォーマンス情報が下降していた場合、ジョブスケジューラ４及びコントローラユニット３１２は、基準点（配分する電力の割合の制御を開始する時点）における電力の割合から反対（メモリ側）方向への制御を行う。
【０１２０】
このように、ジョブスケジューラ４及びコントローラユニット３１２は、変更された制御の内容で再度配分する電力の割合を変更しながらパフォーマンス情報を取得する。そして、ジョブスケジューラ４及びコントローラユニット３１２は、その結果を受けて、再度制御内容の変更を行う。
【０１２１】
本実施形態におけるノード性能コントローラ３１は、例えば上記のような動作により、パフォーマンス情報が示す処理能力がピークとなる電力配分を探索して、配分する電力の割合を制御する。
【０１２２】
以上が、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を制御する際の動作の一例である。
【０１２３】
このように、本実施形態におけるコンピュータ５は、ジョブスケジューラ４を有している。このような構成により、ノード性能コントローラ３１は、コントローラユニット３１２がプロセッサダイ２１とメモリダイ２２に配分する電力の割合を変化させながら、ジョブスケジューラ４によりパフォーマンス情報を取得することが出来る。その結果、ノード性能コントローラ３１は、パフォーマンス情報が示す処理能力が最大になるように、配分する電力の割合を制御することが出来る。これにより、ノード性能コントローラ３１は、ワークロードの性能により合うように、プロセッサダイ２１とメモリダイ２２に配分する電力の割合を制御することが可能となる。
【０１２４】
なお、電力配分ポリシ設定ユニット３１３は、モニタユニット３１１が取得したプロセッサ使用率、メモリ帯域使用率、などに基づいて配分する電力の割合の制御を行うか、ジョブスケジューラ４が取得したパフォーマンス情報に基づいて配分する電力の制御を行うか、を選択可能なよう構成しても構わない。
【０１２５】
また、本実施形態におけるコンピュータ５は、パフォーマンスカウンタレジスタ２５やモニタユニット３１１を有するとした。しかしながら、コンピュータ５は、パフォーマンスカウンタレジスタ２５やモニタユニット３１１を有していなくても構わない。
【０１２６】
［第３の実施形態］
本発明の第３の実施形態では、電力を複数のコンポーネントのそれぞれに分配する情報処理装置６について説明する。本実施形態においては、情報処理装置６の構成の概要について説明する。
【０１２７】
図１５を参照すると、本実施形態における情報処理装置６は、複数のコンポーネント６１と、電力配分制御部６２と、動作状況取得部６３と、を有している。
【０１２８】
複数のコンポーネント６１は、電力を供給されて所定の動作を行う。
【０１２９】
電力配分制御部６２は、複数のコンポーネントのそれぞれに配分する電力の割合を制御する。具体的には、電力配分制御部６２は、後述する動作状況取得部６３が取得した複数のコンポーネントの少なくとも１つの動作状況に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する。
【０１３０】
動作状況取得部６３は、複数のコンポーネント６１の少なくとも１つの動作状況を取得する。
【０１３１】
このように、本実施形態における情報処理装置６は、電力配分制御部６２と、動作状況取得部６３と、を有している。このような構成により、動作状況取得部６３は、複数のコンポーネント６１の少なくとも１つの動作状況を取得することが出来る。その結果、電力配分制御部６２は、動作状況取得部６３が取得した動作状況に基づいて、予め設定された条件を満たすように複数のコンポーネント６１に配分する電力の割合を制御することが出来る。これにより、電力配分制御部６２は、複数のコンポーネント６１で実行されるワークロードの性能に合うように、複数のコンポーネント６１に配分する電力の割合を制御することが可能となる。
【０１３２】
また、上述した情報処理装置６は、情報処置装置６に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、電力を供給されて所定の動作を行う複数のコンポーネントを有する情報処理装置に、複数のコンポーネントのそれぞれに配分する電力の割合を制御する電力配分制御手段と、複数のコンポーネントの少なくとも１つの動作状況を取得する動作状況取得手段と、を実現させ、電力配分制御手段は、複数のコンポーネントの少なくとも１つの動作状況に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する、プログラムである。
【０１３３】
また、上述した情報処理装置６が作動することにより実行される電力制御方法は、複数のコンポーネントの少なくとも１つの動作状況を取得し、取得した複数のコンポーネントの少なくとも１つの動作状況に基づいて、予め設定された条件を満たすように複数のコンポーネントに配分する電力の割合を制御する、という方法である。
【０１３４】
上述した構成を有する、プログラム、又は、電力制御方法、の発明であっても、上記情報処理装置６と同様の作用を有するために、上述した本発明の目的を達成することが出来る。
【０１３５】
［第４の実施形態］
本発明の第４の実施形態では、電力を複数のコンポーネントのそれぞれに分配する制御装置７について説明する。本実施形態においては、制御装置７の構成の概要について説明する。
【０１３６】
図１６を参照すると、本実施形態における制御装置７は、電力配分制御部７１と、動作状況取得部７２と、を有している。
【０１３７】
電力配分制御部７１は、複数のコンポーネントのそれぞれに配分する電力の割合を制御する。具体的には、電力配分制御部７１は、後述する動作状況取得部７２が取得した複数のコンポーネントの少なくとも１つの動作状況に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する。
【０１３８】
動作状況取得部７２は、複数のコンポーネントの少なくとも１つの動作状況を取得する。
【０１３９】
このように、本実施形態における制御装置７は、電力配分制御部７１と、動作状況取得部７２と、を有している。このような構成により、動作状況取得部７２は、複数のコンポーネントの少なくとも１つの動作状況を取得することが出来る。その結果、電力配分制御部７１は、動作状況取得部７２が取得した動作状況に基づいて、予め設定された条件を満たすように複数のコンポーネントに配分する電力の割合を制御することが出来る。これにより、電力配分制御部７１は、複数のコンポーネントで実行されるワークロードの性能に合うように、複数のコンポーネントに配分する電力の割合を制御することが可能となる。
【０１４０】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における情報処理装置などの概略を説明する。但し、本発明は、以下の構成に限定されない。
【０１４１】
（付記１）
電力が供給されて所定の動作を行う複数のコンポーネントと、
前記複数のコンポーネントのそれぞれに配分する電力の割合を制御する電力配分制御部と、
前記複数のコンポーネントの少なくとも１つの動作状況を取得する動作状況取得部と、
を有し、
前記電力配分制御部は、前記複数のコンポーネントの少なくとも１つの動作状況に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する
情報処理装置。
【０１４２】
（付記２）
付記１に記載の情報処理装置であって、
前記電力配分制御部は、前記複数のコンポーネントに配分する電力の割合を変化させながら前記動作状況取得部により前記複数のコンポーネントの少なくとも１つの動作状況を取得して、予め設定された条件を満たす電力の割合を調べ、当該調べた割合となるように前記複数のコンポーネントに配分する電力の割合を制御する
情報処理装置。
【０１４３】
（付記３）
付記１又は２に記載の情報処理装置であって、
前記動作状況取得部は、前記複数のコンポーネントの少なくとも１つの動作状況として、コンポーネントが最大性能に対してどの程度動作しているかを示すワークロード情報を取得するよう構成され、
前記電力配分制御部は、取得した前記ワークロード情報に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する
情報処理装置。
【０１４４】
（付記４）
付記３に記載の情報処理装置であって、
前記電力配分制御部は、前記複数のコンポーネントに配分する電力の割合を変化させながら前記動作状況取得部により前記ワークロード情報を取得して、予め選択されたコンポーネントの最大性能に対する動作率が最も高くなる電力の割合を調べ、当該調べた割合となるように前記複数のコンポーネントに配分する電力の割合を制御する
情報処理装置。
【０１４５】
（付記５）
付記３に記載の情報処理装置であって、
前記電力配分制御部は、少なくとも第１のコンポーネントと第２のコンポーネントに配分する電力の割合を変化させながら前記動作状況取得部により少なくとも前記第１のコンポーネントと第２のコンポーネントの前記ワークロード情報を取得して、第１のコンポーネントの最大性能に対する動作率が最も高くなる電力の割合と、第２のコンポーネントの最大性能に対する動作率が最も高くなる電力の割合と、を調べ、当該調べた２つの電力の割合の中点となるように前記複数のコンポーネントに配分する電力の割合を制御する
情報処理装置。
【０１４６】
（付記６）
付記１乃至３のいずれかに記載の情報処理装置であって、
前記複数のコンポーネントを用いて所定の処理を実行するよう構成され、
前記動作状況取得部は、前記複数のコンポーネントの少なくとも１つの動作状況として、前記複数のコンポーネントを用いて所定の処理を実行する際の処理能力を示すパフォーマンス情報を取得するよう構成され、
前記電力配分制御部は、取得した前記パフォーマンス情報に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する
情報処理装置。
【０１４７】
（付記７）
付記６に記載の情報処理装置であって、
前記電力配分制御部は、前記複数のコンポーネントに配分する電力の割合を変化させながら前記動作状況取得部により前記パフォーマンス情報を取得して、前記パフォーマンス情報が示す処理能力が最も高くなる電力の割合を調べ、当該調べた割合となるように前記複数のコンポーネントに配分する電力の割合を制御する
情報処理装置。
【０１４８】
（付記８）
付記１乃至７のいずれかに記載の情報処理装置であって、
前記電力配分制御部が前記複数のコンポーネントに配分する電力の割合を制御する際の条件を設定する制御条件設定部を有する
情報処理装置。
【０１４９】
（付記９）
複数のコンポーネントの少なくとも１つの動作状況を取得し、
取得した前記複数のコンポーネントの少なくとも１つの動作状況に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する
電力制御方法。
【０１５０】
（付記１０）
付記９に記載の電力制御方法であって、
前記複数のコンポーネントに配分する電力の割合を変化させながら前記複数のコンポーネントの少なくとも１つの動作状況を取得して、予め設定された条件を満たす電力の割合を調べ、当該調べた割合となるように前記複数のコンポーネントに配分する電力の割合を制御する
電力制御方法。
【０１５１】
（付記１１）
電力が供給されて所定の動作を行う複数のコンポーネントを有する情報処理装置に、
前記複数のコンポーネントのそれぞれに配分する電力の割合を制御する電力配分制御手段と、
前記複数のコンポーネントの少なくとも１つの動作状況を取得する動作状況取得手段と、
を実現させ、
前記電力配分制御手段は、前記複数のコンポーネントの少なくとも１つの動作状況に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する
プログラム。
【０１５２】
（付記１２）
付記１１に記載のプログラムであって、
前記電力配分制御手段は、前記複数のコンポーネントに配分する電力の割合を変化させながら前記動作状況取得手段により前記複数のコンポーネントの少なくとも１つの動作状況を取得して、予め設定された条件を満たす電力の割合を調べ、当該調べた割合となるように前記複数のコンポーネントに配分する電力の割合を制御する
プログラム。
【０１５３】
（付記１３）
電力が供給されて所定の動作を行う複数のコンポーネントのそれぞれに配分する電力の割合を制御する電力配分制御部と、
前記複数のコンポーネントの少なくとも１つの動作状況を取得する動作状況取得部と、
を有し、
前記電力配分制御部は、前記複数のコンポーネントの少なくとも１つの動作状況に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する
制御装置。
【０１５４】
なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されていたりする。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【０１５５】
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。
【符号の説明】
【０１５６】
１、５  コンピュータ
２  ＣＰＵチップ
２１  プロセッサダイ
２２  メモリダイ
２３  プロセッサダイスロットリングレジスタ
２４  メモリダイスロットリングレジスタ
２５  パフォーマンスカウンタレジスタ
３  ノードコントローラチップ
３１  ノード性能コントローラ
３１１  モニタユニット
３１２  コントローラユニット
３１３  電力配分ポリシ設定ユニット
４  ジョブスケジューラ
６  情報処理装置
６１  コンポーネント
６２  電力配分制御部
６３  動作状況取得部
７  制御装置
７１  電力配分制御部
７２  動作状況取得部
【図１】
2016189109.tif 000003
【図２】
2016189109.tif 000004
【図３】
2016189109.tif 000005
【図４】
2016189109.tif 000006
【図５】
2016189109.tif 000007
【図６】
2016189109.tif 000008
【図７】
2016189109.tif 000009
【図８】
2016189109.tif 000010
【図９】
2016189109.tif 000011
【図１０】
2016189109.tif 000012
【図１１】
2016189109.tif 000013
【図１２】
2016189109.tif 000014
【図１３】
2016189109.tif 000015
【図１４】
2016189109.tif 000016
【図１５】
2016189109.tif 000017
【図１６】
2016189109.tif 000018
【手続補正書】
【提出日】平成28年7月8日(2016.7.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
電力が供給されて所定の動作を行う複数のコンポーネントと、
前記複数のコンポーネントのそれぞれに配分する電力の割合を制御する電力配分制御部と、
前記複数のコンポーネントの少なくとも1つの動作状況を取得する動作状況取得部と、
前記電力配分制御部が前記複数のコンポーネントに配分する電力の割合を制御する際の条件を設定する制御条件設定部と、
を有し、
前記電力配分制御部は、前記制御条件設定部にて設定された前記条件に応じた前記複数のコンポーネントの動作状況に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する
情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記電力配分制御部は、前記複数のコンポーネントに配分する電力の割合を変化させながら前記動作状況取得部により前記複数のコンポーネントの少なくとも1つの動作状況を取得して、予め設定された条件を満たす電力の割合を調べ、当該調べた割合となるように前記複数のコンポーネントに配分する電力の割合を制御する
情報処理装置。
【請求項３】
請求項１又は２に記載の情報処理装置であって、
前記動作状況取得部は、前記複数のコンポーネントの少なくとも１つの動作状況として、コンポーネントが最大性能に対してどの程度動作しているかを示すワークロード情報を取得するよう構成され、
前記電力配分制御部は、取得した前記ワークロード情報に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する
情報処理装置。
【請求項４】
請求項３に記載の情報処理装置であって、
前記電力配分制御部は、前記複数のコンポーネントに配分する電力の割合を変化させながら前記動作状況取得部により前記ワークロード情報を取得して、予め選択されたコンポーネントの最大性能に対する動作率が最も高くなる電力の割合を調べ、当該調べた割合となるように前記複数のコンポーネントに配分する電力の割合を制御する
情報処理装置。
【請求項５】
請求項３に記載の情報処理装置であって、
前記電力配分制御部は、少なくとも第１のコンポーネントと第２のコンポーネントに配分する電力の割合を変化させながら前記動作状況取得部により少なくとも第１のコンポーネントと第２のコンポーネントの前記ワークロード情報を取得して、第１のコンポーネントの最大性能に対する動作率が最も高くなる電力の割合と、第２のコンポーネントの最大性能に対する動作率が最も高くなる電力の割合と、を調べ、当該調べた２つの電力の割合の中点となるように前記複数のコンポーネントに配分する電力の割合を制御する
情報処理装置。
【請求項６】
請求項１又は２に記載の情報処理装置であって、
前記複数のコンポーネントを用いて所定の処理を実行するよう構成され、
前記動作状況取得部は、前記複数のコンポーネントの少なくとも１つの動作状況として、前記複数のコンポーネントを用いて所定の処理を実行する際の処理能力を示すパフォーマンス情報を取得するよう構成され、
前記電力配分制御部は、取得した前記パフォーマンス情報に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する
情報処理装置。
【請求項７】
請求項６に記載の情報処理装置であって、
前記電力配分制御部は、前記複数のコンポーネントに配分する電力の割合を変化させながら前記動作状況取得部により前記パフォーマンス情報を取得して、前記パフォーマンス情報が示す処理能力が最も高くなる電力の割合を調べ、当該調べた割合となるように前記複数のコンポーネントに配分する電力の割合を制御する
情報処理装置。
【請求項８】
複数のコンポーネントに配分する電力の割合を制御する際の条件を設定され、
複数のコンポーネントの少なくとも１つの動作状況を取得し、
設定された前記条件に応じた前記複数のコンポーネントの動作状況に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する
電力制御方法。
【請求項９】
請求項８に記載の電力制御方法であって、
前記複数のコンポーネントに配分する電力の割合を変化させながら前記複数のコンポーネントの少なくとも１つの動作状況を取得して、予め設定された条件を満たす電力の割合を調べ、当該調べた割合となるように前記複数のコンポーネントに配分する電力の割合を制御する
電力制御方法。
【請求項１０】
電力が供給されて所定の動作を行う複数のコンポーネントを有する情報処理装置に、
前記複数のコンポーネントのそれぞれに配分する電力の割合を制御する電力配分制御手段と、
前記複数のコンポーネントの少なくとも1つの動作状況を取得する動作状況取得手段と、
前記電力配分制御手段が前記複数のコンポーネントに配分する電力の割合を制御する際の条件を設定する制御条件設定手段と、
を有し、
前記電力配分制御手段は、前記制御条件設定手段にて設定された前記条件に応じた前記複数のコンポーネントの動作状況に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する
プログラム。
【請求項１１】
請求項１１に記載のプログラムであって、
前記電力配分制御手段は、前記複数のコンポーネントに配分する電力の割合を変化させながら前記動作状況取得手段により前記複数のコンポーネントの少なくとも１つの動作状況を取得して、予め設定された条件を満たす電力の割合を調べ、当該調べた割合となるように前記複数のコンポーネントに配分する電力の割合を制御する
プログラム。
【請求項１２】
電力が供給されて所定の動作を行う複数のコンポーネントのそれぞれに配分する電力の割合を制御する電力配分制御部と、
前記複数のコンポーネントの少なくとも１つの動作状況を取得する動作状況取得部と、
前記電力配分制御部が前記複数のコンポーネントに配分する電力の割合を制御する際の条件を設定する制御条件設定部と、
を有し、
前記電力配分制御部は、前記制御条件設定部にて設定された前記条件に応じた前記複数のコンポーネントの動作状況に基づいて、予め設定された条件を満たすように前記複数のコンポーネントに配分する電力の割合を制御する
制御装置。