JP2015108877A - 予測時間分布生成装置、制御方法、及びプログラム - Google Patents

予測時間分布生成装置、制御方法、及びプログラム Download PDF

Info

Publication number
JP2015108877A
JP2015108877A JP2013250231A JP2013250231A JP2015108877A JP 2015108877 A JP2015108877 A JP 2015108877A JP 2013250231 A JP2013250231 A JP 2013250231A JP 2013250231 A JP2013250231 A JP 2013250231A JP 2015108877 A JP2015108877 A JP 2015108877A
Authority
JP
Japan
Prior art keywords
task
time distribution
resource feature
predicted time
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.)
Pending
Application number
JP2013250231A
Other languages
English (en)
Inventor
偉恭 藤森
Yoritaka Fujimori
偉恭 藤森
理人 浅原
Masato Asahara
理人 浅原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2013250231A priority Critical patent/JP2015108877A/ja
Publication of JP2015108877A publication Critical patent/JP2015108877A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】分散システムにおいて、処理サーバをより効率よく利用する技術を提供する。【解決手段】予測時間分布生成装置2000は、リソース特徴量取得部2020、タスク処理時間取得部2040、及び予測時間分布生成部2060を有する。リソース特徴量取得部2020は、処理サーバがタスクを処理した時におけるその処理サーバのリソース特徴量を取得する。タスク処理時間取得部2040は、処理サーバがタスクの処理に要した時間である、タスク処理時間を取得する。予測時間分布生成部2060は、タスクに関するリソース特徴量及びタスク処理時間の組み合わせに基づき、複数のリソース特徴量それぞれについて予測時間分布を生成する。予測時間分布は、タスクの処理に要するタスク処理時間の予測値の確率分布である。【選択図】図1

Description

本発明は、予測時間分布生成装置、制御方法、及びプログラムに関する。
ジョブを分割することで生成された複数のタスクを、複数の計算機(以下、処理サーバ)に分散して実行させる分散システムが開発されている。処理サーバは、タスクを実行できる状態になると、新たなタスクの割り当てを受ける。このような形態の分散システムでは、タスクが終了した処理サーバから順に新たなタスクが割り当てられるため、高速な処理サーバに対してより多くのタスクが割り当てられやすくなる。その結果、ジョブの実行効率が高くなる。
新しいタスクを割当てる処理サーバが複数存在する場合、他の処理サーバより短い時間でタスクを処理できるサーバを選択できれば、ジョブの完了時間をより短縮できる。短い処理時間で処理できるサーバを選択するためには、処理サーバごとにタスクの処理時間を予測する必要がある。
タスクの処理時間の予測又はそれに関連する技術を開示している先行技術文献として、非特許文献1及び特許文献1〜3がある。非特許文献1は、実行中のタスクの処理に要する時間を短くする技術を開示している。具体的には、まず、処理サーバ上で実行されているタスクの処理に要する時間を、1)そのままタスクの実行を続けた場合、及び2)タスクを再実行した場合の2つの場合について算出する。そして、再実行した場合の所要時間の方が短い場合、そのタスクを再実行する。
特許文献1は、負荷分散方法を開示している。この負荷分散方法は、負荷指標として、リソース使用時の待ち時間を除いた純処理時間に対する倍率となる伸長率を計算する。そして、この負荷分散方法は、予測した伸長率がより小さい処理サーバにタスクを割り当てる。
特許文献2は、負荷分散を行う情報処理装置を開示している。この情報処理装置は、タスクが多く消費するリソースを予測し、そのリソースを多く備える処理サーバにタスクを割り当てる。また、この情報処理装置は、既に記録された情報から、新しいタスクが必要とする計算量や消費時間の概算を予測し、この予測値と、各計算機の負荷状況を加味して、新しいタスクをどの計算機に割り振るかを決定する。
特許文献3は、分散システムの需要予測方法を開示している。この方法は、経時的な需要状況の変化の周期期間Tsを定め、実績データから、周期期間Tsにおける経時的な需要状況を表す需要近似簡易関数を求める。さらにこの方法は、周期期間Tsを周期とする需要近似フーリエ級数関数を需要近似簡易関数から求め、需要近似フーリエ級数関数により需要予測をする。
特開2001−109638号公報 特開2002−140313号公報 特開2002−229964号公報
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に係る予測時間分布生成装置の構成を例示するブロック図である。 タスクを実行した際のディスク I/O 使用率とタスク処理時間との関係を実測した結果を示すグラフである。 予測時間分布生成装置によって生成される予測時間分布を概念的に示す図である。 予測時間分布生成装置のハードウエア構成を例示するブロック図である。 実施形態1の予測時間分布生成装置が実行する処理の流れを例示するフローチャートである。 リソース特徴量算出部を有する予測時間分布生成装置の構成を例示する図である。 実施例1の想定環境を示す図である。 リソース情報格納部に格納されているリソース情報をテーブル形式で例示する図である。 タスク情報格納部に格納されているタスク情報をテーブル形式で例示する図である。 x1、x2、及び x3 を順に入力することで算出された予測時間分布を表すグラフである。 x1、x2、及び x3 を用いて生成した線形回帰モデルを示すグラフである。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
[実施形態1]
図1は、実施形態1に係る予測時間分布生成装置2000の構成を例示するブロック図である。図1において矢印は情報の流れを表す。また、図1において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を示している。
予測時間分布生成装置2000は、リソース特徴量取得部2020、タスク処理時間取得部2040、及び予測時間分布生成部2060を有する。以下、それぞれの機能構成部について説明する。
<リソース特徴量取得部2020>
リソース特徴量取得部2020は、処理サーバがタスクを処理した時におけるその処理サーバのリソース特徴量を取得する。ここで、処理サーバは種々の計算機であり、例えば PC(Personal Computer)、サーバマシン、タブレット PC、又は携帯端末などである。リソース特徴量は、処理サーバによって使用されるリソースに関する特徴量である。処理サーバが使用するリソースは、例えば CPU、メモリ、ディスク帯域、又はネットワーク帯域などである。
<タスク処理時間取得部2040>
タスク処理時間取得部2040は、タスク処理時間を取得する。タスク処理時間は、処理サーバがタスクの処理に要した時間である。
<予測時間分布生成部2060>
予測時間分布生成部2060は、タスクに関するリソース特徴量及びタスク処理時間の組み合わせに基づき、複数のリソース特徴量それぞれについて予測時間分布を生成する。予測時間分布は、タスクの処理に要するタスク処理時間の予測値の確率分布である。ここで、「タスクに関するリソース特徴量」とは、そのタスクを処理した時における処理サーバのリソース特徴量を意味する。予測時間分布生成部2060が複数のリソース特徴量それぞれについて予測時間分布を生成するために用いるリソース特徴量及びタスク処理時間の組み合わせは、1つでもよいし、複数でもよい。また、1つのタスク処理時間に組み合わせるリソース特徴量は1つでも良いし、複数でも良い。
<作用・効果>
前述したように、処理サーバのリソース使用率等が同一又は近い値である場合でも、タスクの処理に要する時間が異なる場合がある。図2は、処理サーバにおいてタスクを実行した場合におけるディスク I/O 使用率とタスク処理時間との関係を実測した結果を示すグラフである。X 軸は、タスク実行時の平均ディスク I/O 使用率を示し、Y 軸は、そのタスクを実行した際のタスク処理時間を示す。各プロットは、実測されたディスク I/O 使用率とタスク処理時間との組み合わせを示す。
グラフ10から40はそれぞれ、ディスク I/O 使用率と、そのディスク I/O 使用率に対応するタスク処理時間の予測値(以下、予測時間)との関係を示す関数である。グラフ10から40は、実測されたディスク I/O 使用率とタスク処理時間との関係に基づき、それぞれ異なる方法で生成された関数である。グラフ10は、全てのタスク処理時間の平均値を予測時間とするグラフである。グラフ20は、全てのプロットを用いて線形回帰を行うことで生成された関数である。グラフ30は、全てのプロットを M/M/1 待ち行列モデルに適用することで生成されたグラフである。グラフ40は、全てのプロットを M/D/1 待ち行列モデルに適用することで生成されたグラフである。
ここで、図2の範囲80に着目する。範囲80には多くのプロットが含まれている。これは、ディスク I/O 使用率が高い場合(例:70%)でも、タスクの処理に要する時間が短いことがある(例:20秒)ことを示している。
しかし、グラフ20から40を用いてタスク処理時間を予測する場合には、範囲80に含まれる予測時間よりも大きな値が算出される。ここで通常、新たなタスクは処理時間の予測値が小さい処理サーバに対して割り当てられる。そのため、図2の状況においてグラフ20から40を用いてタスク処理時間を予測すると、ディスク I/O 使用率が高い場合には、この処理サーバに対してタスクが割り当てられなくなる。その結果、この処理サーバは効率的に利用されない。また、グラフ10を用いて予測時間を算出すると、リソース使用率が考慮されない。そのため、グラフ10を用いた場合も、この処理サーバは効率的に利用されない。
これに対し、予測時間分布生成装置2000は、複数のリソース特徴量それぞれについて予測時間分布を生成する。図3は、予測時間分布生成装置2000によって生成される予測時間分布を概念的に示す図である。グラフ50は、ディスク I/O 使用率が40%の場合に対応する予測時間分布であり、グラフ60は、ディスク I/O 使用率が60%の場合に対応する予測時間分布であり、グラフ70は、ディスク I/O 使用率が80%の場合に対応する予測時間分布である。
予測時間分布生成装置2000によって生成される予測時間分布を利用して予測時間を算出すると、予測時間を確率的に算出することができる。例えばグラフ70に従って予測時間を算出すると、70秒程度の予測時間が算出される確率が高いものの、30秒程度の予測時間が算出される場合もありうる。このように、予測時間分布に従って予測時間を算出すれば、リソース使用率が同一又は近い場合においてもタスク処理時間にばらつきがあるということを考慮した予測時間が算出される。これにより、例えば、「予測時間が小さい処理サーバに対して優先的にタスクを割り当てる」という処理を行う際に、「リソース使用率が高いときでも処理時間が短いことがある」という処理サーバに対してタスクが割り当てられるようになる。よって、本実施形態の予測時間分布生成装置2000によれば、処理サーバをより効率的に利用することができる。
なお、予測時間分布生成部2060があるタスクに関するリソース特徴量及びタスク処理時間に基づいて生成した予測時間分布は、そのタスクと同一のタスクを処理サーバ上で動作させる場合におけるタスク処理時間の予測に用いてもよいし、そのタスクとは異なるタスクを処理サーバ上で動作させる場合におけるタスク処理時間の予測に用いてもよい。ただし、予測時間の算出には、予測対象のタスクと同一又は同種別のタスクに関する情報を用いて生成された予測時間分布を用いることが好ましい。
また、予測時間分布生成部2060がある処理サーバ上でタスクを処理した際のリソース特徴量及びタスク処理時間に基づいて生成した予測時間分布は、同一の処理サーバ上でタスクを処理する場合におけるタスク処理時間の予測に用いてもよいし、異なる処理サーバ上でタスクを処理する場合におけるタスク処理時間の予測に用いてもよい。ただし、予測時間の算出には、予測対象のタスクを動作させようとしている処理サーバと同一又は構成が近い処理サーバ上でタスクを実行した際の情報を用いて生成された予測時間分布を用いることが好ましい。
<ハードウエア構成>
図4は、予測時間分布生成装置2000のハードウエア構成を例示するブロック図である。図4において、予測時間分布生成装置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は、ネットワークに接続するためのインタフェースである。
リソース特徴量取得モジュール1220は、予測時間分布生成装置2000に、リソース特徴量取得部2020の機能を持たせるためのプログラムである。プロセッサ1040は、リソース特徴量取得モジュール1220を実行することで、リソース特徴量取得部2020の機能を実現する。
タスク処理時間取得モジュール1240は、予測時間分布生成装置2000に、タスク処理時間取得部2040の機能を持たせるためのプログラムである。プロセッサ1040は、タスク処理時間取得モジュール1240を実行することで、タスク処理時間取得部2040の機能を実現する。
予測時間分布生成モジュール1260は、予測時間分布生成装置2000に、予測時間分布生成部2060の機能を持たせるためのプログラムである。プロセッサ1040は、予測時間分布生成モジュール1260を実行することで、予測時間分布生成部2060の機能を実現する。
例えばプロセッサ1040は、上記各モジュールをメモリ1060上に読み出して実行する。ただし、プロセッサ1040は、上記各モジュールを、メモリ1060上に読み出さずに実行してもよい。
ストレージ1080は、上記各モジュールを格納する。
予測時間分布生成装置2000のハードウエア構成は、図4に示した構成に限定されない。例えば、各モジュールはメモリ1060に格納されてもよい。この場合、予測時間分布生成装置2000は、ストレージ1080を備えていなくてもよい。
<処理の流れ>
図5は、実施形態1の予測時間分布生成装置2000が実行する処理の流れを例示するフローチャートである。ステップS102において、リソース特徴量取得部2020は、リソース特徴量を取得する。ステップS104において、タスク処理時間取得部2040は、タスク処理時間を取得する。ステップS106において、予測時間分布生成部2060は、リソース特徴量及びタスク処理時間に基づき、複数のリソース特徴量それぞれについて予測時間分布を生成する。
以下、本実施形態の予測時間分布生成装置2000について、さらに詳細に説明する。
<リソース特徴量取得部2020の詳細>
リソース特徴量取得部2020が取得するソース特徴量は、例えばタスクを処理した時にサーバが使用したリソースの使用量や使用率である。また、リソース特徴量は、リソースの待ち数であってもよい。リソースの待ち数とは、そのリソースの割り当てを待っているプロセスやリクエストなどの数である。例えば CPU の待ち数は、その CPU に割り当てるプロセスを管理するプロセススケジューラのランキューのキュー長などで表される。また、例えばディスクの待ち数は、そのディスクに対するリクエストを管理する I/O スケジューラのキュー長などで表される。
リソース特徴量取得部2020は、1種類又は複数種類のリソースについて、リソース特徴量を取得する。
リソース特徴量は、ある時点において測定されたリソース使用量、使用率、又は待ち数の値であってもよいし、複数の時点で測定されたこれらの値の統計値であってもよい。
また、リソース特徴量は、前述したリソース使用量などを用いて算出された値であってもよい。この場合、例えばリソース特徴量は、タスク処理時間と比例関係等にある値として算出される。以下、具体的に説明する。
待ち行列モデル M/M/1 を仮定すると、タスク処理時間とリソース使用率との間には、以下の数式(1)で示す関係が成り立つ。ここで、t はタスク処理時間、x はリソース使用率を表す。また、k は正の実数である。例えばリソース特徴量取得部2020は、数式(1)を用いて算出された 1/(1-x) をリソース特徴量として取得する。
Figure 2015108877
また、待ち行列モデル M/M/1 を仮定すると、タスク処理時間とリソースの待ち数との間には、以下の数式(2)で示す関係が成り立つ。数式(2)における各記号の意味は、数式(1)における各記号の意味と同様である。例えばリソース特徴量取得部2020は、数式(2)を用いて算出された x+1 をリソース特徴量として取得する。
Figure 2015108877
また、リソース特徴量取得部2020が取得するリソース特徴量は、複数種類のリソースそれぞれに関するリソース特徴量を用いて算出された1つの値であってもよい。複数のリソース特徴量から1つのリソース特徴量を算出する具体的な方法は、例えば以下の数式(3)を用いる方法である。ri は各リソースに関するリソース特徴量であり、R はこれら各リソース特徴量を用いて算出されるリソース特徴量である。例えばリソース特徴量取得部2020は、数式(3)を用いて算出された R をリソース特徴量として取得する。なお、複数種類のリソース特徴量を用いて1つのリソース特徴量を算出する方法は、数式(3)に示す方法に限定されない。例えば、各リソース特徴量 ri の和や重み付き平均を、1つのリソース特徴量 R として算出してもよい。
Figure 2015108877
また、予測時間分布生成装置2000は、上述した各数式などを用いてリソース特徴量を算出する機能を有してもよい。この機能を持つ機能構成部を、リソース特徴量算出部2080と表記する。図6は、リソース特徴量算出部2080を有する予測時間分布生成装置2000の構成を例示する図である。
リソース特徴量算出部2080は、サーバのリソース使用状況を表す情報(以下、リソース情報)を取得し、そのリソース情報に基づいてリソース特徴量を算出する。リソース情報が示す値は、例えばリソース使用率、リソース使用量、又はリソースの待ち数などである。そして、リソース特徴量算出部2080は、リソース使用率等からリソース特徴量を算出する。例えばリソース特徴量算出部2080は、リソース使用率を取得し、数式(1)を用いてリソース特徴量を算出する。
例えばリソース特徴量算出部2080は、リソース情報が示す値の種類に応じて、リソース特徴量の算出方法を決定する。この場合、リソース情報は、値とその値の種類(例:リソース使用率や待ち数など)との組み合わせを示す。そして、リソース特徴量算出部2080は、リソース情報が示す値の種類に応じた方法を用いて、リソース特徴量を算出する。ただし、リソース特徴量算出部2080が取得する値の種類は、予め固定されていてもよい。この場合、リソース特徴量算出部2080は、予め固定されている値の種類に応じた算出方法でリソース特徴量を算出する。
リソース特徴量取得部2020がリソース特徴量を入手する方法は様々である。例えばリソース特徴量取得部2020は、外部の装置から入力されるリソース特徴量を取得する。その他にも例えば、リソース特徴量取得部2020は、手動で入力されるリソース特徴量を取得する。さらにリソース特徴量取得部2020は、外部の装置にアクセスして、リソース特徴量を取得してもよい。例えば、上記外部の装置は、処理サーバである。また、分散システムにおいて処理サーバを管理する管理サーバがある場合、リソース特徴量取得部2020は、この管理サーバからリソース特徴量を取得してもよい。
予測時間分布生成装置2000がリソース特徴量算出部2080を有する場合、リソース特徴量算出部2080は、前述のリソース特徴量取得部2020がリソース特徴量を入手する方法と同様の方法でリソース情報を取得する。この場合、リソース特徴量取得部2020は、リソース特徴量算出部2080によって算出されたリソース特徴量を取得する。また、リソース特徴量取得部2020は、リソース特徴量算出部2080のよって算出されたリソース特徴量と、外部から提供されるリソース特徴量の双方を取得してもよい。
<タスク処理時間取得部2040の詳細>
タスク処理時間取得部2040がタスク処理時間を取得する方法は様々である。例えばタスク処理時間取得部2040は、外部の装置から入力されるタスク処理時間を取得する。その他にも例えば、タスク処理時間取得部2040は、手動で入力されるタスク処理時間を取得する。さらにタスク処理時間取得部2040は、外部の装置にアクセスして、タスク処理時間を取得してもよい。ここで、上記外部の装置は、例えば処理サーバである。また、分散システムにおいて処理サーバを管理する管理サーバがある場合、タスク処理時間取得部2040は、この管理サーバからタスク処理時間を取得してもよい。
<予測時間分布生成部2060の詳細>
前述したように、予測時間分布生成部2060は、リソース特徴量とタスク処理時間とを用いて、リソース特徴量ごとの予測時間分布を生成する。予測分布の確率モデルとしては、正規分布、スチューデントの t 分布、又は指数分布などの種々の確率モデルが利用できる。
例えば予測時間分布生成部2060は、リソース特徴量とタスク処理時間との関係を表す回帰モデルを生成する。そして、予測時間分布生成部2060は、この回帰モデルを条件とする条件付き分布を生成し、この条件付き分布を予測時間分布とする。リソース特徴量とタスク処理時間との関係を表す回帰モデルは、線形回帰モデルであってもよいし、非線形回帰モデルであってもよい。また、条件付き分布の確率モデルとしては、正規分布、スチューデントの t 分布、又は指数分布など、種々の確率モデルが利用できる。また、予測時間分布生成部2060が確率分布のモデルパラメータを算出する方法としては、統計的推定や機械学習アルゴリズムなどの種々の方法が利用できる。例えば予測時間分布生成部2060は、最尤推定法、ベイズ線形回帰、変分線形回帰、又は線形回帰の混合モデルなどを利用して、確率モデルのモデルパラメータを計算する。
予測時間分布生成部2060が予測時間分布を生成する契機は様々である。例えば予測時間分布生成部2060は、所定数のタスクについてリソース特徴量及びタスク処理時間を取得する度に、取得したリソース特徴量とタスク処理時間とを用いて予測時間分布を生成する。所定数は、1でもよいし、2以上でもよい。例えば、処理サーバにおいてタスクの実行が完了する度に、処理サーバ又は処理サーバを管理している管理サーバから、予測時間分布生成装置2000に対して、実行が完了したタスクに関するリソース特徴量及びタスク処理時間を送信するようにする。このようにすると、予測時間分布生成装置2000は、所定数のタスクの実行が完了する度に、実行が完了したタスクに関するリソース特徴量及びタスク処理時間を用いて、予測時間分布を生成する。
また例えば、予測時間分布生成部2060は、処理サーバを管理する管理サーバからの指示を受けたことを契機に、予測時間分布を生成してもよい。
予測時間分布生成部2060は、リソース特徴量ごとの予測時間分布を、タスクの種別ごとに生成する機能を有していてもよい。この場合、予測時間分布生成部2060は、取得したリソース特徴量とタスク処理時間を、対応するタスクの種別毎に分類する。そして、予測時間分布生成部2060は、同一の種別に分類されたリソース特徴量及びタスク処理時間のみを用いて、リソース特徴量ごとの予測時間分布を生成する。
タスク種別は、例えばジョブのIDで表される。例えば各タスクは、そのタスクの元となっているジョブのIDに対応付けられている。ただし、タスク種別は、ジョブのID以外でもよい。例えばその他のタスク種別は、ジョブのフェーズのIDや、ジョブのIDとフェーズのIDとの組み合わせなどである。
<実施例1>
実施形態1に係る予測時間分布生成装置2000の具体的な動作例を、実施例1として説明する。実施例1の予測時間分布生成部2060は、リソース特徴量とタスク処理時間との組み合わせを入力としてベイズ線形回帰を行うことで、リソース特徴量ごとに予測時間分布を生成する。
<<想定環境>>
図7は実施例1の想定環境を示す図である。分散システム5000は、マスタサーバ4000及び複数の処理サーバ3000を有する。マスタサーバ4000は、処理サーバ3000を管理するサーバである。
実施例1の予測時間分布生成装置2000は、リソース特徴量取得部2020、タスク処理時間取得部2040、及び予測時間分布生成部2060に加え、リソース特徴量算出部2080及び予測時間算出部2100を有する。リソース特徴量算出部2080については、前述した通りである。予測時間算出部2100は、予測時間分布生成部2060によって生成された予測時間分布を用いて、処理サーバ3000で実行されるタスクの処理時間の予測値を算出する。その具体的な方法については、後述の実施例2で説明する。
<<<処理サーバ3000>>>
処理サーバ3000は、タスク実行部3020、リソース情報格納部3040、及びタスク情報格納部3060を有する。タスク実行部3020は、1つ又は複数のタスクを実行する。例えばタスク実行部3020は、プロセス、スレッド、又は仮想マシンなどである。処理サーバ3000は、複数のタスク実行部3020を有してもよい。
リソース情報格納部3040はリソース情報を格納する。前述した通り、リソース情報は、例えばリソース使用率など、サーバのリソース使用状況を直接的に表す情報である。なお、処理サーバ3000において各リソースの使用量などを計測する方法は既知の技術である。そのため、その方法については説明を省略する。
図8は、リソース情報格納部3040に格納されているリソース情報をテーブル形式で例示する図である。図8が示すテーブルを、リソース情報テーブル100と表記する。リソース情報テーブル100は、サーバ識別子102及びリソース識別子104の組み合わせに対応付けて、記録時刻106、使用率108、使用時間110、及び待ち数112を示している。記録時刻106は、レコードが記録された時刻を示す。使用率108はリソース使用率を示し、使用時間110はリソース使用量を示し、待ち数112はリソースの待ち数を示す。
タスク情報格納部3060は、タスクに関する情報(タスク情報)を格納する。タスク情報格納部3060に格納されているタスク情報は、タスク実行部3020が実行しているタスク又はタスク実行部3020が過去に実行したタスクに関するタスク情報である。
図9は、タスク情報格納部3060に格納されているタスク情報をテーブル形式で例示する図である。図9が示すテーブルを、タスク情報テーブル200と表記する。タスク情報テーブル200は、タスク識別子202に対応付けて、サーバ識別子204、タスク種別206、ジョブ識別子208、開始時刻210、終了時刻212、及び処理時間214を示す。開始時刻210はタスクの実行を開始した時刻を示す。また、終了時刻212は、タスクの実行が完了した時刻を示す。タスクが実行中である場合、例えば終了時刻212は NULL を示す。処理時間214はタスクの実行に要した時間であり、終了時刻212と開始時刻210との差分に相当する。
タスク実行部3020は、タスクの実行を開始する際にタスク情報テーブル200のレコードを生成する。そして、タスク実行部3020は、タスクの実行が完了したときに、そのタスクに関するレコードの終了時刻212及び処理時間214に情報を追加する。
<<<マスタサーバ4000>>>
マスタサーバ4000は、タスク実行管理部4020、リソース情報管理部4040、及びタスク情報管理部4060を有する。タスク実行管理部4020は、処理サーバ3000に対してタスクを割り当てる処理や、処理サーバ3000に対してタスクの開始又は中止を指示する処理などを行う。
リソース情報管理部4040は、各処理サーバ3000のリソース情報格納部3040からリソース情報を収集して管理する。リソース特徴量算出部2080は、リソース情報管理部4040によって管理されているリソース情報を取得する。
タスク情報管理部4060は、各処理サーバ3000のタスク情報格納部3060からタスク情報を収集して管理する。タスク処理時間取得部2040は、タスク情報管理部4060によって管理されているタスク情報を取得する。そして、タスク処理時間取得部2040は、タスク情報の中からタスク処理時間を取得する。
タスク実行管理部4020は、必要に応じて、予測時間算出部2100によって算出された予測時間を取得する。例えばタスク実行管理部4020は、新たなタスクの割り当て先を複数の処理サーバ3000の中から選択するために、各処理サーバ3000についてタスク処理時間の予測時間を取得する。そして、各処理サーバ3000に関する予測時間に基づいてタスクを割り当てる処理サーバ3000を決定し、その処理サーバ3000に対してタスクを割り当てる。
<<予測時間分布の生成方法>>
以下、実施例1の予測時間分布生成装置2000が予測時間分布を生成する方法について説明する。前述したように、実施例1の予測時間分布生成部2060は、リソース特徴量を用いてベイズ線形回帰を行うことで、複数のリソース特徴量ごとに予測時間分布を生成する。
実施例1において、リソース特徴量算出部2080は、CPU のランキューのキュー長(以下、CPU キュー長)を示すリソース情報を取得する。そして、リソース特徴量算出部2080は、前述した数式(2)を用いて、CPU キュー長からリソース特徴量を算出する。リソース特徴量取得部2020は、リソース特徴量算出部2080によって算出されたリソース特徴量を取得する。
実施例1の予測時間分布生成部2060は、リソース特徴量 xi を入力として以下の数式(4)を用い、線形回帰モデル u(xi,w) を生成する。ここで、ベクトル w は重みベクトルである。また、ベクトルφ(x) は、リソース特徴量を含むベクトルである。以下、ベクトルφを特徴量ベクトルとも表記する。ここで、φ(x) の0番目の要素は定数1であり、φ(x) の1番目の要素はリソース特徴量を示す。
Figure 2015108877
次に、予測時間分布生成部2060は、線形回帰モデル u(xi,w) を確率モデル化する。 具体的には、予測時間分布生成部2060は、線形回帰モデル u(xi,w) を、平均が u(xi,w)であり、かつ分散がβ^(-1) である正規分布のモデル p(ti|xi,w,β) を生成する。なお、β^(-1) は適宜設定するパラメタであり、例えば経験ベイズやエビデンス近似といった方法で決定される。本実施例では、β^(-1) = 10^9 とする。
そして、予測時間分布生成部2060は、確率モデル p(ti|xi,w,β) の未知の重み w の事前分布 d(i-1) から事後分布 di を算出する。事前分布と事後分布との関係は、以下の数式(5)で表される。
Figure 2015108877
そして、予測時間分布生成部2060は、事後分布 di を用いて、以下の数式(6)に示すように予測時間分布 p(t|x,ti,xi,β,m(i-1),S(i-1)) を算出する。具体的には、予測時間分布生成部2060は、事後分布 di を特定する Si と mi とを用いて、ai と bi を算出する。そして、予測時間分布生成部2060は、平均が ai であり、かつ分散が bi である正規分布を、予測時間分布 p(t| x,ti,xi,β,m(i-1),S(i-1)) として算出する。
Figure 2015108877
ここで、数式(6)は、a(i+1) と b(i+1) が、共にリソース特徴量 x の関数であることを示している。つまり、予測時間分布 p(t| x,ti,xi,β,m(i-1),S(i-1)) はリソース特徴量 x に応じて定まる正規分布である。したがって、数式(6)は、リソース特徴量 x の値ごとに予測時間分布が生成されていることを意味する。
以降、予測時間分布生成部2060は、取得したリソース特徴量を順次用いて、同様の処理を行う。ただし、予測時間分布生成部2060は、あるリソース特徴量を用いて予測時間分布を生成する際の事前分布として、その前に予測時間分布を生成した際に算出された事後分布を用いる。つまり、i 番目のリソース特徴量を用いて予測時間分布を生成する過程で算出された事後分布 di を、i+1 番目のリソース特徴量を用いて予測時間分布を生成する際の事前分布として用いる。こうすることで、それまでに入力された全てのリソース特徴量の値が加味された予測時間分布が生成される。
<<具体的な値に対する処理結果>>
図8のリソース情報テーブル100が示す情報を用いて生成される予測時間分布について説明する。この例において、リソース特徴量算出部2080は、リソースの待ち数を用いてリソース特徴量を算出する。
まずリソース特徴量算出部2080は、リソース情報テーブル100の1行目のレコードの待ち数112が示す値である 1 を取得する。この値を x1 とも表記する。リソース特徴量算出部2080は、数式(7)に示すように、特徴量ベクトルφ(x1) を算出する。そして、予測時間分布生成部2060は、数式(8)に示すように、特徴量ベクトルφ(x1) から線形回帰モデル u(x1) を算出する。
Figure 2015108877
Figure 2015108877
予測時間分布生成部2060は、重み w の事前分布 d0 から事後分布 d1 を算出する。ここで、予測時間分布生成部2060は、事前分布 d0 の平均 m0 と共分散 S0 として、以下の数式(9)に示すものを用いる。
Figure 2015108877
その結果、事後分布 d1 は、以下の数式(10)に示す m1 を平均とし、S1 を共分散とする正規分布となる。
Figure 2015108877
そして、予測時間分布生成部2060は、数式(6)に数式(10)が示す S1 と m1 を適用して、予測時間分布 p(t|x,t1,x1,β,m0,S0) を算出する。
続いて予測時間分布生成部2060は、リソース情報テーブル100の2行目のレコードが示す待ち数112を x2 として、同様の処理を行う。ただし、予測時間分布生成部2060は、重み w の事前分布として、上述の処理で算出した事後分布 d1 を用いる。
処理の結果、事後分布 d2 は、以下の数式(11)に示す m2 と S2 で特定される正規分布となる。そして、予測時間分布生成部2060は、数式(6)に数式(11)が示す S2 と m2 を適用して、予測時間分布 p(t|x,t2,x2,β,m1,S1) を算出する。
Figure 2015108877
続いて、予測時間分布生成部2060は、リソース情報テーブル100の3行目のレコードが示す待ち数112を x3 として、同様の処理を行う。処理の結果、事後分布 d3 は、以下の数式(12)に示す m3 と S3 で特定される正規分布となる。そして、予測時間分布生成部2060は、数式(6)に数式(12)が示す S3 と m3 を適用して、予測時間分布 p(t|x,t3,x3,β,m2,S2) を算出する。
Figure 2015108877
図10は、x1、x2、及び x3 を順に入力することで算出された予測時間分布を表すグラフである。この三次元のグラフをある x の値 xj で切った断面に表れる二次元のグラフは、リソース特徴量 xj に対応する予測時間分布を表す。なお、図11は、x1、x2、及び x3 を用いて生成した線形回帰モデルを示すグラフである。図10に示す予測時間分布は、図11に示す線形回帰モデルをベイズ線形回帰で確率モデル化したものとなる。
[実施形態2]
実施形態2に係る予測時間分布生成装置2000の構成は、実施形態1の予測時間分布生成装置2000と同様に図1で表される。以下で説明する点を除き、実施形態2の予測時間分布生成装置2000は、実施形態1の予測時間分布生成装置2000と同様である。
実施形態2の予測時間分布生成部2060は、リソース特徴量の値空間を複数の部分空間に分割する。そして、各部分空間に対応付けて、リソース特徴量がその部分空間内に属する場合における予測時間分布を生成する。
例えばリソース特徴量がリソース使用率を表しているとする。この場合、予測時間分布生成部2060は、リソース使用率の値空間である [0, 1] を2等分し、[0,0.5) と [0.5,1] を生成する。そして、この2つの値空間それぞれに対して、予測分布を生成する。
また、リソース特徴量取得部2020が、複数種類のリソースそれぞれについてリソース特徴量を取得したとする。この場合、予測時間分布生成部2060は、複数種類のリソース特徴量によって定まる値空間を分割して、複数の部分空間を生成する。
例えば、リソース特徴量取得部2020が、n 種類のリソースそれぞれについてリソース特徴量を取得したとする。この場合、全種類のリソース特徴量の組み合わせで定まる値空間は n 次元空間となる。例えば予測時間分布生成部2060は、各種類のリソース特徴量の値空間を m 等分する。すると、全種類のリソース特徴量で定まる値空間は、m^n 個の部分空間に分割される。この場合、予測時間分布生成部2060は、m^n 個の部分空間それぞれについて、予測時間分布を生成する。
<作用・効果>
本実施形態の予測時間分布生成装置2000によれば、リソース特徴量の値空間が複数の部分空間に分割され、部分空間ごとに予測時間分布が生成される。この方法は、例えば部分空間毎に予測時間分布の性質が異なる場合に有効である。これは、部分空間毎に予測時間分布を生成するため、例えば部分空間毎に異なる確率モデルを用いて予測時間分布を生成するといったことが可能であるためである。
<実施例2>
以下、実施形態2の予測時間分布生成装置2000が行う具体的な動作の例を、実施例2として説明する。実施例2における想定環境は、実施例1における想定環境と同様である。
実施例2の予測時間分布生成装置2000は、ディスク I/O 使用率 xk を示すリソース情報を6つ取得する。具体的には、リソース情報はそれぞれ、x1=0.667、x2=0.8、x3=0.9、x4=0.75、x5=0.875、x6=0.889 を示す。
リソース特徴量算出部2080は、以下の数式(13)を用いて、ディスク I/O 使用率からリソース特徴量φ(xk) を算出する。
Figure 2015108877
リソース特徴量算出部2080は、取得した各ディスク I/O 使用率を数式(13)に適用することで、φ(x1)=3、φ(x2)=5、φ(x3)=10、φ(x4)=4、φ(x5)=8、及びφ(x6)=9 をそれぞれ算出する。
タスク処理時間取得部2040は、ディスク I/O 使用率 xk に対応するタスク処理時間 tk を取得する。具体的には、タスク処理時間取得部2040は、t1=25,000、t2=70,000、t3=80,000、t4=55,000、t5=30,000、及び t6=130,000 を取得する。ここで、タスク処理時間の単位はミリ秒である。
予測時間分布生成部2060は、リソース特徴量の値空間を2等分する。ここで、予測時間分布生成部2060は、リソース特徴量φ1(xk) の値空間(値域)を (0,10] と仮定する。その結果、予測時間分布生成部2060は、値空間 (0,10] を、部分空間 vd1=(0,5] と部分空間 vd2=(5,10] に分割する。
予測時間分布生成部2060は、部分空間 vd1 と vd2 それぞれについて予測時間分布を算出する。以下に、その方法を説明する。まず予測時間分布生成部2060は、各φ(xk) を属する部分空間に基づいて分類する。具体的には、φ(x1)、φ(x2)、及びφ(x4) を vd1 に分類し、φ(x3)、φ(x5)、及びφ(x6) を vd2 に分類する。
予測時間分布生成部2060は、同じ部分空間に属する各リソース特徴量に対応するタスク処理時間を用いて、その部分空間に対応する予測時間分布を算出する。具体的には、予測時間分布生成部2060は、タスク処理時間取得部2040が取得したタスク処理時間を標本として、母集団における平均及び標準偏差を推定する。そして、予測時間分布生成部2060は、推定した平均及び標準偏差で特定される正規分布を、その部分空間に対応する予測時間分布として生成する。
以下、具体的な値を用いて説明する。まず予測時間分布生成部2060は、部分空間 vd1 に対応する予測時間分布を算出する。そのために、予測時間分布生成部2060は、vd1 に属する各リソース特徴量 φ(x1)、φ(x2)、及びφ(x4)に対応するタスク処理時間 t1、t2、及び t4 を用いる。具体的には、予測時間分布生成部2060は、数式(14)が示すように平均μ1 と標準偏差σ1 を推定する。なお、数式(14)において、予測時間分布生成部2060は、平均を標本平均とし、標準偏差を標本分散の平方根とする方法で推定を行っている。ただし、予測時間分布生成部2060が標本から母集団における平均と分散を推定する方法としては、他の様々な既知の推定方法を用いることができる。
Figure 2015108877
上述の推定により、予測時間分布生成部2060は、部分空間 vd1 に対応する予測時間分布として、平均が 50,000 であり、標準偏差が 18,708 である正規分布を生成する。
予測時間分布生成部2060は同様の方法により、部分空間 vd2 について平均μ2 = 80,000 及び標準偏差σ2 = 40,825 を推定する。その結果、予測時間分布生成部2060は、部分空間 vd2 に対応する予測時間分布として、平均が 80,000 であり、標準偏差が 40,825 である正規分布を生成する。
<<予測時間の算出>>
予測時間算出部2100が予測時間分布を用いて予測時間を算出する方法を説明する。ここで、タスク実行管理部4020が新たなタスクを処理サーバ3000に対して割り当てようとしたとする。タスク実行管理部4020は、処理サーバ3000のリソース情報格納部3040から、現在のリソース使用状況を表すリソース情報を取得する。ここで、このリソース情報は、ディスク I/O 使用率が 0.5 であることを示しているとする。
タスク実行管理部4020は、予測時間算出部2100に対して、ディスク I/O 使用率 0.5 を入力する。すると、予測時間算出部2100は、予測時間分布生成部2060によって生成された予測時間分布の中から、ディスク I/O 使用率 0.5 に対応する予測時間分布を取得する。具体的には、以下の流れになる。
まず、リソース特徴量算出部2080が、ディスク I/O 使用率 0.5 からリソース特徴量を算出する。算出結果は 2 となる。ここで、2 は部分空間 vd1 に属する。そこで、予測時間算出部2100は、部分空間 vd1 に対応する予測時間分布を取得する。この予測時間分布は、数式(14)に示す平均と標準偏差で特定される正規分布である。
予測時間算出部2100は、この予測時間分布から、タスク処理時間の予測時間を算出する。例えば予測時間算出部2100は、直接法と呼ばれる方法を用いて予測時間を算出する。その方法は、以下に示す通りである。なお、予測時間算出部2100が予測時間分布から予測時間を算出する方法は、この方法に限定されない。
まず、予測時間算出部2100は、一様乱数 y を生成する。そして、予測時間算出部2100は、一様乱数 y が以下の数式(15)を満たすように、数式(15)における x の値を算出する。ここで数式(15)における f(x) は、予測時間算出部2100が取得した vd1 に対応する予測時間分布である。そして、予測時間算出部2100は、算出した x を予測時間として出力する。
Figure 2015108877
<実施例3>
実施形態2の予測時間分布生成装置2000の別の動作例を、実施例3として説明する。実施例3の想定環境は、実施例2と同様である。
実施例3の予測時間分布生成装置2000は、複数種類のリソースそれぞれに関するリソース特徴量を用いる点が、実施例2の予測時間分布生成装置2000と異なる。
実施例3の予測時間分布生成装置2000は、ディスク I/O 使用率と CPU のランキュー長(CPU の待ち数)という2種類の情報を示すリソース情報を取得する。具体的には、予測時間分布生成装置2000は、(xk,yk)=(ディスク I/O 使用率、CPU ランキュー長)T として、(x1,y1)=(0.667,1)T、(x2,y2)=(0.8,3)T、(x3,y3)=(0.9,6)T、(x4,y4)=(0.75,8)T、(x5,y5)=(0.875,4)T、及び (x6,y6)=(0.889,2)T を取得する。
そして、リソース特徴量算出部2080は、以下の数式(16)を用いて、各 (xk,yk) に対応する特徴量ベクトルφk を求める。具体的には、各φk の値は、φ1=(3,2)T、φ2=(5,4)T、φ3=(10,7)T、φ4=(4,9)T、φ5=(8,5)T、φ6=(9,3)T となる。
Figure 2015108877
タスク処理時間取得部2040は、各 (xk,yk) に対応するタスク処理時間 tk を取得する。ここで、tk は、t1=25,000、t2=70,000、t3=80,000、t4=55,000、t5=30,000、及び t6=130,000 であったとする。
予測時間分布生成部2060は、リソース特徴量の値空間を複数の部分空間に分割する。ここで、xk と yk の値空間が共に (0,10] であると仮定する。予測時間分布生成部2060は、2つのリソース特徴量からなる2次元の値空間を、数式(17)に示す4つの部分空間に分割する。
Figure 2015108877
予測時間分布生成部2060は、各各φk を属する部分空間に分類する。具体的には、予測時間分布生成部2060は、φ1 及びφ2 を vd1 に分類し、φ4 を vd2 に分類し、φ5 及びφ6 を vd3 に分類し、φ3 を vd4 に分類する。
実施例3の予測時間分布生成部2060は、vd1、vd2、vd3、及び vd4 それぞれに対応する予測時間分布を算出する。予測時間分布生成部2060は、vd1 に分類されたφ1 及びφ2 に対応する t1 及び t2 を用いて、vd1 に対応する予測時間分布を生成する。同様に、予測時間分布生成部2060は、t4 を用いて vd2 に対応する予測時間分布を生成し、t5 及び t6 を用いて vd3 に対応する予測時間分布を生成し、t3 を用いて vd4 に対応する予測時間分布を生成する。実施例3の予測時間分布生成部2060がタスク処理時間から予測時間分布を生成する方法は、実施例2の予測時間分布生成部2060が行う方法と同様である。
<<予測時間の算出>>
実施例3の予測時間算出部2100は、実施例2の予測時間算出部2100と同様の方法で予測時間を算出する。例えば、タスク実行管理部4020がリソース情報格納部3040から現在のリソース使用状況を表すリソース情報を取得した際、リソース情報が「ディスク I/O 使用率 = 0.5、CPU ランキュー長 = 4」を示していたとする。
タスク実行管理部4020は、予測時間算出部2100に対して、(x,y)=(0.5,4) を入力する。すると、リソース特徴量算出部2080は、φ(x,y)=(2,5)T を算出する。このφ(x,y) は、vd1 に属する。よって、予測時間算出部2100は、vd1 に対応する予測時間分布を用いて、予測時間を算出する。予測時間分布に基づいて予測時間を算出する方法は、実施例2で説明した方法と同様である。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
10、20、30、40、50、60、70 グラフ
80 範囲
100 リソース情報テーブル
102 サーバ識別子
104 リソース識別子
106 記録時刻
108 使用率
110 使用時間
112 待ち数
200 タスク情報テーブル
202 タスク識別子
204 サーバ識別子
206 タスク種別
208 ジョブ識別子
210 開始時刻
212 終了時刻
214 処理時間
1020 バス
1040 プロセッサ
1060 メモリ
1080 ストレージ
1100 ネットワークアダプタ
1220 リソース特徴量取得モジュール
1240 タスク処理時間取得モジュール
1260 予測時間分布生成モジュール
2000 予測時間分布生成装置
2020 リソース特徴量取得部
2040 タスク処理時間取得部
2060 予測時間分布生成部
2080 特徴量算出部
2100 予測時間算出部
3000 処理サーバ
3020 タスク実行部
3040 リソース情報格納部
3060 タスク情報格納部
4000 マスタサーバ
4020 タスク実行管理部
4040 リソース情報管理部
4060 タスク情報管理部
5000 分散システム

Claims (15)

  1. 処理サーバがタスクを処理した時における前記処理サーバのリソース特徴量を取得するリソース特徴量取得手段と、
    前記処理サーバが前記タスクの処理に要した時間であるタスク処理時間を取得するタスク処理時間取得手段と、
    前記リソース特徴量及び前記タスク処理時間の組み合わせに基づき、複数のリソース特徴量それぞれについて、タスク処理時間の予測値の確率分布である予測時間分布を生成する予測時間分布生成手段と、
    を有する予測時間分布生成装置。
  2. 前記予測時間分布生成手段は、前記リソース特徴量に基づく回帰モデルを生成し、さらに前記回帰モデルを条件とする条件付き分布を生成し、その条件付き分布を前記予測時間分布とする請求項1に記載の予測時間分布生成装置。
  3. 前記予測時間分布生成手段は、前記リソース特徴量の値空間を複数の部分空間に分割し、各部分空間に対応付けて、前記リソース特徴量がその部分空間内にある場合における前記予測時間分布を生成する請求項1又は2に記載の予測時間分布生成装置。
  4. 前記予測時間分布生成手段は、所定数の前記タスクの実行が完了する度に、実行が完了した前記タスクに関する前記リソース特徴量及び前記タスク処理時間に基づいて前記予測時間分布を生成する請求項1乃至3いずれか一項に記載の予測時間分布生成装置。
  5. 前記予測時間分布生成手段は、複数のタスク種別それぞれについて、そのタスク種別の前記タスクに関する前記リソース特徴量及び前記タスク処理時間の組み合わせに基づきリソース特徴量ごとの前記予測時間分布を算出する、
    請求項1乃至4いずれか一項に記載の予測時間分布生成装置。
  6. 予測時間分布生成装置として動作するコンピュータによって実行させる制御方法であって、
    処理サーバがタスクを処理した時における前記処理サーバのリソース特徴量を取得するリソース特徴量取得ステップと、
    前記処理サーバが前記タスクの処理に要した時間であるタスク処理時間を取得するタスク処理時間ステップと、
    前記リソース特徴量及び前記タスク処理時間の組み合わせに基づき、複数のリソース特徴量それぞれについて、タスク処理時間の予測値の確率分布である予測時間分布を生成する予測時間分布生成ステップと、
    を有する制御方法。
  7. 前記予測時間分布生成ステップは、前記リソース特徴量に基づく回帰モデルを生成し、さらに前記回帰モデルを条件とする条件付き分布を生成し、その条件付き分布を前記予測時間分布とする請求項6に記載の制御方法。
  8. 前記予測時間分布生成ステップは、前記リソース特徴量の値空間を複数の部分空間に分割し、各部分空間に対応付けて、前記リソース特徴量がその部分空間内にある場合における前記予測時間分布を生成する請求項6又は7に記載の制御方法。
  9. 前記予測時間分布生成ステップは、所定数の前記タスクの実行が完了する度に、実行が完了した前記タスクに関する前記リソース特徴量及び前記タスク処理時間に基づいて前記予測時間分布を生成する請求項6乃至8いずれか一項に記載の制御方法。
  10. 前記予測時間分布生成ステップは、複数のタスク種別それぞれについて、そのタスク種別の前記タスクに関する前記リソース特徴量及び前記タスク処理時間の組み合わせに基づきリソース特徴量ごとの前記予測時間分布を算出する、
    請求項6乃至9いずれか一項に記載の制御方法。
  11. コンピュータに予測時間分布生成装置として動作する機能を持たせるプログラムであって、前記コンピュータに、
    処理サーバがタスクを処理した時における前記処理サーバのリソース特徴量を取得するリソース特徴量取得機能と、
    前記処理サーバが前記タスクの処理に要した時間であるタスク処理時間を取得するタスク処理時間機能と、
    前記リソース特徴量及び前記タスク処理時間の組み合わせに基づき、複数のリソース特徴量それぞれについて、タスク処理時間の予測値の確率分布である予測時間分布を生成する予測時間分布生成機能と、
    を持たせるプログラム。
  12. 前記予測時間分布生成機能は、前記リソース特徴量に基づく回帰モデルを生成し、さらに前記回帰モデルを条件とする条件付き分布を生成し、その条件付き分布を前記予測時間分布とする請求項11に記載のプログラム。
  13. 前記予測時間分布生成機能は、前記リソース特徴量の値空間を複数の部分空間に分割し、各部分空間に対応付けて、前記リソース特徴量がその部分空間内にある場合における前記予測時間分布を生成する請求項11又は12に記載のプログラム。
  14. 前記予測時間分布生成機能は、所定数の前記タスクの実行が完了する度に、実行が完了した前記タスクに関する前記リソース特徴量及び前記タスク処理時間に基づいて前記予測時間分布を生成する請求項11乃至13いずれか一項に記載のプログラム。
  15. 前記予測時間分布生成機能は、複数のタスク種別それぞれについて、そのタスク種別の前記タスクに関する前記リソース特徴量及び前記タスク処理時間の組み合わせに基づきリソース特徴量ごとの前記予測時間分布を算出する、
    請求項11乃至14いずれか一項に記載のプログラム。
JP2013250231A 2013-12-03 2013-12-03 予測時間分布生成装置、制御方法、及びプログラム Pending JP2015108877A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013250231A JP2015108877A (ja) 2013-12-03 2013-12-03 予測時間分布生成装置、制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013250231A JP2015108877A (ja) 2013-12-03 2013-12-03 予測時間分布生成装置、制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2015108877A true JP2015108877A (ja) 2015-06-11

Family

ID=53439202

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013250231A Pending JP2015108877A (ja) 2013-12-03 2013-12-03 予測時間分布生成装置、制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2015108877A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017188419A1 (ja) * 2016-04-28 2017-11-02 日本電気株式会社 計算資源管理装置、計算資源管理方法、及びコンピュータ読み取り可能な記録媒体
CN109901921A (zh) * 2019-02-22 2019-06-18 北京致远互联软件股份有限公司 任务队列执行时间预测方法、装置及实现装置
JP2019125093A (ja) * 2018-01-15 2019-07-25 株式会社デンソー 電子制御装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017188419A1 (ja) * 2016-04-28 2017-11-02 日本電気株式会社 計算資源管理装置、計算資源管理方法、及びコンピュータ読み取り可能な記録媒体
US10963297B2 (en) 2016-04-28 2021-03-30 Nec Corporation Computational resource management device, computational resource management method, and computer-readable recording medium
JP2019125093A (ja) * 2018-01-15 2019-07-25 株式会社デンソー 電子制御装置
JP7106868B2 (ja) 2018-01-15 2022-07-27 株式会社デンソー 電子制御装置
CN109901921A (zh) * 2019-02-22 2019-06-18 北京致远互联软件股份有限公司 任务队列执行时间预测方法、装置及实现装置
CN109901921B (zh) * 2019-02-22 2022-02-11 北京致远互联软件股份有限公司 任务队列执行时间预测方法、装置及实现装置

Similar Documents

Publication Publication Date Title
US8434085B2 (en) Scalable scheduling of tasks in heterogeneous systems
JP6191691B2 (ja) 異常検出装置、制御方法、及びプログラム
Salehi et al. Stochastic-based robust dynamic resource allocation for independent tasks in a heterogeneous computing system
Tumanov et al. alsched: Algebraic scheduling of mixed workloads in heterogeneous clouds
WO2015157068A1 (en) Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system
WO2015001850A1 (ja) タスク割り当て判定装置、制御方法、及びプログラム
You et al. Comprehensive workload analysis and modeling of a petascale supercomputer
JP2016042284A (ja) 並列計算機システム、管理装置、並列計算機システムの制御方法及び管理装置の制御プログラム
CN111124644B (zh) 任务调度资源的确定方法、装置及系统
JP6237170B2 (ja) 割当判定装置、制御方法、及びプログラム
Maruf et al. Extending resources for avoiding overloads of mixed‐criticality tasks in cyber‐physical systems
JP6924083B2 (ja) 情報処理システムおよびリソース割り当て方法
CN114816711A (zh) 批量任务处理方法、装置、计算机设备和存储介质
WO2018097058A1 (ja) 解析ノード、リソース管理方法およびプログラム記録媒体
JP2015108877A (ja) 予測時間分布生成装置、制御方法、及びプログラム
CA2631255A1 (en) Scalable scheduling of tasks in heterogeneous systems
Kumar et al. Load balancing algorithm to minimize the makespan time in cloud environment
US10503548B2 (en) Resource and latency estimation-based scheduling in a distributed computing environment
WO2016084327A1 (ja) 資源予測装置、資源予測方法、資源予測プログラムおよび分散処理システム
JP2011141703A (ja) 資源配置システム、資源配置方法、及び資源配置用プログラム
Alworafi et al. Budget-aware task scheduling technique for efficient management of cloud resources
US10817401B1 (en) System and method for job-to-queue performance ranking and resource matching
Iglesias et al. Increasing task consolidation efficiency by using more accurate resource estimations
Runsewe et al. Cloud resource scaling for time-bounded and unbounded big data streaming applications
Zhang et al. An effective heuristic for due-date-constrained bag-of-tasks scheduling problem for total cost minimization on hybrid clouds