JP6237170B2 - Allocation determination apparatus, control method, and program - Google Patents
Allocation determination apparatus, control method, and program Download PDFInfo
- Publication number
- JP6237170B2 JP6237170B2 JP2013250232A JP2013250232A JP6237170B2 JP 6237170 B2 JP6237170 B2 JP 6237170B2 JP 2013250232 A JP2013250232 A JP 2013250232A JP 2013250232 A JP2013250232 A JP 2013250232A JP 6237170 B2 JP6237170 B2 JP 6237170B2
- Authority
- JP
- Japan
- Prior art keywords
- predicted time
- time distribution
- task
- statistic
- feature amount
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
本発明は、割当判定装置、制御方法、及びプログラムに関する。 The present invention relates to an assignment determination device, a control method, and a program.
ジョブを分割することで生成された複数のタスクを、複数の計算機(以下、処理サーバ)に分散して実行させる分散システムが開発されている。処理サーバは、タスクを実行できる状態になると、新たなタスクの割り当てを受ける。このような形態の分散システムでは、タスクが終了した処理サーバから順に新たなタスクが割り当てられるため、高速な処理サーバに対してより多くのタスクが割り当てられやすくなる。その結果、ジョブの実行効率が高くなる。 A distributed system has been developed in which a plurality of tasks generated by dividing a job are distributed to a plurality of computers (hereinafter referred to as processing servers) and executed. When the processing server is ready to execute a task, it receives a new task assignment. In such a distributed system, new tasks are assigned in order from the processing server where the tasks have been completed, and therefore, it becomes easier to assign more tasks to a high-speed processing server. As a result, job execution efficiency increases.
新しいタスクを割当てる処理サーバが複数存在する場合、他の処理サーバより短い時間でタスクを処理できるサーバを選択できれば、ジョブの完了時間をより短縮できる。短い処理時間で処理できるサーバを選択するためには、処理サーバごとにタスクの処理時間を予測する必要がある。 If there are a plurality of processing servers to which a new task is assigned, the job completion time can be further shortened if a server that can process the task in a shorter time than other processing servers can be selected. In order to select a server that can be processed in a short processing time, it is necessary to predict the task processing time for each processing server.
タスクの処理時間の予測又はそれに関連する技術を開示している先行技術文献として、非特許文献1及び特許文献1から6がある。非特許文献1は、実行中のタスクの処理に要する時間を短くする技術を開示している。具体的には、まず、処理サーバ上で実行されているタスクの処理に要する時間を、1)そのままタスクの実行を続けた場合、及び2)タスクを再実行した場合の2つの場合について算出する。そして、再実行した場合の所要時間の方が短い場合、そのタスクを再実行する。
Non-patent
特許文献1及び2は、予め計測しておいたタスクの負荷指標と処理サーバの性能指標を元に、タスクの割当計画を静的に算出する技術を開示する。
特許文献3は、ジョブの進捗状況から完了時間を推定し、ジョブの要求完了時間を満たさない場合はジョブを複数のタスクに分割し、分割したタスクを複数の処理サーバに割り当てることで、並列処理を実現する技術を開示する。
特許文献4は、処理サーバの構成に基づいて算出された静的な性能指標値に基づき、高性能な処理サーバに対してタスクを割り当てる技術を開示する。 Patent Document 4 discloses a technique for assigning a task to a high-performance processing server based on a static performance index value calculated based on the configuration of the processing server.
特許文献5は、リソースが確保された時間内に処理が完了するかを予測し、時間内に完了しない場合、処理を中断する技術を開示する。
特許文献6は、複数の記憶装置で構成されたファイルシステムにおいてデータのセグメントの読み出し時間を推定し、どの記憶装置が最も短いかの推定に基づいて、読み出す記憶装置を選択する技術を開示する。 Patent Document 6 discloses a technique for estimating a data segment reading time in a file system including a plurality of storage devices and selecting a storage device to be read based on an estimation of which storage device is the shortest.
本発明者は、分散システムにおいて、処理サーバをより効率よく利用する方法を検討した。その中で、本発明者は、処理サーバのリソース使用率が同一又は近い値である場合においても、タスクの処理時間にばらつきがあるということに着目した。例えば処理サーバのリソース使用率が高い場合、タスクの処理に長い時間を要する傾向はあるものの、短い時間でタスクの処理が完了することもある。つまり、処理サーバのリソース使用率が高いからといって、その処理サーバがタスクの処理に長い時間を要するとは限らない。前述した各先行技術文献に記載されている技術はいずれも、「リソース使用率が同一又は近い値である場合でもタスクの処理時間にばらつきがある」ということを考慮していない。 The present inventor has studied a method of using a processing server more efficiently in a distributed system. Among them, the present inventor has paid attention to the fact that the task processing time varies even when the resource usage rates of the processing servers are the same or close to each other. For example, when the resource usage rate of the processing server is high, task processing tends to take a long time, but task processing may be completed in a short time. That is, just because a processing server has a high resource usage rate, the processing server does not necessarily take a long time to process a task. None of the techniques described in the above-mentioned prior art documents considers that “the task processing time varies even when the resource usage rates are the same or close to each other”.
本発明は、以上の課題に鑑みてなされたものである。本発明の目的は、分散システムにおいて、処理サーバをより効率よく利用する技術を提供することである。 The present invention has been made in view of the above problems. An object of the present invention is to provide a technique for more efficiently using a processing server in a distributed system.
本発明が提供する割当判定装置は、タスクを割り当てる処理サーバの候補である候補処理サーバに関するリソース特徴量を取得するリソース特徴量取得手段と、前記リソース特徴量に対応する、タスク処理時間の予測値の確率分布である予測時間分布を取得する予測時間分布取得手段と、前記予測時間分布取得手段によって取得された予測時間分布の統計量を算出する統計量算出手段と、前記統計量に基づいて、前記候補処理サーバに対するタスクの割り当てについて判定を行う割当判定手段と、を有する。 The allocation determination apparatus provided by the present invention includes a resource feature amount acquisition unit that acquires a resource feature amount related to a candidate processing server that is a candidate of a processing server to which a task is allocated, and a predicted value of task processing time corresponding to the resource feature amount Based on the statistical amount, a predicted time distribution acquiring unit that acquires a predicted time distribution that is a probability distribution of, a statistical amount calculating unit that calculates a statistical amount of the predicted time distribution acquired by the predicted time distribution acquiring unit, and Assignment determination means for determining task assignment to the candidate processing server.
本発明が提供する制御方法は、割当判定装置として動作するコンピュータによって実行される。当該制御方法は、タスクを割り当てる処理サーバの候補である候補処理サーバに関するリソース特徴量を取得するリソース特徴量取得手段と、前記リソース特徴量に対応する、タスク処理時間の予測値の確率分布である予測時間分布を取得する予測時間分布取得手段と、前記予測時間分布取得手段によって取得された予測時間分布の統計量を算出する統計量算出手段と、前記統計量に基づいて、前記候補処理サーバに対するタスクの割り当てについて判定を行う割当判定手段と、を有する。 The control method provided by the present invention is executed by a computer that operates as an assignment determination device. The control method includes resource feature amount acquisition means for acquiring a resource feature amount related to a candidate processing server that is a candidate of a processing server to which a task is assigned, and a probability distribution of predicted values of task processing times corresponding to the resource feature amount. A prediction time distribution acquisition unit that acquires a prediction time distribution; a statistic calculation unit that calculates a statistic of the prediction time distribution acquired by the prediction time distribution acquisition unit; and the candidate processing server based on the statistic Assignment determination means for determining task assignment.
本発明が提供するプログラムは、コンピュータに、本発明が提供する割当判定装置として動作する機能を持たせる。当該プログラムは、前記コンピュータに、本発明が提供する割当判定装置が有する各機能構成部の機能を持たせる。 The program provided by the present invention causes a computer to have a function of operating as an assignment determination device provided by the present invention. The program causes the computer to have the function of each functional component included in the assignment determination apparatus provided by the present invention.
本発明によれば、分散システムにおいて、処理サーバをより効率よく利用する技術が提供される。 According to the present invention, a technique for more efficiently using a processing server in a distributed system is provided.
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In all the drawings, the same reference numerals are given to the same components, and the description will be omitted as appropriate.
[実施形態1]
図1は、実施形態1に係る割当判定装置2000をその使用環境と共に例示するブロック図である。図1において、矢印は情報の流れを表している。さらに、図1において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
[Embodiment 1]
FIG. 1 is a block diagram illustrating an
分散システム5000は、複数の処理サーバ3000を有する。各処理サーバ3000には、タスクが割り当てられる。処理サーバ3000は、サーバマシン、PC(Personal Computer)、タブレット端末など、種々の計算機である。処理サーバ3000は、割り当てられたタスクを実行する。割当判定装置2000は、処理サーバ3000に対するタスクの割り当てを判定する。割当判定装置2000は、処理サーバ3000同様、種々の計算機である。なお、処理サーバ3000上で実行するタスクは1つであってもよいし、複数であってもよい。
The
処理サーバ3000と割当判定装置2000は、ネットワークを介して接続されている。このネットワークは、有線回線で構成されるネットワークでもよいし、無線回線で構成されるネットワークでもよいし、有線回線と無線回線が混在するネットワークでもよい。
The
図2は、実施形態1の割当判定装置2000の構成を例示するブロック図である。図2において、矢印は情報の流れを表している。さらに、図2において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。割当判定装置2000は、リソース特徴量取得部2020、予測時間分布取得部2040、統計量算出部2060、及び割当判定部2080を有する。以下、それぞれの機能構成部について説明する。
FIG. 2 is a block diagram illustrating the configuration of the
<リソース特徴量取得部2020>
リソース特徴量取得部2020は、候補処理サーバに関するリソース特徴量を取得する。候補処理サーバは、タスクを割り当てる処理サーバ3000の候補である。リソース特徴量は、候補処理サーバによって使用されるリソースに関する特徴量である。候補処理サーバが使用するリソースは、例えば CPU、メモリ、ディスク帯域、又はネットワーク帯域などである。
<Resource feature
The resource feature
<予測時間分布取得部2040>
予測時間分布取得部2040は、リソース特徴量取得部2020によって取得されたリソース特徴量に対応する予測時間分布を取得する。予測時間分布は、タスク処理時間の予測値の確率分布である。
<Predicted time
The predicted time
<統計量算出部2060>
統計量算出部2060は、予測時間分布取得部2040によって取得された予測時間分布の統計量を算出する。
<
The
<割当判定部2080>
割当判定部2080は、統計量算出部2060によって算出された統計量に基づき、候補処理サーバに対するタスクの割り当てについて判定を行う。
<
The
<作用・効果>
前述したように、処理サーバのリソース使用率等が同一又は近い値である場合でも、タスクの処理に要する時間が異なる場合がある。図3は、処理サーバにおいてタスクを実行した場合におけるディスク I/O 使用率とタスク処理時間との関係を実測した結果を示すグラフである。ここで、タスク処理時間とは、処理サーバ3000がタスクを処理するために要した時間を意味する。X 軸は、タスク実行時の平均ディスク I/O 使用率を示し、Y 軸は、そのタスクを実行した際のタスク処理時間を示す。各プロットは、実測されたディスク I/O 使用率とタスク処理時間との組み合わせを示す。
<Action and effect>
As described above, even when the resource usage rate of the processing server is the same or close, the time required for task processing may differ. FIG. 3 is a graph showing the results of actual measurement of the relationship between the disk I / O usage rate and the task processing time when a task is executed in the processing server. Here, the task processing time means the time required for the
グラフ10から40はそれぞれ、ディスク I/O 使用率と、そのディスク I/O 使用率に対応するタスク処理時間の予測値(以下、予測時間)との関係を示す関数である。グラフ10から40は、実測されたディスク I/O 使用率とタスク処理時間との関係に基づき、それぞれ異なる方法で生成された関数である。グラフ10は、全てのタスク処理時間の平均値を予測時間とするグラフである。グラフ20は、全てのプロットを用いて線形回帰を行うことで生成された関数である。グラフ30は、全てのプロットを M/M1 待ち行列モデルに適用することで生成されたグラフである。グラフ40は、全てのプロットを M/D/1 待ち行列モデルに適用することで生成されたグラフである。
Each of the
ここで、図3の範囲80に着目する。範囲80には多くのプロットが含まれている。これは、ディスク I/O 使用率が高い場合(例:70%)でも、タスクの処理に要する時間が短いことがある(例:20秒)ことを示している。
Here, attention is paid to a
しかし、グラフ20から40を用いてタスク処理時間を予測する場合には、範囲80に含まれる予測時間よりも大きな値が算出される。ここで通常、新たなタスクは処理時間の予測値が小さい処理サーバに対して割り当てられる。そのため、図3の状況においてグラフ20から40を用いてタスク処理時間を予測すると、ディスク I/O 使用率が高い場合には、この処理サーバに対してタスクが割り当てられなくなる。その結果、この処理サーバは効率的に利用されない。また、グラフ10を用いて予測時間を算出すると、リソース使用率が考慮されない。そのため、グラフ10を用いた場合も、この処理サーバは効率的に利用されない。
However, when the task processing time is predicted using the
これに対し、割当判定装置2000は、候補処理サーバに関するリソース特徴量に対応する予測時間分布を取得する。図4は、複数のリソース特徴量それぞれに対応する予測時間分布を概念的に示す図である。グラフ50は、ディスク I/O 使用率が40%の場合に対応する予測時間分布であり、グラフ60は、ディスク I/O 使用率が60%の場合に対応する予測時間分布であり、グラフ70は、ディスク I/O 使用率が80%の場合に対応する予測時間分布である。
On the other hand, the
予測時間分布取得部2040によって取得される予測時間分布の統計量を算出すると、その統計量には、リソース特徴量が同一の値又は近い値である場合における予測時間のばらつきが反映されるようになる。例えば、予測時間分布取得部2040が、グラフ70で表される予測時間分布を取得したとする。グラフ70は、ディスク I/O 使用率が 80% であるという条件下において、予測時間にばらつきがあることを示している。具体的には、グラフ70は、「予測時間が70秒程度になる確率が高いものの、予測時間が30秒以下になることもある」ということを示している。そして、グラフ70で表される予測時間分布の統計量を算出すると、その統計量には、このような予測時間のばらつきが反映される。
When the statistic of the predicted time distribution acquired by the predicted time
本実施形態の割当判定装置2000によれば、リソース特徴量に応じた予測時間分布が表す予測時間のばらつきを反映する統計量に基づいて、候補処理サーバに対してタスクの割り当てについて判定が行われる。このようにすることで、「リソース特徴量が同一の値又は近い値である場合における予測時間のばらつき」を考慮して、タスクの割り当てに関する判定が行われる。その結果、例えば、「リソース使用率が高いときでも処理時間が短いことがある」という処理サーバに対してもタスクを割り当ててよいと判定される。よって、本実施形態の割当判定装置2000によれば、処理サーバをより効率的に利用することができる。
According to the
<ハードウエア構成>
図5は、割当判定装置2000のハードウエア構成を例示するブロック図である。図5において、割当判定装置2000は、バス1020、プロセッサ1040、メモリ1060、ストレージ1080、及びネットワークアダプタ1100を有する。
<Hardware configuration>
FIG. 5 is a block diagram illustrating a hardware configuration of the
バス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は、ネットワークに接続するためのインタフェースである。
The
リソース特徴量取得モジュール1220は、割当判定装置2000に、リソース特徴量取得部2020の機能を持たせるためのプログラムである。プロセッサ1040は、リソース特徴量取得モジュール1220を実行することで、リソース特徴量取得部2020の機能を実現する。
The resource feature
予測時間分布取得モジュール1240は、割当判定装置2000に、予測時間分布取得部2040の機能を持たせるためのプログラムである。プロセッサ1040は、予測時間分布取得モジュール1240を実行することで、予測時間分布取得部2040の機能を実現する。
The predicted time
統計量算出モジュール1260は、割当判定装置2000に、統計量算出部2060の機能を持たせるためのプログラムである。プロセッサ1040は、統計量算出モジュール1260を実行することで、統計量算出部2060の機能を実現する。
The statistic calculation module 1260 is a program for causing the
割当判定モジュール1280は、割当判定装置2000に、割当判定部2080の機能を持たせるためのプログラムである。プロセッサ1040は、割当判定モジュール1280を実行することで、割当判定部2080の機能を実現する。
The assignment determination module 1280 is a program for causing the
例えばプロセッサ1040は、上記各モジュールをメモリ1060上に読み出して実行する。ただし、プロセッサ1040は、上記各モジュールを、メモリ1060上に読み出さずに実行してもよい。
For example, the
ストレージ1080は、上記各モジュールを格納する。
The
割当判定装置2000のハードウエア構成は、図5に示した構成に限定されない。例えば、各モジュールはメモリ1060に格納されてもよい。この場合、割当判定装置2000は、ストレージ1080を備えていなくてもよい。
The hardware configuration of
<処理の流れ>
図6は、実施形態1の割当判定装置2000が実行する処理の流れを例示するフローチャートである。ステップS102において、リソース特徴量取得部2020は、候補処理サーバに関するリソース特徴量を取得する。ステップS104において、予測時間分布取得部2040は、このリソース特徴量に対応する予測時間分布を取得する。ステップS106において、統計量算出部2060は、この予測時間分布の統計量を算出する。ステップS108において、割当判定部2080は、この統計量に基づいて、候補処理サーバにタスクを割り当てるか否かを判定する。
<Process flow>
FIG. 6 is a flowchart illustrating the flow of processing executed by the
以下、本実施形態の割当判定装置2000について、さらに詳細に説明する。
Hereinafter, the
<リソース特徴量取得部2020の詳細>
リソース特徴量取得部2020が取得するソース特徴量は、例えば候補処理サーバが使用しているリソースの使用量や使用率である。また、リソース特徴量は、リソースの待ち数であってもよい。リソースの待ち数とは、そのリソースの割り当てを待っているプロセスやリクエストなどの数である。例えば CPU の待ち数は、その CPU に割り当てるプロセスを管理するプロセススケジューラのランキューのキュー長などで表される。また、例えばディスクの待ち数は、そのディスクに対するリクエストを管理する I/O スケジューラのキュー長などで表される。
<Details of Resource Feature
The source feature amount acquired by the resource feature
なお、リソース特徴量は、候補処理サーバが現在使用しているリソースに関する値であってもよいし、過去に使用していたリソースに関する値であってもよい。また、リソース特徴量は、複数の時点におけるリソースに関する値の統計値であってもよい。さらに、リソース特徴量は実測値に限定されない。例えばリソース特徴量は、候補処理サーバが使用しているリソースに関する予測値であってもよい。 The resource feature amount may be a value related to a resource currently used by the candidate processing server, or may be a value related to a resource used in the past. Further, the resource feature amount may be a statistical value of a value related to the resource at a plurality of points in time. Furthermore, the resource feature amount is not limited to the actual measurement value. For example, the resource feature amount may be a predicted value related to the resource used by the candidate processing server.
リソース特徴量取得部2020は、1種類又は複数種類のリソースについて、リソース特徴量を取得する。
The resource feature
また、リソース特徴量は、前述したリソース使用量などを用いて算出された値であってもよい。この場合、例えばリソース特徴量は、候補処理サーバがタスクを処理するために要する時間(以下、タスク処理時間)と比例関係等にある値として算出された値である。以下、具体的に説明する。 Further, the resource feature amount may be a value calculated using the resource usage amount described above. In this case, for example, the resource feature amount is a value calculated as a value that is proportional to the time required for the candidate processing server to process the task (hereinafter, task processing time). This will be specifically described below.
待ち行列モデル M/M/1 を仮定すると、タスク処理時間とリソース使用率との間には、以下の数式(1)で示す関係が成り立つ。ここで、t はタスク処理時間、x はリソース使用率を表す。また、k は正の実数である。例えばリソース特徴量取得部2020は、数式(1)を用いて算出された 1/(1-x) をリソース特徴量として取得する。
また、待ち行列モデル M/M/1 を仮定すると、タスク処理時間とリソースの待ち数との間には、以下の数式(2)で示す関係が成り立つ。数式(2)における各記号の意味は、数式(1)における各記号の意味と同様である。例えばリソース特徴量取得部2020は、数式(2)を用いて算出された x+1 をリソース特徴量として取得する。
また、リソース特徴量取得部2020が取得するリソース特徴量は、複数種類のリソースそれぞれに関するリソース特徴量を用いて算出された1つの値であってもよい。複数のリソース特徴量から1つのリソース特徴量を算出する具体的な方法は、例えば以下の数式(3)を用いる方法である。ri は各リソースに関するリソース特徴量であり、R はこれら各リソース特徴量を用いて算出されるリソース特徴量である。例えばリソース特徴量取得部2020は、数式(3)を用いて算出された R をリソース特徴量として取得する。
また、割当判定装置2000は、上述した各数式などを用いてリソース特徴量を算出する機能を有してもよい。この機能を持つ機能構成部を、リソース特徴量算出部2100と表記する。図7は、リソース特徴量算出部2100を有する割当判定装置2000の構成を例示する図である。
Moreover, the
リソース特徴量算出部2100は、サーバのリソース使用状況を表す情報(以下、リソース情報)を取得し、そのリソース情報に基づいてリソース特徴量を算出する。リソース情報が示す値は、例えばリソース使用率、リソース使用量、又はリソースの待ち数などである。そして、リソース特徴量算出部2100は、リソース使用率等からリソース特徴量を算出する。例えばリソース特徴量算出部2100は、リソース使用率を取得し、数式(1)を用いてリソース特徴量を算出する。 The resource feature quantity calculation unit 2100 acquires information (hereinafter referred to as resource information) indicating the resource usage status of the server, and calculates a resource feature quantity based on the resource information. The value indicated by the resource information is, for example, a resource usage rate, a resource usage amount, or a resource waiting number. Then, the resource feature amount calculation unit 2100 calculates the resource feature amount from the resource usage rate or the like. For example, the resource feature amount calculation unit 2100 acquires the resource usage rate and calculates the resource feature amount using Expression (1).
例えばリソース特徴量算出部2100は、リソース情報が示す値の種類に応じて、リソース特徴量の算出方法を決定する。この場合、リソース情報は、値とその値の種類(例:リソース使用率や待ち数など)との組み合わせを示す。そして、リソース特徴量算出部2100は、リソース情報が示す値の種類に応じた方法を用いて、リソース特徴量を算出する。ただし、リソース特徴量算出部2100が取得する値の種類は、予め固定されていてもよい。この場合、リソース特徴量算出部2100は、予め固定されている値の種類に応じた算出方法でリソース特徴量を算出する。 For example, the resource feature amount calculation unit 2100 determines a resource feature amount calculation method according to the type of value indicated by the resource information. In this case, the resource information indicates a combination of a value and a type of the value (eg, resource usage rate, waiting number, etc.). Then, the resource feature amount calculation unit 2100 calculates the resource feature amount using a method corresponding to the type of value indicated by the resource information. However, the type of value acquired by the resource feature quantity calculation unit 2100 may be fixed in advance. In this case, the resource feature amount calculation unit 2100 calculates the resource feature amount by a calculation method according to the type of value fixed in advance.
リソース特徴量取得部2020がリソース特徴量を入手する方法は様々である。例えばリソース特徴量取得部2020は、外部の装置から入力されるリソース特徴量を取得する。その他にも例えば、リソース特徴量取得部2020は、手動で入力されるリソース特徴量を取得する。さらにリソース特徴量取得部2020は、外部の装置にアクセスして、リソース特徴量を取得してもよい。例えば、上記外部の装置は、処理サーバである。また、分散システムにおいて処理サーバを管理する管理サーバがある場合、リソース特徴量取得部2020は、この管理サーバからリソース特徴量を取得してもよい。
There are various methods by which the resource feature
割当判定装置2000がリソース特徴量算出部2100を有する場合、リソース特徴量算出部2100は、前述のリソース特徴量取得部2020がリソース特徴量を入手する方法と同様の方法でリソース情報を取得する。この場合、リソース特徴量取得部2020は、リソース特徴量算出部2100によって算出されたリソース特徴量を取得する。また、リソース特徴量取得部2020は、リソース特徴量算出部2100のよって算出されたリソース特徴量と、外部から提供されるリソース特徴量の双方を取得してもよい。
When the
<予測時間分布取得部2040の詳細>
予測時間分布取得部2040は、リソース特徴量に応じた予測時間分布を取得する。例えば、図4で示す例において、リソース特徴量取得部2020が「ディスク I/O 使用率が 80% である」というリソース特徴量を取得したとする。この場合、予測時間分布取得部2040は、グラフ70によって表される予測時間分布を取得する。同様の例において、リソース特徴量取得部2020が「ディスク I/O 使用率が 40% である」というリソース特徴量を取得したとする。この場合、予測時間分布取得部2040は、グラフ50によって表される予測時間分布を取得する。
<Details of predicted time
The predicted time
また例えば、予測時間分布取得部2040は、リソース特徴量を条件とする予測時間の条件付き分布を取得する。そして、予測時間分布取得部2040は、取得した条件付き分布に、リソース特徴量取得部2020によって取得されたリソース特徴量を適用することで、リソース特徴量に対応する予測時間分布を取得する。
In addition, for example, the predicted time
予測時間分布は、処理サーバ3000ごとに用意されていてもよいし、複数の処理サーバ3000に共通して用意されていてもよい。また、予測時間分布は、構成が類似する処理サーバ3000のグループごとに用意されてもよい。予測時間分布が処理サーバ3000ごとや処理サーバ3000のグループごとに用意されている場合、例えば予測時間分布取得部2040は、リソース特徴量と、候補処理サーバの ID 又は候補処理サーバが属するグループの ID とに対応する予測時間分布を取得する。
The predicted time distribution may be prepared for each
予測時間分布取得部2040が予測時間分布を取得する方法は様々である。例えば予測時間分布取得部2040は、リソース特徴量と対応付けて予測時間分布を格納している予測時間分布格納部から、リソース特徴量に対応する予測時間分布を取得する。予測時間分布格納部は、割当判定装置2000の内部に設けられてもよいし、割当判定装置2000の外部に設けられてもよい。また例えば、割当判定装置2000は、予測時間分布を生成する装置(以下、予測時間分布生成装置)に対してリソース特徴量を入力し、予測時間分布生成装置によって出力された予測時間分布を取得してもよい。
There are various methods by which the predicted time
<割当判定部2080の詳細>
割当判定部2080が行う、「候補処理サーバに対するタスクの割り当てに関する判定」は様々である。例えば割当判定部2080は、候補処理サーバに対してタスクを割り当てるという判定、又は候補処理サーバに対してタスクを割り当てないという判定を行う。また例えば、割当判定部2080は、候補処理サーバに対して「タスクを割り当ててもよい」という判定を行ってもよい。「タスクを割り当ててもよい」と判定された候補処理サーバは、例えばその他の条件を満した場合に、タスクが割り当てられる。「その他の条件」としては、任意の条件を設定することが可能である。
<Details of
There are various “determinations regarding task allocation to candidate processing servers” performed by the
<候補処理サーバの決定>
割当判定装置2000が複数の処理サーバ3000の中から候補処理サーバを選択する方法は様々である。例えば割当判定装置2000は、処理サーバ3000からタスク割り当ての要求を受信し、その要求を送信した処理サーバ3000を候補処理サーバとして選択する。その他にも例えば、割当判定装置2000は、分散システム5000に含まれる処理サーバ3000の中から、候補処理サーバとする処理サーバ3000を順次選択したり、ランダムに選択したりする。また例えば、割当判定装置2000は、外部の装置や人手による処理サーバ3000の指定を受け付けてもよい。また例えば、割当判定装置2000は、外部の装置にアクセスして処理サーバ3000を候補処理サーバとするかを示す情報を取得してもよい。
<Determination of candidate processing server>
There are various methods by which the
ここで、割当判定装置2000は、割当判定部2080によって「タスクを割り当てない」と判定された処理サーバ3000を、所定期間が経過するまで候補処理サーバとして選択しないようにしてもよい。こうすることで、割当判定装置2000が判定対象とする処理サーバ3000を絞り込むことができるため、割当判定装置2000にかかる負荷が小さくなる。
Here, the
[実施形態2]
図8は、実施形態2に係る割当判定装置2000を例示するブロック図である。図8において、矢印は情報の流れを表している。さらに、図8において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
[Embodiment 2]
FIG. 8 is a block diagram illustrating an
実施形態2の割当判定装置2000は、タスク種別取得部2120を有する。タスク種別取得部2120は、候補処理サーバに割り当てるタスクの種別(タスク種別)を取得する。さらに、実施形態2の予測時間分布取得部2040は、リソース特徴量取得部2020によって取得されたリソース特徴量及びタスク種別取得部2120によって取得されたタスク種別に対応する予測時間分布を取得する。
The
タスクのタスク種別は、例えばそのタスクが属するジョブのIDで表される。また例えば、タスク種別は、ジョブのフェーズのIDや、ジョブのIDとフェーズのIDとの組み合わせなどで表されてもよい。 The task type of a task is represented by, for example, the ID of the job to which the task belongs. Further, for example, the task type may be represented by a job phase ID or a combination of a job ID and a phase ID.
<処理の流れ>
図9は、実施形態2の割当判定装置2000によって実行される処理の流れを例示するフローチャートである。図9において、図6と同符号のステップでは、図6の場合と同様の処理が行われる。
<Process flow>
FIG. 9 is a flowchart illustrating the flow of processing executed by the
ステップS202において、タスク種別取得部2120は、候補処理サーバに割り当てようとしているタスクのタスク種別を取得する。ステップS204において、予測時間分布取得部2040は、リソース特徴量及びタスク種別に対応する予測時間分布を取得する。
In step S202, the task
<作用・効果>
本実施形態によれば、タスク種別及びリソース特徴量に対応する予測時間分布を用いて、タスクの割り当てが行われる。ここで、同一のタスク種別に含まれるタスクは、通常、処理速度の分布が類似していることが多いと考えられる。そこで、割当判定装置2000が利用する予測時間分布を、タスク種別ごとに生成しておくようにする。こうすることで、予測時間分布によって表される予測時間の分布が、候補処理サーバに割り当てようとしているタスクの処理に要する時間の予測値の分布をより高い精度で表すようになるため、より効率的に処理サーバ3000を利用できるようになる。
<Action and effect>
According to the present embodiment, tasks are allocated using the predicted time distribution corresponding to the task type and the resource feature amount. Here, it is considered that the tasks included in the same task type usually have similar processing speed distributions. Therefore, a predicted time distribution used by the
[実施形態3]
実施形態3に係る割当判定装置2000の構成は、実施形態1の割当判定装置2000と同様に図2で表される。以下で説明する点を除き、実施形態3の割当判定装置2000は、実施形態1又は2の割当判定装置2000と同様である。
[Embodiment 3]
The configuration of the
<統計量算出部2060>
実施形態3の統計量算出部2060は、予測時間分布の統計量として、予測時間分布の代表値を算出する。統計量算出部2060が算出する代表値は様々である。例えば統計量算出部2060が算出する代表値は、予測時間分布が示す予測時間の最大値、最小値、平均値、X パーセンタイル値(0<X<100)、又は四分位点などである。
<
The
その他にも例えば、統計量算出部2060は、直接法と呼ばれる方法を用いて予測時間分布の代表値を算出する。具体的には、まず統計量算出部2060は、一様乱数 y を生成する。そして、統計量算出部2060は、一様乱数 y が以下の数式(4)を満たすように、数式(4)における x の値を算出する。ここで数式(4)における f(x) は、予測時間分布取得部2040が取得した予測時間分布である。そして、統計量算出部2060は、算出した x を予測時間分布の代表値とする。
<割当判定部2080>
割当判定部2080は、統計量算出部2060によって算出された代表値を用いて、候補処理サーバに対するタスクの割り当てについて判定を行う。例えば割当判定部2080は、代表値が所定値を超える場合、候補処理サーバにタスクを割り当てないと判定する。
<
The
また例えば、割当判定部2080は、複数の候補処理サーバそれぞれについて算出された代表値を比較することで、候補処理サーバに対するタスク割り当てについて判定してもよい。この場合、リソース特徴量取得部2020は、複数の候補処理サーバそれぞれについてリソース特徴量を取得する。また、予測時間分布取得部2040は、各候補処理サーバについて、その候補処理サーバのリソース特徴量に対応する予測時間分布を取得する。そして、統計量算出部2060は、複数の候補処理サーバそれぞれについて取得された予測時間分布について、それぞれ代表値を算出する。
Further, for example, the
複数の候補処理サーバについて算出された代表値を比較する方法は様々である。例えば割当判定部2080は、代表値が最も小さい候補処理サーバに対してタスクを割り当てると判定する。また例えば、割当判定部2080は、代表値が小さい順に候補処理サーバを並べた場合における上位 N 個の候補処理サーバに対し、タスクを割り当ててもよいと判定する。また例えば、割当判定部2080は、各代表値を用いて、代表値の確率分布を生成する。そして、割当判定部2080は、代表値がこの確率分布の所定範囲に含まれる候補処理サーバについてのみ、タスクを割り当ててよいと判定する。上記所定範囲は、例えば、確率分布の平均値をμ、標準偏差をσとした場合において、[μ−σ、μ+σ] で表される。
There are various methods for comparing the representative values calculated for a plurality of candidate processing servers. For example, the
<<タスクを割り当ててもよい候補処理サーバが複数ある場合について>>
タスクを割り当ててもよいと判定された候補処理サーバが複数ある場合に、割当判定部2080がタスクを割り当てる候補処理サーバを決定する方法は様々である。例えば割当判定部2080は、タスクを割り当ててもよいと判定された候補処理サーバのうち、負荷(リソース使用率やリソース使用量)が最も高い候補処理サーバに対してタスクを割り当てる。これにより、負荷が高い処理サーバ3000がより積極的に利用されるようになる。逆に、割当判定部2080は、タスクを割り当ててもよいと判定された候補処理サーバのうち、負荷が最も低い候補処理サーバに対してタスクを割り当ててもよい。
<< When there are multiple candidate processing servers to which a task may be assigned >>
When there are a plurality of candidate processing servers for which it is determined that a task may be allocated, there are various methods by which the
また例えば、割当判定部2080は、各候補処理サーバに対して既に割り当てられているタスクの数を比較し、割り当てられるタスクの数ができる限り均等になるように、タスクを割り当てる候補処理サーバを決定する。
Also, for example, the
<作用・効果>
実施形態3の統計量算出部2060は、予測時間分布の統計量として、予測時間分布の代表値を算出する。予測時間分布の統計量として予測時間分布の代表値を用いることで、確率分布の形状の特徴をより反映したタスク割当判定を、簡便な方法で実現することができる。例えば、代表値に 95 パーセンタイル値を用いると、処理時間が 95% の確率でこの代表値以下になることが示される。したがって、例えば「代表値が閾値以下であったらタスクを割り当てる」と判定する場合、判定結果が 95% の確率で正しくなることが示される。これにより、タスク割り当ての判定精度がより高くなる蓋然性が高まる。
<Action and effect>
The
また例えば、代表値に直接法を用いた予測処理時間を用いると、確率分布に従った予測処理時間を直接求めることができる。したがって、この代表値からタスク割り当てを判定した場合、よりきめ細やかにタスクの割り当てを行うことができるようになる。これにより、タスクの処理時間が短くなる蓋然性が高まる。 For example, when the prediction processing time using the direct method is used as the representative value, the prediction processing time according to the probability distribution can be directly obtained. Therefore, when task assignment is determined from this representative value, task assignment can be performed more finely. This increases the probability that task processing time will be shortened.
[実施形態4]
実施形態4に係る割当判定装置2000の構成は、実施形態1の割当判定装置2000と同様に図2で表される。以下で説明する点を除き、実施形態4の割当判定装置2000は、実施形態1又は2の割当判定装置2000と同様である。
[Embodiment 4]
The configuration of the
<統計量算出部2060>
実施形態4の統計量算出部2060は、予測時間分布の統計量として、予測時間分布の散布度を算出する。統計量算出部2060が算出する散布度は様々である。例えば統計量算出部2060が算出する散布度は、予測時間分布が示す予測時間の標準偏差、分散、又は X パーセンタイル値と Y パーセンタイル値の差(0<X<100、0<Y<100)などである。X パーセンタイル値と Y パーセンタイル値の差としては、例えば 95 パーセンタイル値と 5 パーセンタイル値の差を用いる。
<
The
<割当判定部2080>
例えば割当判定部2080は、統計量算出部2060によって算出された散布度を用いて、候補処理サーバに対するタスクの割り当てについて判定する。例えば割当判定部2080は、散布度が所定値を超える場合、候補処理サーバにタスクを割り当てない。散布度が大きいと、処理時間が長くなるリスクが大きいと考えられるためである。
<
For example, the
また例えば割当判定部2080は、予測時間分布の分布が小さい値に偏っている場合に、タスクを割り当ててよいと判定する。予測時間分布が小さい値に偏っていると、処理時間が短くなる蓋然性が高いと考えられるためである。具体的には、次の方法で処理を行う。まず、統計量算出部2060は、予測時間分布の(50-X)パーセンタイル値、50パーセンタイル値、及び(50+X)パーセンタイル値をそれぞれ算出する。ここで、X は 0<x<50 を満たす実数である。例えば X の値として 45 を用いる。この場合、5 パーセンタイル値、50 パーセンタイル値、及び 95 パーセンタイル値を用いることになる。
Further, for example, the
そして、統計量算出部2060は、(50+X)パーセンタイル値と 50 パーセンタイル値との差分を第1散布度として算出する。また、統計量算出部2060は、50 パーセンタイル値と(50-X)パーセンタイル値との差分を第2散布度として算出する。
Then, the
割当判定部2080は、第1散布度と第2散布度とを比較する。そして、第1散布度が第2散布度より小さい場合のみ、候補処理サーバに対してタスクを割り当てると判定する。
The
図10は、予測時間分布の 5 パーセンタイル値、50パーセンタイル値、及び 95 パーセンタイル値を用いてタスクの割り当てを判定する方法を概念的に示す図である。図10において、5 パーセンタイル値は 10 であり、50 パーセンタイル値は 35 であり、95 パーセンタイル値は 90 である。したがって、第1散布度は 25 であり、第2散布度は 65 である。そのため、図10のグラフは、予測時間が小さい方に偏ったグラフとなっている。 FIG. 10 is a diagram conceptually illustrating a method of determining task assignment using the 5th percentile value, 50th percentile value, and 95th percentile value of the predicted time distribution. In FIG. 10, the 5th percentile value is 10, the 50th percentile value is 35, and the 95th percentile value is 90. Therefore, the first spread is 25 and the second spread is 65. Therefore, the graph of FIG. 10 is a graph biased toward a smaller prediction time.
また例えば、割当判定部2080は、複数の候補処理サーバそれぞれについて算出された散布度を比較することで、タスク割り当てに関する判定を行ってもよい。この場合、リソース特徴量取得部2020は、複数の候補処理サーバそれぞれについてリソース特徴量を取得する。また、予測時間分布取得部2040は、各候補処理サーバについて、その候補処理サーバのリソース特徴量に対応する予測時間分布を取得する。そして、統計量算出部2060は、複数の候補処理サーバそれぞれについて取得された予測時間分布について、それぞれ散布度を算出する。
Further, for example, the
複数の候補処理サーバについて算出された散布度を比較する方法は様々である。例えば割当判定部2080は、散布度が最も大きい候補処理サーバに対してはタスクを割り当てないと判定する。また例えば、割当判定部2080は、散布度が大きい順に候補処理サーバを並べた場合における上位 N 個の候補処理サーバに対しては、タスクを割り当てないと判定する。また例えば、割当判定部2080は、各散布度を用いて、散布度の確率分布を生成する。そして、割当判定部2080は、散布度がこの確率分布の所定範囲に含まれる候補処理サーバについてのみ、タスクを割り当ててよいと判定する。例えば散布度の所定範囲は、実施形態3で説明した代表値の所定範囲と同様である。
There are various methods for comparing the distribution degrees calculated for a plurality of candidate processing servers. For example, the
<<タスクを割り当ててもよい候補処理サーバが複数ある場合について>>
実施形態4の割当判定部2080が、タスクを割り当ててもよいと判定された候補処理サーバが複数ある場合にタスクを割り当てる候補処理サーバを決定する方法は、実施形態3の割当判定部2080が行う方法と同様である。
<< When there are multiple candidate processing servers to which a task may be assigned >>
The
<作用・効果>
実施形態4の統計量算出部2060は、予測時間分布の統計量として、予測時間分布の散布度を算出する。予測時間分布の統計量として予測時間分布の散布度を用いることで、処理時間の散らばり度合をより反映したタスク割り当て判定を、簡便な方法で実現することが可能になる。例えば、散布度に歪度を用いると、歪度の絶対値や正負の符号を検査することで、ある負荷での予測処理時間の分布が小さくなりやすいのか大きくなりやすいのかを判定することが可能になる。これにより、タスクを割り当てた際に処理時間が短くなる蓋然性が高まる。
<Action and effect>
The
[実施例1]
<想定環境>
実施形態1に係る割当判定装置2000の具体的な動作例を、実施例1として説明する。図11は実施例1の想定環境を示す図である。図11において、矢印は情報の流れを表している。さらに、図11において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
[Example 1]
<Assumed environment>
A specific operation example of the
<<割当判定装置2000>>
実施例1の割当判定装置2000は、実施形態2の割当判定装置2000と同様の構成を有する。また、実施例1の統計量算出部2060は、予測時間分布の統計量として、予測時間分布の代表値を算出する。ここで、統計量算出部2060は、前述した直接法を用いて予測時間分布の代表値を算出する。実施例1の割当判定部2080は、候補処理サーバのリソース特徴量及びタスク種別の組み合わせについて取得した予測時間分布の代表値が90 秒を超える場合、そのタスク種別のタスクについては、その候補処理サーバに対して割り当てないと判定する。
<<
The
<<分散システム5000>>
分散システム5000は、マスタサーバ4000及び複数の処理サーバ3000を有する。マスタサーバ4000は、処理サーバ3000を管理するサーバである。
<< Distributed
The distributed
<<処理サーバ3000>>
処理サーバ3000は、タスク実行部3020、リソース情報格納部3040、及びタスク情報格納部3060を有する。タスク実行部3020は、1つ又は複数のタスクを実行する。例えばタスク実行部3020は、プロセス、スレッド、又は仮想マシンなどである。処理サーバ3000は、複数のタスク実行部3020を有してもよい。
<<
The
リソース情報格納部3040はリソース情報を格納する。前述した通り、リソース情報は、例えばリソース使用率など、サーバのリソース使用状況を表す情報である。なお、処理サーバ3000において各リソースの使用量などを計測する方法は既知の技術である。そのため、その方法については説明を省略する。
The resource
タスク情報格納部3060は、タスクに関する情報(タスク情報)を格納する。タスク情報格納部3060に格納されているタスク情報は、タスク実行部3020が実行しているタスク又はタスク実行部3020が過去に実行したタスクに関するタスク情報である。
The task
<<マスタサーバ4000>>
マスタサーバ4000は、タスク実行管理部4020、リソース情報管理部4040、及びタスク情報管理部4060を有する。タスク実行管理部4020は、処理サーバ3000に対してタスクを割り当てる処理や、処理サーバ3000に対してタスクの開始又は中止を指示する処理などを行う。リソース情報管理部4040は、各処理サーバ3000のリソース情報格納部3040からリソース情報を収集して管理する。タスク情報管理部4060は、分散システム5000において実行されるタスクを管理する。そのために、タスク情報管理部4060は、各処理サーバ3000のタスク情報格納部3060からタスク情報を収集して管理する。また、タスク情報管理部4060は、まだ処理サーバ3000に割り当てられていないタスクに関する情報も管理している。
<<
The
タスク実行管理部4020は、処理サーバ3000のリソースに関する情報をリソース情報管理部4040から取得して、リソース特徴量取得部2020に対して入力する。さらに、タスク実行管理部4020は、処理サーバ3000に割り当てる対象のタスク(以下、対象タスク)のタスク種別をタスク情報管理部4060から取得して、タスク種別取得部2120に対して入力する。割当判定装置2000は、その処理サーバ3000に対するタスクの割り当てについて判定を行い、判定結果をタスク実行管理部4020へ通知する。タスク実行管理部4020は、割当判定装置2000から取得した判定結果に基づいて、処理サーバ3000に対するタスクの割り当てを行う。
The task
<<予測時間分布格納部6000>>
予測時間分布格納部6000は、タスク種別及びリソース特徴量に対応付けて予測時間分布を格納する。
<< Predicted time distribution storage unit 6000 >>
The predicted time distribution storage unit 6000 stores the predicted time distribution in association with the task type and the resource feature amount.
図12は、実施例1の分散システム5000に含まれる処理サーバ3000を示す図である。実施例1の分散システム5000は、処理サーバ3000として、コンピュータ c1 及び c2 を備えている。コンピュータ c1 と c2 は、1台のネットワークスイッチを介して接続されている。コンピュータ c1 は、タスク実行部3020として、プロセス P1 とP2 を有する。また、コンピュータ c2 は、タスク実行部3020として、プロセス P3 と P4 を有する。プロセス P1 はタスク T1 を実行しており、プロセスP3 はタスク T2 を実行している。なお、図12において、マスタサーバ4000は省略されている。
FIG. 12 is a diagram illustrating the
<処理の具体例>
以下、上述した想定環境で行われる処理の具体例を説明する。ここで、プロセス P2 が空いているために、コンピュータ c1 がマスタサーバ4000に対してタスクの割り当てを要求したとする。するとマスタサーバ4000は、次に割り当てるタスクを決定する。マスタサーバ4000は、ジョブ間の資源割り当て量を均衡にする等の目的で、まず Type Aのタスクの割り当てを試みる。そこで、タスク実行管理部4020は、タスク種別取得部2120に対して Type A というタスク種別を入力する。また、タスク実行管理部4020は、候補処理サーバであるコンピュータ c1 のリソースに関するリソース特徴量をリソース特徴量取得部2020に入力する。ここで、コンピュータ c1 のリソース特徴量として、「ディスク I/O 発行率 = 90%」が入力されたとする。
<Specific examples of processing>
Hereinafter, a specific example of processing performed in the assumed environment described above will be described. Here, since the process P2 is free, the computer c1 requests the
図13は、予測時間分布格納部6000が格納している予測時間分布をテーブル形式で例示する図である。図13に示されているテーブルを予測時間分布テーブル100と表記する。予測時間分布テーブル100は、タスク種別102、平均値104、及び標準偏差106という3つの列を有する。予測時間分布テーブル100の各レコードは、タスク種別102で示されるタスク種別に対応付けて、平均値104及び標準偏差106で定まる正規分布を示す。
FIG. 13 is a diagram illustrating the predicted time distribution stored in the predicted time distribution storage unit 6000 in a table format. The table shown in FIG. 13 is referred to as a predicted time distribution table 100. The predicted time distribution table 100 has three columns of a
予測時間分布取得部2040は、予測時間分布格納部6000から、「タスク種別102 = TypeA」に対応する平均値104及び標準偏差106を取得する。その結果、予測時間分布取得部2040は、平均値104として 10/(1-ρ)+5 を取得し、標準偏差106として 100ρ/3 を取得する。ここで、ρはディスク I/O 発行率を表す。
The predicted time
そして、予測時間分布取得部2040は、取得した平均値104及び標準偏差106に対して、「ディスク I/O 発行率(ρ)= 90%」を適用する。これにより、平均値は105 秒となり、標準偏差は 30 秒となる。この結果、予測時間分布取得部2040は、平均値が 105 秒であり、標準偏差が 30 秒である正規分布を得る。つまり、予測時間分布取得部2040は、「タスク種別 = TypeA」及び「ディスク I/O 発行率 = 90%」に対応する予測時間分布として、平均値が 105 秒であり、かつ標準偏差 30 秒である正規分布を取得する。図14は、この予測時間分布を示すグラフである。
Then, the predicted time
統計量算出部2060は、直接法を用いて予測時間分布の代表値を算出する。ここで、統計量算出部2060が算出した代表値が、110 秒 であるとする。
The
割当判定部2080は、算出された代表値を用いて、コンピュータ c1 に対する Type A のタスクの割り当てについて、判定を行う。前述したように、割当判定部2080は、候補処理サーバのリソース特徴量及びタスク種別の組み合わせについて取得した予測時間分布の代表値が90 秒を超える場合、そのタスク種別のタスクについては、その候補処理サーバに対して割り当てないと判定する。統計量算出部2060によって算出された代表値は 110 秒であり、90 秒を超えているため、割当判定部2080は、タスク種別が Type A であるタスクについては、コンピュータ c1 に対して割り当てないと判定する。
The
次に、マスタサーバ4000は、コンピュータ c1 に対して Type B のタスクを割り当てようとしたとする。タスク実行管理部4020は、タスク種別取得部2120に対して、「タスク種別 = Type B」を入力する。また、タスク実行管理部4020は、リソース特徴量取得部2020に対して、「ディスク I/O 発行率 = 90%」を入力する。
Next, it is assumed that the
予測時間分布取得部2040は、「タスク種別 = Type B」かつ「ディスク I/O 発行率 = 90%」に対応する予測時間分布を取得する。図13に示すように、「タスク種別 = Type B」に対応するのは、平均値が 1/(1-ρ)+10、かつ標準偏差が 5ρの正規分布である。予測時間分布取得部2040は、この正規分布に「ディスク I/O 発行率 = 90%」を適用することで、平均値が20秒であり、かつ標準偏差4.5秒である正規分布を得る。つまり、予測時間分布取得部2040は、「タスク種別 = Type B」かつ「ディスク I/O 発行率 = 90%」に対応する予測時間分布として、平均値が20秒であり、かつ標準偏差4.5秒である正規分布を取得する。図15は、この予測時間分布を示すグラフである。
The predicted time
統計量算出部2060は、予測時間分布の代表値を算出する。算出された代表値は、19 秒であるとする。
The
割当判定部2080は、コンピュータ c1 に対する Type B のタスクの割り当てについて、判定を行う。統計量算出部2060によって算出された代表値は 19 秒であり、90 秒より小さい。そこで、割当判定部2080は、コンピュータ c1 に対し、タスク種別が Type B であるタスクの割り当てを行うと判定する。その結果、コンピュータ c1 のプロセス P2 に対して、Type Bのタスクが割り当てられる。
The
さらに、コンピュータ c2 がプロセス P4 に対するタスク割り当てをマスタサーバ4000に要求したとする。マスタサーバ4000が Type A のタスクの割り当てを試みたとする。また、このときのコンピュータ c2 のディスクI/O発行率が 50% とする。すると、タスク実行管理部4020は、リソース特徴量取得部2020に対して「ディスクI/O発行率 = 50%」を入力し、タスク種別取得部2120に対して「タスク種別 = Type A」を入力する。
Furthermore, it is assumed that the computer c2 requests the
その結果、予測時間分布取得部2040は、平均値が25秒であり、かつ標準偏差が 30 秒である正規分布を、予測時間分布として取得する。図16は、この予測時間分布を示すグラフである。
As a result, the predicted time
統計量算出部2060は、予測時間分布の代表値を算出する。ここで、算出された代表値は50 秒であるとする。この代表値は 90 秒より小さいため、割当判定部2080は、コンピュータ c2 に対して タスク種別が Type A であるタスクを割り当てると判定する。この結果、タスク実行管理部4020は、タスク種別が Type A であるタスクを、コンピュータ c2 のプロセス P4 に対して割り当てる。
The
さらに、コンピュータ c1 のプロセス P2 がタスクの実行を完了し、コンピュータ c1 がタスク割り当てをマスタサーバ4000に要求したとする。ここで、マスタサーバが c1 に対して Type A のタスクを割り当てようとしたとする。タスク実行管理部4020は、リソース特徴量取得部2020に対して「ディスクI/O発行率 = 90%」を入力し、タスク種別取得部2120に対して「タスク種別 = Type A」を入力する。その結果、予測時間分布取得部2040は、平均値が105秒であり、かつ標準偏差30秒である正規分布を、予測時間分布として取得する(図14参照)。
Further, it is assumed that the process P2 of the computer c1 completes the execution of the task, and the computer c1 requests the
統計量算出部2060は、予測時間分布の代表値を算出する。ここで、統計量算出部2060が、代表値として 50 秒を算出したとする。この場合、代表値である 50 秒が 90 秒より小さいため、割当判定部2080は、コンピュータ c1 に対してタスクを割り当てると判定する。その結果、コンピュータ c1 のプロセス P2 に対して、タスク種別が Type A であるタスクが割り当てられる。
The
ここで、上述の例において、「ディスクI/O発行率 = 90%」かつ「タスク種別 = Type A」の場合について、タスクを割り当てないと判定される場合と、タスクを割り当てると判定される場合の双方があった。これは、統計量算出部2060が直接法を用いて、予測時間分布に従うランダムな値を代表値として算出したためである。このことから、「リソース使用率が同一又は近い場合におけるタスク処理時間のばらつき」が考慮されていることが分かる。
Here, in the above example, when “disk I / O issuance rate = 90%” and “task type = Type A”, it is determined that no task is allocated and when it is determined that a task is allocated. There were both. This is because the
[実施例2]
割当判定装置2000の別の実施例を、実施例2として説明する。下記で説明する点を除き、実施例2の想定環境は、実施例1の想定環境と同様である。図17は実施例1の想定環境を示す図である。図11において、矢印は情報の流れを表している。さらに、図11において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
[Example 2]
Another embodiment of the
実施例2では、割当判定装置2000がタスク種別取得部2120を有していない点が、実施例1と異なる。したがって、実施例2の想定環境を割当判定装置2000は、タスク種別は考慮せず、リソース特徴量に対応する予測時間分布を取得する。
The second embodiment is different from the first embodiment in that the
予測時間分布取得部2040は、複数の候補処理サーバそれぞれについて予測時間分布を取得する。統計量算出部2060は、複数の候補処理サーバそれぞれについて予測時間分布の代表値を算出する。割当判定部2080は、算出された複数の代表値を用いて確率分布を生成する。そして、割当判定部2080は、各候補処理サーバについて、その候補処理サーバについて算出した代表値が、上記確率分布における [μ−2σ, μ+2σ] の範囲にある場合のみ、その候補処理サーバに対してタスクを割り当ててよいと判定する。ここで、μは確率分布の平均値であり、σは確率分布の標準偏差である。
The predicted time
図18は、実施例2の分散システム5000に含まれる処理サーバ3000を示す図である。実施例2の分散システム5000は、処理サーバ3000として、コンピュータ c1 から c3 の3台を備えている。各コンピュータは、ネットワークスイッチを介して接続されている。各コンピュータは、タスク実行部3020として複数のプロセスを有する。具体的には、コンピュータ c1 はプロセス P1 とP2 を有し、コンピュータ c2 はプロセス P3 と P4 を有し、コンピュータ c3 はプロセス P5 とP6 を有する。なお、図18において、マスタサーバ4000は省略されている。
FIG. 18 is a diagram illustrating the
ここで、コンピュータ c1 がマスタサーバ4000に対して、プロセス P2 で実行するタスクを要求したとする。マスタサーバ4000は、コンピュータ c1 に対してタスクを割り当てるか否かを判定する。
Here, it is assumed that the computer c1 requests the
リソース特徴量取得部2020には、各処理サーバ3000のリソース特徴量を示すリソース情報が入力される。本実施例では、リソース特徴量としてネットワーク帯域利用率を利用する。図19は、リソース特徴量取得部2020に入力されるリソース情報をテーブル形式で例示する図である。図19に示されるテーブルを、リソース情報テーブル200と表記する。リソース情報テーブル200は、処理サーバ識別子202及びネットワーク帯域利用率204という2つの列を有する。リソース情報テーブル200の各レコードは、処理サーバ識別子202で表される処理サーバ3000に対応付けて、その処理サーバ3000で利用されているネットワーク帯域の利用率を示す。図19より、コンピュータ c1 に関するリソース特徴量は「ネットワーク帯域利用率 = 50%」であり、コンピュータ c2 に関するリソース特徴量は「ネットワーク帯域利用率 = 25%」であり、コンピュータ c3 に関するリソース特徴量は「ネットワーク帯域利用率 = 75%」である。
The resource feature
予測時間分布取得部2040は、コンピュータ c1、c2、c3 のそれぞれについて、予測時間分布を取得する。そして、統計量算出部2060は、コンピュータ c1、c2、c3 のそれぞれの予測時間分布について、代表値を算出する。ここで、算出された統計値がそれぞれ、20 秒、20 秒、80 秒であるとする。
The predicted time
割当判定部2080は、コンピュータ c1 から c3 それぞれについて、タスク割り当ての可否を判定する。割当判定部2080は、統計量算出部2060によって算出された全ての代表値の平均値μと標準偏差σを算出する。算出結果は、μ=40 及び σ=35 であるとする。この場合、[μ−2σ, μ+2σ]は、[5, 75] となる。したがって、割当判定部2080は、あるコンピュータについて算出した代表値 x が 5<=x<=75 を満たす場合のみ、そのコンピュータに対してタスクを割り当ててよいと判定する。
The
コンピュータ c1 について算出した代表値は 20 であり、5≦20≦75 である。そのため、割当判定部2080は、コンピュータ c1 に対してタスクを割り当ててよいと判定する。同様に、コンピュータ c2 について算出した代表値も 20 であるため、割当判定部2080は、コンピュータ c2 に対してもタスクを割り当ててよいと判定する。一方、コンピュータ c3 について算出した代表値は 80 であり、[5, 75] の範囲外である。よって、割当判定部2080は、コンピュータ c3 にはタスクを割り当てないと判定する。
The typical value calculated for computer c1 is 20, and 5 ≦ 20 ≦ 75. Therefore, the
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。 As mentioned above, although embodiment of this invention was described with reference to drawings, these are the illustrations of this invention, Various structures other than the above are also employable.
10、20、30、40、50、60、70 グラフ
80 範囲
100 予測時間分布テーブル
102 タスク種別
104 平均値
106 標準偏差
200 リソース情報テーブル
202 処理サーバ識別子
204 ネットワーク帯域利用率
1020 バス
1040 プロセッサ
1060 メモリ
1080 ストレージ
1100 ネットワークアダプタ
1220 リソース特徴量取得モジュール
1240 予測時間分布取得モジュール
1260 統計量算出モジュール
1280 割当判定モジュール
2000 割当判定装置
2020 リソース特徴量取得部
2040 予測時間分布取得部
2060 統計量算出部
2080 割当判定部
2100 リソース特徴量算出部
2120 タスク種別取得部
3000 処理サーバ
3020 タスク実行部
3040 リソース情報格納部
3060 タスク情報格納部
4000 マスタサーバ
4020 タスク実行管理部
4040 リソース情報管理部
4060 タスク情報管理部
5000 分散システム
6000 予測時間分布格納部
10, 20, 30, 40, 50, 60, 70
Claims (24)
前記リソース特徴量に対応する、タスク処理時間の予測値の確率分布である予測時間分布を取得する予測時間分布取得手段と、
前記予測時間分布取得手段によって取得された予測時間分布の統計量を算出する統計量算出手段と、
前記統計量に基づいて、前記候補処理サーバに対するタスクの割り当てについて判定を行う割当判定手段と、
を有する割当判定装置。 Resource feature amount acquisition means for acquiring a resource feature amount related to a candidate processing server that is a candidate of a processing server to which a task is assigned;
A predicted time distribution acquisition unit that acquires a predicted time distribution that is a probability distribution of a predicted value of task processing time corresponding to the resource feature amount;
A statistic calculating means for calculating a statistic of the predicted time distribution acquired by the predicted time distribution acquiring means;
An assignment determination unit configured to determine assignment of tasks to the candidate processing server based on the statistics;
An allocation determination device.
前記割当判定手段は、前記第1散布度と前記第2散布度を比較し、前記第1散布度の方が小さい場合、前記候補処理サーバに対してタスクを割り当てる請求項3に記載の割当判定装置。 The statistic calculation means includes a first distribution degree which is a difference between a (50 + X) percentile value and a 50 percentile value of the predicted time distribution, and a 50 percentile value and a (50-X) percentile value of the predicted time distribution. And calculate the second spreading degree which is the difference from (0 <x <50)
The allocation determination unit according to claim 3, wherein the allocation determination unit compares the first distribution degree and the second distribution degree, and assigns a task to the candidate processing server when the first distribution degree is smaller. apparatus.
前記割当判定手段は、複数の前記候補処理サーバそれぞれについて算出された統計量を比較し、その比較結果に基づいて、複数の前記候補処理サーバのいずれかにタスクを割り当てる請求項1乃至3いずれか一項に記載の割当判定装置。 The statistic calculation means calculates a statistic of the predicted time distribution for each of the plurality of candidate processing servers based on the predicted time distribution corresponding to the resource feature amount of each of the plurality of candidate processing servers,
The allocation determination unit compares the statistics calculated for each of the plurality of candidate processing servers and allocates a task to any of the plurality of candidate processing servers based on the comparison result. The allocation determination device according to one item.
前記予測時間分布取得手段は、前記リソース特徴量及び前記タスク種別に対応する前記予測時間分布を取得する請求項1乃至6いずれか一項に記載の割当判定装置。 Task type acquisition means for acquiring a task type that is a type of task to be assigned to the candidate processing server;
The allocation determination apparatus according to claim 1, wherein the predicted time distribution acquisition unit acquires the predicted time distribution corresponding to the resource feature amount and the task type.
タスクを割り当てる処理サーバの候補である候補処理サーバに関するリソース特徴量を取得するリソース特徴量取得ステップと、
前記リソース特徴量に対応する、タスク処理時間の予測値の確率分布である予測時間分布を取得する予測時間分布取得ステップと、
前記予測時間分布取得ステップで取得された予測時間分布の統計量を算出する統計量算出ステップと、
前記統計量に基づいて、前記候補処理サーバに対するタスクの割り当てについて判定を行う割当判定ステップと、
を有する制御方法。 A control method executed by a computer operating as an allocation determination device,
A resource feature amount acquisition step of acquiring a resource feature amount related to a candidate processing server that is a candidate of a processing server to which a task is assigned;
A predicted time distribution acquisition step of acquiring a predicted time distribution corresponding to the resource feature quantity, which is a probability distribution of predicted values of task processing times;
A statistic calculating step of calculating a statistic of the predicted time distribution acquired in the predicted time distribution acquiring step;
An assignment determination step for determining assignment of tasks to the candidate processing server based on the statistics;
A control method.
前記割当判定ステップは、前記第1散布度と前記第2散布度を比較し、前記第1散布度の方が小さい場合、前記候補処理サーバに対してタスクを割り当てる請求項11に記載の制御方法。 The statistic calculation step includes a first distribution degree that is a difference between a (50 + X) percentile value and a 50 percentile value of the predicted time distribution, and a 50 percentile value and a (50-X) percentile value of the predicted time distribution. And calculate the second spreading degree which is the difference from (0 <x <50)
The control method according to claim 11, wherein the assignment determination step compares the first spreading degree and the second spreading degree, and assigns a task to the candidate processing server when the first spreading degree is smaller. .
前記割当判定ステップは、複数の前記候補処理サーバそれぞれについて算出された統計量を比較し、その比較結果に基づいて、複数の前記候補処理サーバのいずれかにタスクを割り当てる請求項9乃至12いずれか一項に記載の制御方法。 The statistic calculation step calculates a statistic of the predicted time distribution for each of the plurality of candidate processing servers based on a predicted time distribution corresponding to the resource feature amount of each of the plurality of candidate processing servers,
The assignment determination step compares statistics calculated for each of the plurality of candidate processing servers, and assigns a task to any of the plurality of candidate processing servers based on the comparison result. The control method according to one item.
前記予測時間分布取得ステップは、前記リソース特徴量及び前記タスク種別に対応する前記予測時間分布を取得する請求項9乃至14いずれか一項に記載の制御方法。 A task type acquisition step of acquiring a task type that is a type of task assigned to the candidate processing server;
The control method according to claim 9, wherein the predicted time distribution acquisition step acquires the predicted time distribution corresponding to the resource feature amount and the task type.
タスクを割り当てる処理サーバの候補である候補処理サーバに関するリソース特徴量を取得するリソース特徴量取得機能と、
前記リソース特徴量に対応する、タスク処理時間の予測値の確率分布である予測時間分布を取得する予測時間分布取得機能と、
前記予測時間分布取得機能によって取得された予測時間分布の統計量を算出する統計量算出機能と、
前記統計量に基づいて、前記候補処理サーバに対するタスクの割り当てについて判定を行う割当判定機能と、
を持たせるプログラム。 A program for causing a computer to have a function of operating as an assignment determination device,
A resource feature amount acquisition function for acquiring a resource feature amount related to a candidate processing server that is a candidate of a processing server to which a task is assigned;
A predicted time distribution acquisition function for acquiring a predicted time distribution that is a probability distribution of predicted values of task processing times corresponding to the resource feature amount;
A statistic calculating function for calculating a statistic of the predicted time distribution acquired by the predicted time distribution acquiring function;
An assignment determination function for determining assignment of tasks to the candidate processing server based on the statistics;
A program to give
前記割当判定機能は、前記第1散布度と前記第2散布度を比較し、前記第1散布度の方が小さい場合、前記候補処理サーバに対してタスクを割り当てる請求項18に記載のプログラム。 The statistic calculation function includes a first distribution degree that is a difference between a (50 + X) percentile value and a 50 percentile value of the predicted time distribution, and a 50 percentile value and a (50-X) percentile value of the predicted time distribution. And calculate the second spreading degree which is the difference from (0 <x <50)
The program according to claim 18, wherein the assignment determination function compares the first distribution degree and the second distribution degree, and assigns a task to the candidate processing server when the first distribution degree is smaller.
前記割当判定機能は、複数の前記候補処理サーバそれぞれについて算出された統計量を比較し、その比較結果に基づいて、複数の前記候補処理サーバのいずれかにタスクを割り当てる請求項17乃至20いずれか一項に記載のプログラム。 The statistic calculation function calculates a statistic of a predicted time distribution for each of the plurality of candidate processing servers based on a predicted time distribution corresponding to a resource feature amount of each of the plurality of candidate processing servers.
The allocation determination function compares statistics calculated for each of the plurality of candidate processing servers, and allocates a task to any of the plurality of candidate processing servers based on the comparison result. The program according to one item.
前記予測時間分布取得機能は、前記リソース特徴量及び前記タスク種別に対応する前記予測時間分布を取得する請求項17乃至22いずれか一項に記載のプログラム。 The computer has a task type acquisition function for acquiring a task type that is a type of task assigned to the candidate processing server,
The program according to any one of claims 17 to 22, wherein the predicted time distribution acquisition function acquires the predicted time distribution corresponding to the resource feature amount and the task type.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013250232A JP6237170B2 (en) | 2013-12-03 | 2013-12-03 | Allocation determination apparatus, control method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013250232A JP6237170B2 (en) | 2013-12-03 | 2013-12-03 | Allocation determination apparatus, control method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015108878A JP2015108878A (en) | 2015-06-11 |
JP6237170B2 true JP6237170B2 (en) | 2017-11-29 |
Family
ID=53439203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013250232A Active JP6237170B2 (en) | 2013-12-03 | 2013-12-03 | Allocation determination apparatus, control method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6237170B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6646532B2 (en) * | 2016-06-21 | 2020-02-14 | 株式会社日立製作所 | Ticket information processing method and ticket information processing system |
CN108364145B (en) * | 2017-01-26 | 2021-10-19 | 北京星选科技有限公司 | Information determination method and device |
JP7187759B2 (en) * | 2018-03-29 | 2022-12-13 | 株式会社東京精密 | Measuring machine management device and method |
JP6614324B1 (en) * | 2018-12-28 | 2019-12-04 | 富士通クライアントコンピューティング株式会社 | Information processing apparatus and information processing system |
JP6644231B1 (en) * | 2019-04-26 | 2020-02-12 | Awl株式会社 | Image analysis device and image analysis system |
CN113434310B (en) * | 2021-06-23 | 2024-03-22 | 深圳博瑞晶芯科技有限公司 | Multithreading task allocation method, device, equipment and storage medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11110360A (en) * | 1997-09-30 | 1999-04-23 | Hitachi Software Eng Co Ltd | Method and system for distributing transaction and storage medium for transaction distributing processing |
JP3959516B2 (en) * | 2001-08-06 | 2007-08-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Network system, CPU resource provider, client device, processing service providing method, and program |
JP2005056201A (en) * | 2003-08-05 | 2005-03-03 | Hitachi Software Eng Co Ltd | Heterogeneous hybrid computer connecting system and processing assignment method and charging method in same system |
JP2011186712A (en) * | 2010-03-08 | 2011-09-22 | Mitsubishi Electric Corp | Performance analysis apparatus, performance analysis method and performance analysis program |
-
2013
- 2013-12-03 JP JP2013250232A patent/JP6237170B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015108878A (en) | 2015-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6237170B2 (en) | Allocation determination apparatus, control method, and program | |
US10896055B2 (en) | Capacity risk management for virtual machines | |
JP6241300B2 (en) | Job scheduling apparatus, job scheduling method, and job scheduling program | |
JP5598229B2 (en) | Job distributed processing system, information processing apparatus, and program | |
JP6191691B2 (en) | Abnormality detection apparatus, control method, and program | |
JP6233413B2 (en) | Task assignment determination device, control method, and program | |
JP5827678B2 (en) | Method and apparatus for resource capacity evaluation in a virtual container system | |
US8255906B2 (en) | Modeling overhead for a plurality of virtualization technologies in a computer system | |
KR101651871B1 (en) | Job Allocation Method on Multi-core System and Apparatus thereof | |
US9870269B1 (en) | Job allocation in a clustered environment | |
US20180246765A1 (en) | System and method for scheduling jobs in distributed datacenters | |
US9886195B2 (en) | Performance-based migration among data storage devices | |
KR20110080735A (en) | Computing system and method | |
JP2010009160A (en) | Performance value calculation device | |
US20180101404A1 (en) | Resource and latency estimation-based scheduling | |
Xue et al. | Managing data center tickets: Prediction and active sizing | |
JP5471822B2 (en) | I / O control program, information processing apparatus, and I / O control method | |
JP2014164425A (en) | Information processing apparatus, resource control method, and program | |
US10503548B2 (en) | Resource and latency estimation-based scheduling in a distributed computing environment | |
JP2015108877A (en) | Prediction time distribution generation device, control method, and program | |
JP6163926B2 (en) | Virtual machine management apparatus, virtual machine management method, and program | |
TW201942741A (en) | Information processing apparatus, control method, and program product | |
JP2015022321A (en) | Virtual machine management device, virtual machine management method, and program | |
CN118260080A (en) | Server load balancing method and device, server cluster, equipment and medium | |
Matsuki et al. | MapReduce Job Scheduling Based on Remaining Job Sizes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161107 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170907 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20171003 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171016 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6237170 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |