JP2009151376A - Distribution processing method, calculator management device, and distribution processing system - Google Patents
Distribution processing method, calculator management device, and distribution processing system Download PDFInfo
- 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
Links
Images
Landscapes
- Multi Processors (AREA)
Abstract
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には、ジョブの完了期限が考慮されたジョブ配分を実現する分散処理システムが開示されている。この分散処理システムは、稼働情報を共有する複数の計算機を備え、一の計算機に投入されたジョブの実行完了時期を予測し、予測結果に応じて他の計算機にジョブの実行を依頼する。
しかし、並列処理方式では、ジョブの大きさや発生頻度の特性に応じて計算機の割当てを適切に設計しないと、計算機の稼動率が悪化し計算効率が悪くなる。例えば、大小のジョブに対する計算機の割当てを固定にした場合、大小のジョブが均等に与えられるならば各計算機は有効に機能するが、大小のジョブの数が不均衡であると計算効率が悪化してしまう。例えば大きなジョブが連続して与えられると小さなジョブに割り当てた計算機が稼動しないという状況が発生する。一方、ジョブに対する計算機への割当てを可変にすると、大小のジョブの数が不均衡でもすべての計算機がいずれかのジョブに対して常に稼動するため計算効率は悪化しない。しかし、分散処理中に計算機の割当てを変更可能とするプログラムの作成は非常に複雑である。 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
分散処理システム1は、複数のジョブを並列に処理することが可能な計算機システムであり、計算機管理装置10とN台の計算機20とを備えている。計算機管理装置10と各計算機20とは図示しないネットワーク(例えばインターネットや構内通信網(LAN)など)を介して通信可能である。
The
計算機管理装置10は、各計算機20にジョブを割り当てて分散処理を実行させ、その分散処理の結果に基づいてジョブの処理結果を生成し出力する。このために、計算機管理装置10は入力部11、キュー管理部(記憶手段)12、計算機管理部13、計算時間予測部(算出手段)14、分散処理開始部(導出手段、判定手段、選択手段、処理手段)15、結果受信部16及び出力部(出力手段)17を備えている。
The
計算機管理装置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
入力部11は、ユーザの計算要求であるジョブの入力を受け付けてキュー管理部12に出力する手段である。入力部11はユーザにより入力されたジョブを直接受け付けてもよいし、図示しない他の情報処理装置から入力されたジョブを受け付けてもよい。
The
キュー管理部12は、入力部11から入力されたジョブを、キューを用いて記憶(登録)する手段である。キュー管理部12はキューの状態(各ジョブの状態)を示すキュー管理情報を保持している。
The
キュー管理情報は、図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
キュー管理部12は、入力部11からジョブが入力されると、そのジョブを記憶すると共に、そのジョブのキュー管理情報を生成して記憶する。その後、キュー管理部12は分散処理開始部15又は結果受信部16から入力されたジョブの情報に基づいてキュー管理情報を更新する。分散処理開始部15からジョブ情報が入力されると、キュー管理部12は該当するジョブの計算状況を「x台で計算中(x=1〜N)」に更新すると共に計算開始日時を更新する。また、結果受信部16からジョブ情報が入力された場合には、キュー管理部12は該当するジョブの計算状況を「計算完了」に更新する。
When a job is input from the
計算時間予測部14は、キュー管理部12に記憶されたジョブの内容に基づいてそのジョブの計算時間を算出(予測)する手段である。計算時間予測部14は分散処理システム1内の計算機20の総数以下の各台数についてその計算時間を算出する。
The calculation
例えば、計算時間予測部14は、下記式(1)で示される予測関数を用いて計算時間を算出する。なお、式(1)におけるxはジョブの計算規模を示す係数(計算規模係数)であり、nは計算に用いる計算機の台数(分散台数)である。すなわち、予測関数は計算規模係数と分散台数により定義される。
f(x,n)=x/n+0.1nx …(1)
For example, the calculation
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
予測関数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
f (x ′, n) = a (x ′ / n + 0.1nx ′) (2)
計算時間予測部14は、キュー管理部12がジョブを記憶したときに、キュー管理部12からジョブに関する情報(例えば計算条件や計算規模など)を取得し、そのジョブに対する計算時間を分散台数1〜Nのそれぞれに対して算出する。そして、計算時間予測部14は計算結果をキュー管理情報の計算時間予測テーブルに格納する。
When the
計算機管理部13は、N台の計算機20のそれぞれの状態を記憶する手段である。計算機管理部13は図4に示すような計算機情報を保持し、必要に応じてその計算機情報を更新する。
The
計算機情報は各計算機20に対して設定されており、計算機番号と、計算状態と、その他情報とを含んでいる。計算機番号とは計算機20の識別子である。計算状態とは計算機20の現在の情報を示す情報である。例えば、現在ジョブを処理していることを示す「計算中」や、現在ジョブの処理を行っていないことを示す「計算待ち(ジョブ待ち)」などの値が計算状態として設定される。その他情報としては、例えば図4に示すようなIPアドレスが挙げられるが、他の情報(例えばマシン名や機種名など)をその他情報として設定してもよい。
The computer information is set for each
計算機管理部13は分散処理開始部15又は結果受信部16から入力された計算機20の情報に基づいて計算機情報を更新する。分散処理開始部15から計算機情報が入力されると、キュー管理部12は該当する計算機20の計算状態を「計算中」に更新し、結果受信部16から計算機情報が入力されると、該当する計算機20の計算状態を「計算待ち」に更新する。
The
分散処理開始部15は、キュー管理部12に記憶されているジョブを分割し、分割したジョブ(以下「被分割ジョブ」という)をジョブ待ち状態にある計算機に送信する手段である。
The distributed
まず、分散処理開始部15は計算機管理部13に記憶されている計算機情報を参照してジョブ待ち状態の計算機20が存在するか否かを判定する。このとき、そのような計算機20が存在しなければ、分散処理開始部15はいずれかの計算機20において計算が終了するまで何も行わない。
First, the distributed
一方、ジョブ待ち状態の計算機20が存在する場合には、分散処理開始部15はキュー管理部12に記憶されている未処理のジョブのうち最も先に登録されたジョブ(以下「最先ジョブ」という)を最短時間で計算可能な計算機20の台数を最適台数として導出する。例えばキュー管理情報が図3に示す状態にある場合、分散処理開始部15はジョブ番号が4であるジョブの計算時間予測テーブルを参照し、予測計算時間が最小である台数を最適台数として選択する。なお、以下では、最適台数に対応する予測計算時間を最適計算時間(最短時間)Toという。
On the other hand, when there is a
なお、最適計算時間Toに対応する台数が複数導出されることがある。この場合、分散処理開始部15は、最適計算時間Toでの計算が期待できる台数のうち最も少ない台数を最適台数とする。例えば、あるジョブを4台又は5台の計算機に計算させると計算時間が最短になる場合には、分散処理開始部15は最適台数を4に設定する。
Incidentally, it may number corresponding to the optimum calculation time T o is more derived. In this case, the distributed
続いて、分散処理開始部15はジョブ待ち状態の計算機20の台数である待ち台数が最適台数以上か否かを判定する。なお、図4に示す計算機情報では、計算状態が「計算待ち」である計算機番号3及び4がジョブ待ち状態の計算機に相当する。分散処理開始部15は、待ち台数が最適台数以上である場合に、ジョブ待ち状態の計算機20から最適台数分の計算機20を選択する。続いて、分散処理開始部15は、選択された計算機20に最先ジョブを分散処理させるために、最先ジョブを分割し、選択された計算機20のそれぞれに被分割ジョブを送信する。
Subsequently, the distributed
一方、待ち台数が最適台数未満である場合、分散処理開始部15はジョブ待ち状態の計算機の台数が最適台数に達するまでの時間(以下「到達時間Ta」という)を算出し、到達時間Taと最適計算時間(最短時間)Toとを加算する。分散処理開始部15は、一以上のジョブについて処理終了までの時間を算出することで到達時間Taを導出できる。例えば、あるジョブの計算開始時刻と現在時刻とがそれぞれ10:00、10:02であり、そのジョブの処理時間が180秒であれば、そのジョブを実行している計算機は60秒後に計算待ち状態になることが分かる。場合によっては、分散処理開始部15は複数のジョブの処理時間に基づいて到達時間Taを算出する。
On the other hand, when the number of waiting machines is less than the optimum number, the distributed
続いて、分散処理開始部15はジョブ待ち状態の計算機をすべて用いて最先ジョブを計算した場合の時間(以下「第2計算時間Ts」という)が加算時間(Ta+To)以下か否かを判定する。
Subsequently, the distributed
ここで、Ts≦Ta+Toであれば、分散処理開始部15は加算時間(Ta+To)以内に最先ジョブをジョブ待ち状態の計算機で計算できると判定し、ジョブ待ち状態の計算機20をすべて選択する。続いて、分散処理開始部15は、選択された計算機20に最先ジョブを分散処理させるために、最先ジョブを分割し、選択された計算機20のそれぞれに被分割ジョブを送信する。
Here, if T s ≦ T a + T o , the distributed
一方、Ts>Ta+Toである場合、分散処理開始部15は到達時間Ta内にジョブ待ち状態の計算機20で計算可能な別ジョブ(最先ジョブ以外の未処理のジョブ)が存在するか否かを判定する。具体的には、分散処理開始部15は、そのような別ジョブに対して、ジョブ待ち状態の計算機20をすべて用いて計算した場合の時間(第2計算時間Tt)を算出し、Tt≦Taか否かを判定する。分散処理開始部15はこの判定処理を受付日時の古い別ジョブから順に実行する。
On the other hand, T s> if a T a + T o, distributed
ここで、ある別ジョブについてTt≦Taである場合、分散処理開始部15はジョブ待ち状態の計算機20をすべて選択する。続いて、分散処理開始部15は、選択された計算機20にその別ジョブを分散処理させるために、その別ジョブを分割し、選択された計算機20のそれぞれに被分割ジョブを送信する。一方、すべての別ジョブについてTt>Taの場合、分散処理開始部15は何も行わない。
Here, when T t ≦ T a for a certain other job, the distributed
分散処理開始部15は、選択した計算機20に被分割ジョブを送信すると、分散処理を行うジョブ(最先ジョブ又は別ジョブ)の情報をキュー管理部12に出力すると共に、被分割ジョブの送信先である計算機20の情報を計算機管理部13に出力する。
When the distributed
結果受信部16は、計算機20から送信されてきた被分割ジョブの計算結果、すなわち分散処理の結果に基づいて、ジョブの処理結果を生成する手段である。結果受信部16は、あるジョブに対する被分割ジョブの計算結果をすべて受信すると、その計算結果からジョブの計算結果を生成し出力部17に出力する。また、結果受信部16は、被分割ジョブの計算結果を受信すると、計算結果の送信元である計算機20の情報を計算機管理部13に送信する。更に、結果受信部16は、あるジョブに対する被分割ジョブをすべて受信すると、そのジョブの情報をキュー管理部12に出力する。
The
出力部17は、結果受信部16から入力された計算結果をモニタやプリンタなどの出力装置に出力する手段である。
The
計算機20は、計算機管理装置10から受信したジョブを処理し、処理結果を計算機管理装置10に送信する。このために、計算機20はジョブ受信部21、ジョブ処理部22及び結果送信部23を備えている。計算機20のハードウェア構成は図2に示すものと同様である。
The
ジョブ受信部21は、計算機管理装置10から被分割ジョブを受信する手段である。ジョブ受信部21は受信した被分割ジョブをジョブ処理部22に出力する。
The
ジョブ処理部22は、被分割ジョブを処理する手段である。ジョブ処理部22は入力された被分割ジョブに基づいて所定の計算を行い、計算結果を生成する。ジョブ処理部22は、生成した計算結果を結果送信部23に出力する。
The
結果送信部23は、ジョブ処理部22から入力された被分割ジョブの計算結果を計算機管理装置10に送信する手段である。
The
次に、図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
続いて、分散処理開始部15が、ジョブ待ち状態の計算機20が存在するか否かを判定する(ステップS13)。このとき、そのような計算機20が存在しなければ(ステップS13;NO)、処理が終了する。一方、ジョブ待ち状態の計算機20が存在すれば(ステップS13;YES)、分散処理開始部15は最先ジョブの計算時間予測テーブルに基づいて最先ジョブの最適台数を導出する(ステップS14、導出ステップ)。続いて、分散処理開始部15はジョブ待ち状態にある計算機20の台数(待ち台数)が導出された最適台数以上か否かを判定し(ステップS15、判定ステップ)、待ち台数が最適台数以上であれば(ステップS15;YES)、ジョブ待ち状態の計算機から最適台数分の計算機を選択する(ステップS16、選択ステップ)。
Subsequently, the distributed
続いて、分散処理開始部15は最先ジョブを分割し、被分割ジョブを選択された計算機20のそれぞれに送信することで分散処理を開始する(ステップS17、処理ステップ)。このとき、キュー管理部12が最先ジョブのキュー管理情報を更新し、計算機管理部13が選択された計算機20の計算機情報を更新する(ステップS18)。これにより、最先ジョブが処理されていること、及び最適台数分の計算機20において計算が行われていることが記憶される。
Subsequently, the distributed
その後、選択された各計算機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
なお、最先ジョブの分散処理が実行された後に他の計算待ちのジョブが存在する場合は(ステップ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
この場合、まず、分散処理開始部15はジョブ待ち状態の計算機の台数が最適台数に達する間での時間(到達時間)を算出する(ステップS31)。続いて、分散処理開始部15はジョブ待ち状態の計算機をすべて用いて最先ジョブを計算した場合の時間(第2計算時間)をキュー管理情報から取得する(ステップS32)。そして、分散処理開始部15は第2計算時間が到達時間と最適計算時間との加算時間以下か否かを判定する(ステップS33、判定ステップ)。このとき、第2計算時間が加算時間以下であれば(ステップS33;YES)、分散処理開始部15は、加算時間内に最先ジョブをジョブ待ち状態の計算機20で計算できると判定し、ジョブ待ち状態の計算機20をすべて選択する(ステップS34、選択ステップ)。その後、最先ジョブについて上記ステップS17以降の処理が実行される。
In this case, first, the distributed
一方、第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
次に、図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
図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
その後、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
その後、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
その後、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
したがって、分散処理開始部15は受付時刻が二番目に古い未処理ジョブであるジョブJ4を処理できるか否かを判定する。ジョブJ4の第2計算時間は42分であり到達時間は50分であるから、分散処理開始部15はジョブJ4を処理すると判定し、計算機C4及びC5を選択してこれらの計算機にジョブJ4を計算させる。
Therefore, the distributed
その後、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
その後、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
以上に対して、逐次処理を採用し、上記ジョブ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
以上説明したように、本実施形態によれば、最適台数以上の計算機20がジョブ待ち状態である場合に、それらの計算機20から最適台数分が選択され、選択された計算機20により最先ジョブが分散処理される。これにより、計算を実行中の計算機20に影響を与えることなく(計算効率を落とすことなく)、最先ジョブに対する計算機20の割当てを最適化することが可能になる。
As described above, according to the present embodiment, when more than the optimal number of
また本実施形態によれば、ジョブ待ち状態の計算機20の台数が最適台数未満であると、到達時間と最適計算時間との加算時間内に最先ジョブを処理できるか否かが更に判定される。そして、処理可能と判定されれば、ジョブ待ち状態の計算機20がすべて選択されて分散処理が実行される。これにより、計算機20をより有効に利用して、最先ジョブの処理をより早く完了することが可能になる。
Further, according to this embodiment, if the number of
また本実施形態によれば、ジョブ待ち状態の計算機20が最先ジョブを上記加算時間内に処理できないと判定された場合に、到達時間内に処理可能な別ジョブが存在するか否かが更に判定される。そして、そのような別ジョブが存在した場合に、ジョブ待ち状態の計算機20がすべて選択され、別ジョブに対する分散処理が実行される。これにより、計算機20をより有効に利用して、ジョブの実行時間を全体として短縮することが可能になる。
Further, according to the present embodiment, when the
また本実施形態によれば、ジョブの計算規模を示す係数と計算機の台数とにより定義された関数(例えば上記式(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
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で以下のような様々な変形が可能である。 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
(1) Whether there are more than the optimal number of
例えば、上記(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
仮に、分散処理開始部15が上記(1)の判定のみを行うものとする。このとき、図8に示されている計算機C1〜C5を用いて図7に示されているジョブJ1〜J4を計算すると、図11に示すように、すべての処理を1115分で完了できる。すなわち、図10に示す逐次処理と比較して、計算時間が9%短縮される。
It is assumed that the distributed
上記実施形態では、分散処理システム1は受付日時が古いジョブを優先して計算するが、ジョブの選択方法はこれに限定されない。例えば、分散処理システム1は受付日時が新しいジョブを優先して計算してもよいし、計算するジョブを、ジョブ毎に設定された優先度に基づいて選択してもよい。
In the above embodiment, the distributed
1…分散処理システム、10…計算機管理装置、11…入力部、12…キュー管理部(記憶手段)、13…計算機管理部、14…計算時間予測部(算出手段)、15…分散処理開始部(導出手段、判定手段、選択手段、処理手段)、16…結果受信部、17…出力部(出力手段)、20…計算機、21…ジョブ受信部、22…ジョブ処理部、23…結果送信部
DESCRIPTION OF
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:
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)
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 |
-
2007
- 2007-12-18 JP JP2007326387A patent/JP2009151376A/en active Pending
Cited By (3)
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 |