WO2015001850A1 - タスク割り当て判定装置、制御方法、及びプログラム - Google Patents

タスク割り当て判定装置、制御方法、及びプログラム Download PDF

Info

Publication number
WO2015001850A1
WO2015001850A1 PCT/JP2014/063021 JP2014063021W WO2015001850A1 WO 2015001850 A1 WO2015001850 A1 WO 2015001850A1 JP 2014063021 W JP2014063021 W JP 2014063021W WO 2015001850 A1 WO2015001850 A1 WO 2015001850A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
speed
determination
processing
processing speed
Prior art date
Application number
PCT/JP2014/063021
Other languages
English (en)
French (fr)
Inventor
理人 浅原
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to US14/902,428 priority Critical patent/US20160378557A1/en
Priority to JP2015525083A priority patent/JP6233413B2/ja
Publication of WO2015001850A1 publication Critical patent/WO2015001850A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Definitions

  • the processing speed of some tasks may be temporarily delayed.
  • the cause is a failure of the processing server executing the task, a bug in the software executed on the processing server, fragmentation of data used by the task, and congestion in the network to which the processing server is connected. And so on.
  • An object of the present invention is to provide a technique for assigning tasks so as to avoid slowing down the processing speed of other tasks when the processing speed of some tasks is slow in a distributed system. .
  • FIG. 18 is a flowchart illustrating an example of a flow of processing executed by the assignment determination apparatus according to the seventh embodiment. It is a figure which shows the allocation determination apparatus 2000 based on Example 3, and its use environment. It is a figure which shows collectively the speed information stored in the speed information storage part 3240 of computers c1 and c2. It is a figure which shows the speed information managed by the speed information management part. It is a figure which shows the progress of the task calculated based on the speed information acquired from the speed information management part.
  • the task progress indicates the task progress rate, the ratio of the processed data amount to the processing target data amount, and the like. Further, for example, the progress of the task indicates a value obtained by accumulating the resource amount used by the task. By grasping how much resources the task has used, it is possible to predict the progress of the task. Further, the progress of the task may be a predicted value of the remaining processing time calculated using a mathematical model or the like.
  • the abnormality determination unit 2040 calculates the processing progress rate per second of the task from the speed information acquired from the speed information acquisition unit 2020, and sets the calculated value as the processing speed of the task.
  • FIG. 11 shows the processing progress rate per second of the tasks T1 and T2 ⁇ calculated by the abnormality determination unit 2040 based on the speed information.
  • FIG. 11 shows that the process progress rate per second for task T1 assigned to computer c1 was 5%, and the process progress rate per second for task T2 assigned to computer c2 was 20%. It shows that.
  • the normal range calculation unit 2100 calculates, for example, a probability distribution of past processing speeds indicated in the speed history. Then, the normal range calculation unit 2100 sets a predetermined range in the probability distribution as the normal speed range.
  • the assignment determination apparatus 2000 of this embodiment determines whether the processing speed of the target task is abnormal using the processing speed history of the target task. Therefore, according to the assignment determination apparatus 2000 of the present embodiment, when the processing speed of the target task changes abnormally compared to the past, it can be detected that the processing speed of the target task is abnormal. As a result, it is possible to prevent the processing speed of a newly assigned task from becoming slow with high accuracy.
  • each task is associated with a task type.
  • the task type is represented by, for example, a job ID.
  • each task is associated with the ID of the job that is the source of the task.
  • the task type may be other than the job ID.
  • other task types include a job phase ID, a combination of a job ID and a phase ID, and the like.
  • FIG. 29 is a diagram illustrating a configuration of an allocation determination apparatus 2000 according to the sixth embodiment.
  • arrows indicate the flow of information.
  • each block represents a functional unit configuration, not a hardware unit configuration.
  • the allocation determination apparatus 2000 of the sixth embodiment is the same as the allocation determination apparatus 2000 of the fifth embodiment.
  • the allocation exclusion unit 2060 includes an exclusion period corresponding to the processing server 3200 to which the target task is allocated.
  • the processing server 3200 is excluded from new task assignment targets.
  • the allocation determination apparatus 2000 includes a maximum exclusion period storage unit 2180.
  • the maximum exclusion period storage unit 2180 stores the maximum value of the exclusion period.
  • the abnormality determination step whether or not the processing speed of the determination target task is abnormal by comparing the processing speed of the determination target task with the processing speed of the task other than the determination target task. 10 is determined.
  • the control method described in 1. 14 Based on the processing speed of a task other than the determination target task or the processing speed of a plurality of the tasks including the determination target task, a normal speed range that is a normal processing speed range of the determination target task is calculated.
  • a normal range calculating step to The abnormality determination step determines that the processing speed of the determination target task is abnormal when the processing speed of the determination target task is not included in the normal speed range; 13.

Abstract

 分散システム(3000)は処理サーバ(3200)を有する。処理サーバ(3200)にはタスクが割り当てられる。速度情報取得部(2020)は、処理サーバ(3200)上で実行されているタスクの処理速度に関する情報である速度情報を取得する。異常判定部(2040)は、速度情報を用いて、判定対象のタスクの処理速度が異常であるか否かを判定する。割当除外部(2060)は、異常判定部(2040)によって判定対象のタスクの処理速度が異常であると判定された場合に、そのタスクが割り当てられている処理サーバ(3200)を、新たなタスクの割り当て対象から一時的に除外する。

Description

タスク割り当て判定装置、制御方法、及びプログラム
 本発明は、分散システムにおけるタスク割り当ての技術に関する。
 ジョブを分割することで生成された複数のタスクを、複数の計算機(以下、処理サーバ)に分散して実行させる分散システムが開発されている。処理サーバは、タスクを実行できる状態になると、新たなタスクの割り当てを受ける。このような形態の分散システムでは、タスクが終了した処理サーバから順に新たなタスクが割り当てられるため、高速な処理サーバに対してより多くのタスクが割り当てられやすくなる。その結果、ジョブの実行効率が高くなる。
 処理サーバに対してタスクを割り当てる技術又はそれに関連する技術を開示している先行技術文献として、非特許文献1及び特許文献1~5がある。非特許文献1は、処理サーバ上で実行されているタスクの処理に要する時間を予測し、その時間がこれまでに実行したタスクの処理に要した時間に対して十分に長い場合に、実行中のタスクの処理に要する時間を短くする技術を開示している。具体的には、1)上記実行中のタスクを同じサーバ上で再実行する、2)上記実行中のタスクを複製し、同じサーバ上で実行する、又は3)上記実行中のタスクを複製し、複製したタスクを別の複数の処理サーバに割り当てるという方法により、実行中のタスクの処理に要する時間を短くする。
 特許文献1及び2は、予め計測しておいたタスクの負荷指標と処理サーバの性能指標に基づいて、タスクの割当計画を静的に算出する技術を開示する。特許文献3は、ジョブの進捗状況に基づいて推定したジョブの完了時間がジョブの要求完了時間を満たさない場合に、そのジョブを複数のタスクに分割し、分割したタスクを複数の処理サーバに割り当てることで、タスクを並列処理する技術を開示する。特許文献4は、処理サーバの構成に基づいて算出された静的な性能指標値に基づき、高性能な処理サーバに対してタスクを割り当てる技術を開示する。特許文献5は、契約ユーザごとに契約CPU使用率を定めておき、契約ユーザから受け付けた処理のCPU使用率が契約CPU使用率を超えた場合に、その契約ユーザから受け付けた新たな処理の開始を所定の時間遅延する技術を開示する。
特開2008-243216号公報 特開2010-277604号公報 特開2008-123205号公報 特開2007-317038号公報 特開2012-156800号公報
Ganesh Ananthanarayanan、外6名、「Reining in the Outliers in Map-Reduce Clusters using Mantri」、Proceedings of the 9th USENIX Symposium on Operating Systems Design and Implementation (OSDI '10)、2010年10月4日
 分散システムにおいて、一部のタスクの処理速度が一時的に遅れることがある。その要因は、そのタスクを実行している処理サーバの故障、その処理サーバ上で実行されているソフトウエアのバグ、タスクが利用するデータの断片化、その処理サーバが接続されているネットワークにおける輻輳など、多岐に渡る。ここで、ジョブを完了するためには、そのジョブを分割することで生成された全てのタスクを完了する必要がある。そのため、一部のタスクの進捗が遅くなると、そのタスクを含むジョブ全体の終了が遅くなってしまう。
 本発明者は、新たなタスクを割り当てる処理サーバを決定する際に、各処理サーバで実行されているタスクの処理速度を考慮する必要性を見出した。処理速度が遅いタスクを実行している処理サーバに対して新たなタスクを割り当てると、新たに割り当てたタスクの処理速度も遅くなると考えられる。
 非特許文献1が開示しているのは、既に実行されているタスクの処理に要する時間を短くするための技術であり、新たなタスクの割り当てを決定するための技術ではない。特許文献1または2記載の技術では、事前に計測したタスクの負荷指標と処理サーバの性能指標に基づいてタスクの割当計画を算出するため、タスクの処理速度の一時的な低下が割当計画に反映されない。特許文献3記載の技術も、非特許文献1記載の技術と同様に、既に実行されているタスクの完了に要する時間を短くするための技術であり、新たなタスクを決定するための技術ではない。特許文献4記載の技術は、事前に算出した処理サーバの性能指標値に基づいてタスクの割り当てを行う技術であり、実行されているタスクの処理速度がタスクの割り当てに反映されない。特許文献5記載の技術は、サーバに対して処理を割り当てた後にその処理の開始時間を遅延する技術であり、タスクの割り当てを決定する技術ではない。
 本発明は、以上の課題に鑑みてなされたものである。本発明の目的は、分散システムにおいて一部のタスクの処理速度が遅くなっている場合に、その他のタスクの処理速度が遅くなることを避けるようにタスクの割り当てを行う技術を提供することである。
 本発明が提供するタスク割当判定装置は、分散システムを構成する複数のサーバそれぞれに対するタスクの割り当てを判定する。当該タスク割当判定装置は、前記サーバ上で実行されている前記タスクの処理速度に関する情報である速度情報を取得する速度情報取得手段と、前記速度情報を用いて、判定対象のタスクの処理速度が異常であるか否かを判定する異常判定手段と、前記異常判定手段によって処理速度が異常であると判定された前記判定対象のタスクが割り当てられている前記サーバを、新たなタスクの割り当て対象から一時的に除外する割当除外手段と、を有する。
 本発明が提供する制御方法は、分散システムを構成する複数のサーバそれぞれに対するタスクの割り当てを判定するコンピュータによって実行される。当該制御方法は、前記サーバ上で実行されている前記タスクの処理速度に関する情報である速度情報を取得する速度情報取得ステップと、前記速度情報を用いて、判定対象のタスクの処理速度が異常であるか否かを判定する異常判定ステップと、前記異常判定ステップによって処理速度が異常であると判定された前記判定対象のタスクが割り当てられている前記サーバを、新たなタスクの割り当て対象から一時的に除外する割当除外ステップと、を有する。
 本発明が提供するプログラムは、コンピュータに、本発明が提供するタスク割当判定装置として動作する機能を持たせるプログラムである。当該プログラムは、このコンピュータに、本発明が提供するタスク割当判定装置が有する各機能構成部が有する機能を持たせる。
 本発明によれば、分散システムにおいて一部のタスクの処理速度が遅くなっている場合に、その他のタスクの処理速度が遅くなることを避けるようにタスクの割り当てを行う技術が提供される。
 上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
実施形態1に係る割当判定装置をその使用環境と共に例示するブロック図である。 割当判定装置の構成を例示する図である。 実施形態1に係る割当判定装置のハードウエア構成を例示するブロック図である。 実施形態1に係る割当判定装置によって実行される処理の流れを例示するフローチャートである。 実施例1に係る割当判定装置をその使用環境と共に示すブロック図である。 実施例1の分散システムに含まれる処理サーバを示す図である。 コンピュータ c1 と c2 の速度情報格納部に格納されている速度情報を示す図である。 速度情報管理部によって管理されている速度情報を示す図である。 コンピュータ c1 と c2 の速度情報格納部に格納されている速度情報を示す図である。 速度情報管理部によって管理されている速度情報を示す図である。 異常判定部が算出したタスク T1 と T2 の1秒当たりの処理進捗率を示す図である。 実施形態2に係る割当判定装置の構成を例示する図である。 正常範囲算出部を有する実施形態2に係る割当判定装置の構成を例示する図である。 実施形態2に係る割当判定装置によって実行される処理の流れを例示するフローチャートである。 正常範囲算出部を有する実施形態3に係る割当判定装置の構成を例示する図である。 実施形態3の割当判定装置によって実行される処理の流れを例示するフローチャートである。 実施形態4に係る割当判定装置の構成を例示する図である。 実施形態4の割当判定装置によって実行される処理の流れを例示するフローチャートである。 実施例2における割当判定装置及びその使用環境を示すブロック図である。 実施例2における分散システムに含まれる処理サーバを示す図である。 実施例2におけるタスクとタスク種別との対応を表す図である。 コンピュータ c1 ~ c3 の速度情報格納部に格納されている速度情報を合わせて示す図である。 速度情報管理部によって管理されている速度情報を示す図である。 コンピュータc1 ~ c3の速度情報格納部に格納されている速度情報を合わせて示す図である。 速度情報管理部によって管理されている速度情報を示す図である。 速度情報管理部から取得した速度情報に基づいて算出されたタスクの進捗度を示す図である。 実施形態5に係る割当判定装置の構成を例示する図である。 実施形態5の割当判定装置によって実行される処理の流れを例示するフローチャートである。 実施形態6に係る割当判定装置の構成を例示する図である。 実施形態6の割当判定装置によって実行される処理の流れを例示するフローチャートである。 実施形態7に係る割当判定装置の構成を例示する図である。 実施形態7の割当判定装置によって実行される処理の流れを例示するフローチャートである。 実施例3に係る割当判定装置2000及びその使用環境を示す図である。 コンピュータ c1 及び c2 の速度情報格納部3240に格納されている速度情報を合わせて示す図である。 速度情報管理部によって管理されている速度情報を示す図である。 速度情報管理部から取得した速度情報に基づいて算出されたタスクの進捗度を示す図である。
 以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
[実施形態1]
 図1は、実施形態1に係る割当判定装置2000をその使用環境と共に例示するブロック図である。図1において、矢印は情報の流れを表している。さらに、図1において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
 分散システム3000は、複数の処理サーバ3200を有する。各処理サーバ3200には、タスクが割り当てられる。処理サーバ3200は、サーバ、パーソナルコンピュータ(PC)、タブレット端末など、種々の計算機である。処理サーバ3200は、割り当てられたタスクを実行する。割当判定装置2000は、処理サーバ3200に対するタスクの割り当てを判定する。具体的には、処理サーバ3200上で実行されているタスクの処理速度に基づいて、処理サーバ3200を新たなタスクを割り当てる対象から一時的に除外するか否かを判定する。割当判定装置2000は、処理サーバ3200同様、種々の計算機である。なお、処理サーバ3200上で実行するタスクは1つであってもよいし、複数であってもよい。
 処理サーバ3200と割当判定装置2000は、ネットワークを介して接続されている。このネットワークは、有線回線で構成されるネットワークでもよいし、無線回線で構成されるネットワークでもよいし、有線回線と無線回線が混在するネットワークでもよい。
 図2は、割当判定装置2000の構成を例示する図である。図2において、矢印は情報の流れを表している。さらに、図2において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。割当判定装置2000は、速度情報取得部2020、異常判定部2040、及び割当除外部2060を有する。以下、それぞれについて説明する。
<速度情報取得部2020>
 速度情報取得部2020は、処理サーバ3200上で実行されているタスクの処理速度に関する情報である速度情報を取得する。
<異常判定部2040>
 異常判定部2040は、速度情報を用いて、判定対象のタスク(以下、対象タスク)の処理速度が異常であるか否かを判定する。
<割当除外部2060>
 割当除外部2060は、異常判定部2040によって対象タスクの処理速度が異常であると判定された場合に、その対象タスクが割り当てられている処理サーバ3200を、新たなタスクの割り当て対象から一時的に除外する。以下、新たなタスクの割り当て対象から一時的に除外された処理サーバ3200を、除外サーバと表記する。ここで、新たなタスクとは、割当除外部2060の決定によって対象タスクを実行している処理サーバ3200が除外サーバになった後に、いずれかの処理サーバ3200へ割り当てられるタスクである。したがって、過去にある処理サーバ3200上で実行されたことがあるタスクでも、現在その処理サーバ3200上で実行されていなければ、その処理サーバ3200にとって新たなタスクとしてよい。
<ハードウエア構成>
 割当判定装置2000が有する各機能構成部は、例えば、個々に又は複数組み合わせられた状態で、少なくとも1つのハードウエア構成要素として実現される。その他にも例えば、各機能構成部は、少なくとも1つのソフトウエア構成要素として実現される。その他にも例えば、各機能構成部は、ハードウエア構成要素とソフトウエア構成要素の組み合わせにより実現される。
 図3は、実施形態1に係る割当判定装置2000のハードウエア構成を例示するブロック図である。図3において、割当判定装置2000は、バス1020、プロセッサ1040、メモリ1060、ストレージ1080、及びネットワークアダプタ1100を有する。
 バス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は、無線回線に接続するためのインタフェースであってもよいし、有線回線に接続するためのインタフェースであってもよい。
 速度情報取得モジュール1220は、割当判定装置2000に、速度情報取得部2020の機能を持たせるためのプログラムである。プロセッサ1040は、速度情報取得モジュール1220を実行することで、速度情報取得部2020の機能を実現する。
 異常判定モジュール1240は、割当判定装置2000に、異常判定部2040の機能を持たせるためのプログラムである。プロセッサ1040は、異常判定モジュール1240を実行することで、異常判定部2040の機能を実現する。
 割当除外モジュール1260は、割当判定装置2000に、割当除外部2060の機能を持たせるためのプログラムである。プロセッサ1040は、割当除外モジュール1260を実行することで、割当除外部2060の機能を実現する。
 例えばプロセッサ1040は、上記各モジュールをメモリ1060上に読み出して実行する。ただし、プロセッサ1040は、上記各モジュールを、メモリ1060上に読み出さずに実行してもよい。
 ストレージ1080は、上記各モジュールを格納する。
 割当判定装置2000のハードウエア構成は、図3に示した構成に限定されない。例えば、上記各モジュールはメモリ1060に格納されてもよい。この場合、割当判定装置2000は、ストレージ1080を備えていなくてもよい。
<処理の流れ>
 図4は、実施形態1に係る割当判定装置2000によって行われる処理の流れを例示するフローチャートである。
 ステップS102において、速度情報取得部2020は、対象タスクの速度情報を取得する。ステップS104において、異常判定部2040は、速度情報を用いて、対象タスクの処理速度が異常であるか否かを判定する。ステップS106において、割当除外部2060は、異常判定部2040によって対象タスクの処理速度が異常であると判定されたか否かを判定する。異常判定部2040によって対象タスクの処理速度が異常であると判定された場合(ステップS106:YES)、図4の処理は、ステップS108に進む。一方、異常判定部2040によって対象タスクの処理速度が異常でないと判定された場合(ステップS106:NO)、図4の処理は終了する。ステップS108において、割当除外部2060は、対象タスクが割り当てられているサーバを、新たなタスクの割り当て対象から一時的に除外する。
 以下、本実施形態の割当判定装置2000について、さらに詳しく説明する。
<速度情報取得部2020の詳細>
 速度情報取得部2020が取得する速度情報は、例えばタスクの処理速度を直接示す情報である。タスクの処理速度は、単位時間当たりのタスクの進捗率、単位時間当たりのデータ処理量、又は単位時間当たりのリソース使用量やリソース使用率などで表される。リソースは、例えば CPU、メモリ、ディスク帯域、又はネットワーク帯域などである。
 また速度情報は、タスクの処理速度の算出に利用できる情報であってもよい。この場合、例えば速度情報は、時点と、その時点におけるタスクの進捗度とを組み合わせて示す。この速度情報を用いることで、例えばタスクの処理速度は、「タスクの進捗度の差/時点の差」を計算することで算出できる。
 タスクの進捗度は、タスクの進捗率、処理対象のデータ量に対する処理済みのデータ量の割合などを示す。また例えば、タスクの進捗度は、タスクが使用したリソース量を累積した値を示す。タスクがどの程度リソースを使用してきたかを把握することで、タスクの進捗度合いを予測することができる。さらに、タスクの進捗度は、数学モデルなどを利用して計算された残り処理時間の予測値であってもよい。
 速度情報取得部2020が速度情報を取得する方法は様々である。例えば速度情報取得部2020は、外部の装置から入力される速度情報や、手動で入力される速度情報を取得する。その他にも速度情報取得部2020は、外部の装置にアクセスして速度情報を取得してもよい。
<異常判定部2040の詳細>
 異常判定部2040が、速度情報を用いて対象タスクの処理速度が異常であるか否かを判定する方法は、様々である。例えば、速度情報がタスクの処理速度を直接表している場合、異常判定部2040は、対象タスクの速度情報が表す処理速度に基づいて、対象タスクの処理速度が異常であるか否かを判定する。また例えば、速度情報がタスクの処理速度の算出に利用できる情報を表している場合、異常判定部2040は、対象タスクの速度情報を用いて、対象タスクの処理速度を算出する。そして、異常判定部2040は、算出した対象タスクの処理速度に基づいて、対象タスクの処理速度が異常であるか否かを判定する。
 例えば異常判定部2040は、対象タスクの処理速度が所定の閾値に満たない場合に、その対象タスクの処理速度は異常であると判定する。また例えば異常判定部2040は、複数の対象タスクのうち、処理速度が最も小さい対象タスクについて、処理速度が異常であると判定する。また例えば、タスクの処理速度の分布を正規分布と仮定し、対象タスクの処理速度が、この正規分布の中央値や平均値などの基準値より一定以上小さい場合に、対象タスクの処理速度が異常であると判断する。他にも例えば、タスクの処理速度の確率分布を離散確率分布であるポアソン分布や連続確率分布であるカイ二乗分布などで仮定し、確率分布上における対象タスクの処理速度の発生確率が基準値より一定以上小さい場合に、対象タスクの処理速度が異常であると判断する。さらに例えば、K-means法やサポートベクトルマシンなどの機械学習アルゴリズムを使用して処理速度が小さいタスクを判定し、処理速度が小さいと判定されたタスクを、処理速度が異常であるタスクとしてもよい。
<対象タスク>
 割当判定装置2000がどのタスクを対象タスクとするかを決定する方法は様々である。例えば割当判定装置2000は、分散システム3000に含まれるタスクから、対象タスクをランダムに選択する。また、割当判定装置2000は、外部の装置や人手による対象タスクの指定を受け付けてもよい。また、割当判定装置2000は、外部の装置にアクセスしてどのタスクを対象タスクとするかを示す情報を取得してもよい。
 例えば割当判定装置2000は、各タスクを定期的に対象タスクとして処理を行う。また、割当判定装置2000は、各タスクを対象タスクとして処理を行う時間間隔を、タスクごとに異ならせてもよい。その場合、例えば割当判定装置2000の内部又は外部に、各タスクについて、そのタスクを対象タスクとして処理を実行する時点や時間間隔を示す情報が格納されている。
<処理サーバ3200>
 除外サーバとなった処理サーバ3200が再度新たなタスクの割り当て対象となるタイミングは様々である。例えば割当判定装置2000は、除外サーバ上で実行されているタスクについても、タスクの処理速度が異常であるか否かを判定する。そして、異常判定部2040によってタスクの処理速度が異常でないと判定されたタスクを実行している処理サーバ3200が除外サーバである場合、割当除外部2060は、その処理サーバ3200を新たなタスクの割り当て対象とする。その他にも例えば、処理サーバ3200は、割当除外部2060によって指定された一定期間の間、除外サーバとなる。この場合、割当判定装置2000は、一定期間の間、その除外サーバ上で実行されているタスクについては、処理速度が異常であるか否かの判定を行わなくてもよい。
<作用・効果>
 本実施形態の割当判定装置2000によれば、処理速度が異常なタスクを実行している処理サーバ3200は、新たなタスクの割り当て対象から一時的に除外される。ここで、タスクの処理速度が異常である処理サーバ3200に対してさらに新たなタスクを割り当てると、新たに割り当てたタスクの処理速度も異常になることが考えられる。その結果、タスクの進捗の遅れが大きくなっていき、結果として、ジョブ全体の進捗が遅くなる。本実施形態によれば、処理速度が異常なタスクを実行している処理サーバ3200は、新たなタスクの割り当て対象から一時的に除外されるため、新たに割り当てられるタスクの処理速度が遅くなることを避けることができる。
<実施例1>
 実施形態1に係る割当判定装置2000の具体的な動作について、実施例を用いて説明する。なお、以下に示すのは、割当判定装置2000の動作の一例である。本実施形態は以下に示す動作例によって何らの限定を受けない。
 図5は、実施例1に係る割当判定装置2000を、その使用環境と共に示すブロック図である。図5において、矢印は情報の流れを表している。さらに、図5において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
 実施例1において、分散システム3000は、マスタサーバ3100を有する。マスタサーバ3100は、割当部3120及び速度情報管理部3140を有する。割当部3120は、処理サーバ3200に対するタスクの割り当てを行う。速度情報管理部3140は、各処理サーバ3200から速度情報を収集し、それら速度情報を管理する。本実施例において、速度情報は、タスクの処理進捗率を表している。
 処理サーバ3200は、タスク実行部3220及び速度情報格納部3240を有する。タスク実行部3220は、1つ又は複数のタスクを実行する。例えばタスク実行部3220は、プロセス、スレッド、又は仮想マシンなどである。処理サーバ3200は、複数のタスク実行部3220を有してもよい。速度情報格納部3240は、処理サーバ3200上で実行されているタスクに関する速度情報を格納している。
 実施例1の速度情報取得部2020は、速度情報管理部3140から、各タスクの速度情報を取得する。異常判定部2040は、速度情報取得部2020から取得した速度情報を用いて、タスクの処理速度が異常であるか否かを判定する。
 実施例1の割当除外部2060は、処理サーバ3200を新たなタスクの割り当て対象から一時的に除外するか否かの判定結果を、割当部3120へ通知する。こうすることで、割当部3120は、新たなタスクの割り当て対象から一時的に除外された処理サーバ3200にタスクを割り当てないようにする。
 図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は省略されている。
 コンピュータ c1 と c2 は、実行しているタスクの状態を監視して、実行しているタスクに関する速度情報を生成し、速度情報格納部3240に格納する。図7は、コンピュータ c1 と c2 の速度情報格納部3240に格納されている速度情報を示す図である。ここで、本実施例における速度情報は、タスクの処理進捗率を表している。例えば図7の1行目のレコードは、タスク T1 の処理進捗率が時刻 1:30:01 において 5% であることを示している。
 コンピュータ c1 と c2 の速度情報格納部3240に格納されている速度情報は、マスタサーバ3100が有する速度情報管理部3140によって収集される。図8は、速度情報管理部3140によって管理されている速度情報を示す図である。例えば、図8の1行目のレコードは、タスク T1 がコンピュータ c1 で実行されており、かつタスク T1 の処理進捗率が時刻1:30:01の時点において 5% であったことを表している。また、2番目のレコードは、タスク T2 がコンピュータ c2 で実行されており、かつタスク T2 の処理進捗率が時刻 1:30:00 の時点において 10% であったことを示している。
 コンピュータ c1 と c2 は、さらにタスクの実行を継続し、速度情報をさらに生成する。図9は、この時点においてコンピュータ c1 と c2 の速度情報格納部3240に格納されている速度情報を示す図である。そして、図9が示す速度情報は速度情報管理部3140によって収集される。図10は、速度情報管理部3140によって管理されている速度情報を示す。
 実施例1において、コンピュータ c1 はタスク T1 を実行しており、コンピュータ c2 はタスク T2 を実行している。また、コンピュータ c1 はタスクが割り当てられていないプロセス P3 を有し、コンピュータ c2 はタスクが割り当てられていないプロセス P4 を有している。そこでマスタサーバ3100は、コンピュータ c1 と c2 のいずれかに、新たなタスク T3 を割り当てようとする。そのために、マスタサーバ3100の割当部3120は、割当判定装置2000による判定結果を利用する。
 割当判定装置2000が行う処理について説明する。速度情報取得部2020は、速度情報管理部3140から、タスク T1 と T2 に関する速度情報を取得する。具体的には、速度情報取得部2020は、図10に示されている情報を取得する。
 本実施例において、異常判定部2040は、速度情報取得部2020から取得した速度情報から、タスクの1秒あたりの処理進捗率を算出し、算出した値をタスクの処理速度とする。図11は、異常判定部2040が速度情報に基づいて算出した、タスク T1 と T2 の、1秒当たりの処理進捗率を示している。図11は、コンピュータ c1 に割り当てられたタスク T1 の 1 秒あたりの処理進捗率が 5% であったこと、及びコンピュータ c2 に割り当てられたタスク T2 の 1 秒あたりの処理進捗率が 20% であったことを示している。
 異常判定部2040は、複数のタスクのうち、最も処理速度が小さいタスクの処理速度が異常であると判定する。本実施例の場合、異常判定部2040は、タスク T1 の処理速度が異常であると判定する。そのため、割当除外部2060は、タスク T1 を実行しているコンピュータ c1 を、新たなタスクの割り当て対象から一時的に除外する。そのため、割当部3120は、コンピュータ c1 のプロセス P3 ではなく、コンピュータ c2 のプロセス P4 に、タスク T3 を割り当てる。
[実施形態2]
 図12は、実施形態2に係る割当判定装置2000の構成を例示する図である。図12において、矢印は情報の流れを表している。さらに、図12において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。以下で説明する点を除き、実施形態2の割当判定装置2000は、実施形態1の割当判定装置2000と同様である。
 実施形態2の割当判定装置2000は、対象タスクの処理速度の履歴に基づいて、対象タスクの処理速度が異常か否かを判定する。そのために、実施形態2の割当判定装置2000は、速度履歴取得部2080を有する。以下、詳細に説明する。
<速度履歴取得部2080>
 速度履歴取得部2080は、タスクの処理速度の履歴である速度履歴を取得する。例えば速度履歴は、過去のタスクの処理速度を表す情報である。また例えば速度履歴は、過去のタスクの処理速度を算出するために利用できる情報であってもよい。
 その他にも例えば、速度履歴は、過去の処理速度の変化に対して統計処理を施した結果を示す値であってもよい。例えばこの場合、速度履歴は、過去の複数の時点における処理速度から算出した、処理速度の平均値、中央値、最小値、最大値、又は最頻値などである。
 速度履歴取得部2080が速度履歴を取得する方法は様々である。例えば速度履歴取得部2080は、外部の装置から入力される速度履歴や、手動で入力される速度履歴を取得する。その他にも速度履歴取得部2080は、外部の装置にアクセスして速度履歴を取得してもよい。
<異常判定部2040>
 実施形態2の異常判定部2040は、対象タスクの処理速度と、対象タスクの速度履歴とを比較することで、対象タスクの処理速度が異常であるか否かを判定する。例えば異常判定部2040は、対象タスクの処理速度が、速度履歴を用いて算出される過去の処理速度の統計値や速度履歴として示されている過去の処理速度の統計値よりも小さい場合に、対象タスクの処理速度が異常であると判定する。
 その他にも例えば異常判定部2040は、以下のように動作する。この場合、図13に示すように、割当判定装置2000は、さらに正常範囲算出部2100を有する。ここで、図13において、矢印は情報の流れを表している。さらに、図13において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
 正常範囲算出部2100は、対象タスクの速度履歴に基づいて、対象タスクの処理速度の正常な範囲である速度正常範囲を算出する。この場合、異常判定部2040は、対象タスクの処理速度が、速度正常範囲に含まれない場合に、対象タスクの処理速度が異常であると判断する。
 正常範囲算出部2100は、例えば、速度履歴に示されている過去の処理速度の確率分布を算出する。そして、正常範囲算出部2100は、その確率分布における所定の範囲を、速度正常範囲とする。
<処理の流れ>
 図14は、実施形態2に係る割当判定装置2000によって実行される処理の流れを例示するフローチャートである。実施形態2の割当判定装置2000は、ステップS204の後に、図4に示されているステップS106及びS108の処理を、実施形態1の割当判定装置2000と同様に実行する。図を簡潔にするため、図14において、ステップS106及びS108は省略されている。
 ステップS202において、速度履歴取得部2080は、対象タスクの速度履歴を取得する。ステップS204において、異常判定部2040は、対象タスクの処理速度と、対象タスクの速度履歴とを比較することで、対象タスクの処理速度が異常であるか否かを判定する。
<作用・効果>
 本実施形態の割当判定装置2000は、対象タスクの処理速度の履歴を用いて、対象タスクの処理速度が異常であるか否かを判定する。そのため、本実施形態の割当判定装置2000によれば、対象タスクの処理速度が過去と比べて異常に変化した場合に、対象タスクの処理速度が異常であることを検出することができる。これより、新たに割り当てるタスクの処理速度が遅くなることを高い精度で防ぐことができる。
[実施形態3]
 実施形態3に係る割当判定装置2000の構成は、例えば実施形態1の割当判定装置や実施形態2の割当判定装置2000と同様である。以下で説明する点を除き、実施形態3の割当判定装置2000は、実施形態1又は2の割当判定装置2000と同様である。
 実施形態3の異常判定部2040は、対象タスクの処理速度を、その対象タスク以外のタスクの処理速度と比較することで、対象タスクの処理速度が異常であるか否かを判定する。例えば、速度情報取得部2020は、対象タスクに関する速度情報と、対象タスク以外のタスクに関する速度情報を取得する。そして、異常判定部2040は、各タスクの速度情報を用いて、対象タスクの処理速度と、他のタスクの処理速度とを比較する。
 ここで、対象タスクは複数あってもよい。この場合、例えば異常判定部2040は、各対象タスクについて、その他の対象タスクと比較する。こうすることで、異常判定部2040は、複数の対象タスクそれぞれについて、処理速度が異常であるか否かを判定する。
 例えば異常判定部2040は、対象タスクの処理速度が、比較する他の全てのタスクの処理速度よりも小さい場合に、その対象タスクの処理速度が異常であると判定する。その他にも例えば、異常判定部2040は、比較する各タスクを処理速度が大きい順にソートした場合に、対象タスクの処理速度が所定の順位以下であれば、対象タスクの処理速度が異常であると判定する。
 その他にも例えば異常判定部2040は、以下のように動作する。この場合、図15に示すように、割当判定装置2000は、さらに正常範囲算出部2100を有する。ここで、図15において、矢印は情報の流れを表している。さらに、図15において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
 正常範囲算出部2100は、対象タスクの処理速度の正常な範囲である速度正常範囲を算出する。例えば正常範囲算出部2100は、対象タスク以外の1つ又は複数のタスクの処理速度に基づいて、速度正常範囲を算出する。その他にも例えば、正常範囲算出部2100は、対象タスクを含む複数のタスクの処理速度に基づいて、速度正常範囲を算出する。この場合、異常判定部2040は、対象タスクの処理速度が、速度正常範囲に含まれない場合に、対象タスクの処理速度が異常であると判断する。
 例えば正常範囲算出部2100は、速度正常範囲の算出に用いるタスクの処理速度から、タスクの処理速度の確率分布を算出する。そして、正常範囲算出部2100は、その確率分布における所定の範囲を、速度正常範囲とする。
<処理の流れ>
 図16は、実施形態3の割当判定装置2000によって実行される処理の流れを例示するフローチャートである。実施形態3の割当判定装置2000は、ステップS304の後に、図4に示されているステップS106及びS108の処理を、実施形態1の割当判定装置2000と同様に実行する。図を簡潔にするため、図16において、ステップS106及びS108は省略されている。
 ステップS302において、速度情報取得部2020は、対象タスクを含む複数のタスクそれぞれの速度情報を取得する。ステップS304において、異常判定部2040は、対象タスクの処理速度を他のタスクの処理速度と比較することで、その対象タスクの処理速度が異常であるか否かを判定する。
<作用・効果>
 本実施形態によれば、対象タスクの処理速度を、その対象タスク以外のタスクの処理速度と比較することで、対象タスクの処理速度が異常であるか否かを判定する。そのため、他のタスクと比べて処理速度が異常となっているタスクを特定し、そのタスクを実行している処理サーバ3200を、新たなタスクの割当対象から一時的に除外することができる。そのため、新たに割り当てるタスクの処理速度が遅くなることを、高い精度で防ぐことができる。
[実施形態4]
 図17は、実施形態4に係る割当判定装置2000の構成を例示する図である。図17において、矢印は情報の流れを表している。さらに、図17において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。以下で説明する点を除き、実施形態4の割当判定装置2000は、実施形態3の割当判定装置2000と同様である。
 実施形態4において、各タスクには、タスク種別が対応付けられている。タスク種別は、例えばジョブのIDで表される。例えば各タスクは、そのタスクの元となっているジョブのIDに対応付けられている。ただし、タスク種別は、ジョブのID以外でもよい。例えばその他のタスク種別は、ジョブのフェーズのIDや、ジョブのIDとフェーズのIDとの組み合わせなどである。
 実施形態4の割当判定装置2000は、タスク種別取得部2120を有する。タスク種別取得部2120は、タスクに対応するタスク種別を取得する。
 実施形態4の異常判定部2040は、判定対象のタスクを、その判定対象のタスクと同一のタスク種別に対応する他のタスクと比較する。こうすることで、異常判定部2040は、判定対象のタスクの処理速度が異常であるか否かを判定する。例えば割当判定装置2000が正常範囲算出部2100を有する場合、正常範囲算出部2100が速度正常範囲の算出に用いるタスクは、判定対象のタスクと同一のタスク種別に対応するタスクである。なお、実施形態4の異常判定部2040が、複数のタスクの処理速度を比較する方法は、実施形態3の異常判定部2040によって行われる方法と同様である。
<処理の流れ>
 図18は、実施形態4の割当判定装置2000によって実行される処理の流れを例示するフローチャートである。実施形態4の割当判定装置2000は、ステップS404の処理を行った後、実施形態1の割当判定装置2000と同様の流れで、図4に示すステップS106及びS108を実行する。図を簡潔にするため、図18において、ステップS106以降は省略されている。
 ステップS402において、速度情報取得部2020は、対象タスクを含む複数のタスクそれぞれの速度情報を取得する。ステップS404において、タスク種別取得部2120は、各タスクのタスク種別を取得する。ステップS406において、異常判定部2040は、速度情報を用いて、対象タスクの処理速度と、タスク種別が対象タスクと同一である他のタスクの処理速度とを比較し、対象タスクの処理速度が異常であるか否かを判定する。
<作用・効果>
 本実施形態によれば、同一のタスク種別に含まれるタスクの処理速度を比較することで、タスクの処理速度が異常であるか否かの判定が行われる。ここで、同一のタスク種別に含まれるタスクは、通常、処理速度が近いことが多いと考えられる。そのため、本実施形態によれば、高い精度でタスクの処理速度が異常であるか否かを判定することができる。
 また、本実施形態によれば、タスクの処理速度が異常であると判定された処理サーバ3200に対して、そのタスクと同一のタスク種別に対応する新たなタスクを割り当てないようにする。ここで、ある処理サーバ3200上において、あるタスク種別に対応するタスクの処理速度が異常であっても、それ以外のタスク種別に対応するタスクの処理速度は異常にならないことがある。これは、タスクの種類によって、利用するリソースや処理するデータ量など、実行する処理の特性が異なることがあるためである。したがって、本実施形態によれば、特定のタスク種別に対応するタスクについてのみ処理速度が異常となってしまう処理サーバ3200を、その他のタスク種別に対応するタスクの割り当てについては、割り当ての対象から除外しない。そのため、処理サーバ3200を効率よく利用することができる。
<実施例2>
 実施形態4に係る割当判定装置2000の具体的な動作について、実施例を用いて説明する。なお、以下に示すのは、割当判定装置2000の動作の一例である。本実施形態は以下に示す動作例によって何らの限定を受けない。
 図19は、実施例2における割当判定装置2000及びその使用環境を示すブロック図である。なお、図19における分散システム3000の構成は、図5に示した実施例1における分散システム3000の構成と同様である。また、図19における割当判定装置2000の構成は、図17に示した実施形態4の割当判定装置の構成と同様である。
 図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は省略されている。
 実施例2では、各タスクに、タスク種別が対応付けられている。図21は、実施例2におけるタスクとタスク種別との対応を表す図である。例えば図21の1行目のレコードは、タスク T0に対して、「Job1 のフェーズ1」というタスク種別が対応付けられていることを示す。
 実施例1と同様に、各コンピュータは、実行しているタスクの状態を監視して、実行しているタスクに関する速度情報を生成し、それを速度情報格納部3240に格納する。図22は、コンピュータ c1 ~ c3 の速度情報格納部3240に格納されている速度情報を合わせて示す図である。ここで、本実施例における速度情報は、累積 CPU 使用時間を表している。例えば図22の1行目のレコードは、時刻 1:30:01 において、タスク T0 の累積 CPU 使用時間が 0.02 秒であったことを示している。そして、各コンピュータに格納されている速度情報は、速度情報管理部3140によって収集される。図23は、速度情報管理部3140によって管理されている速度情報を示す図である。
 各コンピュータのタスク実行部はさらにタスクの実行を進め、新たな速度情報を生成し、それらを速度情報格納部3240に格納する。図24は、新たな速度情報が格納された後において、コンピュータc1 ~ c3の速度情報格納部3240に格納されている速度情報を合わせて示す図である。図25は、速度情報管理部3140によって管理されている速度情報を示す図である。
 ここで、マスタサーバ3100が新たなタスク T4 を処理サーバ3200に割り当てようとしている。そこで、割当部3120は、割当判定装置2000に、タスク T4 を入力として与える。そして、割当部3120は、割当判定装置2000から、タスク T4 と同一のタスク種別に対応し、かつ新たなタスクの割り当て対象から一時的に除外されるコンピュータを示す情報を取得する。
 割当判定装置2000のタスク種別取得部2120は、各タスクのタスク種別を取得する。これにより、割当判定装置2000は、タスク T0、T1、T2、及び T4 のタスク種別がジョブJob1のフェーズ1であり、タスクT3及びT5のタスク種別がジョブJob2のフェーズ2であることを把握する。
 図26は、異常判定部2040が速度情報に基づいて算出したタスクの処理速度を示す図である。本動作例における割当判定装置2000は、タスクの処理速度として、1 秒あたりの CPU 使用時間を用いる。例えば図26の1行目のレコードは、コンピュータc4に割り当てられたタスク T0 の 1 秒あたりの CPU使用時間 が 0.05 秒であったことを示している。
 異常判定部2040は、新たに割り当てようとしているタスク T4 と同一のタスク種別のタスクについて処理を行う。ここで、図21より、タスク T4 と同一のタスク種別に対応しているタスクは、タスク T0、T1、T2である。
 本実施例の異常判定部2040は、同一のタスク種別に対応するタスクの処理速度を用いて、中央値μ及び標準偏差σを求める。そして、タスクの処理速度が指標値「μ-ασ」より小さい場合、そのタスクの処理速度が異常であると判定する。
 そこで、異常判定部2040は、タスク T0、T1、及び T2 の処理速度から、中央値及び標準偏差を求める。計算の結果、中央値μは0.43秒、標準偏差σは約0.29となる。ここでα=1.0とすると、上記指標値は 0.14 となる。図26を参照すると、タスク T0 の処理速度はこの指標値より小さく、タスク T1 及び T2 の処理速度はこの指標値より大きい。
 そこで、割当除外部2060は、タスク T0 を実行しているコンピュータ c4 を、「job1 のフェーズ1」というタスク種別に対応する新たなタスクを割り当てる対象から外す。割当部3120は、割当判定装置2000から処理結果の通知を受け、「job1 のフェーズ1」というタスク種別に対応するタスク T4 を、コンピュータ c4 以外に割り当てる。
[実施形態5]
 図27は、実施形態5に係る割当判定装置2000の構成を例示する図である。図27において、矢印は情報の流れを表している。さらに、図27において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。以下で説明する点を除き、実施形態5の割当判定装置2000は、上述したいずれかの実施形態の割当判定装置2000と同様である。
<除外期間格納部2140>
 割当判定装置2000は、除外期間格納部2140を有する。除外期間格納部2140は、除外期間を格納する。除外期間は、対象タスクが割り当てられている処理サーバ3200を新たなタスクの割り当て対象から一時的に除外する期間を表す。
<割当除外部2060>
 実施形態5の割当除外部2060は、異常判定部2040によって、対象タスクの処理速度が異常であると判定された場合、対象タスクが割り当てられている処理サーバ3200を、除外期間の間、新たなタスクの割り当て対象から除外する。
<処理の流れ>
 図28は、実施形態5の割当判定装置2000によって実行される処理の流れを例示するフローチャートである。実施形態5の割当判定装置2000は、図4に示すステップS102~S106の処理を、実施形態1の割当判定装置2000と同様の流れで実行する。図を簡潔にするため、図28において、ステップS102及びS104は省略されている。
 ステップS502において、割当除外部2060は、除外期間格納部2140から除外期間を取得する。ステップS504において、割当除外部2060は、除外期間の間、対象タスクが割り当てられている処理サーバ3200を、新たなタスクの割り当て対象から一時的に除外する。
<作用・効果>
 本実施形態の割当判定装置2000によれば、異常判定部2040によって処理速度が異常であると判定された対象タスクを実行している処理サーバ3200は、除外期間の間、新たなタスクの割り当て対象から除外される。そのため、本実施形態の割当判定装置2000によれば、上記除外期間の間は、上記処理サーバ3200上で実行されているタスクについては、処理速度が異常であるか否かの判定を行わなくてもよい。したがって、本実施形態の割当判定装置2000によれば、割当判定装置2000にかかる処理負荷が小さくなる。
 なお、除外期間格納部2140は、処理サーバ3200ごとに除外期間を格納してもよい。こうすることで、処理サーバ3200の特性や、処理サーバ3200上で動作させるタスクの特性を考慮して、処理サーバ3200ごとに適切な除外期間を設定できる。
[実施形態6]
 図29は、実施形態6に係る割当判定装置2000の構成を例示する図である。図29において、矢印は情報の流れを表している。さらに、図29において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。以下で説明する点を除き、実施形態6の割当判定装置2000は、実施形態5の割当判定装置2000と同様である。
<除外期間格納部2140>
 実施形態6の除外期間格納部2140は、処理サーバ3200ごとに除外期間を格納している。
<除外期間更新部2160>
 除外期間更新部2160は、異常判定部2040によって、対象タスクの処理速度が異常であると判定された場合に、対象タスクが割り当てられている処理サーバ3200に対応する除外期間を更新する。
 例えば除外期間更新部2160は、新たなタスクの割り当て対象から除外された回数が多いほど除外期間が長くなるように、除外期間を更新する。例えばこの場合、除外期間更新部2160は、以下の数式(1)を用いて除外期間を更新する。ここで、i は、処理サーバ3200の ID を表している。以下、ID が i である処理サーバ3200を、処理サーバ3200-iとも表記する。P(i) は、処理サーバ3200-iに対応する除外期間を表す。また、T(i) は、処理サーバ3200-iが新たなタスクの割り当て対象から除外された回数である。αは、所定の定数である。
Figure JPOXMLDOC01-appb-M000001
 なおこの場合、除外期間格納部2140はさらに、各処理サーバ3200が新たなタスクの割り当て対象から除外された回数を格納する。
 また、上述した方法で用いる、処理サーバ3200が新たなタスクの割り当て対象から一時的に除外された回数は、過去の所定期間内における回数でもよいし、過去全ての期間内における回数でもよい。
<割当除外部2060>
 実施形態6の割当除外部2060は、異常判定部2040によって、対象タスクの処理速度が異常であると判定された場合に、対象タスクが割り当てられている処理サーバ3200に対応する除外期間の間、その処理サーバ3200を新たなタスクの割り当て対象から除外する。
<処理の流れ>
 図30は、実施形態6の割当判定装置2000によって実行される処理の流れを例示するフローチャートである。実施形態6の割当判定装置2000は、ステップS106の処理を行う前に、図4に示すステップS102及びS104の処理を、実施形態1の割当判定装置2000と同様の流れで実行する。図を簡潔にするため、図30において、ステップS102及びS104は省略されている。
 ステップS602において、除外期間更新部2160は、除外期間格納部2140から、対象タスクを実行している処理サーバ3200に対応する除外期間を取得する。ステップS604において、割当除外部2060は、対象タスクが割り当てられている処理サーバ3200に対応する除外期間の間、その処理サーバ3200を新たなタスクの割り当て対象から除外する。ステップS606において、除外期間更新部2160は、取得した除外期間を更新する。
<作用・効果>
 本実施形態によれば、除外期間が処理サーバ3200ごとに設定されている。したがって、処理サーバ3200の特性や処理サーバ3200上で実行するタスクの特性などに合わせて、処理サーバ3200ごとに適切な除外期間を設定できる。
 また、本実施形態の割当判定装置2000によれば、処理サーバ3200が新たなタスクの割り当て対象から一時的に除外される時に、その処理サーバ3200に対応する除外期間を更新する。これにより、例えば、新たなタスクの割り当て対象から除外される回数が多いほど除外期間を長くすることができる。新たなタスクの割り当て対象から除外される回数が多い処理サーバ3200は、タスクの処理速度が異常になりやすい処理サーバ3200であると考えられる。そのため、本実施形態の割当判定装置2000によれば、タスクの処理速度が異常になりやすい処理サーバ3200ほど長い期間、新たなタスクの割り当て対象から除外することができる。そのため、新たに割り当てるタスクの進捗が遅くなることを、さらに効率よく防ぐことができる。また、タスクの処理速度が異常になりやすい処理サーバ3200ほど長い期間、割当判定装置2000の処理対象とする必要が無くなるため、割当判定装置2000の処理負荷を減らすことができる。
[実施形態7]
 図31は、実施形態7に係る割当判定装置2000の構成を例示する図である。図31において、矢印は情報の流れを表している。さらに、図31において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。以下で説明する点を除き、実施形態7の割当判定装置2000は、実施形態1の割当判定装置2000と同様である。
<最大除外期間格納部2180>
 実施形態7の割当判定装置2000は、最大除外期間格納部2180を有する。最大除外期間格納部2180は、除外期間の最大値を格納する。
<割当除外部2060>
 割当除外部2060は、異常判定部2040によって処理速度が異常であると判定された対象タスクを実行している処理サーバ3200が、既に新たなタスクの割り当て対象から一時的に除外されているか否かを判定する。ここで、前述したように、タスクの割り当て対象から一時的に除外されている処理サーバ3200を、除外サーバとも表記する。そして、この処理サーバ3200が除外サーバである場合、割当除外部2060は、この処理サーバ3200が除外サーバとなった時点からの経過時間が、最大除外期間格納部2180に格納されている除外期間の最大値を超えているか否かを判定する。この処理サーバ3200が除外サーバとなった時点からの経過時間が、最大除外期間格納部2180に格納されている除外期間の最大値を超えている場合、最大除外期間格納部2180は、この処理サーバ3200を、新たなタスクの割り当て対象とする。
 割当除外部2060は、対象タスクを実行している処理サーバ3200が、既に除外サーバとなっているか否かを把握する。例えば割当除外部2060は、割当判定装置2000の内部又は外部から、対象タスクを実行している処理サーバ3200が、既に除外サーバとなっているか否かを示す情報を取得する。この場合、例えば割当判定装置2000の内部又は外部に、処理サーバ3200ごとに、その処理サーバ3200が除外サーバであるか否かを示す情報を格納する格納部が備えられている。割当除外部2060は、この格納部から情報を取得する。
 割当除外部2060は、処理サーバ3200が除外サーバとなった時点からの経過時間を把握する。例えば割当除外部2060は、割当判定装置2000の内部又は外部から、処理サーバ3200が除外サーバとなった時点を示す情報を取得する。この場合、例えば割当判定装置2000の内部又は外部に、除外サーバとなっている処理サーバ3200ごとに、その処理サーバ3200が除外サーバとなった時点を示す情報を格納する格納部が備えられている。割当除外部2060は、この格納部から、処理サーバ3200が除外サーバとなった時点を取得し、現在時刻とこの時点との差異に基づいて、処理サーバ3200が除外サーバとなった時点からの経過時間を算出する。なお、処理サーバ3200が除外サーバとなった時点からの経過時間は、割当判定装置2000の外部で算出されてもよい。この場合、割当除外部2060は、外部で算出された上記経過時間を取得する。
<処理の流れ>
 図32は、実施形態7の割当判定装置2000によって実行される処理の流れを例示するフローチャートである。実施形態7の割当判定装置2000は、ステップS106の処理を行う前に、図4に示すステップS102及びS104の処理を、実施形態1の割当判定装置2000と同様の流れで実行する。図を簡潔にするため、図32において、ステップS102及びS104は省略されている。
 ステップS702において、割当除外部2060は、対象タスクを実行している処理サーバ3200が、既に除外サーバになっているか否かを判定する。この処理サーバ3200が除外まだ除外サーバになっていない場合、図32の処理は、ステップS712に進む。一方、この処理サーバ3200が既に除外サーバになっている場合、図32の処理は、ステップS704に進む。
 ステップS704において、割当除外部2060は、最大除外期間格納部2180から、除外期間の最大値を取得する。ステップS706において、割当除外部2060は、処理サーバ3200が除外サーバになった時点からの経過時間を算出する。
 ステップS708において、割当除外部2060は、処理サーバ3200が除外サーバになった時点からの経過時間と、除外期間の最大値とを比較する。「処理サーバ3200が除外サーバになった時点からの経過時間>除外期間の最大値」である場合、図32の処理は、ステップS710に進む。一方、「処理サーバ3200が除外サーバになった時点からの経過時間>除外期間の最大値」でない場合、図32の処理は終了する。
 ステップS710において、割当除外部2060は、処理サーバ3200を新たなタスクの割り当て対象とする。一方、ステップS712において、割当除外部2060は、処理サーバ3200を新たなタスクの割り当て対象から一時的に除外する。
<作用・効果>
 本実施形態によれば、処理サーバ3200が新たなタスクの割当対象から除外される期間に限度を設けることができる。これにより、処理サーバ3200に対して恒常的にタスクが割り当てられなくなることを防ぐことができる。
<実施例3>
 以下、実施形態6と7の組み合わせに係る割当判定装置2000について、実施例を用いて説明する。なお、以下に示すのは、割当判定装置2000の動作の一例である。本実施形態は以下に示す動作例によって何らの限定を受けない。
 図33は、実施例3における割当判定装置2000及びその使用環境を示すブロック図である。なお、図33における分散システム3000の構成は、図5に示した実施例1における分散システム3000の構成と同様である。
 実施例3の分散システム3000に含まれる処理サーバ3200は、実施例1と同様に、図6で表される。
 実施例3における除外期間格納部2140が格納している除外期間は、処理サーバ3200を新たなタスクの割り当て対象から一時的に除外する回数を示す。ここで、除外期間格納部2140は除外期間として、1を格納している。また、除外期間更新部2160は、更新後の除外期間を、これまでの累積除外期間の2倍とする。
 実施例1と同様に、各コンピュータは、実行しているタスクの状態を監視して、実行しているタスクに関する速度情報を速度情報格納部3240に格納する。図34は、コンピュータ c1 及び c2 の速度情報格納部3240に格納されている速度情報を合わせて示す図である。本実施例において、速度情報は、タスクの処理速度に関する2つの指標を示す。第1の指標は、処理対象データ量に対する処理完了データ量の割合である。以下、この割合を、処理完了データ率と表記する。第2の指標は、累積処理時間である。例えば図34のレコード1は、時刻1:30:01において、タスクT1の処理完了データ率が5%であること、及びタスク T1 の累積処理時間が 30 秒であることを示している。また、図35は、速度情報管理部3140によって管理されている速度情報を示す。
 ここで、マスタサーバ3100が新たなタスクT3を処理サーバ3200に割り当てようとしている。コンピュータc1のタスク実行部P2に対してタスクが未割り当てであるため、マスタサーバ3100はコンピュータ c1 に対してタスクT3の割り当てを試みる。その処理の中で、割当部3120は、割当判定装置2000にコンピュータc1を入力として与える。そして、割当判定装置2000は、コンピュータ c1 を新たなタスクの割り当て対象から一時的に除外すべきか否かを判定する。
 実施例3において、異常判定部2040は、タスクの処理速度を示す指標値として、処理完了データ率rと累積処理時間tから算出した、予測処理時間t'を用いる。具体的な算出式として、t'=t/rを用いる。図36は、異常判定部2040が算出したタスクの処理速度を示す図である。この図は、コンピュータc1に割り当てられたタスクT1の予測処理時間が600秒であり、コンピュータc2に割り当てられたタスクT2の予測処理時間が400秒であることを示している。
 異常判定部2040は、コンピュータc1に割り当てられたタスクT1の予測処理時間が最も長いため、タスクT1の処理速度が最も小さいと判断する。よって、割当除外部2060は、コンピュータc1を、新たなタスク割り当て対象から一時的に除外する。その結果、割当部3120は、タスク T3 をコンピュータc1に割り当てない。
 除外期間更新部2160は、上記判定結果に基づいて、コンピュータc1に対する累積遅延回数を1に更新して、除外期間格納部2140に格納する。ここで、マスタサーバ3100の割当部3120が再度コンピュータ c1 に対してタスクT3の割り当てを試みたとする。この時、異常判定部2040は再度、タスク T1 の処理速度が異常であると判定したとする。しかし、最大除外期間格納部2180に格納されている最大除外期間が1であり、かつコンピュータ c1 は既に一回新たなタスクの割り当て対象から一時的に除外されている。そこで、割当除外部2060は、コンピュータ c1 を新たなタスクの割り当て対象とする。
 ただし、異常判定部2040は、タスク T1 の処理速度が異常であると判定したため、除外期間更新部2160は、最大除外期間格納部2180に格納されている最大除外期間を2に更新する。
 以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記実施形態の組み合わせ、及び上記実施形態以外の様々な構成を採用することもできる。
 以下、参考形態の例を付記する。
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.いずれ一項に記載のプログラム。
 この出願は、2013年7月3日に出願された日本出願特願2013-139860号を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (11)

  1.  分散システムを構成する複数のサーバそれぞれに対するタスクの割り当てを判定するタスク割当判定装置であって、
     前記サーバ上で実行されている前記タスクの処理速度に関する情報である速度情報を取得する速度情報取得手段と、
     前記速度情報を用いて、判定対象のタスクの処理速度が異常であるか否かを判定する異常判定手段と、
     前記異常判定手段によって処理速度が異常であると判定された前記判定対象のタスクが割り当てられている前記サーバを、新たなタスクの割り当て対象から一時的に除外する割当除外手段と、
     を有するタスク割当判定装置。
  2.  前記タスクの処理速度の履歴である速度履歴を取得する速度履歴取得手段を有し、
     前記異常判定手段は、前記判定対象のタスクの処理速度と、前記判定対象のタスクの速度履歴とを比較することで、前記判定対象のタスクの処理速度が異常であるか否かを判定する、
     請求項1に記載のタスク割当判定装置。
  3.  前記判定対象のタスクの速度履歴に基づいて、前記判定対象のタスクの正常な処理速度の範囲である速度正常範囲を算出する正常範囲算出手段を有し、
     前記異常判定手段は、前記判定対象のタスクの処理速度が前記速度正常範囲に含まれない場合に、前記判定対象のタスクの処理速度が異常である判定する、
     請求項2に記載のタスク割当判定装置。
  4.  前記異常判定手段は、前記判定対象のタスクの処理速度と、前記判定対象のタスク以外の前記タスクの処理速度とを比較することで、前記判定対象のタスクの処理速度が異常であるか否かを判定する、請求項1に記載のタスク割当判定装置。
  5.  前記判定対象のタスク以外のタスクの処理速度、又は前記判定対象のタスクを含む複数の前記タスクの処理速度に基づいて、前記判定対象のタスクの正常な処理速度の範囲である速度正常範囲を算出する正常範囲算出手段を有し、
     前記異常判定手段は、前記判定対象のタスクの処理速度が、前記速度正常範囲に含まれない場合に、前記判定対象のタスクの処理速度が異常であると判定する、
     請求項4に記載のタスク割当判定装置。
  6.  前記タスクに対応するタスク種別を取得するタスク種別取得手段を有し、
     前記異常判定手段が前記判定対象のタスクとの比較対象とする前記タスクは、前記判定対象のタスクと同一のタスク種別に対応する、
     請求項4又は5に記載のタスク割当判定装置。
  7.  前記サーバを新たなタスクの割り当て対象から除外する期間である除外期間を格納する除外期間格納手段を有し、
     前記割当除外手段は、前記異常判定手段によって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバを、前記除外期間の間、新たなタスクの割り当て対象から除外する請求項1乃至6いずれか一項に記載のタスク割当判定装置。
  8.  前記除外期間格納手段は、前記サーバごとに前記除外期間を格納しており、
     前記割当除外手段は、前記異常判定手段によって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバを、そのサーバに対応付けられている前記除外期間の間、新たなタスクの割り当て対象から除外し、
     前記異常判定手段によって、前記判定対象のタスクの処理速度が異常であると判定された場合に、前記判定対象のタスクが割り当てられている前記サーバに対応付けられている前記除外期間を更新する除外期間更新手段を有する、
     請求項7に記載のタスク割当判定装置。
  9.  前記処理サーバを新たなタスクの割り当て対象から除外する除外期間の最大値を格納する最大除外期間格納手段を有し、
     前記割当除外手段は、前記異常判定手段によって処理速度が異常であると判定された前記判定対象のタスクを実行している前記サーバが、既に新たなタスクの割り当て対象から除外されており、かつその前記サーバが新たなタスクの割り当て対象から除外された時点からの経過時間が、前記除外期間の最大値を超えている場合、そのサーバを新たなタスクの割り当て対象とする、
     請求項1乃至8いずれ一項に記載のタスク割当判定装置。
  10.  分散システムを構成する複数のサーバそれぞれに対するタスクの割り当てを判定するコンピュータによって実行される制御方法であって、
     前記サーバ上で実行されている前記タスクの処理速度に関する情報である速度情報を取得する速度情報取得ステップと、
     前記速度情報を用いて、判定対象のタスクの処理速度が異常であるか否かを判定する異常判定ステップと、
     前記異常判定ステップによって処理速度が異常であると判定された前記判定対象のタスクが割り当てられている前記サーバを、新たなタスクの割り当て対象から一時的に除外する割当除外ステップと、
     を有する制御方法。
  11.  分散システムを構成する複数のサーバそれぞれに対するタスクの割り当てを判定するタスク割当判定装置として動作する機能をコンピュータに持たせるプログラムであって、
     前記サーバ上で実行されている前記タスクの処理速度に関する情報である速度情報を取得する速度情報取得機能と、
     前記速度情報を用いて、判定対象のタスクの処理速度が異常であるか否かを判定する異常判定機能と、
     前記異常判定機能によって処理速度が異常であると判定された前記判定対象のタスクが割り当てられている前記サーバを、新たなタスクの割り当て対象から一時的に除外する割当除外機能と、
     を前記コンピュータに持たせるプログラム。
PCT/JP2014/063021 2013-07-03 2014-05-16 タスク割り当て判定装置、制御方法、及びプログラム WO2015001850A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/902,428 US20160378557A1 (en) 2013-07-03 2014-05-16 Task allocation determination apparatus, control method, and program
JP2015525083A JP6233413B2 (ja) 2013-07-03 2014-05-16 タスク割り当て判定装置、制御方法、及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-139860 2013-07-03
JP2013139860 2013-07-03

Publications (1)

Publication Number Publication Date
WO2015001850A1 true WO2015001850A1 (ja) 2015-01-08

Family

ID=52143443

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/063021 WO2015001850A1 (ja) 2013-07-03 2014-05-16 タスク割り当て判定装置、制御方法、及びプログラム

Country Status (3)

Country Link
US (1) US20160378557A1 (ja)
JP (1) JP6233413B2 (ja)
WO (1) WO2015001850A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106155802A (zh) * 2015-03-30 2016-11-23 阿里巴巴集团控股有限公司 任务调度方法、装置及控制节点
JP2017123048A (ja) * 2016-01-07 2017-07-13 富士通株式会社 並列処理装置、ジョブ監視方法及びジョブ監視プログラム
KR101836743B1 (ko) * 2016-12-08 2018-03-09 한국과학기술원 복수의 모바일 단말을 이용한 태스크 분산 처리 시스템의 실패 태스크 재할당을 위한 단말 선택 기법
JP6359716B1 (ja) * 2017-03-30 2018-07-18 インテル コーポレイション 分散型コンピューティングにおける低速タスクの診断

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180183695A1 (en) * 2016-12-28 2018-06-28 Intel Corporation Performance monitoring
US10417055B2 (en) * 2017-01-11 2019-09-17 International Business Machines Corporation Runtime movement of microprocess components
CN111222739B (zh) * 2019-10-22 2023-08-25 岭澳核电有限公司 核电站的任务分配方法及核电站的任务分配系统
CN111258724B (zh) * 2020-01-14 2024-02-06 平安银行股份有限公司 一种分布式系统的数据处理方法、装置、设备和存储介质
CN111756834B (zh) * 2020-06-22 2022-08-05 成都新潮传媒集团有限公司 一种扫码延迟处理方法及装置
CN113176937B (zh) * 2021-05-21 2023-09-12 抖音视界有限公司 任务处理方法、装置和电子设备
CN115269555B (zh) * 2022-08-09 2023-08-04 苏州大学附属儿童医院 一种关系型数据库管理系统
CN115358914B (zh) * 2022-10-20 2023-01-20 深圳市壹倍科技有限公司 用于视觉检测的数据处理方法、装置、计算机设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004295656A (ja) * 2003-03-27 2004-10-21 Ntt Docomo Inc 通信システム、クライアント装置及びクライアント装置によるサーバ装置の負荷分散方法
JP2004302937A (ja) * 2003-03-31 2004-10-28 Hitachi Ltd プログラム配置方法及びその実施システム並びにその処理プログラム
WO2009004734A1 (ja) * 2007-07-05 2009-01-08 Fujitsu Limited 仮想サーバシステム、仮想サーバシステムの制御方法、仮想サーバシステムの制御プログラムおよびサービス負荷分散装置
JP2010122818A (ja) * 2008-11-18 2010-06-03 Nec Corp コンピュータシステム及びコンピュータ
JP2011197796A (ja) * 2010-03-17 2011-10-06 Fujitsu Frontech Ltd 負荷分散制御装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004295656A (ja) * 2003-03-27 2004-10-21 Ntt Docomo Inc 通信システム、クライアント装置及びクライアント装置によるサーバ装置の負荷分散方法
JP2004302937A (ja) * 2003-03-31 2004-10-28 Hitachi Ltd プログラム配置方法及びその実施システム並びにその処理プログラム
WO2009004734A1 (ja) * 2007-07-05 2009-01-08 Fujitsu Limited 仮想サーバシステム、仮想サーバシステムの制御方法、仮想サーバシステムの制御プログラムおよびサービス負荷分散装置
JP2010122818A (ja) * 2008-11-18 2010-06-03 Nec Corp コンピュータシステム及びコンピュータ
JP2011197796A (ja) * 2010-03-17 2011-10-06 Fujitsu Frontech Ltd 負荷分散制御装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106155802A (zh) * 2015-03-30 2016-11-23 阿里巴巴集团控股有限公司 任务调度方法、装置及控制节点
CN106155802B (zh) * 2015-03-30 2020-03-13 阿里巴巴集团控股有限公司 任务调度方法、装置及控制节点
JP2017123048A (ja) * 2016-01-07 2017-07-13 富士通株式会社 並列処理装置、ジョブ監視方法及びジョブ監視プログラム
KR101836743B1 (ko) * 2016-12-08 2018-03-09 한국과학기술원 복수의 모바일 단말을 이용한 태스크 분산 처리 시스템의 실패 태스크 재할당을 위한 단말 선택 기법
JP6359716B1 (ja) * 2017-03-30 2018-07-18 インテル コーポレイション 分散型コンピューティングにおける低速タスクの診断
US10607155B2 (en) 2017-03-30 2020-03-31 Intel Corporation Diagnosing slow tasks in distributed computing
US11243814B2 (en) 2017-03-30 2022-02-08 Intel Corporation Diagnosing slow tasks in distributed computing

Also Published As

Publication number Publication date
US20160378557A1 (en) 2016-12-29
JP6233413B2 (ja) 2017-11-22
JPWO2015001850A1 (ja) 2017-02-23

Similar Documents

Publication Publication Date Title
JP6233413B2 (ja) タスク割り当て判定装置、制御方法、及びプログラム
JP6241300B2 (ja) ジョブスケジューリング装置、ジョブスケジューリング方法、およびジョブスケジューリングプログラム
JP6191691B2 (ja) 異常検出装置、制御方法、及びプログラム
KR101651871B1 (ko) 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치
US8751657B2 (en) Multi-client storage system and storage system management method
US8782657B2 (en) Dynamic creation and destruction of IO resources based on actual load and resource availability
JP6364880B2 (ja) 並列計算機システム,ジョブ管理装置の制御プログラム,及び並列計算機システムの制御方法
WO2016176011A1 (en) Multiple-computing-node system job node selection
JP6519111B2 (ja) データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置
US9792142B2 (en) Information processing device and resource allocation method
CN106133693A (zh) 虚拟机的迁移方法、装置及设备
JP2021056955A (ja) 分散型ストレージシステム及びデータ移動方法
Xue et al. Managing data center tickets: Prediction and active sizing
JP2019079334A (ja) 情報処理装置、情報処理システムおよび情報処理方法
JP6237170B2 (ja) 割当判定装置、制御方法、及びプログラム
US20150365474A1 (en) Computer-readable recording medium, task assignment method, and task assignment apparatus
WO2013171944A1 (ja) 仮想マシン管理システム、仮想マシン管理方法およびプログラム
US9563532B1 (en) Allocation of tasks in large scale computing systems
CN111930516B (zh) 一种负载均衡方法及相关装置
JP6158751B2 (ja) 計算機資源割当装置及び計算機資源割当プログラム
CN113127289B (zh) 一种基于yarn集群的资源管理方法、计算机设备和存储介质
JP6285850B2 (ja) プロセスマイグレーション方法及びクラスタシステム
JP6059259B2 (ja) 計算機システム及び計算機リソースの割当方法
TW201942741A (zh) 資訊處理裝置、控制方法及程式產品
US10126955B2 (en) Method and apparatus for big size file blocking for distributed processing

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14819355

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015525083

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14902428

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14819355

Country of ref document: EP

Kind code of ref document: A1