[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP7331386B2 - Job control system, method and program - Google Patents

Job control system, method and program Download PDF

Info

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
Application number
JP2019039513A
Other languages
Japanese (ja)
Other versions
JP2020144510A (en
Inventor
勇佑 小島
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 JP2019039513A priority Critical patent/JP7331386B2/en
Publication of JP2020144510A publication Critical patent/JP2020144510A/en
Application granted granted Critical
Publication of JP7331386B2 publication Critical patent/JP7331386B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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, Patent Literature 1 discloses a batch control system. In the batch control system described in Patent Document 1, the monitoring unit monitors the resource usage and processing time when the first virtual computer executes the first batch processing, and obtains the maximum resource usage and maximum processing time. . The prediction unit predicts the resource usage and processing time when the first virtual computer executes the second batch processing from the tendency of the maximum resource usage and maximum processing time. The control unit controls execution of the second batch process according to the predicted resource usage and the predicted processing time.

また、別の関連技術として、特許文献2は、ジョブ実行方法を開示する。特許文献2では、ネットワーク接続された複数のコンピュータを用いて、任意のタスク数に分割可能なジョブが実行される。特許文献2において、複数のコンピュータの中の1つのコンピュータは、ジョブのタスクを所定時間処理する。コンピュータは、所定時間におけるタスク処理の進捗率を算出し、進捗率及び所定時間に基づいて、1つのコンピュータでのタスク処理の完了時間を推定する。 As another related technique, Patent Literature 2 discloses a job execution method. In Patent Document 2, a job that can be divided into an arbitrary number of tasks is executed using a plurality of computers connected to a network. In Patent Document 2, one computer among a plurality of computers processes a task of a job for a predetermined period of time. The computer calculates the progress rate of task processing in a predetermined time, and estimates the completion time of task processing in one computer based on the progress rate and the predetermined time.

コンピュータは、推定した完了時間がジョブの要求項目を満たすか否かを判定する。コンピュータは、例えばジョブのデッドライン時刻(実行終了希望時刻)までの残余時間が、推定した完了時間より長い場合、要求項目が満たされないと判定する。要求項目が満たされる場合、残りのタスクは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.

特開2017-129988号公報JP 2017-129988 A 特開2008-123205号公報Japanese Patent Application Laid-Open No. 2008-123205

近年、クラウドコンピューティングの利用が広まっており、バッチ処理についてもクラウド上で実施することが増えてきている。クラウドコンピューティング上でバッチ処理を実施する場合、リソースの割当量を増加させるほど、コストが掛かかる。このため、コストを抑えるために、リソースを必要な分だけ無駄なく割り当てることが重要である。 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, Patent Document 1 assumes resource management on a physical server. In Patent Literature 1, the maximum value or the average value always derived from the past record is used as the resource usage rate as the predicted value. Batch processing does not always show a simple increase or decrease in processing time, and the amount of input data for batch processing may vary from day to day. Therefore, the required amount of resources may vary depending on the day. In the system described in Patent Document 1, for example, if scale adjustment is performed using the maximum value as a predicted value, there is a problem that wasteful costs are incurred when the amount of input data is small. In addition, when the average value is used as the predicted value, when the amount of input data is large, the amount of resources used exceeds the amount of allocated resources, and there is a problem that processing cannot be completed by the scheduled end time.

特許文献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 is a schematic block diagram of a job control system according to the present disclosure; FIG. 本開示の一実施形態に係るジョブ制御システムを含むシステム全体を示すブロック図。1 is a block diagram showing an entire system including a job control system according to an embodiment of the present disclosure; FIG. 対象リソースの設定可能値とコストとの例を示す図。FIG. 10 is a diagram showing an example of settable values and costs of target resources; 入力データの一例を示す図。The figure which shows an example of input data. 全体的な処理の流れを示すフローチャート。4 is a flowchart showing the flow of overall processing; 割当てリソース量の予測の手順を示すフローチャート。4 is a flowchart showing a procedure for predicting the amount of allocated resources; 割当てリソース量の予測の手順を示すフローチャート。4 is a flowchart showing a procedure for predicting the amount of allocated resources; 二分探査におけるリソースの割当量の組み合わせの算出過程の例を示す図。FIG. 11 is a diagram showing an example of a process of calculating a combination of resource allocation amounts in binary exploration; 最小コストのリソースの割当量の組み合わせの算出過程を示す図。FIG. 10 is a diagram showing a process of calculating a combination of allocation amounts of minimum-cost resources; (a)~(d)は、最小コストのリソース割当量の組み合わせを探索する過程を示す模式図。(a) to (d) are schematic diagrams showing the process of searching for a combination of resource allocation amounts with the lowest cost. 情報処理装置構成例を示すブロック図。FIG. 2 is a block diagram showing a configuration example of an information processing device;

本開示の実施の形態の説明に先立ち、本開示の概要を説明する。図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 job control system 10 has job execution control means 11 and resource allocation prediction means 12 . The job execution control means 11 causes the virtual machine 20 to execute a job for input data. The virtual machine 20 is configured such that two or more resource allocation amounts can be changed. In the virtual machine 20, the cost is determined based on a combination of resource allocation amounts.

実行結果データ15は、仮想マシン20におけるリソースの割当量の組み合わせと所定単位量の入力データでの処理時間とを含む。割当てリソース予測手段12は、実行結果データ15、入力データのデータ量、及び予定終了時刻に基づいて、予定終了時刻までにジョブが終わり、かつ、コストが最小となるリソースの割当量の組み合わせを予測する。ジョブ実行制御手段11は、仮想マシンのリソースの割当量を、予測されたリソースの割当量の組み合わせに制御する。 The execution result data 15 includes a combination of resource allocation amounts in the virtual machine 20 and a processing time for a predetermined unit amount of input data. Based on the execution result data 15, the amount of input data, and the scheduled end time, the resource allocation prediction unit 12 predicts a combination of resource allocation amounts that will result in the job ending by the scheduled end time and with the lowest cost. do. The job execution control unit 11 controls the resource allocation amount of the virtual machine to a combination of predicted resource allocation amounts.

本実施形態では、実行結果データ15は、リソースの割当量の組み合わせと所定単位量の入力データでの処理時間と含む。割当てリソース予測手段12は、実行結果データ15を参照することで、リソースの割当量の組み合わせごとに、入力データの処理にどれだけ時間が必要かを見積もることができる。割当てリソース予測手段12は、予定終了時刻までに入力データの処理を終えることができるリソースの割当量の組み合わせのうち、コストが最小となる組み合わせを予測する。ジョブ実行制御手段11は、仮想マシン20のリソースの割当量を予測された組み合わせに制御し、入力データに対するジョブを実行させる。このようにすることで、クラウドコンピューティングなどを利用する場合などにおいて、仮想マシン20に対する無駄がないリソース割り当てを実現でき、ジョブ実行のコストを抑えることができる。 In this embodiment, the execution result data 15 includes a combination of resource allocation amounts and a processing time for a predetermined unit amount of input data. By referring to the execution result data 15, the resource allocation prediction means 12 can estimate how much time is required to process the input data for each combination of resource allocation amounts. The allocated resource prediction means 12 predicts the combination with the lowest cost among the combinations of resource allocation amounts that can finish the processing of the input data by the scheduled end time. The job execution control unit 11 controls the resource allocation amount of the virtual machine 20 to the predicted combination, and executes the job for the input data. In this way, when cloud computing or the like is used, efficient resource allocation to the virtual machines 20 can be realized, and job execution costs can be suppressed.

以下、図面を参照して本開示の実施の形態を説明する。図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. System 100 has a job control system 110 and a job execution system 150 . The job control system 110 controls execution of jobs such as batch processing. The job execution system 150 executes job processes. In system 100, job control system 110 may be configured as a manager and job execution system 150 may be configured as an agent.

ジョブ実行システム150は、入力データ151、ジョブプロセス152、及びOS(Operating System)153を含む。ジョブ実行システム150は、仮想化基盤200上の仮想マシンやコンテナとして構成される。仮想化基盤200において、ジョブ実行システム150に割り当てられるリソースは、仮想化基盤160によって、ジョブ実行システム150の稼働中に変更可能に構成される。ジョブ実行システム150のコストは、各リソースの割当量に応じて定まる。ジョブ実行システム150は、図1の仮想マシン20に対応する。 The job execution system 150 includes input data 151 , a job process 152 and an OS (Operating System) 153 . The job execution system 150 is configured as a virtual machine or container on the virtualization infrastructure 200 . The resources allocated to the job execution system 150 in the virtualization platform 200 are configured to be changeable by the virtualization platform 160 while the job execution system 150 is in operation. The cost of the job execution system 150 is determined according to the allocated amount of each resource. A job execution system 150 corresponds to the virtual machine 20 in FIG.

図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 job execution system 150 , input data 151 is given to job process 152 . The input data 151 is data that can be processed in units of records or the like. The job process 152 executes predetermined processing on the input data 151 on a record-by-record basis. A record unit corresponds to the minimum unit in which the job process 152 executes processing. In the job execution system 150, it is assumed that the job process 152 activated at one time is a single job process.

ジョブ制御システム110は、ジョブ定義データ記憶部111、入力データ確認部112、ジョブ実行制御部113、割当てリソース予測部114、及び実行結果データ記憶部115を有する。ジョブ制御システム110は、図1のジョブ制御システム10に対応する。 The job control system 110 has a job definition data storage unit 111 , an input data confirmation unit 112 , a job execution control unit 113 , an allocation resource prediction unit 114 and an execution result data storage unit 115 . A job control system 110 corresponds to the job control system 10 in FIG.

ジョブ定義データ記憶部111は、ジョブに関する定義情報(ジョブ定義データ)を保存する。ジョブ定義データの内容の少なくとも一部は、ユーザにより事前に定義されている。ジョブ定義データは、例えば、実行するバッチ処理、入力データの情報、及び予定終了時刻を含む。ジョブ定義データは、更に、システム側で生成された、過去実績を検索するためのジョブの定義データのID、及び、最後に実行されてから実行するバッチ処理が変更されたか否かの情報を含む。 The job definition data storage unit 111 stores definition information (job definition data) on jobs. At least part of the content of the job definition data is predefined by the user. Job definition data includes, for example, batch processing to be executed, input data information, and scheduled end time. The job definition data further includes the ID of the job definition data for retrieving past results generated by the system, and information as to whether or not the batch process to be executed has been changed since the last execution. .

入力データの情報は、例えば、入力データ151の総量の確認コマンド、最後の処理データを元にした次回の最小単位の入力データの取得コマンド、及び、最後の処理データを元にした残り入力データの取得コマンドを含む。入力データの情報については、入力データに応じてコマンドが異なると予想されるため、ジョブ定義データにおいて、ユーザがそれぞれのコマンドを指定するものとする。 The input data information includes, for example, a command for confirming the total amount of the input data 151, a command for obtaining the next minimum unit of input data based on the last processed data, and a command for obtaining the remaining input data based on the last processed data. Contains get commands. As for the input data information, it is expected that the commands will differ according to the input data, so the user shall specify each command in the job definition data.

図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 input data 151, the following SQL commands are defined as input data information in the job definition data.
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 TABLE1 LIMIT 1 OFFSET <Number of last processed data>'
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 data confirmation unit 112 confirms the total amount of input data 151 of the job. The job execution control unit 113 controls jobs executed in the job process 152 . In addition, the job execution control unit 113 requests the virtualization base 160 to change resource allocation of the job execution system 150 . A job execution control unit 113 corresponds to the job execution control unit 11 in FIG.

実行結果データ記憶部115は、各リソースの割当量、及び単位入力あたりの処理時間などの情報を含むジョブの実行結果(実行結果データ)を記憶する。割当てリソース予測部114は、ジョブ実行システム150への割当てリソース量を予測する。より詳細には、割当てリソース予測部114は、実行結果データ、入力データ151のデータ量、及び予定終了時刻に基づいて、予定終了時刻までに処理が終わり、かつ、コストが最小となるリソースの割当量の組み合わせを予測する。実行結果データ記憶部115に記憶される実行結果データは図1の実行結果データ15に対応する。割当てリソース予測部114は、図1の割当てリソース予測手段12に対応する。 The execution result data storage unit 115 stores job execution results (execution result data) including information such as the allocation amount of each resource and the processing time per unit input. The resource allocation prediction unit 114 predicts the amount of resources allocated to the job execution system 150 . More specifically, based on the execution result data, the data amount of the input data 151, and the scheduled end time, the allocation resource prediction unit 114 allocates resources that will complete processing by the scheduled end time and that will minimize the cost. Predict quantity combinations. The execution result data stored in the execution result data storage unit 115 corresponds to the execution result data 15 in FIG. The allocated resource prediction unit 114 corresponds to the allocated resource prediction unit 12 in FIG.

実行結果データ記憶部115は、複数のリソースの割当量の組み合わせに対して、ジョブ実行システム150に最小単位の入力データに対するジョブを実行させた場合の実行結果データを記憶する。割当てリソース予測部114は、実行結果データ記憶部115に記憶される実行結果データを用いて、いくつかのリソースの割当量の組み合わせに対して、予定終了時刻までにジョブが終わるか否かを判断する。 The execution result data storage unit 115 stores execution result data when the job execution system 150 is caused to execute a job for minimum unit input data with respect to a combination of a plurality of resource allocation amounts. The allocation resource prediction unit 114 uses the execution result data stored in the execution result data storage unit 115 to determine whether or not the job will be finished by the scheduled end time for some combinations of resource allocation amounts. do.

割当てリソース予測部114は、該当するリソースの割当量の組み合わせに対応する実行結果データを実行結果データ記憶部115から読み出す。割当てリソース予測部114は、読み出した実行結果データに含まれる処理時間と、残りの入力データの量とに基づいて、処理の残り必要時間を計算する。割当てリソース予測部114は、必要時間と、予定終了時刻に基づいて定まる残り時間とを比較し、予定終了時刻までに処理が終わるか否かを判断する。割当てリソース予測部114は、予定終了時刻までに処理が終わるリソースの割当量の組み合わせのうち、コストが最小の組み合わせを予測する。ジョブ実行制御部113は、ジョブ実行システム150のリソースの割当量を、割当てリソース予測部114で予測されたリソースの割当量の組み合わせに制御する。 The allocation resource prediction unit 114 reads out the execution result data corresponding to the combination of the corresponding resource allocation amounts from the execution result data storage unit 115 . The allocation resource prediction unit 114 calculates the remaining required processing time based on the processing time included in the read execution result data and the amount of remaining input data. The allocation resource prediction unit 114 compares the required time with the remaining time determined based on the scheduled end time, and determines whether or not the process will end by the scheduled end time. The allocated resource prediction unit 114 predicts a combination with the lowest cost among combinations of resource allocation amounts for which processing will be completed by the scheduled end time. The job execution control unit 113 controls the resource allocation amount of the job execution system 150 to a combination of resource allocation amounts predicted by the allocation resource prediction unit 114 .

図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 execution control unit 113 reads job definition data from the job definition data storage unit 111 (step A1). The job execution control unit 113 requests the input data confirmation unit 112 to confirm the input data (step A2). In step A<b>2 , the job execution control unit 113 passes a confirmation command for the total amount of input data included in the input data information of the job definition data to the input data confirmation unit 112 . The input data confirmation unit 112 confirms the total amount of the input data 151 using the received confirmation command, and returns the total amount of the input data 151 to the job execution control unit 113 .

ジョブ実行制御部113は、割当てリソース予測部114に割当てリソースの予測を依頼する。割当てリソース予測部114は、割当てリソースを予測する(ステップA3)。割当てリソース予測部114は、最小コストで予定時刻までに処理を完了できるリソースの割当量の組み合わせを予測し、割当てリソースの予測結果(各リソースの割当量の組み合わせ)をジョブ実行制御部113に返却する。割当てリソース予測部114は、割当てリソースの予測において、ジョブ実行制御部113に実行結果データの取得を依頼する場合がある。そのとき、割当てリソース予測部114は、ジョブ実行システム150の各リソースの割当量の組み合わせを指定して、実行結果データの取得を依頼する。ステップA3における割当てリソース予測部114の詳細な動作については、後述する。 The job execution control unit 113 requests the resource allocation prediction unit 114 to predict resource allocation. The allocated resource prediction unit 114 predicts the allocated resource (step A3). The resource allocation prediction unit 114 predicts a combination of resource allocation amounts that allows processing to be completed by the scheduled time at the minimum cost, and returns the resource allocation prediction result (combination of the allocation amount of each resource) to the job execution control unit 113. do. The allocated resource prediction unit 114 may request the job execution control unit 113 to acquire execution result data in the allocation resource prediction. At that time, the allocation resource prediction unit 114 designates a combination of the allocation amount of each resource of the job execution system 150 and requests acquisition of execution result data. A detailed operation of the allocation resource prediction unit 114 in step A3 will be described later.

ジョブ実行制御部113は、割当てリソース予測部114から実行結果データの取得を依頼されたか否かを判断する(ステップA4)。ジョブ実行制御部113は、実行結果データの取得が依頼された場合、仮想化基盤160を通じて、ジョブ実行システム150の割当てリソースを変更する(ステップA5)。ジョブ実行制御部113は、ステップA5では、割当てリソース予測部114から指定された各リソースの割当量の組み合わせに、ジョブ実行システム150の割当てリソースを変更する。 The job execution control unit 113 determines whether or not the allocation resource prediction unit 114 has requested acquisition of execution result data (step A4). When receiving a request to acquire execution result data, the job execution control unit 113 changes the allocated resources of the job execution system 150 through the virtualization base 160 (step A5). In step A<b>5 , the job execution control unit 113 changes the allocated resource of the job execution system 150 to the combination of the allocation amount of each resource specified by the allocated resource prediction unit 114 .

ジョブ実行制御部113は、割当てリソース量の変更後、最小単位の入力データを入力としてジョブプロセス152に処理を実行させる(ステップA6)。ジョブ実行制御部113は、ステップA6では、ジョブ定義データの入力データの情報に含まれる、最後の処理データを元にした次回の最小単位の入力データ取得コマンドを用いて、ジョブプロセス152に最小単位のデータに対する処理を実行させる。 After changing the allocated resource amount, the job execution control unit 113 inputs the minimum unit of input data and causes the job process 152 to execute processing (step A6). In step A6, the job execution control unit 113 uses the next minimum unit input data acquisition command based on the last processing data, which is included in the input data information of the job definition data, to the job process 152. process the data.

ジョブ実行制御部113は、ジョブプロセス152の実行が完了すると、実行結果データ記憶部115に、実行結果データを格納する(ステップA7)。ジョブ実行制御部113は、ステップA7では、ステップA5で変更した割当てリソースの組み合わせと、最小単位のデータの処理時間とを対応付け、それらを実行結果データとして実行結果データ記憶部115に格納する。その後、処理はステップA3に戻り、ジョブ実行制御部113は、割当てリソース予測部114に割当てリソースの予測を依頼する。 When the execution of the job process 152 is completed, the job execution control section 113 stores the execution result data in the execution result data storage section 115 (step A7). In step A7, job execution control unit 113 associates the combination of allocated resources changed in step A5 with the minimum unit data processing time, and stores them in execution result data storage unit 115 as execution result data. After that, the process returns to step A3, and the job execution control section 113 requests the resource allocation prediction section 114 to predict the resource allocation.

ジョブ実行制御部113は、ステップA4において、実行結果データの取得を依頼されていないと判断した場合、仮想化基盤160を通じて、ジョブ実行システム150の割当てリソースを変更する(ステップA8)。ジョブ実行制御部113は、ステップA8では、割当てリソース予測部114から返却されたリソースの割当量の組み合わせに、ジョブ実行システム150の割当てリソースを変更する。 If the job execution control unit 113 determines in step A4 that acquisition of execution result data has not been requested, it changes the allocated resources of the job execution system 150 through the virtualization base 160 (step A8). In step A<b>8 , the job execution control unit 113 changes the allocation resources of the job execution system 150 to the combination of resource allocation amounts returned from the allocation resource prediction unit 114 .

ジョブ実行制御部113は、割当てリソース量の変更後、入力データ151の残りのデータを入力としてジョブプロセス152に処理を実行させる(ステップA9)。ジョブ実行制御部113は、ステップA9では、ジョブ定義データの入力データの情報に含まれる、最後の処理データを元にした残り入力データの取得コマンドを用いて、ジョブプロセス152に残りデータに対する処理を実行させる。 After changing the allocated resource amount, the job execution control unit 113 inputs the remaining data of the input data 151 and causes the job process 152 to execute processing (step A9). In step A9, the job execution control unit 113 causes the job process 152 to process the remaining data using the remaining input data acquisition command based on the last processing data included in the input data information of the job definition data. let it run.

ジョブ実行制御部113は、ジョブプロセス152の実行が完了すると、実行結果データ記憶部115に、実行結果データを格納する(ステップA10)。ジョブ実行制御部113は、ステップA10では、ステップA8で変更した割当てリソースの組み合わせと、データの処理時間とを対応付け、それらを実行結果データとして実行結果データ記憶部115に格納する。以上が、ジョブ制御システムにおけるジョブ実行時の全体的な処理の流れとなる。 When the execution of the job process 152 is completed, the job execution control section 113 stores the execution result data in the execution result data storage section 115 (step A10). In step A10, job execution control unit 113 associates the combination of allocated resources changed in step A8 with the data processing time, and stores them in execution result data storage unit 115 as execution result data. The above is the overall flow of processing when a job is executed in the job control system.

図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 resource prediction unit 114 reads execution result data from the execution result data storage unit 115 based on the ID of the job definition data received from the job execution control unit 113 (step B1 in FIG. 6). However, at this time, if the processing content of the job definition data has changed since the last execution, it is determined that the execution result data cannot be used, and the execution result data is discarded.

割当てリソース予測部114は、全てのリソースの割当量を最高値とした場合の情報が実行結果データとして存在するか否かを判断する(ステップB2)。割当てリソース予測部114は、ステップB2では、例えばCPUを最高速(5)で動作させ、かつディスクを最高速(5)で動作させた場合の実行結果データが存在するか否かを判断する。この組み合わせは、処理時間が最も短い組み合わせである。 The allocated resource prediction unit 114 determines whether or not there is information as the execution result data when the allocated amount of all resources is the maximum value (step B2). At step B2, the allocation resource prediction unit 114 determines whether or not there is execution result data when the CPU is operated at maximum speed (5) and the disk is operated at maximum speed (5), for example. This combination is the combination with the shortest processing time.

割当てリソース予測部114は、ステップB2で情報が存在しないと判断した場合、各リソースの割当量を最高値とした組み合わせをジョブ実行システム150に割り当てた場合の実行結果データの取得を、ジョブ実行制御部113に依頼する(ステップB3)。割当てリソース予測部114は、ステップB3では、CPU及びディスクをそれぞれ最高速(5)としたリソースの割当量の組み合わせを指定し、実行結果データの取得をジョブ実行制御部113に依頼する。ジョブ実行制御部113は、図5のステップA5~A7を実行し、実行結果データを実行結果データ記憶部115に格納する。 If the allocation resource prediction unit 114 determines in step B2 that the information does not exist, the acquisition of the execution result data when the job execution system 150 is allocated a combination in which the allocation amount of each resource is the maximum value is controlled by the job execution control. A request is made to the unit 113 (step B3). In step B3, the allocated resource prediction unit 114 designates a combination of resource allocation amounts in which the CPU and disk are set to the highest speed (5), respectively, and requests the job execution control unit 113 to acquire execution result data. The job execution control unit 113 executes steps A5 to A7 in FIG. 5 and stores the execution result data in the execution result data storage unit 115. FIG.

割当てリソース予測部114は、実行結果データを取得した後、全てのリソースの割当量を最高値とした場合に、ジョブの処理を予定終了時刻までに完了できるか否かを判断する(ステップB4)。割当てリソース予測部114は、ステップB4では、全てのリソースの割当量を最高値とした場合の最小単位のデータの処理時間(最速処理時間)と残りの入力データ量から残り必要時間を算出し、現在時刻と予定終了時刻から残り時間を算出する。
残り必要時間=最速処理時間×残りの入力データ量
残り時間=予定終了時刻-現在時刻
After obtaining the execution result data, the allocated resource prediction unit 114 determines whether or not the job processing can be completed by the scheduled end time when the allocated amount of all resources is set to the maximum value (step B4). . In step B4, the allocation resource prediction unit 114 calculates the remaining required time from the minimum unit data processing time (fastest processing time) when the allocation amount of all resources is the maximum value and the remaining input data amount, Calculate the remaining time from the current time and scheduled end time.
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 resource prediction unit 114 determines whether the job processing can be completed by the scheduled end time based on whether the difference between the remaining time and the remaining required time is 0 or more. If the remaining required time exceeds the remaining time, the allocation resource prediction unit 114 determines that completion by the scheduled end time is impossible. In that case, the allocation resource prediction unit 114 raises an alarm using notification means such as e-mail (step B5). In addition, the resource allocation prediction unit 114 returns to the job execution unit a combination when the allocation amount of all resources is the maximum value (step B6).

割当てリソース予測部114は、ステップB3でジョブの処理を予定終了時刻までに完了できると判断した場合、全てのリソースの割当量を最低値とした場合の情報が実行結果データ記憶部115に格納されているか否かを判断する(ステップB7)。割当てリソース予測部114は、ステップB6では、例えばCPUを最低速(1)で動作させ、かつディスクを最低速(1)で動作させた場合の実行結果データが存在するか否かを判断する。この組み合わせは、処理時間が最も長い組み合わせである。 When the allocated resource prediction unit 114 determines in step B3 that the job processing can be completed by the scheduled end time, the execution result data storage unit 115 stores information on the minimum allocation amount of all resources. (Step B7). At step B6, the allocation resource prediction unit 114 determines whether or not there is execution result data when the CPU is operated at the lowest speed (1) and the disk is operated at the lowest speed (1), for example. This combination is the combination with the longest processing time.

割当てリソース予測部114は、ステップB6で情報が存在しないと判断した場合、各リソースの割当量を最低値とした組み合わせをジョブ実行システム150に割り当てた場合の実行結果データの取得を、ジョブ実行制御部113に依頼する(ステップB8)。割当てリソース予測部114は、ステップB8では、CPU及びディスクをそれぞれ最低速(1)としたリソースの割当量の組み合わせを指定し、実行結果データの取得をジョブ実行制御部113に依頼する。ジョブ実行制御部113は、図5のステップA5~A7を実行し、実行結果データを実行結果データ記憶部115に格納する。 If the allocation resource prediction unit 114 determines in step B6 that the information does not exist, the allocation resource prediction unit 114 performs job execution control to obtain execution result data when allocating the job execution system 150 with a combination in which the allocation amount of each resource is the minimum value. A request is made to the unit 113 (step B8). In step B8, the resource allocation prediction unit 114 designates a resource allocation combination in which the speed of the CPU and the disk is the lowest (1), and requests the job execution control unit 113 to acquire execution result data. The job execution control unit 113 executes steps A5 to A7 in FIG. 5 and stores the execution result data in the execution result data storage unit 115. FIG.

割当てリソース予測部114は、実行結果データを取得した後、全てのリソースの割当量を最低値とした場合に、ジョブの処理を予定終了時刻までに完了できるか否かを判断する(ステップB9)。割当てリソース予測部114は、ステップB9では、全てのリソースの割当量を最低値とした場合の最小単位のデータの処理時間(最遅処理時間)と残りの入力データ量から残り必要時間を算出し、現在時刻と予定終了時刻から残り時間を算出する。
残り必要時間=最遅処理時間×残りの入力データ量
残り時間=予定終了時刻-現在時刻
After acquiring the execution result data, the allocated resource prediction unit 114 determines whether or not the job processing can be completed by the scheduled end time when the allocated amount of all resources is set to the minimum value (step B9). . In step B9, the allocated resource prediction unit 114 calculates the remaining required time from the minimum unit data processing time (latest processing time) and the remaining amount of input data when the allocated amount of all resources is the minimum value. , the remaining time is calculated from the current time and the scheduled end time.
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 resource prediction unit 114 determines whether the job processing can be completed by the scheduled end time based on whether the difference between the remaining time and the remaining required time is 0 or more. If the remaining required time is less than the remaining time, the allocation resource prediction unit 114 determines that the process can be completed by the scheduled end time. In that case, the combination of resource allocation amounts that allows the processing to be completed by the scheduled time at the minimum cost is the combination when the allocation amounts of all resources are the minimum values. Accordingly, the resource allocation prediction unit 114 returns to the job execution unit a combination when the allocation amount of all resources is the minimum value (step B10).

割当てリソース予測部114は、ステップB9で予定終了時刻までに処理を完了できないと判断した場合、ジョブの処理を予定終了時刻までに完了できる各リソースの割当量の組み合わせを探索する(ステップB11)。割当てリソース予測部114は、ステップB10では、例えば二分探査を用いて、全てのリソースの割当量を中央値とした実行結果データを確認していき、ジョブの処理を予定終了時刻まで終えられる中で最もコストの低い割当量の組み合わせを探す。割当てリソース予測部114は、全てのリソースの割当量を中央値とした実行結果データが存在しない場合、その組み合わせが実際に割り当てられた場合の実行結果データの取得をジョブ実行制御部に依頼して実行結果データを取得する。 If the resource allocation prediction unit 114 determines in step B9 that the processing cannot be completed by the scheduled end time, it searches for a combination of resource allocation amounts that can complete the job processing by the scheduled end time (step B11). In step B10, the allocated resource prediction unit 114 uses, for example, binary exploration to check the execution result data with the median value of the allocated amount of all resources, and to complete the job processing by the scheduled end time. Find the lowest cost combination of quotas. If there is no execution result data with the median value of the allocation amount of all resources, the allocation resource prediction unit 114 requests the job execution control unit to acquire the execution result data when the combination is actually allocated. Get execution result data.

図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 resource prediction unit 114 first checks whether or not there is execution result data when the CPU and disk setting values are set to normal (3), which is the median value. If there is no execution result data when the CPU and disk setting values are set to normal (3), the allocation resource prediction unit 114 performs the execution when the CPU and disk setting values are set to normal (3). The job execution control unit 113 is requested to acquire the result data. The job execution control unit 113 sets the CPU and disk setting values to normal (3), and executes the process for the minimum unit data, thereby storing the execution result data in the execution result data storage unit 115 .

図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 resource prediction unit 114 determines that the processing can be completed by the scheduled end time with the combination "median".

割当てリソース予測部114は、組み合わせ「中央値」の場合に残り時間内に処理が終わると判断した場合、次に、「最低値」と「中央値」との中央値として、CPU及びディスクをそれぞれ低速(2)にした場合の実行結果データが存在するかを確認する。図8に示されるように、組み合わせ「最低値と中央値との中央値」に対応する、CPU及びディスクをそれぞれ低速(2)設定した場合の処理時間が50秒であるとする。また、その時点での残りデータ量は30件で、残り時間が1290秒であるとする。この場合、残り必要時間は1500秒であると計算され、残り必要時間は残り時間よりも長い。従って、割当てリソース予測部114は、組み合わせ「最低値と中央値との中央値」では、予定終了時刻までに処理を完了できないと判断する。 If the allocation resource prediction unit 114 determines that processing will be completed within the remaining time in the case of the combination "median value", then, as the median value between the "minimum value" and the "median value", the CPU and disk Check if there is execution result data for low speed (2). As shown in FIG. 8, it is assumed that the processing time is 50 seconds when the CPU and disk are each set to low speed (2), corresponding to the combination "median of lowest value and median". It is also assumed that the remaining data amount at that time is 30 cases and the remaining time is 1290 seconds. In this case, the remaining required time is calculated to be 1500 seconds, and the remaining required time is longer than the remaining time. Therefore, the allocation resource prediction unit 114 determines that the processing cannot be completed by the scheduled end time with the combination "the median value between the lowest value and the median value".

図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 resource prediction unit 114 ends the binary exploration, and in step B11, the combination of normal (3) for the CPU and the disk is the combination of resources that can complete the processing by the scheduled end time, and the cost is the lowest. It is judged to be a low combination of

図6に戻り、割当てリソース予測部114は、二分探査を用いて予定終了時刻まで処理を終えられる中で最もコストの低い割当量の組み合わせを見つけた後、その組み合わせを最小コストの組み合わせとして記録する(ステップB12)。割当てリソース予測部114は、ステップB12では、上記したように、CPU及びディスクをそれぞれ通常(3)とした組み合わせが見つかった場合、その組み合わせを現状の最小コストの組み合わせ(暫定的な最小コストの組み合わせ)として記録する。 Returning to FIG. 6, the allocation resource prediction unit 114 finds the lowest-cost combination of allocation amounts that can be processed until the scheduled end time using binary exploration, and then records that combination as the combination with the lowest cost. (Step B12). In step B12, if a combination of normal (3) CPU and disk is found, the allocation resource prediction unit 114 regards that combination as the current minimum cost combination (temporary minimum cost combination). ).

割当てリソース予測部114は、最小コストの組み合わせから、各リソースの割当量を1段階下げた組み合わせを確認する対象の組み合わせとして決定する(図7のステップB13)。割当てリソース予測部114は、ステップB13で決定した組み合わせについての実行結果データが、実行結果データ記憶部115に存在するか否かを判断する(ステップB14)。割当てリソース予測部114は、ステップB13では、例えばCPUが低速(2)で、ディスクが通常(3)の組み合わせと、CPUが通常(3)で、ディスクが低速(2)の組み合わせを、確認する対象の組み合わせとして決定する。また、割当てリソース予測部114は、ステップB14では、それら組み合わせの実行結果データが存在するか否かを判断する。 The allocation resource prediction unit 114 determines, as a combination to be confirmed, a combination obtained by lowering the allocation amount of each resource by one level from the minimum cost combination (step B13 in FIG. 7). The allocation resource prediction unit 114 determines whether the execution result data for the combination determined in step B13 exists in the execution result data storage unit 115 (step B14). In step B13, the allocation resource prediction unit 114 confirms, for example, a combination of low speed CPU (2) and normal disk (3) and a combination of normal CPU (3) and low speed disk (2). Determined as a combination of targets. Also, in step B14, allocation resource prediction unit 114 determines whether or not there is execution result data for these combinations.

割当てリソース予測部114は、実行結果データが存在しないと判断した場合、実行結果データの取得が可能であるか否かを判断する(ステップB15)。割当てリソース予測部114は、ステップB15では、例えば下記計算式を用いてデータ取得に関する残り必要時間(データ取得残り必要時間)及び残り時間を計算し、残り必要時間と残り時間とを比較する。
残り必要時間=最小コスト処理時間×(残りの入力データ-1)+最遅処理時間
残り時間=予定終了時刻-現在時刻
割当てリソース予測部114は、残り必要時間が残り時間を超える場合、実行結果データの取得は可能ではないと判断する。割当てリソース予測部114は、残り必要時間が残り時間以内の場合は、実行結果データの取得は可能と判断する。
When the allocation resource prediction unit 114 determines that the execution result data does not exist, it determines whether or not the execution result data can be obtained (step B15). In step B15, the allocation resource prediction unit 114 calculates the remaining required time for data acquisition (remaining required data acquisition time) and the remaining time using, for example, the following formulas, and compares the required remaining time with the remaining time.
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 resource prediction unit 114 determines that it is possible to acquire the execution result data.

例えば、図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 resource prediction unit 114 determines that execution result data can be obtained.

割当てリソース予測部114は、実行結果データの取得が可能と判断した場合、実行結果データが取得されていないリソースの割当て量の組み合わせについて、ジョブ実行制御部113に実行結果データの取得を依頼する(ステップB16)。割当てリソース予測部114は、実行結果データの取得が可能ではないと判断した場合、実行結果データの取得依頼は行わず、記録された現状の最小コストの組み合わせが最小コストの組み合わせであるとみなす。その場合、割当てリソース予測部114は、ジョブ実行制御部113に最小コストとみなしたリソースの割当量の組み合わせをジョブ実行制御部113に返却する(ステップB22)。 If the allocation resource prediction unit 114 determines that execution result data can be acquired, it requests the job execution control unit 113 to acquire execution result data for a combination of resource allocation amounts for which execution result data has not been acquired ( Step B16). When the allocation resource prediction unit 114 determines that acquisition of the execution result data is not possible, it does not issue an acquisition request for the execution result data, and regards the recorded current minimum cost combination as the minimum cost combination. In this case, the resource allocation prediction unit 114 returns to the job execution control unit 113 a combination of resource allocation amounts that is regarded as the minimum cost to the job execution control unit 113 (step B22).

割当てリソース予測部114は、ステップB14で実行結果データが存在すると判断した場合、又は実行結果データを取得した後、確認対象の各リソースの割当量の組み合わせの中に、残り時間内に処理が終わる組み合わせが存在するか否かを判断する(ステップB17)。割当てリソース予測部114は、残り時間内に処理が終わる組み合わせがある場合、その組み合わせが、現状の最小コストの組み合わせより低コストであるか否かを判断する(ステップB18)。割当てリソース予測部114は、ステップB18で低コストであると判断した場合、現状の最小コストの組み合わせを更新する(ステップB19)。割当てリソース予測部114は、ステップB18で低コストではないと判断した場合、現状の最小コストの組み合わせの更新は実施しない。 If the allocation resource prediction unit 114 determines that the execution result data exists in step B14, or after acquiring the execution result data, the allocation resource prediction unit 114 determines that the processing will be completed within the remaining time in the combination of the allocation amount of each resource to be checked. It is determined whether or not a combination exists (step B17). If there is a combination that will be processed within the remaining time, the allocation resource prediction unit 114 determines whether the combination has a lower cost than the current minimum cost combination (step B18). If the allocation resource prediction unit 114 determines that the cost is low in step B18, it updates the current minimum cost combination (step B19). If the allocation resource prediction unit 114 determines in step B18 that the cost is not low, it does not update the current minimum cost combination.

図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 resource prediction unit 114 predicts a combination of a slow CPU (2) and a normal disk (3) and a combination of a normal CPU (3) and a slow disk (2) within a time period. It is determined whether or not the processing can be completed in time. Referring to FIG. 9, the remaining required time is less than the remaining time for both combinations. Therefore, in step B17, allocation resource prediction section 114 determines that there is a combination that allows processing to be completed.

割当てリソース予測部114は、各組み合わせのコストと、ステップB12で現状の最小コストとして記録されたCPU及びディスクをそれぞれ通常(3)とした組み合わせのコストとを比較する。図8を参照すると、CPU及びディスクをそれぞれ通常(3)とした組み合わせのコストは「60」である。また、図8を参照すると、CPUが通常(3)で、かつディスクが低速(2)の組み合わせのコストは「55」であり、CPUが低速(2)で、かつディスクが通常(3)の組み合わせのコストは「40」である。この場合、割当てリソース予測部114は、ステップB19において、CPUが低速(2)で、かつディスクが通常(3)の組み合わせで、現状の最小コストの組み合わせを更新する。 The allocation resource prediction unit 114 compares the cost of each combination with the cost of the combination in which the CPU and the disk recorded as the current minimum cost in step B12 are normal (3) respectively. Referring to FIG. 8, the cost of the combination of normal (3) CPU and disk is "60". Also, referring to FIG. 8, the cost of the combination of the CPU being normal (3) and the disk being slow (2) is "55", and the cost of the combination of the CPU being slow (2) and the disk being normal (3) The cost of the combination is "40". In this case, in step B19, the allocation resource prediction unit 114 updates the current minimum cost combination with the combination of low speed CPU (2) and normal disk (3).

割当てリソース予測部114は、確認した全てのリソースの割当量の組み合わせに基づいて、新たに実行結果データの確認をする対象の組み合わせを決定する(ステップB20)。割当てリソース予測部114は、ステップB20では、確認した全ての各リソースの割当量の組み合わせから、更に各リソースの割当量を1段階上げた組み合わせ、及び1段階下げた組み合わせについて、実行結果データの確認が必要かを判断する。割当てリソース予測部114は、実行結果データの確認が必要な組み合わせを、実行結果データの確認をする対象の組み合わせを決定する。 The allocation resource prediction unit 114 newly determines a combination of targets for confirmation of the execution result data based on the combination of all confirmed resource allocation amounts (step B20). In step B20, the allocation resource prediction unit 114 confirms the execution result data for the combinations in which the allocation amount of each resource is raised by one level and the combination in which the allocation amount of each resource is lowered by one level from all the confirmed combinations of the allocation amount of each resource. determine if it is necessary. The allocation resource prediction unit 114 determines a combination whose execution result data needs to be confirmed, and a combination whose execution result data is to be confirmed.

割当てリソース予測部114は、全ての組み合わせの確認を終了したか否かを判断する(ステップB21)。割当てリソース予測部114は、ステップB20において実行結果データの確認が必要と判断し、実行結果データの確認をする対象の組み合わせを決定した場合、全ての組み合わせの確認を終了していないと判断する。割当てリソース予測部114は、全ての組み合わせの確認が終了していないと判断した場合、ステップB14に戻り、実行結果データが存在するか否かを判断する。 The allocation resource prediction unit 114 determines whether or not all combinations have been confirmed (step B21). Allocation resource prediction unit 114 determines that confirmation of the execution result data is necessary in step B20, and when combinations for which execution result data is to be confirmed are determined, it determines that confirmation of all combinations has not been completed. If the allocation resource prediction unit 114 determines that confirmation of all combinations has not been completed, it returns to step B14 and determines whether execution result data exists.

その後、割当てリソース予測部114は、ステップB15~B17を経て、ステップB18において、確認する組み合わせに、時間内に処理を終えることができ、かつコストが現状の最小コストの組み合わせより低い組み合わせが存在するか否かを判断する。割当てリソース予測部114は、時間内に処理を終えることができ、かつコストが現状の最小コストの組み合わせより低い組み合わせが存在する場合は、ステップB19で現状の最小コストの組み合わせを更新する。割当てリソース予測部114は、ステップB20において、新たに実行結果データの確認をする対象の組み合わせを決定する。割当てリソース予測部114は、ステップB14からステップB21を繰り返し実行することで、時間内に処理を終えることができる最小コストの組み合わせを探索する。割当てリソース予測部114は、ステップB21で全ての組み合わせの確認を終了したと判断した場合、ステップB22に進み、現状の最小コストとして記録されている組み合わせをジョブ実行制御部113に返却する。 After that, the allocation resource prediction unit 114 goes through steps B15 to B17, and in step B18, there is a combination that can finish the processing in time and whose cost is lower than the current minimum cost combination in the combination to be confirmed. or not. If the allocation resource prediction unit 114 can complete the processing within the time and there is a combination whose cost is lower than the current minimum cost combination, the current minimum cost combination is updated in step B19. In step B20, the allocation resource prediction unit 114 newly determines a combination of objects whose execution result data is to be confirmed. The allocation resource prediction unit 114 repeatedly executes steps B14 to B21 to search for a minimum cost combination that allows processing to be completed within the time limit. If the allocation resource prediction unit 114 determines in step B21 that all combinations have been confirmed, the process proceeds to step B22 and returns the combination recorded as the current minimum cost to the job execution control unit 113. FIG.

図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 resource prediction unit 114 records (2, 3) as the current minimum cost combination in step B19 of the first loop.

図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 resource prediction unit 114 derives a combination in which the allocated amount of each resource is increased or decreased by one step from the combinations (3, 2) and (2, 3) that can finish the processing within the time. The allocation resource prediction unit 114 obtains (3, 1), (2, 2), (1, 3) as a combination of (3, 2) and (2, 3) with the allocation amount of each resource raised or lowered by one step. , (4,2), and (2,4). Since (3, 3) has already been confirmed, it is excluded from the combinations to be derived.

ここで、最小コストの組み合わせ(第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 resource prediction unit 114 excludes such combinations from the combinations to be confirmed.

図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 resource prediction unit 114 excludes (4, 2), which is a combination in which the resource allocation amount is raised by one step from (3, 2), from the combinations to be confirmed. The allocated resource prediction unit 114 also excludes (2, 4), which is a combination obtained by raising the resource allocation amount by one level from the combination of (2, 3), which is the minimum cost combination, from the combinations to be checked. . As a result, in the first step B20, the allocation resource prediction unit 114 determines each combination of (3, 1), (2, 2), and (1, 3) as the target ear combination to be confirmed.

図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 resource prediction unit 114 calculates the remaining required time for each combination of (3, 1), (2, 2), and (1, 3), and determines whether or not the processing will end within the time. find out if The allocation resource prediction unit 114 determines that processing will not be completed within the time for the combination of (2,2) and (1,3), and that processing will be completed within the time for the combination (3,1). Suppose In that case, the allocation resource prediction unit 114 compares the cost of (3, 1) with the cost of (2, 3), which is the combination of the current minimum costs, in step B18. In this case, the cost of (3,1) is higher than the cost of (2,3), so the current minimum cost combination is not updated.

割当てリソース予測部114は、2回目のループのステップB20において、(3,1)、(2,2)、及び(1,3)の各組み合わせから、確認する対象の組み合わせを決定する。このとき、生成元となる組み合わせに、時間内に処理が終わらない組み合わせ(第3の種別の組み合わせ)がある場合は、その組み合わせからリソースの割当量を1段階下げた組み合わせでは時間内に処理が終わらないことは明白である。従って、割当てリソース予測部114は、時間内に処理が終わらない組み合わせよりリソース割当量を1段階下げた組み合わせを、確認する対象の組み合わせから除外する。図10(d)の例では、(2,2)、及び(1,3)の各組み合わせでは時間内に処理が終わらないため、それら組み合わせからリソースの割当量を1段階下げた組み合わせは、確認する対象の組み合わせから除外される。 The allocation resource prediction unit 114 determines a combination to be checked from each combination of (3,1), (2,2), and (1,3) in step B20 of the second loop. At this time, if there is a combination (a combination of the third type) that cannot be processed within the time limit among the combinations to be the generation sources, a combination with the allocated amount of resources lowered by one level from that combination can be processed within the time limit. It's clear that it's not over. Therefore, the resource allocation prediction unit 114 excludes from the combinations to be checked a combination in which the resource allocation amount is one step lower than the combination whose processing cannot be completed within the time limit. In the example of FIG. 10(d), the combination of (2, 2) and (1, 3) does not finish the processing within the time, so the combination with the resource allocation amount lowered by one level from these combinations is confirmed. excluded from the target combination.

割当てリソース予測部114は、以降は、確認した全ての各リソース割当量の組み合わせから、各リソース割当量を1段階上げた組み合わせ、及び1段階下げた組み合わせについて、実行結果データの確認が必要かを判断し、実行結果データの確認を行っていく。割当てリソース予測部114は、時間内に処理が終わり、かつコストが現状の最小コストの組み合わせのコストよりも低い組み合わせがある場合、その組み合わせを現状の最小コストの組み合わせとして記録する。割当てリソース予測部114は、実行結果データの確認をする対象の組み合わせがなくなると、ステップB21において、全ての組み合わせの確認が終了したと判断する。その場合、割当てリソース予測部114は、ステップB22において、全ての組み合わせの確認が終了した終了した時点で記録されている最小コストの組み合わせを、ジョブ実行制御部113に返却する。 After that, the allocated resource prediction unit 114 determines whether it is necessary to confirm the execution result data for the combination with the resource allocation amount raised by one level and the combination with the resource allocation amount lowered by one level from all the confirmed resource allocation amount combinations. Make a decision and check the execution result data. If there is a combination whose processing is completed within the time and whose cost is lower than the cost of the current minimum cost combination, the allocation resource prediction unit 114 records that combination as the current minimum cost combination. When there are no more combinations whose execution result data are to be checked, the allocation resource prediction unit 114 determines in step B21 that all combinations have been checked. In this case, the allocation resource prediction unit 114 returns to the job execution control unit 113 in step B22 the minimum cost combination recorded at the time when all combinations have been confirmed.

本実施形態では、ジョブ実行制御部113は、ジョブ実行時の処理時間を、ジョブ実行システム150のリソースの割当量の組み合わせと対応付け、実行結果データとして実行結果データ記憶部115に記憶する。割当てリソース予測部114は、実行結果データを用いて、最小のコストで予定終了時刻までに入力データ151に対する処理が終わるリソースの割当量の組み合わせを予測する。ジョブ実行制御部113は、ジョブ実行システム150の割当てリソース量を、割当てリソース予測部114が予測したリソースの割当量の組み合わせに制御する。このようにすることで、クラウドコンピューティングを利用して、入力データ151のデータ量が日々変化し得るバッチ処理などのジョブを行う場合に、最小コストと予測されるリソースの割当量の組み合わせでジョブを実施できる。 In this embodiment, the job execution control unit 113 associates the processing time during job execution with a combination of resource allocation amounts of the job execution system 150, and stores them as execution result data in the execution result data storage unit 115. FIG. The allocation resource prediction unit 114 uses the execution result data to predict a combination of resource allocation amounts that will allow processing of the input data 151 to be completed by the scheduled end time at the minimum cost. The job execution control unit 113 controls the allocation resource amount of the job execution system 150 to a combination of resource allocation amounts predicted by the allocation resource prediction unit 114 . By doing so, when performing a job such as batch processing in which the data amount of the input data 151 changes daily using cloud computing, the job can be executed with a combination of the minimum cost and the estimated resource allocation amount. can be implemented.

本実施形態において、割当てリソース予測部114は、コストが最小となるリソース割当量の組み合わせの予測に使用する実行結果データが実行結果データ記憶部115に記憶されていない場合、実行結果データの取得をジョブ実行制御部113に依頼する。ジョブ実行制御部113は、ジョブプロセス152に最小単位のデータを処理させて処理時間を計測し、実行結果データを実行結果データ記憶部115に記憶する。このようにすることで、割当てリソース予測部114は、コストが最小となるリソース割当量の組み合わせの予測に必要な実行結果データを参照することができる。割当てリソース予測部114は、実行結果データ記憶部115にある程度の実行結果データが集まった後は、ジョブの実行開始時点で、コストが最小となるリソース割当量の組み合わせを予測することができる。 In this embodiment, the allocation resource prediction unit 114, when the execution result data used for prediction of the resource allocation combination that minimizes the cost is not stored in the execution result data storage unit 115, acquires the execution result data. A request is made to the job execution control unit 113 . The job execution control unit 113 causes the job process 152 to process minimum unit data, measures the processing time, and stores the execution result data in the execution result data storage unit 115 . By doing so, the allocation resource prediction unit 114 can refer to the execution result data required for prediction of the resource allocation amount combination that minimizes the cost. After a certain amount of execution result data has been collected in the execution result data storage unit 115, the allocation resource prediction unit 114 can predict a resource allocation combination that minimizes the cost at the start of job execution.

なお、上記実施形態では、割当量が変更可能なリソースとして、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 resource prediction unit 114 may be a resource that affects the processing time of batch processing and may be another resource that can be changed using the virtualization infrastructure 160 .

また、上記実施形態では、割当てリソース予測部114は、「コスト」を比較することで、コストが最小となるリソースの割当量の組み合わせを予測する例を説明したが、本開示はこれには限定されない。割当てリソース予測部114は、コストに関連した何らかの指標値を用いて、コストが最小となるリソースの割当量の組み合わせを予測してもよい。例えば、指標値として、コストが小さいほど値が大きくなる指標値が用いられ得る。その場合、割当てリソース予測部114は、評価値が最大となるリソースの割当量の組み合わせを予測すればよい。 Further, in the above embodiment, the allocation resource prediction unit 114 has described an example in which the resource allocation amount combination that minimizes the cost is predicted by comparing the "costs", but the present disclosure is limited to this. not. The allocated resource prediction unit 114 may use some index value related to cost to predict a combination of resource allocation amounts that minimizes the cost. For example, an index value that increases as the cost decreases can be used as the index value. In this case, the resource allocation prediction unit 114 may predict a combination of resource allocation amounts that maximizes the evaluation value.

上記実施形態において、ジョブ制御システム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 job control system 110 can be configured as a computer device. FIG. 11 shows a configuration example of an information processing device (computer device) that can be used in the job control system 110. As shown in FIG. The information processing apparatus 500 has a control unit (CPU) 510 , a storage unit 520 , a ROM (Read Only Memory) 530 , a RAM (Random Access Memory) 540 , a communication interface (IF) 550 and a user interface 560 .

通信インタフェース550は、有線通信手段又は無線通信手段などを介して、情報処理装置500と通信ネットワークとを接続するためのインタフェースである。情報処理装置500は、通信インタフェース550を介して、仮想化基盤200(図2を参照)にアクセスできる。ユーザインタフェース560は、例えばディスプレイなどの表示部を含む。また、ユーザインタフェース560は、キーボード、マウス、及びタッチパネルなどの入力部を含む。 The communication interface 550 is an interface for connecting the information processing apparatus 500 and a communication network via wired communication means or wireless communication means. The information processing device 500 can access the virtualization infrastructure 200 (see FIG. 2) via the communication interface 550 . User interface 560 includes a display, such as a display. The user interface 560 also includes input units such as a keyboard, mouse, and touch panel.

記憶部520は、各種のデータを保持できる補助記憶装置である。記憶部520は、必ずしも情報処理装置500の一部である必要はなく、外部記憶装置であってもよいし、ネットワークを介して情報処理装置500に接続されたクラウドストレージであってもよい。ROM530は、不揮発性の記憶装置である。ROM530には、例えば比較的容量が少ないフラッシュメモリなどの半導体記憶装置が用いられる。CPU510が実行するプログラムは、記憶部520又はROM530に格納され得る。 The storage unit 520 is an auxiliary storage device capable of holding various data. The storage unit 520 is not necessarily a part of the information processing device 500, and may be an external storage device or a cloud storage connected to the information processing device 500 via a network. ROM 530 is a non-volatile storage device. For the ROM 530, for example, a semiconductor storage device such as a flash memory having a relatively small capacity is used. Programs executed by the CPU 510 may be stored in the storage unit 520 or the ROM 530 .

上記プログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、情報処理装置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 information processing apparatus 500 . Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media such as flexible disks, magnetic tapes, or hard disks, magneto-optical recording media such as magneto-optical discs, compact discs (CDs), or digital versatile disks (DVDs). and semiconductor memory such as mask ROM, PROM (programmable ROM), EPROM (erasable PROM), flash ROM, or RAM. The program may also be delivered to the computer using various types of transitory computer readable media. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves. Transitory computer-readable media can deliver the program to the computer through wired channels, such as wires and optical fibers, or wireless channels.

RAM540は、揮発性の記憶装置である。RAM540には、DRAM(Dynamic Random Access Memory)又はSRAM(Static Random Access Memory)などの各種半導体メモリデバイスが用いられる。RAM540は、データなどを一時的に格納する内部バッファとして用いられ得る。CPU510は、記憶部520又はROM530に格納されたプログラムをRAM540に展開し、実行する。CPU510がプログラムを実行することで、例えば入力データ確認部112、ジョブ実行制御部113、及び割当てリソース予測部114などの機能が実現される。 RAM 540 is a volatile storage device. Various semiconductor memory devices such as DRAM (Dynamic Random Access Memory) or SRAM (Static Random Access Memory) are used for the RAM 540 . RAM 540 can be used as an internal buffer that temporarily stores data and the like. The CPU 510 expands a program stored in the storage unit 520 or the ROM 530 to the RAM 540 and executes it. The CPU 510 executes programs to implement functions such as the input data confirmation unit 112, the job execution control unit 113, and the allocation resource prediction unit 114, for example.

以上、本開示の実施形態を詳細に説明したが、本開示は、上記した実施形態に限定されるものではなく、本開示の趣旨を逸脱しない範囲で上記実施形態に対して変更や修正を加えたものも、本開示に含まれる。 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 appendix 2, wherein it is determined whether or not the job will be finished by the scheduled finish time.

[付記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 appendix 2 or 3, which determines whether or not the job will end by the scheduled end time when the resource allocation amount of the virtual machine is set to the combination based on the amount of .

[付記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 appendix 4, wherein a job is executed for unit input data, a processing time is measured, the execution result data is generated, and the execution result data storage means stores the job.

[付記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 appendix 4 or 5, wherein the allocation amount of the resources is combined to minimize the cost.

[付記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 appendices 4 to 6, wherein a combination of the resource allocation amounts for which processing is completed within a time limit is found, and the discovered combination of resource allocation amounts is recorded as a provisional minimum cost combination. Job control system.

[付記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 confirmation target 11. The job control system according to appendix 10, which is excluded from the combination.

[付記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)

2以上のリソースの割当量が変更可能に構成された仮想マシンに、入力データに対するジョブを実行させるジョブ実行制御手段と、
前記リソースの割当量の組み合わせと所定単位の入力データでの処理時間とを含む実行結果データ、前記入力データのデータ量、及び予定終了時刻に基づいて、前記予定終了時刻までに前記ジョブが終わ前記リソースの割当量の組み合わせのうち、該組み合わせに基づいて定まるコストが最小となる前記リソースの割当量の組み合わせを予測する割当てリソース予測手段とを備え、
前記ジョブ実行制御手段は、前記仮想マシンのリソースの割当量を前記予測されたリソースの割当量の組み合わせに制御し、
さらに、
前記ジョブ実行制御手段は、前記ジョブの実行の処理時間を計測し、
前記割当てリソース予測手段は、前記リソースの割当量の組み合わせと前記計測した処理時間とを対応付けた実行結果データを用いて、前記リソースの割当量の組み合わせに対して、前記予定終了時刻までに前記ジョブが終わる組み合わせを探し、
前記割当てリソース予測手段は、各リソースの割当量を最小とした組み合わせに対応する実行結果データに含まれる処理時間と、残りの入力データの量とに基づいて、前記仮想マシンのリソースの割当量を当該組み合わせとした場合に前記予定終了時刻までに前記ジョブが終わるか否かを判断する、ジョブ制御システム。
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 .
前記割当てリソース予測手段は、前記仮想マシンのリソースの割当量を、各リソースの割当量を最小とした組み合わせとした場合に前記予定終了時刻までに前記ジョブが終わらないと判断した場合、二分探査を行い、時間内に処理が終わる前記リソースの割当量の組み合わせを発見し、該発見したリソースの割当量の組み合わせを暫定的な最小コストの組み合わせとして記録する請求項に記載のジョブ制御システム。 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. 2. The job control system according to claim 1 , further comprising: finding a combination of resource allocation amounts for which processing is completed within a time limit, and recording the discovered combination of resource allocation amounts as a provisional minimum cost combination. 前記割当てリソース予測手段は、前記暫定的な最小コストの組み合わせとして記録したリソースの組み合わせに基づいて、1以上の前記リソースの割当量の組み合わせを確認対象の組み合わせとして決定し、該決定した確認対象の組み合わせのそれぞれについて前記予定終了時刻までに処理が終わるか否かを判断し、前記確認対象の組み合わせに前記予定終了時刻までに処理が終わるリソースの割当量の組み合わせが含まれる場合、該予定終了時刻までに処理が終わるリソースの割当量の組み合わせのうち前記コストが最小の組み合わせを特定し、該特定したリソースの組み合わせを前記暫定的な最小コストの組み合わせとして記録する請求項に記載のジョブ制御システム。 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 3. The job control system according to claim 2 , wherein a combination with the lowest cost is specified from a combination of resource allocation amounts whose processing is completed by, and the specified combination of resources is recorded as the provisional minimum cost combination. . 前記割当てリソース予測手段は、前記確認対象の組み合わせの決定、及び前記確認対象の組み合わせのそれぞれについての前記予定終了時刻までに処理が終わるか否かの判断を繰り返し実施し、初回の確認対象の組み合わせの決定では、前記暫定的な最小コストの組み合わせとして記録した前記リソースの割当量の組み合わせに基づいて前記確認対象の組み合わせを決定し、2回目以降の確認対象の組み合わせの決定では、前回の確認対象の組み合わせに基づいて前記確認対象の組み合わせとして決定する請求項に記載のジョブ制御システム。 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 4. The job control system according to claim 3 , wherein the combination to be confirmed is determined based on the combination of . 前記割当てリソース予測手段は、前記初回の確認対象の組み合わせの決定では、前記暫定的な最小コストの組み合わせとして記録したリソースの割当量の組み合わせより、各リソースの割当量が1段階低い割当量となる1以上の組み合わせを前記確認対象の組み合わせとして決定し、2回目以降の確認対象の組み合わせの決定では、前記リソースの割当量が、前回の確認対象の組み合わせより、各リソースの割当量が1段階低い割当量、及び1段階高い割当量となる1以上の組み合わせを前記確認対象の組み合わせとして決定する請求項に記載のジョブ制御システム。 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. 5. The job control system according to claim 4 , wherein one or more combinations of an allocation amount and an allocation amount one level higher are determined as the combination to be confirmed. 前記割当てリソース予測手段は、前記確認対象の組み合わせがなくなるまで、前記確認対象の組み合わせの決定、及び前記確認対象の組み合わせのそれぞれについての前記予定終了時刻までに処理が終わるか否かの判断を実施し、前記確認対象の組み合わせがなくなった場合、前記暫定的な最小コストの組み合わせとして記録されているリソースの割当量の組み合わせを、前記コストが最小となる前記リソースの割当量の組み合わせとする請求項又はに記載のジョブ制御システム。 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. and 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. 6. The job control system according to 4 or 5 . コンピュータが、2以上のリソースの割当量が変更可能に構成された仮想マシンにおける前記リソースの割当量の組み合わせと所定単位の入力データでの処理時間とを含む実行結果データ、前記仮想マシンで実行されるジョブの対象となる入力データのデータ量、及び予定終了時刻に基づいて、前記予定終了時刻までに前記ジョブが終わ前記リソースの割当量の組み合わせのうち、該組み合わせに基づいて定まるコストが最小となる前記リソースの割当量の組み合わせを予測し、
前記コンピュータが、前記仮想マシンのリソースの割当量を前記予測されたリソースの割当量の組み合わせに制御し、
前記コンピュータが、前記仮想マシンに、前記入力データに対するジョブを実行させ
前記コンピュータが、前記ジョブの実行の処理時間を計測し、前記リソースの割当量の組み合わせと前記計測した処理時間とを対応付け、前記実行結果データとして記憶することを有し、
前記リソースの割当量の組み合わせを予測することは、
前記コンピュータが、前記リソースの割当量の組み合わせと前記計測した処理時間とを対応付けた実行結果データを用いて、前記リソースの割当量の組み合わせに対して、前記予定終了時刻までに前記ジョブが終わる組み合わせを探すこと、及び、
前記コンピュータが、各リソースの割当量を最小とした組み合わせに対応する実行結果データに含まれる処理時間と、残りの入力データの量とに基づいて、前記仮想マシンのリソースの割当量を当該組み合わせとした場合に前記予定終了時刻までに前記ジョブが終わるか否かを判断することを含む、ジョブ制御方法。
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 .
2以上のリソースの割当量が変更可能に構成された仮想マシンにおける前記リソースの割当量の組み合わせと所定単位の入力データでの処理時間とを含む実行結果データ、前記仮想マシンで実行されるジョブの対象となる入力データのデータ量、及び予定終了時刻に基づいて、前記予定終了時刻までに前記ジョブが終わ前記リソースの割当量の組み合わせのうち、該組み合わせに基づいて定まるコストが最小となる前記リソースの割当量の組み合わせを予測し、
前記仮想マシンのリソースの割当量を前記予測されたリソースの割当量の組み合わせに制御し、
前記仮想マシンに、前記入力データに対するジョブを実行させ
前記ジョブの実行の処理時間を計測し、
前記リソースの割当量の組み合わせの予測において、
前記リソースの割当量の組み合わせと前記計測した処理時間とを対応付けた実行結果データを用いて、前記リソースの割当量の組み合わせに対して、前記予定終了時刻までに前記ジョブが終わる組み合わせを探し、
各リソースの割当量を最小とした組み合わせに対応する実行結果データに含まれる処理時間と、残りの入力データの量とに基づいて、前記仮想マシンのリソースの割当量を当該組み合わせとした場合に前記予定終了時刻までに前記ジョブが終わるか否かを判断するための処理をコンピュータに実行させるためのプログラム。
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 .
JP2019039513A 2019-03-05 2019-03-05 Job control system, method and program Active JP7331386B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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