JP6268731B2 - ジョブ管理装置、ジョブ管理方法、及びプログラム - Google Patents
ジョブ管理装置、ジョブ管理方法、及びプログラム Download PDFInfo
- Publication number
- JP6268731B2 JP6268731B2 JP2013063241A JP2013063241A JP6268731B2 JP 6268731 B2 JP6268731 B2 JP 6268731B2 JP 2013063241 A JP2013063241 A JP 2013063241A JP 2013063241 A JP2013063241 A JP 2013063241A JP 6268731 B2 JP6268731 B2 JP 6268731B2
- Authority
- JP
- Japan
- Prior art keywords
- job
- resource usage
- input data
- executed
- data 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
- 238000007726 management method Methods 0.000 title claims description 14
- 231100000817 safety factor Toxicity 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 18
- 238000000034 method Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 6
- 230000004913 activation Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 2
- 231100000681 Certain safety factor Toxicity 0.000 description 1
- 230000000875 corresponding Effects 0.000 description 1
- 230000001186 cumulative Effects 0.000 description 1
- 230000001419 dependent Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical Effects 0.000 description 1
- 230000003068 static Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Images
Description
本発明は、バッチ処理におけるジョブの管理を行なうための、ジョブ管理装置、ジョブ管理方法、及びこれらを実現するためのプログラムに関する。
一般に、バッチ処理を実行するコンピュータシステムにおいては、バッチジョブの管理のため、ジョブ管理製品と呼ばれるプログラム群が導入される。このプログラム群は、各バッチジョブに目的に応じて前後関係を設定して、フロー状のジョブネットワークを定義し、定義したジョブネットワークに沿って、バッチジョブを自動的に処理していく。
また、バッチ処理を実行するコンピュータシステムは、一般に、マネージャと呼ばれる管理サーバと、エージェントと呼ばれるサーバとで構成されている(例えば、特許文献1参照。)。このコンピュータシステムでは、マネージャによって、ジョブの定義情報の管理、ジョブネットワークのフロー制御、エージェントへのジョブの転送等が行なわれ、エージェントによって、実際のジョブの実行が行なわれる。
また、ジョブは、業務等といったある1つの目的のために定義された処理手続きであり、シェルスクリプト(UNIX(登録商標))、又はバッチスクリプト(Windows(登録商標))によって記述される。そして、ジョブが実行される場合、ジョブはコンピュータ上の様々なリソースを使用する。この場合のリソースとしては、CPU(Central Processing Unit)使用率、メモリ使用量、ディスク使用量、ネットワーク使用量等、コンピュータ上の共有資源が挙げられる。
ところで、ジョブに対してリソースの使用を無制限に認めることとすると、システムに障害が発生してしまうため、通常、リソースの使用には制限が設けられている。現在、広く一般に行われているジョブのリソースの使用制限の方法としては、事前にそのジョブに対して、利用可能なリソースの制限値を設定しておくという方法が挙げられる(特許文献2)。
例えば、リソースの制限値は、予め、CPU使用時間であれば「〜00:05:00まで」、メモリ使用量であれば「〜30MBまで」といったように、ジョブ毎に、各ジョブが使用するリソースそれぞれについて設定される。そして、制限値を超過した場合には警告が出力されたり、場合によってはジョブが強制終了されたり、といったことが行なわれる。
但し、実行するジョブの処理量によって必要となるリソースの量は変動する可能性があるので、予め、必要となるリソースの最大値が見積もられ、更に安全率が考慮されて、実際の制限値よりもある程度大きい制限値が設定されるのが一般的である。
しかしながら、このように余裕を持たせて制限値が設定されると、本来、処理量が少ないにも関わらず大きなリソースを消費しているというような状況を検知することができず、結果として無駄なリソース消費が継続的に許されてしまう可能性がある。例えば、ファイルのバックアップ等、ジョブへの入力データ量に応じて必要となるCPU処理時間が比例するジョブがあったとする。この場合に、余裕を持たせて制限値が設定されていると、「入力データ量が少ないにも関わらず、CPU処理時間が多い」という状況が発生しても、これを検知することは不可能となる。
逆に、対象ジョブの平均的なリソース使用量に少しだけ余裕を持たせた程度に、制限値が設定されているとする。そうすると、たまたま実行した日に限り、入力データ量が多く、それに応じて処理量も多くなって、その制限値を超過してしまった場合であっても、前述の警告及び強制終了が行なわれてしまう。
本発明の目的の一例は、上記問題を解消し、ジョブで使用されるリソースの制限値を状況に応じて動的に変化させて、最適値とし得る、ジョブ管理装置、ジョブ管理方法、及びプログラムを提供することにある。
上記目的を達成するため、本発明の一側面におけるジョブ管理装置は、バッチ処理におけるジョブを管理するためのジョブ管理装置であって、
実行対象となるジョブの入力データ量を確認する、入力データ量確認部と、
確認された前記入力データ量、及び、既に実行されたジョブにおける入力データ量とリソース使用量との関係を用いて、実行対象となる前記ジョブのリソース使用量を予測する、リソース使用量予測部と、
予測された前記リソース使用量に基づいて、実行対象となる前記ジョブ毎に、当該ジョブで使用されるリソースの制限値を設定する、ジョブ実行制御部と、
を備えている、ことを特徴とする。
実行対象となるジョブの入力データ量を確認する、入力データ量確認部と、
確認された前記入力データ量、及び、既に実行されたジョブにおける入力データ量とリソース使用量との関係を用いて、実行対象となる前記ジョブのリソース使用量を予測する、リソース使用量予測部と、
予測された前記リソース使用量に基づいて、実行対象となる前記ジョブ毎に、当該ジョブで使用されるリソースの制限値を設定する、ジョブ実行制御部と、
を備えている、ことを特徴とする。
また、上記目的を達成するため、本発明の一側面におけるジョブ管理方法は、バッチ処理におけるジョブを管理するための方法であって、
(a)実行対象となるジョブの入力データ量を確認する、ステップと、
(b)確認された前記入力データ量、及び、既に実行されたジョブにおける入力データ量とリソース使用量との関係を用いて、実行対象となる前記ジョブのリソース使用量を予測する、ステップと、
(c)予測された前記リソース使用量に基づいて、実行対象となる前記ジョブ毎に、当該ジョブで使用されるリソースの制限値を設定する、ステップと、
を有することを特徴とする。
(a)実行対象となるジョブの入力データ量を確認する、ステップと、
(b)確認された前記入力データ量、及び、既に実行されたジョブにおける入力データ量とリソース使用量との関係を用いて、実行対象となる前記ジョブのリソース使用量を予測する、ステップと、
(c)予測された前記リソース使用量に基づいて、実行対象となる前記ジョブ毎に、当該ジョブで使用されるリソースの制限値を設定する、ステップと、
を有することを特徴とする。
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、コンピュータによって、バッチ処理におけるジョブを管理するためのプログラムであって、
前記コンピュータに、
(a)実行対象となるジョブの入力データ量を確認する、ステップと、
(b)確認された前記入力データ量、及び、既に実行されたジョブにおける入力データ量とリソース使用量との関係を用いて、実行対象となる前記ジョブのリソース使用量を予測する、ステップと、
(c)予測された前記リソース使用量に基づいて、実行対象となる前記ジョブ毎に、当該ジョブで使用されるリソースの制限値を設定する、ステップと、
を実行させることを特徴とする。
前記コンピュータに、
(a)実行対象となるジョブの入力データ量を確認する、ステップと、
(b)確認された前記入力データ量、及び、既に実行されたジョブにおける入力データ量とリソース使用量との関係を用いて、実行対象となる前記ジョブのリソース使用量を予測する、ステップと、
(c)予測された前記リソース使用量に基づいて、実行対象となる前記ジョブ毎に、当該ジョブで使用されるリソースの制限値を設定する、ステップと、
を実行させることを特徴とする。
以上のように本発明によれば、ジョブで使用されるリソースの制限値を、状況に応じて動的に変化させて最適値とすることができる。
(発明の概要)
本発明は、上述したリソースの制限を静的に設定したことにより発生する問題を解決するため、ジョブ実行時のリソース制限を動的に変動させる仕組みを提供する。本発明は、以下の特徴を有している。
本発明は、上述したリソースの制限を静的に設定したことにより発生する問題を解決するため、ジョブ実行時のリソース制限を動的に変動させる仕組みを提供する。本発明は、以下の特徴を有している。
まず、本発明では、実行対象となるジョブの入力データ量が、ジョブの実行直前に確認される。また、入力データ量の種類は、ジョブの処理内容に応じて異なっている。例えば、ジョブがファイル転送の場合であれば、入力データ量としては「ファイルサイズ」が挙げられる。また、ジョブがバックアップ処理であれば、入力データ量としては「バックアップするファイル及びディスクのサイズ」が挙げられる。更に、ジョブがデータベース(以下「DB」と表記する。)の更新処理であれば、入力データ量としては、「表又はレコードの件数」が挙げられる。
また、本発明では、今回、実行対象となるジョブの入力データ量が判明すると、過去実績としてのジョブの入力データ量とそのときのリソース使用量とに基づいて、実行前に、実行対象となるジョブのリソース使用量が予測される。
基本的に全く同じ処理が行なわれるのであれば、リソース使用量及び処理時間は変動しないはずである。変動するのは、処理量が違うためであり、即ち、扱うデータ量が異なるため、言い換えると、入力データ量が異なるためである。従って、本発明では、過去実績として蓄積された入力データ量とリソース使用量との依存関係から、今回の入力データ量に基づいて、実行対象となるジョブのリソース使用量が予測される。
また、この依存関係は、リソースの種類ごとに作成されるのが好ましく、この場合、リソースの種類毎に、リソース使用量が予測される。なお、入力データ量に対して、対象リソースに依存性がなく、リソース使用量が変動しない場合であっても良い。この場合は、そのリソースについてのリソース使用量は固定値とされる。
そして、本発明では、実行対象となるジョブで使用されるリソースの制限値は、このリソース使用量の予測値から、ある程度の安全率が考慮されて設定される。更に、制限値は、ジョブの実行ごとに変更されても良く、例えば、対象ジョブのリソース使用量が少なくて済むと推測される場合には、制限値は低く設定されることになる。一方、リソース使用量が多くなると推測される場合には、制限値は高く設定されることになる。
また、本発明におけるジョブ管理装置は、個々のジョブの実行及び制御を直接行なうことができる。このため、ジョブ管理装置は、ジョブの実行状況、データ量、リソース使用量を適切に把握でき、これらの情報を基に、制限値を推測する。この結果、精度の高い制限値設定制御が実行されることになる。
更に、本発明では、ジョブのリソース使用量を監視することもできる。具体的には、ジョブ管理装置は、ジョブの実行時に、各リソースに応じた手段を用いて、実行中のジョブのリソース使用量を監視して、その実績値を蓄積することができる。この場合は、実績値は、最初に述べた入力データ量とセットで記録され、依存関係を求める場合に利用される。
(実施の形態)
以下、本発明の実施の形態における、ジョブ管理装置、ジョブ管理方法、及びプログラムについて、図1〜図11を参照しながら説明する。
以下、本発明の実施の形態における、ジョブ管理装置、ジョブ管理方法、及びプログラムについて、図1〜図11を参照しながら説明する。
[装置構成]
最初に、本発明の実施の形態におけるジョブ管理装置の全体構成について図1を用いて説明する。図1は、本発明の実施の形態におけるジョブ管理装置の全体構成を概略的に示す図である。
最初に、本発明の実施の形態におけるジョブ管理装置の全体構成について図1を用いて説明する。図1は、本発明の実施の形態におけるジョブ管理装置の全体構成を概略的に示す図である。
図1に示す、本実施の形態におけるジョブ管理装置10は、バッチ処理におけるジョブを管理するための装置である。図1に示すように、本実施の形態では、ジョブ管理装置10は、ネットワーク40を介して、ジョブを実行するサーバ(以下「ジョブ実行サーバ」と表記する。)30に接続されている。
また、図1に示すように、ジョブ管理装置10は、入力データ量確認部12と、リソース使用量予測部14と、ジョブ実行制御部11とを備えている。このうち、入力データ量確認部12は、実行対象となるジョブの入力データ量を確認する。
また、リソース使用量予測部14は、入力データ量確認部12で確認された入力データ量、及び、既に実行されたジョブにおける入力データ量とリソース使用量との依存関係を用いて、実行対象となるジョブのリソース使用量を予測する。そして、ジョブ実行制御部11は、予測されたリソース使用量に基づいて、実行対象となるジョブ毎に、各ジョブで使用されるリソースについて、その制限値を設定する。
このように、本実施の形態では、実行されるジョブ毎に、ジョブで使用されるリソースの制限値が、入力データ量と過去の実績とに基づいて設定されており、リソースの制限値は、状況に応じて動的に変化し、最適値となる。
続いて、図2〜図4を用いて、本実施の形態におけるジョブ管理装置の構成について更に具体的に説明する。図2は、本発明の実施の形態におけるジョブ管理装置の全体構成を具体的に示すブロック図である。
図2に示すように、本実施の形態におけるジョブ管理装置10は、上述した、ジョブ実行制御部11、入力データ量確認部12、及びリソース使用量予測部14に加えて、リソース使用量確認部13と、格納部20とを備えている。格納部20には、ジョブ定義格納DB21と、ジョブ実行結果DB22とが構築されている。
ジョブ実行制御部11は、本実施の形態では、ジョブ定義格納DB21からジョブの定義情報を読み出し、ジョブ実行サーバ30におけるジョブの実行を制御する。具体的には、ジョブ実行制御部11は、ジョブの定義に応じてジョブ実行サーバ30のオペレーティングシステム31に、ジョブプロセスの起動及び停止を命令する。
また、ジョブ実行制御部11は、入力データ量確認部12、リソース使用量確認部13、及びリソース使用量予測部14それぞれに処理要求を行う。そして、ジョブ実行制御部11は、これらで得られたデータに基づいて、上述したリソースの制限値の設定、更には、ジョブのリソース制限による制御、例えば、ジョブの保留、ジョブの強制停止等を実施する。
入力データ量確認部12は、上述したように、ジョブ実行制御部11から指定された実行対象となるジョブの入力データ量の確認を行い、その結果を、ジョブ実行制御部11に返却する。また、リソース使用量確認部13は、ジョブ実行制御部11から指定されたジョブの実行中のリソース使用量を確認し、その結果を、ジョブ実行制御部11に返却する。
また、ジョブ実行制御部11は、入力データ量確認部12から返却された入力データ量と、リソース使用量確認部13から返却されたリソース使用量とを、受け取り、これらをジョブ実行結果格納DB22に登録する。
リソース使用量予測部14は、本実施の形態では、ジョブ実行制御部11から指定された実行対象となるジョブについての、過去の入力データ量とリソース使用量とを、ジョブ実行結果格納DB22から参照する。そして、リソース使用量予測部14は、そのジョブが使用する各リソースの入力データ量に対する依存関係を計算する。その後、リソース使用量予測部14は、計算した依存関係を用いて、これから実行するジョブの入力データ量に対するリソース使用量(以下「予測リソース使用量」と表記する。)を計算して、その結果を、ジョブ実行制御部11に返却する。
ジョブ定義格納DB21には、ジョブ毎に、定義情報が登録されている。定義情報には、一般的なジョブの情報、例えば、スクリプトデータ、起動時を示すパラメータ等の情報が含まれている。また、本実施の形態では、定義情報には、図3に示す情報も含まれる。図3に示すように、ジョブ定義格納DB21には、ジョブ毎に、入力データ量の確認手段とリソース使用量の確認手段とが定義情報として登録されている。
図3は、本発明の実施の形態において、ジョブ定義格納データベースに登録されているジョブの定義情報の一例を示す図である。図3に示すように、ジョブ定義格納DB21には、実行対象となるジョブ毎に、入力データの種別と、対象ジョブの入力データ量の確認手段とが定義情報として登録されている。入力データ量の確認手段は、ジョブの用途及び扱うデータによって異なるため、ジョブの定義を作成する際に、ユーザによって入力される。
また、図3に示すように、ジョブ定義格納DB21には、実行対象となるジョブ毎に、使用されるリソースの種別と、リソース使用量の確認手段とが登録されている。リソース使用量の確認手段も、ジョブによって異なるため、ジョブの定義を作成する際に、ユーザによって入力される。
また、ジョブ実行結果格納DB22には、ジョブの実行結果についての一般的な情報、例えば、実行された時刻、終了ステータス等が登録されている。更に、図4に示すように、ジョブ実行結果格納DB22には、ジョブ実行制御部11によって、入力データ量確認部12で確認されたジョブの入力データ量と、リソース使用量確認部13で確認された各種リソース使用量(使用実績値)とが、ジョブの実行の度に実績値として登録される。図4は、本発明の実施の形態において、ジョブ実行結果データベースに登録されている実績値の一例を示す図である。
ところで、図1及び図2に示した例では、実際にジョブが実行される環境は、ジョブ管理装置10とは別のサーバであるが、本実施の形態は、この態様に限定されない。ジョブ管理装置10は、ジョブを実行するサーバのオペレーティングシステム上に構築されていても良い。
[装置動作]
次に、本発明の実施の形態におけるジョブ管理装置10の動作について図5及び図6を用いて説明する。また、以下の説明においては、適宜図1〜図4を参酌する。更に、本実施の形態では、ジョブ管理装置10を動作させることによって、ジョブ管理方法が実施される。よって、本実施の形態におけるジョブ管理方法の説明は、以下のジョブ管理装置10の動作説明に代える。
次に、本発明の実施の形態におけるジョブ管理装置10の動作について図5及び図6を用いて説明する。また、以下の説明においては、適宜図1〜図4を参酌する。更に、本実施の形態では、ジョブ管理装置10を動作させることによって、ジョブ管理方法が実施される。よって、本実施の形態におけるジョブ管理方法の説明は、以下のジョブ管理装置10の動作説明に代える。
また、本実施の形態における特徴は、ジョブの起動時に入力データ量からリソース使用量を見積もってリソースの制限値を動的に決定する点、及び、ジョブの実行中にリソース使用量を監視して値を蓄積する点にある。従って、以下では、これら2つの処理について説明する。
なお、リソース制限値を超えた場合に警告を出力したり、ジョブを強制停止したりすることは、既に公知の技術として行われている仕組みであり、本実施の形態では、説明を省略することとする。また、入力データ量とリソース使用量との依存関係の計算は、十分な量の過去実績としてのデータ量があれば、その依存関係曲線へのフィッティング等により関係式を算出する一般的な技術を用いることで実行できる。従って、依存関係の計算方法の説明についても省略することとする。また、本実施の形態では、前提として、実行対象となるジョブの過去の実績値は、既に十分に蓄積されているものとする。
[装置動作:ジョブ起動時]
図5は、本発明の実施の形態におけるジョブ管理装置のジョブ起動時における動作を示すフロー図である。
図5は、本発明の実施の形態におけるジョブ管理装置のジョブ起動時における動作を示すフロー図である。
まず、ジョブの投入要求が発生すると、図5に示すように、ジョブ実行制御部11が、ジョブ定義格納DB21から、実行対象となるジョブ(以下「対象ジョブ」と表記する。)の定義情報(図3参照)を読み出す(ステップA1)。続いて、ジョブ実行制御部11は、入力データ量確認部12に対して、登録されている対象ジョブの入力データ量確認手段(定義情報)を通知して、入力データ量の確認依頼を行う(ステップA2)。
次に、ステップA2が実行されると、入力データ量確認部12は、通知された入力データ量確認手段を実行し、対象ジョブの入力データ量を確認し(ステップA3)、その結果をジョブ実行制御部11に返却する。
次に、ジョブ実行制御部11は、ジョブ名とステップA3で得られた入力データ量とをリソース使用量予測部14に通知し、今回実行する際のリソース使用量の予測を依頼する(ステップA4)。
なお、ステップA4で利用されるジョブ名は、ジョブ実行結果格納DB22からデータを参照する際に、一意なデータの取得に用いられる、キーとなる情報である。従って、参照するデータを一意に識別できる情報であれば、ジョブ名以外の情報が用いられても良い。
次に、ステップA4が実行されると、リソース使用量予測部14は、ジョブ実行結果格納DB22にアクセスし、ジョブ実行制御部11から通知されたジョブ名に一致する情報を参照する(ステップA5)。
次に、リソース使用量予測部14は、ジョブ名が一致した、入力データ量と各リソースのリソース使用量との依存関係を計算する(ステップA6)。
また、本実施の形態では、対象ジョブの実行直前にジョブ実行制御部11からの依頼を受けてから、依存関係の計算が実行されなくても良い。つまり、依存関係の計算に必要なデータは、事前に格納部20に格納されているので、本実施の形態では、ステップA6の計算処理は、非同期に別のタイミングで実施されていても良い。この場合は、計算された依存関係は、各ジョブのリソース毎に、ジョブ実行結果格納DB22に一緒に登録されているものとする。また、この場合は、ステップA6では、既に登録されている依存関係の参照だけが行なわれることとなる。
次に、リソース使用量予測部14は、ステップA6で得られた依存関係に、ステップA5で通知された対象ジョブの入力データ量を照合して、今回の対象ジョブについてのリソース使用量の予測値を計算する(ステップA7)。そして、リソース使用量予測部14は、その結果をジョブ実行制御部11に返却する。
次に、ジョブ実行制御部11は、返却された対象ジョブの各リソースに対するリソース使用量の予測値を制限値として設定し、ジョブの起動をジョブ実行サーバ30に指示する(ステップA8)。以上のステップA1〜A8の実行により、対象ジョブのリソースの制限値が設定され、更に、ジョブ実行サーバ30において対象ジョブが起動される。
なお、本実施の形態では、ステップA8において制限値を設定する際、ステップA7で得られた予測値をそのまま利用すると、少しでも外れた場合に制限値を超過してしまうことになる。このため、ジョブ実行制御部11は、ある程度の安全率を考慮して予測値を設定することもできる。
[装置動作:ジョブ実行中]
図6は、本発明の実施の形態におけるジョブ管理装置のジョブ実行中における動作を示すフロー図である。
図6は、本発明の実施の形態におけるジョブ管理装置のジョブ実行中における動作を示すフロー図である。
図6に示すように、ジョブ実行制御部11は、ジョブを起動した後、リソース使用量確認部13に対して、対象ジョブのリソース使用量の確認を依頼する(ステップB1)。具体的には、ジョブ実行制御部11は、対象ジョブのプロセスを一意に識別可能な値と、ジョブ定義格納DB21に登録されている対象ジョブのリソース確認手段とを、リソース使用量確認部13に通知する。
また、ステップB1における対象ジョブのプロセスを一意に識別可能な値としては、プロセスID等が挙げられ、これはジョブ起動時にジョブ実行サーバ30から取得される。また、対象ジョブのリソース確認手段は、本実施の形態では、図5に示したステップA1で既に読出されている。
次に、リソース使用量確認部13は、通知された、対象ジョブのプロセスを一意に識別可能な値をキーにして、通知された対象ジョブのリソース確認手段をジョブ実行サーバ30に対して発行し、対象ジョブの各リソースの使用量を確認する(ステップB2)。なお、ステップB2におけるリソースの確認は、一定間隔毎に実行される。
次に、リソース使用量確認部13は、リソース毎に、ステップB2で確認されたリソースの使用量の最大値を特定し、特定した最大値を、ジョブ実行結果格納DB22に登録する(ステップB3)。ステップB3で登録された各最大値は、図5に示したステップA6での計算に利用される。
なお、リソースについては、大別すると、累積的な使用量(例:CPU使用時間)、または、単位時間当たりの使用量(例:CPU使用率)の2つが考えられる。しかし、本発明としては、監視時に記録されたその最大値を実績値として記録することでどちらにでも適用可能となる(つまり、CPU使用時間であれば、ジョブ終了時点での値となり、CPU使用率であれば、最大値を記録したタイミングの値となる)。
[具体例]
ここで、図7〜図10を用いて、上述したジョブ管理装置10の動作の具体例について説明する。図7は、ジョブの定義情報の具体例を示す図である。図8は、ジョブ実行結果格納データベースに登録されている実績値の具体例を示す図である。図9は、入力データ量とCPU使用時間との依存関係の一例を示す図である。図10は、入力データ量とメモリ使用量との依存関係の一例を示す図である。
ここで、図7〜図10を用いて、上述したジョブ管理装置10の動作の具体例について説明する。図7は、ジョブの定義情報の具体例を示す図である。図8は、ジョブ実行結果格納データベースに登録されている実績値の具体例を示す図である。図9は、入力データ量とCPU使用時間との依存関係の一例を示す図である。図10は、入力データ量とメモリ使用量との依存関係の一例を示す図である。
本具体例では、説明を簡単にするため、図7で示すような、1つのジョブとそのジョブが使用する2つのリソース(CPU使用時間、メモリ使用量)とがジョブ定義格納DB21に登録されているとし、このジョブを実行する例を考える。
また、本具体例では、このジョブの過去実績として図8に示す実績値がジョブ実行結果格納DB22に登録されているとする。なお、図8の例は、後述する依存関係性を明確にするため、JOB1(図7)の情報のみに着目して作成されている。また、このため、図8の表現は、図4の表現と異なっている。
更に、図7に示された例では、各確認手段として、一般的なLinux(登録商標)オペレーティングシステムに用意されている、コマンドによる確認手段が記載されているが、本実施の形態はこれに限定されない。
また、図8においては、値の単位は記載されていないが、これはそれぞれの値の依存関係だけが重要となり単位については、揃っていれば問わないためである。なお、図8の例では、ファイルサイズとメモリ使用量とについてはバイト、CPU使用時間については秒が想定されている。
そして、図8に示すデータに基づく、JOB1の入力データ量とCPU使用時間との依存関係は、図9に示す通りとなる。また、図8に示すデータに基づく、JOB1の入力データ量とメモリ使用量との依存関係は、図10に示す通りとなる。
従って、新しくJOB1を実行する場合、入力データ量が2,500,000であるとすると、リソース使用量予測部14は、入力データ量の確認手段を用い、予測リソース使用量を、CPU使用時間については「1,514」、メモリ使用量については「2,489,349」と計算する。
このように、今まで蓄積してきた過去実績よりも大きい入力データ量があった場合に、静的にリソースの制限値が設定されている場合には、その制限を超過してジョブの強制終了等が発生してしまう可能性がある。しかし、本具体例に示すように、本実施の形態では、上記の予測リソース使用量を利用して動的にリソース制限値が変更されるので、このような事態を防ぐことが可能となる。
また、ほぼ同様の例となるため具体的な数値を挙げて説明することはしないが、今まで蓄積してきた過去実績よりも小さい入力データがあった場合には、はるかに大きなリソース制限値を設定してしまうというデメリットを防ぐことができる。
[実施の形態における効果]
静的にリソース制限値を決定している場合、入力データ量が増加して使用するリソース量が増えた場合にジョブの打ち切りが発生してしまう可能性があるが、本実施の形態によれば、これを防ぐことができる。また、静的制限値にかなり余裕を持たせていた場合、その値が大きすぎてそもそも制限値としての意味を成していない、といったデメリットが発生するが、本実施の形態によれば、これを防止することもできる。
静的にリソース制限値を決定している場合、入力データ量が増加して使用するリソース量が増えた場合にジョブの打ち切りが発生してしまう可能性があるが、本実施の形態によれば、これを防ぐことができる。また、静的制限値にかなり余裕を持たせていた場合、その値が大きすぎてそもそも制限値としての意味を成していない、といったデメリットが発生するが、本実施の形態によれば、これを防止することもできる。
また、本実施の形態によれば、予測値を利用した事前抑止または保留を行なうことができる。つまり、本実施の形態によれば、ジョブを実行する直前にそのジョブの予測リソース使用量がわかるので、対象ジョブを実行したときのシステムへの影響を事前に察知でき、実行可能であれば実行させ、影響があれば保留または阻止を行なうことが可能となる。
また、本実施の形態によれば、最適スケジューリングへの指標を提示することができる。つまり、本実施の形態によれば、各ジョブのリソース使用量の上限値が事前に決定され、かつ、そこから大きくずれるようなことは基本的になくなる。このため、各ジョブをどのタイミングで実行すれば空きリソースを極力なくして、かつ、効率的に実行できるかという最適なジョブスケジューリングを行う上での指標を提示することができる。なお、本実施の形態では、空きがあれば実行可能という判断を行うとし、どの程度実行タイミングをずらせば良いかというような最適ジョブスケジューリングの方法については論じない。
[プログラム]
本実施の形態におけるプログラムは、コンピュータに、図5に示すステップA1〜A8、図6に示すステップB1〜B3を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるジョブ管理装置10とジョブ管理方法とを実現することができる。この場合、コンピュータのCPUは、ジョブ実行制御部11、入力データ量確認部12、ソース使用量確認部13及びリソース使用量予測部14として機能し、処理を行なう。また、コンピュータに備えられたハードディスク等の記憶装置は、格納部20として機能する。
本実施の形態におけるプログラムは、コンピュータに、図5に示すステップA1〜A8、図6に示すステップB1〜B3を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるジョブ管理装置10とジョブ管理方法とを実現することができる。この場合、コンピュータのCPUは、ジョブ実行制御部11、入力データ量確認部12、ソース使用量確認部13及びリソース使用量予測部14として機能し、処理を行なう。また、コンピュータに備えられたハードディスク等の記憶装置は、格納部20として機能する。
ここで、本実施の形態におけるプログラムを実行することによって、ジョブ管理装置10を実現するコンピュータについて図11を用いて説明する。図11は、本発明の実施の形態におけるジョブ管理装置を実現するコンピュータの一例を示すブロック図である。
図11に示すように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。
CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記憶媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体が挙げられる。
上述した実施の形態の一部又は全部は、以下に記載する(付記1)〜(付記15)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
バッチ処理におけるジョブを管理するためのジョブ管理装置であって、
実行対象となるジョブの入力データ量を確認する、入力データ量確認部と、
確認された前記入力データ量、及び、既に実行されたジョブにおける入力データ量とリソース使用量との関係を用いて、実行対象となる前記ジョブのリソース使用量を予測する、リソース使用量予測部と、
予測された前記リソース使用量に基づいて、実行対象となる前記ジョブ毎に、当該ジョブで使用されるリソースの制限値を設定する、ジョブ実行制御部と、
を備えている、
ことを特徴とするジョブ管理装置。
バッチ処理におけるジョブを管理するためのジョブ管理装置であって、
実行対象となるジョブの入力データ量を確認する、入力データ量確認部と、
確認された前記入力データ量、及び、既に実行されたジョブにおける入力データ量とリソース使用量との関係を用いて、実行対象となる前記ジョブのリソース使用量を予測する、リソース使用量予測部と、
予測された前記リソース使用量に基づいて、実行対象となる前記ジョブ毎に、当該ジョブで使用されるリソースの制限値を設定する、ジョブ実行制御部と、
を備えている、
ことを特徴とするジョブ管理装置。
(付記2)
実行対象となる前記ジョブが実行された場合に、前記ジョブの実行中のリソース使用量を確認する、リソース使用量確認部と、
前記入力データ量確認部によって確認された前記ジョブの入力データ量と、前記リソース使用量確認部によって確認された前記リソース使用量とを、格納する格納部と、
を更に備え、
前記リソース使用量予測部が、前記格納部に格納されている、前記入力データ量と前記リソース使用量とを用いて、前記関係を求め、求めた前記関係を用いて、実行対象となる前記ジョブのリソース使用量を予測する、
付記1に記載のジョブ管理装置。
実行対象となる前記ジョブが実行された場合に、前記ジョブの実行中のリソース使用量を確認する、リソース使用量確認部と、
前記入力データ量確認部によって確認された前記ジョブの入力データ量と、前記リソース使用量確認部によって確認された前記リソース使用量とを、格納する格納部と、
を更に備え、
前記リソース使用量予測部が、前記格納部に格納されている、前記入力データ量と前記リソース使用量とを用いて、前記関係を求め、求めた前記関係を用いて、実行対象となる前記ジョブのリソース使用量を予測する、
付記1に記載のジョブ管理装置。
(付記3)
前記リソース使用量予測部が、リソースの種類毎に、前記リソース使用量を予測し、
前記ジョブ実行制御部が、リソースの種類毎に、実行対象となる前記ジョブの制限値を設定する、
付記1または2に記載のジョブ管理装置。
前記リソース使用量予測部が、リソースの種類毎に、前記リソース使用量を予測し、
前記ジョブ実行制御部が、リソースの種類毎に、実行対象となる前記ジョブの制限値を設定する、
付記1または2に記載のジョブ管理装置。
(付記4)
前記ジョブ実行制御部が、予測された前記リソース使用量に安全率を適用して、実行対象となる前記ジョブの制限値を設定する、
付記1〜3のいずれかに記載のジョブ管理装置。
前記ジョブ実行制御部が、予測された前記リソース使用量に安全率を適用して、実行対象となる前記ジョブの制限値を設定する、
付記1〜3のいずれかに記載のジョブ管理装置。
(付記5)
実行対象となる前記ジョブ毎に、前記入力データ量を確認するための手段と、前記リソース使用量を確認するための手段とが、予め定義されており、
前記入力データ量確認部が、予め定義された、前記入力データ量を確認するための手段を用いて、前記入力データ量を確認し、
前記リソース使用量確認部が、予め定義された、前記リソース使用量を確認するための手段を用いて、前記リソース使用量を確認する、
付記2に記載のジョブ管理装置。
実行対象となる前記ジョブ毎に、前記入力データ量を確認するための手段と、前記リソース使用量を確認するための手段とが、予め定義されており、
前記入力データ量確認部が、予め定義された、前記入力データ量を確認するための手段を用いて、前記入力データ量を確認し、
前記リソース使用量確認部が、予め定義された、前記リソース使用量を確認するための手段を用いて、前記リソース使用量を確認する、
付記2に記載のジョブ管理装置。
(付記6)
バッチ処理におけるジョブを管理するための方法であって、
(a)実行対象となるジョブの入力データ量を確認する、ステップと、
(b)確認された前記入力データ量、及び、既に実行されたジョブにおける入力データ量とリソース使用量との関係を用いて、実行対象となる前記ジョブのリソース使用量を予測する、ステップと、
(c)予測された前記リソース使用量に基づいて、実行対象となる前記ジョブ毎に、当該ジョブで使用されるリソースの制限値を設定する、ステップと、
を有することを特徴とするジョブ管理方法。
バッチ処理におけるジョブを管理するための方法であって、
(a)実行対象となるジョブの入力データ量を確認する、ステップと、
(b)確認された前記入力データ量、及び、既に実行されたジョブにおける入力データ量とリソース使用量との関係を用いて、実行対象となる前記ジョブのリソース使用量を予測する、ステップと、
(c)予測された前記リソース使用量に基づいて、実行対象となる前記ジョブ毎に、当該ジョブで使用されるリソースの制限値を設定する、ステップと、
を有することを特徴とするジョブ管理方法。
(付記7)
(d)実行対象となる前記ジョブが実行された場合に、前記ジョブの実行中のリソース使用量を確認する、ステップと、
(e)前記(a)のステップで確認された前記ジョブの入力データ量と、前記(d)のステップで確認された前記リソース使用量とを、格納する、ステップと、
を更に備え、
前記(b)のステップにおいて、前記(e)のステップで格納されている、前記入力データ量と前記リソース使用量とを用いて、前記関係を求め、求めた前記関係を用いて、実行対象となる前記ジョブのリソース使用量を予測する、
付記6に記載のジョブ管理方法。
(d)実行対象となる前記ジョブが実行された場合に、前記ジョブの実行中のリソース使用量を確認する、ステップと、
(e)前記(a)のステップで確認された前記ジョブの入力データ量と、前記(d)のステップで確認された前記リソース使用量とを、格納する、ステップと、
を更に備え、
前記(b)のステップにおいて、前記(e)のステップで格納されている、前記入力データ量と前記リソース使用量とを用いて、前記関係を求め、求めた前記関係を用いて、実行対象となる前記ジョブのリソース使用量を予測する、
付記6に記載のジョブ管理方法。
(付記8)
前記(b)のステップで、リソースの種類毎に、前記リソース使用量を予測し、
前記(c)のステップで、リソースの種類毎に、実行対象となる前記ジョブの制限値を設定する、
付記6または7に記載のジョブ管理方法。
前記(b)のステップで、リソースの種類毎に、前記リソース使用量を予測し、
前記(c)のステップで、リソースの種類毎に、実行対象となる前記ジョブの制限値を設定する、
付記6または7に記載のジョブ管理方法。
(付記9)
前記(c)のステップで、予測された前記リソース使用量に安全率を適用して、実行対象となる前記ジョブの制限値を設定する、
付記6〜8のいずれかに記載のジョブ管理方法。
前記(c)のステップで、予測された前記リソース使用量に安全率を適用して、実行対象となる前記ジョブの制限値を設定する、
付記6〜8のいずれかに記載のジョブ管理方法。
(付記10)
実行対象となる前記ジョブ毎に、前記入力データ量を確認するための手段と、前記リソース使用量を確認するための手段とが、予め定義されており、
前記(a)のステップで、予め定義された、前記入力データ量を確認するための手段を用いて、前記入力データ量を確認し、
前記(d)のステップで、予め定義された、前記リソース使用量を確認するための手段を用いて、前記リソース使用量を確認する、
付記7に記載のジョブ管理方法。
実行対象となる前記ジョブ毎に、前記入力データ量を確認するための手段と、前記リソース使用量を確認するための手段とが、予め定義されており、
前記(a)のステップで、予め定義された、前記入力データ量を確認するための手段を用いて、前記入力データ量を確認し、
前記(d)のステップで、予め定義された、前記リソース使用量を確認するための手段を用いて、前記リソース使用量を確認する、
付記7に記載のジョブ管理方法。
(付記11)
コンピュータによって、バッチ処理におけるジョブを管理するためのプログラムであって、
前記コンピュータに、
(a)実行対象となるジョブの入力データ量を確認する、ステップと、
(b)確認された前記入力データ量、及び、既に実行されたジョブにおける入力データ量とリソース使用量との関係を用いて、実行対象となる前記ジョブのリソース使用量を予測する、ステップと、
(c)予測された前記リソース使用量に基づいて、実行対象となる前記ジョブ毎に、当該ジョブで使用されるリソースの制限値を設定する、ステップと、
を実行させるプログラム。
コンピュータによって、バッチ処理におけるジョブを管理するためのプログラムであって、
前記コンピュータに、
(a)実行対象となるジョブの入力データ量を確認する、ステップと、
(b)確認された前記入力データ量、及び、既に実行されたジョブにおける入力データ量とリソース使用量との関係を用いて、実行対象となる前記ジョブのリソース使用量を予測する、ステップと、
(c)予測された前記リソース使用量に基づいて、実行対象となる前記ジョブ毎に、当該ジョブで使用されるリソースの制限値を設定する、ステップと、
を実行させるプログラム。
(付記12)
(d)実行対象となる前記ジョブが実行された場合に、前記ジョブの実行中のリソース使用量を確認する、ステップと、
(e)前記(a)のステップで確認された前記ジョブの入力データ量と、前記(d)のステップで確認された前記リソース使用量とを、格納する、ステップと、
を更に前記コンピュータ実行させ、
前記(b)のステップにおいて、前記(e)のステップで格納されている、前記入力データ量と前記リソース使用量とを用いて、前記関係を求め、求めた前記関係を用いて、実行対象となる前記ジョブのリソース使用量を予測する、
付記11に記載のプログラム。
(d)実行対象となる前記ジョブが実行された場合に、前記ジョブの実行中のリソース使用量を確認する、ステップと、
(e)前記(a)のステップで確認された前記ジョブの入力データ量と、前記(d)のステップで確認された前記リソース使用量とを、格納する、ステップと、
を更に前記コンピュータ実行させ、
前記(b)のステップにおいて、前記(e)のステップで格納されている、前記入力データ量と前記リソース使用量とを用いて、前記関係を求め、求めた前記関係を用いて、実行対象となる前記ジョブのリソース使用量を予測する、
付記11に記載のプログラム。
(付記13)
前記(b)のステップで、リソースの種類毎に、前記リソース使用量を予測し、
前記(c)のステップで、リソースの種類毎に、実行対象となる前記ジョブの制限値を設定する、
付記11または12に記載のプログラム。
前記(b)のステップで、リソースの種類毎に、前記リソース使用量を予測し、
前記(c)のステップで、リソースの種類毎に、実行対象となる前記ジョブの制限値を設定する、
付記11または12に記載のプログラム。
(付記14)
前記(c)のステップで、予測された前記リソース使用量に安全率を適用して、実行対象となる前記ジョブの制限値を設定する、
付記11〜13のいずれかに記載のプログラム。
前記(c)のステップで、予測された前記リソース使用量に安全率を適用して、実行対象となる前記ジョブの制限値を設定する、
付記11〜13のいずれかに記載のプログラム。
(付記15)
実行対象となる前記ジョブ毎に、前記入力データ量を確認するための手段と、前記リソース使用量を確認するための手段とが、予め定義されており、
前記(a)のステップで、予め定義された、前記入力データ量を確認するための手段を用いて、前記入力データ量を確認し、
前記(d)のステップで、予め定義された、前記リソース使用量を確認するための手段を用いて、前記リソース使用量を確認する、
付記12に記載のプログラム。
実行対象となる前記ジョブ毎に、前記入力データ量を確認するための手段と、前記リソース使用量を確認するための手段とが、予め定義されており、
前記(a)のステップで、予め定義された、前記入力データ量を確認するための手段を用いて、前記入力データ量を確認し、
前記(d)のステップで、予め定義された、前記リソース使用量を確認するための手段を用いて、前記リソース使用量を確認する、
付記12に記載のプログラム。
以上のように本発明によれば、ジョブで使用されるリソースの制限値を、状況に応じて動的に変化させて最適値とすることができる。本発明は、バッチ処理等によってジョブを実行するコンピュータシステムに有用である。
10 ジョブ管理装置
11 ジョブ実行制御部
12 入力データ量確認部
13 リソース使用量確認部
14 リソース使用量予測部
20 格納部
30 ジョブ実行サーバ
31 オペレーティングシステム
40 ネットワーク
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
11 ジョブ実行制御部
12 入力データ量確認部
13 リソース使用量確認部
14 リソース使用量予測部
20 格納部
30 ジョブ実行サーバ
31 オペレーティングシステム
40 ネットワーク
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
Claims (4)
- バッチ処理におけるジョブを管理するためのジョブ管理装置であって、
実行対象となるジョブの入力データ量を確認する、入力データ量確認部と、
確認された前記入力データ量、及び、既に実行されたジョブにおける入力データ量とリソース使用量との関係を用いて、実行対象となる前記ジョブのリソース使用量を予測する、リソース使用量予測部と、
予測された前記リソース使用量に基づいて、実行対象となる前記ジョブ毎に、当該ジョブで使用されるリソースの制限値を設定する、ジョブ実行制御部と、
実行対象となる前記ジョブが実行された場合に、前記ジョブの実行中のリソース使用量を確認する、リソース使用量確認部と、
前記入力データ量確認部によって確認された前記ジョブの入力データ量と、前記リソース使用量確認部によって確認された前記リソース使用量と、前記ジョブ毎の定義情報とを、格納する格納部と、
を備え、
前記定義情報には、実行対象となる前記ジョブ毎に、前記入力データ量を確認するための手段と、前記リソース使用量を確認するための手段とが、予め定義されており、
前記入力データ量確認部が、前記定義情報に定義された、前記入力データ量を確認するための手段を用いて、前記入力データ量を確認し、
前記リソース使用量確認部が、前記定義情報に定義された、前記リソース使用量を確認するための手段を用いて、前記リソース使用量を確認し、
前記リソース使用量予測部は、リソースの種類毎に、前記格納部に格納されている、前記入力データ量と前記リソース使用量とを用いて、前記関係を求め、
求めた前記関係を用いて、リソースの種類毎に、実行対象となる前記ジョブのリソース使用量を予測し、
前記ジョブ実行制御部は、リソースの種類毎に、実行対象となる前記ジョブの制限値を設定する、
ことを特徴とするジョブ管理装置。 - 前記ジョブ実行制御部が、予測された前記リソース使用量に安全率を適用して、実行対象となる前記ジョブの制限値を設定する、
請求項1に記載のジョブ管理装置。 - バッチ処理におけるジョブを管理するための方法であって、
(a)実行対象となるジョブの入力データ量を確認する、ステップと、
(b)確認された前記入力データ量、及び、既に実行されたジョブにおける入力データ量とリソース使用量との関係を用いて、実行対象となる前記ジョブのリソース使用量を予測する、ステップと、
(c)予測された前記リソース使用量に基づいて、実行対象となる前記ジョブ毎に、当該ジョブで使用されるリソースの制限値を設定する、ステップと、
(d)実行対象となる前記ジョブが実行された場合に、前記ジョブの実行中のリソース使用量を確認する、ステップと、
(e)前記(a)のステップによって確認された前記ジョブの入力データ量と、前記(d)のステップによって確認された前記リソース使用量と、前記ジョブ毎の定義情報とを、格納する、ステップと、
を有し、
前記定義情報には、実行対象となる前記ジョブ毎に、前記入力データ量を確認するための手段と、前記リソース使用量を確認するための手段とが、予め定義されており、
前記(a)のステップにおいて、前記定義情報に定義された、前記入力データ量を確認するための手段を用いて、前記入力データ量を確認し、
前記(d)のステップにおいて、前記定義情報に定義された、前記リソース使用量を確認するための手段を用いて、前記リソース使用量を確認し、
前記(b)のステップにおいて、リソースの種類毎に、前記格納部に格納されている、前記入力データ量と前記リソース使用量とを用いて、前記関係を求め、
求めた前記関係を用いて、リソースの種類毎に、実行対象となる前記ジョブのリソース使用量を予測し、
前記(c)のステップにおいて、リソースの種類毎に、実行対象となる前記ジョブの制限値を設定する、
ことを特徴とするジョブ管理方法。 - コンピュータによって、バッチ処理におけるジョブを管理するためのプログラムであって、
前記コンピュータに、
(a)実行対象となるジョブの入力データ量を確認する、ステップと、
(b)確認された前記入力データ量、及び、既に実行されたジョブにおける入力データ量とリソース使用量との関係を用いて、実行対象となる前記ジョブのリソース使用量を予測する、ステップと、
(c)予測された前記リソース使用量に基づいて、実行対象となる前記ジョブ毎に、当該ジョブで使用されるリソースの制限値を設定する、ステップと、
(d)実行対象となる前記ジョブが実行された場合に、前記ジョブの実行中のリソース使用量を確認する、ステップと、
(e)前記(a)のステップによって確認された前記ジョブの入力データ量と、前記(d)のステップによって確認された前記リソース使用量と、前記ジョブ毎の定義情報とを、格納する、ステップと、
を実行させ、
前記定義情報には、実行対象となる前記ジョブ毎に、前記入力データ量を確認するための手段と、前記リソース使用量を確認するための手段とが、予め定義されており、
前記(a)のステップにおいて、前記定義情報に定義された、前記入力データ量を確認するための手段を用いて、前記入力データ量を確認し、
前記(d)のステップにおいて、前記定義情報に定義された、前記リソース使用量を確認するための手段を用いて、前記リソース使用量を確認し、
前記(b)のステップにおいて、リソースの種類毎に、前記格納部に格納されている、前記入力データ量と前記リソース使用量とを用いて、前記関係を求め、
求めた前記関係を用いて、リソースの種類毎に、実行対象となる前記ジョブのリソース使用量を予測し、
前記(c)のステップにおいて、リソースの種類毎に、実行対象となる前記ジョブの制限値を設定する、プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013063241A JP6268731B2 (ja) | 2013-03-26 | ジョブ管理装置、ジョブ管理方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013063241A JP6268731B2 (ja) | 2013-03-26 | ジョブ管理装置、ジョブ管理方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014191360A JP2014191360A (ja) | 2014-10-06 |
JP6268731B2 true JP6268731B2 (ja) | 2018-01-31 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230359516A1 (en) | Query watchdog | |
JP7189997B2 (ja) | 仮想コンピュータリソースのスケジューリングのためのローリングリソースクレジット | |
US10083094B1 (en) | Objective based backup job scheduling | |
US8621477B2 (en) | Real-time monitoring of job resource consumption and prediction of resource deficiency based on future availability | |
US10558544B2 (en) | Multiple modeling paradigm for predictive analytics | |
WO2019148727A1 (zh) | 电子装置、基于redis的异常预警方法及存储介质 | |
CN110109741B (zh) | 循环任务的管理方法、装置、电子设备及存储介质 | |
KR20150001146A (ko) | 스토리지 시스템 및 그의 동작 방법 | |
KR101212496B1 (ko) | 모니터링 자원의 사용량 표현 방법, 컴퓨팅 장치 및 그 방법을 실행시키기 위한 프로그램을 기록한 기록 매체 | |
JP2016224883A (ja) | 異常検出方法、情報処理装置および異常検出プログラム | |
JP3828112B2 (ja) | 処理の実行を制御するスケジューリング方法およびシステム | |
JP6229733B2 (ja) | 情報処理装置、方法、プログラム及び記録媒体 | |
US9430306B2 (en) | Anticipatory protection of critical jobs in a computing system | |
JP6268731B2 (ja) | ジョブ管理装置、ジョブ管理方法、及びプログラム | |
JP5884566B2 (ja) | バッチ処理システム、進捗状況確認装置、進捗状況確認方法、及びプログラム | |
JP2014191360A (ja) | ジョブ管理装置、ジョブ管理方法、及びプログラム | |
US20170168867A1 (en) | Information processing system and control method | |
US9069888B2 (en) | Tracking errors in a computing system | |
JP6885441B2 (ja) | ライセンス管理装置、ライセンス管理方法、及び、ライセンス管理プログラム | |
WO2018097877A1 (en) | Window deviation analyzer | |
CN115840635A (zh) | 计算资源管理方法、电子设备和程序产品 | |
JP2016224725A (ja) | バックアップ処理装置、バックアップ処理方法、およびプログラム | |
US11068819B1 (en) | Automated capacity planning in mixed data storage environment | |
JP2018106387A (ja) | 情報処理システム、その制御方法及びプログラム | |
JP4155403B2 (ja) | システム構成制御方法及びその処理プログラム並びにその実施システム |