(57)【要約】【課題】各処理部の状態を効率よく処理できる状態に維持する。【解決手段】データ分配比率計算部２４は、複数の演算器それぞれが一定量のデータを処理するのに要した基準処理時間（Ｐx）を計算し、温度センサから取得した各演算器のデータ演算中の温度の変化量に基づいて、各演算器の単位時間当たりの温度上昇率（ΔＴｘ）を算出する。そして、データ分配比率計算部２４は、各演算器の基準処理時間（Ｐx）及び単位時間当たりの温度上昇率と、各演算器それぞれの直近の温度（Ｔex）と、に基づいて、各演算器が一定量のデータを処理した場合の予想消費電力（Ｃx）を算出し、算出した予想消費電力が大きいほど処理するデータ量が少なくなるようにデータの分配比率を決定する。また、データ投入部２８は、演算データ取得部２６が取得したデータを決定した分配比率に従って、各演算器に投入する。【選択図】図２
2018151920.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理部それぞれが一定量のデータを処理するのに要した基準処理時間を取得する取得部と、
前記複数の処理部それぞれの温度を検出する検出部から、前記複数の処理部それぞれがデータを処理している間の温度の変化量を取得し、取得した前記温度の変化量に基づいて、前記複数の処理部それぞれの単位時間当たりの温度上昇率を算出する算出部と、
前記複数の処理部それぞれの前記基準処理時間及び前記単位時間当たりの温度上昇率と、前記検出部が検出した前記複数の処理部それぞれの直近の温度と、に基づいて、前記複数の処理部それぞれが前記一定量のデータを処理した場合の予想消費電力を算出し、算出した前記予想消費電力が大きいほど処理するデータ量が少なくなるように前記複数の処理部に対するデータの分配比率を決定する決定部と、
前記決定部が決定した前記分配比率で、前記複数の処理部それぞれにデータを投入するデータ投入部と、
を備えるデータ分配装置。
【請求項２】
前記複数の処理部は、同一基板上に実装された演算器であることを特徴とする請求項１に記載のデータ分配装置。
【請求項３】
前記データ投入部が投入したデータを前記複数の処理部それぞれが処理している間の、前記複数の処理部それぞれの単位時間当たりの温度上昇率を算出し、算出した前記単位時間当たりの温度上昇率を用いて、前記決定部が決定した前記分配比率を更新する更新部を更に備える請求項１又は２に記載のデータ分配装置。
【請求項４】
複数の処理部それぞれにデータを投入するデータ分配装置が実行する、各処理部に対するデータ分配比率の決定方法であって、
複数の処理部それぞれが一定量のデータを処理するのに要した基準処理時間を取得し、
前記複数の処理部それぞれの温度を検出する検出部から、前記複数の処理部それぞれがデータを処理している間の温度の変化量を取得し、取得した前記温度の変化量に基づいて、前記複数の処理部それぞれの単位時間当たりの温度上昇率を算出し、
前記複数の処理部それぞれの前記基準処理時間及び前記単位時間当たりの温度上昇率と、前記検出部が検出した前記複数の処理部それぞれの直近の温度と、に基づいて、前記複数の処理部それぞれが前記一定量のデータを処理した場合の予想消費電力を算出し、算出した前記予想消費電力が大きいほど処理するデータ量が少なくなるように前記複数の処理部に対するデータの分配比率を決定する、
処理を前記データ分配装置が実行するデータ分配比率の決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ分配装置及びデータ分配比率の決定方法に関する。
【背景技術】
【０００２】
近年、科学技術計算等の分野では、膨大なデータを分析処理する要求が増している。膨大なデータを処理する場合、複数の演算器（処理部）に対してデータを分配して、各演算器でデータを処理する技術が知られている。
【０００３】
従来においては、複数の演算器にデータを分配する場合、演算器の性能、バスのスループット、演算特性などをパラメータとして、短時間で処理が行われるように、各演算器に対するデータの割当てを決定していた。
【０００４】
なお、特許文献１、２等には、処理部の実際の処理時間に応じて、各処理部に対するデータの割当て（配分率）を設定し、処理に要する時間を短縮する技術について開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１６４０００号公報
【特許文献２】特開平５−３２４５８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
演算器は、負荷がかかるほど温度が上がり、温度が上がるとリーク電流により消費電力が増加する。したがって、温度が上がると、単位消費電力あたりの処理性能が低下する。
【０００７】
しかしながら、上述したように処理時間が短くなるようにデータの割当てを決定すると、負荷が大きい演算器の消費電力が増大し、単位消費電力あたりの処理性能が低下し、処理効率が悪くなる。
【０００８】
１つの側面では、本発明は、各処理部の状態を効率よく処理できる状態に維持することが可能なデータ分配装置及びデータ分配比率の決定方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
一つの態様では、データ分配装置は、複数の処理部それぞれが一定量のデータを処理するのに要した基準処理時間を取得する取得部と、前記複数の処理部それぞれの温度を検出する検出部から、前記複数の処理部それぞれがデータを処理している間の温度の変化量を取得し、取得した前記温度の変化量に基づいて、前記複数の処理部それぞれの単位時間当たりの温度上昇率を算出する算出部と、前記複数の処理部それぞれの前記基準処理時間及び前記単位時間当たりの温度上昇率と、前記検出部が検出した前記複数の処理部それぞれの直近の温度と、に基づいて、前記複数の処理部それぞれが前記一定量のデータを処理した場合の予想消費電力を算出し、算出した前記予想消費電力が大きいほど処理するデータ量が少なくなるように前記複数の処理部に対するデータの分配比率を決定する決定部と、前記決定部が決定した前記分配比率で、前記複数の処理部それぞれにデータを投入するデータ投入部と、を備えている。
【発明の効果】
【００１０】
各処理部の状態を効率よく処理できる状態に維持することができる。
【図面の簡単な説明】
【００１１】
【図１】図１（ａ）は、一実施形態に係る情報処理装置の構成を概略的に示す図であり、図１（ｂ）は、ＦＰＧＡアクセラレータの構成を概略的に示す図である。
【図２】データ分配部の機能ブロック図である。
【図３】演算器情報管理テーブルのデータ構造を示す図である。
【図４】データ分配部の処理を示すフローチャートである。
【図５】図５（ａ）、図５（ｂ）は、データ分配部による処理を説明するための図である。
【図６】図６（ａ）は、変形例１を示す図であり、図６（ｂ）は、変形例２を示す図である。
【発明を実施するための形態】
【００１２】
以下、情報処理装置の一実施形態について、図１〜図５に基づいて詳細に説明する。
【００１３】
図１（ａ）には、一実施形態に係る情報処理装置１０の構成が概略的に示されている。情報処理装置１０は、科学技術計算などの大規模演算を実行する装置であり、図１（ａ）に示すように、ＣＰＵ（Central Processing Unit）９０と、メモリ９４と、ＦＰＧＡ（Field Programmable Gate Array）アクセラレータ９２と、を備える。
【００１４】
図１（ｂ）には、ＦＰＧＡアクセラレータ９２の構成が概略的に示されている。ＦＰＧＡアクセラレータ９２は、ＣＰＵ９０のアクセラレータとして機能し、同一基板上に実装された、複数のＦＰＧＡ３８と、データ分配装置としてのデータ分配部２０と、を有する。各ＦＰＧＡ３８は、ユーザが回路の構成を定義できるプログラマブルロジックデバイス（ＰＬＤ：Programmable Logic Device）であり、ＰＥ（プロセッシングエレメント）と呼ばれる処理部としての演算器３０と、演算器３０の温度を検出する検出部としての温度センサ３２と、を有する。
【００１５】
各演算器３０は、ＣＰＵ９０からデータ分配部２０に入力され、データ分配部２０で各演算器３０に分配されたデータを演算する。なお、各演算器３０は、全てが同等の能力とは限らない。また、各演算器３０は、独立したＦＰＧＡ３８上に実装されているため、データが入力されてから出力されるまでの時間にばらつきがある。更に、各演算器３０は、負荷がかかるほど温度が上がり、温度が上がるとリーク電流により消費電力が増加するため、単位消費電力に対する処理性能が低下するという特性を有している。なお、以下においては、各演算器３０のそれぞれに演算器ＩＤを示す添え字ｘ（ｘ＝０，１，２，…Ｎ）を付し、「演算器３０x」と表記するものとする。
【００１６】
温度センサ３２それぞれは、各演算器３０xの近傍に配置されており、各演算器３０xが演算を開始したときの温度Ｔsxと、演算を終了したときの温度Ｔexとを計測し、計測結果をデータ分配部２０に対して送信する。なお、温度センサ３２は、ＦＰＧＡ３８に付属するセンサを流用してもよいし、ＦＰＧＡ３８に新たに温度センサ３２を設けてもよい。
【００１７】
データ分配部２０は、ＣＰＵ９０から受信した演算対象のデータの各演算器３０xへの分配比率を決定し、分配比率に従って各演算器３０xに対してデータを投入する。図２には、データ分配部２０の機能ブロック図が示されている。なお、図２の各部の機能は、ＦＰＧＡの回路により実現されている。ただし、これに限らず、データ分配部２０は、ＦＰＧＡ以外の回路により実現されてもよい。
【００１８】
データ分配部２０は、図２に示すように、取得部としての演算器情報収集部２２と、算出部及び決定部としてのデータ分配比率計算部２４と、演算データ取得部２６と、データ投入部２８と、を有する。
【００１９】
演算器情報収集部２２は、演算器３０xから入力される演算開始、終了を示す情報や、温度センサ３２から入力される温度情報を収集する。また、演算器情報収集部２２は、カウンタ（時計）を有している。したがって、演算器情報収集部２２は、演算器３０xから演算開始の情報を受信した場合に、カウンタが示す演算開始時刻ｔsxを取得し、温度センサ３２から取得した演算開始温度Ｔsxとともに演算器情報管理テーブル１５に格納する。また、演算器情報収集部２２は、演算器３０xから演算終了の情報を受信した場合に、カウンタが示す演算終了時刻ｔexを取得し、温度センサ３２から取得した演算終了温度Ｔexとともに演算器情報管理テーブル１５に格納する。ここで、図３には、演算器情報管理テーブル１５のデータ構造が示されている。演算器情報管理テーブル１５には、各演算器３０xに対応付けて、上述した、演算開始時刻ｔsx、演算開始温度Ｔsx、演算終了時刻ｔex、演算終了温度Ｔexを格納できるとともに、後述する処理性能Ｐxや、データ分配比率Ｍxも格納することができる。
【００２０】
データ分配比率計算部２４は、演算器情報管理テーブル１５に格納されているデータに基づいて、各演算器３０xに対するデータの分配比率を計算する。なお、データの分配比率の具体的な計算方法については、後述する。なお、データ分配比率計算部２４は、計算したデータ分配比率Ｍxや、データ分配比率を計算する途中で求まる処理性能Ｐxを、図３の演算器情報管理テーブル１５に格納する。
【００２１】
演算データ取得部２６は、ＣＰＵ９０から入力される演算データを取得し、データ投入部２８に入力する。
【００２２】
データ投入部２８は、データ分配比率計算部２４が計算したデータ分配比率の計算結果に従って、演算データ取得部２６から入力されたデータを分配し、各演算器３０xに対して投入する。各演算器３０xでは、データ投入部２８から投入されたデータの演算を実行する。
【００２３】
（データ分配比率計算部２４及びデータ投入部２８の処理）
図４には、データ分配比率計算部２４及びデータ投入部２８の処理の流れがフローチャートにて示されている。以下、図４のフローチャートに沿って、データ分配比率計算部２４及びデータ投入部２８の処理について説明する。なお、図４の処理の前提として、情報処理装置１０は、例えば電源投入直後など、各演算器３０xに対するデータ分配比率が定まっていない状態であるものとする。
【００２４】
データ分配比率計算部２４は、図４のステップＳ１０において、各演算器３０xのデータ分配比率を均等に設定する。すなわち、各演算器３０xのデータ分配比率Ｍx（Ｍ0、Ｍ1、…、ＭN）をＭ0＝Ｍ1＝…＝ＭN＝ｍとする。なお、ｍは、１００（％）を演算器３０xの数（Ｎ＋１）で除した数である。
【００２５】
次いで、ステップＳ１２では、データ投入部２８が、データ分配比率（ここでは、均等な分配比率）に従って、各演算器３０xにデータを投入し、各演算器３０xでデータの演算を実行する。なお、各演算器３０xによる演算の際には、演算器情報収集部２２が、各演算器３０xの演算終了時刻ｔexと、演算開始時刻ｔsxとを取得し、演算器情報管理テーブル１５に格納するとともに、各演算器３０xの演算終了温度Ｔexと、演算開始温度Ｔsxとを取得し、演算器情報管理テーブル１５に格納する。
【００２６】
次いで、ステップＳ１４では、データ分配比率計算部２４が、各演算器３０xの演算時間から各演算器の基準処理時間を算出する。この場合、データ分配比率計算部２４は、各演算器３０xの演算終了時刻ｔexと、演算開始時刻ｔsxとを用いて、各演算器３０xの基準処理時間Ｐxを次式（１）より算出する。なお、基準処理時間Ｐxは、各演算器３０xの処理性能を意味する。したがって、データ分配比率計算部２４は、算出した基準処理時間Ｐxを処理性能Ｐxとして演算器情報管理テーブル１５に格納する。
Ｐx＝ｔex―ｔsx        …（１）
【００２７】
次いで、ステップＳ１６では、データ分配比率計算部２４が、演算器情報管理テーブル１５を参照して、直前の演算の記録から、演算器３０xごとの温度上昇率を算出する。なお、温度上昇率とは、各演算器３０xが演算を行っている間の、１秒ごとの上昇温度を意味する。データ分配比率計算部２４は、具体的には、演算器情報管理テーブル１５に格納されている、各演算器３０xの演算終了時刻ｔexと、演算開始時刻ｔsxと、演算終了温度Ｔexと、演算開始温度Ｔsxを用いて、次式（２）から各演算器３０xの温度上昇率ΔＴxを算出する。
ΔＴx＝（Ｔex−Ｔsx）／（ｔex−ｔsx）      …（２）
【００２８】
なお、この段階では、ΔＴxとして、各演算器３０xが均等に分配されたデータを演算したときの温度上昇率が算出されることになる。
【００２９】
次いで、ステップＳ１８では、データ分配比率計算部２４が、各演算器３０xの前回の演算終了温度Ｔex（各演算器３０xの直近の温度）と、ステップＳ１６で算出した温度上昇率ΔＴxに基づいて、現時点において演算器３０xそれぞれに均等なデータを分配して演算させた場合に予想される各演算器３０xの予想消費電力を算出する。具体的には、演算終了時の予想温度（Ｔex＋Ｐx・ΔＴx）と、予想消費電力Ｃxの関係を示す関数ｆを用いて、次式（３）より、各演算器３０xの予想消費電力Ｃxを算出する。
Ｃx＝ｆ（Ｔex＋Ｐx・ΔＴx）      …（３）
【００３０】
なお、演算特性により、Ｐx・ΔＴxでは、演算後の上昇温度を正確に求めることができない場合がある。このような場合には、予め補正係数αを定めておき、上昇温度をα・Ｐx・ΔＴxにより求めるようにしてもよい。
【００３１】
次いで、ステップＳ２０では、データ分配比率計算部２４が、各演算器３０xの予想消費電力Ｃxに基づいて、各演算器３０xに対するデータ分配比率Ｍxを決定する。具体的には、データ分配比率計算部２４は、次式（４）で表されるＱxを用いて、
【００３２】
【数１】
2018151920.tif 000003
予想消費電力が大きいほど処理するデータ量が少なくなるように、次式（５）により、データ分配比率Ｍxを算出する。
【００３３】
【数２】
2018151920.tif 000004
ここで、右辺の分母は、すべての演算器３０xの値Ｑxの総和を意味する。
【００３４】
なお、データ分配比率計算部２４は、算出したデータ分配比率Ｍxを演算器情報管理テーブル１５に格納（上書き）する。
【００３５】
次いで、ステップＳ２２では、データ投入部２８が、ステップＳ２０で算出した新たなデータ分配比率に従って、各演算器３０xにデータを投入し、演算を実行する。なお、演算器情報収集部２２は、演算の際に得られた、各演算器３０xの演算終了時刻ｔex、演算開始時刻ｔsx、演算終了温度Ｔex、演算開始温度Ｔsxを演算器情報管理テーブル１５に格納する。
【００３６】
ここで、本実施形態では、上述のように、上式（３）に基づいて各演算器３０xの予想消費電力を算出し、算出した予想消費電力が大きいほど処理するデータ量が少なくなるように、上式（５）に基づいてデータ分配比率Ｍxを算出している。これにより、各演算器３０xの状態を効率よく処理できる状態に維持するようにデータ分配比率を決定することができる。ここで、図５（ａ）、図５（ｂ）に基づいて、データ分配比率の変化について、簡単に説明する。例えば、図４のステップＳ１０において、図５（ａ）に示すように９つのデータが３つの演算器３０A、３０B、３０Cに均等に（３つずつ）分配されたとする。そして、ステップＳ１８において算出された、演算器３０Aの予想消費電力が他の演算器３０B、３０Cよりも大きかった場合には、図５（ｂ）に示すように、演算器３０Aのデータ分配比率を減らし、他の演算器３０B、３０Cの分配比率を増やすようにしている。
【００３７】
その後は、ステップＳ１６に戻り、ステップＳ１６〜Ｓ２２を繰り返し実行する。この場合、繰り返し処理においては、毎回、演算器３０xの温度上昇率を算出し（Ｓ１６）、温度上昇率に基づいて各演算器３０xが均等なデータを演算した場合の予想消費電力を算出し（Ｓ１８）、算出した予想消費電力に基づいて、データ分配比率を更新して、更新後のデータ分配比率に従って、各演算器３０xにデータを投入する。これにより、本実施形態では、各演算器３０xにデータ処理を行わせるたびに、温度上昇率を計算しなおし、データ分配比率を適宜更新することができる。すなわち、本実施形態では、データ分配比率計算部２４は、データ分配比率を更新する更新部としても機能している。
【００３８】
以上、詳細に説明したように、本実施形態によると、データ分配比率計算部２４は、複数の演算器３０xそれぞれが均等な（一定量の）データを処理するのに要した基準処理時間（Ｐx）を計算し、温度センサ３２から取得した各演算器３０xのデータ演算中の温度の変化量に基づいて、各演算器３０xの単位時間当たりの温度上昇率（ΔＴｘ）を算出する。そして、データ分配比率計算部２４は、各演算器３０xの基準処理時間（Ｐx）及び単位時間当たりの温度上昇率（ΔＴx）と、各演算器３０xそれぞれの直近の温度（Ｔex）と、に基づいて、各演算器３０xが均等なデータを処理した場合の予想消費電力（Ｃx）を算出し、算出した予想消費電力が大きいほど処理するデータ量が少なくなるように各演算器３０xに対するデータの分配比率を決定する（上式（５））。また、データ投入部２８は、演算データ取得部２６が取得したデータを決定した分配比率に従って、各演算器３０xに投入する。これにより、大規模演算を行う際に、データ投入部２８から投入されたデータを各演算器３０xが演算することで、各演算器３０xの状態を効率よく処理できる状態に維持することができる。また、本実施形態では、各演算器３０xの状態を効率よく処理できる状態に維持するようにデータを分配することで、演算器３０xの一部の温度が高くなることを抑制することができる。したがって、冷却ファン等を用いた演算器３０xの強制冷却の必要性を低減することができる。また、本実施形態では、演算内容等を解析しなくても、各演算器３０xへのデータ分配比率を簡易かつ適切に設定することができる。
【００３９】
また、本実施形態では、各演算器３０xは、同一基板上に実装されたＦＰＧＡ３８である。すなわち、ＣＰＵ９０から入力された演算データをケーブルを介さずに短時間で各演算器３０x（ＦＰＧＡ３８）に投入する必要がある情報処理装置１０において、演算内容等の解析をせずに短時間で、各演算器３０xのデータ分配比率を適切に設定することができる。
【００４０】
また、本実施形態では、データ投入部２８が投入したデータを各演算器３０xが演算している間の、単位時間当たりの温度上昇率（ΔＴx）を算出し（Ｓ１６）、算出したΔＴxを用いて、データ分配比率（Ｍx）を更新する。これにより、各演算器３０xの状態に応じて、データ分配比率を適切に更新するフィードバック制御を行うことができる。
【００４１】
なお、上記実施形態では、演算器３０xそれぞれが、ＦＰＧＡ３８により実現されている場合について説明したが、これに限らず、ＡＳＩＣ（Application Specific Integrated Circuit）などの他のハードウェアにより実現されてもよい。
【００４２】
なお、上記実施形態では、各演算器３０xが同一基板上に実装されたＦＰＧＡである場合について説明したが、これに限らず、演算器は、同一基板上に実装されたＣＰＵであってもよい。例えば、図６（ａ）に示すように、複数のＣＰＵ１２０に対して、ＣＰＵデータ分配装置１１０からデータを分配する場合に、ＣＰＵデータ分配装置１１０が、図４と同様の処理を実行することとしてもよい。この場合、ＣＰＵデータ分配装置１１０は、ＣＰＵ１２０の温度を検出するセンサの検出結果を取得することで、図４と同様の処理を実現することができる。この場合においても、ＣＰＵデータ分配装置１１０は、複数のＣＰＵ１２０に対して適切にデータを分配することが可能である。なお、ＣＰＵデータ分配装置１１０は、図４と同様の処理をプログラムにより実現することができる。なお、ＣＰＵ１２０は、同一の基板上に実装されていなくてもよい。
【００４３】
また、図６（ｂ）に示すように、インターネットなどのネットワーク２８０に複数の演算装置（スレーブノード）２２０と、データ分配装置（マスターノード）２１０が接続されている場合において、データ分配装置２１０が、複数の演算装置２２０に対してデータを分配するときに、図４と同様の処理を実行することとしてもよい。この場合、データ分配装置２１０は、複数の演算装置２２０が有する温度センサから取得した検出結果を用いて、図４と同様の処理を実行する。この場合においても、データ分配装置２１０は、複数の演算装置２２０に対して適切にデータを分配することが可能である。なお、データ分配装置２１０は、図４と同様の処理をプログラムにより実現することができる。
【００４４】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００４５】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００４６】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【００４７】
なお、以上の実施形態の説明に関して、更に以下の付記を開示する。
（付記１）  複数の処理部それぞれが一定量のデータを処理するのに要した基準処理時間を取得する取得部と、
前記複数の処理部それぞれの温度を検出する検出部から、前記複数の処理部それぞれがデータを処理している間の温度の変化量を取得し、取得した前記温度の変化量に基づいて、前記複数の処理部それぞれの単位時間当たりの温度上昇率を算出する算出部と、
前記複数の処理部それぞれの前記基準処理時間及び前記単位時間当たりの温度上昇率と、前記検出部が検出した前記複数の処理部それぞれの直近の温度と、に基づいて、前記複数の処理部それぞれが前記一定量のデータを処理した場合の予想消費電力を算出し、算出した前記予想消費電力が大きいほど処理するデータ量が少なくなるように前記複数の処理部に対するデータの分配比率を決定する決定部と、
前記決定部が決定した前記分配比率で、前記複数の処理部それぞれにデータを投入するデータ投入部と、
を備えるデータ分配装置。
（付記２）  前記複数の処理部は、同一基板上に実装された演算器であることを特徴とする付記１に記載のデータ分配装置。
（付記３）  前記データ投入部が投入したデータを前記複数の処理部それぞれが処理している間の、前記複数の処理部それぞれの単位時間当たりの温度上昇率を算出し、算出した前記単位時間当たりの温度上昇率を用いて、前記決定部が決定した前記分配比率を更新する更新部を更に備える付記１又は２に記載のデータ分配装置。
（付記４）  複数の処理部それぞれにデータを投入するデータ分配装置が実行する、各処理部に対するデータ分配比率の決定方法であって、
複数の処理部それぞれが一定量のデータを処理するのに要した基準処理時間を取得し、
前記複数の処理部それぞれの温度を検出する検出部から、前記複数の処理部それぞれがデータを処理している間の温度の変化量を取得し、取得した前記温度の変化量に基づいて、前記複数の処理部それぞれの単位時間当たりの温度上昇率を算出し、
前記複数の処理部それぞれの前記基準処理時間及び前記単位時間当たりの温度上昇率と、前記検出部が検出した前記複数の処理部それぞれの直近の温度と、に基づいて、前記複数の処理部それぞれが前記一定量のデータを処理した場合の予想消費電力を算出し、算出した前記予想消費電力が大きいほど処理するデータ量が少なくなるように前記複数の処理部に対するデータの分配比率を決定する、
処理を前記データ分配装置が実行するデータ分配比率の決定方法。
（付記５）  前記複数の処理部は、同一基板上に実装された演算器であることを特徴とする付記４に記載のデータ分配比率の決定方法。
（付記６）  決定した前記分配比率で分配されたデータを前記複数の処理部それぞれが処理している間の、前記複数の処理部それぞれの単位時間当たりの温度上昇率を算出し、算出した前記単位時間当たりの温度上昇率を用いて、決定した前記分配比率を更新する、処理を前記データ分配装置が更に実行する付記４又は５に記載のデータ分配比率の決定方法。
（付記７）  複数の処理部それぞれにデータを投入するコンピュータに実行させる、各処理部に対するデータ分配比率の決定プログラムであって、
複数の処理部それぞれが一定量のデータを処理するのに要した基準処理時間を取得し、
前記複数の処理部それぞれの温度を検出する検出部から、前記複数の処理部それぞれがデータを処理している間の温度の変化量を取得し、取得した前記温度の変化量に基づいて、前記複数の処理部それぞれの単位時間当たりの温度上昇率を算出し、
前記複数の処理部それぞれの前記基準処理時間及び前記単位時間当たりの温度上昇率と、前記検出部が検出した前記複数の処理部それぞれの直近の温度と、に基づいて、前記複数の処理部それぞれが前記一定量のデータを処理した場合の予想消費電力を算出し、算出した前記予想消費電力が大きいほど処理するデータ量が少なくなるように前記複数の処理部に対するデータの分配比率を決定する、
処理を前記コンピュータに実行させるためのデータ分配比率の決定プログラム。
【符号の説明】
【００４８】
２０  データ分配部（データ分配装置）
２２  演算器情報収集部（取得部）
２４  データ分配比率計算部（算出部、決定部、更新部）
２８  データ投入部
３０x  演算器（処理部）
３２  温度センサ（検出部）
【図１】
2018151920.tif 000005
【図２】
2018151920.tif 000006
【図３】
2018151920.tif 000007
【図４】
2018151920.tif 000008
【図５】
2018151920.tif 000009
【図６】
2018151920.tif 000010