【国等の委託研究の成果に係る記載事項】(出願人による申告)平成24年度、独立行政法人新エネルギー・産業技術総合開発機構「グリーンネットワーク・システム技術研究開発プロジェクト(グリーンITプロジェクト)/エネルギー利用最適化データセンタ基盤技術の研究開発/サーバの最適構成とクラウド・コンピューティング環境における進化するアーキテクチャーの開発/クラウド・コンピューティング技術の開発」委託研究、産業技術力強化法第19条の適用を受ける特許出願
(58)【調査した分野】(Int.Cl.,DB名)
前記判定対象のタスク以外のタスクの処理速度、又は前記判定対象のタスクを含む複数の前記タスクの処理速度に基づいて、前記判定対象のタスクの正常な処理速度の範囲である速度正常範囲を算出する正常範囲算出手段を有し、
前記異常判定手段は、前記判定対象のタスクの処理速度が、前記速度正常範囲に含まれない場合に、前記判定対象のタスクの処理速度が異常であると判定する、
請求項1に記載のタスク割当判定装置。
分散システムを構成する複数のサーバそれぞれに対するタスクの割り当てを判定するタスク割当判定装置として動作する機能をコンピュータに持たせるプログラムであって、
前記サーバ上で実行されている前記タスクの処理速度に関する情報である速度情報を取得する速度情報取得機能と、
前記速度情報を用いて、判定対象のタスクの処理速度が異常であるか否かを判定する異常判定機能と、
前記異常判定機能によって処理速度が異常であると判定された前記判定対象のタスクが割り当てられている前記サーバを、新たなタスクの割り当て対象から一時的に除外する割当除外機能と、
を前記コンピュータに持たせ、
前記異常判定機能は、前記判定対象のタスクの処理速度と、前記判定対象のタスク以外の前記タスクの処理速度とを比較することで、前記判定対象のタスクの処理速度が異常であるか否かを判定する、プログラム。
【発明を実施するための形態】
【0017】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【0018】
[実施形態1]
図1は、実施形態1に係る割当判定装置2000をその使用環境と共に例示するブロック図である。
図1において、矢印は情報の流れを表している。さらに、
図1において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【0019】
分散システム3000は、複数の処理サーバ3200を有する。各処理サーバ3200には、タスクが割り当てられる。処理サーバ3200は、サーバ、パーソナルコンピュータ(PC)、タブレット端末など、種々の計算機である。処理サーバ3200は、割り当てられたタスクを実行する。割当判定装置2000は、処理サーバ3200に対するタスクの割り当てを判定する。具体的には、処理サーバ3200上で実行されているタスクの処理速度に基づいて、処理サーバ3200を新たなタスクを割り当てる対象から一時的に除外するか否かを判定する。割当判定装置2000は、処理サーバ3200同様、種々の計算機である。なお、処理サーバ3200上で実行するタスクは1つであってもよいし、複数であってもよい。
【0020】
処理サーバ3200と割当判定装置2000は、ネットワークを介して接続されている。このネットワークは、有線回線で構成されるネットワークでもよいし、無線回線で構成されるネットワークでもよいし、有線回線と無線回線が混在するネットワークでもよい。
【0021】
図2は、割当判定装置2000の構成を例示する図である。
図2において、矢印は情報の流れを表している。さらに、
図2において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。割当判定装置2000は、速度情報取得部2020、異常判定部2040、及び割当除外部2060を有する。以下、それぞれについて説明する。
【0022】
<速度情報取得部2020>
速度情報取得部2020は、処理サーバ3200上で実行されているタスクの処理速度に関する情報である速度情報を取得する。
【0023】
<異常判定部2040>
異常判定部2040は、速度情報を用いて、判定対象のタスク(以下、対象タスク)の処理速度が異常であるか否かを判定する。
【0024】
<割当除外部2060>
割当除外部2060は、異常判定部2040によって対象タスクの処理速度が異常であると判定された場合に、その対象タスクが割り当てられている処理サーバ3200を、新たなタスクの割り当て対象から一時的に除外する。以下、新たなタスクの割り当て対象から一時的に除外された処理サーバ3200を、除外サーバと表記する。ここで、新たなタスクとは、割当除外部2060の決定によって対象タスクを実行している処理サーバ3200が除外サーバになった後に、いずれかの処理サーバ3200へ割り当てられるタスクである。したがって、過去にある処理サーバ3200上で実行されたことがあるタスクでも、現在その処理サーバ3200上で実行されていなければ、その処理サーバ3200にとって新たなタスクとしてよい。
【0025】
<ハードウエア構成>
割当判定装置2000が有する各機能構成部は、例えば、個々に又は複数組み合わせられた状態で、少なくとも1つのハードウエア構成要素として実現される。その他にも例えば、各機能構成部は、少なくとも1つのソフトウエア構成要素として実現される。その他にも例えば、各機能構成部は、ハードウエア構成要素とソフトウエア構成要素の組み合わせにより実現される。
【0026】
図3は、実施形態1に係る割当判定装置2000のハードウエア構成を例示するブロック図である。
図3において、割当判定装置2000は、バス1020、プロセッサ1040、メモリ1060、ストレージ1080、及びネットワークアダプタ1100を有する。
【0027】
バス1020は、プロセッサ1040、メモリ1060、ストレージ1080、及びネットワークアダプタ1100が、相互にデータを送受信するためのデータ伝送路である。プロセッサ1040は、例えば CPU (Central Processing Unit) や GPU (Graphics Processing Unit) などの演算処理装置である。メモリ1060は、例えば RAM (Random Access Memory) や ROM (Read Only Memory) などのメモリである。ストレージ1080は、例えばメモリカード、ハードディスク、又は SSD (Solid State Drive) などの記憶装置である。また、ストレージ1080は、RAM や ROM 等のメモリであってもよい。ネットワークアダプタ1100は、割当判定装置2000が外部の装置とネットワークを介して通信を行うためのインタフェースである。ネットワークアダプタ1100は、無線回線に接続するためのインタフェースであってもよいし、有線回線に接続するためのインタフェースであってもよい。
【0028】
速度情報取得モジュール1220は、割当判定装置2000に、速度情報取得部2020の機能を持たせるためのプログラムである。プロセッサ1040は、速度情報取得モジュール1220を実行することで、速度情報取得部2020の機能を実現する。
【0029】
異常判定モジュール1240は、割当判定装置2000に、異常判定部2040の機能を持たせるためのプログラムである。プロセッサ1040は、異常判定モジュール1240を実行することで、異常判定部2040の機能を実現する。
【0030】
割当除外モジュール1260は、割当判定装置2000に、割当除外部2060の機能を持たせるためのプログラムである。プロセッサ1040は、割当除外モジュール1260を実行することで、割当除外部2060の機能を実現する。
【0031】
例えばプロセッサ1040は、上記各モジュールをメモリ1060上に読み出して実行する。ただし、プロセッサ1040は、上記各モジュールを、メモリ1060上に読み出さずに実行してもよい。
【0032】
ストレージ1080は、上記各モジュールを格納する。
【0033】
割当判定装置2000のハードウエア構成は、
図3に示した構成に限定されない。例えば、上記各モジュールはメモリ1060に格納されてもよい。この場合、割当判定装置2000は、ストレージ1080を備えていなくてもよい。
【0034】
<処理の流れ>
図4は、実施形態1に係る割当判定装置2000によって行われる処理の流れを例示するフローチャートである。
【0035】
ステップS102において、速度情報取得部2020は、対象タスクの速度情報を取得する。ステップS104において、異常判定部2040は、速度情報を用いて、対象タスクの処理速度が異常であるか否かを判定する。ステップS106において、割当除外部2060は、異常判定部2040によって対象タスクの処理速度が異常であると判定されたか否かを判定する。異常判定部2040によって対象タスクの処理速度が異常であると判定された場合(ステップS106:YES)、
図4の処理は、ステップS108に進む。一方、異常判定部2040によって対象タスクの処理速度が異常でないと判定された場合(ステップS106:NO)、
図4の処理は終了する。ステップS108において、割当除外部2060は、対象タスクが割り当てられているサーバを、新たなタスクの割り当て対象から一時的に除外する。
【0036】
以下、本実施形態の割当判定装置2000について、さらに詳しく説明する。
【0037】
<速度情報取得部2020の詳細>
速度情報取得部2020が取得する速度情報は、例えばタスクの処理速度を直接示す情報である。タスクの処理速度は、単位時間当たりのタスクの進捗率、単位時間当たりのデータ処理量、又は単位時間当たりのリソース使用量やリソース使用率などで表される。リソースは、例えば CPU、メモリ、ディスク帯域、又はネットワーク帯域などである。
【0038】
また速度情報は、タスクの処理速度の算出に利用できる情報であってもよい。この場合、例えば速度情報は、時点と、その時点におけるタスクの進捗度とを組み合わせて示す。この速度情報を用いることで、例えばタスクの処理速度は、「タスクの進捗度の差/時点の差」を計算することで算出できる。
【0039】
タスクの進捗度は、タスクの進捗率、処理対象のデータ量に対する処理済みのデータ量の割合などを示す。また例えば、タスクの進捗度は、タスクが使用したリソース量を累積した値を示す。タスクがどの程度リソースを使用してきたかを把握することで、タスクの進捗度合いを予測することができる。さらに、タスクの進捗度は、数学モデルなどを利用して計算された残り処理時間の予測値であってもよい。
【0040】
速度情報取得部2020が速度情報を取得する方法は様々である。例えば速度情報取得部2020は、外部の装置から入力される速度情報や、手動で入力される速度情報を取得する。その他にも速度情報取得部2020は、外部の装置にアクセスして速度情報を取得してもよい。
【0041】
<異常判定部2040の詳細>
異常判定部2040が、速度情報を用いて対象タスクの処理速度が異常であるか否かを判定する方法は、様々である。例えば、速度情報がタスクの処理速度を直接表している場合、異常判定部2040は、対象タスクの速度情報が表す処理速度に基づいて、対象タスクの処理速度が異常であるか否かを判定する。また例えば、速度情報がタスクの処理速度の算出に利用できる情報を表している場合、異常判定部2040は、対象タスクの速度情報を用いて、対象タスクの処理速度を算出する。そして、異常判定部2040は、算出した対象タスクの処理速度に基づいて、対象タスクの処理速度が異常であるか否かを判定する。
【0042】
例えば異常判定部2040は、対象タスクの処理速度が所定の閾値に満たない場合に、その対象タスクの処理速度は異常であると判定する。また例えば異常判定部2040は、複数の対象タスクのうち、処理速度が最も小さい対象タスクについて、処理速度が異常であると判定する。また例えば、タスクの処理速度の分布を正規分布と仮定し、対象タスクの処理速度が、この正規分布の中央値や平均値などの基準値より一定以上小さい場合に、対象タスクの処理速度が異常であると判断する。他にも例えば、タスクの処理速度の確率分布を離散確率分布であるポアソン分布や連続確率分布であるカイ二乗分布などで仮定し、確率分布上における対象タスクの処理速度の発生確率が基準値より一定以上小さい場合に、対象タスクの処理速度が異常であると判断する。さらに例えば、K-means法やサポートベクトルマシンなどの機械学習アルゴリズムを使用して処理速度が小さいタスクを判定し、処理速度が小さいと判定されたタスクを、処理速度が異常であるタスクとしてもよい。
【0043】
<対象タスク>
割当判定装置2000がどのタスクを対象タスクとするかを決定する方法は様々である。例えば割当判定装置2000は、分散システム3000に含まれるタスクから、対象タスクをランダムに選択する。また、割当判定装置2000は、外部の装置や人手による対象タスクの指定を受け付けてもよい。また、割当判定装置2000は、外部の装置にアクセスしてどのタスクを対象タスクとするかを示す情報を取得してもよい。
【0044】
例えば割当判定装置2000は、各タスクを定期的に対象タスクとして処理を行う。また、割当判定装置2000は、各タスクを対象タスクとして処理を行う時間間隔を、タスクごとに異ならせてもよい。その場合、例えば割当判定装置2000の内部又は外部に、各タスクについて、そのタスクを対象タスクとして処理を実行する時点や時間間隔を示す情報が格納されている。
【0045】
<処理サーバ3200>
除外サーバとなった処理サーバ3200が再度新たなタスクの割り当て対象となるタイミングは様々である。例えば割当判定装置2000は、除外サーバ上で実行されているタスクについても、タスクの処理速度が異常であるか否かを判定する。そして、異常判定部2040によってタスクの処理速度が異常でないと判定されたタスクを実行している処理サーバ3200が除外サーバである場合、割当除外部2060は、その処理サーバ3200を新たなタスクの割り当て対象とする。その他にも例えば、処理サーバ3200は、割当除外部2060によって指定された一定期間の間、除外サーバとなる。この場合、割当判定装置2000は、一定期間の間、その除外サーバ上で実行されているタスクについては、処理速度が異常であるか否かの判定を行わなくてもよい。
【0046】
<作用・効果>
本実施形態の割当判定装置2000によれば、処理速度が異常なタスクを実行している処理サーバ3200は、新たなタスクの割り当て対象から一時的に除外される。ここで、タスクの処理速度が異常である処理サーバ3200に対してさらに新たなタスクを割り当てると、新たに割り当てたタスクの処理速度も異常になることが考えられる。その結果、タスクの進捗の遅れが大きくなっていき、結果として、ジョブ全体の進捗が遅くなる。本実施形態によれば、処理速度が異常なタスクを実行している処理サーバ3200は、新たなタスクの割り当て対象から一時的に除外されるため、新たに割り当てられるタスクの処理速度が遅くなることを避けることができる。
【0047】
<実施例1>
実施形態1に係る割当判定装置2000の具体的な動作について、実施例を用いて説明する。なお、以下に示すのは、割当判定装置2000の動作の一例である。本実施形態は以下に示す動作例によって何らの限定を受けない。
【0048】
図5は、実施例1に係る割当判定装置2000を、その使用環境と共に示すブロック図である。
図5において、矢印は情報の流れを表している。さらに、
図5において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【0049】
実施例1において、分散システム3000は、マスタサーバ3100を有する。マスタサーバ3100は、割当部3120及び速度情報管理部3140を有する。割当部3120は、処理サーバ3200に対するタスクの割り当てを行う。速度情報管理部3140は、各処理サーバ3200から速度情報を収集し、それら速度情報を管理する。本実施例において、速度情報は、タスクの処理進捗率を表している。
【0050】
処理サーバ3200は、タスク実行部3220及び速度情報格納部3240を有する。タスク実行部3220は、1つ又は複数のタスクを実行する。例えばタスク実行部3220は、プロセス、スレッド、又は仮想マシンなどである。処理サーバ3200は、複数のタスク実行部3220を有してもよい。速度情報格納部3240は、処理サーバ3200上で実行されているタスクに関する速度情報を格納している。
【0051】
実施例1の速度情報取得部2020は、速度情報管理部3140から、各タスクの速度情報を取得する。異常判定部2040は、速度情報取得部2020から取得した速度情報を用いて、タスクの処理速度が異常であるか否かを判定する。
【0052】
実施例1の割当除外部2060は、処理サーバ3200を新たなタスクの割り当て対象から一時的に除外するか否かの判定結果を、割当部3120へ通知する。こうすることで、割当部3120は、新たなタスクの割り当て対象から一時的に除外された処理サーバ3200にタスクを割り当てないようにする。
【0053】
図6は、実施例1の分散システム3000に含まれる処理サーバ3200を示す図である。実施例1の分散システム3000は、処理サーバ3200として、コンピュータ c1 及び c2 を備えている。コンピュータ c1 と c2 は、1台のネットワークスイッチを介して接続されている。コンピュータ c1 は、タスク実行部3220として、プロセス P1 とP2 を備えている。また、コンピュータ c2 は、タスク実行部3220として、プロセス P3 と P4 を備えている。プロセス P1 はタスク T1 を実行しており、プロセスP3 はタスク T2 を実行している。なお、
図6において、マスタサーバ3100及び速度情報格納部3240は省略されている。
【0054】
コンピュータ c1 と c2 は、実行しているタスクの状態を監視して、実行しているタスクに関する速度情報を生成し、速度情報格納部3240に格納する。
図7は、コンピュータ c1 と c2 の速度情報格納部3240に格納されている速度情報を示す図である。ここで、本実施例における速度情報は、タスクの処理進捗率を表している。例えば
図7の1行目のレコードは、タスク T1 の処理進捗率が時刻 1:30:01 において 5% であることを示している。
【0055】
コンピュータ c1 と c2 の速度情報格納部3240に格納されている速度情報は、マスタサーバ3100が有する速度情報管理部3140によって収集される。
図8は、速度情報管理部3140によって管理されている速度情報を示す図である。例えば、
図8の1行目のレコードは、タスク T1 がコンピュータ c1 で実行されており、かつタスク T1 の処理進捗率が時刻1:30:01の時点において 5% であったことを表している。また、2番目のレコードは、タスク T2 がコンピュータ c2 で実行されており、かつタスク T2 の処理進捗率が時刻 1:30:00 の時点において 10% であったことを示している。
【0056】
コンピュータ c1 と c2 は、さらにタスクの実行を継続し、速度情報をさらに生成する。
図9は、この時点においてコンピュータ c1 と c2 の速度情報格納部3240に格納されている速度情報を示す図である。そして、
図9が示す速度情報は速度情報管理部3140によって収集される。
図10は、速度情報管理部3140によって管理されている速度情報を示す。
【0057】
実施例1において、コンピュータ c1 はタスク T1 を実行しており、コンピュータ c2 はタスク T2 を実行している。また、コンピュータ c1 はタスクが割り当てられていないプロセス P3 を有し、コンピュータ c2 はタスクが割り当てられていないプロセス P4 を有している。そこでマスタサーバ3100は、コンピュータ c1 と c2 のいずれかに、新たなタスク T3 を割り当てようとする。そのために、マスタサーバ3100の割当部3120は、割当判定装置2000による判定結果を利用する。
【0058】
割当判定装置2000が行う処理について説明する。速度情報取得部2020は、速度情報管理部3140から、タスク T1 と T2 に関する速度情報を取得する。具体的には、速度情報取得部2020は、
図10に示されている情報を取得する。
【0059】
本実施例において、異常判定部2040は、速度情報取得部2020から取得した速度情報から、タスクの1秒あたりの処理進捗率を算出し、算出した値をタスクの処理速度とする。
図11は、異常判定部2040が速度情報に基づいて算出した、タスク T1 と T2 の、1秒当たりの処理進捗率を示している。
図11は、コンピュータ c1 に割り当てられたタスク T1 の 1 秒あたりの処理進捗率が 5% であったこと、及びコンピュータ c2 に割り当てられたタスク T2 の 1 秒あたりの処理進捗率が 20% であったことを示している。
【0060】
異常判定部2040は、複数のタスクのうち、最も処理速度が小さいタスクの処理速度が異常であると判定する。本実施例の場合、異常判定部2040は、タスク T1 の処理速度が異常であると判定する。そのため、割当除外部2060は、タスク T1 を実行しているコンピュータ c1 を、新たなタスクの割り当て対象から一時的に除外する。そのため、割当部3120は、コンピュータ c1 のプロセス P3 ではなく、コンピュータ c2 のプロセス P4 に、タスク T3 を割り当てる。
【0061】
[実施形態2]
図12は、実施形態2に係る割当判定装置2000の構成を例示する図である。
図12において、矢印は情報の流れを表している。さらに、
図12において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。以下で説明する点を除き、実施形態2の割当判定装置2000は、実施形態1の割当判定装置2000と同様である。
【0062】
実施形態2の割当判定装置2000は、対象タスクの処理速度の履歴に基づいて、対象タスクの処理速度が異常か否かを判定する。そのために、実施形態2の割当判定装置2000は、速度履歴取得部2080を有する。以下、詳細に説明する。
【0063】
<速度履歴取得部2080>
速度履歴取得部2080は、タスクの処理速度の履歴である速度履歴を取得する。例えば速度履歴は、過去のタスクの処理速度を表す情報である。また例えば速度履歴は、過去のタスクの処理速度を算出するために利用できる情報であってもよい。
【0064】
その他にも例えば、速度履歴は、過去の処理速度の変化に対して統計処理を施した結果を示す値であってもよい。例えばこの場合、速度履歴は、過去の複数の時点における処理速度から算出した、処理速度の平均値、中央値、最小値、最大値、又は最頻値などである。
【0065】
速度履歴取得部2080が速度履歴を取得する方法は様々である。例えば速度履歴取得部2080は、外部の装置から入力される速度履歴や、手動で入力される速度履歴を取得する。その他にも速度履歴取得部2080は、外部の装置にアクセスして速度履歴を取得してもよい。
【0066】
<異常判定部2040>
実施形態2の異常判定部2040は、対象タスクの処理速度と、対象タスクの速度履歴とを比較することで、対象タスクの処理速度が異常であるか否かを判定する。例えば異常判定部2040は、対象タスクの処理速度が、速度履歴を用いて算出される過去の処理速度の統計値や速度履歴として示されている過去の処理速度の統計値よりも小さい場合に、対象タスクの処理速度が異常であると判定する。
【0067】
その他にも例えば異常判定部2040は、以下のように動作する。この場合、
図13に示すように、割当判定装置2000は、さらに正常範囲算出部2100を有する。ここで、
図13において、矢印は情報の流れを表している。さらに、
図13において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【0068】
正常範囲算出部2100は、対象タスクの速度履歴に基づいて、対象タスクの処理速度の正常な範囲である速度正常範囲を算出する。この場合、異常判定部2040は、対象タスクの処理速度が、速度正常範囲に含まれない場合に、対象タスクの処理速度が異常であると判断する。
【0069】
正常範囲算出部2100は、例えば、速度履歴に示されている過去の処理速度の確率分布を算出する。そして、正常範囲算出部2100は、その確率分布における所定の範囲を、速度正常範囲とする。
【0070】
<処理の流れ>
図14は、実施形態2に係る割当判定装置2000によって実行される処理の流れを例示するフローチャートである。実施形態2の割当判定装置2000は、ステップS204の後に、
図4に示されているステップS106及びS108の処理を、実施形態1の割当判定装置2000と同様に実行する。図を簡潔にするため、
図14において、ステップS106及びS108は省略されている。
【0071】
ステップS202において、速度履歴取得部2080は、対象タスクの速度履歴を取得する。ステップS204において、異常判定部2040は、対象タスクの処理速度と、対象タスクの速度履歴とを比較することで、対象タスクの処理速度が異常であるか否かを判定する。
【0072】
<作用・効果>
本実施形態の割当判定装置2000は、対象タスクの処理速度の履歴を用いて、対象タスクの処理速度が異常であるか否かを判定する。そのため、本実施形態の割当判定装置2000によれば、対象タスクの処理速度が過去と比べて異常に変化した場合に、対象タスクの処理速度が異常であることを検出することができる。これより、新たに割り当てるタスクの処理速度が遅くなることを高い精度で防ぐことができる。
【0073】
[実施形態3]
実施形態3に係る割当判定装置2000の構成は、例えば実施形態1の割当判定装置や実施形態2の割当判定装置2000と同様である。以下で説明する点を除き、実施形態3の割当判定装置2000は、実施形態1又は2の割当判定装置2000と同様である。
【0074】
実施形態3の異常判定部2040は、対象タスクの処理速度を、その対象タスク以外のタスクの処理速度と比較することで、対象タスクの処理速度が異常であるか否かを判定する。例えば、速度情報取得部2020は、対象タスクに関する速度情報と、対象タスク以外のタスクに関する速度情報を取得する。そして、異常判定部2040は、各タスクの速度情報を用いて、対象タスクの処理速度と、他のタスクの処理速度とを比較する。
【0075】
ここで、対象タスクは複数あってもよい。この場合、例えば異常判定部2040は、各対象タスクについて、その他の対象タスクと比較する。こうすることで、異常判定部2040は、複数の対象タスクそれぞれについて、処理速度が異常であるか否かを判定する。
【0076】
例えば異常判定部2040は、対象タスクの処理速度が、比較する他の全てのタスクの処理速度よりも小さい場合に、その対象タスクの処理速度が異常であると判定する。その他にも例えば、異常判定部2040は、比較する各タスクを処理速度が大きい順にソートした場合に、対象タスクの処理速度が所定の順位以下であれば、対象タスクの処理速度が異常であると判定する。
【0077】
その他にも例えば異常判定部2040は、以下のように動作する。この場合、
図15に示すように、割当判定装置2000は、さらに正常範囲算出部2100を有する。ここで、
図15において、矢印は情報の流れを表している。さらに、
図15において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【0078】
正常範囲算出部2100は、対象タスクの処理速度の正常な範囲である速度正常範囲を算出する。例えば正常範囲算出部2100は、対象タスク以外の1つ又は複数のタスクの処理速度に基づいて、速度正常範囲を算出する。その他にも例えば、正常範囲算出部2100は、対象タスクを含む複数のタスクの処理速度に基づいて、速度正常範囲を算出する。この場合、異常判定部2040は、対象タスクの処理速度が、速度正常範囲に含まれない場合に、対象タスクの処理速度が異常であると判断する。
【0079】
例えば正常範囲算出部2100は、速度正常範囲の算出に用いるタスクの処理速度から、タスクの処理速度の確率分布を算出する。そして、正常範囲算出部2100は、その確率分布における所定の範囲を、速度正常範囲とする。
【0080】
<処理の流れ>
図16は、実施形態3の割当判定装置2000によって実行される処理の流れを例示するフローチャートである。実施形態3の割当判定装置2000は、ステップS304の後に、
図4に示されているステップS106及びS108の処理を、実施形態1の割当判定装置2000と同様に実行する。図を簡潔にするため、
図16において、ステップS106及びS108は省略されている。
【0081】
ステップS302において、速度情報取得部2020は、対象タスクを含む複数のタスクそれぞれの速度情報を取得する。ステップS304において、異常判定部2040は、対象タスクの処理速度を他のタスクの処理速度と比較することで、その対象タスクの処理速度が異常であるか否かを判定する。
【0082】
<作用・効果>
本実施形態によれば、対象タスクの処理速度を、その対象タスク以外のタスクの処理速度と比較することで、対象タスクの処理速度が異常であるか否かを判定する。そのため、他のタスクと比べて処理速度が異常となっているタスクを特定し、そのタスクを実行している処理サーバ3200を、新たなタスクの割当対象から一時的に除外することができる。そのため、新たに割り当てるタスクの処理速度が遅くなることを、高い精度で防ぐことができる。
【0083】
[実施形態4]
図17は、実施形態4に係る割当判定装置2000の構成を例示する図である。
図17において、矢印は情報の流れを表している。さらに、
図17において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。以下で説明する点を除き、実施形態4の割当判定装置2000は、実施形態3の割当判定装置2000と同様である。
【0084】
実施形態4において、各タスクには、タスク種別が対応付けられている。タスク種別は、例えばジョブのIDで表される。例えば各タスクは、そのタスクの元となっているジョブのIDに対応付けられている。ただし、タスク種別は、ジョブのID以外でもよい。例えばその他のタスク種別は、ジョブのフェーズのIDや、ジョブのIDとフェーズのIDとの組み合わせなどである。
【0085】
実施形態4の割当判定装置2000は、タスク種別取得部2120を有する。タスク種別取得部2120は、タスクに対応するタスク種別を取得する。
【0086】
実施形態4の異常判定部2040は、判定対象のタスクを、その判定対象のタスクと同一のタスク種別に対応する他のタスクと比較する。こうすることで、異常判定部2040は、判定対象のタスクの処理速度が異常であるか否かを判定する。例えば割当判定装置2000が正常範囲算出部2100を有する場合、正常範囲算出部2100が速度正常範囲の算出に用いるタスクは、判定対象のタスクと同一のタスク種別に対応するタスクである。なお、実施形態4の異常判定部2040が、複数のタスクの処理速度を比較する方法は、実施形態3の異常判定部2040によって行われる方法と同様である。
【0087】
<処理の流れ>
図18は、実施形態4の割当判定装置2000によって実行される処理の流れを例示するフローチャートである。実施形態4の割当判定装置2000は、ステップS404の処理を行った後、実施形態1の割当判定装置2000と同様の流れで、
図4に示すステップS106及びS108を実行する。図を簡潔にするため、
図18において、ステップS106以降は省略されている。
【0088】
ステップS402において、速度情報取得部2020は、対象タスクを含む複数のタスクそれぞれの速度情報を取得する。ステップS404において、タスク種別取得部2120は、各タスクのタスク種別を取得する。ステップS406において、異常判定部2040は、速度情報を用いて、対象タスクの処理速度と、タスク種別が対象タスクと同一である他のタスクの処理速度とを比較し、対象タスクの処理速度が異常であるか否かを判定する。
【0089】
<作用・効果>
本実施形態によれば、同一のタスク種別に含まれるタスクの処理速度を比較することで、タスクの処理速度が異常であるか否かの判定が行われる。ここで、同一のタスク種別に含まれるタスクは、通常、処理速度が近いことが多いと考えられる。そのため、本実施形態によれば、高い精度でタスクの処理速度が異常であるか否かを判定することができる。
【0090】
また、本実施形態によれば、タスクの処理速度が異常であると判定された処理サーバ3200に対して、そのタスクと同一のタスク種別に対応する新たなタスクを割り当てないようにする。ここで、ある処理サーバ3200上において、あるタスク種別に対応するタスクの処理速度が異常であっても、それ以外のタスク種別に対応するタスクの処理速度は異常にならないことがある。これは、タスクの種類によって、利用するリソースや処理するデータ量など、実行する処理の特性が異なることがあるためである。したがって、本実施形態によれば、特定のタスク種別に対応するタスクについてのみ処理速度が異常となってしまう処理サーバ3200を、その他のタスク種別に対応するタスクの割り当てについては、割り当ての対象から除外しない。そのため、処理サーバ3200を効率よく利用することができる。
【0091】
<実施例2>
実施形態4に係る割当判定装置2000の具体的な動作について、実施例を用いて説明する。なお、以下に示すのは、割当判定装置2000の動作の一例である。本実施形態は以下に示す動作例によって何らの限定を受けない。
【0092】
図19は、実施例2における割当判定装置2000及びその使用環境を示すブロック図である。なお、
図19における分散システム3000の構成は、
図5に示した実施例1における分散システム3000の構成と同様である。また、
図19における割当判定装置2000の構成は、
図17に示した実施形態4の割当判定装置の構成と同様である。
【0093】
図20は、実施例2における分散システム3000に含まれる処理サーバ3200を示す図である。実施例2の分散システム3000は、処理サーバ3200として、コンピュータ c1 〜 c4 の4台を備えている。各コンピュータは、ネットワークスイッチを介して接続されている。各コンピュータは、処理サーバ3200として、複数のプロセスを有している。具体的には、コンピュータ c1 はプロセス P1 とP2 を、コンピュータ c2 はプロセス P3 と P4 を、コンピュータ c3 はプロセス P5 とP6 を、コンピュータ c4 はプロセス P7 と P8 を、それぞれ備えている。なお、
図20において、マスタサーバ3100及び速度情報格納部3240は省略されている。
【0094】
実施例2では、各タスクに、タスク種別が対応付けられている。
図21は、実施例2におけるタスクとタスク種別との対応を表す図である。例えば
図21の1行目のレコードは、タスク T0に対して、「Job1 のフェーズ1」というタスク種別が対応付けられていることを示す。
【0095】
実施例1と同様に、各コンピュータは、実行しているタスクの状態を監視して、実行しているタスクに関する速度情報を生成し、それを速度情報格納部3240に格納する。
図22は、コンピュータ c1 〜 c3 の速度情報格納部3240に格納されている速度情報を合わせて示す図である。ここで、本実施例における速度情報は、累積 CPU 使用時間を表している。例えば
図22の1行目のレコードは、時刻 1:30:01 において、タスク T0 の累積 CPU 使用時間が 0.02 秒であったことを示している。そして、各コンピュータに格納されている速度情報は、速度情報管理部3140によって収集される。
図23は、速度情報管理部3140によって管理されている速度情報を示す図である。
【0096】
各コンピュータのタスク実行部はさらにタスクの実行を進め、新たな速度情報を生成し、それらを速度情報格納部3240に格納する。
図24は、新たな速度情報が格納された後において、コンピュータc1 〜 c3の速度情報格納部3240に格納されている速度情報を合わせて示す図である。
図25は、速度情報管理部3140によって管理されている速度情報を示す図である。
【0097】
ここで、マスタサーバ3100が新たなタスク T4 を処理サーバ3200に割り当てようとしている。そこで、割当部3120は、割当判定装置2000に、タスク T4 を入力として与える。そして、割当部3120は、割当判定装置2000から、タスク T4 と同一のタスク種別に対応し、かつ新たなタスクの割り当て対象から一時的に除外されるコンピュータを示す情報を取得する。
【0098】
割当判定装置2000のタスク種別取得部2120は、各タスクのタスク種別を取得する。これにより、割当判定装置2000は、タスク T0、T1、T2、及び T4 のタスク種別がジョブJob1のフェーズ1であり、タスクT3及びT5のタスク種別がジョブJob2のフェーズ2であることを把握する。
【0099】
図26は、異常判定部2040が速度情報に基づいて算出したタスクの処理速度を示す図である。本動作例における割当判定装置2000は、タスクの処理速度として、1 秒あたりの CPU 使用時間を用いる。例えば
図26の1行目のレコードは、コンピュータc4に割り当てられたタスク T0 の 1 秒あたりの CPU使用時間 が 0.05 秒であったことを示している。
【0100】
異常判定部2040は、新たに割り当てようとしているタスク T4 と同一のタスク種別のタスクについて処理を行う。ここで、
図21より、タスク T4 と同一のタスク種別に対応しているタスクは、タスク T0、T1、T2である。
【0101】
本実施例の異常判定部2040は、同一のタスク種別に対応するタスクの処理速度を用いて、中央値μ及び標準偏差σを求める。そして、タスクの処理速度が指標値「μ-ασ」より小さい場合、そのタスクの処理速度が異常であると判定する。
【0102】
そこで、異常判定部2040は、タスク T0、T1、及び T2 の処理速度から、中央値及び標準偏差を求める。計算の結果、中央値μは0.43秒、標準偏差σは約0.29となる。ここでα=1.0とすると、上記指標値は 0.14 となる。
図26を参照すると、タスク T0 の処理速度はこの指標値より小さく、タスク T1 及び T2 の処理速度はこの指標値より大きい。
【0103】
そこで、割当除外部2060は、タスク T0 を実行しているコンピュータ c4 を、「job1 のフェーズ1」というタスク種別に対応する新たなタスクを割り当てる対象から外す。割当部3120は、割当判定装置2000から処理結果の通知を受け、「job1 のフェーズ1」というタスク種別に対応するタスク T4 を、コンピュータ c4 以外に割り当てる。
【0104】
[実施形態5]
図27は、実施形態5に係る割当判定装置2000の構成を例示する図である。
図27において、矢印は情報の流れを表している。さらに、
図27において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。以下で説明する点を除き、実施形態5の割当判定装置2000は、上述したいずれかの実施形態の割当判定装置2000と同様である。
【0105】
<除外期間格納部2140>
割当判定装置2000は、除外期間格納部2140を有する。除外期間格納部2140は、除外期間を格納する。除外期間は、対象タスクが割り当てられている処理サーバ3200を新たなタスクの割り当て対象から一時的に除外する期間を表す。
【0106】
<割当除外部2060>
実施形態5の割当除外部2060は、異常判定部2040によって、対象タスクの処理速度が異常であると判定された場合、対象タスクが割り当てられている処理サーバ3200を、除外期間の間、新たなタスクの割り当て対象から除外する。
【0107】
<処理の流れ>
図28は、実施形態5の割当判定装置2000によって実行される処理の流れを例示するフローチャートである。実施形態5の割当判定装置2000は、
図4に示すステップS102〜S106の処理を、実施形態1の割当判定装置2000と同様の流れで実行する。図を簡潔にするため、
図28において、ステップS102及びS104は省略されている。
【0108】
ステップS502において、割当除外部2060は、除外期間格納部2140から除外期間を取得する。ステップS504において、割当除外部2060は、除外期間の間、対象タスクが割り当てられている処理サーバ3200を、新たなタスクの割り当て対象から一時的に除外する。
【0109】
<作用・効果>
本実施形態の割当判定装置2000によれば、異常判定部2040によって処理速度が異常であると判定された対象タスクを実行している処理サーバ3200は、除外期間の間、新たなタスクの割り当て対象から除外される。そのため、本実施形態の割当判定装置2000によれば、上記除外期間の間は、上記処理サーバ3200上で実行されているタスクについては、処理速度が異常であるか否かの判定を行わなくてもよい。したがって、本実施形態の割当判定装置2000によれば、割当判定装置2000にかかる処理負荷が小さくなる。
【0110】
なお、除外期間格納部2140は、処理サーバ3200ごとに除外期間を格納してもよい。こうすることで、処理サーバ3200の特性や、処理サーバ3200上で動作させるタスクの特性を考慮して、処理サーバ3200ごとに適切な除外期間を設定できる。
【0111】
[実施形態6]
図29は、実施形態6に係る割当判定装置2000の構成を例示する図である。
図29において、矢印は情報の流れを表している。さらに、
図29において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。以下で説明する点を除き、実施形態6の割当判定装置2000は、実施形態5の割当判定装置2000と同様である。
【0112】
<除外期間格納部2140>
実施形態6の除外期間格納部2140は、処理サーバ3200ごとに除外期間を格納している。
【0113】
<除外期間更新部2160>
除外期間更新部2160は、異常判定部2040によって、対象タスクの処理速度が異常であると判定された場合に、対象タスクが割り当てられている処理サーバ3200に対応する除外期間を更新する。
【0114】
例えば除外期間更新部2160は、新たなタスクの割り当て対象から除外された回数が多いほど除外期間が長くなるように、除外期間を更新する。例えばこの場合、除外期間更新部2160は、以下の数式(1)を用いて除外期間を更新する。ここで、i は、処理サーバ3200の ID を表している。以下、ID が i である処理サーバ3200を、処理サーバ3200−iとも表記する。P(i) は、処理サーバ3200−iに対応する除外期間を表す。また、T(i) は、処理サーバ3200−iが新たなタスクの割り当て対象から除外された回数である。αは、所定の定数である。
【数1】
【0115】
なおこの場合、除外期間格納部2140はさらに、各処理サーバ3200が新たなタスクの割り当て対象から除外された回数を格納する。
【0116】
また、上述した方法で用いる、処理サーバ3200が新たなタスクの割り当て対象から一時的に除外された回数は、過去の所定期間内における回数でもよいし、過去全ての期間内における回数でもよい。
【0117】
<割当除外部2060>
実施形態6の割当除外部2060は、異常判定部2040によって、対象タスクの処理速度が異常であると判定された場合に、対象タスクが割り当てられている処理サーバ3200に対応する除外期間の間、その処理サーバ3200を新たなタスクの割り当て対象から除外する。
【0118】
<処理の流れ>
図30は、実施形態6の割当判定装置2000によって実行される処理の流れを例示するフローチャートである。実施形態6の割当判定装置2000は、ステップS106の処理を行う前に、
図4に示すステップS102及びS104の処理を、実施形態1の割当判定装置2000と同様の流れで実行する。図を簡潔にするため、
図30において、ステップS102及びS104は省略されている。
【0119】
ステップS602において、除外期間更新部2160は、除外期間格納部2140から、対象タスクを実行している処理サーバ3200に対応する除外期間を取得する。ステップS604において、割当除外部2060は、対象タスクが割り当てられている処理サーバ3200に対応する除外期間の間、その処理サーバ3200を新たなタスクの割り当て対象から除外する。ステップS606において、除外期間更新部2160は、取得した除外期間を更新する。
【0120】
<作用・効果>
本実施形態によれば、除外期間が処理サーバ3200ごとに設定されている。したがって、処理サーバ3200の特性や処理サーバ3200上で実行するタスクの特性などに合わせて、処理サーバ3200ごとに適切な除外期間を設定できる。
【0121】
また、本実施形態の割当判定装置2000によれば、処理サーバ3200が新たなタスクの割り当て対象から一時的に除外される時に、その処理サーバ3200に対応する除外期間を更新する。これにより、例えば、新たなタスクの割り当て対象から除外される回数が多いほど除外期間を長くすることができる。新たなタスクの割り当て対象から除外される回数が多い処理サーバ3200は、タスクの処理速度が異常になりやすい処理サーバ3200であると考えられる。そのため、本実施形態の割当判定装置2000によれば、タスクの処理速度が異常になりやすい処理サーバ3200ほど長い期間、新たなタスクの割り当て対象から除外することができる。そのため、新たに割り当てるタスクの進捗が遅くなることを、さらに効率よく防ぐことができる。また、タスクの処理速度が異常になりやすい処理サーバ3200ほど長い期間、割当判定装置2000の処理対象とする必要が無くなるため、割当判定装置2000の処理負荷を減らすことができる。
【0122】
[実施形態7]
図31は、実施形態7に係る割当判定装置2000の構成を例示する図である。
図31において、矢印は情報の流れを表している。さらに、
図31において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。以下で説明する点を除き、実施形態7の割当判定装置2000は、実施形態1の割当判定装置2000と同様である。
【0123】
<最大除外期間格納部2180>
実施形態7の割当判定装置2000は、最大除外期間格納部2180を有する。最大除外期間格納部2180は、除外期間の最大値を格納する。
【0124】
<割当除外部2060>
割当除外部2060は、異常判定部2040によって処理速度が異常であると判定された対象タスクを実行している処理サーバ3200が、既に新たなタスクの割り当て対象から一時的に除外されているか否かを判定する。ここで、前述したように、タスクの割り当て対象から一時的に除外されている処理サーバ3200を、除外サーバとも表記する。そして、この処理サーバ3200が除外サーバである場合、割当除外部2060は、この処理サーバ3200が除外サーバとなった時点からの経過時間が、最大除外期間格納部2180に格納されている除外期間の最大値を超えているか否かを判定する。この処理サーバ3200が除外サーバとなった時点からの経過時間が、最大除外期間格納部2180に格納されている除外期間の最大値を超えている場合、最大除外期間格納部2180は、この処理サーバ3200を、新たなタスクの割り当て対象とする。
【0125】
割当除外部2060は、対象タスクを実行している処理サーバ3200が、既に除外サーバとなっているか否かを把握する。例えば割当除外部2060は、割当判定装置2000の内部又は外部から、対象タスクを実行している処理サーバ3200が、既に除外サーバとなっているか否かを示す情報を取得する。この場合、例えば割当判定装置2000の内部又は外部に、処理サーバ3200ごとに、その処理サーバ3200が除外サーバであるか否かを示す情報を格納する格納部が備えられている。割当除外部2060は、この格納部から情報を取得する。
【0126】
割当除外部2060は、処理サーバ3200が除外サーバとなった時点からの経過時間を把握する。例えば割当除外部2060は、割当判定装置2000の内部又は外部から、処理サーバ3200が除外サーバとなった時点を示す情報を取得する。この場合、例えば割当判定装置2000の内部又は外部に、除外サーバとなっている処理サーバ3200ごとに、その処理サーバ3200が除外サーバとなった時点を示す情報を格納する格納部が備えられている。割当除外部2060は、この格納部から、処理サーバ3200が除外サーバとなった時点を取得し、現在時刻とこの時点との差異に基づいて、処理サーバ3200が除外サーバとなった時点からの経過時間を算出する。なお、処理サーバ3200が除外サーバとなった時点からの経過時間は、割当判定装置2000の外部で算出されてもよい。この場合、割当除外部2060は、外部で算出された上記経過時間を取得する。
【0127】
<処理の流れ>
図32は、実施形態7の割当判定装置2000によって実行される処理の流れを例示するフローチャートである。実施形態7の割当判定装置2000は、ステップS106の処理を行う前に、
図4に示すステップS102及びS104の処理を、実施形態1の割当判定装置2000と同様の流れで実行する。図を簡潔にするため、
図32において、ステップS102及びS104は省略されている。
【0128】
ステップS702において、割当除外部2060は、対象タスクを実行している処理サーバ3200が、既に除外サーバになっているか否かを判定する。この処理サーバ3200が除外まだ除外サーバになっていない場合、
図32の処理は、ステップS712に進む。一方、この処理サーバ3200が既に除外サーバになっている場合、
図32の処理は、ステップS704に進む。
【0129】
ステップS704において、割当除外部2060は、最大除外期間格納部2180から、除外期間の最大値を取得する。ステップS706において、割当除外部2060は、処理サーバ3200が除外サーバになった時点からの経過時間を算出する。
【0130】
ステップS708において、割当除外部2060は、処理サーバ3200が除外サーバになった時点からの経過時間と、除外期間の最大値とを比較する。「処理サーバ3200が除外サーバになった時点からの経過時間>除外期間の最大値」である場合、
図32の処理は、ステップS710に進む。一方、「処理サーバ3200が除外サーバになった時点からの経過時間>除外期間の最大値」でない場合、
図32の処理は終了する。
【0131】
ステップS710において、割当除外部2060は、処理サーバ3200を新たなタスクの割り当て対象とする。一方、ステップS712において、割当除外部2060は、処理サーバ3200を新たなタスクの割り当て対象から一時的に除外する。
【0132】
<作用・効果>
本実施形態によれば、処理サーバ3200が新たなタスクの割当対象から除外される期間に限度を設けることができる。これにより、処理サーバ3200に対して恒常的にタスクが割り当てられなくなることを防ぐことができる。
【0133】
<実施例3>
以下、実施形態6と7の組み合わせに係る割当判定装置2000について、実施例を用いて説明する。なお、以下に示すのは、割当判定装置2000の動作の一例である。本実施形態は以下に示す動作例によって何らの限定を受けない。
【0134】
図33は、実施例3における割当判定装置2000及びその使用環境を示すブロック図である。なお、
図33における分散システム3000の構成は、
図5に示した実施例1における分散システム3000の構成と同様である。
【0135】
実施例3の分散システム3000に含まれる処理サーバ3200は、実施例1と同様に、
図6で表される。
【0136】
実施例3における除外期間格納部2140が格納している除外期間は、処理サーバ3200を新たなタスクの割り当て対象から一時的に除外する回数を示す。ここで、除外期間格納部2140は除外期間として、1を格納している。また、除外期間更新部2160は、更新後の除外期間を、これまでの累積除外期間の2倍とする。
【0137】
実施例1と同様に、各コンピュータは、実行しているタスクの状態を監視して、実行しているタスクに関する速度情報を速度情報格納部3240に格納する。
図34は、コンピュータ c1 及び c2 の速度情報格納部3240に格納されている速度情報を合わせて示す図である。本実施例において、速度情報は、タスクの処理速度に関する2つの指標を示す。第1の指標は、処理対象データ量に対する処理完了データ量の割合である。以下、この割合を、処理完了データ率と表記する。第2の指標は、累積処理時間である。例えば
図34のレコード1は、時刻1:30:01において、タスクT1の処理完了データ率が5%であること、及びタスク T1 の累積処理時間が 30 秒であることを示している。また、
図35は、速度情報管理部3140によって管理されている速度情報を示す。
【0138】
ここで、マスタサーバ3100が新たなタスクT3を処理サーバ3200に割り当てようとしている。コンピュータc1のタスク実行部P2に対してタスクが未割り当てであるため、マスタサーバ3100はコンピュータ c1 に対してタスクT3の割り当てを試みる。その処理の中で、割当部3120は、割当判定装置2000にコンピュータc1を入力として与える。そして、割当判定装置2000は、コンピュータ c1 を新たなタスクの割り当て対象から一時的に除外すべきか否かを判定する。
【0139】
実施例3において、異常判定部2040は、タスクの処理速度を示す指標値として、処理完了データ率rと累積処理時間tから算出した、予測処理時間t'を用いる。具体的な算出式として、t'=t/rを用いる。
図36は、異常判定部2040が算出したタスクの処理速度を示す図である。この図は、コンピュータc1に割り当てられたタスクT1の予測処理時間が600秒であり、コンピュータc2に割り当てられたタスクT2の予測処理時間が400秒であることを示している。
【0140】
異常判定部2040は、コンピュータc1に割り当てられたタスクT1の予測処理時間が最も長いため、タスクT1の処理速度が最も小さいと判断する。よって、割当除外部2060は、コンピュータc1を、新たなタスク割り当て対象から一時的に除外する。その結果、割当部3120は、タスク T3 をコンピュータc1に割り当てない。
【0141】
除外期間更新部2160は、上記判定結果に基づいて、コンピュータc1に対する累積遅延回数を1に更新して、除外期間格納部2140に格納する。ここで、マスタサーバ3100の割当部3120が再度コンピュータ c1 に対してタスクT3の割り当てを試みたとする。この時、異常判定部2040は再度、タスク T1 の処理速度が異常であると判定したとする。しかし、最大除外期間格納部2180に格納されている最大除外期間が1であり、かつコンピュータ c1 は既に一回新たなタスクの割り当て対象から一時的に除外されている。そこで、割当除外部2060は、コンピュータ c1 を新たなタスクの割り当て対象とする。
【0142】
ただし、異常判定部2040は、タスク T1 の処理速度が異常であると判定したため、除外期間更新部2160は、最大除外期間格納部2180に格納されている最大除外期間を2に更新する。
【0143】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記実施形態の組み合わせ、及び上記実施形態以外の様々な構成を採用することもできる。
【0144】
以下、参考形態の例を付記する。
1. 分散システムを構成する複数のサーバそれぞれに対するタスクの割り当てを決定するタスク割当判定装置であって、
前記サーバ上で実行されている前記タスクの処理速度に関する情報である速度情報を取得する速度情報取得手段と、
前記速度情報を用いて、判定対象のタスクの処理速度が異常であるか否かを判定する異常判定手段と、
前記異常判定手段によって処理速度が異常であると判定された前記判定対象のタスクが割り当てられている前記サーバを、新たなタスクの割り当て対象から一時的に除外する割当除外手段と、
を有するタスク割当判定装置。
2. 前記タスクの処理速度の履歴である速度履歴を取得する速度履歴取得手段を有し、
前記異常判定手段は、前記判定対象のタスクの処理速度と、前記判定対象のタスクの速度履歴とを比較することで、前記判定対象のタスクの処理速度が異常であるか否かを判定する、
1.に記載のタスク割当判定装置。
3. 前記判定対象のタスクの速度履歴に基づいて、前記判定対象のタスクの正常な処理速度の範囲である速度正常範囲を算出する正常範囲算出手段を有し、
前記異常判定手段は、前記判定対象のタスクの処理速度が前記速度正常範囲に含まれない場合に、前記判定対象のタスクの処理速度が異常である判定する、
2.に記載のタスク割当判定装置。
4. 前記異常判定手段は、前記判定対象のタスクの処理速度と、前記判定対象のタスク以外の前記タスクの処理速度とを比較することで、前記判定対象のタスクの処理速度が異常であるか否かを判定する、1.に記載のタスク割当判定装置。
5. 前記判定対象のタスク以外のタスクの処理速度、又は前記判定対象のタスクを含む複数の前記タスクの処理速度に基づいて、前記判定対象のタスクの正常な処理速度の範囲である速度正常範囲を算出する正常範囲算出手段を有し、
前記異常判定手段は、前記判定対象のタスクの処理速度が、前記速度正常範囲に含まれない場合に、前記判定対象のタスクの処理速度が異常であると判定する、
4.に記載のタスク割当判定装置。
6. 前記タスクに対応するタスク種別を取得するタスク種別取得手段を有し、
前記異常判定手段が前記判定対象のタスクとの比較対象とする前記タスクは、前記判定対象のタスクと同一のタスク種別に対応する、
4.又は5.に記載のタスク割当判定装置。
7. 前記サーバを新たなタスクの割り当て対象から除外する期間である除外期間を格納する除外期間格納手段を有し、
前記割当除外手段は、前記異常判定手段によって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバを、前記除外期間の間、新たなタスクの割り当て対象から除外する1.乃至6.いずれか一項に記載のタスク割当判定装置。
8. 前記除外期間格納手段は、前記サーバごとに前記除外期間を格納しており、
前記割当除外手段は、前記異常判定手段によって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバを、そのサーバに対応付けられている前記除外期間の間、新たなタスクの割り当て対象から除外し、
前記異常判定手段によって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバに対応付けられている前記除外期間を更新する除外期間更新手段を有する、
7.に記載のタスク割当判定装置。
9. 前記処理サーバを新たなタスクの割り当て対象から除外する除外期間の最大値を格納する最大除外期間格納手段を有し、
前記割当除外手段は、前記異常判定手段によって処理速度が異常であると判定された前記判定対象のタスクを実行している前記サーバが、既に新たなタスクの割り当て対象から除外されており、かつその前記サーバが新たなタスクの割り当て対象から除外された時点からの経過時間が、前記除外期間の最大値を超えている場合、そのサーバを新たなタスクの割り当て対象とする、
1.乃至8.いずれ一項に記載のタスク割当判定装置。
10. 分散システムを構成する複数のサーバそれぞれに対するタスクの割り当てを判定するコンピュータによって実行される制御方法であって、
前記サーバ上で実行されている前記タスクの処理速度に関する情報である速度情報を取得する速度情報取得ステップと、
前記速度情報を用いて、判定対象のタスクの処理速度が異常であるか否かを判定する異常判定ステップと、
前記異常判定ステップによって処理速度が異常であると判定された前記タスクが割り当てられている前記サーバを、新たなタスクの割り当て対象から一時的に除外する割当除外ステップと、
を有する制御方法。
11. 前記タスクの処理速度の履歴である速度履歴を取得する速度履歴取得ステップを有し、
前記異常判定ステップは、前記判定対象のタスクの処理速度と、前記判定対象のタスクの速度履歴とを比較することで、前記判定対象のタスクの処理速度が異常であるか否かを判定する、
10.に記載の制御方法。
12. 前記判定対象のタスクの速度履歴に基づいて、前記判定対象のタスクの正常な処理速度の範囲である速度正常範囲を算出する正常範囲算出ステップを有し、
前記異常判定ステップは、前記判定対象のタスクの処理速度が前記速度正常範囲に含まれない場合に、前記判定対象のタスクの処理速度が異常である判定する、
11.に記載の制御方法。
13. 前記異常判定ステップは、前記判定対象のタスクの処理速度と、前記判定対象のタスク以外の前記タスクの処理速度とを比較することで、前記判定対象のタスクの処理速度が異常であるか否かを判定する、10.に記載の制御方法。
14. 前記判定対象のタスク以外のタスクの処理速度、又は前記判定対象のタスクを含む複数の前記タスクの処理速度に基づいて、前記判定対象のタスクの正常な処理速度の範囲である速度正常範囲を算出する正常範囲算出ステップを有し、
前記異常判定ステップは、前記判定対象のタスクの処理速度が、前記速度正常範囲に含まれない場合に、前記判定対象のタスクの処理速度が異常であると判定する、
13.に記載の制御方法。
15. 前記タスクに対応するタスク種別を取得するタスク種別取得ステップを有し、
前記異常判定ステップが前記判定対象のタスクとの比較対象とする前記タスクは、前記判定対象のタスクと同一のタスク種別に対応する、
13.又は14.に記載の制御方法。
16. 前記コンピュータは、前記サーバを新たなタスクの割り当て対象から除外する期間である除外期間を格納する除外期間格納手段を有し、
前記割当除外ステップは、前記異常判定ステップによって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバを、前記除外期間の間、新たなタスクの割り当て対象から除外する10.乃至15.いずれか一項に記載の制御方法。
17. 前記除外期間格納手段は、前記サーバごとに前記除外期間を格納しており、
前記割当除外ステップは、前記異常判定ステップによって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバを、そのサーバに対応付けられている前記除外期間の間、新たなタスクの割り当て対象から除外し、
前記異常判定ステップによって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバに対応付けられている前記除外期間を更新する除外期間更新ステップを有する、
16.に記載の制御方法。
18. 前記コンピュータは、前記処理サーバを新たなタスクの割り当て対象から除外する除外期間の最大値を格納する最大除外期間格納手段を有し、
前記割当除外ステップは、前記異常判定ステップによって処理速度が異常であると判定された前記判定対象のタスクを実行している前記サーバが、既に新たなタスクの割り当て対象から除外されており、かつその前記サーバが新たなタスクの割り当て対象から除外された時点からの経過時間が、前記除外期間の最大値を超えている場合、そのサーバを新たなタスクの割り当て対象とする、
10.乃至17.いずれ一項に記載の制御方法。
19. 分散システムを構成する複数のサーバそれぞれに対するタスクの割り当てを判定するタスク割当判定装置として動作する機能をコンピュータに持たせるプログラムであって、
前記サーバ上で実行されている前記タスクの処理速度に関する情報である速度情報を取得する速度情報取得機能と、
前記速度情報を用いて、判定対象のタスクの処理速度が異常であるか否かを判定する異常判定機能と、
前記異常判定機能によって処理速度が異常であると判定された前記判定対象のタスクが割り当てられている前記サーバを、新たなタスクの割り当て対象から一時的に除外する割当除外機能と、
を前記コンピュータに持たせるプログラム。
20. 前記タスクの処理速度の履歴である速度履歴を取得する速度履歴取得機能を有し、
前記異常判定機能は、前記判定対象のタスクの処理速度と、前記判定対象のタスクの速度履歴とを比較することで、前記判定対象のタスクの処理速度が異常であるか否かを判定する、
19.に記載のプログラム。
21. 前記判定対象のタスクの速度履歴に基づいて、前記判定対象のタスクの正常な処理速度の範囲である速度正常範囲を算出する正常範囲算出機能を有し、
前記異常判定機能は、前記判定対象のタスクの処理速度が前記速度正常範囲に含まれない場合に、前記判定対象のタスクの処理速度が異常である判定する、
20.に記載のプログラム。
22. 前記異常判定機能は、前記判定対象のタスクの処理速度と、前記判定対象のタスク以外の前記タスクの処理速度とを比較することで、前記判定対象のタスクの処理速度が異常であるか否かを判定する、19.に記載のプログラム。
23. 前記判定対象のタスク以外のタスクの処理速度、又は前記判定対象のタスクを含む複数の前記タスクの処理速度に基づいて、前記判定対象のタスクの正常な処理速度の範囲である速度正常範囲を算出する正常範囲算出機能を有し、
前記異常判定機能は、前記判定対象のタスクの処理速度が、前記速度正常範囲に含まれない場合に、前記判定対象のタスクの処理速度が異常であると判定する、
22.に記載のプログラム。
24. 前記タスクに対応するタスク種別を取得するタスク種別取得機能を有し、
前記異常判定機能が前記判定対象のタスクとの比較対象とする前記タスクは、前記判定対象のタスクと同一のタスク種別に対応する、
22.又は23.に記載のプログラム。
25. 前記コンピュータは、前記サーバを新たなタスクの割り当て対象から除外する期間である除外期間を格納する除外期間格納手段を有し、
前記割当除外機能は、前記異常判定機能によって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバを、前記除外期間の間、新たなタスクの割り当て対象から除外する19.乃至24.いずれか一項に記載のプログラム。
26. 前記除外期間格納手段は、前記サーバごとに前記除外期間を格納しており、
前記割当除外機能は、前記異常判定機能によって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバを、そのサーバに対応付けられている前記除外期間の間、新たなタスクの割り当て対象から除外し、
前記異常判定機能によって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバに対応付けられている前記除外期間を更新する除外期間更新機能を有する、
25.に記載のプログラム。
27. 前記コンピュータは、前記処理サーバを新たなタスクの割り当て対象から除外する除外期間の最大値を格納する最大除外期間格納手段を有し、
前記割当除外機能は、前記異常判定機能によって処理速度が異常であると判定された前記判定対象のタスクを実行している前記サーバが、既に新たなタスクの割り当て対象から除外されており、かつその前記サーバが新たなタスクの割り当て対象から除外された時点からの経過時間が、前記除外期間の最大値を超えている場合、そのサーバを新たなタスクの割り当て対象とする、
19.乃至26.いずれ一項に記載のプログラム。
【0145】
この出願は、2013年7月3日に出願された日本出願特願2013−139860号を基礎とする優先権を主張し、その開示の全てをここに取り込む。