JPH1027167A - Method for distributing load of parallel computer - Google Patents

Method for distributing load of parallel computer

Info

Publication number
JPH1027167A
JPH1027167A JP8183531A JP18353196A JPH1027167A JP H1027167 A JPH1027167 A JP H1027167A JP 8183531 A JP8183531 A JP 8183531A JP 18353196 A JP18353196 A JP 18353196A JP H1027167 A JPH1027167 A JP H1027167A
Authority
JP
Japan
Prior art keywords
computer
program
resource
programs
configuration
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
JP8183531A
Other languages
Japanese (ja)
Inventor
Hideki Iwatsuki
秀樹 岩月
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP8183531A priority Critical patent/JPH1027167A/en
Publication of JPH1027167A publication Critical patent/JPH1027167A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To shorten the lapse of time in the whole parallel program by allowing constitutional programs themselves to execute load distribution considering load to be applied to respective computers at the time of allocating respective constitutional programs in the parallel program constituted of plural constitutional programs to respective computers in the parallel computer constituted of plural computers. SOLUTION: The history sampling programs 4 (4-1 to 4-4) of respective computers 1 (1-1 to 1-4) sample the resource using rate data of respective constitutional programs 2 (2-1 to 2-4) and store the sampled data in the resource using history 12. A schedular 6 finds out an average resource using rate from the history 12, stores the found value in average resource using data 13 and allocates constitutional programs successively from the constitutional program having the largest using rate of a noticed resource to the computers 1 successively from the computer having the smallest using rate of the noticed resource while referring to the using rates of respective computers 1 stored in current load data 15 as to the noticed resource set up in user setting information 14.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、複数の計算機から
構成される並列計算機に係わり、特に複数の構成プログ
ラムから構成される並列プログラムの各構成プログラム
を各計算機に割り当てて並行して実行するときの負荷分
散方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a parallel computer composed of a plurality of computers, and more particularly to a case where each component program of a parallel program composed of a plurality of component programs is assigned to each computer and executed in parallel. And a load balancing method.

【0002】[0002]

【従来の技術】近年、複数の計算機から構成され、各々
専用の記憶装置とプロセッサを有する計算機が高速のネ
ットワークを介して相互に接続される分散メモリ型の並
列計算機が普及し始めている。複数の構成プログラムか
ら構成される並列プログラムの各構成プログラムは、各
計算機に割り当てられ、並行して実行される。構成プロ
グラムがネットワークを介して他の構成プログラムと通
信するとき、MPI(Message Passing
Interface)、PVM(Parallel
Virtual Machine)などの並列通信ライ
ブラリを介してプログラム間のメッセージ通信を行う。
これらの並列通信ライブラリは、構成プログラムが他の
構成プログラムと容易に通信できるようなアプリケーシ
ョン・インタフェースを提供する。
2. Description of the Related Art In recent years, distributed memory type parallel computers, which are composed of a plurality of computers and each having a dedicated storage device and a processor connected to each other via a high-speed network, have begun to spread. Each constituent program of the parallel program composed of a plurality of constituent programs is assigned to each computer and executed in parallel. When a configuration program communicates with another configuration program via a network, an MPI (Message Passing)
Interface), PVM (Parallel)
Message communication between programs is performed via a parallel communication library such as Virtual Machine.
These parallel communication libraries provide an application interface that allows a configuration program to easily communicate with other configuration programs.

【0003】各構成プログラムを計算機に割り当てると
き、スケジューリングする計算機は、各計算機の負荷情
報を収集し、負荷の小さい計算機から順に各構成プログ
ラムを割り当てていた。
When assigning each constituent program to a computer, the scheduling computer collects load information of each computer and assigns each constituent program in ascending order of the load.

【0004】なおこの種の技術として関連するものに
は、特開平7−234847号公報、特開平5−735
15号公報等がある。
[0004] Note that related to this kind of technology are Japanese Patent Application Laid-Open Nos. 7-234847 and 5-735.
No. 15 publication.

【0005】[0005]

【発明が解決しようとする課題】上記従来技術によれ
ば、各構成プログラム自身が計算機にかける負荷につい
ては考慮されていなかった。このため複数の構成プログ
ラムの中で実行時の経過時間の長い構成プログラムが負
荷の重い計算機に割り当てられることがあり、この結果
このような構成プログラムの経過時間が引き延ばされて
ボトルネックとなり、並列プログラム全体の経過時間が
増大するという問題があった。特に並列プログラムが何
回も繰り返して実行されるようなプログラムである場合
に、経過時間の安定したプログラム実行が望まれる。
According to the above prior art, the load applied to the computer by each constituent program itself has not been considered. For this reason, a configuration program with a long elapsed time during execution among a plurality of configuration programs may be assigned to a computer with a heavy load, and as a result, the elapsed time of such a configuration program is extended and becomes a bottleneck, There is a problem that the elapsed time of the entire parallel program increases. Particularly when the parallel program is a program that is repeatedly executed many times, it is desired to execute the program with a stable elapsed time.

【0006】本発明は、構成プログラム自身が計算機に
かける負荷を考慮した負荷分散を行い、並列プログラム
全体の経過時間を短縮することを目的とする。
An object of the present invention is to reduce the elapsed time of the entire parallel program by performing load distribution in consideration of the load applied to the computer by the constituent program itself.

【0007】[0007]

【課題を解決するための手段】本発明は、各構成プログ
ラムを各計算機で実行するときの資源使用率を取得し、
構成プログラムを実行しない状態での各計算機全体の資
源使用率を取得し、注目する資源の使用率の大きい構成
プログラムから順に構成プログラムを注目する資源の使
用率の小さい計算機から順に計算機に割り当てる並列計
算機の負荷分散方法を特徴とする。
SUMMARY OF THE INVENTION According to the present invention, a resource use rate at the time of executing each constituent program on each computer is obtained,
A parallel computer that obtains the resource usage rate of each computer as a whole without executing the configuration program, and allocates the configuration programs to the computers in order from the configuration program with the highest resource usage rate to the computer with the lowest resource usage rate. Is characterized.

【0008】本発明によれば、CPU,I/Oなどの資
源のうちで構成プログラムの特性からボトルネックにな
り易い資源に注目し、この注目する資源の使用率の大き
い構成プログラムから順に構成プログラムを注目する資
源の使用率の小さい計算機から順に対応するように計算
機に割り当てるので、ボトルネックになり易い構成プロ
グラムの経過時間の延びを防止でき、もって並列プログ
ラム全体の経過時間を短縮することができる。
According to the present invention, among resources such as CPU and I / O, attention is paid to resources that are likely to become bottlenecks from the characteristics of the constituent programs, and the constituent programs are arranged in order from the constituent program having the highest utilization rate of the noted resources. Are assigned to the computers in such a way that the use ratio of the resource of interest is small, so that the elapsed time of the constituent programs that are likely to be a bottleneck can be prevented from increasing, and the elapsed time of the entire parallel program can be reduced. .

【0009】[0009]

【発明の実施の形態】以下、本発明の一実施形態につい
て図面を用いて説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described below with reference to the drawings.

【0010】図1は、分散メモリ型の並列計算機の構成
図である。並列計算機を構成する各計算機1−1,1−
2,1−3,1−4,1−5は、共通の通信路20に接
続され、それぞれ同等の処理能力を有する演算処理装置
と専用の記憶装置を有する。並列プログラム11は、1
個又は複数個の構成プログラムによって構成され、各構
成プログラムはいずれかの計算機1に割り付けられ、他
の構成プログラムと並行して実行されるユーザのアプリ
ケーションプログラムである。構成プログラム2は、計
算機1−1〜1−4に割り付けられ、専用の記憶装置に
ロードされて実行される構成プログラムを示している。
通信プログラム3は、計算機1が他の計算機1と情報の
送受信を行うプログラムであり、容易に利用できるアプ
リケーション・インタフェースを提供するという点で並
列通信ライブラリを含む通信制御プログラムが好適であ
る。履歴採取プログラム4は、構成プログラム2の資源
使用率及び実行時の経過時間の履歴データを採取するプ
ログラムである。負荷データ収集部5は、計算機1全体
の資源使用率データを収集するハードウェア及びプログ
ラムである。計算機1−2,1−3及び1−4の構成
は、計算機1−1と同じであり、各計算機の構成プログ
ラム2、通信プログラム3、履歴採取プログラム4及び
負荷データ収集部5を区別するときには、計算機の識別
子1〜5を付加する。
FIG. 1 is a configuration diagram of a distributed memory type parallel computer. Each of the computers 1-1 and 1 that constitute the parallel computer
2, 1-3, 1-4, and 1-5 are connected to a common communication path 20, and each have an arithmetic processing unit having the same processing capability and a dedicated storage device. The parallel program 11 is 1
Each of the constituent programs is an application program of a user which is assigned to any one of the computers 1 and executed in parallel with the other constituent programs. The configuration program 2 is a configuration program that is allocated to the computers 1-1 to 1-4, loaded into a dedicated storage device, and executed.
The communication program 3 is a program that causes the computer 1 to transmit and receive information to and from another computer 1, and is preferably a communication control program including a parallel communication library in terms of providing an easily usable application interface. The history collection program 4 is a program for collecting history data of the resource usage rate and the elapsed time during execution of the configuration program 2. The load data collection unit 5 is hardware and a program that collects resource utilization data of the entire computer 1. The configuration of the computers 1-2, 1-3 and 1-4 is the same as that of the computer 1-1, and when the configuration program 2, communication program 3, history collection program 4, and load data collection unit 5 of each computer are distinguished. , Computer identifiers 1 to 5 are added.

【0011】資源使用履歴12は、通信路20に接続さ
れすべての計算機によって共有される記憶装置上に格納
され、履歴採取プログラム4が収集した履歴データであ
る。平均資源使用データ13は、各構成プログラム2の
平均の資源使用率及び経過時間のデータを格納する。ユ
ーザ設定情報14は、各構成プログラム2を計算機1に
割り当てるスケジューリングの際に使用されるパラメー
タである。現在負荷データ15は、各計算機1の資源使
用率データである。予測負荷データ16は、現在の計算
機1の負荷に割り当てた構成プログラム2の資源使用率
を追加するとき予測される負荷データである。並列プロ
グラム11、平均資源使用データ13、ユーザ設定情報
14、現在負荷データ15及び予測負荷データ16は、
計算機1−5が有する専用の記憶装置上に格納される。
The resource use history 12 is history data stored in a storage device connected to the communication path 20 and shared by all computers, and collected by the history collection program 4. The average resource usage data 13 stores data on the average resource usage rate and the elapsed time of each component program 2. The user setting information 14 is a parameter used at the time of scheduling for allocating each constituent program 2 to the computer 1. The current load data 15 is resource utilization data of each computer 1. The predicted load data 16 is load data predicted when the resource usage of the configuration program 2 allocated to the current load of the computer 1 is added. The parallel program 11, the average resource usage data 13, the user setting information 14, the current load data 15, and the predicted load data 16
It is stored on a dedicated storage device of the computer 1-5.

【0012】スケジューラ6は、計算機1−5の専用記
憶装置に格納されて実行されるプログラムであり、資源
使用履歴12を読み込み、各構成プログラム2の平均の
資源使用データを計算して平均資源使用データ13に格
納し、ユーザ設定情報14を読み込んでそのパラメータ
に基づいて各構成プログラムの割当優先順位を決定し、
負荷データ収集部5を介して各計算機1の現在の負荷デ
ータを収集して現在負荷データ15に格納し、構成プロ
グラムの割当優先順位に従って平均資源使用データ13
と現在負荷データ15とから構成プログラム2を追加し
たときの各計算機1の負荷を計算して予測負荷データ1
6に格納するとともに、各計算機1に割り当てる構成プ
ログラム2を決定する。通信プログラム7は、計算機1
−5が他の計算機1と情報の送受信を行うプログラムで
ある。なお計算機1−5は、スケジューリング専用の計
算機でもよいし、スケジューリングの後、他の計算機1
と並行して構成プログラムを実行する計算機であっても
よい。
The scheduler 6 is a program stored and executed in the dedicated storage device of the computer 1-5. The scheduler 6 reads the resource use history 12, calculates the average resource use data of each constituent program 2, and calculates the average resource use data. Stored in the data 13, read the user setting information 14, determine the assignment priority of each constituent program based on the parameters,
The current load data of each computer 1 is collected via the load data collection unit 5 and stored in the current load data 15.
The load of each computer 1 when the configuration program 2 is added is calculated from the current load data 15 and the predicted load data 1
6 and the configuration program 2 to be assigned to each computer 1 is determined. The communication program 7 includes the computer 1
-5 is a program for transmitting and receiving information to and from another computer 1. Note that the computer 1-5 may be a computer dedicated to scheduling, or another computer 1 after scheduling.
May be a computer that executes a configuration program in parallel with.

【0013】図2は、資源使用履歴12のデータ形式を
示す図である。資源使用履歴12は、各構成プログラム
2を少なくとも1回実行したときの資源使用率と経過時
間を記録する。項番は実行回数を示す番号である。経過
時間は、構成プログラム2が実行開始されてから終了す
るまでの時間である。トランザクション処理のような場
合には、経過時間は構成プログラム2にトランザクショ
ンが投入されてから結果のデータが出力されるまでの時
間であり、ターンアラウンドタイムに相当する。CPU
使用率は、構成プログラム2が単独で実行される場合、
構成プログラム2の経過時間に対する演算処理装置の使
用時間の比率である。I/O使用率は、構成プログラム
2の経過時間に対する外部記憶装置、通信路20伝送な
ど入出力装置の使用時間の比率である。
FIG. 2 is a diagram showing a data format of the resource use history 12. The resource use history 12 records a resource use rate and an elapsed time when each component program 2 is executed at least once. The item number is a number indicating the number of executions. The elapsed time is a time from the start of execution of the configuration program 2 to the end thereof. In the case of transaction processing, the elapsed time is the time from when a transaction is input to the configuration program 2 until when the resulting data is output, and corresponds to a turnaround time. CPU
When the configuration program 2 is executed independently,
This is the ratio of the usage time of the arithmetic processing device to the elapsed time of the configuration program 2. The I / O usage rate is a ratio of the usage time of the input / output device such as the external storage device and the transmission of the communication path 20 to the elapsed time of the configuration program 2.

【0014】最初に構成プログラム2−1,2−2,2
−3及び2−4がそれぞれ計算機1−1,1−2,1−
3及び1−4に割り当てられ、並行して実行されるもの
とする。構成プログラム2は、必要に応じて通信プログ
ラム3及び通信路20を介して他の構成プログラム2と
通信しながら処理を進める。各履歴採取プログラム4
は、構成プログラム2が実行されている間のCPU使用
率、I/O使用率及び経過時間のデータを採取し、通信
プログラム3及び通信路20を介して資源使用履歴12
に格納する。このようにして履歴採取プログラム4は、
構成プログラム2が実行されるたびにその資源使用率及
び経過時間のデータを採取して資源使用履歴12に格納
する。同一プログラムであっても、入力データによって
資源使用率及び経過時間が異なる場合があり、このよう
な場合には構成プログラム2を複数回実行させ、各々の
履歴データを資源使用履歴12に記録するのが望まし
い。計算機1では構成プログラム2以外の図示しない他
のアプリケーションプログラムを構成プログラム2と同
時に走行させてよいが、履歴採取プログラム4が構成プ
ログラム2の履歴データを採取している間は他プログラ
ムを走行させないのが望ましい。また他プログラムの資
源使用率は定常的であって時間的に大きな変化をしない
ものとする。負荷データ収集部5は、少なくとも他プロ
グラムを実行している間、計算機1全体の資源使用率デ
ータを収集する。
First, the configuration programs 2-1, 2-2, 2
-3 and 2-4 are computers 1-1, 1-2, 1-
3 and 1-4 and executed in parallel. The configuration program 2 proceeds as necessary while communicating with another configuration program 2 via the communication program 3 and the communication path 20. Each history collection program 4
Collects data on the CPU usage rate, the I / O usage rate, and the elapsed time while the configuration program 2 is being executed, and transmits the resource usage history 12 via the communication program 3 and the communication path 20.
To be stored. In this way, the history collection program 4
Each time the configuration program 2 is executed, the data of the resource usage rate and the elapsed time is collected and stored in the resource usage history 12. Even in the case of the same program, the resource use rate and the elapsed time may differ depending on the input data. In such a case, the configuration program 2 is executed a plurality of times and each history data is recorded in the resource use history 12. Is desirable. The computer 1 may run another application program (not shown) other than the configuration program 2 at the same time as the configuration program 2. However, while the history collection program 4 is collecting the history data of the configuration program 2, the other programs are not run. Is desirable. It is also assumed that the resource usage of other programs is stationary and does not change significantly over time. The load data collection unit 5 collects resource utilization data of the entire computer 1 at least during execution of another program.

【0015】図3は、平均資源使用データ13のデータ
形式を示す図である。平均資源使用データ13は、資源
使用履歴12のデータに基づいて計算された各構成プロ
グラム2の平均の資源使用率及び平均の経過時間であ
る。優先順位は、各構成プログラム2を計算機1に割り
当てるときの選択する順番を示す。
FIG. 3 is a diagram showing a data format of the average resource use data 13. The average resource use data 13 is an average resource use rate and an average elapsed time of each component program 2 calculated based on the data of the resource use history 12. The priority indicates the order of selection when allocating each constituent program 2 to the computer 1.

【0016】ユーザ設定情報14は、構成プログラム2
の割当スケジューリングの際に使用されるパラメータの
例であり、次のようなパラメータから構成される。 (a)優先資源使用率:CPU使用率 (b)CPU使用率限界値:90% (c)I/O使用率限界値:90% (d)経過時間の最小値:10秒 優先資源使用率は、CPU使用率とI/O使用率のうち
どちらを優先して構成プログラム2を計算機1に割り当
てるかを指定するものであり、経過時間のボトルネック
となり得る資源の使用率を指定する。一般にCPUバウ
ンドの並列プログラムについてはCPU使用率を指定
し、I/Oバウンドの並列プログラムについてはI/O
使用率を指定する。CPU使用率限界値は、計算機1の
CPU使用率の上限を指定し、I/O使用率限界値は、
計算機1からみたI/O使用率の上限を指定する。資源
使用率の限界値は、計算機1がその限界値を越えたと
き、資源使用率のわずかの増加によって経過時間が急激
に増大するような場合の実際の限界となる資源使用率を
与えるものである。経過時間の最小値は、経過時間の小
さい構成プログラム2の優先度を下げるために設定する
経過時間の下限を指定するパラメータである。
The user setting information 14 includes the configuration program 2
Is an example of a parameter used at the time of allocation scheduling, and is composed of the following parameters. (A) Priority resource usage rate: CPU usage rate (b) CPU usage rate limit value: 90% (c) I / O usage rate limit value: 90% (d) Minimum elapsed time: 10 seconds Priority resource usage rate Specifies which of the CPU usage rate and the I / O usage rate is to be preferentially allocated to the computer 1, and specifies the resource usage rate that can be a bottleneck in the elapsed time. In general, the CPU utilization is specified for a CPU-bound parallel program, and the I / O is specified for an I / O-bound parallel program.
Specify the usage rate. The CPU usage limit specifies the upper limit of the CPU usage of the computer 1, and the I / O usage limit is
Specifies the upper limit of the I / O usage rate as viewed from Calculator 1. The limit value of the resource usage rate gives a resource usage rate that becomes an actual limit when the elapsed time increases sharply due to a slight increase in the resource usage rate when the computer 1 exceeds the limit value. is there. The minimum value of the elapsed time is a parameter that specifies the lower limit of the elapsed time that is set to lower the priority of the configuration program 2 whose elapsed time is small.

【0017】図4は、現在負荷データ15のデータ形式
を示す図である。現在負荷データ15は、各計算機1ご
とに負荷の大きさとして平均の資源使用率を設定する。
FIG. 4 is a diagram showing a data format of the current load data 15. The current load data 15 sets an average resource usage rate as the magnitude of the load for each computer 1.

【0018】図5は、予測負荷データ16のデータ形式
を示す図である。予測負荷データ16は、各計算機1ご
とに割り当てた構成プログラム2、構成プログラム2を
付加したときの予想される負荷の大きさとして予測資源
使用率を設定する。
FIG. 5 is a diagram showing a data format of the predicted load data 16. The predicted load data 16 sets the configuration program 2 allocated to each computer 1 and the predicted resource usage as the magnitude of the load expected when the configuration program 2 is added.

【0019】図6は、スケジューラ6の処理の流れを示
すフローチャートである。スケジューラ6は、資源使用
履歴12に構成プログラム2が少なくとも1回実行され
たときの履歴データが格納され、各計算機1に構成プロ
グラム2がロードされる前の状態で処理を開始する。各
計算機1は構成プログラム2以外の他のプログラムを実
行していてもよい。スケジューラ6は、通信プログラム
7及び通信路20を介して資源使用履歴12のデータを
読み込み(ステップ61)、各構成プログラム2につい
て平均資源使用率と平均経過時間を計算して(ステップ
62)、平均資源使用データ13に格納する(ステップ
63)。次にユーザ設定情報14を読み込んで(ステッ
プ64)、その優先資源使用率に基づいて各構成プログ
ラム2に割当優先順位を付与する(ステップ65)。例
えばCPU使用率が優先資源使用率であれば、平均資源
使用データ13を参照して平均CPU使用率の大きい構
成プログラム2から順に1,2,・・・の優先順位を付
与する。次に平均資源使用データ13を参照して平均経
過時間がユーザ設定情報14に設定する最小値以下の構
成プログラム2があればそれを抽出し(ステップ6
6)、抽出した構成プログラム2を除外して平均CPU
使用率の大きい構成プログラム2から順に1,2,・・
・の優先順位を付け直し、除外した構成プログラム2に
ついては経過時間の大きい構成プログラム2から順に続
きの優先順位を付与するように優先順位を付け直す(ス
テップ67)。この処理によって経過時間が最小値以下
の構成プログラム2は最下位から順に優先順位が付与さ
れ、残りの構成プログラム2は優先資源使用率の大きい
ものから順に1,2,・・・の優先順位が付与されるこ
とになる。経過時間の極端に小さい構成プログラム2
は、計算機1に加える負荷が小さいために、優先資源使
用率が大きいか否かにかかわらず負荷の大きい計算機1
に割り当てる。この処理によって経過時間の極端に小さ
い構成プログラム2が誤って負荷の小さい計算機1に割
り当てられ、結果として不平衡な負荷分散が行われて並
列プログラム全体の経過時間が増大することを防止す
る。次にスケジューラ6は、通信プログラム7及び通信
路20を介して負荷データ収集部5に計算機1の負荷デ
ータを要求し、取得した計算機1の資源使用率を現在負
荷データ15に格納する(ステップ68)。次に構成プ
ログラム2の割当を終了していなければ(ステップ69
NO)、割当の済んでいない最も優先順位の高い構成プ
ログラム2を選択して、まだ割当の済んでいない計算機
1の中で優先資源使用率が最も小さい計算機1に仮割当
し、次の計算式により計算機1の予測資源使用率を計算
する(ステップ70)。 予測資源使用率=計算機1の現在の平均資源使用率+選
択した構成プログラム2の平均資源使用率 予測資源使用率は、CPU使用率とI/O使用率の両方
についてそれぞれ計算する。次に計算した予測資源使用
率とユーザ設定情報14から入力されたCPU使用率限
界値及びI/O使用率限界値とをそれぞれ比較する(ス
テップ71)。CPU使用率とI/O使用率のいずれも
限界値を越えていないとき(ステップ71NO)、選択
した構成プログラム2を仮割当した計算機1に割り当て
ることにし(ステップ72)、予測負荷データ16の該
当する計算機1に対応して割り当てた構成プログラム2
の識別子、計算した予測CPU使用率及び予測I/O使
用率を格納する。CPU使用率とI/O使用率のいずれ
かが限界値を越えたとき(ステップ71YES)、予測
負荷データ16の該当する計算機1に対応してフラグを
立て、割当が済んでいないか、仮割当の試行をしていな
い残りの計算機1があれば(ステップ73YES)、ス
テップ70に戻って上記処理を繰り返す。このようにし
てすべての構成プログラム2を計算機1に割り当てたと
き(ステップ69YES)、スケジューラ6は予測負荷
データ16上の構成プログラム2の割当に従って並列プ
ログラム11から各構成プログラム2を読み出して割り
当てた計算機1にローディングし、起動する(ステップ
74)。残りの計算機1がなくなったとき(ステップ7
3NO)、スケジューラ6は図示しない表示装置上に並
列プログラムの実行を中止する旨のメッセージを表示す
る(ステップ75)。
FIG. 6 is a flowchart showing the flow of processing of the scheduler 6. The scheduler 6 stores the history data when the configuration program 2 has been executed at least once in the resource usage history 12, and starts the process before the configuration program 2 is loaded on each computer 1. Each computer 1 may execute a program other than the configuration program 2. The scheduler 6 reads the data of the resource use history 12 via the communication program 7 and the communication path 20 (step 61), calculates an average resource use rate and an average elapsed time for each constituent program 2 (step 62), and It is stored in the resource use data 13 (step 63). Next, the user setting information 14 is read (step 64), and the assignment priority is assigned to each constituent program 2 based on the priority resource usage rate (step 65). For example, if the CPU usage rate is the priority resource usage rate, the priority order of 1, 2,... Next, referring to the average resource usage data 13, if there is a configuration program 2 whose average elapsed time is equal to or less than the minimum value set in the user setting information 14, it is extracted (step 6).
6), the average CPU excluding the extracted configuration program 2
1, 2, ... in order from the configuration program 2 with the highest usage rate
The priority order is re-assigned, and for the excluded configuration programs 2, the priority order is re-assigned so as to give successive precedence orders in descending order of the elapsed time (step 67). By this processing, the configuration programs 2 whose elapsed time is equal to or less than the minimum value are given priority in order from the lowest, and the remaining configuration programs 2 are given priority of 1, 2,... Will be granted. Configuration program 2 with extremely small elapsed time
Is a small load on the computer 1 irrespective of whether or not the priority resource usage rate is large because the load on the computer 1 is small.
Assign to This processing prevents the configuration program 2 with an extremely short elapsed time from being erroneously assigned to the computer 1 with a small load, thereby preventing imbalanced load distribution and increasing the elapsed time of the entire parallel program. Next, the scheduler 6 requests the load data of the computer 1 from the load data collection unit 5 via the communication program 7 and the communication path 20, and stores the obtained resource usage rate of the computer 1 in the current load data 15 (step 68). ). Next, if the assignment of the configuration program 2 has not been completed (step 69)
NO), the highest-priority configuration program 2 that has not been allocated is selected and temporarily allocated to the computer 1 with the lowest priority resource utilization among the computers 1 that have not been allocated, and the following formula is used. Calculates the predicted resource usage rate of the computer 1 (step 70). Predicted resource utilization = current average resource utilization of computer 1 + average resource utilization of selected constituent program 2 The predicted resource utilization is calculated for both the CPU utilization and the I / O utilization. Next, the calculated predicted resource usage rate is compared with the CPU usage rate limit value and the I / O usage rate limit value input from the user setting information 14 (step 71). When neither the CPU usage rate nor the I / O usage rate exceeds the limit value (NO in step 71), the selected configuration program 2 is allocated to the temporarily allocated computer 1 (step 72). Configuration program 2 assigned corresponding to computer 1
, The calculated predicted CPU usage rate and the predicted I / O usage rate. When either the CPU usage rate or the I / O usage rate exceeds the limit value (YES at step 71), a flag is set corresponding to the corresponding computer 1 in the predicted load data 16 to determine whether the allocation has been completed or not. If there is any remaining computer 1 that has not been tried (YES in step 73), the process returns to step 70 to repeat the above processing. When all the configuration programs 2 have been allocated to the computer 1 in this way (step 69 YES), the scheduler 6 reads out each of the configuration programs 2 from the parallel program 11 in accordance with the allocation of the configuration programs 2 on the predicted load data 16 and allocates the allocated computer. 1 and start (step 74). When there is no remaining computer 1 (step 7
3NO), the scheduler 6 displays a message to the effect that the execution of the parallel program is stopped on a display device (not shown) (step 75).

【0020】上記のスケジューラ6の処理によって、例
えば図3に示す資源使用データをもつ構成プログラム2
の割当優先順位は、上記ユーザ設定情報14の例によれ
ば図3に示す順位となり、現在負荷データ15が図4に
示すものとしたとき、結果として各計算機1に割り当て
られる構成プログラム2及び予測資源使用率は図5に示
すものとなる。この例ではまず構成プログラム2−3が
計算機1−1に割当された後、構成プログラム2−2が
計算機1−2に仮割当されるが、計算機1−2の予測I
/O使用率が限界値を越えるため、計算機1−3に割当
されることになり、構成プログラム2−1及び2−4は
仮割当通りそれぞれ計算機1−2及び1−4に割当され
る。
By the processing of the scheduler 6, the configuration program 2 having the resource use data shown in FIG.
Are assigned as shown in FIG. 3 according to the example of the user setting information 14. When the current load data 15 is set as shown in FIG. 4, the configuration program 2 and the prediction The resource usage rate is as shown in FIG. In this example, after the configuration program 2-3 is first allocated to the computer 1-1, the configuration program 2-2 is provisionally allocated to the computer 1-2.
Since the / O usage rate exceeds the limit value, it is allocated to the computer 1-3, and the configuration programs 2-1 and 2-4 are allocated to the computers 1-2 and 1-4 as provisional allocation, respectively.

【0021】上記実施形態によれば、並列プログラムを
構成する構成プログラムの中で、構成プログラムの実行
時経過時間を引き延ばすボトルネックとなり易い資源に
ついてその資源使用率においてボトルネックとなり易い
構成プログラムをその資源使用率の負荷が小さい計算機
に割り当てるため、このような構成プログラム2の経過
時間を増大させない方向で負荷分散が行われ、結果とし
て並列プログラム11全体の経過時間あるいはターンア
ラウンドタイムを短縮できる。またこのとき経過時間の
極端に小さい構成プログラム2は、並列プログラム全体
の経過時間に注目したときその経過時間が多少延びても
ボトルネックにならないものとして比較的負荷の大きい
計算機に割当されるため、このような構成プログラム2
によって上記の原則が乱されることがなく、結果として
並列プログラム11全体の経過時間の短縮に寄与する。
さらに計算機1の資源使用率の限界値を越えるような構
成プログラム2の割当を排除するために、上記のような
構成プログラム2自体に起因するボトルネック以外の新
たなボトルネックが発生して構成プログラム2の経過時
間が増大することを防止し、結果として並列プログラム
11全体の経過時間の短縮に寄与する。
According to the above-described embodiment, among the constituent programs constituting the parallel program, the resources which are likely to become bottlenecks for extending the execution time of the constituent programs are referred to as the bottlenecks in the resource usage rate. Since the load of the usage rate is allocated to the computer with a small load, the load distribution is performed in such a manner that the elapsed time of the constituent program 2 is not increased, and as a result, the elapsed time or the turnaround time of the entire parallel program 11 can be reduced. Also, at this time, the configuration program 2 having an extremely small elapsed time is allocated to a computer having a relatively large load assuming that the elapsed time of the entire parallel program does not become a bottleneck even if the elapsed time is slightly extended. Such a configuration program 2
Accordingly, the above principle is not disturbed, and as a result, the elapsed time of the entire parallel program 11 is reduced.
Further, in order to eliminate the allocation of the configuration program 2 exceeding the resource usage rate limit of the computer 1, a new bottleneck other than the bottleneck caused by the configuration program 2 itself occurs and the configuration program 2 prevents the elapsed time from increasing, and as a result contributes to shortening the elapsed time of the parallel program 11 as a whole.

【0022】なお並列計算機を構成する計算機の数が並
列プログラムを構成する構成プログラムの数より多い場
合、スケジューラ6は注目する資源の使用率の小さいも
のから順に構成プログラムの数に相当する計算機を選択
し、選択した計算機について上記の割当スケジューリン
グを行えばよい。
If the number of computers constituting the parallel computer is larger than the number of the constituting programs constituting the parallel program, the scheduler 6 selects the computers corresponding to the number of the constituent programs in ascending order of the utilization rate of the resource of interest. Then, the above assignment scheduling may be performed for the selected computer.

【0023】また上記実施形態では、資源使用率として
CPU使用率とI/O使用率を挙げたが、I/O使用率
を通信路20の使用率と通信路20以外の入出力装置使
用率とに分離してもよい。またメモリ(主記憶)使用率
を加えてもよい。
In the above embodiment, the CPU usage rate and the I / O usage rate are described as the resource usage rates. And may be separated. Further, a memory (main storage) usage rate may be added.

【0024】[0024]

【発明の効果】本発明によれば、並列プログラムを構成
する構成プログラムについてボトルネックとなり易い資
源に注目し、この資源の使用率においてボトルネックと
なり易い構成プログラムをその資源使用率の負荷が小さ
い計算機に割り当てるため、並列プログラム全体の経過
時間あるいはターンアラウンドタイムが短縮され、特に
繰り返し実行される並列プログラムの安定したターンア
ラウンドタイムを実現できる。
According to the present invention, attention is paid to resources which are likely to become bottlenecks in the constituent programs constituting the parallel program, and the constituent programs which are likely to become bottlenecks in the utilization rate of the resources are converted to a computer having a small load on the resource utilization rate. , The elapsed time or the turnaround time of the entire parallel program is reduced, and in particular, a stable turnaround time of the repeatedly executed parallel program can be realized.

【図面の簡単な説明】[Brief description of the drawings]

【図1】実施形態の分散メモリ型の並列計算機の構成図
である。
FIG. 1 is a configuration diagram of a distributed memory type parallel computer according to an embodiment.

【図2】実施形態の資源使用履歴12のデータ形式を示
す図である。
FIG. 2 is a diagram illustrating a data format of a resource use history 12 according to the embodiment.

【図3】実施形態の平均資源使用データ13のデータ形
式を示す図である。
FIG. 3 is a diagram illustrating a data format of average resource use data 13 according to the embodiment.

【図4】実施形態の現在負荷データ15のデータ形式を
示す図である。
FIG. 4 is a diagram showing a data format of current load data 15 of the embodiment.

【図5】実施形態の予測負荷データ16のデータ形式を
示す図である。
FIG. 5 is a diagram illustrating a data format of predicted load data 16 according to the embodiment.

【図6】実施形態のスケジューラ6の処理の流れを示す
フローチャートである。
FIG. 6 is a flowchart illustrating a flow of processing of a scheduler 6 according to the embodiment.

【符号の説明】[Explanation of symbols]

1:計算機、2:構成プログラム、4:履歴採取プログ
ラム、6:スケジューラ、11:並列プログラム、1
2:資源使用履歴、13:平均資源使用データ、14:
ユーザ設定情報、15:現在負荷データ、16:予測負
荷データ
1: computer, 2: configuration program, 4: history collection program, 6: scheduler, 11: parallel program, 1
2: Resource usage history, 13: Average resource usage data, 14:
User setting information, 15: current load data, 16: predicted load data

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】複数の構成プログラムから構成される並列
プログラムの各構成プログラムを複数の計算機から構成
される並列計算機の各計算機に割り当てて並行して実行
するときの計算機によってスケジュールされる負荷分散
方法において、 各構成プログラムを該計算機で実行するときの構成プロ
グラムの資源使用率を取得し、該構成プログラムを実行
しない状態での各計算機全体の資源使用率を取得し、注
目する資源の使用率の大きい構成プログラムから順に構
成プログラムを注目する資源の使用率の小さい計算機か
ら順に計算機に割り当てることを特徴とする並列計算機
の負荷分散方法。
A load distribution method scheduled by a computer when each component program of a parallel program composed of a plurality of component programs is allocated to each computer of a parallel computer composed of a plurality of computers and executed in parallel. The resource utilization of the configuration program when each component program is executed on the computer, the resource utilization rate of each computer as a whole without executing the configuration program is acquired, and the utilization rate of the resource of interest is obtained. A load balancing method for a parallel computer, wherein a configuration program is allocated to computers in ascending order of configuration programs from a computer having a lower resource usage rate of a resource of interest.
【請求項2】さらに各構成プログラムを該計算機で実行
するときの経過時間を取得し、経過時間が所定時間に達
しない構成プログラムを除外して上記割当を行い、除外
した構成プログラムについては経過時間の大きい構成プ
ログラムから順に構成プログラムを注目する資源の使用
率の小さい残りの計算機から順に計算機に割り当てるこ
とを特徴とする請求項1記載の並列計算機の負荷分散方
法。
2. Obtaining an elapsed time when each of the constituent programs is executed by the computer, performing the above assignment by excluding the constituent programs whose elapsed time does not reach a predetermined time, and assigning the elapsed time to the excluded constituent programs. 2. The load balancing method for a parallel computer according to claim 1, wherein the configuration programs are allocated to the computers in ascending order of the configuration programs from the remaining computers in which the utilization rate of the resource of interest is lower.
【請求項3】各構成プログラムを該計算機に割り当てる
とき、構成プログラムの各資源使用率に割り当てる計算
機の対応する資源使用率を加えた合計の資源使用率が所
定の限界値を越える場合に割当をやめて注目する資源の
使用率の次に大きい計算機に割り当てることを特徴とす
る請求項1記載の並列計算機の負荷分散方法。
3. When allocating each constituent program to the computer, if the total resource usage rate obtained by adding the corresponding resource usage rate of the computer to be allocated to each resource usage rate of the configuration program exceeds a predetermined limit value, the allocation is performed. 2. The method according to claim 1, further comprising allocating the resource to a computer having the next highest utilization rate of the resource of interest.
JP8183531A 1996-07-12 1996-07-12 Method for distributing load of parallel computer Pending JPH1027167A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8183531A JPH1027167A (en) 1996-07-12 1996-07-12 Method for distributing load of parallel computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8183531A JPH1027167A (en) 1996-07-12 1996-07-12 Method for distributing load of parallel computer

Publications (1)

Publication Number Publication Date
JPH1027167A true JPH1027167A (en) 1998-01-27

Family

ID=16137468

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8183531A Pending JPH1027167A (en) 1996-07-12 1996-07-12 Method for distributing load of parallel computer

Country Status (1)

Country Link
JP (1) JPH1027167A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004530196A (en) * 2001-03-08 2004-09-30 インターナショナル・ビジネス・マシーンズ・コーポレーション Resource balancing in partitioned processing environment
US7478393B2 (en) 2003-04-30 2009-01-13 International Business Machines Corporation Method for marketing to instant messaging service users
JP2009134640A (en) * 2007-11-30 2009-06-18 Hitachi Ltd Resource allocation method, resource allocation program and operation management apparatus
US7743148B2 (en) 2007-02-23 2010-06-22 Nec Corporation Server migration planning system and server migration planning method
JP2010277171A (en) * 2009-05-26 2010-12-09 Hitachi Ltd Device and method task assignment
JP2011013822A (en) * 2009-06-30 2011-01-20 Nec Corp Information system, control device, data processing method for the same, and program
US8051269B2 (en) 2003-04-30 2011-11-01 International Business Machines Corporation Automated memory reallocation and optimization between logical partitions
WO2013018184A1 (en) * 2011-07-29 2013-02-07 富士通株式会社 Allocation method, and multi-core processor system
JP2020087060A (en) * 2018-11-28 2020-06-04 日本電気株式会社 Job scheduling device, management system and scheduling method

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004530196A (en) * 2001-03-08 2004-09-30 インターナショナル・ビジネス・マシーンズ・コーポレーション Resource balancing in partitioned processing environment
US8051269B2 (en) 2003-04-30 2011-11-01 International Business Machines Corporation Automated memory reallocation and optimization between logical partitions
US7478393B2 (en) 2003-04-30 2009-01-13 International Business Machines Corporation Method for marketing to instant messaging service users
US8381225B2 (en) 2003-04-30 2013-02-19 International Business Machines Corporation Automated processor reallocation and optimization between logical partitions
US7743148B2 (en) 2007-02-23 2010-06-22 Nec Corporation Server migration planning system and server migration planning method
JP4523965B2 (en) * 2007-11-30 2010-08-11 株式会社日立製作所 Resource allocation method, resource allocation program, and operation management apparatus
JP2009134640A (en) * 2007-11-30 2009-06-18 Hitachi Ltd Resource allocation method, resource allocation program and operation management apparatus
JP2010277171A (en) * 2009-05-26 2010-12-09 Hitachi Ltd Device and method task assignment
JP2011013822A (en) * 2009-06-30 2011-01-20 Nec Corp Information system, control device, data processing method for the same, and program
WO2013018184A1 (en) * 2011-07-29 2013-02-07 富士通株式会社 Allocation method, and multi-core processor system
JPWO2013018184A1 (en) * 2011-07-29 2015-03-02 富士通株式会社 Allocation method and multi-core processor system
US9189279B2 (en) 2011-07-29 2015-11-17 Fujitsu Limited Assignment method and multi-core processor system
JP2020087060A (en) * 2018-11-28 2020-06-04 日本電気株式会社 Job scheduling device, management system and scheduling method

Similar Documents

Publication Publication Date Title
EP3799390B1 (en) Preemptive scheduling based resource sharing use method, system and
US11558244B2 (en) Improving performance of multi-processor computer systems
EP3254196B1 (en) Method and system for multi-tenant resource distribution
US7748005B2 (en) System and method for allocating a plurality of resources between a plurality of computing domains
CN105718479B (en) Execution strategy generation method and device under cross-IDC big data processing architecture
US7689996B2 (en) Method to distribute programs using remote Java objects
US10275277B2 (en) Job distribution within a grid environment using mega-host groupings of execution hosts
US9703285B2 (en) Fair share scheduling for mixed clusters with multiple resources
US8209695B1 (en) Reserving resources in a resource-on-demand system for user desktop utility demand
JP3678414B2 (en) Multiprocessor system
US7299468B2 (en) Management of virtual machines to utilize shared resources
US7117499B2 (en) Virtual computer systems and computer virtualization programs
Hui et al. Improved strategies for dynamic load balancing
JP5744909B2 (en) Method, information processing system, and computer program for dynamically managing accelerator resources
US5958003A (en) Method and computer system for improving the response time of a computer system to a user request
US20130346994A1 (en) Job distribution within a grid environment
US7979864B2 (en) Apparatus for setting used license of executing job into unused license state and allocating the set unused license to a to be executed job based on priority
US20040003077A1 (en) System and method for the allocation of grid computing to network workstations
US20030037092A1 (en) Dynamic management of virtual partition computer workloads through service level optimization
JP2003256221A (en) Parallel process executing method and multi-processor type computer
CN107797863B (en) Fine-grained resource matching method in cloud computing platform
JP2009223497A (en) Management machine, management system, management program, and management method
CN111338785A (en) Resource scheduling method and device, electronic equipment and storage medium
JP2014120097A (en) Information processor, program, and information processing method
KR20100074920A (en) Apparatus and method for load balancing in multi-core system