一台以上のスレーブと、前記スレーブとネットワークを介して接続されているマスターとから構成され、タスクを前記スレーブにて並列分散処理する並列分散処理システム、により実行される並列分散処理方法であって、前記スレーブが、当該スレーブに割り当てられたタスクを実行すると共に、並列分散処理システム内で予め定められた計測単位を用いて当該タスクの実行を計測し、計測結果を当該スレーブの格納手段に格納する処理ステップと、前記スレーブが、当該スレーブの前記格納手段に格納された計測結果を前記マスターに送信する第1の報告ステップと、前記マスターが、前記スレーブから計測結果を受信し、当該計測結果と送信元の当該スレーブを識別する情報とを関連付け、集計結果として当該マスターの集計手段に格納する通信ステップと、前記マスターが、前記集計手段に格納された集計結果に基づいて、前記スレーブに対する指示情報を生成し、当該スレーブに送信する判断ステップと、前記スレーブが、前記マスターから指示情報を受信する第2の報告ステップと、前記スレーブが、前記第2の報告ステップにおいて受信された指示情報に基づいて、当該スレーブの動作を制御する制御ステップと、を備える並列分散処理方法。前記判断ステップは、前記マスターが、前記集計手段に格納された集計結果のうち、前記通信ステップにおける前記送信元のスレーブからの一受信当たりの集計結果と、前記通信ステップにおける前記送信元のスレーブ以外の前記スレーブからの一受信当たりの集計結果とを比較し、比較結果に基づいて前記送信元のスレーブに対する指示情報を生成し、前記送信元のスレーブに送信する、ことを特徴とする請求項1に記載の並列分散処理方法。前記通信ステップは、前記マスターが、前記送信元のスレーブからの前回の計測結果の受信からの経過時間を更に関連付け、集計結果として当該マスターの集計手段に格納し、前記判断ステップは、前記マスターが、前記集計手段に格納された集計結果のうち、前記通信ステップにおける前記送信元のスレーブからの一受信の集計結果の単位時間当たりの値と、前記通信ステップにおける前記送信元のスレーブ以外の前記スレーブからの一受信の集計結果の単位時間当たりの値とを比較し、比較結果に基づいて前記送信元のスレーブに対する指示情報を生成し、前記送信元のスレーブに送信する、ことを特徴とする請求項1に記載の並列分散処理方法。前記判断ステップは、前記マスターが、前記集計手段に格納された集計結果のうち、前記送信元のスレーブの全ての集計結果の平均値と、前記送信元のスレーブ以外の前記スレーブの全ての集計結果の平均値とを比較し、比較結果に基づいて前記送信元のスレーブに対する指示情報を生成し、前記送信元のスレーブに送信する、ことを特徴とする請求項1に記載の並列分散処理方法。前記通信ステップは、前記マスターが、前記送信元のスレーブからの前回の計測結果の受信からの経過時間を更に関連付け、集計結果として当該マスターの集計手段に格納し、前記判断ステップは、前記マスターが、前記集計手段に格納された集計結果のうち、前記送信元のスレーブの全ての集計結果の単位時間当たりの値の平均値と、前記送信元のスレーブ以外の前記スレーブの全ての集計結果の単位時間当たりの値の平均値とを比較し、比較結果に基づいて前記送信元のスレーブに対する指示情報を生成し、前記送信元のスレーブに送信する、ことを特徴とする請求項1に記載の並列分散処理方法。前記判断ステップは、前記マスターが、前記集計手段に格納された集計結果のうち、前記通信ステップにおける前記スレーブからの一受信当たりの集計結果の、全ての前記スレーブに関する集計結果に対して統計処理を行い、統計処理結果に基づいて前記送信元のスレーブに対する指示情報を生成し、前記送信元のスレーブに送信する、ことを特徴とする請求項1に記載の並列分散処理方法。前記通信ステップは、前記マスターが、前記送信元のスレーブからの前回の計測結果の受信からの経過時間を更に関連付け、集計結果として当該マスターの集計手段に格納し、前記判断ステップは、前記マスターが、前記集計手段に格納された集計結果のうち、前記通信ステップにおける前記スレーブからの一受信の集計結果の単位時間当たりの値の、全ての前記スレーブに関する値に対して統計処理を行い、統計処理結果に基づいて前記送信元のスレーブに対する指示情報を生成し、前記送信元のスレーブに送信する、ことを特徴とする請求項1に記載の並列分散処理方法。前記判断ステップは、前記集計手段に格納された集計結果のうち、前記通信ステップにおける前記スレーブからの一受信当たりの集計結果の、全ての前記スレーブに関する平均値が、予め定められた閾値を超えた場合に、前記マスターが、当該マスターの負荷を下げる旨の前記スレーブに対する指示情報を生成し、当該スレーブに送信する、ことを特徴とする請求項1~7の何れか一項に記載の並列分散処理方法。一台以上のスレーブと、前記スレーブとネットワークを介して接続されているマスターとから構成され、タスクを前記スレーブにて並列分散処理する並列分散処理システムであって、前記スレーブは、当該スレーブに割り当てられたタスクを実行すると共に、並列分散処理システム内で予め定められた計測単位を用いて当該タスクの実行を計測し、計測結果を当該スレーブの格納手段に格納する処理手段と、当該スレーブの前記格納手段に格納された計測結果を前記マスターに送信し、当該送信の応答として前記マスターから指示情報を受信する報告手段と、前記報告手段によって受信された指示情報に基づいて、当該スレーブの動作を制御する制御手段と、を備え、前記マスターは、前記スレーブから計測結果を受信し、当該計測結果と送信元の当該スレーブを識別する情報とを関連付け、集計結果として当該マスターの集計手段に格納する通信手段と、前記集計手段に格納された集計結果に基づいて、前記スレーブに対する指示情報を生成し、当該スレーブに送信する判断手段と、を備える並列分散処理システム。マスタースレーブ型システムにおいて、全タスクの処理をより早く終えられるよう、タスクのスレーブへの割り当てスケジューリングを工夫することが、マスターには求められる。そのようなスケジューリングを実現するためには、マスターは、各スレーブのタスクの処理効率を監視して、より処理効率の高いスレーブへタスクを優先的に割り当てたり、システム内の計算機プールに未使用の計算機がある場合は、処理効率の低いスレーブを停止して計算機プール内の他の計算機を新たにスレーブにしたりする等の工夫が必要となる。ここで、特許文献1や非特許文献1に記載の技術では、監視対象の計算機やプロセスの外側から、CPU使用率やメモリ使用率等の汎用的かつ客観的に監視可能な指標を監視することになる。特許文献1や非特許文献1に記載の技術では、CPU使用率やメモリ使用率が高い計算機またはプロセスには、高い負荷がかかっていることは検出できるが、それゆえに、タスクの処理効率が低いと判断することはできない。なぜならば、タスクを高い効率で処理しているからこそ、CPU使用率やメモリ使用率が高くなっていることもあり得るためである。言い換えると、特許文献1や非特許文献1に記載の技術では、外部から監視できる指標のみから、タスクの処理効率を間接的に推測することしかできない。また、特許文献1に記載の技術では、監視コンピュータを用意及び運用するコストや手間が発生し、非特許文献1に記載の技術では、監視ソフトウェアを動作させることによる余計な負荷が発生することも問題である。一方、特許文献2や特許文献3に記載の技術では、外部の監視コンピュータや監視ソフトウェアを必要としない。しかしながら、特許文献2に記載の技術は、サーバとクライアントとの間の通信速度を監視するのみであり、通信速度だけではタスクの処理効率を測ることはできない。また、特許文献3に記載の技術は、クライアントの活動状況を監視するのみであり、クライアントの活動状況だけではタスクの処理効率を測ることはできない。本発明は、上記のような課題を解決するために成されたものであり、マスタースレーブ型システムにおいて、外部の監視コンピュータや監視プログラムを導入することなく、スレーブの処理効率をマスターが把握することができる並列分散処理方法及び並列分散処理システムを提供することを目的とする。本発明の一側面に係る並列分散処理方法は、一台以上のスレーブと、スレーブとネットワークを介して接続されているマスターとから構成され、タスクをスレーブにて並列分散処理する並列分散処理システム、により実行される並列分散処理方法であって、スレーブが、当該スレーブに割り当てられたタスクを実行すると共に、並列分散処理システム内で予め定められた計測単位を用いて当該タスクの実行を計測し、計測結果を当該スレーブの格納手段に格納する処理ステップと、スレーブが、当該スレーブの格納手段に格納された計測結果をマスターに送信する第1の報告ステップと、マスターが、スレーブから計測結果を受信し、当該計測結果と送信元の当該スレーブを識別する情報とを関連付け、集計結果として当該マスターの集計手段に格納する通信ステップと、マスターが、集計手段に格納された集計結果に基づいて、スレーブに対する指示情報を生成し、当該スレーブに送信する判断ステップと、スレーブが、マスターから指示情報を受信する第2の報告ステップと、スレーブが、第2の報告ステップにおいて受信された指示情報に基づいて、当該スレーブの動作を制御する制御ステップと、を備える。このように、スレーブにて、並列分散処理システム内で予め定められた計測単位を用いてタスクの実行が計測され、計測結果がマスターに送信されることで、マスターは、外部の監視コンピュータや監視プログラムを導入することなく、スレーブの処理効率を把握することができる。そして、マスターは、スレーブの処理効率に基づいてスレーブに指示を出し、スレーブは指示に基づいて動作を制御することで、マスターは、スレーブの処理効率に基づき、システム全体の動作を動的に制御することができる。また、判断ステップは、マスターが、集計手段に格納された集計結果のうち、通信ステップにおける送信元のスレーブからの一受信当たりの集計結果と、通信ステップにおける送信元のスレーブ以外のスレーブからの一受信当たりの集計結果とを比較し、比較結果に基づいて送信元のスレーブに対する指示情報を生成し、送信元のスレーブに送信してもよい。かかる場合、マスターは、対象スレーブの一受信当たりの集計結果と、他のスレーブの一受信当たりの集計結果との比較結果に基づいて、対象スレーブに指示を出すことができるため、より正確に対象スレーブの処理効率を把握することができると共に、より効率的にシステム全体の動作を動的に制御することができる。また、通信ステップは、マスターが、送信元のスレーブからの前回の計測結果の受信からの経過時間を更に関連付け、集計結果として当該マスターの集計手段に格納し、判断ステップは、マスターが、集計手段に格納された集計結果のうち、通信ステップにおける送信元のスレーブからの一受信の集計結果の単位時間当たりの値と、通信ステップにおける送信元のスレーブ以外のスレーブからの一受信の集計結果の単位時間当たりの値とを比較し、比較結果に基づいて送信元のスレーブに対する指示情報を生成し、送信元のスレーブに送信してもよい。かかる場合、マスターは、対象スレーブの一受信の集計結果の単位時間当たりの値と、他のスレーブの一受信の集計結果の単位時間当たりの値との比較結果に基づいて、対象スレーブに指示を出すことができるため、より正確に対象スレーブの処理効率を把握することができると共に、より効率的にシステム全体の動作を動的に制御することができる。また、判断ステップは、マスターが、集計手段に格納された集計結果のうち、送信元のスレーブの全ての集計結果の平均値と、送信元のスレーブ以外のスレーブの全ての集計結果の平均値とを比較し、比較結果に基づいて送信元のスレーブに対する指示情報を生成し、送信元のスレーブに送信してもよい。かかる場合、マスターは、対象スレーブの全ての集計結果の平均値と、他のスレーブの全ての集計結果の平均値との比較結果に基づいて、対象スレーブに指示を出すことができるため、より正確に対象スレーブの処理効率を把握することができると共に、より効率的にシステム全体の動作を動的に制御することができる。また、通信ステップは、マスターが、送信元のスレーブからの前回の計測結果の受信からの経過時間を更に関連付け、集計結果として当該マスターの集計手段に格納し、判断ステップは、マスターが、集計手段に格納された集計結果のうち、送信元のスレーブの全ての集計結果の単位時間当たりの値の平均値と、送信元のスレーブ以外のスレーブの全ての集計結果の単位時間当たりの値の平均値とを比較し、比較結果に基づいて送信元のスレーブに対する指示情報を生成し、送信元のスレーブに送信してもよい。かかる場合、マスターは、対象スレーブの全ての集計結果の単位時間当たりの値の平均値と、他のスレーブの全ての集計結果の単位時間当たりの値の平均値との比較結果に基づいて、対象スレーブに指示を出すことができるため、より正確に対象スレーブの処理効率を把握することができると共に、より効率的にシステム全体の動作を動的に制御することができる。また、判断ステップは、マスターが、集計手段に格納された集計結果のうち、通信ステップにおけるスレーブからの一受信当たりの集計結果の、全てのスレーブに関する集計結果に対して統計処理を行い、統計処理結果に基づいて送信元のスレーブに対する指示情報を生成し、送信元のスレーブに送信してもよい。かかる場合、マスターは、スレーブからの一受信当たりの集計結果の、全てのスレーブに関する集計結果に対しての統計処理結果に基づいて、スレーブに指示を出すことができるため、より正確にスレーブの処理効率を把握することができると共に、より効率的にシステム全体の動作を動的に制御することができる。また、通信ステップは、マスターが、送信元のスレーブからの前回の計測結果の受信からの経過時間を更に関連付け、集計結果として当該マスターの集計手段に格納し、判断ステップは、マスターが、集計手段に格納された集計結果のうち、通信ステップにおけるスレーブからの一受信の集計結果の単位時間当たりの値の、全てのスレーブに関する値に対して統計処理を行い、統計処理結果に基づいて送信元のスレーブに対する指示情報を生成し、送信元のスレーブに送信してもよい。かかる場合、マスターは、スレーブからの一受信の集計結果の単位時間当たりの値の、全てのスレーブに関する値に対しての統計処理結果に基づいて、スレーブに指示を出すことができるため、より正確にスレーブの処理効率を把握することができると共に、より効率的にシステム全体の動作を動的に制御することができる。また、判断ステップは、集計手段に格納された集計結果のうち、通信ステップにおけるスレーブからの一受信当たりの集計結果の、全てのスレーブに関する平均値が、予め定められた閾値を超えた場合に、マスターが、当該マスターの負荷を下げる旨のスレーブに対する指示情報を生成し、当該スレーブに送信してもよい。かかる場合、マスターは、例えば、マスターの能力を超えた台数のスレーブが接続されていることを検出できるようになり、マスターの能力、または能力に応じて設定された条件に応じてスレーブの接続台数を動的に制御することが可能となる。ところで、並列分散処理方法に係る発明は、システムの発明として捉えることができ、同様の作用効果を奏する。システムの発明は、以下のように記述することができる。本発明の一側面に係る並列分散処理システムは、一台以上のスレーブと、スレーブとネットワークを介して接続されているマスターとから構成され、タスクをスレーブにて並列分散処理する並列分散処理システムであって、スレーブは、当該スレーブに割り当てられたタスクを実行すると共に、並列分散処理システム内で予め定められた計測単位を用いて当該タスクの実行を計測し、計測結果を当該スレーブの格納手段に格納する処理手段と、当該スレーブの格納手段に格納された計測結果をマスターに送信し、当該送信の応答としてマスターから指示情報を受信する報告手段と、報告手段によって受信された指示情報に基づいて、当該スレーブの動作を制御する制御手段と、を備え、マスターは、スレーブから計測結果を受信し、当該計測結果と送信元の当該スレーブを識別する情報とを関連付け、集計結果として当該マスターの集計手段に格納する通信手段と、集計手段に格納された集計結果に基づいて、スレーブに対する指示情報を生成し、当該スレーブに送信する判断手段と、を備える。本発明によれば、マスタースレーブ型システムにおいて、外部の監視コンピュータや監視プログラムを導入することなく、スレーブの処理効率をマスターが把握することができる。以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。並列分散処理システムの概要まず、図1を用いて、本発明の一実施形態に係る並列分散処理システムの全体像を説明する。図1は、並列分散処理システム4の概要を示す図である。並列分散処理システム4は、1台以上のスレーブ1と、マスター2とを含んで構成される。並列分散処理システム4において、各スレーブ1とマスター2とは、ネットワーク3を介して互いに通信可能である。スレーブ1及びマスター2は、それぞれサーバ装置であるが、これに限定されず、それぞれ、PCPersonalComputer、ノートPC、及び携帯電話等の移動通信端末等であってもよい。ネットワーク3は、例えばインターネット網や移動通信ネットワーク等により構成されているが、これらに限定されない。並列分散処理システム4は、いわゆるマスタースレーブ型のクラスタ計算機の集合であり、並列分散処理システム4において、多数のタスク処理内容であって、ただし個々は小さい一様なタスクを、1台以上のスレーブ1間で分散処理することで、並列分散処理が実行される。また、並列分散処理システム4では、マスター2が、全スレーブ1を管理している。スレーブ1の構成図2は、本発明の一実施形態に係るスレーブ1の構成を示す図である。図2に示すスレーブ1は、処理部10処理手段、格納部11格納手段、報告部12報告手段、及び制御部13制御手段を含んで構成される。図4は、スレーブ1のハードウェア構成の一例を示す。スレーブ1は、ハードウェア構成として、CPU50と、RAM51と、ROM52と、キーボードやテンキーなどから成る入力部53と、外部との通信を行う通信部54と、補助記憶装置55と、ディスプレイなどから成る56と、を備える。前述したスレーブ1の各機能ブロックの機能は、RAM51などにプログラムやデータなどを読み込ませ、CPU50の制御の下でプログラムを実行することで実現される。なお、後述するマスター2も、上記図4のハードウェア構成と同様である。以下、図2に示すスレーブ1の各機能ブロックについて説明する。処理部10は、スレーブ1に割り当てられたタスクを実行すると共に、並列分散処理システム4内で予め定められた計測単位を用いて当該タスクの実行を計測し、計測結果を格納部11に格納する。処理部10は、スレーブ1に割り当てられたタスクが無くなるまで、この動作を繰り返す。計測単位については、並列分散処理システム4内の全スレーブ1とマスター2との間で予め決定しておく必要がある。計測単位は全スレーブ1において等しく計測またはカウントできるものなら何でもよく、例えば処理したタスク数や秒数等が挙げられる。本実施形態では、計測単位を処理したタスク数として説明する。なお、タスクの総数が非常に多く、個々のタスクは小さくて一様であるような状況を対象としている。処理部10は、計測結果を格納部11に格納する際に、一定間隔ごとに計測結果を格納する。ここで、一定間隔とは、一定の時間でもよいし、タスクを一定数処理する度でもよいが、並列分散処理システム4内の全スレーブ1とマスター2との間で予め決定しておく必要がある。また、処理部10は、処理結果を格納部11に格納すると、処理部10が保持する計測結果をゼロにリセットする。また、処理部10は、計測結果を格納部11に格納する際に、計測結果を格納するかどうかを判断してもよい。判断基準としては、例えば前回格納時から1秒以上経過していたら格納するやタスクを1個処理する毎に格納する等が挙げられる。判断基準は、並列分散処理システム4内の全スレーブ1で統一されている必要があるが、プログラム的に固定されていても良いし、設定ファイル等を用いて設定するようにしてもよい。本実施形態では、処理部10は、タスクを1個処理する毎に格納するという判断基準を用いて、計測結果を格納部11に格納するかどうかを判断するものとする。格納部11には、処理部10により計測結果が格納される。格納部11では、計測結果が格納される度に、格納される計測結果を上書きすることなく、それまでに格納済みの計測結果に加算する。報告部12は、格納部11に格納された計測結果を取り出し、取り出した計測結果をマスター2に送信する。そして、報告部12は、当該送信の応答としてマスター2から指示情報を受信し、受信した指示情報を報告部12に出力する。報告部12は、格納部11に格納された計測結果を取り出すと、格納部11の計測結果をゼロにリセットする。また、報告部12は、取り出した計測結果をマスター2に送信する際に、取り出した計測結果をマスター2に報告すべきかどうか、つまり、計測結果が1以上であるかどうかを判断してもよい。この場合、報告部12は、計測結果がゼロである際は、報告すべき計測結果が無いため待機し、報告すべき計測結果がある際は、取り出した計測結果を実際にマスター2に送信する。また、報告部12は、取り出した計測結果をマスター2に送信する際に、従来の並列分散処理技術における、スレーブからマスターへの処理結果の逐次報告と一緒に送信してもよい。制御部13は、報告部12から出力された指示情報を取得し、当該指示情報に基づいてスレーブ1の動作を制御する。指示情報の具体例としては、特に何もしない、処理部10による処理が実行されている主スレッド、及び報告部12による処理が実行されている別スレッドの動作を即刻停止する処理部10が計測結果を格納部11に格納する際に用いる判断基準を変更する等が挙げられる。マスター2の構成図3は、本発明の一実施形態に係るマスター2の構成を示す図である。図3に示すマスター2は、通信部20通信手段、集計部21集計手段、判断部22判断手段、及び表示部23を含んで構成される。以下、図3に示すマスター2の各機能ブロックについて説明する。通信部20は、スレーブ1から計測結果を受信し、当該計測結果と送信元の当該スレーブ1を識別する情報とを関連付け、集計結果として集計部21に格納する。スレーブ1を識別する情報の具体例としては、スレーブ1のIPアドレス等が挙げられる。通信部20は、送信元のスレーブ1からの前回の計測結果の受信からの経過時間、又は送信元のスレーブ1からの計測結果の受信時刻を更に関連付け、集計結果として集計部21に格納してもよい。集計部21には、通信部20により、集計結果が格納される。集計部21では、例えば、集計結果に含まれるスレーブ1を識別する情報ごとに集計結果を格納及び集計するようにしてもよい。判断部22は、集計部21に格納された集計結果に基づいて、スレーブ1、マスター2及び並列分散処理システム4の状況や当該状況に伴う予測や指示等を判断し、判断結果に基づいてスレーブ1に対する指示情報を生成し、当該スレーブ1に送信する。判断内容としては、処理効率の低いスレーブ1の検出、マスター2自身の負荷の程度、又は並列分散処理システム4全体の処理効率から何らかの予測を行うこと等が挙げられる。以下では、判断部22の様々な処理パターンについて列挙する。これらの処理パターンの具体例については、後述のマスター2の各種実施形態の処理にて説明する。判断部22は、マスター2が、集計部21に格納された集計結果のうち、通信部20における送信元のスレーブ1からの一受信当たりの集計結果と、通信部20における送信元のスレーブ1以外のスレーブ1からの一受信当たりの集計結果とを比較し、比較結果に基づいて送信元のスレーブ1に対する指示情報を生成し、送信元のスレーブ1に送信してもよい。また、判断部22は、マスター2が、集計部21に格納された集計結果のうち、通信部20における送信元のスレーブ1からの一受信の集計結果の単位時間当たりの値と、通信部20における送信元のスレーブ1以外のスレーブ1からの一受信の集計結果の単位時間当たりの値とを比較し、比較結果に基づいて送信元のスレーブ1に対する指示情報を生成し、送信元のスレーブ1に送信してもよい。また、判断部22は、マスター2が、集計部21に格納された集計結果のうち、送信元のスレーブ1の全ての集計結果の平均値と、送信元のスレーブ1以外のスレーブ1の全ての集計結果の平均値とを比較し、比較結果に基づいて送信元のスレーブ1に対する指示情報を生成し、送信元のスレーブ1に送信してもよい。また、判断部22は、マスター2が、集計部21に格納された集計結果のうち、送信元のスレーブ1の全ての集計結果の単位時間当たりの値の平均値と、送信元のスレーブ1以外のスレーブ1の全ての集計結果の単位時間当たりの値の平均値とを比較し、比較結果に基づいて送信元のスレーブ1に対する指示情報を生成し、送信元のスレーブ1に送信してもよい。また、判断部22は、マスター2が、集計部21に格納された集計結果のうち、通信部20におけるスレーブ1からの一受信当たりの集計結果の、全てのスレーブ1に関する集計結果に対して統計処理を行い、統計処理結果に基づいて送信元のスレーブ1に対する指示情報を生成し、送信元のスレーブ1に送信してもよい。また、判断部22は、マスター2が、集計部21に格納された集計結果のうち、通信部20におけるスレーブ1からの一受信の集計結果の単位時間当たりの値の、全てのスレーブ1に関する値に対して統計処理を行い、統計処理結果に基づいて送信元のスレーブ1に対する指示情報を生成し、送信元のスレーブ1に送信してもよい。また、判断部22は、集計部21に格納された集計結果のうち、通信部20におけるスレーブ1からの一受信当たりの集計結果の、全てのスレーブ1に関する平均値が、予め定められた閾値を超えた場合に、マスター2が、当該マスターの負荷を下げる旨のスレーブ1に対する指示情報を生成し、当該スレーブ1に送信してよい。表示部23は、並列分散処理システム4のユーザに対して、並列分散処理システム4に関する情報を表示する。スレーブ1の処理の説明続いて、スレーブ1における並列分散処理方法の処理の手順を、図5を参照して説明する。まず、スレーブ1は、タスクが割り当てられると、主スレッドともう一つの別スレッドを開始する。主スレッド上では処理部10による処理、具体的にはステップ101~104が実行される。一方、別スレッド上では報告部12による処理、具体的にはステップ201~205が実行される。はじめに、スレーブ1の主スレッド上での処理について説明する。まず、処理部10は、スレーブ1に割り当てられたタスクがまだ残っているかどうかの判断を行うステップ101。ステップ101にて、タスクが残っていない場合、スレーブ1の動作は終了となり、主スレッドと別スレッドの両方が停止する。一方、ステップ101にて、タスクが残っている場合、処理部10は、タスクを一つ実行し、その傍らで予め定められた計測単位を用いてタスクの実行を計測するステップ102。次に、処理部10は、計測結果を格納部11へ格納するかどうかを判断するステップ103。ステップ103にて、格納部11へ格納すると判断した場合、処理部10は、計測した計測結果を格納部11へ格納し、処理部10の計測結果をゼロにリセットするステップ104。なお、格納部11に以前の計測結果が残っていた場合、上書きすることなく、今回の計測結果を加算する。ステップ103にて、格納部11へ格納しないと判断した場合、ステップ101に進む。スレーブ1の主スレッドは、以上のステップ101~104を、スレーブ1に割り当てられたタスクがなくなるまで繰り返す。続いて、スレーブ1の別スレッド上での処理について説明する。まず、報告部12は、格納部11から計測結果を取り出し、格納部11の計測結果をゼロにリセットするステップ201。次に、報告部12は、取り出した計測結果をマスター2に報告すべきかどうか、つまり、計測結果が1以上であるかどうかを判断するステップ202。ステップ202にて、計測結果がゼロであった場合は、報告すべき計測結果が無いため、判断結果はNOとなり、ステップ201に進む。ステップ202にて、報告すべき計測結果がある場合は、報告部12は、計測結果をマスター2へ送信するステップ203。次に、報告部12は、マスター2へ送信した計測結果に対する応答として、マスター2からの指示を受信するステップ204。次に、報告部12は、マスター2から受信した指示を制御部13へ引き渡すステップ205。指示を受け取った制御部13は、指示の内容に従って当該スレーブ1の動作を制御する。スレーブ1の別スレッドは、主スレッドが終了するまで、以上のステップ201~205を繰り返す。ここで、スレーブ1における主スレッドと別スレッドは互いに非同期に動作する。主スレッドは、別スレッドの動作とは無関係に、ベストエフォートでタスクの処理、計測、及び計測結果の格納を繰り返す。別スレッドも、主スレッドの動作とは無関係に、計測結果の取り出し、マスターへの計測結果の送信、マスターからの指示の受信、制御部13への指示の受け渡し、という一連の動作を、ベストエフォートで主スレッドが終了するまで繰り返す。ところで、並列分散処理システム4全体には1台以上のスレーブ1が存在するが、スレーブ1の台数と、ある一つのスレーブ1の主スレッドの処理効率との間には何ら因果関係は無く、無関係である。一方、スレーブ1の台数と、ある一つのスレーブ1の別スレッドの効率には因果関係がある。なぜならば、スレーブ1の台数が増えると、マスター2が受信及び応答すべき報告の送信元スレーブ1が増えるため、マスター2の負荷が高くなり、ある一つのスレーブ1から見ると、マスター2からの応答が返ってくるまでの時間以下、応答時間と呼ぶが長くなるためである。本実施形態のポイントは、スレーブ1における主スレッドと別スレッドの効率の比率を利用する、というところにある。マスター2の処理の第1の例の説明続いて、マスター2による並列分散処理方法の処理の第1の例を、図6を参照して説明する。まず、通信部20は、各スレーブ1からの計測結果を受信するステップ301。次に、通信部20は、時間情報を利用するか否かを判断するステップ302。なお、以下の説明では、計測結果の送信元スレーブ1毎の最新の計測結果だけを用いるのではなく、送信元スレーブ1毎の計測結果の履歴を集計部21に記憶し、その平均値を用いることとする。ステップ302にて、時間情報を利用しないと判断した場合、通信部20は、受信した計測結果と、当該計測結果の送信元のスレーブ1を識別する送信元IDとを関連付け、集計結果として集計部21に格納するステップ303。なお、時間情報を利用しないケースは、全スレーブ1の処理能力が均一、例えば、全スレーブ1のハードウェア構成が均一で、かつ、各スレーブ1とマスター2との間の接続経路も均一、すなわち通信遅延の差異を無視できる状況において有効なケースである。図9は、ステップ303の直後に、集計部21に格納された集計結果のテーブル例を示す図である。なお、図9及び後述の図10~図13において、計測単位は処理したタスク数である。図9に示すテーブル例から、送信元スレーブ1毎に計測結果の平均値を算出すると、送信元IDがAAAAAのスレーブ1以降、AAAAAと呼ぶ。他の送信IDのスレーブ1についても同様、CCCCC、及びEEEEEの計測結果の平均値は10であり、BBBBBの平均値は5、DDDDDの平均値は15である。ステップ303に続いて、判断部22は、集計結果の平均値に関して、集計結果が異常であるか否かを判断するステップ304。判断部22は、例えばBBBBBに関しては、次のような判断を行ってもよい。つまり、全スレーブ1とマスター2との間の接続経路が均一ならば、各スレーブ1から見た応答時間もほぼ均一なはずなのに、その間に処理できるタスク数が、BBBBBでは他の半分程度ということである。本実施形態では、各タスクは一様であることを前提とするため、BBBBBは何らかの原因により処理効率が低下していると判断できる。なぜなら、ハードウェア構成が均一である前提から、飛び抜けて低い値となるのはおかしいためである。一方、判断部22は、例えばDDDDDに関しては、次のような判断を行ってもよい。つまり、タスクは一様であり、かつ、ハードウェア構成が均一である前提から、DDDDDだけが飛び抜けて処理効率が高くなることも考え難い。つまり、何らかの原因、例えばネットワーク3接続の不調等により、DDDDDから見た応答時間が長くなっていると判断できる。なお計数結果がいくつ以上あるいは以下ならば異常と見なすかという判断のポリシーは、プログラム的に固定されていてもよいし、ポリシーファイル等で設定できるようになっていてもよい。判断部22による以上のような判断を踏まえ、判断部22が今回受信した計測結果がBBBBBやDDDDDからのものであった場合、ステップ304にて異常であると判断しステップ304の判断YES、例えば当該スレーブ1の動作を即刻停止する等の相応の指示情報を生成して、当該スレーブ1に返信するステップ308。判断部22が今回受信した計測結果がBBBBBやDDDDDからのものでなかった場合ステップ304の判断NOは、例えば何もしないという指示情報等の正常応答を生成して、当該スレーブ1に返信するステップ307。なお、判断部22は、特定のスレーブ1において何らかの異常が発生したと判断した場合、マスター2はその情報を記憶しておき、例えば、タスクのスレーブ1への割り当てスケジューリングを工夫する等、その後の並列分散処理システム4全体の制御に役立てたり、例えば、表示部23により異常が発生したスレーブ1をユーザに報告する等、並列分散処理システム4のユーザに対して情報を提示したりすることができる。続いて、ステップ302にて時間情報を利用すると判断したケースについて説明する。時間情報を利用すると判断したケースは、全スレーブ1の処理能力が均一で、かつ、各スレーブ1とマスター2との間の接続経路も均一であるという前提を置くことができない状況において有効なケースである。ステップ302にて、時間情報を利用すると判断した場合、通信部20は、受信した計測結果と、当該計測結果の送信元のスレーブ1を識別する送信元IDと、当該計測結果を受信した時刻とを関連付け、集計結果として集計部21に格納するステップ305。図10は、ステップ305の直後に、集計部21に格納された集計結果のテーブル例を示す図である。図10に示すテーブル例では、一見すると通信部20による一受信当りの計測結果の平均値は全て10となり、問題なさそうに見える。しかしながら、時間当り以降の実施形態では秒を用いるの計測結果の平均値を見ると、AAAAA、BBBBB、DDDDD、EEEEEでは2なのに対し、CCCCCでは1となっていることがわかる。ステップ205に続いて、判断部22は、集計結果の平均値に関して、集計結果が異常であるか否かを判断するステップ306。判断部22は、CCCCCから計測結果を受信する周期は他のスレーブ1の倍であるが、これはCCCCCのネットワーク接続が元来他よりも性能が劣るものであるためか、それとも、CCCCCのネットワーク接続に何か不調が発生したためか、判断することはできない。しかしながら、判断部22は、CCCCCについて、単位時間あたりのタスクの処理効率が他よりも劣っていることを判断する。なお、判断部22は、CCCCCの処理効率が元来他よりも劣っているためか、それとも、CCCCCに何か故障が発生したためかの判断はつかないが、とにかくCCCCCの処理効率が他よりも劣っていることは判断する。判断部22による以上のような判断を踏まえ、判断部22が今回受信した計測結果がCCCCCからのものであった場合、判断部22は、ステップ306にて異常であると判断しステップ306の判断YES、ステップ308に進み、CCCCCからのものでなかった場合、判断部22は、ステップ306にて異常でないと判断しステップ306の判断NO、ステップ307に進む。マスター2の処理の第2の例の説明続いて、マスター2による並列分散処理方法の処理の第2の例を、図7を参照して説明する。まず、通信部20は、各スレーブ1から計測結果を受信するステップ401。次に、通信部20は、受信した計測結果と、当該計測結果の送信元のスレーブ1を識別する送信元IDとを関連付け、集計結果として集計部21に格納するステップ402。図11及び図12はそれぞれ、ステップ402の直後に、集計部21に格納された集計結果のテーブル例を示す図である。図11に示すテーブル例では、スレーブ1の台数が5台、図12に示すテーブル例では、スレーブ1の台数が10台の場合の例である。次に、判断部22は、報告当りの集計結果を算出するステップ403。ここで算出する報告当りの集計結果は、スレーブ1別のものではなく、全スレーブ1に関する平均値である。ここでの算出には、各スレーブ1の最新の計測結果のみを用いてもよいし、各スレーブ1の全計測結果を用いてもよい。図11に示すテーブル例では、算出結果は10となり、図12に示すテーブル例では、20となる。これは、図12に示すテーブル例では図11に示すテーブル例と比較して、マスター2が応答すべきスレーブ1の数が2倍になっており、各スレーブ1から見た応答時間が倍になる一方、各スレーブ1の主スレッドがタスクを処理する効率は並列分散処理システム4全体のスレーブ1の数に依存しないためである。次に、判断部22は、算出した報告当りの集計結果が閾値を超えているかどうかを判断するステップ404。この閾値は、プログラム的に固定されていてもよいし、設定ファイル等で設定できるようになっていてもよい。なお、ここでの閾値は15に設定されているものとする。これは、報告当りの集計結果が15を超える場合、応答時間が長過ぎる、つまりスレーブ1の数が多すぎるということを意味する。ステップ404にて、集計部21に格納された集計結果が、図11に示すテーブル例の場合、判断部22による判断結果はNOとなり、判断部22は、計測結果の送信元スレーブ1に対して、正常応答、例えば何もしないという指示を含む応答を返信するステップ405。一方、ステップ404にて、集計部21に格納された集計結果が、図12に示すテーブル例の場合、判断部22による判断結果はYESとなり、判断部22は、マスター2の負荷を下げるための方法を判断する。例えば、判断部22は、処理効率の一番低いスレーブ1を選択しステップ406、当該スレーブ1に対して停止指示を返信してもよい。図12に示すテーブル例の場合では、処理効率の一番低いJJJJJが選択される。ステップ406に続いて、判断部22は、計測結果を送信元スレーブ1が、ステップ406で選択されたスレーブ1からのものであるかどうかを判断するステップ407。ステップ407にて、スレーブ1からのものであると判断した場合ステップ407の判断YES、判断部22は、送信元スレーブ1への返信として相応の指示情報、例えばスレーブ1を強制終了する等の指示情報を返信するステップ408。ステップ407にて、スレーブ1からのものでないと判断した場合ステップ407の判断NO、計測結果の送信元スレーブ1に対して正常応答、例えば何もしないという指示を含む応答を返信するステップ405。なお、ステップ406で選択したスレーブここではJJJJJをマスター2内で記憶しておき、次にJJJJJから報告を受信した際に、ステップ408へ進み、判断部22は、相応の指示を返信するようにしてもよい。マスター2の処理の第3の例の説明続いて、マスター2による並列分散処理方法の処理の第3の例を、図8を参照して説明する。まず、通信部20は、各スレーブ1からの計測結果を受信するステップ501。次に、通信部20は、時間情報を利用するか否かを判断するステップ502。ステップ502にて、時間情報を利用しないと判断した場合、通信部20は、受信した計測結果と、当該計測結果の送信元のスレーブ1を識別する送信元IDとを関連付け、集計結果として集計部21に格納するステップ503。次に、判断部22は、通信部20の一受信当たりの集計結果の統計処理、例えば平均値の算出を行うステップ504。ステップ502にて、時間情報を利用すると判断した場合、通信部20は、受信した計測結果と、当該計測結果の送信元のスレーブ1を識別する送信元IDと、当該計測結果を受信した時刻とを関連付け、集計結果として集計部21に格納するステップ505。図13は、ステップ505の直後に、集計部21に格納された集計結果のテーブル例を示す図である。次に、判断部22は、時間当りの集計結果の統計処理、例えば平均値の算出を行うステップ506。例えば図13に示すテーブル例から、判断部22は、並列分散処理システム4全体で1秒間に平均で10個のタスクを処理できていることを判断する。次に、判断部22は、ステップ504または506の統計処理に基づいて、予測的な判断や処理を行うステップ508。例えば、並列分散処理システム4全体で処理すべきタスクの総数が1000個とする。図13に示すテーブル例から、判断部22は、15秒間で150のタスクが処理済みであり、1秒あたり平均で10個のタスクが処理されているため、全タスクを全て処理し終えるには、残り85秒程度を要することが予測でき、例えば、判断部22は、この予測結果を表示部23に出力し、表示部23が並列分散処理システム4のユーザへ当該予測結果を出力することが可能となる。次に、判断部22は、送信元スレーブ1へ指示を返信するステップ505。判断部22は、予測に基づく判断に従って何かの具体的な処理を指示してもよいし、特に何もしないという指示でもよい。以下、本実施形態の作用効果について説明する。本実施形態の並列分散処理方法によれば、スレーブ1にて、並列分散処理システム4内で予め定められた計測単位を用いてタスクの実行が計測され、計測結果がマスター2に送信されることで、マスター2は、外部の監視コンピュータや監視プログラムを導入することなく、各スレーブ1の処理効率を把握することができる。そして、マスター2は、各スレーブ1の処理効率に基づいて各スレーブ1に指示を出し、各スレーブ1は指示に基づいて動作を制御することで、マスター2は、各スレーブ1の処理効率に基づき、並列分散処理システム4全体の動作を動的に制御することができる。また、判断部22は、マスター2が、集計部21に格納された集計結果のうち、通信部20による送信元のスレーブ1からの一受信当たりの集計結果と、通信部20による送信元のスレーブ1以外のスレーブ1からの一受信当たりの集計結果とを比較し、比較結果に基づいて送信元のスレーブ1に対する指示情報を生成し、送信元のスレーブ1に送信してもよい。かかる場合、マスター2は、対象スレーブ1の一受信当たりの集計結果と、他のスレーブ1の一受信当たりの集計結果との比較結果に基づいて、対象スレーブ1に指示を出すことができるため、より正確に対象スレーブ1の処理効率を把握することができると共に、より効率的に並列分散処理システム4全体の動作を動的に制御することができる。また、通信部20は、マスター2が、送信元のスレーブ1からの前回の計測結果の受信からの経過時間を更に関連付け、集計結果として当該マスター2の集計部21に格納し、判断部22は、マスター2が、集計部21に格納された集計結果のうち、通信部20による送信元のスレーブ1からの一受信の集計結果の単位時間当たりの値と、通信部20による送信元のスレーブ1以外のスレーブ1からの一受信の集計結果の単位時間当たりの値とを比較し、比較結果に基づいて送信元のスレーブ1に対する指示情報を生成し、送信元のスレーブ1に送信してもよい。かかる場合、マスター2は、対象スレーブ1の一受信の集計結果の単位時間当たりの値と、他のスレーブ1の一受信の集計結果の単位時間当たりの値との比較結果に基づいて、対象スレーブ1に指示を出すことができるため、より正確に対象スレーブ1の処理効率を把握することができると共に、より効率的に並列分散処理システム4全体の動作を動的に制御することができる。また、判断部22は、マスター2が、集計部21に格納された集計結果のうち、送信元のスレーブ1の全ての集計結果の平均値と、送信元のスレーブ1以外のスレーブ1の全ての集計結果の平均値とを比較し、比較結果に基づいて送信元のスレーブ1に対する指示情報を生成し、送信元のスレーブ1に送信してもよい。かかる場合、マスター2は、対象スレーブ1の全ての集計結果の平均値と、他のスレーブ1の全ての集計結果の平均値との比較結果に基づいて、対象スレーブ1に指示を出すことができるため、より正確に対象スレーブ1の処理効率を把握することができると共に、より効率的に並列分散処理システム4全体の動作を動的に制御することができる。また、通信部20は、マスター2が、送信元のスレーブ1からの前回の計測結果の受信からの経過時間を更に関連付け、集計結果として当該マスター2の集計部21に格納し、判断部22は、マスター2が、集計部21に格納された集計結果のうち、送信元のスレーブ1の全ての集計結果の単位時間当たりの値の平均値と、送信元のスレーブ1以外のスレーブ1の全ての集計結果の単位時間当たりの値の平均値とを比較し、比較結果に基づいて送信元のスレーブ1に対する指示情報を生成し、送信元のスレーブ1に送信してもよい。かかる場合、マスター2は、対象スレーブ1の全ての集計結果の単位時間当たりの値の平均値と、他のスレーブ1の全ての集計結果の単位時間当たりの値の平均値との比較結果に基づいて、対象スレーブ1に指示を出すことができるため、より正確に対象スレーブ1の処理効率を把握することができると共に、より効率的に並列分散処理システム4全体の動作を動的に制御することができる。また、判断部22は、マスター2が、集計部21に格納された集計結果のうち、通信部20によるスレーブ1からの一受信当たりの集計結果の、全てのスレーブ1に関する集計結果に対して統計処理を行い、統計処理結果に基づいて送信元のスレーブ1に対する指示情報を生成し、送信元のスレーブ1に送信してもよい。かかる場合、マスター2は、スレーブ1からの一受信当たりの集計結果の、全てのスレーブ1に関する集計結果に対しての統計処理結果に基づいて、各スレーブ1に指示を出すことができるため、より正確に各スレーブ1の処理効率を把握することができると共に、より効率的に並列分散処理システム4全体の動作を動的に制御することができる。また、通信部20は、マスター2が、送信元のスレーブ1からの前回の計測結果の受信からの経過時間を更に関連付け、集計結果として当該マスター2の集計部21に格納し、判断部22は、マスター2が、集計部21に格納された集計結果のうち、通信部20によるスレーブ1からの一受信の集計結果の単位時間当たりの値の、全てのスレーブ1に関する値に対して統計処理を行い、統計処理結果に基づいて送信元のスレーブ1に対する指示情報を生成し、送信元のスレーブ1に送信してもよい。かかる場合、マスター2は、スレーブ1からの一受信の集計結果の単位時間当たりの値の、全てのスレーブ1に関する値に対しての統計処理結果に基づいて、各スレーブ1に指示を出すことができるため、より正確に各スレーブ1の処理効率を把握することができると共に、より効率的に並列分散処理システム4全体の動作を動的に制御することができる。また、判断部22は、集計部21に格納された集計結果のうち、通信部20におけるスレーブ1からの一受信当たりの集計結果の、全てのスレーブ1に関する平均値が、予め定められた閾値を超えた場合に、マスター2が、当該マスター2の負荷を下げる旨のスレーブ1に対する指示情報を生成し、当該スレーブ1に送信してもよい。かかる場合、マスター2は、例えば、マスター2の能力を超えた台数のスレーブ1が接続されていることを検出できるようになり、マスター2の能力、または能力に応じて設定された条件に応じてスレーブ1の接続台数を動的に制御することが可能となる。マスター2は並列分散処理システム4内の全スレーブ1を管理する必要があるが、マスター2の処理能力も有限であるため、際限なく多数のスレーブ1を管理できるわけでない。従って、マスター2の能力を超過した数のスレーブ1の管理を要求された場合、マスター2がマスター2自身の負荷を監視することでそのことを検出し、適切な振る舞いを選択することができる。例えば、マスター2は、処理効率の低いスレーブ1を停止させ、マスター2が適切に管理できる範囲でベストな並列分散処理システム4を維持すること等が挙げられる。また、本実施形態の並列分散処理システム4によれば、マスター2は、並列分散処理システム4全体の処理効率を把握した上で、予測的な動作、例えば、全タスクの完了予測時刻をユーザへ提示すること等を行うことができる。本実施形態の並列分散処理システム4の応用事例としては、従来の並列分散処理システムにおいて、外部の監視コンピュータや監視ソフトウェアの助けを借りず、マスター2が各スレーブ1の処理効率を監視したり、マスター2がマスター2自身の負荷の程度を監視したり、マスター2が並列分散処理システム4全体の処理効率を把握して並列分散処理システム4全体の動作を予測的に判断したりして、スレーブ1に対する指示を生成し、並列分散処理システム4全体の振る舞いを制御するために用いることができる。以上の通り、本実施形態の並列分散処理システム4によれば、外部の監視コンピュータや監視プログラムを導入することなく、マスタースレーブ型システムにおいて、各スレーブ1の処理効率をマスター2が把握することができ、その情報を、例えばタスクの各スレーブ1への割り当てスケジューリングに役立てることができる。また、マスター2の能力を超えた台数のスレーブ1が接続されていることを、マスター2自身が検出できるようになり、例えば、マスター2の能力もしくは能力に応じて設定された条件に応じてスレーブ1の接続台数を動的に制御することが可能となる。更に、各スレーブ1の処理効率をマスター2が把握できることを応用して、並列分散処理システム4全体の動作に関する予測を立てることができ、例えば、全タスクが完了するまでの予測時間を利用者へ提示する、などのサービスを提供して、スレーブ1に対して予測に基づく指示を与えることができるようになる。