(57)【要約】【課題】処理に要する時間が既知であるデータ量を制約時間内に複数のプロセッサを用いて並列処理する際に、複数のプロセッサによる消費電力量を抑えた実行方式を選定できる並列計算装置を得る。【解決手段】複数のデータ量と、動作周波数および電圧をパラメータとしてプロセッサによる処理を実行したときの消費電力量とを対応付けた消費電力量情報をあらかじめ記憶する記憶部１０と、制約時間内にデータ処理を終了させるために制約時間ごとに入力したデータ量に応じてデータ処理を分割して複数のプロセッサに割り付ける際に、記憶部１０に記憶された消費電力量情報に基づいて、複数のプロセッサによる消費電力量の合計が最小となるように、複数のプロセッサに対する割り付けと、動作周波数および電圧の設定とを行う割付設定処理部２０とを備える。【選択図】図１
2006344162.tif 000002
【特許請求の範囲】
【請求項１】
動作周波数および電圧が可変であるプロセッサを複数用いて、処理完了時間が制約されているデータの処理を分割して並列処理を実行することにより制約時間内に前記データの処理を終了させる並列計算装置であって、
複数のデータ量と、動作周波数および電圧をパラメータとして処理を実行したときのプロセッサの消費電力量とを対応付けた消費電力量情報を記憶する記憶部と、
前記制約時間内に前記データの処理を終了させるために、前記制約時間ごとに入力したデータのデータ量に応じて前記データの処理を分割して複数のプロセッサに割り付ける際に、前記記憶部に記憶された前記消費電力量情報に基づいて、前記複数のプロセッサによる消費電力量の合計が最小となるように、複数のプロセッサに対する割り付けと、動作周波数および電圧の設定とを行う割付設定処理部と
を備えることを特徴とする並列計算装置。
【請求項２】
請求項１に記載の並列計算装置において、
複数のプロセッサの状態温度を検出する温度検出部をさらに備え、
前記割付設定処理部は、前記制約時間内に前記データの処理を終了させるために、前記制約時間ごとに入力したデータのデータ量に応じて前記データの処理を分割して複数のプロセッサに割り付ける際に、前記記憶部に記憶された前記消費電力量情報に基づいて、前記複数のプロセッサによる消費電力量の合計が最小となるように、かつ前記温度検出部で検出された前記状態温度に基づいて前記状態温度の低いプロセッサを優先するように複数のプロセッサに対する割り付けと、動作周波数および電圧の設定とを行う
ことを特徴とする並列計算装置。
【請求項３】
請求項１に記載の並列計算装置において、
複数のプロセッサの状態温度を検出する温度検出部をさらに備え、
前記記憶部は、プロセッサの状態温度と、動作周波数および電圧をパラメータとして処理を実行するためのプロセッサの許容消費電力量とを対応付けた許容消費電力量情報をさらに記憶し、
前記割付設定処理部は、前記制約時間内に前記データの処理を終了させるために、前記制約時間ごとに入力したデータのデータ量に応じて前記データの処理を分割して複数のプロセッサに割り付ける際に、前記記憶部に記憶された前記消費電力量情報および前記許容消費電力量情報と、前記温度検出部で検出された前記状態温度とに基づいて、処理実行後の各プロセッサの消費電力量が前記許容消費電力量以内に収まる範囲で前記複数のプロセッサによる消費電力量の合計が最小となるように、複数のプロセッサに対する割り付けと、動作周波数および電圧の設定とを行う
ことを特徴とする並列計算装置。
【請求項４】
請求項３に記載の並列計算装置において、
前記記憶部は、消費電力の上昇率がピークとなる温度に基づいて算出される許容消費電力量情報を記憶することを特徴とする並列計算装置。
【請求項５】
請求項３に記載の並列計算装置において、
前記記憶部は、プロセッサを冷却するためのファンが起動する温度に基づいて算出される許容消費電力量情報を記憶することを特徴とする並列計算装置。
【請求項６】
請求項１に記載の並列計算装置において、
複数のプロセッサの状態温度を検出する温度検出部をさらに備え、
前記記憶部は、プロセッサの状態温度が外気温度に下がるまでの時間特性を冷却特性情報としてさらに記憶し、
前記割付設定処理部は、前記制約時間内に前記データの処理を終了させるために、前記制約時間ごとに入力したデータのデータ量に応じて前記データの処理を分割して複数のプロセッサに割り付ける際に、前記記憶部に記憶された前記消費電力量情報および前記冷却特性情報と、前記温度検出部で検出された前記状態温度とに基づいて、それぞれのプロセッサの処理完了後から前記制約時間経過時までの各プロセッサの状態温度の低下分を加味して、複数のプロセッサに対する割り付けと、動作周波数および電圧の設定とを行う
ことを特徴とする並列計算装置。
【請求項７】
請求項１ないし６のいずれか１項に記載の並列計算装置において、
前記割付設定処理部は、今回の制約時間の次の制約時間以降に処理すべきデータ量が既知の場合には、前記今回の制約時間と前記次の制約時間以降とを加算した総制約時間経過後の前記複数のプロセッサによる消費電力量の合計が最小となるように、複数のプロセッサに対する割り付けと、動作周波数および電圧の設定とを行うことを特徴とする並列計算装置。
【請求項８】
請求項１ないし７のいずれか１項に記載の並列計算装置において、
前記記憶部は、前記複数のプロセッサの前記消費電力量情報に対応して、前記複数のプロセッサの処理に伴う前記複数のプロセッサ以外の周辺機器の消費電力量を周辺機器消費電力量情報としてさらに備え、
前記割付設定処理部は、前記複数のプロセッサによる消費電力量と前記複数のプロセッサ以外の周辺機器の消費電力量との合計が最小となるように、複数のプロセッサに対する割り付けと、動作周波数および電圧の設定とを行う
ことを特徴とする並列計算装置。
【請求項９】
請求項１ないし８のいずれか１項に記載の並列計算装置において、
前記記憶部は、仕様の異なるプロセッサに対応する消費電力量情報を記憶することを特徴とする並列計算装置。
【請求項１０】
請求項１ないし９のいずれか１項に記載の並列計算装置において、
前記割付設定処理部は、並列処理による通信オーバーヘッドを考慮して、前記複数のプロセッサによる消費電力量の合計が最小となるように、複数のプロセッサに対する割り付けと、動作周波数および電圧の設定とを行うことを特徴とする並列計算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動作周波数および電圧が可変であるプロセッサを複数用いて、処理完了時間が制約されているデータの処理を分割して並列処理を実行することにより制約時間内にデータの処理を終了させる並列計算装置に関する。
【背景技術】
【０００２】
例えば、レーダーやセンサーにより観測周期毎に観測データが得られ、そのデータを実時間処理するシステムでは、次の観測データが得られるまでに当該データ処理を完了させておくことが必須となる。このような完了時間が規定される処理に対応する際に、単体のプロセッサの性能では制約時間内に処理が完了することが困難であるが、処理を各々独立な処理として分割できる場合には、複数のプロセッサによる並列処理技術を用いるのが一般的である。
【０００３】
プロセッサの性能向上は、著しいものがあるが、同時に、レーダー・センサーの機能向上により、詳細な大量のデータが取得できるようになり、また、それに伴うユーザーからの高度な要求により、並列処理技術は、常に必要とされる技術である。しかし、多数のプロセッサを用いる並列処理システムでは、発熱や大量の電力を消費するなどの問題が深刻となる。
【０００４】
他方、携帯電話やノートＰＣなどのモバイルシステムでの技術革新は、目を見張るものがある。特に、消費電力の低減を目的に、電源のオン／オフを自動的に小まめに切り替える機能や、必要に応じてプロセッサの動作周波数および電圧を自動的に下げる機能などがモバイルシステムに搭載されてきている。例えば、プロセッサに用いられるＣＭＯＳ回路の消費電力は、通常、その動作周波数に比例し、かつ電源電圧の二乗に比例し、特に、電源電圧の二乗に比例する要素が支配的である（例えば、特許文献１参照）。
【０００５】
従って、消費電力は、動作周波数の変化率に対して３乗のオーダーで推移する。例えば、動作周波数を下げると、それに伴って電圧を下げても安定動作する状態が保てるので、動作周波数の下げ率以上に消費電力を低減させることができる。なお、何も処理しない場合には、プロセッサを休眠状態（サスペンド状態）、または休止状態（ハイバネーション状態）に設定し、省電力化を図ることができる。
【０００６】
休眠状態は、作業中のデータをメモリに保存し、再開時には省電力モードを解除して休眠状態になる直前の状態に戻すものである。休眠状態中もメモリの内容が失われないよう電力を消費するため、バッテリーなどを使って長時間休眠状態にしておくと作業内容が失われてしまうというデメリットがあるが、作業中のデータをメモリ上に保持しているため、瞬時に再開することが可能である。
【０００７】
他方、休止状態は、作業中のメモリ上のデータをハードディスクに丸ごとコピーし、再開時にはハードディスクからメモリの内容を読み出して電源を切る直前の状態に戻すものである。
【０００８】
また、動作周波数および電圧が可変であるプロセッサ複数台を備える並列計算環境において、動作周波数および電圧を調整することにより省電力化を図るものもある（例えば、特許文献２参照）。
【０００９】
【特許文献１】特開２００２-２１５５９９号公報（第１頁、図１）
【特許文献２】特開２００２-９９４３２号公報（第１頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来技術には次のような課題がある。特許文献１においては、休止状態中は、計算機の電源を完全に切ってしまうため電力を消費しないが、再開時には、ハードディスクからデータを読み込む必要があるため、休眠状態に比べて時間を要することになる。
【００１１】
本発明では、処理時間が規定されている問題を対象としているため、使用されていないプロセッサも、いつ必要となるか分からない場合は、休眠状態に設定しておく必要がある。しかし、その時点では不要であるが、次に利用される時刻が既知である場合には、休止状態に設定して省電力化の効果を高めることも考えられる。
【００１２】
また、プロセッサは、処理を行うと熱を発するという特性があり、プロセッサの状態温度がある閾値を超えると急激に消費電力が上がり、さらに温度が限界に近づくとファンが起動するため、さらなる消費電力の上昇に繋がるといった課題がある。
【００１３】
従って、この発熱量を如何に抑えるかということは、消費電力量を如何に抑えるかという課題と等価である。本発明が対象とする並列計算装置および応用問題では、その時々の処理負荷量が異なり、その状態に応じて、それぞれのプロセッサの利用頻度が異なるため、その時々に応じて各プロセッサの状態温度は異なる。従って、該プロセッサの状態温度が極力上がらないような実行方式を選定することが省電力のためには重要である。
【００１４】
また、特許文献２には、並列処理する際の課題である通信オーバーヘッドに関する記載はなく、プロセッサ台数を多くして各プロセッサの動作周波数および電圧を下げる実行方式が省電力実行のためには最適であるとしている。
【００１５】
しかし、実際は、多くのプロセッサを用いるとその数に比例して通信オーバーヘッドが増加し、トータルの演算量は増えることになるため、上記実行方式が最適な省電力実行方式であるとは限らない。
【００１６】
本発明は上述のような課題を解決するためになされたもので、処理に要する時間が既知であるデータ量を制約時間内に複数のプロセッサを用いて並列処理する際に、複数のプロセッサにより発生する消費電力量を抑えた実行方式を選定できる並列計算装置を得ることを目的とする。
【課題を解決するための手段】
【００１７】
本発明に係る並列計算装置は、動作周波数および電圧が可変であるプロセッサを複数用いて、処理完了時間が制約されているデータの処理を分割して並列処理を実行することにより制約時間内にデータの処理を終了させる並列計算装置であって、複数のデータ量と、動作周波数および電圧をパラメータとして処理を実行したときのプロセッサの消費電力量とを対応付けた消費電力量情報を記憶する記憶部と、制約時間内にデータの処理を終了させるために、制約時間ごとに入力したデータのデータ量に応じてデータの処理を分割して複数のプロセッサに割り付ける際に、記憶部に記憶された消費電力量情報に基づいて、複数のプロセッサによる消費電力量の合計が最小となるように、複数のプロセッサに対する割り付けと、動作周波数および電圧の設定とを行う割付設定処理部とを備えるものである。
【発明の効果】
【００１８】
本発明によれば、制約時間および入力データ量に応じて複数のプロセッサによる消費電力量の合計が最小となるように、複数のプロセッサに対する割り付けと、動作周波数および電圧の設定とを行うことにより、処理に要する時間が既知であるデータ量を制約時間内に複数のプロセッサを用いて並列処理する際に、複数のプロセッサにより発生する消費電力量を抑えた実行方式を選定できる並列計算装置を得ることができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の並列計算装置の好適な実施の形態につき図面を用いて説明する。
本発明の並列計算装置は、処理にかけられる制約時間および入力データ量に応じて、省電力のための最適な実行方式を選定することを特徴とする。具体的には、動作周波数と電圧が可変であるプロセッサを複数備えた並列計算装置により、処理完了時間が制約されている問題を処理する場合に、消費電力量が最も少なくなるように、使用するプロセッサ数およびプロセッサの動作周波数・電圧を設定する。
【００２０】
さらに、本発明の並列計算装置は、並列処理による通信オーバーヘッドあるいはプロセッサの状態温度を考慮した省電力のための最適な実行方式を選定することを特徴とする。具体的には、動作周波数と電圧が可変であるプロセッサを複数備えた並列計算装置により、処理完了時間が制約されている問題を処理する場合に、並列処理することによる通信のオーバーヘッドあるいは現在のプロセッサの検出温度を考慮して、発熱量および消費電力量が最も少なくなるように、使用するプロセッサ数およびプロセッサの動作周波数・電圧を設定する。
【００２１】
実施の形態１．
図１は、本発明の実施の形態１における並列計算装置による処理の流れの一例を示した図である。具体的には、１つの適用例であるレーダーセンサーシステムにおいて、対象とする並列計算装置部分の処理の流れの概略を示したものである。図１の処理においては、観測周期（時間間隔：Ｔ）毎に、データ量が異なる処理データ（観測データ）がシステムの並列計算装置に届く。この時間間隔Ｔが制約時間に相当する。
【００２２】
並列計算装置は、記憶部１０、割付設定処理部２０および温度検出部３０を含んで構成される１台のプロセッサを、マネージャＣＰＵとして備えている。記憶部１０は、動作周波数および電圧の設定が可変であるプロセッサについて、複数のデータ量と、動作周波数および電圧をパラメータとして処理を実行したときの消費電力量とを対応付けた消費電力量情報をあらかじめ記憶している記憶部である。
【００２３】
割付設定処理部２０は、時間間隔Ｔごとに入力されるデータのデータ量に応じて所定の処理を行う際に、時間間隔Ｔ以下に処理が完了し、かつ、最も消費電力量が少なく実行できるプロセッサ台数および各プロセッサの動作周波数・電圧の選定と、処理データの各プロセッサへの割り付けを行う処理部である。
【００２４】
温度検出部３０は、複数のプロセッサの状態温度を検出する検出部である。この温度検出部３０をさらに有することにより、割付設定処理部２０は、時間間隔Ｔごとに入力されるデータのデータ量に応じて所定の処理を行う際に、その時点での各プロセッサの状態温度を考慮して、時間間隔Ｔ以下に処理が完了し、かつ、最も消費電力量が少なく実行できるプロセッサ台数および各プロセッサの動作周波数・電圧の選定と、処理データの各プロセッサへの割り付けを行うことが可能となる。
【００２５】
図２は、本発明の実施の形態１における並列計算装置のプロセッサの構成例を示した図である。本例において、ＣＰＵ１は、マネージャＣＰＵに相当し、上述の記憶部１０、割付設定処理部２０および温度検出部３０を有し、ＣＰＵ２〜ＣＰＵｎへの処理データの割り付けおよび動作周波数・電圧の設定を行うとともに、自らに割り付けた処理データに対する処理も行うＣＰＵである。
【００２６】
一方、ＣＰＵ２〜ＣＰＵｎは、ワーカＣＰＵに相当し、マネージャＣＰＵであるＣＰＵ１によって割り付けられた動作周波数・電圧の設定に基づいて、割り付けられた処理データに対する処理を行う。
【００２７】
さらに、ＣＰＵ１は、温度検出部３０の働きにより、定期的（例えば、観測周期毎）に各ＣＰＵの状態温度を監視している。そして、ＣＰＵ１の割付設定処理部２０は、検出した各ＣＰＵの状態温度を利用して、消費電力量が最も少なくなるように各ＣＰＵへの処理データの割り付けおよび動作周波数・電圧の設定を行うこととなる。
【００２８】
以上のように、実施の形態１によれば、制約時間毎に入力されるデータのデータ量に応じて、あらかじめ記憶された消費電力量情報に基づいて、複数のプロセッサによる消費電力量の合計が最小となるように、複数のプロセッサに対する処理データの割り付けと、各プロセッサの動作周波数・電圧の設定を行うことができる。
【００２９】
さらに、各プロセッサの状態温度を検出する温度検出部を備えることにより、割り付け時のＣＰＵの状態温度に応じて、状態温度の低いプロセッサを優先して割り付け処理および動作周波数・電圧の設定を行うことにより、発熱量を抑えるとともに、複数のプロセッサによる消費電力量の合計を最小化することが可能となる。
【００３０】
実施の形態２．
図３は、本発明の実施の形態２の並列計算装置において、２つの実行方式の消費電力量の比較を示した図である。具体的には、制約時間に相当する時間間隔Ｔ内に、ある処理データの処理を完了させる場合に、２つの実行方式による消費電力量をタイムチャートとして示したものである。
【００３１】
実行方式１は、対象とする並列計算装置のｎ台全てのＣＰＵを用い、各ＣＰＵを低動作周波数αで実行させる方式である。これに対して、実行方式２は、ｎ台よりも少ないｍ台のＣＰＵを用いて、各ＣＰＵを高動作周波数βで実行させる方式である。なお、実行方式１では、ｎ台のＣＰＵのそれぞれがデータ処理に要する時間が均等となるようにデータが割り付けられ、実行方式２では、ｍ台のＣＰＵのそれぞれがデータ処理に要する時間が均等となるようにデータが割り付けられるものとする。
【００３２】
ここで、実行方式１と実行方式２の消費電力量を比較するには、図３のそれぞれのタイムチャートの太線枠内の消費電力量を比較すればよい。図３において、１回の送信処理に要する時間をＴＳ、１回の受信処理に要する時間をＴＲ、そして１回の送受信処理に要する時間に相当するＴＳとＴＲの和を１回の通信時間ＴＣする。さらに、動作周波数αで全ての処理データを実行した時間をＴαとする。
【００３３】
ここで、ｎ個のＣＰＵの各々のデータ処理に要する時間をＴα／ｎとすると、ＣＰＵ１における時間間隔Ｔは、ｎ−１回分の通信時間ＴＣと、ＣＰＵ１によるデータ処理に要する時間Ｔα／ｎとの和に相当する。この関係から、実行方式１の消費電力量Ｃ１と実行方式２の消費電力量Ｃ２は、それぞれ式（１）、（２）となり、Ｃ１とＣ２が等しくなる条件は、式（３）を満足するときである。
【００３４】
【数１】
2006344162.tif 000003
【００３５】
ここで、Ｐα、Ｐβ、Ｐγは、動作周波数αとβ、そして休眠状態時におけるそれぞれの消費電力であり、ｋ＝α／βである。また、ρは、動作周波数αで処理データを実行した時間の総和Ｔαに対する１回の通信時間ＴＣの比率である。この結果から、式（３）より算出したρと、あらかじめ測定しておいた実行方式１での実際のρ（＝ρ１）を比較することによって、どちらの実行方式が省電力量のための最適な実行方式であるかを選定することができる。
【００３６】
すなわち、記憶部１０は、Ｐα、Ｐβ、Ｐγのデータを消費電力量情報として記憶している。そして、割付設定処理部２０は、動作周波数αで処理データを実行処理したときに要する時間Ｔαと１回の通信時間ＴＣとをあらかじめ記憶部１０に記憶しておくことにより、これらの比率から実行方式１での実際のρ（＝ρ１）を算出できる。さらに、割付設定処理部２０は、式（３）に消費電力量情報の各値を代入することにより、Ｃ１＝Ｃ２となるときの理論値ρを算出できる。
【００３７】
そして、割付設定処理部２０は、実行方式１での実際のρ１と式（３）による理論値ρを比較することにより、ρ＞ρ１のときは、実行方式１を選択し、ρ≦ρ１のときは、実行方式２を選択することにより、消費電力量を抑えた実行方式を選択することができる。
【００３８】
以上のように、実施の形態２によれば、異なる実行方式における消費電力量が互いに等しくなるときの理論値ρと、一方の実行方式における既知のρの値を比較することにより、処理すべきデータ量に応じて、消費電力量を抑えて制約時間内に処理可能な実行方式を選択し、各プロセッサに対して選択した実行方式に合った動作周波数及び電圧の設定を行って並列処理を実行することができる。
【００３９】
実施の形態３．
本実施の形態３では、動作周波数および電圧が可変であるプロセッサを用いる場合の具体例について説明する。図４は、本発明の実施の形態３の並列計算装置に用いられるプロセッサのスペック例を示した図である。このスペック例では、動作周波数及び電圧の設定により、高速動作状態、低速動作状態、休眠状態の３状態の切り換えが可能であるプロセッサの例を示している。
【００４０】
図３に示すスペックを持つプロセッサを複数備える並列計算装置を想定して、実施の形態２で述べた実行方式選定手法を適用した場合の説明を行う。図５は、本発明の実施の形態３の２つの実行方式におけるプロセッサ数と実行時間の比率との関係を示した図である。具体的には、実行方式１でプロセッサ数をｎ＝１としたときの実行時間を１とした場合の各実行方式のプロセッサ数に対する実行時間の比率を示したものである。
【００４１】
また、図６は、本発明の実施の形態３において、実行方式２のプロセッサ数をｍ＝１〜５としたときの実行方式１のプロセッサ数に対するρの値を示した図である。具体的には、上式（３）に対して、図４のプロセッサの各パラメータを代入してρの値をプロットしたものである。
【００４２】
例えば、ある問題の制約時間が、実行方式１でｎ＝１とした実行時間に対する比率として０．２である場合に、図５の関係においては、実行方式１ではｎ＝８、実行方式２ではｍ＝２が最適な台数となる。
【００４３】
すなわち、実行方式１を例にとると、ｎ＜８の場合には制約時間内に処理を完了することができず、逆にｎ＞８の場合には制約時間内に処理は完了するものの、消費電力量がｎ＝８のときと比較して多くなってしまうこととなり、ｎ＝８の場合が制約時間内で処理が完了し、かつ消費電力量を抑えられる最適なプロセッサ台数と言える。
【００４４】
そして、実行方式１（ｎ＝８）の実際のρ１と式（３）より得られたρ（図６中の○印：ρ＝０．８）とを比較し、ρ１の方が小さければ実行方式１を、逆にρ１の方が大きければ実行方式２を選定した方が少ない消費電力量で実行できることになる。
【００４５】
図７は、本発明の実施の形態３における実行方式２に対する実行方式１の消費電力量の比率を示した図である。この結果から、ρ１が０．８以下であれば実行方式１を、０．８以上であれば実行方式２を選定すれば、少ない消費電力量で並列処理を実行できることになる。ここで、不連続点が生じている（図７の点線の円で示した部分に相当）のは、実行方式１と２で実行時間がこの付近で逆転するためである。
【００４６】
以上のように、実施の形態３によれば、異なる実行方式における消費電力量が互いに等しくなるときの理論値ρと、一方の実行方式における既知のρの値を比較することにより、処理すべきデータ量に応じて、消費電力量を抑えて制約時間内に処理可能な実行方式を選択し、各プロセッサに対して選択した実行方式に合った動作周波数及び電圧の設定を行って並列処理を実行することができる。
【００４７】
なお、上述においては、高動作周波数と低動作周波数の二種類が設定可能なプロセッサを例に、省電力量のための実行方式選定方法を説明したが、設定可能な動作周波数が三種類以上の場合も同様に、２つずつ実行方式を比較して行くことによって、最適な実行方式を選定することができる。
【００４８】
実施の形態４．
本実施の形態４では、並列処理によるオーバーヘッドを考慮する場合について説明する。ここで、並列処理によるオーバーヘッドとは、データを分割処理することによってデータ処理以外に必要となる余計な処理時間に相当する。すなわち、処理データをｎ分割した場合には、それぞれのプロセッサによる処理時間は、単純にｎ分の１になるのではなく、さらに各プロセッサによる並列処理に伴うオーバーヘッド分の処理時間が必要となる。
【００４９】
図８は、本発明の実施の形態４における並列計算装置において、並列処理による通信のオーバーヘッドを考慮する場合としない場合における最適な実行方式に関する説明図である。このオーバーヘッドを考慮する場合としない場合とで、省電力量のための最適な実行方式が異なる例を示している。
【００５０】
また、プロセッサの動作周波数は、「低」、「中」、「高」の三段階に設定可能であるとする。さらに、実行方式１〜実行方式３の３種の比較を行っている。ここで、実行方式１は、動作周波数：低、使用プロセッサ数：４（大）とし、実行方式２は、動作周波数：中、使用プロセッサ数：３（中）とし、実行方式３は、動作周波数：高、使用プロセッサ数：２（小）とする。
【００５１】
図８の上段に示したケース１は、並列処理による通信のオーバーヘッドを考慮しない場合である。この場合は、実行方式１が最も少ない消費電力量で実行できることになり、実行方式３が最も消費電力量の多い実行方式となることを示している。
【００５２】
しかし、実際は、図８の下段に示したケース２のように、並列処理による通信のオーバーヘッドが生じ、このオーバーヘッドは、使用するプロセッサ数に伴い増加するものである。ここでは、マネージャＣＰＵであるＣＰＵ１は、ワーカＣＰＵ１つに対して０．２ポイント、各ワーカＣＰＵであるＣＰＵ２〜４は、０．１ポイント、通信オーバーヘッドによる消費電力量が増加すると仮定する。
【００５３】
また、使用されないプロセッサは、休眠状態に設定されているものとし、微量の電力を消費しているものとしており、０．１ポイント分消費するものと仮定している。
【００５４】
このような仮定の下に通信オーバーヘッド分を考慮すると、実行方式３が最も消費電力量が少ない実行方式となり、その次に実行方式１と２が同じ消費電力量を必要とする実行方式となっている。従って、このケース２の場合には、ケース１の場合と異なり、ＣＰＵの動作周波数を低くする実行方式が最適とはならない。
【００５５】
以上のように、実施の形態４によれば、既知である通信オーバーヘッドを考慮した上で、制約時間内に処理が完了し、かつ消費電力量を抑えることのできる最適な並列処理の実行方式を選定できる。
【００５６】
実施の形態５．
本実施の形態５では、発熱量を考慮した上で、各プロセッサの実行方式を選定する場合について説明する。一般的に、物質の温度変化に対する発熱量の関係は、下式（４）で表すことができる。また、発熱量と消費電力量の関係は、下式（５）で表すことができるため、消費電力量を如何に低減させるかという課題は、発熱量を如何に低減させるかという課題と等価となる。
【００５７】
【数２】
2006344162.tif 000004
【００５８】
図９は、本発明の実施の形態５において、４台のＣＰＵに対する割り付け前の時点における熱量を示した図である。例えば、実施の形態４で示したように、実行方式３が省電力のための実行方式として選定されたとする。さらに、処理データを各プロセッサに割り当てる時点の各プロセッサの温度から算出される熱量が図９の関係を有するとする。
【００５９】
この熱量は、温度検出部３０により検出される現状の温度と、あらかじめ規定された初期状態の温度との差より、上述の式（４）の関係から算出される。この算出は、マネージャＣＰＵ内の割付設定処理部２０によって行うことができる。
【００６０】
このような仮定の下では、割り付け前の時点で熱量の少ないＣＰＵ１とＣＰＵ４に問題の処理を割り当てることが考えられる。ある一定以上の熱量になると、プロセッサの消費電力は、急激に高くなる性質を持っており、そのような状況を避けるようにするために、このような割当てを行うこととなる。
【００６１】
以上のように、実施の形態５によれば、各プロセッサの状態温度の検出結果に基づく熱量を考慮して、熱量の少ないプロセッサに優先的に処理の割り付けを行うことにより、制約時間内に処理が完了し、かつ消費電力量を抑えることのできる最適な並列処理の実行方式を選定できる。
【００６２】
実施の形態６．
本実施の形態６では、許容消費電力量を考慮した上で、各プロセッサの実行方式を選定する場合について説明する。図１０は、本発明の実施の形態６における許容消費電力量を考慮した実行方式の選定に関する説明図である。
【００６３】
図１０の中の一番左に示した図は、あるプロセッサにおいて、各ＣＰＵが現状の温度からＴＰ（Turning Point）およびＭＰ（Max Point）に達するまでに要する消費電力量を示した一例である。ここで、ＴＰは、状態温度がある閾値を超えると急激に消費電力が上昇する温度に相当し、ＭＰは、さらに限界値に達し、ファンが起動する温度に相当する。
【００６４】
この状況において、実施の形態４と同様の並列計算装置で同様の問題を実行する場合には、実行方式３を選定すると、２つのＣＰＵともＴＰまたはＭＰを超えてしまうことになる。しかし、次に少ない消費電力量で実行できる実行方式２を選定すれば、ＴＰおよびＭＰを超えるＣＰＵが無く実行できることになる。
【００６５】
このため、許容消費電力量を考慮したこの状況では、実行方式２を選定することが考えられる。これは、ＴＰおよびＭＰを超えるプロセッサを極力減らすことによって、消費電力量を低減させることを目的としたものである。
【００６６】
具体的には、プロセッサの状態温度と、動作周波数および電圧をパラメータとしてプロセッサによる処理を実行するための許容消費電力量とを対応付けた許容消費電力量情報を記憶部１０にあらかじめ記憶しておくことになる。そして、この許容消費電力量の算出基準として、上述のＴＰおよびＭＰを用いることができる。
【００６７】
そして、割付設定処理部２０は、温度検出部３０による各プロセッサの状態温度と、記憶部１０に記憶された許容消費電力量情報とに基づいて、ＴＰおよびＭＰを超えるプロセッサを極力減らすような実行方式の選定を行うことができる。
【００６８】
以上のように、実施の形態６によれば、各プロセッサの状態温度の検出結果および許容消費電力量情報に基づいて、処理を実行することにより特定の温度（上述のＴＰ、ＭＰに相当）を超えてしまうおそれのないプロセッサに優先的に処理の割り付けを行うことにより、制約時間内に処理が完了し、かつ消費電力量を抑えることのできる最適な並列処理の実行方式を選定できる。
【００６９】
実施の形態７．
本実施の形態７では、プロセッサの状態温度が外気温度に下がるまでの時間特性を考慮した上で、各プロセッサの実行方式を選定する場合について説明する。図１１は、本発明の実施の形態７におけるＣＰＵ温度の時間特性を示した図である。このようなＣＰＵ温度の時間特性が分かっている場合には、処理が完了してから制約時間経過までの間の温度特性を考慮した上で、制約時間が終わった時点で最もＣＰＵ温度が低くなる実行方式を選定することも考えられる。
【００７０】
例えば、多くのプロセッサを用いて高動作周波数で実行してしまえば、早く処理が終わるため、制約時間までの残りの時間をプロセッサの冷却時間に充てることができる。そこで、このような処理後の冷却時間も加味して、制約時間が終わった時点で最もＣＰＵの温度を低く抑える実行方式を選定することができる。
【００７１】
ただし、高動作周波数にしてしまうことによって、ＴＰまたはＭＰを超えてしまう場合は、かなりの電力を消費してしまうことになるが、短時間であればトータルの消費電力量を抑えられる可能性もある。
【００７２】
さらに、特性の異なるプロセッサ群を備える並列計算装置である場合も、上述の実施の形態のように、各プロセッサの特性に合わせた処理の割り付け、および動作周波数・電圧の設定を行うことも考えられる。
【００７３】
具体的には、プロセッサの状態温度が外気温度に下がるまでの時間特性を冷却特性情報として、さらに記憶部１０にあらかじめ記憶しておくことになる。そして、割付設定処理部２０は、温度検出部３０による各プロセッサの状態温度と、記憶部１０に記憶された冷却特性情報とに基づいて、制約時間が終わった時点で最もＣＰＵの温度を低く抑えるような実行方式の選定を行うことができる。
【００７４】
以上のように、実施の形態７によれば、各プロセッサの状態温度の検出結果および冷却特性情報に基づいて、制約時間が終わった時点での状態温度を低く抑えることができるプロセッサに優先的に処理の割り付けを行うことにより、制約時間内に処理が完了し、かつ消費電力量を抑えることのできる最適な並列処理の実行方式を選定できる。
【００７５】
なお、上述の実施の形態１〜７では、並列計算装置におけるプロセッサに関する発熱量および消費電力量の低減化を考慮する場合について説明したが、本発明はこれに限定されるものではない。プロセッサ以外の部位（例えば、メモリやネットワークカードなど）の発熱量および消費電力量が既知の場合には、それらを含めた並列計算装置全体として発熱量および消費電力量が低減するような実行方式の選定および処理の割当を行うことも可能である。
【００７６】
対象とするアプリケーションプログラムが明確な場合は、実際にそのプログラムを実行させた時の設定可能な動作周波数・電圧毎の実行速度と、ＣＰＵおよびＣＰＵ以外の消費電力量の総和を測定しておき、並列計算装置全体として最も少ない消費電力量となるように、本発明を適用することも考えられる。なお、複数のプロセッサ以外の周辺機器の消費電力量は、周辺機器消費電力量情報として記憶部１０に記憶させておくこととなる。
【００７７】
また、上述の実施の形態１〜７では、ある１つの制約時間内における最適な実行方式の選定について説明したが、本発明はこれに限定されるものではない。例えば、次の周期に処理する問題の処理負荷量が分かっていれば、次の周期まで見据えて、最適な実行方式を選定することも考えられる。
【００７８】
具体的には、次の処理周期での最適な実行方式が予測できれば、例えば、その実行方式を適用したとしても、ＴＰまたはＭＰを超えるＣＰＵが存在しないように現周期の実行方式の選定、およびＣＰＵへの処理の割当てを行うなどが考えられる。
【００７９】
また、上述の実施の形態１〜７では、マネージャＣＰＵが、自らに割り付けた処理データに対する処理を行う場合について説明したが、本発明はこれに限定されるものではない。マネージャＣＰＵ自体は、ワーカＣＰＵへの処理データの割り付けおよび動作周波数・電圧の設定を統括し、実際のデータ処理は、各ワーカＣＰＵに実行させる場合にも、本発明を適用可能である。
【００８０】
さらに、マネージャＣＰＵ、ワーカＣＰＵは、同一仕様である必要はなく、複数の仕様を有する場合にも同様に、本発明を適用可能である。
【図面の簡単な説明】
【００８１】
【図１】本発明の実施の形態１における並列計算装置による処理の流れの一例を示した図である。
【図２】本発明の実施の形態１における並列計算装置のプロセッサの構成例を示した図である。
【図３】本発明の実施の形態２の並列計算装置において、２つの実行方式の消費電力量の比較を示した図である。
【図４】本発明の実施の形態３の並列計算装置に用いられるプロセッサのスペック例を示した図である。
【図５】本発明の実施の形態３の２つの実行方式におけるプロセッサ数と実行時間の比率との関係を示した図である。
【図６】本発明の実施の形態３において、実行方式２のプロセッサ数をｍ＝１〜５としたときの実行方式１のプロセッサ数に対するρの値を示した図である。
【図７】本発明の実施の形態３における実行方式２に対する実行方式１の消費電力量の比率を示した図である。
【図８】本発明の実施の形態４における並列計算装置において、並列処理による通信のオーバーヘッドを考慮する場合としない場合における最適な実行方式に関する説明図である。
【図９】本発明の実施の形態５において、４台のＣＰＵに対する割り付け前の時点における熱量を示した図である。
【図１０】本発明の実施の形態６における許容消費電力量を考慮した実行方式の選定に関する説明図である。
【図１１】本発明の実施の形態７におけるＣＰＵ温度の時間特性を示した図である。
【符号の説明】
【００８２】
１０  記憶部、２０  割付設定処理部、３０  温度検出部。
【図１】
2006344162.tif 000005
【図２】
2006344162.tif 000006
【図３】
2006344162.tif 000007
【図４】
2006344162.tif 000008
【図５】
2006344162.tif 000009
【図６】
2006344162.tif 000010
【図７】
2006344162.tif 000011
【図８】
2006344162.tif 000012
【図９】
2006344162.tif 000013
【図１０】
2006344162.tif 000014
【図１１】
2006344162.tif 000015