JP2009151376A - Distribution processing method, calculator management device, and distribution processing system - Google Patents

Distribution processing method, calculator management device, and distribution processing system Download PDF

Info

Publication number
JP2009151376A
JP2009151376A JP2007326387A JP2007326387A JP2009151376A JP 2009151376 A JP2009151376 A JP 2009151376A JP 2007326387 A JP2007326387 A JP 2007326387A JP 2007326387 A JP2007326387 A JP 2007326387A JP 2009151376 A JP2009151376 A JP 2009151376A
Authority
JP
Japan
Prior art keywords
job
computers
computer
calculation
waiting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007326387A
Other languages
Japanese (ja)
Inventor
Junpei Mizuno
淳平 水野
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2007326387A priority Critical patent/JP2009151376A/en
Publication of JP2009151376A publication Critical patent/JP2009151376A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To optimize allocation of calculators to jobs, without worsening calculation efficiency. <P>SOLUTION: The jobs are stored at first, the number of calculators for calculating the stored first job at the shortest time is drawn out thereafter as the optimum number, when conducting distribution processing in a distribution processing system 1 provided with the plurality of calculators 20. Then, the number of waiting calculators 20 under a job waiting state is determined as to the propriety of satisfying the optimum number or more. The optimum number of calculators is selected out of the calculators 20 under the job waiting state, when the number of waiting calculators is the optimum number or more, and the first job is distribution-processed by the selected calculators 20. A processed result of the first job is output based on a distribution-processed result. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、ネットワークを介して接続された複数の計算機に計算を分散して実行させる分散処理方法、計算機管理装置及び分散処理システムに関するものである。   The present invention relates to a distributed processing method, a computer management apparatus, and a distributed processing system that cause a plurality of computers connected via a network to distribute and execute calculations.

分散コンピューティングは、大規模な計算の結果が高速に得られるため広い分野において採用されている。ユーザからの計算要求であるジョブが与えられたときの処理方法は大きく二通りある。   Distributed computing has been adopted in a wide range of fields because large-scale calculation results can be obtained at high speed. There are two main processing methods when a job that is a calculation request from a user is given.

そのうちの一つである逐次処理方式では、サーバーが全計算機を用いてジョブを受付順に分散処理し、一つのジョブの処理が完了すると次のジョブの計算を開始する。つまり、逐次処理方式では一度に計算されるジョブは一つだけである。この場合、ジョブの規模に大小のばらつきが有ると、小規模のジョブが大規模のジョブの計算を待つなどの様に、待ち時間と処理時間との不平等が問題となる。   In the sequential processing method, which is one of them, the server distributes jobs in the order of acceptance using all computers, and starts calculating the next job when processing of one job is completed. That is, in the sequential processing method, only one job is calculated at a time. In this case, if there are large and small variations in the job scale, inequality between the waiting time and the processing time becomes a problem, such as a small job waiting for the calculation of a large job.

この問題を解消するために、ジョブの規模相応に計算機を割り当てて並列に計算を進行させる並列計算方式がある。例えば、下記特許文献1には、ジョブの完了期限が考慮されたジョブ配分を実現する分散処理システムが開示されている。この分散処理システムは、稼働情報を共有する複数の計算機を備え、一の計算機に投入されたジョブの実行完了時期を予測し、予測結果に応じて他の計算機にジョブの実行を依頼する。
特開2003−256222号公報
In order to solve this problem, there is a parallel calculation method in which computers are allocated in accordance with the job scale and the calculations are performed in parallel. For example, Patent Document 1 below discloses a distributed processing system that realizes job distribution in consideration of a job completion deadline. This distributed processing system includes a plurality of computers that share operation information, predicts the execution completion time of a job input to one computer, and requests other computers to execute the job according to the prediction result.
JP 2003-256222 A

しかし、並列処理方式では、ジョブの大きさや発生頻度の特性に応じて計算機の割当てを適切に設計しないと、計算機の稼動率が悪化し計算効率が悪くなる。例えば、大小のジョブに対する計算機の割当てを固定にした場合、大小のジョブが均等に与えられるならば各計算機は有効に機能するが、大小のジョブの数が不均衡であると計算効率が悪化してしまう。例えば大きなジョブが連続して与えられると小さなジョブに割り当てた計算機が稼動しないという状況が発生する。一方、ジョブに対する計算機への割当てを可変にすると、大小のジョブの数が不均衡でもすべての計算機がいずれかのジョブに対して常に稼動するため計算効率は悪化しない。しかし、分散処理中に計算機の割当てを変更可能とするプログラムの作成は非常に複雑である。   However, in the parallel processing method, if the computer allocation is not designed appropriately in accordance with the job size and occurrence frequency characteristics, the operation rate of the computer deteriorates and the calculation efficiency deteriorates. For example, if the assignment of computers to large and small jobs is fixed, each computer will function effectively if large and small jobs are given equally, but if the number of large and small jobs is unbalanced, the calculation efficiency will deteriorate. End up. For example, when a large job is continuously given, a situation occurs in which a computer assigned to a small job does not operate. On the other hand, if the assignment of jobs to computers is variable, even if the number of large and small jobs is unbalanced, all computers will always operate for any job, so the calculation efficiency will not deteriorate. However, creating a program that can change the assignment of computers during distributed processing is very complicated.

本発明は、上記課題を解決するためになされたものであり、計算効率を落とすことなく、ジョブに対する計算機の割当てを最適化することが可能な分散処理方法、計算機管理装置及び分散処理システムを提供することを目的とする。   The present invention has been made to solve the above problems, and provides a distributed processing method, a computer management apparatus, and a distributed processing system capable of optimizing the allocation of computers to jobs without reducing the calculation efficiency. The purpose is to do.

本発明の分散処理方法は、複数の計算機を備える分散処理システムにおける分散処理方法であって、ジョブを記憶する記憶ステップと、記憶ステップにおいて記憶されたジョブを最短時間で計算可能な計算機の台数を最適台数として導出する導出ステップと、ジョブ待ち状態の計算機の台数である待ち台数が導出ステップにおいて導出された最適台数以上か否かを判定する判定ステップと、判定ステップにおいて待ち台数が最適台数以上であると判定された場合に、ジョブ待ち状態の計算機から該最適台数分の計算機を選択する選択ステップと、選択ステップにおいて選択された計算機に記憶ステップにおいて記憶されたジョブを分散処理させる処理ステップと、処理ステップにおける分散処理の結果に基づいて、記憶ステップにおいて記憶されたジョブの処理結果を出力する出力ステップと、を含むことを特徴とする。   The distributed processing method of the present invention is a distributed processing method in a distributed processing system including a plurality of computers, and includes a storage step for storing a job, and the number of computers capable of calculating the job stored in the storage step in the shortest time. Derivation step that derives as the optimal number of units, a determination step that determines whether the number of waiting computers, which is the number of computers waiting for a job, is greater than or equal to the optimal number derived in the derivation step, A selection step for selecting the optimal number of computers from the computers in a job waiting state when it is determined that there is a processing step for distributing the jobs stored in the storage step to the computers selected in the selection step; Based on the result of distributed processing in the processing step, stored in the storage step Characterized in that it comprises an output step of outputting the processing result of the job, the.

また、本発明の計算機管理装置は、複数の計算機と通信可能な計算機管理装置であって、ジョブを記憶する記憶手段と、記憶手段に記憶されたジョブを最短時間で計算可能な計算機の台数を最適台数として導出する導出手段と、ジョブ待ち状態の計算機の台数である待ち台数が導出手段により導出された最適台数以上か否かを判定する判定手段と、判定手段により待ち台数が最適台数以上であると判定された場合に、ジョブ待ち状態の計算機から該最適台数分の計算機を選択する選択手段と、選択手段により選択された計算機に記憶手段に記憶されたジョブを分散処理させる処理手段と、処理手段による分散処理の結果に基づいて、記憶手段に記憶されたジョブの処理結果を出力する出力手段と、を備えることを特徴とする。   The computer management apparatus of the present invention is a computer management apparatus capable of communicating with a plurality of computers, and includes a storage means for storing jobs, and the number of computers capable of calculating the jobs stored in the storage means in the shortest time. Deriving means for deriving as the optimal number, determining means for determining whether or not the number of waiting computers as the number of computers in the job waiting state is equal to or larger than the optimal number derived by the deriving means, If it is determined that there is a selection unit that selects the optimal number of computers from the computers in a job waiting state, and a processing unit that distributes the job stored in the storage unit to the computer selected by the selection unit; Output means for outputting the processing result of the job stored in the storage means based on the result of the distributed processing by the processing means.

また、本発明の分散処理システムは、複数の計算機を備える分散処理システムであって、ジョブを記憶する記憶手段と、記憶手段に記憶されたジョブを最短時間で計算可能な計算機の台数を最適台数として導出する導出手段と、ジョブ待ち状態の計算機の台数である待ち台数が導出手段により導出された最適台数以上か否かを判定する判定手段と、判定手段により待ち台数が最適台数以上であると判定された場合に、ジョブ待ち状態の計算機から該最適台数分の計算機を選択する選択手段と、選択手段により選択された計算機に記憶手段に記憶されたジョブを分散処理させる処理手段と、処理手段による分散処理の結果に基づいて、記憶手段に記憶されたジョブの処理結果を出力する出力手段と、を備えることを特徴とする。   Further, the distributed processing system of the present invention is a distributed processing system having a plurality of computers, and the optimum number of storage means for storing jobs and the number of computers capable of calculating the jobs stored in the storage means in the shortest time. Deriving means derived as follows, determining means for determining whether the number of waiting computers as the number of computers waiting for a job is equal to or larger than the optimum number derived by the deriving means, and determining that the waiting number is greater than or equal to the optimum number A selection unit that selects the optimal number of computers from the computers in the job waiting state, a processing unit that distributes the jobs stored in the storage unit in the computer selected by the selection unit; Output means for outputting the processing result of the job stored in the storage means on the basis of the result of the distributed processing according to the above.

このような分散処理方法、計算機管理装置及び分散処理システムによれば、ジョブを最短時間で計算可能な計算機の台数である最適台数以上の計算機がジョブ待ち状態である場合に、ジョブ待ち状態の計算機から最適台数分の計算機が選択され、選択された計算機によりジョブが分散処理される。これにより、計算を実行中の計算機に影響を与えることなく(計算効率を落とすことなく)、ジョブに対する計算機の割当てを最適化することが可能になる。   According to such a distributed processing method, a computer management apparatus, and a distributed processing system, when more than the optimal number of computers capable of calculating a job in the shortest time is in the job waiting state, the computer in the job waiting state The optimal number of computers is selected from the above, and jobs are distributedly processed by the selected computers. This makes it possible to optimize the assignment of computers to jobs without affecting the computers that are executing the calculation (without reducing the calculation efficiency).

本発明の分散処理方法では、判定ステップでは、待ち台数が最適台数未満の場合に、ジョブ待ち状態の計算機の台数が該最適台数に達するまでの到達時間と最短時間との加算時間内に、記憶ステップにおいて記憶されたジョブをジョブ待ち状態の計算機で計算できるか否かを判定し、選択ステップでは、判定ステップにおいて加算時間内にジョブをジョブ待ち状態の計算機で計算できると判定された場合に、該ジョブ待ち状態の計算機をすべて選択することが好ましい。   In the distributed processing method of the present invention, in the determination step, when the number of waiting machines is less than the optimum number, the number of computers waiting for a job is stored within the addition time of the arrival time and the shortest time until the number of computers waiting for the job reaches the optimum number. It is determined whether or not the job stored in the step can be calculated by the computer waiting for the job. In the selection step, if it is determined in the determination step that the job can be calculated by the computer waiting for the job within the addition time, It is preferable to select all the computers waiting for the job.

また、本発明の計算機管理装置では、判定手段が、待ち台数が最適台数未満の場合に、ジョブ待ち状態の計算機の台数が該最適台数に達するまでの時間と最短時間との加算時間内に、記憶手段に記憶されたジョブをジョブ待ち状態の計算機で計算できるか否かを判定し、選択手段が、判定手段により加算時間内にジョブをジョブ待ち状態の計算機で計算できると判定された場合に、該ジョブ待ち状態の計算機をすべて選択することが好ましい。   Further, in the computer management apparatus of the present invention, when the waiting number is less than the optimum number, the determination means is within the addition time of the time until the number of computers waiting for the job reaches the optimum number and the shortest time, When it is determined whether or not the job stored in the storage means can be calculated by the computer waiting for the job, and the selection means determines that the determination means can calculate the job by the computer waiting for the job within the addition time It is preferable to select all the computers waiting for the job.

この場合、ジョブ待ち状態の計算機の台数が最適台数未満であると、現在ジョブ待ち状態にある計算機の台数が最適台数に達するまでの時間と最短時間との加算時間内にジョブを処理できるか否かが更に判定される。そして、処理可能と判定されれば、ジョブ待ち状態の計算機の台数が最適台数に達するまで待つことなく、現在待ち状態にある計算機がすべて選択されて分散処理が実行される。これにより、計算機をより有効に利用して、ジョブの処理をより早く完了することが可能になる。   In this case, if the number of computers waiting for a job is less than the optimum number, whether or not the job can be processed within the addition time of the shortest time until the number of computers currently waiting for a job reaches the optimum number Is further determined. If it is determined that the processing is possible, all the computers in the current waiting state are selected and the distributed processing is executed without waiting until the number of computers in the job waiting state reaches the optimum number. This makes it possible to complete job processing more quickly by using the computer more effectively.

本発明の分散処理方法では、記憶ステップでは、一つ以上の別ジョブを更に記憶し、判定ステップでは、加算時間内にジョブをジョブ待ち状態の計算機で計算できないと判定した場合に、到達時間内に該ジョブ待ち状態の計算機で計算可能な別ジョブが存在するか否かを判定し、選択ステップでは、判定ステップにおいて計算可能な別ジョブが存在すると判定された場合に、ジョブ待ち状態の計算機をすべて選択し、処理ステップでは、判定ステップにおいて計算可能な別ジョブが存在すると判定された場合に、選択ステップにおいて選択された計算機に該計算可能な別ジョブを分散処理させることが好ましい。   In the distributed processing method of the present invention, in the storage step, one or more other jobs are further stored, and in the determination step, if it is determined that the job cannot be calculated by the computer in the job waiting state within the addition time, In the selection step, if it is determined that there is another job that can be calculated in the determination step, the computer waiting for the job is selected. When all are selected and it is determined in the determination step that there is another job that can be calculated in the determination step, it is preferable that the different jobs that can be calculated are distributedly processed by the computer selected in the selection step.

また、本発明の計算機管理装置では、記憶手段が、一つ以上の別ジョブを更に記憶し、判定手段が、加算時間内にジョブをジョブ待ち状態の計算機で計算できないと判定した場合に、到達時間内に該ジョブ待ち状態の計算機で計算可能な別ジョブが存在するか否かを判定し、選択手段が、判定手段により計算可能な別ジョブが存在すると判定された場合にジョブ待ち状態の計算機をすべて選択し、処理手段が、判定手段により計算可能な別ジョブが存在すると判定された場合に、選択手段により選択された計算機に該計算可能な別ジョブを分散処理させることが好ましい。   In the computer management apparatus of the present invention, the storage means further stores one or more other jobs, and the determination means arrives when it is determined that the job cannot be calculated by the computer in the job waiting state within the addition time. It is determined whether there is another job that can be calculated by the computer waiting for the job within the time, and if the selection unit determines that there is another job that can be calculated by the determination unit, the computer waiting for the job When it is determined that there is another job that can be calculated by the determination unit, it is preferable that the computer selected by the selection unit distributes the other job that can be calculated.

この場合、現在ジョブ待ち状態にある計算機がある一つのジョブを加算時間内に処理できないと判定された場合に、到達時間内に処理可能な別ジョブが存在するか否かが更に判定される。そして、そのような別ジョブが存在した場合に、現在待ち状態にある計算機がすべて選択され、別ジョブに対する分散処理が実行される。これにより、計算機をより有効に利用して、ジョブの実行時間を全体として短縮することが可能になる。   In this case, if it is determined that one computer that is currently waiting for a job cannot be processed within the addition time, it is further determined whether there is another job that can be processed within the arrival time. When such another job exists, all computers that are currently waiting are selected, and distributed processing for the other job is executed. This makes it possible to shorten the job execution time as a whole by using the computer more effectively.

本発明の分散処理方法では、ジョブの計算規模を示す係数と計算機の台数とにより定義された関数を用いて、計算機の総数以下の各台数について、記憶ステップにおいて記憶されたジョブを該台数で計算した場合の計算時間を算出する算出ステップを更に含み、導出ステップでは、算出ステップにおいて算出された複数の計算時間のうち最短のものに対応する台数を最適台数として導出することが好ましい。   In the distributed processing method of the present invention, using the function defined by the coefficient indicating the job calculation scale and the number of computers, the number of jobs stored in the storing step is calculated for the number of computers equal to or less than the total number of computers. It is preferable to further include a calculation step for calculating a calculation time in the case where the calculation time is calculated, and in the derivation step, the number corresponding to the shortest of the plurality of calculation times calculated in the calculation step is derived as the optimum number.

また、本発明の計算機管理装置では、ジョブの計算規模を示す係数と計算機の台数とにより定義された関数を用いて、計算機の総数以下の各台数について、記憶手段に記憶されたジョブを該台数で計算した場合の計算時間を算出する算出手段を更に備え、導出手段が、算出手段により算出された複数の計算時間のうち最短のものに対応する台数を最適台数として導出することが好ましい。   In the computer management apparatus of the present invention, the number of jobs stored in the storage means is stored for each number of computers equal to or less than the total number of computers, using a function defined by a coefficient indicating the job calculation scale and the number of computers. It is preferable to further include calculation means for calculating the calculation time in the case of calculating in (4), and the derivation means derives the number corresponding to the shortest of the plurality of calculation times calculated by the calculation means as the optimum number.

この場合、ジョブの計算規模を示す係数と計算機の台数とにより定義された関数を用いて計算時間が算出される。この算出は、使用する計算機が1〜総数の各場合について行われる。そして、算出された複数の計算時間のうち最短のものに対応する台数が最適台数として導出される。ジョブの計算時間はジョブの計算規模と計算機の台数に左右されるから、これら計算規模及び台数により定義された関数を用いることで最適台数をより正確に導出できる。   In this case, the calculation time is calculated using a function defined by the coefficient indicating the job calculation scale and the number of computers. This calculation is performed for each case where 1 to a total number of computers are used. Then, the number corresponding to the shortest calculation time among the plurality of calculated times is derived as the optimum number. Since the job calculation time depends on the job calculation scale and the number of computers, the optimum number can be derived more accurately by using a function defined by the calculation scale and the number of computers.

このような分散処理方法、計算機管理装置及び分散処理システムによれば、ジョブを処理する計算機が、ジョブを最短時間で計算可能な計算機の台数とジョブ待ち状態の計算機の台数との比較に基づいて選択されるので、計算効率を落とすことなく、ジョブに対する計算機の割当てを最適化できる。   According to such a distributed processing method, computer management apparatus, and distributed processing system, a computer that processes a job is based on a comparison between the number of computers that can calculate a job in the shortest time and the number of computers in a job waiting state. Since it is selected, it is possible to optimize the assignment of computers to jobs without reducing the calculation efficiency.

以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the description of the drawings, the same or equivalent elements are denoted by the same reference numerals, and redundant description is omitted.

まず、図1を用いて、実施形態に係る分散処理システム1を説明する。図1は分散処理システム1の全体構成を示す図である。図2は、図1に示す計算機管理装置10のハードウェア構成を示す図である。図3はキュー管理情報の構成を示す図である。図4は計算機情報の構成を示す図である。   First, the distributed processing system 1 according to the embodiment will be described with reference to FIG. FIG. 1 is a diagram showing the overall configuration of the distributed processing system 1. FIG. 2 is a diagram showing a hardware configuration of the computer management apparatus 10 shown in FIG. FIG. 3 is a diagram showing the configuration of queue management information. FIG. 4 is a diagram showing a configuration of computer information.

分散処理システム1は、複数のジョブを並列に処理することが可能な計算機システムであり、計算機管理装置10とN台の計算機20とを備えている。計算機管理装置10と各計算機20とは図示しないネットワーク(例えばインターネットや構内通信網(LAN)など)を介して通信可能である。   The distributed processing system 1 is a computer system capable of processing a plurality of jobs in parallel, and includes a computer management apparatus 10 and N computers 20. The computer management apparatus 10 and each computer 20 can communicate with each other via a network (not shown) (for example, the Internet or a local area network (LAN)).

計算機管理装置10は、各計算機20にジョブを割り当てて分散処理を実行させ、その分散処理の結果に基づいてジョブの処理結果を生成し出力する。このために、計算機管理装置10は入力部11、キュー管理部(記憶手段)12、計算機管理部13、計算時間予測部(算出手段)14、分散処理開始部(導出手段、判定手段、選択手段、処理手段)15、結果受信部16及び出力部(出力手段)17を備えている。   The computer management apparatus 10 assigns a job to each computer 20 to execute distributed processing, and generates and outputs a job processing result based on the result of the distributed processing. For this purpose, the computer management apparatus 10 includes an input unit 11, a queue management unit (storage unit) 12, a computer management unit 13, a calculation time prediction unit (calculation unit) 14, and a distributed processing start unit (derivation unit, determination unit, selection unit). , Processing means) 15, result receiving section 16 and output section (output means) 17.

計算機管理装置10は、図2に示すように、オペレーティングシステムやアプリケーションプログラムなどを実行するCPU101、ROM及びRAMで構成される主記憶部102、ハードディスクなどで構成される補助記憶部103、ネットワークカードなどの通信制御部104、キーボードやマウスなどの入力インタフェース(I/F)105、及びモニタやプリンタなどの出力インタフェース(I/F)106で構成される。図1に示される各機能は、図2に示すCPU101や主記憶部102の上に所定のソフトウェアを読み込ませ、CPU101の制御の下で通信制御部104を動作させるとともに、主記憶部102や補助記憶部103におけるデータの読み出し及び書き込みを行うことで実現される。   As shown in FIG. 2, the computer management apparatus 10 includes a CPU 101 that executes an operating system, application programs, and the like, a main storage unit 102 that includes a ROM and a RAM, an auxiliary storage unit 103 that includes a hard disk, a network card, and the like Communication control unit 104, an input interface (I / F) 105 such as a keyboard and a mouse, and an output interface (I / F) 106 such as a monitor and a printer. Each function shown in FIG. 1 reads predetermined software on the CPU 101 and the main storage unit 102 shown in FIG. 2 and operates the communication control unit 104 under the control of the CPU 101, This is realized by reading and writing data in the storage unit 103.

入力部11は、ユーザの計算要求であるジョブの入力を受け付けてキュー管理部12に出力する手段である。入力部11はユーザにより入力されたジョブを直接受け付けてもよいし、図示しない他の情報処理装置から入力されたジョブを受け付けてもよい。   The input unit 11 is a unit that receives a job input as a user calculation request and outputs the job to the queue management unit 12. The input unit 11 may directly accept a job input by a user, or may accept a job input from another information processing apparatus (not shown).

キュー管理部12は、入力部11から入力されたジョブを、キューを用いて記憶(登録)する手段である。キュー管理部12はキューの状態(各ジョブの状態)を示すキュー管理情報を保持している。   The queue management unit 12 is means for storing (registering) a job input from the input unit 11 using a queue. The queue management unit 12 holds queue management information indicating the queue status (status of each job).

キュー管理情報は、図3に示すように、ジョブを識別するジョブ番号、ジョブの受付日時、ジョブの状況を示す計算状況、計算開始日時、計算条件及び計算時間予測テーブルを含んでいる。ジョブ番号は、記憶された日時が古いジョブから昇順に割り当てられる。計算状況は、例えば、「計算完了」、「(x台で)計算中」、「計算待ち」などのように示される。計算条件とは、ジョブの計算に必要なパラメータである。計算時間予測テーブルは、計算機の台数毎に(1〜Nのそれぞれについて)算出したジョブの予測計算時間で構成される。例えば、図3におけるジョブ番号2のジョブを1台の計算機20で計算した場合の計算時間はx(秒)と予測され、同ジョブをN台の計算機20で計算した場合の計算時間はx´´(秒)と予測されている。   As shown in FIG. 3, the queue management information includes a job number for identifying a job, a job reception date and time, a calculation status indicating a job status, a calculation start date and time, a calculation condition, and a calculation time prediction table. Job numbers are assigned in ascending order from the job with the oldest stored date. The calculation status is indicated, for example, as “calculation completed”, “calculating (in x units)”, “waiting for calculation”, or the like. The calculation condition is a parameter necessary for job calculation. The calculation time prediction table is configured with the predicted calculation time of the job calculated for each number of computers (for each of 1 to N). For example, the calculation time when the job of job number 2 in FIG. 3 is calculated by one computer 20 is predicted to be x (seconds), and the calculation time when the job is calculated by N computers 20 is x ′. '(Second) is predicted.

キュー管理部12は、入力部11からジョブが入力されると、そのジョブを記憶すると共に、そのジョブのキュー管理情報を生成して記憶する。その後、キュー管理部12は分散処理開始部15又は結果受信部16から入力されたジョブの情報に基づいてキュー管理情報を更新する。分散処理開始部15からジョブ情報が入力されると、キュー管理部12は該当するジョブの計算状況を「x台で計算中(x=1〜N)」に更新すると共に計算開始日時を更新する。また、結果受信部16からジョブ情報が入力された場合には、キュー管理部12は該当するジョブの計算状況を「計算完了」に更新する。   When a job is input from the input unit 11, the queue management unit 12 stores the job and also generates and stores queue management information for the job. Thereafter, the queue management unit 12 updates the queue management information based on the job information input from the distributed processing start unit 15 or the result reception unit 16. When job information is input from the distributed processing start unit 15, the queue management unit 12 updates the calculation status of the corresponding job to “calculating in x units (x = 1 to N)” and the calculation start date and time. . When job information is input from the result receiving unit 16, the queue management unit 12 updates the calculation status of the corresponding job to “computation completed”.

計算時間予測部14は、キュー管理部12に記憶されたジョブの内容に基づいてそのジョブの計算時間を算出(予測)する手段である。計算時間予測部14は分散処理システム1内の計算機20の総数以下の各台数についてその計算時間を算出する。   The calculation time prediction unit 14 is a means for calculating (predicting) the calculation time of the job based on the contents of the job stored in the queue management unit 12. The calculation time prediction unit 14 calculates the calculation time for each number of computers equal to or less than the total number of computers 20 in the distributed processing system 1.

例えば、計算時間予測部14は、下記式(1)で示される予測関数を用いて計算時間を算出する。なお、式(1)におけるxはジョブの計算規模を示す係数(計算規模係数)であり、nは計算に用いる計算機の台数(分散台数)である。すなわち、予測関数は計算規模係数と分散台数により定義される。
f(x,n)=x/n+0.1nx …(1)
For example, the calculation time prediction unit 14 calculates the calculation time using a prediction function represented by the following formula (1). In Equation (1), x is a coefficient indicating the job calculation scale (calculation scale coefficient), and n is the number of computers used for calculation (distributed number). That is, the prediction function is defined by the calculation scale factor and the number of distributed units.
f (x, n) = x / n + 0.1nx (1)

計算規模係数xは計算条件に基づいて決定され、ジョブの種類により異なる値が設定される。例えば、携帯電話のサービスエリアを推定するシステム(推定システム)において、ある地点における電波の受信強度を計算する場合には、計算規模係数は計算対象の地点の数で表すことができる。   The calculation scale factor x is determined based on calculation conditions, and a different value is set depending on the type of job. For example, in a system for estimating the service area of a mobile phone (estimation system), when calculating the radio wave reception intensity at a certain point, the calculation scale factor can be expressed by the number of points to be calculated.

また、計算時間予測部14は、二種類の計算規模係数を含む予測関数f(x1,x2,n)を用いることもできる。例えば、計算時間予測部14は上記推定システムの計算時間を計算対象の地点の数と基地局の数という二種類の計算規模係数を用いて予測することが可能である。   The calculation time prediction unit 14 can also use a prediction function f (x1, x2, n) including two types of calculation scale factors. For example, the calculation time prediction unit 14 can predict the calculation time of the estimation system using two types of calculation scale factors, that is, the number of points to be calculated and the number of base stations.

予測関数f(x1,x2,n)の右辺は多変量解析を用いて決定できる。したがって、予測関数は、適用対象のシステム(例えば上記推定システムなど)の計算条件であるパラメータと多変量解析とにより決定される。上記式(1)の右辺も、多変量解析により決定されたものである。   The right side of the prediction function f (x1, x2, n) can be determined using multivariate analysis. Therefore, the prediction function is determined by a parameter that is a calculation condition of a system to be applied (for example, the estimation system described above) and multivariate analysis. The right side of the above formula (1) is also determined by multivariate analysis.

また、計算時間予測部14は、式(1)のような予測関数とは異なる計算時間関数を用いてもよい。計算時間予測部14は、適用対象のシステムにおいて計算条件と計算時間との関係が予め判明している場合に計算時間関数を用いることが可能である。例えば、適用対象のシステムにおいて、一つの事象(問題)を解くために必ず一定の時間aが必要であることと、その事象をn台の計算機に分散処理させると計算時間が1/nになるが計算時間の10分の1が分散処理のロスとして分散台数nの分だけ掛かることとが判明しているとする。この場合、計算時間予測部14は、下記式(2)で示される計算時間関数を用いて計算時間を算出できる。なお、式(2)におけるx´は、事象の数(計算規模係数の一種)であり、nは分散台数である。すなわち、計算時間関数は解決すべき事象の数と分散台数により定義される。
f(x´,n)=a(x´/n+0.1nx´) …(2)
Further, the calculation time prediction unit 14 may use a calculation time function different from the prediction function such as Expression (1). The calculation time prediction unit 14 can use the calculation time function when the relationship between the calculation condition and the calculation time is known in advance in the application target system. For example, in a system to be applied, a certain time a is necessarily required to solve one event (problem), and when the event is distributed to n computers, the calculation time becomes 1 / n. However, it has been found that one-tenth of the calculation time takes as much as the number of distributed units n as a loss of distributed processing. In this case, the calculation time prediction unit 14 can calculate the calculation time using a calculation time function represented by the following formula (2). In addition, x 'in Formula (2) is the number of events (a kind of calculation scale factor), and n is a distributed number. That is, the calculation time function is defined by the number of events to be solved and the number of distributed units.
f (x ′, n) = a (x ′ / n + 0.1nx ′) (2)

計算時間予測部14は、キュー管理部12がジョブを記憶したときに、キュー管理部12からジョブに関する情報(例えば計算条件や計算規模など)を取得し、そのジョブに対する計算時間を分散台数1〜Nのそれぞれに対して算出する。そして、計算時間予測部14は計算結果をキュー管理情報の計算時間予測テーブルに格納する。   When the queue management unit 12 stores a job, the calculation time prediction unit 14 acquires information about the job (for example, calculation conditions and a calculation scale) from the queue management unit 12, and calculates the calculation time for the job from the distributed number 1 Calculate for each of N. Then, the calculation time prediction unit 14 stores the calculation result in the calculation time prediction table of the queue management information.

計算機管理部13は、N台の計算機20のそれぞれの状態を記憶する手段である。計算機管理部13は図4に示すような計算機情報を保持し、必要に応じてその計算機情報を更新する。   The computer management unit 13 is a means for storing the state of each of the N computers 20. The computer management unit 13 holds computer information as shown in FIG. 4 and updates the computer information as necessary.

計算機情報は各計算機20に対して設定されており、計算機番号と、計算状態と、その他情報とを含んでいる。計算機番号とは計算機20の識別子である。計算状態とは計算機20の現在の情報を示す情報である。例えば、現在ジョブを処理していることを示す「計算中」や、現在ジョブの処理を行っていないことを示す「計算待ち(ジョブ待ち)」などの値が計算状態として設定される。その他情報としては、例えば図4に示すようなIPアドレスが挙げられるが、他の情報(例えばマシン名や機種名など)をその他情報として設定してもよい。   The computer information is set for each computer 20 and includes a computer number, a calculation state, and other information. The computer number is an identifier of the computer 20. The calculation state is information indicating current information of the computer 20. For example, values such as “under calculation” indicating that the current job is being processed and “waiting for calculation (waiting for job)” indicating that the current job is not being processed are set as the calculation state. Examples of the other information include an IP address as shown in FIG. 4, but other information (for example, a machine name or a model name) may be set as the other information.

計算機管理部13は分散処理開始部15又は結果受信部16から入力された計算機20の情報に基づいて計算機情報を更新する。分散処理開始部15から計算機情報が入力されると、キュー管理部12は該当する計算機20の計算状態を「計算中」に更新し、結果受信部16から計算機情報が入力されると、該当する計算機20の計算状態を「計算待ち」に更新する。   The computer management unit 13 updates the computer information based on the information of the computer 20 input from the distributed processing start unit 15 or the result reception unit 16. When computer information is input from the distributed processing start unit 15, the queue management unit 12 updates the calculation state of the corresponding computer 20 to “under calculation”, and when computer information is input from the result receiving unit 16, The calculation state of the computer 20 is updated to “waiting for calculation”.

分散処理開始部15は、キュー管理部12に記憶されているジョブを分割し、分割したジョブ(以下「被分割ジョブ」という)をジョブ待ち状態にある計算機に送信する手段である。   The distributed processing start unit 15 is a unit that divides a job stored in the queue management unit 12 and transmits the divided job (hereinafter referred to as “divided job”) to a computer in a job waiting state.

まず、分散処理開始部15は計算機管理部13に記憶されている計算機情報を参照してジョブ待ち状態の計算機20が存在するか否かを判定する。このとき、そのような計算機20が存在しなければ、分散処理開始部15はいずれかの計算機20において計算が終了するまで何も行わない。   First, the distributed processing start unit 15 refers to the computer information stored in the computer management unit 13 and determines whether there is a computer 20 in a job waiting state. At this time, if such a computer 20 does not exist, the distributed processing start unit 15 does nothing until the calculation is completed in any of the computers 20.

一方、ジョブ待ち状態の計算機20が存在する場合には、分散処理開始部15はキュー管理部12に記憶されている未処理のジョブのうち最も先に登録されたジョブ(以下「最先ジョブ」という)を最短時間で計算可能な計算機20の台数を最適台数として導出する。例えばキュー管理情報が図3に示す状態にある場合、分散処理開始部15はジョブ番号が4であるジョブの計算時間予測テーブルを参照し、予測計算時間が最小である台数を最適台数として選択する。なお、以下では、最適台数に対応する予測計算時間を最適計算時間(最短時間)Tという。 On the other hand, when there is a computer 20 in the job waiting state, the distributed processing start unit 15 sets the job registered first among unprocessed jobs stored in the queue management unit 12 (hereinafter “first job”). The number of computers 20 that can be calculated in the shortest time is derived as the optimum number. For example, when the queue management information is in the state shown in FIG. 3, the distributed processing start unit 15 refers to the calculation time prediction table of the job having the job number 4, and selects the number with the minimum predicted calculation time as the optimum number. . In the following description, the optimal prediction computation time corresponding to the optimum number calculating time (shortest time) that T o.

なお、最適計算時間Tに対応する台数が複数導出されることがある。この場合、分散処理開始部15は、最適計算時間Tでの計算が期待できる台数のうち最も少ない台数を最適台数とする。例えば、あるジョブを4台又は5台の計算機に計算させると計算時間が最短になる場合には、分散処理開始部15は最適台数を4に設定する。 Incidentally, it may number corresponding to the optimum calculation time T o is more derived. In this case, the distributed processing starting unit 15, the optimum number of smallest number among the number of units expected to calculation in optimization calculation time T o. For example, if the calculation time is the shortest when a certain job is calculated by four or five computers, the distributed processing start unit 15 sets the optimum number to four.

続いて、分散処理開始部15はジョブ待ち状態の計算機20の台数である待ち台数が最適台数以上か否かを判定する。なお、図4に示す計算機情報では、計算状態が「計算待ち」である計算機番号3及び4がジョブ待ち状態の計算機に相当する。分散処理開始部15は、待ち台数が最適台数以上である場合に、ジョブ待ち状態の計算機20から最適台数分の計算機20を選択する。続いて、分散処理開始部15は、選択された計算機20に最先ジョブを分散処理させるために、最先ジョブを分割し、選択された計算機20のそれぞれに被分割ジョブを送信する。   Subsequently, the distributed processing start unit 15 determines whether or not the waiting number, which is the number of computers 20 in the job waiting state, is equal to or greater than the optimum number. In the computer information shown in FIG. 4, computer numbers 3 and 4 whose calculation state is “waiting for calculation” correspond to computers in the job waiting state. When the waiting number is equal to or greater than the optimal number, the distributed processing start unit 15 selects the optimal number of computers 20 from the computers 20 in the job waiting state. Subsequently, the distributed processing start unit 15 divides the earliest job in order to cause the selected computer 20 to distribute the earliest job, and transmits the divided job to each of the selected computers 20.

一方、待ち台数が最適台数未満である場合、分散処理開始部15はジョブ待ち状態の計算機の台数が最適台数に達するまでの時間(以下「到達時間T」という)を算出し、到達時間Tと最適計算時間(最短時間)Tとを加算する。分散処理開始部15は、一以上のジョブについて処理終了までの時間を算出することで到達時間Tを導出できる。例えば、あるジョブの計算開始時刻と現在時刻とがそれぞれ10:00、10:02であり、そのジョブの処理時間が180秒であれば、そのジョブを実行している計算機は60秒後に計算待ち状態になることが分かる。場合によっては、分散処理開始部15は複数のジョブの処理時間に基づいて到達時間Tを算出する。 On the other hand, when the number of waiting machines is less than the optimum number, the distributed processing start unit 15 calculates the time required for the number of computers waiting for a job to reach the optimum number (hereinafter referred to as “arrival time T a ”). a and the optimal calculation time for adding the (shortest time) T o. Distributed processing start unit 15 can derive an arrival time T a by calculating the time until the process end for one or more jobs. For example, if the calculation start time and the current time of a job are 10:00 and 10:02, respectively, and the processing time of the job is 180 seconds, the computer executing the job waits for calculation after 60 seconds. It turns out that it will be in a state. Optionally, distributed processing start unit 15 calculates an arrival time T a based on the processing time of a plurality of jobs.

続いて、分散処理開始部15はジョブ待ち状態の計算機をすべて用いて最先ジョブを計算した場合の時間(以下「第2計算時間T」という)が加算時間(T+T)以下か否かを判定する。 Subsequently, the distributed processing start unit 15 determines whether the time (hereinafter referred to as “second calculation time T s ”) when the first job is calculated using all the computers waiting for the job is equal to or shorter than the addition time (T a + T o ). Determine whether or not.

ここで、T≦T+Tであれば、分散処理開始部15は加算時間(T+T)以内に最先ジョブをジョブ待ち状態の計算機で計算できると判定し、ジョブ待ち状態の計算機20をすべて選択する。続いて、分散処理開始部15は、選択された計算機20に最先ジョブを分散処理させるために、最先ジョブを分割し、選択された計算機20のそれぞれに被分割ジョブを送信する。 Here, if T s ≦ T a + T o , the distributed processing start unit 15 determines that the earliest job can be calculated by the computer in the job waiting state within the addition time (T a + T o ), and the job waiting state All the computers 20 are selected. Subsequently, the distributed processing start unit 15 divides the earliest job in order to cause the selected computer 20 to distribute the earliest job, and transmits the divided job to each of the selected computers 20.

一方、T>T+Tである場合、分散処理開始部15は到達時間T内にジョブ待ち状態の計算機20で計算可能な別ジョブ(最先ジョブ以外の未処理のジョブ)が存在するか否かを判定する。具体的には、分散処理開始部15は、そのような別ジョブに対して、ジョブ待ち状態の計算機20をすべて用いて計算した場合の時間(第2計算時間T)を算出し、T≦Tか否かを判定する。分散処理開始部15はこの判定処理を受付日時の古い別ジョブから順に実行する。 On the other hand, T s> if a T a + T o, distributed processing starting unit 15 there is another job that can be calculated by the computer 20 of the job waiting in the arrival time T a (unprocessed job other than the earliest job) It is determined whether or not to do. Specifically, the distributed processing start unit 15 calculates a time (second calculation time T t ) when such a different job is calculated using all the computers 20 in the job waiting state, and T t It determines ≦ T a or not. The distributed processing start unit 15 executes this determination processing in order from another job with the oldest reception date.

ここで、ある別ジョブについてT≦Tである場合、分散処理開始部15はジョブ待ち状態の計算機20をすべて選択する。続いて、分散処理開始部15は、選択された計算機20にその別ジョブを分散処理させるために、その別ジョブを分割し、選択された計算機20のそれぞれに被分割ジョブを送信する。一方、すべての別ジョブについてT>Tの場合、分散処理開始部15は何も行わない。 Here, when T t ≦ T a for a certain other job, the distributed processing start unit 15 selects all the computers 20 in the job waiting state. Subsequently, the distributed processing start unit 15 divides the other job in order to cause the selected computer 20 to distribute the different job, and transmits the divided job to each of the selected computers 20. On the other hand, if T t > T a for all other jobs, the distributed processing start unit 15 does nothing.

分散処理開始部15は、選択した計算機20に被分割ジョブを送信すると、分散処理を行うジョブ(最先ジョブ又は別ジョブ)の情報をキュー管理部12に出力すると共に、被分割ジョブの送信先である計算機20の情報を計算機管理部13に出力する。   When the distributed processing start unit 15 transmits the divided job to the selected computer 20, the distributed processing start unit 15 outputs information on the job (first job or another job) to be distributed to the queue management unit 12 and transmits the divided job transmission destination. Is output to the computer management unit 13.

結果受信部16は、計算機20から送信されてきた被分割ジョブの計算結果、すなわち分散処理の結果に基づいて、ジョブの処理結果を生成する手段である。結果受信部16は、あるジョブに対する被分割ジョブの計算結果をすべて受信すると、その計算結果からジョブの計算結果を生成し出力部17に出力する。また、結果受信部16は、被分割ジョブの計算結果を受信すると、計算結果の送信元である計算機20の情報を計算機管理部13に送信する。更に、結果受信部16は、あるジョブに対する被分割ジョブをすべて受信すると、そのジョブの情報をキュー管理部12に出力する。   The result receiving unit 16 is a means for generating a job processing result based on the calculation result of the divided job transmitted from the computer 20, that is, the result of the distributed processing. When the result receiving unit 16 receives all the calculation results of the divided jobs for a certain job, the result receiving unit 16 generates a job calculation result from the calculation result and outputs the job calculation result to the output unit 17. When the result receiving unit 16 receives the calculation result of the divided job, the result receiving unit 16 transmits the information of the computer 20 that is the transmission source of the calculation result to the computer managing unit 13. Further, when all the divided jobs for a certain job are received, the result receiving unit 16 outputs the job information to the queue management unit 12.

出力部17は、結果受信部16から入力された計算結果をモニタやプリンタなどの出力装置に出力する手段である。   The output unit 17 is means for outputting the calculation result input from the result receiving unit 16 to an output device such as a monitor or a printer.

計算機20は、計算機管理装置10から受信したジョブを処理し、処理結果を計算機管理装置10に送信する。このために、計算機20はジョブ受信部21、ジョブ処理部22及び結果送信部23を備えている。計算機20のハードウェア構成は図2に示すものと同様である。   The computer 20 processes the job received from the computer management apparatus 10 and transmits the processing result to the computer management apparatus 10. For this purpose, the computer 20 includes a job receiving unit 21, a job processing unit 22, and a result transmitting unit 23. The hardware configuration of the computer 20 is the same as that shown in FIG.

ジョブ受信部21は、計算機管理装置10から被分割ジョブを受信する手段である。ジョブ受信部21は受信した被分割ジョブをジョブ処理部22に出力する。   The job receiving unit 21 is means for receiving a divided job from the computer management apparatus 10. The job receiving unit 21 outputs the received divided job to the job processing unit 22.

ジョブ処理部22は、被分割ジョブを処理する手段である。ジョブ処理部22は入力された被分割ジョブに基づいて所定の計算を行い、計算結果を生成する。ジョブ処理部22は、生成した計算結果を結果送信部23に出力する。   The job processing unit 22 is means for processing the divided job. The job processing unit 22 performs a predetermined calculation based on the input divided job and generates a calculation result. The job processing unit 22 outputs the generated calculation result to the result transmission unit 23.

結果送信部23は、ジョブ処理部22から入力された被分割ジョブの計算結果を計算機管理装置10に送信する手段である。   The result transmission unit 23 is a unit that transmits the calculation result of the divided job input from the job processing unit 22 to the computer management apparatus 10.

次に、図5及び6を用いて、図1に示す分散処理システムの動作を説明するとともに本実施形態に係る分散処理方法について説明する。図5及び6はそれぞれ分散処理システムの処理を説明するフローチャートである。   Next, the operation of the distributed processing system shown in FIG. 1 will be described with reference to FIGS. 5 and 6, and the distributed processing method according to the present embodiment will be described. 5 and 6 are flowcharts for explaining the processing of the distributed processing system.

まず、計算機管理装置10において、入力部11がジョブの入力を受け付け、キュー管理部12が受け付けられたジョブを登録する(ステップS11、記憶ステップ)。続いて、計算時間予測部14が登録されたジョブの計算時間を算出して計算時間予測テーブルを生成する(ステップS12、算出ステップ)。具体的には、計算時間予測部14は、接続している計算機20の台数を上限として、計算機の台数毎に所定の関数(例えば上記式(1)や式(2)など)を用いてジョブの計算時間を算出し、キュー管理情報内の計算時間予測テーブルに算出結果を記録する。   First, in the computer management apparatus 10, the input unit 11 receives an input of a job, and the queue management unit 12 registers the received job (step S11, storage step). Subsequently, the calculation time prediction unit 14 calculates the calculation time of the registered job and generates a calculation time prediction table (step S12, calculation step). Specifically, the calculation time prediction unit 14 uses a predetermined function (for example, the above formula (1) or formula (2)) for each number of computers with the number of connected computers 20 as an upper limit. And the calculation result is recorded in the calculation time prediction table in the queue management information.

続いて、分散処理開始部15が、ジョブ待ち状態の計算機20が存在するか否かを判定する(ステップS13)。このとき、そのような計算機20が存在しなければ(ステップS13;NO)、処理が終了する。一方、ジョブ待ち状態の計算機20が存在すれば(ステップS13;YES)、分散処理開始部15は最先ジョブの計算時間予測テーブルに基づいて最先ジョブの最適台数を導出する(ステップS14、導出ステップ)。続いて、分散処理開始部15はジョブ待ち状態にある計算機20の台数(待ち台数)が導出された最適台数以上か否かを判定し(ステップS15、判定ステップ)、待ち台数が最適台数以上であれば(ステップS15;YES)、ジョブ待ち状態の計算機から最適台数分の計算機を選択する(ステップS16、選択ステップ)。   Subsequently, the distributed processing start unit 15 determines whether there is a computer 20 in a job waiting state (step S13). At this time, if such a computer 20 does not exist (step S13; NO), the process ends. On the other hand, if there is a computer 20 in the job waiting state (step S13; YES), the distributed processing start unit 15 derives the optimum number of the earliest jobs based on the calculation time prediction table of the earliest job (step S14, derivation). Step). Subsequently, the distributed processing start unit 15 determines whether or not the number of computers 20 in the job waiting state (waiting number) is equal to or greater than the derived optimum number (step S15, determination step), and the number of waiting units is equal to or greater than the optimum number. If there is (step S15; YES), the optimal number of computers are selected from the computers waiting for the job (step S16, selection step).

続いて、分散処理開始部15は最先ジョブを分割し、被分割ジョブを選択された計算機20のそれぞれに送信することで分散処理を開始する(ステップS17、処理ステップ)。このとき、キュー管理部12が最先ジョブのキュー管理情報を更新し、計算機管理部13が選択された計算機20の計算機情報を更新する(ステップS18)。これにより、最先ジョブが処理されていること、及び最適台数分の計算機20において計算が行われていることが記憶される。   Subsequently, the distributed processing start unit 15 divides the earliest job and starts the distributed processing by transmitting the divided job to each of the selected computers 20 (step S17, processing step). At this time, the queue management unit 12 updates the queue management information of the earliest job, and the computer management unit 13 updates the computer information of the selected computer 20 (step S18). As a result, it is stored that the earliest job is being processed and that calculations are being performed in the optimal number of computers 20.

その後、選択された各計算機20において被分割ジョブの計算が実行される(ステップS19)。続いて、計算機管理装置10の結果受信部16が被分割ジョブの計算結果を取得し、その計算結果に基づいて最先ジョブの計算結果を生成する(ステップS20、出力ステップ)。このとき、キュー管理部12が最先ジョブのキュー管理情報を更新し、計算機管理部13が計算を実行した計算機20の計算機情報を更新する(ステップS21)。これにより、最先ジョブが処理されたこと、及び最適台数分の計算機20がジョブ待ち状態に遷移したことが記憶される。続いて、出力部17が結果受信部16により生成された計算結果を出力する(ステップS22、出力ステップ)。   Thereafter, the divided job is calculated in each selected computer 20 (step S19). Subsequently, the result receiving unit 16 of the computer management apparatus 10 acquires the calculation result of the divided job, and generates the calculation result of the earliest job based on the calculation result (step S20, output step). At this time, the queue management unit 12 updates the queue management information of the earliest job, and the computer management unit 13 updates the computer information of the computer 20 that has executed the calculation (step S21). As a result, it is stored that the earliest job has been processed and that the optimal number of computers 20 have transitioned to the job waiting state. Subsequently, the output unit 17 outputs the calculation result generated by the result receiving unit 16 (step S22, output step).

なお、最先ジョブの分散処理が実行された後に他の計算待ちのジョブが存在する場合は(ステップS23;YES)、新たな最先ジョブに対して上記ステップS14〜S22の処理が実行される。   If there is another job waiting for calculation after the distributed processing of the earliest job is executed (step S23; YES), the processing of steps S14 to S22 is executed for the new earliest job. .

以上に対して、上記ステップS15においてジョブ待ち状態の計算機20の台数が最適台数未満であった場合には(ステップS15;NO)、図6に示す処理が実行される。   On the other hand, when the number of computers 20 waiting for a job is less than the optimum number in step S15 (step S15; NO), the processing shown in FIG. 6 is executed.

この場合、まず、分散処理開始部15はジョブ待ち状態の計算機の台数が最適台数に達する間での時間(到達時間)を算出する(ステップS31)。続いて、分散処理開始部15はジョブ待ち状態の計算機をすべて用いて最先ジョブを計算した場合の時間(第2計算時間)をキュー管理情報から取得する(ステップS32)。そして、分散処理開始部15は第2計算時間が到達時間と最適計算時間との加算時間以下か否かを判定する(ステップS33、判定ステップ)。このとき、第2計算時間が加算時間以下であれば(ステップS33;YES)、分散処理開始部15は、加算時間内に最先ジョブをジョブ待ち状態の計算機20で計算できると判定し、ジョブ待ち状態の計算機20をすべて選択する(ステップS34、選択ステップ)。その後、最先ジョブについて上記ステップS17以降の処理が実行される。   In this case, first, the distributed processing start unit 15 calculates the time (arrival time) during which the number of computers in the job waiting state reaches the optimum number (step S31). Subsequently, the distributed processing start unit 15 acquires the time (second calculation time) when the earliest job is calculated using all the computers in the job waiting state from the queue management information (step S32). Then, the distributed processing start unit 15 determines whether or not the second calculation time is equal to or shorter than the addition time of the arrival time and the optimal calculation time (step S33, determination step). At this time, if the second calculation time is equal to or shorter than the addition time (step S33; YES), the distributed processing start unit 15 determines that the first job can be calculated by the computer 20 in the job waiting state within the addition time, and the job All the waiting computers 20 are selected (step S34, selection step). Thereafter, the processes after step S17 are executed for the earliest job.

一方、第2計算時間が加算時間よりも長い場合には(ステップS34;NO)、分散処理開始部15は、到達時間内にジョブ待ち状態の計算機20で計算可能な別ジョブが存在するか否かを判定する(ステップS35、判定ステップ)。具体的には、分散処理開始部15は最先ジョブ以外の未処理のジョブについて第2計算時間を算出し、その第2計算時間と到達時間とを比較することでその判定を実行する。このとき、計算可能な別ジョブが存在すれば(ステップS35;YES)、分散処理開始部15はジョブ待ち状態の計算機20をすべて選択し(ステップS34、選択ステップ)、その後、その別ジョブについて上記ステップS17以降の処理が実行される。一方、そのような別ジョブが存在しなければ(ステップS35;NO)、処理が終了する。   On the other hand, when the second calculation time is longer than the addition time (step S34; NO), the distributed processing start unit 15 determines whether there is another job that can be calculated by the computer 20 in the job waiting state within the arrival time. (Step S35, determination step). Specifically, the distributed processing start unit 15 calculates the second calculation time for an unprocessed job other than the earliest job, and executes the determination by comparing the second calculation time with the arrival time. At this time, if there is another job that can be calculated (step S35; YES), the distributed processing starting unit 15 selects all the computers 20 in the job waiting state (step S34, selection step), and thereafter The process after step S17 is performed. On the other hand, if such another job does not exist (step S35; NO), the process ends.

次に、図7〜9を用いて上記分散処理方法の具体例を説明する。図7はキュー管理情報の具体例を示す図である。図8は計算機情報の具体例を示す図である。図9は5台の計算機の稼働状況を時系列で示した図である。図7及び8においては、説明に直接関係の無い情報の記載を省略している。その一方で、図7においては、説明のために計算規模係数を記載している。   Next, a specific example of the distributed processing method will be described with reference to FIGS. FIG. 7 shows a specific example of queue management information. FIG. 8 is a diagram showing a specific example of computer information. FIG. 9 is a diagram showing the operating status of five computers in time series. 7 and 8, the description of information not directly related to the explanation is omitted. On the other hand, in FIG. 7, the calculation scale factor is shown for explanation.

以下の説明では、分散処理システム1内には計算機が5台(計算機C1〜C5とする)あることを前提とする。図7の計算時間予測テーブルには上記式(1)の予測関数を用いて算出された予測計算時間(分)が格納されている。なお、この予測計算時間と実計算時間とは一致するものとする。   In the following description, it is assumed that the distributed processing system 1 has five computers (computers C1 to C5). The calculation time prediction table of FIG. 7 stores the prediction calculation time (minutes) calculated using the prediction function of the above equation (1). Note that the predicted calculation time and the actual calculation time are the same.

図9に示すように、ジョブJ1が登録された9:00時点では計算機C1〜C5のいずれもジョブ待ちの状態にある。一方、図7を見ると、ジョブJ1の最適台数は3である。したがって、分散処理開始部15は3台の計算機を選択し(図9の例では計算機C1〜C3)、これらの計算機にジョブJ1を実行させる。   As shown in FIG. 9, at the time of 9:00 when the job J1 is registered, all of the computers C1 to C5 are in a job waiting state. On the other hand, referring to FIG. 7, the optimum number of jobs J1 is three. Accordingly, the distributed processing start unit 15 selects three computers (computers C1 to C3 in the example of FIG. 9), and causes these computers to execute job J1.

その後、11:00にジョブJ2が登録される。ジョブJ2の最適台数は3であるが、ジョブ待ち状態の計算機は2台(計算機C4,C5)しか存在しない。したがって、分散処理開始部15はジョブJ2の最適計算時間(190分)及び第2計算時間(210分)を取得すると共に、到達時間を380−120=260(分)と算出する。このとき、第2計算時間(210分)は最適計算時間と到達時間との和(450分)よりも短いので、分散処理開始部15は計算機C4,C5を選択し、これらの計算機にジョブJ2を計算させる。   Thereafter, job J2 is registered at 11:00. The optimum number of jobs J2 is 3, but there are only two computers (computers C4 and C5) waiting for jobs. Therefore, the distributed processing start unit 15 acquires the optimum calculation time (190 minutes) and the second calculation time (210 minutes) of the job J2, and calculates the arrival time as 380−120 = 260 (minutes). At this time, since the second calculation time (210 minutes) is shorter than the sum of the optimal calculation time and the arrival time (450 minutes), the distributed processing start unit 15 selects the computers C4 and C5, and jobs J2 are sent to these computers. Let's calculate.

その後、12:00にジョブJ3が登録される。この時点ではジョブ待ち状態の計算機が存在しないので分散処理開始部15は何も行わない。その後、12:10にジョブJ4が登録されたときも同様である。   Thereafter, job J3 is registered at 12:00. At this time, there is no computer waiting for a job, so the distributed processing starting unit 15 does nothing. Thereafter, the same applies when job J4 is registered at 12:10.

その後、14:30にジョブJ2の計算が完了し、キュー管理情報及び計算機情報がそれぞれ図7,8のように更新される。すなわち、ジョブJ2の計算状況が「完了」に更新され、計算機C4及びC5の計算状態が「計算待ち」に更新される。   Thereafter, the calculation of the job J2 is completed at 14:30, and the queue management information and the computer information are updated as shown in FIGS. That is, the calculation status of job J2 is updated to “completed”, and the calculation statuses of computers C4 and C5 are updated to “waiting for calculation”.

この更新を受けて、分散処理開始部15が次の未処理ジョブに対する処理を開始する。まず、分散処理開始部15は受付時刻が最も古い未処理ジョブであるジョブJ3を計算するか否かを判定する。ジョブJ3の最適台数は3台であるがジョブ待ち状態の計算機は2台しかないので、分散処理開始部15はジョブJ3の最適計算時間(507分)及び第2計算時間(560分)と、到達時間380−330=50(分)とに基づいて、第2計算時間が最適計算時間と到達時間との和(557分)よりも長いと判定する。   In response to this update, the distributed processing start unit 15 starts processing for the next unprocessed job. First, the distributed processing start unit 15 determines whether to calculate job J3, which is an unprocessed job with the oldest reception time. Since the optimum number of jobs J3 is three, but there are only two computers waiting for the job, the distributed processing start unit 15 determines the optimum calculation time (507 minutes) and second calculation time (560 minutes) of job J3, Based on the arrival time 380−330 = 50 (minutes), it is determined that the second calculation time is longer than the sum of the optimum calculation time and the arrival time (557 minutes).

したがって、分散処理開始部15は受付時刻が二番目に古い未処理ジョブであるジョブJ4を処理できるか否かを判定する。ジョブJ4の第2計算時間は42分であり到達時間は50分であるから、分散処理開始部15はジョブJ4を処理すると判定し、計算機C4及びC5を選択してこれらの計算機にジョブJ4を計算させる。   Therefore, the distributed processing start unit 15 determines whether or not the job J4, which is an unprocessed job whose reception time is the second oldest, can be processed. Since the second calculation time for job J4 is 42 minutes and the arrival time is 50 minutes, the distributed processing start unit 15 determines that job J4 is to be processed, selects computers C4 and C5, and assigns job J4 to these computers. Let it be calculated.

その後、15:12にジョブJ4の計算が完了し、ジョブJ4のキュー管理情報が更新される。この更新を受けて、分散処理開始部15はジョブJ3を計算するか否かを判定する。この時点での到達時間は380−372=8(分)なので、分散処理開始部15は第2計算時間(560分)が最適計算時間(507分)とその到達時間との和(515分)よりも長いと判定し、ジョブJ3の計算を行わない。この時、処理待ちのジョブは存在しないので、分散処理開始部15は計算中のジョブが終了するまで何も行わない。   Thereafter, the calculation of job J4 is completed at 15:12, and the queue management information of job J4 is updated. In response to this update, the distributed processing start unit 15 determines whether or not to calculate the job J3. Since the arrival time at this point is 380-372 = 8 (minutes), the distributed processing start unit 15 sets the second calculation time (560 minutes) to the sum of the optimum calculation time (507 minutes) and the arrival time (515 minutes). The job J3 is not calculated. At this time, since there is no job waiting to be processed, the distributed processing start unit 15 does nothing until the job being calculated ends.

その後、15:20にジョブJ1の計算が完了し、ジョブJ1のキュー管理情報が更新される。この時点で、ジョブJ3の最適台数分の計算機20が確保できるので、分散処理開始部15はジョブJ3の計算を開始する。このジョブJ3の計算は23:47に終了する。したがって、分散処理システム1を用いて上記ジョブJ1〜J4を処理した場合には、887分ですべての処理が完了する。   Thereafter, the calculation of job J1 is completed at 15:20, and the queue management information of job J1 is updated. At this time, since the computers 20 for the optimum number of jobs J3 can be secured, the distributed processing start unit 15 starts calculating the job J3. The calculation of job J3 ends at 23:47. Therefore, when the jobs J1 to J4 are processed using the distributed processing system 1, all processing is completed in 887 minutes.

以上に対して、逐次処理を採用し、上記ジョブJ1〜J4のすべてを5台の計算機による分散処理で計算した場合は、図10に示すように、すべての処理が完了するまでに1232分掛かってしまう。したがって、分散処理システム1による並列処理を採用することで、計算時間が28%短縮される。   In contrast, when sequential processing is adopted and all of the jobs J1 to J4 are calculated by distributed processing using five computers, as shown in FIG. 10, it takes 1232 minutes to complete all processing. End up. Therefore, by adopting parallel processing by the distributed processing system 1, the calculation time is reduced by 28%.

以上説明したように、本実施形態によれば、最適台数以上の計算機20がジョブ待ち状態である場合に、それらの計算機20から最適台数分が選択され、選択された計算機20により最先ジョブが分散処理される。これにより、計算を実行中の計算機20に影響を与えることなく(計算効率を落とすことなく)、最先ジョブに対する計算機20の割当てを最適化することが可能になる。   As described above, according to the present embodiment, when more than the optimal number of computers 20 are in a job waiting state, the optimal number of computers 20 are selected from those computers 20, and the earliest job is selected by the selected computer 20. Distributed processing. This makes it possible to optimize the assignment of the computer 20 to the earliest job without affecting the computer 20 that is executing the calculation (without reducing the calculation efficiency).

また本実施形態によれば、ジョブ待ち状態の計算機20の台数が最適台数未満であると、到達時間と最適計算時間との加算時間内に最先ジョブを処理できるか否かが更に判定される。そして、処理可能と判定されれば、ジョブ待ち状態の計算機20がすべて選択されて分散処理が実行される。これにより、計算機20をより有効に利用して、最先ジョブの処理をより早く完了することが可能になる。   Further, according to this embodiment, if the number of computers 20 in the job waiting state is less than the optimum number, it is further determined whether or not the earliest job can be processed within the addition time of the arrival time and the optimum calculation time. . If it is determined that processing is possible, all the computers 20 in the job waiting state are selected and distributed processing is executed. As a result, the processing of the earliest job can be completed more quickly by using the computer 20 more effectively.

また本実施形態によれば、ジョブ待ち状態の計算機20が最先ジョブを上記加算時間内に処理できないと判定された場合に、到達時間内に処理可能な別ジョブが存在するか否かが更に判定される。そして、そのような別ジョブが存在した場合に、ジョブ待ち状態の計算機20がすべて選択され、別ジョブに対する分散処理が実行される。これにより、計算機20をより有効に利用して、ジョブの実行時間を全体として短縮することが可能になる。   Further, according to the present embodiment, when the computer 20 in the job waiting state determines that the earliest job cannot be processed within the addition time, it is further determined whether there is another job that can be processed within the arrival time. Determined. When such another job exists, all the computers 20 in the job waiting state are selected, and distributed processing for the other job is executed. This makes it possible to shorten the job execution time as a whole by using the computer 20 more effectively.

また本実施形態によれば、ジョブの計算規模を示す係数と計算機の台数とにより定義された関数(例えば上記式(1)や式(2))を用いて計算時間が算出される。この算出は、使用する計算機20が1〜Nの各場合について行われる。そして、算出された複数の計算時間のうち最短のものに対応する台数が最適台数として導出される。ジョブの計算時間はジョブの計算規模と計算機20の台数に左右されるから、これら計算規模及び台数により定義された関数を用いることで最適台数をより正確に導出できる。   Further, according to the present embodiment, the calculation time is calculated using a function (for example, the above formula (1) or formula (2)) defined by the coefficient indicating the job calculation scale and the number of computers. This calculation is performed for each case where the computer 20 to be used is 1 to N. Then, the number corresponding to the shortest calculation time among the plurality of calculated times is derived as the optimum number. Since the job calculation time depends on the job calculation scale and the number of computers 20, the optimum number can be derived more accurately by using a function defined by the calculation scale and the number of computers.

以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で以下のような様々な変形が可能である。   The present invention has been described in detail based on the embodiments. However, the present invention is not limited to the above embodiment. The present invention can be modified in various ways as described below without departing from the scope of the invention.

上記実施形態では、分散処理開始部15において以下の三種類の判定処理が実行された。
(1)ジョブ待ち状態の計算機20が最適台数以上存在するか
(2)最適計算時間と到達時間との加算時間内に、最先ジョブをジョブ待ち状態の計算機20により実行できるか
(3)到達時間内に、最先ジョブ以外の別ジョブをジョブ待ち状態の計算機20により実行できるか
しかし、分散処理開始部15は上記三種類のうち一部の判定処理のみを実行してもよい。
In the embodiment described above, the following three types of determination processing are executed in the distributed processing start unit 15.
(1) Whether there are more than the optimal number of computers 20 in the job waiting state (2) Whether the earliest job can be executed by the computer 20 in the job waiting state within the addition time of the optimal calculation time and the arrival time (3) arrival Can another job other than the earliest job be executed by the computer 20 in the job waiting state within the time? However, the distributed processing start unit 15 may execute only a part of the above three types of determination processing.

例えば、上記(1)の判定のみを実行してもよいし、上記(1)及び(2)の判定のみを実行してもよい。上記(1)の判定のみを実行する場合には、ジョブ待ち状態の計算機20が最適台数未満であると分散処理開始部15は処理を終了する。また、上記(1)及び(2)の判定のみを実行する場合には、上記加算時間内に最先ジョブを実行できないと判明すると分散処理開始部15は処理を終了する。   For example, only the determination (1) may be executed, or only the determinations (1) and (2) may be executed. When only the determination of (1) is executed, the distributed processing start unit 15 ends the process when the number of computers 20 waiting for a job is less than the optimum number. In the case where only the determinations (1) and (2) are executed, if it is determined that the earliest job cannot be executed within the addition time, the distributed processing start unit 15 ends the process.

仮に、分散処理開始部15が上記(1)の判定のみを行うものとする。このとき、図8に示されている計算機C1〜C5を用いて図7に示されているジョブJ1〜J4を計算すると、図11に示すように、すべての処理を1115分で完了できる。すなわち、図10に示す逐次処理と比較して、計算時間が9%短縮される。   It is assumed that the distributed processing start unit 15 performs only the determination (1). At this time, if the jobs J1 to J4 shown in FIG. 7 are calculated using the computers C1 to C5 shown in FIG. 8, all the processes can be completed in 1115 minutes as shown in FIG. That is, the calculation time is reduced by 9% compared to the sequential processing shown in FIG.

上記実施形態では、分散処理システム1は受付日時が古いジョブを優先して計算するが、ジョブの選択方法はこれに限定されない。例えば、分散処理システム1は受付日時が新しいジョブを優先して計算してもよいし、計算するジョブを、ジョブ毎に設定された優先度に基づいて選択してもよい。   In the above embodiment, the distributed processing system 1 preferentially calculates a job with an old reception date and time, but the job selection method is not limited to this. For example, the distributed processing system 1 may preferentially calculate a job with a new reception date and time, or may select a job to be calculated based on the priority set for each job.

実施形態に係る分散処理システムの全体構成を示す図である。1 is a diagram illustrating an overall configuration of a distributed processing system according to an embodiment. 図1に示す計算機管理装置のハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of the computer management apparatus shown in FIG. キュー管理情報の構成を示す図である。It is a figure which shows the structure of queue management information. 計算機情報の構成を示す図である。It is a figure which shows the structure of computer information. 図1に示す分散処理システムの処理を説明するフローチャートである。It is a flowchart explaining the process of the distributed processing system shown in FIG. 図1に示す分散処理システムの処理を説明するフローチャートである。It is a flowchart explaining the process of the distributed processing system shown in FIG. キュー管理情報の具体例を示す図である。It is a figure which shows the specific example of queue management information. 計算機情報の具体例を示す図である。It is a figure which shows the specific example of computer information. 図1に示す分散処理システムを用いた場合の、計算機の稼働状況の具体例を示す図である。It is a figure which shows the specific example of the operating condition of a computer at the time of using the distributed processing system shown in FIG. 比較のために示す、計算機の稼働状況の具体例を示す図である。It is a figure which shows the specific example of the operating condition of a computer shown for a comparison. 変形例に係る分散処理システムを用いた場合の、計算機の稼働状況の具体例を示す図である。It is a figure which shows the specific example of the operating condition of a computer at the time of using the distributed processing system which concerns on a modification.

符号の説明Explanation of symbols

1…分散処理システム、10…計算機管理装置、11…入力部、12…キュー管理部(記憶手段)、13…計算機管理部、14…計算時間予測部(算出手段)、15…分散処理開始部(導出手段、判定手段、選択手段、処理手段)、16…結果受信部、17…出力部(出力手段)、20…計算機、21…ジョブ受信部、22…ジョブ処理部、23…結果送信部
DESCRIPTION OF SYMBOLS 1 ... Distributed processing system, 10 ... Computer management apparatus, 11 ... Input part, 12 ... Queue management part (storage means), 13 ... Computer management part, 14 ... Calculation time prediction part (calculation means), 15 ... Distributed processing start part (Derivation means, determination means, selection means, processing means), 16 ... result receiving section, 17 ... output section (output means), 20 ... computer, 21 ... job receiving section, 22 ... job processing section, 23 ... result transmitting section

Claims (9)

複数の計算機を備える分散処理システムにおける分散処理方法であって、
ジョブを記憶する記憶ステップと、
前記記憶ステップにおいて記憶されたジョブを最短時間で計算可能な前記計算機の台数を最適台数として導出する導出ステップと、
ジョブ待ち状態の前記計算機の台数である待ち台数が前記導出ステップにおいて導出された最適台数以上か否かを判定する判定ステップと、
前記判定ステップにおいて前記待ち台数が前記最適台数以上であると判定された場合に、前記ジョブ待ち状態の計算機から該最適台数分の計算機を選択する選択ステップと、
前記選択ステップにおいて選択された計算機に前記記憶ステップにおいて記憶されたジョブを分散処理させる処理ステップと、
前記処理ステップにおける分散処理の結果に基づいて、前記記憶ステップにおいて記憶されたジョブの処理結果を出力する出力ステップと、
を含むことを特徴とする分散処理方法。
A distributed processing method in a distributed processing system including a plurality of computers,
A storage step for storing the job;
A derivation step for deriving the number of computers capable of calculating the job stored in the storage step in the shortest time as an optimum number;
A determination step of determining whether or not the number of computers waiting in a job waiting state is equal to or greater than the optimal number derived in the derivation step;
A selection step of selecting the optimal number of computers from the computers in the job waiting state when it is determined in the determination step that the waiting number is equal to or greater than the optimal number;
A processing step in which the computer selected in the selection step distributes the job stored in the storage step;
An output step for outputting the processing result of the job stored in the storage step based on the result of the distributed processing in the processing step;
A distributed processing method comprising:
前記判定ステップでは、前記待ち台数が前記最適台数未満の場合に、前記ジョブ待ち状態の計算機の台数が該最適台数に達するまでの到達時間と前記最短時間との加算時間内に、前記記憶ステップにおいて記憶されたジョブを前記ジョブ待ち状態の計算機で計算できるか否かを判定し、
前記選択ステップでは、前記判定ステップにおいて前記加算時間内に前記ジョブを前記ジョブ待ち状態の計算機で計算できると判定された場合に、該ジョブ待ち状態の計算機をすべて選択する、
ことを特徴とする請求項1に記載の分散処理方法。
In the determination step, when the number of waiting machines is less than the optimum number, the number of computers waiting for the job is within the addition time of the arrival time and the shortest time until the number of computers waiting for the job reaches the optimum number. Determining whether the stored job can be calculated by the computer waiting for the job;
In the selection step, when it is determined in the determination step that the job can be calculated by the computer in the job waiting state within the addition time, all the computers in the job waiting state are selected.
The distributed processing method according to claim 1.
前記記憶ステップでは、一つ以上の別ジョブを更に記憶し、
前記判定ステップでは、前記加算時間内に前記ジョブを前記ジョブ待ち状態の計算機で計算できないと判定した場合に、前記到達時間内に該ジョブ待ち状態の計算機で計算可能な前記別ジョブが存在するか否かを判定し、
前記選択ステップでは、前記判定ステップにおいて前記計算可能な別ジョブが存在すると判定された場合に、前記ジョブ待ち状態の計算機をすべて選択し、
前記処理ステップでは、前記判定ステップにおいて前記計算可能な別ジョブが存在すると判定された場合に、前記選択ステップにおいて選択された計算機に該計算可能な別ジョブを分散処理させる、
ことを特徴とする請求項2に記載の分散処理方法。
In the storing step, one or more other jobs are further stored,
In the determination step, if it is determined that the job cannot be calculated by the computer waiting for the job within the addition time, whether there is another job that can be calculated by the computer waiting for the job within the arrival time. Determine whether or not
In the selection step, when it is determined in the determination step that there is another job that can be calculated, all the computers in the job waiting state are selected,
In the processing step, when it is determined in the determination step that the other job that can be calculated exists, the computer selected in the selection step causes the other job that can be calculated to be distributed.
The distributed processing method according to claim 2.
ジョブの計算規模を示す係数と計算機の台数とにより定義された関数を用いて、前記計算機の総数以下の各台数について、前記記憶ステップにおいて記憶されたジョブを該台数で計算した場合の計算時間を算出する算出ステップを更に含み、
前記導出ステップでは、前記算出ステップにおいて算出された複数の計算時間のうち最短のものに対応する台数を前記最適台数として導出する、
ことを特徴とする請求項1〜3のいずれか一項に記載の分散処理方法。
Using a function defined by the coefficient indicating the job calculation scale and the number of computers, the calculation time when the number of jobs stored in the storage step is calculated for the number of computers equal to or less than the total number of computers is calculated. A calculation step for calculating,
In the derivation step, the number corresponding to the shortest of the plurality of calculation times calculated in the calculation step is derived as the optimum number.
The distributed processing method as described in any one of Claims 1-3 characterized by the above-mentioned.
複数の計算機と通信可能な計算機管理装置であって、
ジョブを記憶する記憶手段と、
前記記憶手段に記憶されたジョブを最短時間で計算可能な前記計算機の台数を最適台数として導出する導出手段と、
ジョブ待ち状態の前記計算機の台数である待ち台数が前記導出手段により導出された最適台数以上か否かを判定する判定手段と、
前記判定手段により前記待ち台数が前記最適台数以上であると判定された場合に、前記ジョブ待ち状態の計算機から該最適台数分の計算機を選択する選択手段と、
前記選択手段により選択された計算機に前記記憶手段に記憶されたジョブを分散処理させる処理手段と、
前記処理手段による分散処理の結果に基づいて、前記記憶手段に記憶されたジョブの処理結果を出力する出力手段と、
を備えることを特徴とする計算機管理装置。
A computer management device capable of communicating with a plurality of computers,
Storage means for storing jobs;
Derivation means for deriving the number of computers capable of calculating the job stored in the storage means in the shortest time as the optimum number;
Determining means for determining whether the number of computers waiting in the job waiting state is equal to or greater than the optimum number derived by the deriving means;
A selection means for selecting the optimal number of computers from the computers in the job waiting state when the determination means determines that the waiting number is equal to or greater than the optimal number;
Processing means for distributing the jobs stored in the storage means to the computer selected by the selection means;
An output unit that outputs a processing result of the job stored in the storage unit based on a result of the distributed processing by the processing unit;
A computer management apparatus comprising:
前記判定手段が、前記待ち台数が前記最適台数未満の場合に、前記ジョブ待ち状態の計算機の台数が該最適台数に達するまでの時間と前記最短時間との加算時間内に、前記記憶手段に記憶されたジョブを前記ジョブ待ち状態の計算機で計算できるか否かを判定し、
前記選択手段が、前記判定手段により前記加算時間内に前記ジョブを前記ジョブ待ち状態の計算機で計算できると判定された場合に、該ジョブ待ち状態の計算機をすべて選択する、
ことを特徴とする請求項5に記載の計算機管理装置。
When the waiting number is less than the optimum number, the determining means stores the number of computers in the job waiting state in the storage means within the addition time of the time until the optimum number of computers reaches the optimum number. Whether the calculated job can be calculated by the computer waiting for the job,
The selection unit selects all the computers in the job waiting state when the determination unit determines that the job can be calculated by the computer in the job waiting state within the addition time;
The computer management apparatus according to claim 5.
前記記憶手段が、一つ以上の別ジョブを更に記憶し、
前記判定手段が、前記加算時間内に前記ジョブを前記ジョブ待ち状態の計算機で計算できないと判定した場合に、前記到達時間内に該ジョブ待ち状態の計算機で計算可能な前記別ジョブが存在するか否かを判定し、
前記選択手段が、前記判定手段により前記計算可能な別ジョブが存在すると判定された場合に前記ジョブ待ち状態の計算機をすべて選択し、
前記処理手段が、前記判定手段により前記計算可能な別ジョブが存在すると判定された場合に、前記選択手段により選択された計算機に該計算可能な別ジョブを分散処理させる、
ことを特徴とする請求項6に記載の計算機管理装置。
The storage means further stores one or more other jobs;
If the determination unit determines that the job waiting state computer cannot calculate the job within the addition time, whether there is another job that can be calculated by the job waiting state computer within the arrival time. Determine whether or not
The selection means selects all the computers in the job waiting state when the determination means determines that there is another job that can be calculated,
When the processing unit determines that the other job that can be calculated exists by the determination unit, the computer selected by the selection unit performs distributed processing on the other job that can be calculated.
The computer management apparatus according to claim 6.
ジョブの計算規模を示す係数と計算機の台数とにより定義された関数を用いて、前記計算機の総数以下の各台数について、前記記憶手段に記憶されたジョブを該台数で計算した場合の計算時間を算出する算出手段を更に備え、
前記導出手段が、前記算出手段により算出された複数の計算時間のうち最短のものに対応する台数を前記最適台数として導出する、
ことを特徴とする請求項5〜7のいずれか一項に記載の計算機管理装置。
Using a function defined by the coefficient indicating the job calculation scale and the number of computers, the calculation time when the number of jobs stored in the storage means is calculated for each number of computers below the total number of computers is calculated. A calculation means for calculating;
The derivation means derives the number corresponding to the shortest of the plurality of calculation times calculated by the calculation means as the optimum number;
The computer management apparatus according to claim 5, wherein the computer management apparatus is a computer management apparatus.
複数の計算機を備える分散処理システムであって、
ジョブを記憶する記憶手段と、
前記記憶手段に記憶されたジョブを最短時間で計算可能な前記計算機の台数を最適台数として導出する導出手段と、
ジョブ待ち状態の前記計算機の台数である待ち台数が前記導出手段により導出された最適台数以上か否かを判定する判定手段と、
前記判定手段により前記待ち台数が前記最適台数以上であると判定された場合に、前記ジョブ待ち状態の計算機から該最適台数分の計算機を選択する選択手段と、
前記選択手段により選択された計算機に前記記憶手段に記憶されたジョブを分散処理させる処理手段と、
前記処理手段による分散処理の結果に基づいて、前記記憶手段に記憶されたジョブの処理結果を出力する出力手段と、
を備えることを特徴とする分散処理システム。
A distributed processing system comprising a plurality of computers,
Storage means for storing jobs;
Derivation means for deriving the number of computers capable of calculating the job stored in the storage means in the shortest time as the optimum number;
Determining means for determining whether the number of computers waiting in the job waiting state is equal to or greater than the optimum number derived by the deriving means;
A selection means for selecting the optimal number of computers from the computers in the job waiting state when the determination means determines that the waiting number is equal to or greater than the optimal number;
Processing means for distributing the jobs stored in the storage means to the computer selected by the selection means;
An output unit that outputs a processing result of the job stored in the storage unit based on a result of the distributed processing by the processing unit;
A distributed processing system comprising:
JP2007326387A 2007-12-18 2007-12-18 Distribution processing method, calculator management device, and distribution processing system Pending JP2009151376A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007326387A JP2009151376A (en) 2007-12-18 2007-12-18 Distribution processing method, calculator management device, and distribution processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007326387A JP2009151376A (en) 2007-12-18 2007-12-18 Distribution processing method, calculator management device, and distribution processing system

Publications (1)

Publication Number Publication Date
JP2009151376A true JP2009151376A (en) 2009-07-09

Family

ID=40920500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007326387A Pending JP2009151376A (en) 2007-12-18 2007-12-18 Distribution processing method, calculator management device, and distribution processing system

Country Status (1)

Country Link
JP (1) JP2009151376A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016062462A (en) * 2014-09-19 2016-04-25 富士通株式会社 Information processing system, control method thereof, management apparatus, and control program
JP2021501400A (en) * 2017-10-31 2021-01-14 アビニシオ テクノロジー エルエルシー Managing computer cluster interfaces

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016062462A (en) * 2014-09-19 2016-04-25 富士通株式会社 Information processing system, control method thereof, management apparatus, and control program
JP2021501400A (en) * 2017-10-31 2021-01-14 アビニシオ テクノロジー エルエルシー Managing computer cluster interfaces
JP7203102B2 (en) 2017-10-31 2023-01-12 アビニシオ テクノロジー エルエルシー manage the computer cluster interface

Similar Documents

Publication Publication Date Title
Marotta et al. On the energy cost of robustness for green virtual network function placement in 5G virtualized infrastructures
US8645529B2 (en) Automated service level management of applications in cloud computing environment
Huang et al. When backpressure meets predictive scheduling
US20140164048A1 (en) Scalable weight-agnostic multi-objective qos optimization for workflow planning
KR101471749B1 (en) Virtual machine allcoation of cloud service for fuzzy logic driven virtual machine resource evaluation apparatus and method
US20110010456A1 (en) Recording medium storing load-distribution program, load-distribution apparatus, and load-distribution method
JP2003256222A (en) Distribution processing system, job distribution processing method and its program
Krishnadoss et al. OLOA: Based Task Scheduling in Heterogeneous Clouds.
Zikos et al. A clairvoyant site allocation policy based on service demands of jobs in a computational grid
US20130166751A1 (en) Distributed resource management systems and methods for resource management thereof
JP2010224754A (en) Resource allocation system, resource allocation method and program
JP6613763B2 (en) Information processing apparatus, information processing method, and program
US10691700B1 (en) Table replica allocation in a replicated storage system
JP2009151376A (en) Distribution processing method, calculator management device, and distribution processing system
US20140068082A1 (en) Collaborative method and system to balance workload distribution
US20100010843A1 (en) Algorithm system and method
JP2005309868A (en) Processing allocation management apparatus, control method for the same, and program
JP5045576B2 (en) Multiprocessor system and program execution method
Omer et al. Optimization model for time sensitive IoT requests
JP2009140079A (en) Operation management method, operation management program and operation management device for resources
Nethaji et al. Differential Grey Wolf Load-Balanced Stochastic Bellman Deep Reinforced Resource Allocation in Fog Environment
JP2018207182A (en) Facility design device, facility design method, and program
KR101081286B1 (en) Apparatus for redirecting server based on availability and the same method
Miranda et al. Dynamic communication-aware scheduling with uncertainty of workflow applications in clouds
US20170147407A1 (en) System and method for prediciting resource bottlenecks for an information technology system processing mixed workloads