(57)【要約】      （修正有）【課題】電力の制約の下で情報処理装置の性能を効果的に高める。【解決手段】本電力制御システムは、電源ユニット１０１と、プロセッサ１０３と、メモリ１０５と、制御装置１１３とを有する。そして、制御装置は、電源ユニットが出力する電力が第１閾値を超えた場合、プロセッサに対して動作周波数の低下を指示し、電源ユニットが出力した電力をプロセッサに出力する電源に対して電圧の低下を指示し、メモリのコントローラに対してメモリへのアクセスの頻度の低下を指示する第１制御部と、プロセッサに出力される電力が第２閾値以下であり且つメモリに出力される電力が第３閾値以下である場合、プロセッサに対して動作周波数の上昇を指示し、電源に対して電圧の上昇を指示し、メモリのコントローラに対してメモリへのアクセスの頻度の上昇を指示する第２制御部とを有する。【選択図】図１
2019101870.tif 000002
【特許請求の範囲】
【請求項１】
電源ユニットと、
プロセッサと、
メモリと、
制御装置と、
を有し、
前記制御装置は、
前記電源ユニットが出力する電力が第１閾値を超えた場合、前記プロセッサに対して動作周波数の低下を指示し、前記電源ユニットが出力した電力を前記プロセッサに出力する電源に対して電圧の低下を指示し、前記メモリのコントローラに対して前記メモリへのアクセスの頻度の低下を指示する第１制御部と、
前記プロセッサに出力される電力が第２閾値以下であり且つ前記メモリに出力される電力が第３閾値以下である場合、前記プロセッサに対して動作周波数の上昇を指示し、前記電源に対して電圧の上昇を指示し、前記メモリのコントローラに対して前記メモリへのアクセスの頻度の上昇を指示する第２制御部と、
を有する電力制御システム。
【請求項２】
冷却ファン
をさらに有し、
前記第１制御部は、
前記冷却ファンに対して回転数の減少の指示をさらに送信し、
前記第２制御部は、
前記冷却ファンに出力される電力が第４閾値以下である場合、前記冷却ファンに対して回転数の増加の指示をさらに送信する、
請求項１記載の電力制御システム。
【請求項３】
補助記憶装置
をさらに有し、
前記第１制御部は、
前記補助記憶装置のコントローラに対して前記補助記憶装置へのアクセスの頻度の低下の指示をさらに送信する、
請求項１又は２記載の電力制御システム。
【請求項４】
前記電源ユニットは、
前記電源ユニットが出力する電力が前記第１閾値を超えたか判定する判定部と、
前記電源ユニットが出力する電力が前記第１閾値を超えたと前記判定部により判定された場合、前記電源ユニットが出力する電力が前記第１閾値を超えたことを示す信号を前記制御装置に対して送信する出力部と、
を有する請求項１乃至３のいずれか１つ記載の電力制御システム。
【請求項５】
前記電源ユニットは、
前記電源ユニットが出力する電力を、前記電源ユニットが出力する電圧及び電流から算出する算出部
をさらに有する請求項４記載の電力制御システム。
【請求項６】
前記第２閾値は前記プロセッサに出力される電力の下限値であり、前記第３閾値は前記メモリに出力される電力の下限値である、
請求項１乃至５のいずれか１つ記載の電力制御システム。
【請求項７】
情報処理装置のハードウエアを制御する制御装置のプロセッサに、
前記情報処理装置の電源ユニットが出力する電力が第１閾値を超えた場合、前記情報処理装置のプロセッサに対して動作周波数の低下を指示し、前記電源ユニットが出力した電力を前記情報処理装置のプロセッサに出力する電源に対して電圧の低下を指示し、前記情報処理装置のメモリのコントローラに対して前記メモリへのアクセスの頻度の低下を指示し、
前記情報処理装置のプロセッサに出力される電力が第２閾値以下であり且つ前記メモリに出力される電力が第３閾値以下である場合、前記情報処理装置のプロセッサに対して動作周波数の上昇を指示し、前記電源に対して電圧の上昇を指示し、前記メモリのコントローラに対して前記メモリへのアクセスの頻度の上昇を指示する、
処理を実行させる電力制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電力制御技術に関する。
【背景技術】
【０００２】
データセンタにおいては、電力消費の抑制のためサーバ等の情報処理装置が消費する電力に制約（例えば消費電力の上限値）が設定されることがある。
【０００３】
情報処理装置のＰＳＵ（Power Supply Unit）が出力する電力は、ＣＰＵ（Central Processing Unit）等のプロセッサが実行するアプリケーションプログラムの動作によって変動する。従って、アプリケーションプログラムの動作状況によっては、情報処理装置の消費電力が上限値を超える。一方で、ＣＰＵ等のハードウエアデバイスに供給する電力を制限し過ぎると、情報処理装置の性能は劣化する。
【０００４】
情報処理装置の消費電力の抑制に関して、ＣＰＵの動作モードを変更することでＣＰＵの最大消費電力を制御し、ＰＣ（Personal Computer）の消費電力を抑制する技術がある。但し、この技術は最大消費電力として予測値を使用するため、消費電力が適切に抑制されるか否かは予測の精度に依存する。
【０００５】
また、電力が供給される複数のコンポーネントの少なくとも１つの動作状況に基づいて複数のコンポーネントに配分する電力の割合を制御する技術がある。但し、複数のコンポーネントに配分する電力の割合の制御によっては情報処理装置の消費電力を適切に制御できない場合がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−１７２３８７号公報
【特許文献２】特開２０１６−１８９１０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、１つの側面では、電力の制約の下で情報処理装置の性能を効果的に高めるための技術を提供することである。
【課題を解決するための手段】
【０００８】
一態様に係る電力制御システムは、電源ユニットと、プロセッサと、メモリと、制御装置とを有する。そして、上記制御装置は、電源ユニットが出力する電力が第１閾値を超えた場合、プロセッサに対して動作周波数の低下を指示し、電源ユニットが出力した電力をプロセッサに出力する電源に対して電圧の低下を指示し、メモリのコントローラに対してメモリへのアクセスの頻度の低下を指示する第１制御部と、プロセッサに出力される電力が第２閾値以下であり且つメモリに出力される電力が第３閾値以下である場合、プロセッサに対して動作周波数の上昇を指示し、電源に対して電圧の上昇を指示し、メモリのコントローラに対してメモリへのアクセスの頻度の上昇を指示する第２制御部とを有する。
【発明の効果】
【０００９】
１つの側面では、電力の制約の下で情報処理装置の性能を効果的に高めることができるようになる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本実施の形態の情報処理装置の構成図である。
【図２】図２は、制御部の構成図である。
【図３】図３は、制御部の機能ブロック図である。
【図４】図４は、データ格納部に格納される管理データの一例を示す図である。
【図５】図５は、ＰＳＵの構成図である。
【図６】図６は、ＰＳＵが実行する処理の処理フローを示す図である。
【図７】図７は、制御部が実行する処理の処理フローを示す図である。
【図８】図８は、電圧の低下指示を受信したＣＰＵ電源が実行する処理の処理フローを示す図である。
【図９】図９は、周波数の低下指示を受信したＣＰＵが実行する処理の処理フローを示す図である。
【図１０】図１０は、動作の抑制指示を受信した装置が実行する処理の処理フローを示す図である。
【図１１】図１１は、動作状態の変更について説明するための図である。
【図１２】図１２は、制御部が実行する処理の処理フローを示す図である。
【図１３】図１３は、電圧の上昇指示を受信したＣＰＵ電源が実行する処理の処理フローを示す図である。
【図１４】図１４は、周波数の上昇指示を受信したＣＰＵが実行する処理の処理フローを示す図である。
【図１５】図１５は、動作の促進指示を受信した装置が実行する処理の処理フローを示す図である。
【図１６】図１６は、本実施の形態における電力制御の一例を示す図である。
【発明を実施するための形態】
【００１１】
図１は、本実施の形態の情報処理装置１０００の構成図である。例えばサーバ或いはＰＣ等である情報処理装置１０００は、ＰＳＵ１０１と、ＣＰＵ電源１０２と、ＣＰＵ１０３と、メモリ電源１０４と、メモリ１０５と、ＳＳＤ（Solid State Drive）電源１０６と、ＳＳＤ１０７と、ファン電源１０８と、ファン１０９と、装置電源１１０と、その他の装置１１１と、制御部電源１１２と、制御部１１３とを有する。メモリ１０５は、例えばＤＲＡＭ（Dynamic Random Access Memory）である。ファン１０９はＣＰＵ１０３を冷却する装置である。その他の装置１１１とは、例えば、外部Ｉ／Ｏ（Input/Output）装置、ネットワーク装置及びアラーム監視装置等である。制御部１１３は、例えばサービスプロセッサとして動作する。
【００１２】
ＰＳＵ１０１は、ＡＣ（Alternating Current）電圧をＤＣ（Direct Current）電圧に変換し、ＤＣ電圧を、ＣＰＵ電源１０２とメモリ電源１０４とＳＳＤ電源１０６とファン電源１０８と装置電源１１０と制御部電源１１２とに供給する。
【００１３】
ＣＰＵ電源１０２は、ＰＳＵ１０１が出力したＤＣ電圧をＣＰＵ１０３用の電圧に変換してＣＰＵ１０３に出力する。メモリ電源１０４は、ＰＳＵ１０１が出力したＤＣ電圧をメモリ１０５用の電圧に変換してメモリ１０５に出力する。ＳＳＤ電源１０６は、ＰＳＵ１０１が出力したＤＣ電圧をＳＳＤ１０７用の電圧に変換してＳＳＤ１０７に出力する。ファン電源１０８は、ＰＳＵ１０１が出力したＤＣ電圧をファン１０９用の電圧に変換してファン１０９に出力する。装置電源１１０は、ＰＳＵ１０１が出力したＤＣ電圧をその他の装置１１１用の電圧に変換してその他の装置１１１に出力する。制御部電源１１２は、ＰＳＵ１０１が出力したＤＣ電圧を制御部１１３用の電圧に変換して制御部１１３に出力する。
【００１４】
ＰＳＵ１０１は、ＰＳＵ１０１が出力する電力が閾値を超えた場合、ＰＳＵ１０１が出力する電力が閾値を超えたことを示す信号（以下、電力超過信号と呼ぶ）を制御部１１３に送信する。
【００１５】
制御部１１３は、ＰＳＵ１０１からの電力超過信号と、ＣＰＵ電源１０２、メモリ電源１０４、ＳＳＤ電源１０６、ファン電源１０８、装置電源１１０及び制御部電源１１２の出力電圧及び出力電流とに基づき、電圧の変更指示及び動作状態の変更指示を送信する。電圧の変更指示はＣＰＵ１０３に送信される。動作状態の変更指示は、ＣＰＵ１０３と、メモリ１０５、ＳＳＤ１０７、ファン１０９及びその他の装置１１１のうち少なくともいずれかとに送信される。動作状態の変更指示は、動作の抑制指示と動作の促進指示とを含む。
【００１６】
図２は、制御部１１３の構成図である。制御部１１３は、プロセッサ１１３１と、メモリ１１３２とを有する。
【００１７】
図３は、制御部１１３の機能ブロック図である。制御部１１３は、第１制御部１１３１１と、第２制御部１１３１２と、データ格納部１１３２１とを含む。本実施の形態の処理を実行するためのプログラムは、メモリ１１３２にロードされてプロセッサ１１３１に実行されることで第１制御部１１３１１及び第２制御部１１３１２を実現する。データ格納部１１３２１は、例えばメモリ１１３２に設けられる。
【００１８】
第１制御部１１３１１は、電力超過信号をＰＳＵ１０１から受信した場合、電圧の低下指示をＣＰＵ電源１０２に送信し、動作の抑制指示をＣＰＵ１０３、メモリ１０５、ＳＳＤ１０７、ファン１０９及びその他の装置１１１に送信する。第２制御部１１３１２は、ＣＰＵ電源１０２、メモリ電源１０４、ＳＳＤ電源１０６、ファン電源１０８及び装置電源１１０の出力電流及び出力電圧から算出された出力電力と、データ格納部１１３２１に格納されている下限値及び上限値とを比較する。各電源の出力電力が所定条件を満たした場合、第２制御部１１３１２は、電圧の上昇指示をＣＰＵ電源１０２に送信し、動作の促進指示をＣＰＵ１０３とメモリ１０５、ＳＳＤ１０７、ファン１０９、その他の装置１１１及び制御部１１３のうち少なくともいずれか（本実施の形態においては、メモリ１０５及びファン１０９）とに送信する。
【００１９】
図４は、データ格納部１１３２１に格納される管理データの一例を示す図である。図４の例では、制御部１１３以外の各装置について電力管理値が格納される。電力管理値は、電力の下限値と上限値とを含む。本実施の形態においては、各装置の電力値が下限値と上限値との間に収まるように制御が行われる。
【００２０】
図５は、ＰＳＵ１０１の構成図である。ＰＳＵ１０１は、出力ライン１０１１と、抵抗１０１２と、検出回路１０１３と、電力算出回路１０１４と、判定回路１０１５と、信号送出回路１０１６と、入力ライン１０１７とを有する。
【００２１】
出力ライン１０１１には抵抗１０１２が設定されており、抵抗１０１２の出力側の電圧値はＶ1であり、抵抗１０１２の内部側の電圧値はＶ0である。出力ライン１０１１の電流値はＩである。検出回路１０１３は、ＰＳＵ１０１の出力電圧及び出力電流を検出する。出力電圧はＶ1であり、出力電流Ｉは（Ｖ0−Ｖ1）／Ｒにより算出される。Ｒは抵抗１０１２の抵抗値である。電力算出回路１０１４は、Ｖ1＊（Ｖ0−Ｖ1）／Ｒにより出力電力Ｐ1を算出する。判定回路１０１５は、出力電力Ｐ1と電力閾値Ｐ0との比較に基づき、電力超過信号を出力するか否かを判定する。信号送出回路１０１６は、判定回路１０１５の判定結果に従って電力超過信号を制御部１１３に送信する。ＡＣ電圧は入力ライン１０１７から入力される。
【００２２】
次に、本実施の形態の情報処理装置１０００の動作について説明する。
【００２３】
図６は、ＰＳＵ１０１が実行する処理の処理フローを示す図である。
【００２４】
検出回路１０１３は、ＰＳＵ１０１の出力電圧Ｖ1及び出力電流Ｉを検出する（図６：ステップＳ１）。上で述べたように、出力電流Ｉは（Ｖ0−Ｖ1）／Ｒにより算出される。
【００２５】
電力算出回路１０１４は、検出回路１０１３により検出された出力電圧Ｖ1及び出力電流Ｉに基づき、出力電力Ｐ1を算出する（ステップＳ３）。上で述べたように、出力電力Ｐ1はＶ1＊（Ｖ0−Ｖ1）／Ｒにより算出される。
【００２６】
判定回路１０１５は、電力算出回路１０１４により算出された出力電力Ｐ1が電力閾値Ｐ0（例えば１０００Ｗ（ワット））を超えているか判定する（ステップＳ５）。
【００２７】
出力電力Ｐ1が電力閾値Ｐ0を超えていない場合（ステップＳ５：Ｎｏルート）、処理はステップＳ９に移行する。一方、出力電力Ｐ1が電力閾値Ｐ0を超えている場合（ステップＳ５：Ｙｅｓルート）、信号送出回路１０１６は、電力超過信号を制御部１１３に送信する（ステップＳ７）。
【００２８】
検出回路１０１３は、処理を終了すべき（例えば、情報処理装置１０００の停止指示が入力された）か判定する（ステップＳ９）。処理を終了すべきではない場合（ステップＳ９：Ｎｏルート）、処理はステップＳ１に移行する。一方、処理を終了すべき場合（ステップＳ９：Ｙｅｓルート）、処理は終了する。
【００２９】
以上のように、本実施の形態においてはＰＳＵ１０１自体が出力電力の監視を実行するので、出力電力を監視するためのモジュールなどをＰＳＵ１０１とは別に設けることなく電力監視の機構を実現できるようになる。また、上で述べたようにすれば、出力電力を高精度で求めることができるようになる。
【００３０】
図７は、制御部１１３が実行する処理の処理フローを示す図である。
【００３１】
第１制御部１１３１１は、電力超過信号をＰＳＵ１０１から受信するまで待機し（図７：ステップＳ１１）、電力超過信号をＰＳＵ１０１から受信する（ステップＳ１３）。
【００３２】
第１制御部１１３１１は、ＣＰＵ電源１０２に電圧の低下指示を送信する（ステップＳ１５）。
【００３３】
ここで、電圧の低下指示を受信したＣＰＵ電源１０２が実行する処理について説明する。図８は、電圧の低下指示を受信したＣＰＵ電源１０２が実行する処理の処理フローを示す図である。
【００３４】
ＣＰＵ電源１０２は、電圧の低下指示を制御部１１３から受信する（図８：ステップＳ３１）。
【００３５】
ＣＰＵ電源１０２は、ＣＰＵ１０３に出力する電圧を低下させる（ステップＳ３３）。そして処理は終了する。なお、ＣＰＵ電源１０２は、例えば制御部１１３から電圧低下の停止を指示されるまで、電圧を低下させる。
【００３６】
図７の説明に戻り、第１制御部１１３１１は、ＣＰＵ１０３に周波数の低下指示を送信する（ステップＳ１７）。
【００３７】
ここで、周波数の低下指示を受信したＣＰＵ１０３が実行する処理について説明する。図９は、周波数の低下指示を受信したＣＰＵ１０３が実行する処理の処理フローを示す図である。
【００３８】
ＣＰＵ１０３は、周波数の低下指示を制御部１１３から受信する（図９：ステップＳ４１）。
【００３９】
ＣＰＵ１０３は、動作周波数（クロック周波数とも呼ばれる）を、例えばＤＶＦＳ（Dynamic Voltage and Frequency Scaling）等により低下させる（ステップＳ４３）。そして処理は終了する。なお、ＣＰＵ１０３は、例えば制御部１１３から周波数低下の停止を指示されるまで、動作周波数を低下させる。
【００４０】
図７の説明に戻り、ステップＳ１５及びＳ１７の処理により、ＣＰＵ電源１０２からの出力電力は減少する。第１制御部１１３１１は、ＣＰＵ１０３の電力が図４に示した下限値以下になったことを確認すると、ＣＰＵ１０３以外の装置（具体的には、メモリ１０５、ＳＳＤ１０７、ファン１０９及びその他の装置１１１）に動作の抑制指示を送信する（ステップＳ１９）。動作の抑制指示は、周波数の低下指示と同様、装置の動作の抑制により電流を減少させるための指示である。なお、ステップＳ１９の時点において、第１制御部１１３１１は、電圧低下の停止をＣＰＵ電源１０２に指示し、周波数低下の停止をＣＰＵ１０３に指示してもよい。
【００４１】
ここで、動作の抑制指示を受信した装置が実行する処理について説明する。図１０は、動作の抑制指示を受信した装置が実行する処理の処理フローを示す図である。ファン１０９の処理を例として説明するが、ファン１０９以外の装置についても同様の処理が実行される。
【００４２】
ファン１０９は、動作の抑制指示を制御部１１３から受信する（図１０：ステップＳ５１）。
【００４３】
ファン１０９は、動作を抑制する（具体的には、ファン１０９の回転数を減少させる）（ステップＳ５３）。そして処理は終了する。なお、ファン１０９は、例えば制御部１１３から動作抑制の停止を指示されるまで、動作を抑制する。
【００４４】
図１１は、動作状態の変更について説明するための図である。本実施の形態においては、動作状態の変更として、動作の促進と動作の抑制とが実行される。ＣＰＵ１０３の場合、動作の促進として動作周波数を上昇させ、動作の抑制として動作周波数を低下させる。メモリ１０５の場合、動作の促進としてメモリコントローラによるアクセスの頻度を上げ、動作の抑制としてメモリコントローラによるアクセスの頻度を下げる。ＳＳＤ１０７の場合、動作の促進としてＳＳＤ１０７のコントローラによるアクセスの頻度を上げ、動作の抑制としてＳＳＤ１０７のコントローラによるアクセスの頻度を下げる。外部Ｉ／Ｏ装置の場合、動作の促進としてアクセスの頻度を上げ、動作の抑制としてアクセスの頻度を下げる。ネットワーク装置の場合、動作の促進として通信速度を上げ、動作の抑制として通信速度を下げる。アラーム監視装置の場合、動作の促進として監視頻度を上げ、動作の抑制として監視頻度を下げる。なお、外部Ｉ／Ｏ装置とは、例えばＰＣＩ（Peripheral Component Interconnect）カードである。ネットワーク装置とは、例えばルータ或いはスイッチ等であり、これらのネットワーク装置は実際には情報処理装置１０００の外部に設置される。アラーム監視装置は、異常時に発せられるアラームの発生を監視して異常の発生を制御部１１３に通知する装置である。
【００４５】
図７の説明に戻り、ステップＳ１９の処理により、メモリ電源１０４、ＳＳＤ電源１０６及びファン電源１０８及び装置電源１１０からの出力電力は減少する。第２制御部１１３１２は、ＣＰＵ電源１０２、メモリ電源１０４、ＳＳＤ電源１０６及びファン電源１０８及び装置電源１１０からの出力電力を監視し、各装置（ここでは、ＣＰＵ１０３、メモリ１０５、ＳＳＤ１０７、ファン１０９及びその他の装置１１１）への出力電力が所定条件を満たすか判定する（ステップＳ２１）。所定条件とは、各装置への出力電力が図４に示した下限値以下であるという条件である。
【００４６】
各装置への出力電力が所定条件を満たさない場合（ステップＳ２１：Ｎｏルート）、処理はステップＳ２１に戻る。一方、各装置への出力電力が所定条件を満たす場合（ステップＳ２１：Ｙｅｓルート）、第２制御部１１３１２は、以下の処理を実行する。具体的には、第２制御部１１３１２は、ＣＰＵ１０３以外の装置のうち動作を促進させる装置を特定する（ステップＳ２３）。本実施の形態においては、ＣＰＵ１０３の性能に及ぼす影響が相対的に大きい装置であるメモリ１０５及びファン１０９が特定される。そして処理は端子Ａを介して図１２のステップＳ２５に移行する。なお、ステップＳ２３の時点において、第１制御部１１３１１は、動作抑制の停止をＣＰＵ１０３以外の装置に指示してもよい。
【００４７】
図１２の説明に移行し、第２制御部１１３１２は、ＣＰＵ電源１０２に電圧の上昇指示を送信する（図１２：ステップＳ２５）。
【００４８】
ここで、電圧の上昇指示を受信したＣＰＵ電源１０２が実行する処理について説明する。図１３は、電圧の上昇指示を受信したＣＰＵ電源１０２が実行する処理の処理フローを示す図である。
【００４９】
ＣＰＵ電源１０２は、電圧の上昇指示を制御部１１３から受信する（図１３：ステップＳ６１）。
【００５０】
ＣＰＵ電源１０２は、ＣＰＵ１０３に出力する電圧を上昇させる（ステップＳ６３）。そして処理は終了する。なお、ＣＰＵ電源１０２は、例えば制御部１１３から電圧上昇の停止を指示されるまで又は制御部１１３から電圧低下を指示されるまで、電圧を上昇させる。電圧上昇の停止は、例えば、ＣＰＵ電源１０２からの出力電力が上限値に達した場合に指示される。
【００５１】
図１２の説明に戻り、第２制御部１１３１２は、ＣＰＵ１０３に周波数の上昇指示を送信する（ステップＳ２６）。
【００５２】
ここで、周波数の上昇指示を受信したＣＰＵ１０３が実行する処理について説明する。図１４は、周波数の上昇指示を受信したＣＰＵ１０３が実行する処理の処理フローを示す図である。
【００５３】
ＣＰＵ１０３は、周波数の上昇指示を制御部１１３から受信する（図１４：ステップＳ７１）。
【００５４】
ＣＰＵ１０３は、動作周波数を上昇させる（ステップＳ７３）。そして処理は終了する。なお、ＣＰＵ１０３は、例えば制御部１１３から周波数上昇の停止を指示されるまで又は制御部１１３から周波数低下を指示されるまで、動作周波数を上昇させる。周波数上昇の停止は、例えば、ＣＰＵ電源１０２からの出力電力が上限値に達した場合に指示される。
【００５５】
図１２の説明に戻り、第２制御部１１３１２は、ステップＳ２３において特定された装置（ここでは、メモリ１０５及びファン１０９）に動作の促進指示を送信する（ステップＳ２７）。動作の促進指示は、周波数の上昇指示と同様、装置の動作を促進するための指示であり、動作の促進により電流は増加する。
【００５６】
ここで、動作の促進指示を受信した装置が実行する処理について説明する。図１５は、動作の促進指示を受信した装置が実行する処理の処理フローを示す図である。ファン１０９の処理を例として説明するが、ファン１０９以外の装置についても同様の処理が実行される。
【００５７】
ファン１０９は、動作の促進指示を制御部１１３から受信する（図１５：ステップＳ８１）。
【００５８】
ファン１０９は、動作を促進する（具体的には、ファン１０９の回転数を増加させる）（ステップＳ８３）。そして処理は終了する。なお、ファン１０９は、例えば制御部１１３から動作促進の停止を指示されるまで又は制御部１１３から動作抑制を指示されるまで、動作を促進する。動作促進の停止は、例えば、ファン電源１０８からの出力電力が上限値に達した場合に指示される。
【００５９】
図１２の説明に戻り、第１制御部１１３１１は、処理を終了すべき（例えば、情報処理装置１０００の停止指示が入力された）か判定する（ステップＳ２８）。処理を終了すべきではない場合（ステップＳ２８：Ｎｏルート）、処理は端子Ｂを介して図７のステップＳ１１に戻る。一方、処理を終了すべき場合（ステップＳ２８：Ｙｅｓルート）、処理は終了する。
【００６０】
図１６は、本実施の形態における電力制御の一例を示す図である。図１６においては各状態における各装置の電力が示されている。なお、制御部１１３の電力は一定で５０Ｗであるとする。状態は、Ａ、Ｂ、Ｃ、Ｄ、Ｅの順に遷移する。状態Ａにおいて、ＣＰＵ１０３の電力は２８５Ｗであり、メモリ１０５の電力は９５Ｗであり、ＳＳＤ１０７の電力は９５Ｗであり、ファン１０９の電力は２８５Ｗであり、その他の装置１１１の電力は１４０Ｗであり、制御部１１３の電力は５０Ｗであり、合計の電力は９５０Ｗである。合計の電力は電力閾値（ここでは１０００Ｗ）より小さいので、ＰＳＵ１０１は電力超過信号を送出しない。
【００６１】
状態は、状態ＡにおいてＣＰＵ１０３の電力が増えることで状態Ｂに遷移する。なお、電力の消費は、例えばＣＰＵ１０３の処理負荷の上昇等によって電流が増えることによって増える。状態ＢにおいてはＣＰＵ１０３の電力が３５７Ｗであり、ＣＰＵ１０３以外の装置の電力は状態Ａの時の電力と同じであり、合計の電力は１０２２Ｗである。合計の電力は電力閾値より大きいので、ＰＳＵ１０１は電力超過信号を送出する。
【００６２】
電力超過信号を受信した制御部１１３はＣＰＵ１０３の電圧を低下させ、また、ＣＰＵ１０３の動作周波数を低下させる。すると、状態は状態ＢにおいてＣＰＵ１０３の電力が減ることで状態Ｃに遷移する。状態ＣにおいてはＣＰＵ１０３の電力が２５０Ｗであり、ＣＰＵ１０３以外の装置の電力は状態Ｂの時の電力と同じであり、合計の電力は９１５Ｗである。
【００６３】
ＣＰＵ１０３の電力が下限値以下になったことが確認されると、メモリ１０５、ＳＳＤ１０７、ファン１０９及びその他の装置１１１の動作が抑制される。すると、状態は状態ＣにおいてＣＰＵ１０３以外の装置の電力が減ることで状態Ｄに遷移する。状態ＤにおいてはＣＰＵ１０３の電力が２５０Ｗであり状態Ｃの時の電力と同じである。メモリ１０５の電力は８４Ｗであり、ＳＳＤ１０７の電力は８４Ｗであり、ファン１０９の電力は２５０Ｗであり、その他の装置１１１の電力は１１７Ｗであり、制御部１１３の電力は５０Ｗであり、合計の電力は８３５Ｗである。
【００６４】
各装置の電力が下限値以下になったので、ＣＰＵ１０３の周波数を上昇させ、ＣＰＵ１０３の演算性能に対して及ぼす影響が相対的に大きいメモリ１０５及びファン１０９の動作を促進される。また、ＣＰＵ１０３への出力電圧を上昇させる。すると、状態は状態ＤにおいてＣＰＵ１０３、メモリ１０５及びファン１０９の電力が増加することで状態Ｅに遷移する。状態ＥにおいてはＣＰＵ１０３の電力が２８８Ｗであり、メモリ１０５の電力が９７Ｗであり、ファン１０９の電力が２８８Ｗである。ＳＳＤ１０７、その他の装置１１１及び制御部１１３の電力は状態Ｄの時と同じである。合計の電力は９２４Ｗであり、電力閾値より小さい。
【００６５】
以上のような制御を行えば、情報処理装置１０００が消費する電力のピークカットを実現できる。これにより、電力料金を削減することができ、また、各ハードウエアデバイスが過剰に激しく動作することで熱破壊等が発生することを防ぐことができる。
【００６６】
また、電力を予測値でなく実測値をベースとして算出することで、高い精度で電力の超過を検出することができ、結果として、供給可能な電力を無駄なく利用することができるようになる。
【００６７】
また、ＣＰＵ１０３の周波数が低い時には、メモリ１０５の使用頻度が少ないと考えられ、また、ファン１０９の回転数は小さくても問題が無いと考えられる。そこで、ＣＰＵ１０３の周波数が低下されたときはＣＰＵ１０３以外の装置の動作をも抑制することで、無駄に電力が消費されることを回避できるようになる。
【００６８】
一方で、電力の使用に余裕がある場合には、ＣＰＵ１０３の演算性能に及ぼす影響が相対的に大きい装置に限りＣＰＵ１０３の周波数上昇に合わせて動作を促進するので、電力消費を抑えつつ、情報処理装置１０００の性能を効果的に向上させることができるようになる。
【００６９】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した制御部１１３の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【００７０】
また、上で説明したデータ構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００７１】
また、各装置に対する電力の配分割合のパターンを予め定義し、状態に応じて制御部１１３がそのパターンのいずれかを選択することで、各装置の動作状態を制御してもよい。
【００７２】
また、上で述べた例ではＣＰＵ１０３の演算性能の観点から動作を促進させる装置を選択しているが、ＣＰＵ１０３以外の装置の性能を最大限に向上させるように制御を行ってもよい。
【００７３】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【００７４】
本実施の形態の第１の態様に係る電力制御システムは、（Ａ）電源ユニット（実施の形態におけるＰＳＵ１０１は上記電源ユニットの一例である）と、（Ｂ）プロセッサ（実施の形態におけるＣＰＵ１０３は上記プロセッサの一例である）と、（Ｃ）メモリ（実施の形態におけるメモリ１０５は上記メモリの一例である）と、（Ｄ）制御装置（実施の形態における制御部１１３は上記制御装置の一例である）とを有する。そして、上記制御装置は、（ｄ１）電源ユニットが出力する電力が第１閾値を超えた場合、プロセッサに対して動作周波数の低下を指示し、電源ユニットが出力した電力をプロセッサに出力する電源に対して電圧の低下を指示し、メモリのコントローラに対してメモリへのアクセスの頻度の低下を指示する第１制御部（実施の形態における第１制御部１１３１１は上記第１制御部の一例である）と、（ｄ２）プロセッサに出力される電力が第２閾値以下であり且つメモリに出力される電力が第３閾値以下である場合、プロセッサに対して動作周波数の上昇を指示し、電源に対して電圧の上昇を指示し、メモリのコントローラに対してメモリへのアクセスの頻度の上昇を指示する第２制御部（実施の形態における第２制御部１１３１２は上記第２制御部の一例である）とを有する。
【００７５】
プロセッサの動作に及ぼす影響が相対的に大きいメモリについても電力が制御されるので、電力の制約の下で情報処理装置の性能を効果的に高めることができるようになる。
【００７６】
また、本電力制御システムは、（Ｅ）冷却ファンをさらに有してもよい。そして、上記第１制御部は、（ｄ１１）冷却ファンに対して回転数の減少の指示をさらに送信してもよく、上記第２制御部は、（ｄ２１）冷却ファンに出力される電力が第４閾値以下である場合、冷却ファンに対して回転数の増加の指示をさらに送信してもよい。
【００７７】
プロセッサの動作に及ぼす影響が相対的に大きい冷却ファンについても電力が制御されるので、電力制約の下で情報処理装置の性能をより効果的に高めることができるようになる。
【００７８】
また、本電力制御システムは、（Ｆ）補助記憶装置をさらに有してもよい。そして、上記第１制御部は、（ｄ１２）補助記憶装置のコントローラに対して補助記憶装置へのアクセスの頻度の低下の指示をさらに送信してもよい。
【００７９】
電源ユニットが出力する電力を抑制できるようになる。
【００８０】
また、上記電源ユニットは、（ａ１）電源ユニットが出力する電力が第１閾値を超えたか判定する判定部（実施の形態における判定回路１０１５は上記判定部の一例である）と、（ａ２）電源ユニットが出力する電力が第１閾値を超えたと判定部により判定された場合、電源ユニットが出力する電力が第１閾値を超えたことを示す信号を制御装置に対して送信する出力部（実施の形態における信号送出回路１０１６は上記出力部の一例である）とを有してもよい。
【００８１】
電力監視用のモジュールなどを電源ユニットとは別に設けることなく電力監視の機構を実現できるようになる。
【００８２】
また、上記電源ユニットは、（ａ３）電源ユニットが出力する電力を、電源ユニットが出力する電圧及び電流から算出する算出部（実施の形態における電力算出回路１０１４は上記算出部の一例である）をさらに有してもよい。
【００８３】
電源ユニットが出力する電力をより正確に算出できるようになる。
【００８４】
また、第２閾値はプロセッサに出力される電力の下限値であってもよく、第３閾値はメモリに出力される電力の下限値であってもよい。
【００８５】
本実施の形態の第２の態様に係る電源ユニットは、（Ｇ）電源ユニットが出力する電力が閾値を超えたか判定する判定部（実施の形態における判定回路１０１５は上記判定部の一例である）と、（Ｈ）電源ユニットが出力する電力が閾値を超えたと判定部により判定された場合、電源ユニットが出力する電力が閾値を超えたことを示す信号を、電源ユニットが出力する電力で動作する装置を制御する制御装置に対して送信する出力部（実施の形態における信号送出回路１０１６は上記出力部の一例である）とを有する。
【００８６】
電力監視用のモジュールなどを電源ユニットとは別に設けなくてもよくなる。
【００８７】
また、本電源ユニットは、（Ｉ）電源ユニットが出力する電力を、電源ユニットが出力する電圧及び電流から算出する算出部（実施の形態における電力算出回路１０１４は上記算出部の一例である）をさらに有してもよい。
【００８８】
電力監視用のモジュールなどを電源ユニットとは別に設けることなく電力監視の機構を実現できるようになる。
【００８９】
本実施の形態の第３の態様に係る電力制御方法は、（Ｊ）電源ユニットが出力する電力が第１閾値を超えた場合、情報処理装置のプロセッサに対して動作周波数の低下を指示し、情報処理装置の電源ユニットが出力した電力を情報処理装置のプロセッサに出力する電源に対して電圧の低下を指示し、情報処理装置のメモリのコントローラに対してメモリへのアクセスの頻度の低下を指示し、（Ｋ）情報処理装置のプロセッサに出力される電力が第２閾値以下であり且つメモリに出力される電力が第３閾値以下である場合、情報処理装置のプロセッサに対して動作周波数の上昇を指示し、電源に対して電圧の上昇を指示し、メモリのコントローラに対してメモリへのアクセスの頻度の上昇を指示する処理を含む。
【００９０】
なお、上記方法による処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００９１】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００９２】
（付記１）
電源ユニットと、
プロセッサと、
メモリと、
制御装置と、
を有し、
前記制御装置は、
前記電源ユニットが出力する電力が第１閾値を超えた場合、前記プロセッサに対して動作周波数の低下を指示し、前記電源ユニットが出力した電力を前記プロセッサに出力する電源に対して電圧の低下を指示し、前記メモリのコントローラに対して前記メモリへのアクセスの頻度の低下を指示する第１制御部と、
前記プロセッサに出力される電力が第２閾値以下であり且つ前記メモリに出力される電力が第３閾値以下である場合、前記プロセッサに対して動作周波数の上昇を指示し、前記電源に対して電圧の上昇を指示し、前記メモリのコントローラに対して前記メモリへのアクセスの頻度の上昇を指示する第２制御部と、
を有する電力制御システム。
【００９３】
（付記２）
冷却ファン
をさらに有し、
前記第１制御部は、
前記冷却ファンに対して回転数の減少の指示をさらに送信し、
前記第２制御部は、
前記冷却ファンに出力される電力が第４閾値以下である場合、前記冷却ファンに対して回転数の増加の指示をさらに送信する、
付記１記載の電力制御システム。
【００９４】
（付記３）
補助記憶装置
をさらに有し、
前記第１制御部は、
前記補助記憶装置のコントローラに対して前記補助記憶装置へのアクセスの頻度の低下の指示をさらに送信する、
付記１又は２記載の電力制御システム。
【００９５】
（付記４）
前記電源ユニットは、
前記電源ユニットが出力する電力が前記第１閾値を超えたか判定する判定部と、
前記電源ユニットが出力する電力が前記第１閾値を超えたと前記判定部により判定された場合、前記電源ユニットが出力する電力が前記第１閾値を超えたことを示す信号を前記制御装置に対して送信する出力部と、
を有する付記１乃至３のいずれか１つ記載の電力制御システム。
【００９６】
（付記５）
前記電源ユニットは、
前記電源ユニットが出力する電力を、前記電源ユニットが出力する電圧及び電流から算出する算出部
をさらに有する付記４記載の電力制御システム。
【００９７】
（付記６）
前記第２閾値は前記プロセッサに出力される電力の下限値であり、前記第３閾値は前記メモリに出力される電力の下限値である、
付記１乃至５のいずれか１つ記載の電力制御システム。
【００９８】
（付記７）
情報処理装置のハードウエアを制御する制御装置のプロセッサに、
前記情報処理装置の電源ユニットが出力する電力が第１閾値を超えた場合、前記情報処理装置のプロセッサに対して動作周波数の低下を指示し、前記電源ユニットが出力した電力を前記情報処理装置のプロセッサに出力する電源に対して電圧の低下を指示し、前記情報処理装置のメモリのコントローラに対して前記メモリへのアクセスの頻度の低下を指示し、
前記情報処理装置のプロセッサに出力される電力が第２閾値以下であり且つ前記メモリに出力される電力が第３閾値以下である場合、前記情報処理装置のプロセッサに対して動作周波数の上昇を指示し、前記電源に対して電圧の上昇を指示し、前記メモリのコントローラに対して前記メモリへのアクセスの頻度の上昇を指示する、
処理を実行させる電力制御プログラム。
【符号の説明】
【００９９】
１０００  情報処理装置    １０１  ＰＳＵ
１０２  ＣＰＵ電源    １０３  ＣＰＵ
１０４  メモリ電源    １０５  メモリ
１０６  ＳＳＤ電源    １０７  ＳＳＤ
１０８  ファン電源    １０９  ファン
１１０  装置電源    １１１  その他の装置
１１２  制御部電源    １１３  制御部
１１３１  プロセッサ    １１３２  メモリ
１１３１１  第１制御部    １１３１２  第２制御部
１１３２１  データ格納部    １０１１  出力ライン
１０１２  抵抗    １０１３  検出回路
１０１４  電力算出回路    １０１５  判定回路
１０１６  信号送出回路    １０１７  入力ライン
【図１】
2019101870.tif 000003
【図２】
2019101870.tif 000004
【図３】
2019101870.tif 000005
【図４】
2019101870.tif 000006
【図５】
2019101870.tif 000007
【図６】
2019101870.tif 000008
【図７】
2019101870.tif 000009
【図８】
2019101870.tif 000010
【図９】
2019101870.tif 000011
【図１０】
2019101870.tif 000012
【図１１】
2019101870.tif 000013
【図１２】
2019101870.tif 000014
【図１３】
2019101870.tif 000015
【図１４】
2019101870.tif 000016
【図１５】
2019101870.tif 000017
【図１６】
2019101870.tif 000018