JP7331386B2 - Job control system, method and program - Google Patents
Job control system, method and program Download PDFInfo
- Publication number
- JP7331386B2 JP7331386B2 JP2019039513A JP2019039513A JP7331386B2 JP 7331386 B2 JP7331386 B2 JP 7331386B2 JP 2019039513 A JP2019039513 A JP 2019039513A JP 2019039513 A JP2019039513 A JP 2019039513A JP 7331386 B2 JP7331386 B2 JP 7331386B2
- Authority
- JP
- Japan
- Prior art keywords
- combination
- job
- resource
- allocation
- resource allocation
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Description
本開示は、ジョブ制御システム、方法、及びプログラムに関し、更に詳しくは、入力データに対するジョブの実行を制御するジョブ制御システム、方法、及びプログラムに関する。 TECHNICAL FIELD The present disclosure relates to a job control system, method, and program, and more particularly to a job control system, method, and program that control execution of jobs on input data.
一般的なバッチ処理の運用として、ジョブ管理システムなどを用いてスケジュールに基づいてバッチ処理を順次稼働していく方法が知られている。このようなバッチ処理の運用では、一定のリソースで処理を行うと、日々の入力データ量の違いなどに起因して、処理時間が変動する。バッチ処理の運用では、入力データ量に変動が生じても、必要となるリソースを確保して、予定終了時刻までに処理を終了させることが重要である。 As a general batch processing operation, a method of sequentially operating batch processing based on a schedule using a job management system or the like is known. In the operation of such batch processing, if processing is performed using a fixed resource, the processing time varies due to differences in the amount of input data on a daily basis. In the operation of batch processing, even if the amount of input data fluctuates, it is important to secure the necessary resources and complete the processing by the scheduled end time.
関連技術として、特許文献1は、バッチ制御システムを開示する。特許文献1に記載のバッチ制御システムにおいて、監視部は、第1仮想計算機による第1バッチ処理の実行の際のリソース使用量と処理時間を監視し、最大リソース使用量と最大処理時間を取得する。予測部は、最大リソース使用量及び最大処理時間の傾向から、第1仮想計算機による第2バッチ処理の実行の際のリソース使用量と処理時間とを予測する。制御部は、予測されたリソース使用量と予測された処理時間とに応じて、第2バッチ処理の実行を制御する。
As a related technique,
また、別の関連技術として、特許文献2は、ジョブ実行方法を開示する。特許文献2では、ネットワーク接続された複数のコンピュータを用いて、任意のタスク数に分割可能なジョブが実行される。特許文献2において、複数のコンピュータの中の1つのコンピュータは、ジョブのタスクを所定時間処理する。コンピュータは、所定時間におけるタスク処理の進捗率を算出し、進捗率及び所定時間に基づいて、1つのコンピュータでのタスク処理の完了時間を推定する。
As another related technique,
コンピュータは、推定した完了時間がジョブの要求項目を満たすか否かを判定する。コンピュータは、例えばジョブのデッドライン時刻(実行終了希望時刻)までの残余時間が、推定した完了時間より長い場合、要求項目が満たされないと判定する。要求項目が満たされる場合、残りのタスクは1つのコンピュータを用いて実行される。要求項目が満たされる場合、タスクの一部を他のコンピュータに移動し、他のコンピュータで一部のタスクを実行させる。 The computer determines whether the estimated completion time satisfies the job requirements. For example, when the remaining time until the deadline time (desired execution end time) of the job is longer than the estimated completion time, the computer determines that the requirements are not satisfied. If the requirements are met, the remaining tasks are performed using one computer. If the requirements are met, move some of the tasks to other computers and have the other computers perform some of the tasks.
近年、クラウドコンピューティングの利用が広まっており、バッチ処理についてもクラウド上で実施することが増えてきている。クラウドコンピューティング上でバッチ処理を実施する場合、リソースの割当量を増加させるほど、コストが掛かかる。このため、コストを抑えるために、リソースを必要な分だけ無駄なく割り当てることが重要である。 In recent years, the use of cloud computing has spread, and batch processing has also been increasingly performed on the cloud. When performing batch processing on cloud computing, the more resources are allocated, the higher the cost. Therefore, in order to keep costs down, it is important to allocate the necessary amount of resources without waste.
しかしながら、特許文献1は、物理サーバ上でのリソース管理を前提としている。特許文献1では、リソース使用率として、常に過去実績から導きだされる最高値又は平均値が予測値として利用される。バッチ処理は必ずしも処理時間が単純な増加傾向や減少傾向を示すとは限らず、バッチ処理の入力データ量は、日に応じてばらつきがあり得る。このため、日に応じて、必要となるリソース量が変動する場合がある。特許文献1に記載のシステムにおいて、例えば最高値を予測値としてスケール調整が行われると、入力データ量が少ない場合は無駄なコストがかかるという問題がある。また、平均値を予測値として利用した場合、入力データ量が多い場合に使用するリソース量が割り当てたリソース量を超え、予定終了時刻までに処理が終わらない問題がある。
However,
特許文献2については、推定した完了時間がジョブの要求項目を満たす場合は、1つのコンピュータで残りの全タスクが実行される。この場合に、リソース量が、タスク数に対して過剰である場合があり得る。このため、バッチ処理においてデータ量が少ない場合には、リソースを必要な分だけ無駄なく割り当てることができず、コストを抑えることができない。 With respect to US Pat. No. 6,200,000, if the estimated completion time satisfies the requirements of the job, all remaining tasks are executed on one computer. In this case, the amount of resources may be excessive for the number of tasks. For this reason, when the amount of data is small in batch processing, it is not possible to allocate the required amount of resources without waste, and the cost cannot be reduced.
本開示は、上記事情に鑑み、コストを抑えつつ、時間内に処理を終えることができるジョブ制御システム、方法、及びプログラムを提供することを目的とする。 In view of the circumstances described above, the present disclosure aims to provide a job control system, method, and program capable of finishing processing within time while keeping costs down.
上記目的を達成するため、本開示は、2以上のリソースの割当量が変更可能に構成された仮想マシンに、入力データに対するジョブを実行させるジョブ実行制御手段と、前記リソースの割当量の組み合わせと所定単位の入力データでの処理時間とを含む実行結果データ、前記入力データのデータ量、及び予定終了時刻に基づいて、前記予定終了時刻までに前記ジョブが終わり、かつ、前記リソースの割当量の組み合わせに基づいて定まるコストが最小となる前記リソースの割当量の組み合わせを予測する割当てリソース予測手段とを備え、前記ジョブ実行制御手段は、前記仮想マシンのリソースの割当量を前記予測されたリソースの割当量の組み合わせに制御するジョブ制御システムを提供する。 In order to achieve the above object, the present disclosure provides job execution control means for causing a virtual machine configured such that two or more resource allocation amounts can be changed to execute a job for input data, and a combination of the resource allocation amounts. Based on the execution result data including the processing time for the input data in a predetermined unit, the data amount of the input data, and the scheduled end time, the job is completed by the scheduled end time and the resource allocation amount is reached. allocation resource prediction means for predicting a combination of the resource allocation amounts that minimizes the cost determined based on the combination, wherein the job execution control means adjusts the resource allocation amount of the virtual machine according to the predicted resource allocation amount; A job control system is provided that controls the combination of quotas.
本開示は、2以上のリソースの割当量が変更可能に構成された仮想マシンにおける前記リソースの割当量の組み合わせと所定単位の入力データでの処理時間とを含む実行結果データ、前記仮想マシンで実行されるジョブの対象となる入力データのデータ量、及び予定終了時刻に基づいて、前記予定終了時刻までに前記ジョブが終わり、かつ、前記リソースの割当量の組み合わせに基づいて定まるコストが最小となる前記リソースの割当量の組み合わせを予測し、前記仮想マシンのリソースの割当量を前記予測されたリソースの割当量の組み合わせに制御し、前記仮想マシンに、前記入力データに対するジョブを実行させるジョブ制御方法を提供する。 The present disclosure provides execution result data including a combination of the resource allocation amounts in a virtual machine configured such that the allocation amount of two or more resources can be changed, and a processing time for input data in a predetermined unit, and execution in the virtual machine. Based on the amount of input data to be processed by the job and the scheduled end time, the job will be completed by the scheduled end time, and the cost determined based on the combination of the resource allocation amounts will be minimized. A job control method for predicting a combination of the resource allocation amounts, controlling the resource allocation amount of the virtual machine to the predicted combination of the resource allocation amounts, and causing the virtual machine to execute a job for the input data. I will provide a.
本開示は、2以上のリソースの割当量が変更可能に構成された仮想マシンにおける前記リソースの割当量の組み合わせと所定単位の入力データでの処理時間とを含む実行結果データ、前記仮想マシンで実行されるジョブの対象となる入力データのデータ量、及び予定終了時刻に基づいて、前記予定終了時刻までに前記ジョブが終わり、かつ、前記リソースの割当量の組み合わせに基づいて定まるコストが最小となる前記リソースの割当量の組み合わせを予測し、前記仮想マシンのリソースの割当量を前記予測されたリソースの割当量の組み合わせに制御し、前記仮想マシンに、前記入力データに対するジョブを実行させるための処理をコンピュータに実行させるためのプログラムを提供する。 The present disclosure provides execution result data including a combination of the resource allocation amounts in a virtual machine configured such that the allocation amount of two or more resources can be changed, and a processing time for input data in a predetermined unit, and execution in the virtual machine. Based on the amount of input data to be processed by the job and the scheduled end time, the job will be completed by the scheduled end time, and the cost determined based on the combination of the resource allocation amounts will be minimized. A process for predicting a combination of the resource allocation amounts, controlling the resource allocation amount of the virtual machine to the predicted combination of the resource allocation amounts, and causing the virtual machine to execute a job on the input data. provides a program for causing a computer to execute
本開示に係るジョブ制御システム、方法、及びプログラムは、コストを抑えつつ、時間内に処理を終えるようにジョブを制御することができる。 A job control system, method, and program according to the present disclosure can control a job so as to finish processing within a time while keeping costs down.
本開示の実施の形態の説明に先立ち、本開示の概要を説明する。図1は、本開示に係るジョブ制御システムの概略的に示す。ジョブ制御システム10は、ジョブ実行制御手段11、及び割当てリソース予測手段12を有する。ジョブ実行制御手段11は、仮想マシン20に、入力データに対するジョブを実行させる。仮想マシン20は、2以上のリソース割当量が変更可能に構成される。仮想マシン20において、コストは、リソースの割当量の組み合わせに基づいて定まる。
An outline of the present disclosure will be described prior to description of the embodiments of the present disclosure. FIG. 1 schematically illustrates a job control system according to the present disclosure. The
実行結果データ15は、仮想マシン20におけるリソースの割当量の組み合わせと所定単位量の入力データでの処理時間とを含む。割当てリソース予測手段12は、実行結果データ15、入力データのデータ量、及び予定終了時刻に基づいて、予定終了時刻までにジョブが終わり、かつ、コストが最小となるリソースの割当量の組み合わせを予測する。ジョブ実行制御手段11は、仮想マシンのリソースの割当量を、予測されたリソースの割当量の組み合わせに制御する。
The
本実施形態では、実行結果データ15は、リソースの割当量の組み合わせと所定単位量の入力データでの処理時間と含む。割当てリソース予測手段12は、実行結果データ15を参照することで、リソースの割当量の組み合わせごとに、入力データの処理にどれだけ時間が必要かを見積もることができる。割当てリソース予測手段12は、予定終了時刻までに入力データの処理を終えることができるリソースの割当量の組み合わせのうち、コストが最小となる組み合わせを予測する。ジョブ実行制御手段11は、仮想マシン20のリソースの割当量を予測された組み合わせに制御し、入力データに対するジョブを実行させる。このようにすることで、クラウドコンピューティングなどを利用する場合などにおいて、仮想マシン20に対する無駄がないリソース割り当てを実現でき、ジョブ実行のコストを抑えることができる。
In this embodiment, the
以下、図面を参照して本開示の実施の形態を説明する。図2は、本開示の一実施形態に係るジョブ制御システムを含むシステム全体を示す。システム100は、ジョブ制御システム110、及びジョブ実行システム150を有する。ジョブ制御システム110は、バッチ処理などのジョブの実行を制御する。ジョブ実行システム150は、ジョブプロセスの実行を行う。システム100において、ジョブ制御システム110はマネージャとして構成され、ジョブ実行システム150はエージェントとして構成され得る。
Embodiments of the present disclosure will be described below with reference to the drawings. FIG. 2 shows an overall system including a job control system according to one embodiment of the present disclosure.
ジョブ実行システム150は、入力データ151、ジョブプロセス152、及びOS(Operating System)153を含む。ジョブ実行システム150は、仮想化基盤200上の仮想マシンやコンテナとして構成される。仮想化基盤200において、ジョブ実行システム150に割り当てられるリソースは、仮想化基盤160によって、ジョブ実行システム150の稼働中に変更可能に構成される。ジョブ実行システム150のコストは、各リソースの割当量に応じて定まる。ジョブ実行システム150は、図1の仮想マシン20に対応する。
The
図3は、対象リソースの設定可能値とコストとの例を示す。ここでは、対象リソースとして、CPU(Central Processing Unit)とディスクとを考える。CPUは、最低速(1)、低速(2)、通常(3)、高速(4)、及び最高速(5)の5段階でリソース割当てが可能であるとする。CPUのリソース割当て(設定値)が最高速(5)の場合のコストは最大の100で、最低速(1)の場合のコストは最小値の10であるとする。また、ディスクは、最低速(1)、低速(2)、通常(3)、高速(4)、及び最高速(5)の5段階でリソース割当てが可能であるとする。ディスクのリソース割当てが最高速(5)の場合のコストは最大の30で、最低速(1)の場合のコストは最小の10である。 FIG. 3 shows an example of configurable values and costs for target resources. Here, CPUs (Central Processing Units) and disks are considered as target resources. It is assumed that the CPU can allocate resources in five stages: lowest speed (1), low speed (2), normal (3), high speed (4), and highest speed (5). Assume that the maximum cost is 100 when the CPU resource allocation (setting value) is the highest speed (5), and the minimum cost is 10 when the lowest speed (1). It is also assumed that the disk can be allocated resources in five stages: lowest speed (1), low speed (2), normal (3), high speed (4), and highest speed (5). The fastest disk resource allocation (5) has a maximum cost of 30, and the slowest (1) has a minimum cost of 10.
例えば、CPUに対するリソース割当てが最高速(5)で、かつディスクに対するリソース割当てが最高速(5)である場合、コストは最大の130となる。一方、CPUに対するリソース割当てが最低速(1)で、かつディスクに対するリソース割当てが最低速(1)の場合、コストは最小の20となる。ジョブの処理に要する時間は、CPU及びディスクの設定値の組み合わせに応じて変化する。各リソースに対するリソースの割当てが最大の場合、コストは最も高いものの、処理を短時間で終えることができる。一方、各リソースに対するリソースの割当てが最小の場合、コストは最も低くできるものの、処理に要する時間が長くなる。 For example, if the resource allocation for the CPU is the fastest (5) and the resource allocation for the disk is the fastest (5), the maximum cost is 130. On the other hand, if the resource allocation for the CPU is the slowest (1) and the resource allocation for the disk is the slowest (1), the cost is the lowest 20. The time required to process a job varies depending on the combination of CPU and disk setting values. If the allocation of resources to each resource is the maximum, the cost is the highest, but the processing can be completed in a short time. On the other hand, if the allocation of resources to each resource is minimal, the cost is the lowest, but the processing time is long.
ジョブ実行システム150において、入力データ151はジョブプロセス152に与えられる。入力データ151は、レコード単位などで区切って処理することが可能データである。ジョブプロセス152は、レコード単位で入力データ151に対して所定の処理を実行する。レコード単位は、ジョブプロセス152が処理を実行する最小単位に対応する。ジョブ実行システム150において、一度に起動されるジョブプロセス152は、単一のジョブプロセスであるとする。
In
ジョブ制御システム110は、ジョブ定義データ記憶部111、入力データ確認部112、ジョブ実行制御部113、割当てリソース予測部114、及び実行結果データ記憶部115を有する。ジョブ制御システム110は、図1のジョブ制御システム10に対応する。
The
ジョブ定義データ記憶部111は、ジョブに関する定義情報(ジョブ定義データ)を保存する。ジョブ定義データの内容の少なくとも一部は、ユーザにより事前に定義されている。ジョブ定義データは、例えば、実行するバッチ処理、入力データの情報、及び予定終了時刻を含む。ジョブ定義データは、更に、システム側で生成された、過去実績を検索するためのジョブの定義データのID、及び、最後に実行されてから実行するバッチ処理が変更されたか否かの情報を含む。
The job definition
入力データの情報は、例えば、入力データ151の総量の確認コマンド、最後の処理データを元にした次回の最小単位の入力データの取得コマンド、及び、最後の処理データを元にした残り入力データの取得コマンドを含む。入力データの情報については、入力データに応じてコマンドが異なると予想されるため、ジョブ定義データにおいて、ユーザがそれぞれのコマンドを指定するものとする。
The input data information includes, for example, a command for confirming the total amount of the
図4は、入力データの一例を示す。この例において、入力データは、「id」、「名前」、「部門」、「性別」、及び「年齢」の各フィールドを有する。例として、図4に示されるようなMySQLのテーブルを入力データ151とした場合、ジョブ定義データにおいて、下記のようなSQLコマンドが、入力データの情報として定義される。
入力データ総量の確認コマンドの例:
mysql -u user -p passwd db -e'SELECT COUNT(*) TABLE1'
最後の処理データを元にした次回の最小単位の入力データ取得コマンドの例:
mysql -u user -p passwd db -e'SELECT * FROM TABLE1 LIMIT 1 OFFSET <最後の処理データの番号>'
最後の処理データを元にした残り入力データの取得コマンドの例:
mysql -u user -p passwd db -e'SELECT * FROM TABLE1 OFFSET <最後の処理データの番号>'
FIG. 4 shows an example of input data. In this example, the input data has fields of "id", "name", "department", "gender", and "age". As an example, when a MySQL table as shown in FIG. 4 is used as the
An example of a check command for the total amount of input data:
mysql -u user -p passwd db -e 'SELECT COUNT(*) TABLE1'
An example of the next granular input data acquisition command based on the last processed data:
mysql -u user -p passwd db -e 'SELECT * FROM
Example command to get remaining input data based on last processed data:
mysql -u user -p passwd db -e 'SELECT * FROM TABLE1 OFFSET <Number of last processed data>'
図2に戻り、入力データ確認部112は、ジョブの入力データ151の総量を確認する。ジョブ実行制御部113は、ジョブプロセス152において実行されるジョブを制御する。また、ジョブ実行制御部113は、仮想化基盤160に対し、ジョブ実行システム150のリソース割当ての変更依頼などを行う。ジョブ実行制御部113は、図1のジョブ実行制御手段11に対応する。
Returning to FIG. 2, the input
実行結果データ記憶部115は、各リソースの割当量、及び単位入力あたりの処理時間などの情報を含むジョブの実行結果(実行結果データ)を記憶する。割当てリソース予測部114は、ジョブ実行システム150への割当てリソース量を予測する。より詳細には、割当てリソース予測部114は、実行結果データ、入力データ151のデータ量、及び予定終了時刻に基づいて、予定終了時刻までに処理が終わり、かつ、コストが最小となるリソースの割当量の組み合わせを予測する。実行結果データ記憶部115に記憶される実行結果データは図1の実行結果データ15に対応する。割当てリソース予測部114は、図1の割当てリソース予測手段12に対応する。
The execution result
実行結果データ記憶部115は、複数のリソースの割当量の組み合わせに対して、ジョブ実行システム150に最小単位の入力データに対するジョブを実行させた場合の実行結果データを記憶する。割当てリソース予測部114は、実行結果データ記憶部115に記憶される実行結果データを用いて、いくつかのリソースの割当量の組み合わせに対して、予定終了時刻までにジョブが終わるか否かを判断する。
The execution result
割当てリソース予測部114は、該当するリソースの割当量の組み合わせに対応する実行結果データを実行結果データ記憶部115から読み出す。割当てリソース予測部114は、読み出した実行結果データに含まれる処理時間と、残りの入力データの量とに基づいて、処理の残り必要時間を計算する。割当てリソース予測部114は、必要時間と、予定終了時刻に基づいて定まる残り時間とを比較し、予定終了時刻までに処理が終わるか否かを判断する。割当てリソース予測部114は、予定終了時刻までに処理が終わるリソースの割当量の組み合わせのうち、コストが最小の組み合わせを予測する。ジョブ実行制御部113は、ジョブ実行システム150のリソースの割当量を、割当てリソース予測部114で予測されたリソースの割当量の組み合わせに制御する。
The allocation
図5は、ジョブ制御システムにおける全体的な処理の流れ(ジョブ制御方法)を示す。ジョブ実行制御部113は、ジョブ定義データ記憶部111から、ジョブ定義データを読み込む(ステップA1)。ジョブ実行制御部113は、入力データ確認部112に、入力データ確認依頼を行う(ステップA2)。ジョブ実行制御部113は、ステップA2では、ジョブ定義データの入力データの情報に含まれる入力データの総量の確認コマンドを入力データ確認部112に渡す。入力データ確認部112は、受け取った確認コマンドを用いて入力データ151の総量の確認を行い、ジョブ実行制御部113に入力データ151の総量を返却する。
FIG. 5 shows an overall flow of processing (job control method) in the job control system. The job
ジョブ実行制御部113は、割当てリソース予測部114に割当てリソースの予測を依頼する。割当てリソース予測部114は、割当てリソースを予測する(ステップA3)。割当てリソース予測部114は、最小コストで予定時刻までに処理を完了できるリソースの割当量の組み合わせを予測し、割当てリソースの予測結果(各リソースの割当量の組み合わせ)をジョブ実行制御部113に返却する。割当てリソース予測部114は、割当てリソースの予測において、ジョブ実行制御部113に実行結果データの取得を依頼する場合がある。そのとき、割当てリソース予測部114は、ジョブ実行システム150の各リソースの割当量の組み合わせを指定して、実行結果データの取得を依頼する。ステップA3における割当てリソース予測部114の詳細な動作については、後述する。
The job
ジョブ実行制御部113は、割当てリソース予測部114から実行結果データの取得を依頼されたか否かを判断する(ステップA4)。ジョブ実行制御部113は、実行結果データの取得が依頼された場合、仮想化基盤160を通じて、ジョブ実行システム150の割当てリソースを変更する(ステップA5)。ジョブ実行制御部113は、ステップA5では、割当てリソース予測部114から指定された各リソースの割当量の組み合わせに、ジョブ実行システム150の割当てリソースを変更する。
The job
ジョブ実行制御部113は、割当てリソース量の変更後、最小単位の入力データを入力としてジョブプロセス152に処理を実行させる(ステップA6)。ジョブ実行制御部113は、ステップA6では、ジョブ定義データの入力データの情報に含まれる、最後の処理データを元にした次回の最小単位の入力データ取得コマンドを用いて、ジョブプロセス152に最小単位のデータに対する処理を実行させる。
After changing the allocated resource amount, the job
ジョブ実行制御部113は、ジョブプロセス152の実行が完了すると、実行結果データ記憶部115に、実行結果データを格納する(ステップA7)。ジョブ実行制御部113は、ステップA7では、ステップA5で変更した割当てリソースの組み合わせと、最小単位のデータの処理時間とを対応付け、それらを実行結果データとして実行結果データ記憶部115に格納する。その後、処理はステップA3に戻り、ジョブ実行制御部113は、割当てリソース予測部114に割当てリソースの予測を依頼する。
When the execution of the
ジョブ実行制御部113は、ステップA4において、実行結果データの取得を依頼されていないと判断した場合、仮想化基盤160を通じて、ジョブ実行システム150の割当てリソースを変更する(ステップA8)。ジョブ実行制御部113は、ステップA8では、割当てリソース予測部114から返却されたリソースの割当量の組み合わせに、ジョブ実行システム150の割当てリソースを変更する。
If the job
ジョブ実行制御部113は、割当てリソース量の変更後、入力データ151の残りのデータを入力としてジョブプロセス152に処理を実行させる(ステップA9)。ジョブ実行制御部113は、ステップA9では、ジョブ定義データの入力データの情報に含まれる、最後の処理データを元にした残り入力データの取得コマンドを用いて、ジョブプロセス152に残りデータに対する処理を実行させる。
After changing the allocated resource amount, the job
ジョブ実行制御部113は、ジョブプロセス152の実行が完了すると、実行結果データ記憶部115に、実行結果データを格納する(ステップA10)。ジョブ実行制御部113は、ステップA10では、ステップA8で変更した割当てリソースの組み合わせと、データの処理時間とを対応付け、それらを実行結果データとして実行結果データ記憶部115に格納する。以上が、ジョブ制御システムにおけるジョブ実行時の全体的な処理の流れとなる。
When the execution of the
図6及び図7は、ステップA3における割当てリソース量の予測の手順を示す。割当てリソース予測部114は、ジョブ実行制御部113から受け取ったジョブ定義データのIDに基づいて、実行結果データ記憶部115から、実行結果データを読み込む(図6のステップB1)。だたし、このとき、ジョブ定義データの処理内容が最後に実行されたものから変更されている場合、実行結果データは利用できないものと判断して実行結果データを破棄する。
6 and 7 show the procedure for predicting the allocated resource amount in step A3. The allocation
割当てリソース予測部114は、全てのリソースの割当量を最高値とした場合の情報が実行結果データとして存在するか否かを判断する(ステップB2)。割当てリソース予測部114は、ステップB2では、例えばCPUを最高速(5)で動作させ、かつディスクを最高速(5)で動作させた場合の実行結果データが存在するか否かを判断する。この組み合わせは、処理時間が最も短い組み合わせである。
The allocated
割当てリソース予測部114は、ステップB2で情報が存在しないと判断した場合、各リソースの割当量を最高値とした組み合わせをジョブ実行システム150に割り当てた場合の実行結果データの取得を、ジョブ実行制御部113に依頼する(ステップB3)。割当てリソース予測部114は、ステップB3では、CPU及びディスクをそれぞれ最高速(5)としたリソースの割当量の組み合わせを指定し、実行結果データの取得をジョブ実行制御部113に依頼する。ジョブ実行制御部113は、図5のステップA5~A7を実行し、実行結果データを実行結果データ記憶部115に格納する。
If the allocation
割当てリソース予測部114は、実行結果データを取得した後、全てのリソースの割当量を最高値とした場合に、ジョブの処理を予定終了時刻までに完了できるか否かを判断する(ステップB4)。割当てリソース予測部114は、ステップB4では、全てのリソースの割当量を最高値とした場合の最小単位のデータの処理時間(最速処理時間)と残りの入力データ量から残り必要時間を算出し、現在時刻と予定終了時刻から残り時間を算出する。
残り必要時間=最速処理時間×残りの入力データ量
残り時間=予定終了時刻-現在時刻
After obtaining the execution result data, the allocated
Remaining required time = Fastest processing time x Remaining amount of input data Remaining time = Scheduled end time - Current time
割当てリソース予測部114は、残り時間と残り必要時間との差が0以上であるか否かに基づいて、ジョブの処理を予定終了時刻までに完了できるか否かを判断する。割当てリソース予測部114は、残り必要時間が残り時間を超えている場合、予定終了時刻までの完了は不可能と判断する。その場合、割当てリソース予測部114は、メールなどの通知手段を用いてアラームを上げる(ステップB5)。また、割当てリソース予測部114は、全てのリソースの割当量を最高値としたときの組み合わせをジョブ実行部に返却する(ステップB6)。
The allocation
割当てリソース予測部114は、ステップB3でジョブの処理を予定終了時刻までに完了できると判断した場合、全てのリソースの割当量を最低値とした場合の情報が実行結果データ記憶部115に格納されているか否かを判断する(ステップB7)。割当てリソース予測部114は、ステップB6では、例えばCPUを最低速(1)で動作させ、かつディスクを最低速(1)で動作させた場合の実行結果データが存在するか否かを判断する。この組み合わせは、処理時間が最も長い組み合わせである。
When the allocated
割当てリソース予測部114は、ステップB6で情報が存在しないと判断した場合、各リソースの割当量を最低値とした組み合わせをジョブ実行システム150に割り当てた場合の実行結果データの取得を、ジョブ実行制御部113に依頼する(ステップB8)。割当てリソース予測部114は、ステップB8では、CPU及びディスクをそれぞれ最低速(1)としたリソースの割当量の組み合わせを指定し、実行結果データの取得をジョブ実行制御部113に依頼する。ジョブ実行制御部113は、図5のステップA5~A7を実行し、実行結果データを実行結果データ記憶部115に格納する。
If the allocation
割当てリソース予測部114は、実行結果データを取得した後、全てのリソースの割当量を最低値とした場合に、ジョブの処理を予定終了時刻までに完了できるか否かを判断する(ステップB9)。割当てリソース予測部114は、ステップB9では、全てのリソースの割当量を最低値とした場合の最小単位のデータの処理時間(最遅処理時間)と残りの入力データ量から残り必要時間を算出し、現在時刻と予定終了時刻から残り時間を算出する。
残り必要時間=最遅処理時間×残りの入力データ量
残り時間=予定終了時刻-現在時刻
After acquiring the execution result data, the allocated
Remaining required time = Latest processing time x Remaining amount of input data Remaining time = Scheduled end time - Current time
割当てリソース予測部114は、残り時間と残り必要時間との差が0以上であるか否かに基づいて、ジョブの処理を予定終了時刻までに完了できるか否かを判断する。割当てリソース予測部114は、残り必要時間が残り時間を下回る場合は、予定終了時刻までに処理を完了できると判断する。その場合、最小コストで予定時刻までに処理を完了できるリソース割当量の組み合わせは、全てのリソースの割当量を最低値としたときの組み合わせである。従って、割当てリソース予測部114は、全てのリソースの割当量を最低値としたときの組み合わせをジョブ実行部に返却する(ステップB10)。
The allocation
割当てリソース予測部114は、ステップB9で予定終了時刻までに処理を完了できないと判断した場合、ジョブの処理を予定終了時刻までに完了できる各リソースの割当量の組み合わせを探索する(ステップB11)。割当てリソース予測部114は、ステップB10では、例えば二分探査を用いて、全てのリソースの割当量を中央値とした実行結果データを確認していき、ジョブの処理を予定終了時刻まで終えられる中で最もコストの低い割当量の組み合わせを探す。割当てリソース予測部114は、全てのリソースの割当量を中央値とした実行結果データが存在しない場合、その組み合わせが実際に割り当てられた場合の実行結果データの取得をジョブ実行制御部に依頼して実行結果データを取得する。
If the resource
図8は、二分探査における各リソースの割当量の組み合わせの算出過程の例を示す。図8に示されるように、組み合わせ「最高値」に対応する、CPU及びディスクをそれぞれ最高速(5)と設定した場合の処理時間が10秒であるとする。また、その時点の残りデータ量が33件であり、残り時間が1490秒であるとする。この場合、残り必要時間は330秒と計算され、残り必要時間は残り時間より短い。従って、ステップB4では、各リソースを最高値とした場合に、予定完了時刻までに処理を完了できると判断される。 FIG. 8 shows an example of the process of calculating combinations of allocation amounts of resources in binary exploration. As shown in FIG. 8, assume that the processing time corresponding to the combination "maximum value" is 10 seconds when the CPU and disk are each set to the maximum speed (5). It is also assumed that the remaining data amount at that time is 33 cases and the remaining time is 1490 seconds. In this case, the remaining required time is calculated as 330 seconds, and the remaining required time is less than the remaining time. Therefore, in step B4, it is judged that the process can be completed by the scheduled completion time when each resource is set to the maximum value.
一方、組み合わせ「最低値」に対応する、CPU及びディスクをそれぞれ最低速(1)と設定した場合の処理時間が120秒であるとする。また、その時点の残りデータ量が32件であり、残り時間が1370秒であるとする。この場合、残り必要時間は3840秒であると計算され、残り必要時間は残り時間より長い。従って、ステップB9では、各リソースを最低値とした場合に、予定完了時刻までに処理を完了できないと判断され、ステップB11において二分探査が実施される。 On the other hand, it is assumed that the processing time corresponding to the combination "lowest value" is 120 seconds when the CPU and disk are each set to the lowest speed (1). It is also assumed that the remaining data amount at that time is 32 cases and the remaining time is 1370 seconds. In this case, the remaining required time is calculated to be 3840 seconds, and the remaining required time is longer than the remaining time. Accordingly, in step B9, it is determined that processing cannot be completed by the scheduled completion time when each resource is set to the lowest value, and binary exploration is performed in step B11.
割当てリソース予測部114は、ステップB11では、まず、CPU及びディスクの設定値が中央値である通常(3)に設定された場合の実行結果データが存在するか否かを調べる。割当てリソース予測部114は、CPU及びディスクの設定値が通常(3)に設定された場合の実行結果データが存在しない場合、CPU及びディスクの設定値が通常(3)に設定された場合の実行結果データの取得をジョブ実行制御部113に依頼する。ジョブ実行制御部113が、CPU及びディスクの設定値を通常(3)に設定し、最小単位のデータに対する処理を実行されることで、実行結果データが実行結果データ記憶部115に格納される。
In step B11, the allocation
図8に示されるように、組み合わせ「中央値」に対応する、CPU及びディスクをそれぞれ通常(3)に設定した場合の処理時間が30秒であるとする。また、その時点での残りデータ量は31件で、残り時間が1340秒であるとする。この場合、残り必要時間は930秒であると計算され、残り必要時間は残り時間よりも短い。従って、割当てリソース予測部114は、組み合わせ「中央値」では、予定終了時刻までに処理を完了することができると判断する。
As shown in FIG. 8, assume that the processing time corresponding to the combination "median" is 30 seconds when the CPU and disk are each set to normal (3). It is also assumed that the remaining data amount at that time is 31 cases and the remaining time is 1340 seconds. In this case, the remaining required time is calculated to be 930 seconds, and the remaining required time is less than the remaining time. Accordingly, the allocation
割当てリソース予測部114は、組み合わせ「中央値」の場合に残り時間内に処理が終わると判断した場合、次に、「最低値」と「中央値」との中央値として、CPU及びディスクをそれぞれ低速(2)にした場合の実行結果データが存在するかを確認する。図8に示されるように、組み合わせ「最低値と中央値との中央値」に対応する、CPU及びディスクをそれぞれ低速(2)設定した場合の処理時間が50秒であるとする。また、その時点での残りデータ量は30件で、残り時間が1290秒であるとする。この場合、残り必要時間は1500秒であると計算され、残り必要時間は残り時間よりも長い。従って、割当てリソース予測部114は、組み合わせ「最低値と中央値との中央値」では、予定終了時刻までに処理を完了できないと判断する。
If the allocation
図3を参照すると、CPU及びディスクを通常(3)とした組み合わせと、CPU及びディスクを低速(2)とした組み合わせとの中央値は、CPU及びディスクのどちらのリソースにおいても存在しない。そのため、割当てリソース予測部114は、二分探査を終了し、ステップB11において、CPU及びディスクを通常(3)とした組み合わせが、予定終了時刻までに処理を完了できるリソースの組み合わせの中で、最もコストの低い組み合わせであると判断する。
Referring to FIG. 3, there is no median value between the normal (3) CPU and disk combination and the slow (2) CPU and disk combination for either CPU or disk resources. Therefore, the allocation
図6に戻り、割当てリソース予測部114は、二分探査を用いて予定終了時刻まで処理を終えられる中で最もコストの低い割当量の組み合わせを見つけた後、その組み合わせを最小コストの組み合わせとして記録する(ステップB12)。割当てリソース予測部114は、ステップB12では、上記したように、CPU及びディスクをそれぞれ通常(3)とした組み合わせが見つかった場合、その組み合わせを現状の最小コストの組み合わせ(暫定的な最小コストの組み合わせ)として記録する。
Returning to FIG. 6, the allocation
割当てリソース予測部114は、最小コストの組み合わせから、各リソースの割当量を1段階下げた組み合わせを確認する対象の組み合わせとして決定する(図7のステップB13)。割当てリソース予測部114は、ステップB13で決定した組み合わせについての実行結果データが、実行結果データ記憶部115に存在するか否かを判断する(ステップB14)。割当てリソース予測部114は、ステップB13では、例えばCPUが低速(2)で、ディスクが通常(3)の組み合わせと、CPUが通常(3)で、ディスクが低速(2)の組み合わせを、確認する対象の組み合わせとして決定する。また、割当てリソース予測部114は、ステップB14では、それら組み合わせの実行結果データが存在するか否かを判断する。
The allocation
割当てリソース予測部114は、実行結果データが存在しないと判断した場合、実行結果データの取得が可能であるか否かを判断する(ステップB15)。割当てリソース予測部114は、ステップB15では、例えば下記計算式を用いてデータ取得に関する残り必要時間(データ取得残り必要時間)及び残り時間を計算し、残り必要時間と残り時間とを比較する。
残り必要時間=最小コスト処理時間×(残りの入力データ-1)+最遅処理時間
残り時間=予定終了時刻-現在時刻
割当てリソース予測部114は、残り必要時間が残り時間を超える場合、実行結果データの取得は可能ではないと判断する。割当てリソース予測部114は、残り必要時間が残り時間以内の場合は、実行結果データの取得は可能と判断する。
When the allocation
Remaining required time=minimum cost processing time×(remaining input data−1)+latest processing time Remaining time=scheduled end time−current time Determine that data acquisition is not possible. If the remaining required time is within the remaining time, the allocation
例えば、図8に示されるように、二分探査による最小コストのリソースの割当量の組み合わせが見つかった時点で、残りデータ量が30件、残り時間が1290秒であったとする。また、現状の最小コストの組み合わせが、CPU及びディスクをそれぞれ通常(3)とした組み合わせであったとする。このとき、最小コストの処理時間は30秒であり、組み合わせ「最低値」の処理時間(最遅処理時間)は120秒である。従って、残り必要時間は、30×(30-1)+120=990と計算される。この場合、残り時間はこのリ必要時間より長く、従って、割当てリソース予測部114は実行結果データの取得が可能であると判断する。
For example, as shown in FIG. 8, it is assumed that the remaining data amount is 30 cases and the remaining time is 1290 seconds at the time when the combination of allocation amounts of resources with the lowest cost is found by binary search. Also, assume that the current minimum cost combination is a combination of normal (3) CPUs and normal (3) disks. At this time, the minimum cost processing time is 30 seconds, and the processing time (slowest processing time) for the combination "lowest value" is 120 seconds. Therefore, the remaining required time is calculated as 30*(30-1)+120=990. In this case, the remaining time is longer than the required time, so the allocation
割当てリソース予測部114は、実行結果データの取得が可能と判断した場合、実行結果データが取得されていないリソースの割当て量の組み合わせについて、ジョブ実行制御部113に実行結果データの取得を依頼する(ステップB16)。割当てリソース予測部114は、実行結果データの取得が可能ではないと判断した場合、実行結果データの取得依頼は行わず、記録された現状の最小コストの組み合わせが最小コストの組み合わせであるとみなす。その場合、割当てリソース予測部114は、ジョブ実行制御部113に最小コストとみなしたリソースの割当量の組み合わせをジョブ実行制御部113に返却する(ステップB22)。
If the allocation
割当てリソース予測部114は、ステップB14で実行結果データが存在すると判断した場合、又は実行結果データを取得した後、確認対象の各リソースの割当量の組み合わせの中に、残り時間内に処理が終わる組み合わせが存在するか否かを判断する(ステップB17)。割当てリソース予測部114は、残り時間内に処理が終わる組み合わせがある場合、その組み合わせが、現状の最小コストの組み合わせより低コストであるか否かを判断する(ステップB18)。割当てリソース予測部114は、ステップB18で低コストであると判断した場合、現状の最小コストの組み合わせを更新する(ステップB19)。割当てリソース予測部114は、ステップB18で低コストではないと判断した場合、現状の最小コストの組み合わせの更新は実施しない。
If the allocation
図9は、最小コストの各リソースの割当量の組み合わせの算出過程を示す。割当てリソース予測部114は、例えば、スCPUが低速(2)で、かつディスクが通常(3)の組み合わせと、CPUが通常(3)で、かつディスクが低速(2)の組み合わせについて、時間内に処理を終えることができるか否かを判断する。図9を参照すると、双方の組み合わせについて、残り必要時間は残り時間より短い。このため、割当てリソース予測部114は、ステップB17では、処理を終えることができる組み合わせが存在すると判断する。
FIG. 9 shows the process of calculating the minimum-cost allocation amount combination of each resource. For example, the allocation
割当てリソース予測部114は、各組み合わせのコストと、ステップB12で現状の最小コストとして記録されたCPU及びディスクをそれぞれ通常(3)とした組み合わせのコストとを比較する。図8を参照すると、CPU及びディスクをそれぞれ通常(3)とした組み合わせのコストは「60」である。また、図8を参照すると、CPUが通常(3)で、かつディスクが低速(2)の組み合わせのコストは「55」であり、CPUが低速(2)で、かつディスクが通常(3)の組み合わせのコストは「40」である。この場合、割当てリソース予測部114は、ステップB19において、CPUが低速(2)で、かつディスクが通常(3)の組み合わせで、現状の最小コストの組み合わせを更新する。
The allocation
割当てリソース予測部114は、確認した全てのリソースの割当量の組み合わせに基づいて、新たに実行結果データの確認をする対象の組み合わせを決定する(ステップB20)。割当てリソース予測部114は、ステップB20では、確認した全ての各リソースの割当量の組み合わせから、更に各リソースの割当量を1段階上げた組み合わせ、及び1段階下げた組み合わせについて、実行結果データの確認が必要かを判断する。割当てリソース予測部114は、実行結果データの確認が必要な組み合わせを、実行結果データの確認をする対象の組み合わせを決定する。
The allocation
割当てリソース予測部114は、全ての組み合わせの確認を終了したか否かを判断する(ステップB21)。割当てリソース予測部114は、ステップB20において実行結果データの確認が必要と判断し、実行結果データの確認をする対象の組み合わせを決定した場合、全ての組み合わせの確認を終了していないと判断する。割当てリソース予測部114は、全ての組み合わせの確認が終了していないと判断した場合、ステップB14に戻り、実行結果データが存在するか否かを判断する。
The allocation
その後、割当てリソース予測部114は、ステップB15~B17を経て、ステップB18において、確認する組み合わせに、時間内に処理を終えることができ、かつコストが現状の最小コストの組み合わせより低い組み合わせが存在するか否かを判断する。割当てリソース予測部114は、時間内に処理を終えることができ、かつコストが現状の最小コストの組み合わせより低い組み合わせが存在する場合は、ステップB19で現状の最小コストの組み合わせを更新する。割当てリソース予測部114は、ステップB20において、新たに実行結果データの確認をする対象の組み合わせを決定する。割当てリソース予測部114は、ステップB14からステップB21を繰り返し実行することで、時間内に処理を終えることができる最小コストの組み合わせを探索する。割当てリソース予測部114は、ステップB21で全ての組み合わせの確認を終了したと判断した場合、ステップB22に進み、現状の最小コストとして記録されている組み合わせをジョブ実行制御部113に返却する。
After that, the allocation
図10(a)~(d)は、最小コストのリソース割当量の組み合わせを探索する過程を示す。図10(a)~(d)において、(X,Y)は、CPUの設定値がXであり、ディスクの設定値がYである旨を示す。また、「●」は残り時間内に処理を終えることができ、かつコストが最小である組み合わせ(第1の種別の組み合わせ)であることを示す。「▲」は、残り時間内に処理を終えることはできるものの、コストが最小ではない組み合わせ(第2の種別の組み合わせ)であることを示す。「×」は、残り時間内に処理を終えることができない組み合わせ(第3の種別の組み合わせ)であることを示す。 FIGS. 10(a)-(d) show the process of searching for the combination of resource allocations with the lowest cost. In FIGS. 10A to 10D, (X, Y) indicates that X is the CPU setting value and Y is the disk setting value. Also, "●" indicates a combination (first type combination) that can finish the processing within the remaining time and has the lowest cost. "▴" indicates a combination (second type combination) that can complete the process within the remaining time but does not have the lowest cost. “X” indicates a combination (third type combination) that cannot be processed within the remaining time.
図10(a)は、1回目のループにおける最小コストのリソース割当量の組み合わせの探索を示す。上記で説明したように、CPUが低速(2)で、かつディスクが通常(3)の組み合わせと、CPUが通常(3)で、かつディスクが低速(2)の組み合わせは、時間内に処理を終えることができると判断される(図9を参照)。また、CPUが低速(2)で、かつディスクが通常(3)の組み合わせのコストは、CPUが通常(3)で、かつディスクが低速(2)の組み合わせのコストよりも低い。従って、割当てリソース予測部114は、1回目のループのステップB19では、(2,3)を現状の最小コストの組み合わせとして記録する。
FIG. 10(a) shows the search for the combination of resource allocations with the lowest cost in the first loop. As explained above, the combination of a slow CPU (2) and a normal disk (3) and a combination of a normal CPU (3) and a slow disk (2) can process in time. It is determined that it can be finished (see Figure 9). Also, the cost of the combination of slow (2) CPU and normal (3) disk is lower than the cost of the combination of normal (3) CPU and slow (2) disk. Accordingly, the allocation
図10(b)は、各リソースの割当量を(3,2)及び(2,3)から1段階上下させた組み合わせを示す。割当てリソース予測部114は、ステップB20において、時間内に処理を終えることができる組み合わせ(3,2)及び(2,3)から各リソースの割当量を1段階上下させた組み合わせを導出する。割当てリソース予測部114は、(3,2)及び(2,3)から各リソースの割当量を1段階上下させた組み合わせとして、(3,1)、(2,2)、(1,3)、(4,2)、及び(2,4)を導出する。なお、(3,3)は既に確認されているため、導出する組み合わせから除外される。
FIG. 10(b) shows combinations in which the allocation amount of each resource is raised or lowered by one step from (3, 2) and (2, 3). In step B20, the allocated
ここで、最小コストの組み合わせ(第1の種別の組み合わせ)、又はそれよりもコストが高い組み合わせ(第2の種別の組み合わせ)から各リソースの割当量を1段階上げた組み合わせは、最小コストよりもコストが高いことが明白である。このため、割当てリソース予測部114は、そのような組み合わせを確認する対象の組み合わせから除外する。
Here, the combination obtained by raising the allocation amount of each resource by one level from the minimum cost combination (first type combination) or a higher cost combination (second type combination) is higher than the minimum cost It is clear that the cost is high. Therefore, the allocation
図10(c)は、ステップB20で決定される確認対象の組み合わせを示す。例えば、(3,2)の組み合わせのコストは最小コストの組み合わせである(2,3)のコストよりも高い。従って、割当てリソース予測部114は、(3,2)よりリソース割当量を1段階上げた組み合わせである(4,2)を、確認対象の組み合わせから除外する。また、割当てリソース予測部114は、最小コストの組み合わせである(2,3)の組み合わせからリソースの割当量を1段階上げた組み合わせである(2,4)も、確認する対象の組み合わせから除外する。結果として、割当てリソース予測部114は、1回目のステップB20では、(3,1)、(2,2)、及び(1,3)の各組み合わせを、確認する対象穂組み合わせとして決定する。
FIG. 10(c) shows the combination of confirmation targets determined in step B20. For example, the cost of the combination (3,2) is higher than the cost of the lowest cost combination (2,3). Accordingly, the allocation
図10(d)は、2回目のループにおける最小コストのリソース割当量の組み合わせの探索を示す。割当てリソース予測部114は、2回目のループでは、(3,1)、(2,2)、及び(1,3)の各組み合わせについて残り必要時間を計算し、時間内に処理が終わるか否かを調べる。割当てリソース予測部114は、(2,2)及び(1,3)の組み合わせについては時間内に処理が終わらないと判断し、(3,1)の組み合わせについては時間内に処理が終わると判断したとする。その場合、割当てリソース予測部114は、ステップB18において、(3,1)のコストと、現状の最小コストの組み合わせである(2,3)のコストとを比較する。この場合、(3,1)のコストは、(2,3)のコストよりも高いため、現状の最小コストの組み合わせは更新されない。
FIG. 10(d) shows the search for the lowest-cost combination of resource budgets in the second loop. In the second loop, the allocation
割当てリソース予測部114は、2回目のループのステップB20において、(3,1)、(2,2)、及び(1,3)の各組み合わせから、確認する対象の組み合わせを決定する。このとき、生成元となる組み合わせに、時間内に処理が終わらない組み合わせ(第3の種別の組み合わせ)がある場合は、その組み合わせからリソースの割当量を1段階下げた組み合わせでは時間内に処理が終わらないことは明白である。従って、割当てリソース予測部114は、時間内に処理が終わらない組み合わせよりリソース割当量を1段階下げた組み合わせを、確認する対象の組み合わせから除外する。図10(d)の例では、(2,2)、及び(1,3)の各組み合わせでは時間内に処理が終わらないため、それら組み合わせからリソースの割当量を1段階下げた組み合わせは、確認する対象の組み合わせから除外される。
The allocation
割当てリソース予測部114は、以降は、確認した全ての各リソース割当量の組み合わせから、各リソース割当量を1段階上げた組み合わせ、及び1段階下げた組み合わせについて、実行結果データの確認が必要かを判断し、実行結果データの確認を行っていく。割当てリソース予測部114は、時間内に処理が終わり、かつコストが現状の最小コストの組み合わせのコストよりも低い組み合わせがある場合、その組み合わせを現状の最小コストの組み合わせとして記録する。割当てリソース予測部114は、実行結果データの確認をする対象の組み合わせがなくなると、ステップB21において、全ての組み合わせの確認が終了したと判断する。その場合、割当てリソース予測部114は、ステップB22において、全ての組み合わせの確認が終了した終了した時点で記録されている最小コストの組み合わせを、ジョブ実行制御部113に返却する。
After that, the allocated
本実施形態では、ジョブ実行制御部113は、ジョブ実行時の処理時間を、ジョブ実行システム150のリソースの割当量の組み合わせと対応付け、実行結果データとして実行結果データ記憶部115に記憶する。割当てリソース予測部114は、実行結果データを用いて、最小のコストで予定終了時刻までに入力データ151に対する処理が終わるリソースの割当量の組み合わせを予測する。ジョブ実行制御部113は、ジョブ実行システム150の割当てリソース量を、割当てリソース予測部114が予測したリソースの割当量の組み合わせに制御する。このようにすることで、クラウドコンピューティングを利用して、入力データ151のデータ量が日々変化し得るバッチ処理などのジョブを行う場合に、最小コストと予測されるリソースの割当量の組み合わせでジョブを実施できる。
In this embodiment, the job
本実施形態において、割当てリソース予測部114は、コストが最小となるリソース割当量の組み合わせの予測に使用する実行結果データが実行結果データ記憶部115に記憶されていない場合、実行結果データの取得をジョブ実行制御部113に依頼する。ジョブ実行制御部113は、ジョブプロセス152に最小単位のデータを処理させて処理時間を計測し、実行結果データを実行結果データ記憶部115に記憶する。このようにすることで、割当てリソース予測部114は、コストが最小となるリソース割当量の組み合わせの予測に必要な実行結果データを参照することができる。割当てリソース予測部114は、実行結果データ記憶部115にある程度の実行結果データが集まった後は、ジョブの実行開始時点で、コストが最小となるリソース割当量の組み合わせを予測することができる。
In this embodiment, the allocation
なお、上記実施形態では、割当量が変更可能なリソースとして、CPU及びディスクを考えたが、本開示はこれには限定されない。割当てリソース予測部114が割当量を予測するリソースは、バッチ処理の処理時間に影響を与えるリソースであり、かつ仮想化基盤160を用いて変更可能な他のリソースであってもよい。
Note that in the above embodiment, CPUs and disks are considered as resources whose allocation amounts can be changed, but the present disclosure is not limited to this. A resource whose allocation amount is predicted by the allocation
また、上記実施形態では、割当てリソース予測部114は、「コスト」を比較することで、コストが最小となるリソースの割当量の組み合わせを予測する例を説明したが、本開示はこれには限定されない。割当てリソース予測部114は、コストに関連した何らかの指標値を用いて、コストが最小となるリソースの割当量の組み合わせを予測してもよい。例えば、指標値として、コストが小さいほど値が大きくなる指標値が用いられ得る。その場合、割当てリソース予測部114は、評価値が最大となるリソースの割当量の組み合わせを予測すればよい。
Further, in the above embodiment, the allocation
上記実施形態において、ジョブ制御システム110は、コンピュータ装置として構成され得る。図11は、ジョブ制御システム110に用いられ得る情報処理装置(コンピュータ装置)の構成例を示す。情報処理装置500は、制御部(CPU)510、記憶部520、ROM(Read Only Memory)530、RAM(Random Access Memory)540、通信インタフェース(IF:Interface)550、及びユーザインタフェース560を有する。
In the above embodiments, the
通信インタフェース550は、有線通信手段又は無線通信手段などを介して、情報処理装置500と通信ネットワークとを接続するためのインタフェースである。情報処理装置500は、通信インタフェース550を介して、仮想化基盤200(図2を参照)にアクセスできる。ユーザインタフェース560は、例えばディスプレイなどの表示部を含む。また、ユーザインタフェース560は、キーボード、マウス、及びタッチパネルなどの入力部を含む。
The
記憶部520は、各種のデータを保持できる補助記憶装置である。記憶部520は、必ずしも情報処理装置500の一部である必要はなく、外部記憶装置であってもよいし、ネットワークを介して情報処理装置500に接続されたクラウドストレージであってもよい。ROM530は、不揮発性の記憶装置である。ROM530には、例えば比較的容量が少ないフラッシュメモリなどの半導体記憶装置が用いられる。CPU510が実行するプログラムは、記憶部520又はROM530に格納され得る。
The
上記プログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、情報処理装置500に供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記憶媒体を含む。非一時的なコンピュータ可読媒体の例は、例えばフレキシブルディスク、磁気テープ、又はハードディスクなどの磁気記録媒体、例えば光磁気ディスクなどの光磁気記録媒体、CD(compact disc)、又はDVD(digital versatile disk)などの光ディスク媒体、及び、マスクROM、PROM(programmable ROM)、EPROM(erasable PROM)、フラッシュROM、又はRAMなどの半導体メモリを含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体を用いてコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバなどの有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
The above program can be stored using various types of non-transitory computer-readable media and supplied to the
RAM540は、揮発性の記憶装置である。RAM540には、DRAM(Dynamic Random Access Memory)又はSRAM(Static Random Access Memory)などの各種半導体メモリデバイスが用いられる。RAM540は、データなどを一時的に格納する内部バッファとして用いられ得る。CPU510は、記憶部520又はROM530に格納されたプログラムをRAM540に展開し、実行する。CPU510がプログラムを実行することで、例えば入力データ確認部112、ジョブ実行制御部113、及び割当てリソース予測部114などの機能が実現される。
以上、本開示の実施形態を詳細に説明したが、本開示は、上記した実施形態に限定されるものではなく、本開示の趣旨を逸脱しない範囲で上記実施形態に対して変更や修正を加えたものも、本開示に含まれる。 Although the embodiments of the present disclosure have been described in detail above, the present disclosure is not limited to the above-described embodiments, and changes and modifications can be made to the above-described embodiments without departing from the scope of the present disclosure. are also included in the present disclosure.
例えば、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。 For example, some or all of the above-described embodiments may be described in the following supplementary remarks, but are not limited to the following.
[付記1]
2以上のリソースの割当量が変更可能に構成された仮想マシンに、入力データに対するジョブを実行させるジョブ実行制御手段と、
前記リソースの割当量の組み合わせと所定単位の入力データでの処理時間とを含む実行結果データ、前記入力データのデータ量、及び予定終了時刻に基づいて、前記予定終了時刻までに前記ジョブが終わり、かつ、前記リソースの割当量の組み合わせに基づいて定まるコストが最小となる前記リソースの割当量の組み合わせを予測する割当てリソース予測手段とを備え、
前記ジョブ実行制御手段は、前記仮想マシンのリソースの割当量を前記予測されたリソースの割当量の組み合わせに制御するジョブ制御システム。
[Appendix 1]
Job execution control means for causing a virtual machine configured to be able to change the allocation amount of two or more resources to execute a job for input data;
completing the job by the scheduled end time based on the execution result data including the combination of the resource allocation amount and the processing time of the input data in a predetermined unit, the data amount of the input data, and the scheduled end time; and resource allocation prediction means for predicting a combination of resource allocations that minimizes a cost determined based on the combination of resource allocations,
A job control system in which the job execution control means controls the resource allocation amount of the virtual machine to a combination of the predicted resource allocation amounts.
[付記2]
前記ジョブ実行制御手段は、前記ジョブの実行の処理時間を計測し、前記リソースの割当量の組み合わせと前記計測した処理時間とを対応付け、前記実行結果データとして実行結果データ記憶手段に記憶し、
前記割当てリソース予測手段は、前記実行結果データ記憶手段に記憶される実行結果データを用いて、前記リソースの割当量の組み合わせに対して、前記予定終了時刻までに前記ジョブが終わる組み合わせを探す付記1に記載のジョブ制御システム。
[Appendix 2]
The job execution control means measures a processing time for executing the job, associates the combination of the resource allocation amount with the measured processing time, and stores the result as the execution result data in the execution result data storage means;
Supplementary Note 1: The resource allocation predicting means searches for a combination of the resource allocation amounts for which the job ends by the scheduled end time, using the execution result data stored in the execution result data storage means. job control system according to .
[付記3]
前記割当てリソース予測手段は、前記実行結果データを前記実行結果データ記憶手段から読み出し、該読み出した実行結果データに含まれる処理時間と、残りの入力データの量とに基づいて、前記仮想マシンのリソースの割当量を前記実行結果データのリソースの割当量の組み合わせとした場合の前記ジョブの残り必要時間を計算し、該残り必要時間と、前記予定終了時刻に基づいて定まる残り時間とを比較し、前記予定終了時刻までに前記ジョブが終わるか否かを判断する付記2に記載のジョブ制御システム。
[Appendix 3]
The allocation resource prediction means reads the execution result data from the execution result data storage means, and based on the processing time included in the read execution result data and the amount of remaining input data, the resources of the virtual machine. calculating the remaining required time of the job when the allocation amount is a combination of the resource allocation amounts of the execution result data, and comparing the remaining required time with the remaining time determined based on the scheduled end time; The job control system according to
[付記4]
前記割当てリソース予測手段は、各リソースの割当量を最小とした組み合わせに対応する実行結果データを前記実行結果データ記憶手段から読み出し、該読み出した実行結果データに含まれる処理時間と、残りの入力データの量とに基づいて、前記仮想マシンのリソースの割当量を当該組み合わせとした場合に前記予定終了時刻までに前記ジョブが終わるか否かを判断する付記2又は3に記載のジョブ制御システム。
[Appendix 4]
The resource allocation prediction means reads execution result data corresponding to a combination that minimizes the allocation amount of each resource from the execution result data storage means, and processes time and remaining input data included in the read execution result data. 4. The job control system according to
[付記5]
前記割当てリソース予測手段は、前記実行結果データ記憶手段に、前記各リソースの割当量を最小とした組み合わせに対応する実行結果データが記憶されていない場合、前記ジョブ実行制御手段に実行結果データの取得を依頼し、
前記ジョブ実行制御手段は、前記実行結果データの取得を依頼された場合、前記仮想マシンのリソースの割当量を、前記各リソースの割当量を最小とした組み合わせに制御し、前記仮想マシンに前記所定単位の入力データに対するジョブを実行させて処理時間を計測し、前記実行結果データを生成して実行結果データ記憶手段に記憶する付記4に記載のジョブ制御システム。
[Appendix 5]
If the execution result data storage means does not store the execution result data corresponding to the combination with the minimum allocation amount of each resource, the allocation resource prediction means causes the job execution control means to obtain the execution result data. ask for
When requested to acquire the execution result data, the job execution control means controls the allocation amount of the resources of the virtual machine to a combination that minimizes the allocation amount of each resource, and gives the virtual machine the predetermined 5. The job control system according to
[付記6]
前記割当てリソース予測手段は、前記仮想マシンのリソースの割当量を、各リソースの割当量を最小とした組み合わせとした場合に前記予定終了時刻までに前記ジョブが終わると判断した場合、当該組み合わせを、前記コストが最小となる前記リソースの割当量の組み合わせとする付記4又は5に記載のジョブ制御システム。
[Appendix 6]
When the allocation resource prediction means determines that the job will be completed by the scheduled end time when the allocation amount of the resources of the virtual machine is a combination that minimizes the allocation amount of each resource, the combination is: 6. The job control system according to
[付記7]
前記割当てリソース予測手段は、前記仮想マシンのリソースの割当量を、各リソースの割当量を最小とした組み合わせとした場合に前記予定終了時刻までに前記ジョブが終わらないと判断した場合、二分探査を行い、時間内に処理が終わる前記リソースの割当量の組み合わせを発見し、該発見したリソースの割当量の組み合わせを暫定的な最小コストの組み合わせとして記録する付記4から6何れか1つに記載のジョブ制御システム。
[Appendix 7]
The resource allocation prediction means performs binary exploration when it is determined that the job will not end by the scheduled end time when the resource allocation amount of the virtual machine is a combination that minimizes the allocation amount of each resource. 7. The method according to any one of
[付記8]
前記割当てリソース予測手段は、前記暫定的な最小コストの組み合わせとして記録したリソースの組み合わせに基づいて、1以上の前記リソースの割当量の組み合わせを確認対象の組み合わせとして決定し、該決定した確認対象の組み合わせのそれぞれについて前記予定終了時刻までに処理が終わるか否かを判断し、前記確認対象の組み合わせに前記予定終了時刻までに処理が終わるリソースの割当量の組み合わせが含まれる場合、該予定終了時刻までに処理が終わるリソースの割当量の組み合わせのうち前記コストが最小の組み合わせを特定し、該特定したリソースの組み合わせを前記暫定的な最小コストの組み合わせとして記録する付記7に記載のジョブ制御システム。
[Appendix 8]
The allocated resource prediction means determines a combination of one or more resource allocation amounts as a combination to be confirmed based on the combination of resources recorded as the provisional minimum cost combination, Determining whether or not processing will be completed by the scheduled end time for each of the combinations, and if the combination to be confirmed includes a combination of resource allocation amounts for which processing will be completed by the scheduled end time, the scheduled end time 8. The job control system according to appendix 7, wherein a combination with the lowest cost is specified from among combinations of resource allocation amounts for which processing is completed by, and the specified combination of resources is recorded as the temporary minimum cost combination.
[付記9]
前記割当てリソース予測手段は、前記確認対象の組み合わせの決定、及び前記確認対象の組み合わせのそれぞれについての前記予定終了時刻までに処理が終わるか否かの判断を繰り返し実施し、初回の確認対象の組み合わせの決定では、前記暫定的な最小コストの組み合わせとして記録した前記リソースの割当量の組み合わせに基づいて前記確認対象の組み合わせを決定し、2回目以降の確認対象の組み合わせの決定では、前回の確認対象の組み合わせに基づいて前記確認対象の組み合わせとして決定する付記8に記載のジョブ制御システム。
[Appendix 9]
The allocation resource prediction means repeatedly determines the combination to be confirmed and determines whether or not the processing for each of the combinations to be confirmed is completed by the scheduled end time, and determines the combination to be confirmed for the first time. In the determination of, the combination of confirmation targets is determined based on the combination of the resource allocation amounts recorded as the provisional minimum cost combination, and in the second and subsequent determination of the combination of confirmation targets, the previous confirmation target 8. The job control system according to appendix 8, wherein the combination to be confirmed is determined based on the combination of .
[付記10]
前記割当てリソース予測手段は、前記初回の確認対象の組み合わせの決定では、前記暫定的な最小コストの組み合わせとして記録したリソースの割当量の組み合わせより、各リソースの割当量が1段階低い割当量となる1以上の組み合わせを前記確認対象の組み合わせとして決定し、2回目以降の確認対象の組み合わせの決定では、前記リソースの割当量が、前回の確認対象の組み合わせより、各リソースの割当量が1段階低い割当量、及び1段階高い割当量となる1以上の組み合わせを前記確認対象の組み合わせとして決定する付記9に記載のジョブ制御システム。
[Appendix 10]
In the determination of the combination to be confirmed for the first time, the allocation resource prediction means makes the allocation amount of each resource one step lower than the combination of the allocation amount of the resources recorded as the combination of the provisional minimum cost. One or more combinations are determined as the combinations to be confirmed, and in the second and subsequent determinations of the combinations to be confirmed, the allocation amount of each resource is one step lower than the previous combination to be confirmed. 10. The job control system according to appendix 9, wherein one or more combinations of an allocation amount and an allocation amount one level higher are determined as the combination to be confirmed.
[付記11]
前記割当てリソース予測手段は、前記予定終了時刻までに処理が終わるか否かの判断では、前記確認対象の組み合わせのそれぞれが、前記予定終了時刻までに処理が終わり、かつ前記暫定的な最小コストの組み合わせとして特定される第1の種別の組み合わせ、前記予定終了時刻までに処理が終わり、かつ前記暫定的な最小コストの組み合わせとして特定される組み合わせより前記コストが大きい第2の種別の組み合わせ、又は、前記予定終了時刻までに処理が終わらない第3の種別の組み合わせの何れであるかを識別し、前記2回目以降の確認対象の組み合わせの決定では、各リソースの割当量が、前記第1の種別の組み合わせ及び前記第2の種別の組み合わせより1段階高い割当量となる組み合わせ、及び各リソースの割当量が、前記第3の種別の組み合わせより1段階低い割当量となる組み合わせを、前記確認対象の組み合わせから除外する付記10に記載のジョブ制御システム。
[Appendix 11]
The allocation resource prediction means determines whether or not the processing will be completed by the scheduled end time, in which each of the combinations to be confirmed will be processed by the scheduled end time and the provisional minimum cost will be reduced. A first type combination identified as a combination, a second type combination whose processing is completed by the scheduled end time and the cost is greater than the combination identified as the provisional minimum cost combination, or It is identified which of the combinations of the third type for which the processing is not completed by the scheduled end time, and in the determination of the combination to be confirmed for the second and subsequent times, the allocation amount of each resource is determined according to the first type and the combination of the allocation amount one step higher than the combination of the second type, and the combination of the allocation amount of each resource being one step lower than the combination of the third type, the
[付記12]
前記割当てリソース予測手段は、前記確認対象の組み合わせがなくなるまで、前記確認対象の組み合わせの決定、及び前記確認対象の組み合わせのそれぞれについての前記予定終了時刻までに処理が終わるか否かの判断を実施し、前記確認対象の組み合わせがなくなった場合、前記暫定的な最小コストの組み合わせとして記録されているリソースの割当量の組み合わせを、前記コストが最小となる前記リソースの割当量の組み合わせとする付記9から11何れか1つに記載のジョブ制御システム。
[Appendix 12]
The allocation resource prediction means determines whether or not the processing for each of the confirmation target combinations is completed by the scheduled end time until the confirmation target combinations are exhausted. Supplementary note 9: when there is no combination to be confirmed, the combination of resource allocation amounts recorded as the provisional minimum cost combination is set as the combination of resource allocation amounts that minimizes the cost. 12. The job control system according to any one of 11 to 11.
[付記13]
前記割当てリソース予測手段は、前記実行結果データ記憶手段に前記確認対象の組み合わせに対応する実行結果データが記憶されているか否かを判断し、記憶されていないと判断した場合、前記ジョブ実行制御手段に前記実行結果データの取得を依頼し、
前記ジョブ実行制御手段は、前記実行結果データの取得を依頼された場合、前記仮想マシンに前所定単位の入力データに対するジョブを実行させて処理時間を計測し、前記実行結果データを生成して実行結果データ記憶手段に記憶する付記8から12何れか1つに記載のジョブ制御システム。
[Appendix 13]
The allocation resource prediction means determines whether execution result data corresponding to the combination to be confirmed is stored in the execution result data storage means. to obtain the execution result data,
When requested to acquire the execution result data, the job execution control means causes the virtual machine to execute the job for the previous predetermined unit of input data, measures the processing time, generates the execution result data, and executes the job. 13. The job control system according to any one of appendices 8 to 12, which is stored in the result data storage means.
[付記14]
前記割当てリソース予測手段は、前記実行結果データ記憶手段に前記確認対象の組み合わせに対応する実行結果データが記憶されていないと判断した場合、前記実行結果データの取得が可能か否かを判断し、前記実行結果データの取得が可能と判断した場合、前記ジョブ実行制御手段に前記実行結果データの取得を依頼し、前記実行結果データの取得が可能ではないと判断した場合、前記暫定的な最小コストの組み合わせとして記録されている前記リソースの割当量の組み合わせを、前記コストが最小となる前記リソースの割当量の組み合わせとする付記13に記載のジョブ制御システム。
[Appendix 14]
When determining that the execution result data storage means does not store the execution result data corresponding to the combination to be confirmed, the allocation resource prediction means determines whether or not the execution result data can be obtained, requesting the job execution control means to obtain the execution result data if it is determined that the execution result data can be obtained; and if determining that the execution result data cannot be obtained, the provisional minimum cost 14. The job control system according to appendix 13, wherein the combination of the resource allocation amounts recorded as the combination of .
[付記15]
2以上のリソースの割当量が変更可能に構成された仮想マシンにおける前記リソースの割当量の組み合わせと所定単位の入力データでの処理時間とを含む実行結果データ、前記仮想マシンで実行されるジョブの対象となる入力データのデータ量、及び予定終了時刻に基づいて、前記予定終了時刻までに前記ジョブが終わり、かつ、前記リソースの割当量の組み合わせに基づいて定まるコストが最小となる前記リソースの割当量の組み合わせを予測し、
前記仮想マシンのリソースの割当量を前記予測されたリソースの割当量の組み合わせに制御し、
前記仮想マシンに、前記入力データに対するジョブを実行させるジョブ制御方法。
[Appendix 15]
Execution result data including a combination of the resource allocation amounts of two or more resource allocation amounts of a virtual machine configured to be changeable and a processing time for input data in a predetermined unit; Allocating the resources so that the job will be completed by the scheduled end time based on the data amount of the target input data and the scheduled end time, and the cost determined based on the combination of the resource allocation amounts will be the minimum. Predict quantity combinations,
controlling the resource allocation of the virtual machine to a combination of the predicted resource allocation;
A job control method for causing the virtual machine to execute a job for the input data.
[付記16]
2以上のリソースの割当量が変更可能に構成された仮想マシンにおける前記リソースの割当量の組み合わせと所定単位の入力データでの処理時間とを含む実行結果データ、前記仮想マシンで実行されるジョブの対象となる入力データのデータ量、及び予定終了時刻に基づいて、前記予定終了時刻までに前記ジョブが終わり、かつ、前記リソースの割当量の組み合わせに基づいて定まるコストが最小となる前記リソースの割当量の組み合わせを予測し、
前記仮想マシンのリソースの割当量を前記予測されたリソースの割当量の組み合わせに制御し、
前記仮想マシンに、前記入力データに対するジョブを実行させるための処理をコンピュータに実行させるためのプログラム。
[Appendix 16]
Execution result data including a combination of the resource allocation amounts of two or more resource allocation amounts of a virtual machine configured to be changeable and a processing time for input data in a predetermined unit; Allocating the resources so that the job will be completed by the scheduled end time based on the data amount of the target input data and the scheduled end time, and the cost determined based on the combination of the resource allocation amounts will be the minimum. Predict quantity combinations,
controlling the resource allocation of the virtual machine to a combination of the predicted resource allocation;
A program for causing a computer to execute processing for causing the virtual machine to execute a job for the input data.
10:ジョブ制御システム
11:ジョブ実行制御手段
12:割当てリソース予測手段
15:実行結果データ
20:仮想マシン
100:システム
110:ジョブ制御システム
111:ジョブ定義データ記憶部
112:入力データ確認部
113:ジョブ実行制御部
114:割当てリソース予測部
115:実行結果データ記憶部
150:ジョブ実行システム
151:入力データ
152:ジョブプロセス
160、200:仮想化基盤
500:情報処理装置
510:CPU
520:記憶部
530:ROM
540:RAM
550:通信インタフェース
560:ユーザインタフェース
10: Job control system 11: Job execution control unit 12: Allocation resource prediction unit 15: Execution result data 20: Virtual machine 100: System 110: Job control system 111: Job definition data storage unit 112: Input data confirmation unit 113: Job Execution control unit 114: Allocation resource prediction unit 115: Execution result data storage unit 150: Job execution system 151: Input data 152: Job processes 160, 200: Virtualization base 500: Information processing device 510: CPU
520: storage unit 530: ROM
540: RAM
550: Communication interface 560: User interface
Claims (8)
前記リソースの割当量の組み合わせと所定単位の入力データでの処理時間とを含む実行結果データ、前記入力データのデータ量、及び予定終了時刻に基づいて、前記予定終了時刻までに前記ジョブが終わる前記リソースの割当量の組み合わせのうち、該組み合わせに基づいて定まるコストが最小となる前記リソースの割当量の組み合わせを予測する割当てリソース予測手段とを備え、
前記ジョブ実行制御手段は、前記仮想マシンのリソースの割当量を前記予測されたリソースの割当量の組み合わせに制御し、
さらに、
前記ジョブ実行制御手段は、前記ジョブの実行の処理時間を計測し、
前記割当てリソース予測手段は、前記リソースの割当量の組み合わせと前記計測した処理時間とを対応付けた実行結果データを用いて、前記リソースの割当量の組み合わせに対して、前記予定終了時刻までに前記ジョブが終わる組み合わせを探し、
前記割当てリソース予測手段は、各リソースの割当量を最小とした組み合わせに対応する実行結果データに含まれる処理時間と、残りの入力データの量とに基づいて、前記仮想マシンのリソースの割当量を当該組み合わせとした場合に前記予定終了時刻までに前記ジョブが終わるか否かを判断する、ジョブ制御システム。 Job execution control means for causing a virtual machine configured to be able to change the allocation amount of two or more resources to execute a job for input data;
The job is completed by the scheduled end time based on the execution result data including the combination of the resource allocation amount and the processing time for the input data in a predetermined unit, the data amount of the input data, and the scheduled end time. allocation resource prediction means for predicting a combination of the resource allocation amounts that minimizes the cost determined based on the combination of the resource allocation amounts;
The job execution control means controls the resource allocation amount of the virtual machine to a combination of the predicted resource allocation amounts ,
moreover,
The job execution control means measures a processing time for executing the job,
The resource allocation prediction means uses the execution result data in which the combination of resource allocation amounts and the measured processing time are associated with each other, for the combination of resource allocation amounts, by the scheduled end time. Look for a combination that ends the job,
The resource allocation prediction means estimates the resource allocation amount of the virtual machine based on the processing time included in the execution result data corresponding to the combination with the minimum allocation amount of each resource and the amount of remaining input data. A job control system that determines whether or not the job will be finished by the scheduled finish time when the combination is set .
前記コンピュータが、前記仮想マシンのリソースの割当量を前記予測されたリソースの割当量の組み合わせに制御し、
前記コンピュータが、前記仮想マシンに、前記入力データに対するジョブを実行させ、
前記コンピュータが、前記ジョブの実行の処理時間を計測し、前記リソースの割当量の組み合わせと前記計測した処理時間とを対応付け、前記実行結果データとして記憶することを有し、
前記リソースの割当量の組み合わせを予測することは、
前記コンピュータが、前記リソースの割当量の組み合わせと前記計測した処理時間とを対応付けた実行結果データを用いて、前記リソースの割当量の組み合わせに対して、前記予定終了時刻までに前記ジョブが終わる組み合わせを探すこと、及び、
前記コンピュータが、各リソースの割当量を最小とした組み合わせに対応する実行結果データに含まれる処理時間と、残りの入力データの量とに基づいて、前記仮想マシンのリソースの割当量を当該組み合わせとした場合に前記予定終了時刻までに前記ジョブが終わるか否かを判断することを含む、ジョブ制御方法。 Execution result data including a combination of resource allocation amounts and a processing time for a predetermined unit of input data in a virtual machine configured such that the allocation amounts of two or more resources can be changed; based on the data amount of the input data to be the target of the job and the scheduled end time, the cost determined based on the combination is the smallest among the combinations of the allocation amounts of the resources that the job will end by the scheduled end time. Predicting a combination of the allocation amounts of the resources that becomes
the computer controls the resource allocation of the virtual machine to a combination of the predicted resource allocation;
the computer causing the virtual machine to execute a job on the input data ;
wherein the computer measures a processing time for executing the job, associates the combination of resource allocation amounts with the measured processing time, and stores the result as the execution result data;
Predicting a combination of resource allocations includes:
The computer uses execution result data in which the combination of resource allocation amounts and the measured processing time are associated to complete the job by the scheduled end time for the combination of resource allocation amounts. looking for a combination; and
The computer determines the resource allocation amount of the virtual machine based on the processing time included in the execution result data corresponding to the combination with the minimum allocation amount of each resource and the amount of remaining input data corresponding to the combination. determining whether or not the job will be finished by the scheduled finish time when the job is finished .
前記仮想マシンのリソースの割当量を前記予測されたリソースの割当量の組み合わせに制御し、
前記仮想マシンに、前記入力データに対するジョブを実行させ、
前記ジョブの実行の処理時間を計測し、
前記リソースの割当量の組み合わせの予測において、
前記リソースの割当量の組み合わせと前記計測した処理時間とを対応付けた実行結果データを用いて、前記リソースの割当量の組み合わせに対して、前記予定終了時刻までに前記ジョブが終わる組み合わせを探し、
各リソースの割当量を最小とした組み合わせに対応する実行結果データに含まれる処理時間と、残りの入力データの量とに基づいて、前記仮想マシンのリソースの割当量を当該組み合わせとした場合に前記予定終了時刻までに前記ジョブが終わるか否かを判断するための処理をコンピュータに実行させるためのプログラム。 Execution result data including a combination of the resource allocation amounts of two or more resource allocation amounts of a virtual machine configured to be changeable and a processing time for input data in a predetermined unit; Based on the data amount of the target input data and the scheduled end time, the cost determined based on the combination is the minimum among the combinations of the allocation amounts of the resources with which the job ends by the scheduled end time. Predict resource allocation combinations,
controlling the resource allocation of the virtual machine to a combination of the predicted resource allocation;
causing the virtual machine to execute a job on the input data ;
measuring the processing time for executing the job;
In predicting a combination of resource allocation amounts,
Searching for a combination of resource allocation amounts in which the job ends by the scheduled end time, using execution result data in which the combination of resource allocation amounts and the measured processing time are associated with each other;
Based on the processing time included in the execution result data corresponding to the combination with the minimum allocation amount of each resource and the amount of remaining input data, when the allocation amount of the resources of the virtual machine is set to the combination, A program for causing a computer to execute processing for determining whether or not the job will be completed by the scheduled end time .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019039513A JP7331386B2 (en) | 2019-03-05 | 2019-03-05 | Job control system, method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019039513A JP7331386B2 (en) | 2019-03-05 | 2019-03-05 | Job control system, method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020144510A JP2020144510A (en) | 2020-09-10 |
JP7331386B2 true JP7331386B2 (en) | 2023-08-23 |
Family
ID=72354159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019039513A Active JP7331386B2 (en) | 2019-03-05 | 2019-03-05 | Job control system, method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7331386B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022202676A1 (en) * | 2021-03-25 | 2022-09-29 | 日本電気株式会社 | Information resource allocation assistance device, information resource allocation assistance method, and recording medium storing information resource allocation assistance program |
CN115102913B (en) * | 2022-06-06 | 2024-01-09 | 深圳一粒云科技有限公司 | Cloud desktop resource configuration method, system and storage medium based on user behaviors |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130174149A1 (en) | 2011-12-30 | 2013-07-04 | International Business Machines Corporation | Dynamically scaling multi-tier applications in a cloud environment |
WO2017188419A1 (en) | 2016-04-28 | 2017-11-02 | 日本電気株式会社 | Computational resource management device, computational resource management method, and computer-readable recording medium |
-
2019
- 2019-03-05 JP JP2019039513A patent/JP7331386B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130174149A1 (en) | 2011-12-30 | 2013-07-04 | International Business Machines Corporation | Dynamically scaling multi-tier applications in a cloud environment |
WO2017188419A1 (en) | 2016-04-28 | 2017-11-02 | 日本電気株式会社 | Computational resource management device, computational resource management method, and computer-readable recording medium |
Also Published As
Publication number | Publication date |
---|---|
JP2020144510A (en) | 2020-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11704020B2 (en) | Precisely tracking memory usage in multi-process computing environment | |
JP6455035B2 (en) | Load balancing management device, control method, and program | |
JP5332065B2 (en) | Cluster configuration management method, management apparatus, and program | |
JP6386165B2 (en) | Method and apparatus for managing jobs that can and cannot be interrupted when there is a change in power allocation to a distributed computer system | |
JP5068099B2 (en) | Method and system for performing fair share scheduling based on resource usage of individual users and tracking of the usage | |
KR102003872B1 (en) | Resource allocation for computer processing | |
US20140068621A1 (en) | Dynamic storage-aware job scheduling | |
US10721179B2 (en) | Adaptive resource allocation operations based on historical data in a distributed computing environment | |
JP2011198332A (en) | Virtual machine management program and virtual machine management apparatus | |
US11797187B2 (en) | Optimized I/O performance regulation for non-volatile storage | |
JP7331386B2 (en) | Job control system, method and program | |
US10489074B1 (en) | Access rate prediction in a hybrid storage device | |
JP6885193B2 (en) | Parallel processing device, job management method, and job management program | |
US20090320022A1 (en) | File System Object Node Management | |
US10635501B2 (en) | Adaptive scaling of workloads in a distributed computing environment | |
JP5515889B2 (en) | Virtual machine system, automatic migration method and automatic migration program | |
JP5585330B2 (en) | Information processing apparatus, information processing method, and computer program | |
US10812407B2 (en) | Automatic diagonal scaling of workloads in a distributed computing environment | |
US9367439B2 (en) | Physical memory usage prediction | |
US20080127194A1 (en) | Job allocation program and job allocation method | |
JP2018112946A (en) | Information processing apparatus, method of controlling information processing apparatus, and program of controlling information processing apparatus | |
US10887250B2 (en) | Reducing resource allocations and application instances in diagonal scaling in a distributed computing environment | |
JP6787032B2 (en) | Control devices, control methods, and control programs | |
US20240272960A1 (en) | Management computer, management computing system, management computing program, and management computing method | |
JP2013080346A (en) | Information processing device, maintenance work support method and maintenance work support program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220203 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230110 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230310 |
|
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: 20230711 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230724 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7331386 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |