JPH0713817B2 - Dynamic load balancing method for loosely coupled parallel computers - Google Patents

Dynamic load balancing method for loosely coupled parallel computers

Info

Publication number
JPH0713817B2
JPH0713817B2 JP2059858A JP5985890A JPH0713817B2 JP H0713817 B2 JPH0713817 B2 JP H0713817B2 JP 2059858 A JP2059858 A JP 2059858A JP 5985890 A JP5985890 A JP 5985890A JP H0713817 B2 JPH0713817 B2 JP H0713817B2
Authority
JP
Japan
Prior art keywords
processor
slave
job
priority
master processor
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.)
Expired - Lifetime
Application number
JP2059858A
Other languages
Japanese (ja)
Other versions
JPH03262074A (en
Inventor
和男 瀧
昌一 古市
Original Assignee
工業技術院長
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 工業技術院長 filed Critical 工業技術院長
Priority to JP2059858A priority Critical patent/JPH0713817B2/en
Publication of JPH03262074A publication Critical patent/JPH03262074A/en
Publication of JPH0713817B2 publication Critical patent/JPH0713817B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は複数のプロセッサがネットワークにより接続
され、プロセッサの処理速度と比較して通信速度が遅い
疎結合並列計算機上で負荷を動的に均等化するための疎
結合並列計算機における負荷の動的均等化方法に関する
ものである。
DETAILED DESCRIPTION OF THE INVENTION [Industrial field of use] The present invention dynamically loads evenly on a loosely coupled parallel computer in which a plurality of processors are connected by a network and the communication speed is slower than the processing speed of the processors. The present invention relates to a dynamic load equalization method for a loosely coupled parallel computer.

[従来の技術] 第5図は、例えば論文誌「IEE Transactions on Comput
ers,peges1,098−1,109 vol38,No.8,August 1989」にK.
M.BaumgartnerおよびB.W.Wah.らによって発表された論
文“GAMMON:A Load Balancing Strategy for Local Com
puter Systems with Multiaccess Networks"の第1099頁
右段上から第10行目以降に記述されている、ローカルエ
リアネットワークによって接続された分散コンピュータ
システム上の負荷の動的均等化方法の一例を示すもので
ある。この第5図において、1〜4は「CPU1」,「CPU
2」,「CPU3」,「CPU4」の記号を付した複数のプロセ
ッサであって、これら複数のプロセッサ1〜4は負荷分
散を行うマスタープロセッサと負荷分散を受けるスレー
ブプロセッサとに分けられている。具体的には、「CPU
1」のプロセッサをマスタープロセッサ1とし、「CPU
2」,「CPU3」,「CPU4」の各プロセッサをスレーブプ
ロセッサ2〜4とする。5,6,7,8はマスタープロセッサ
1およびスレーブプロセッサ2〜4における実行可能な
ジョブを格納するためのキュー(待ち行列)を示し、9
〜16はマスタープロセッサ1およびスレーブプロセッサ
2〜4における実行可能なジョブを示し、17〜マスター
プロセッサ1およびスレーブプロセッサ2〜4それぞれ
を相互に接続するネットワークを示している。
[Prior Art] FIG. 5 shows, for example, the journal “IEE Transactions on Comput
ers, peges 1,098-1,109 vol 38, No.8, August 1989 ''.
The paper “GAMMON: A Load Balancing Strategy for Local Com” published by M. Baumgartner and BW Wah.
This is an example of the dynamic load balancing method on the distributed computer systems connected by the local area network, which is described in the 10th line from the top right of page 1099 of "puter Systems with Multiaccess Networks". In Fig. 5, 1-4 are "CPU1" and "CPU".
A plurality of processors with symbols “2”, “CPU3”, and “CPU4”, and these plurality of processors 1 to 4 are divided into a master processor that performs load distribution and a slave processor that receives load distribution. Specifically, "CPU
"1" processor as master processor 1 and "CPU
2 ”,“ CPU3 ”, and“ CPU4 ”are slave processors 2 to 4. Reference numerals 5, 6, 7, and 8 denote queues (queues) for storing executable jobs in the master processor 1 and slave processors 2 to 4, and 9
Reference numerals 16 to 17 indicate jobs that can be executed by the master processor 1 and the slave processors 2 to 4, and 17 to 10 are networks that mutually connect the master processor 1 and the slave processors 2 to 4, respectively.

次に従来の分散コンピュータシステム上の負荷の動的均
等化方法の動作を説明する。第5図において、マスター
プロセッサ1が与えられた仕事を分割して実行可能なジ
ョブ9〜16を生成してスレーブプロセッサ2〜4に割り
付ける。例えば、上記ジョブ6〜16において、ジョブ9
〜13がマスタープロセッサ1のキュー5に格納され、ジ
ョブ14,15がスレーブプロセッサ2のキュー6に格納さ
れ、ジョブ16がスレーブプロセッサ3のキュー7に格納
され、スレーブプロセッサ4のキュー8には実行可能な
ジョブが格納されていないものとする。この状態におい
て、マスタープロセッサ1はジョブ9〜13をスレーブプ
ロセッサ2〜4に割り付けて負荷の均等化を行う。
Next, the operation of the conventional dynamic load balancing method on the distributed computer system will be described. In FIG. 5, the master processor 1 divides the given work to generate executable jobs 9 to 16 and allocates them to the slave processors 2 to 4. For example, in the above jobs 6 to 16, job 9
~ 13 are stored in the queue 5 of the master processor 1, jobs 14 and 15 are stored in the queue 6 of the slave processor 2, job 16 is stored in the queue 7 of the slave processor 3, and executed in the queue 8 of the slave processor 4. It is assumed that possible jobs are not stored. In this state, the master processor 1 allocates the jobs 9 to 13 to the slave processors 2 to 4 and equalizes the loads.

この負荷の均等化のために、マスタープロセッサ1は定
期的に全部のスレーブプロセッサ2〜4の負荷の重さを
調べ、動的に検出した負荷の軽いスレーブプロセッサに
対しジョブを割り付けるのである。上記負荷の重さはス
レーブプロセッサ2〜4におけるキュー2〜4のジョブ
12〜16を格納した長さで分かる。このキュー6〜8の長
さが長いスレーブプロセッサは負荷が重くて忙しく、短
いスレーブプロセッサは負荷が軽くて暇であることを意
味する。即ち、マスタープロセッサ1はスレーブプロセ
ッサ2〜4のキュー6〜8の長さを定期的にポーリング
し、キュー6〜8の長さが一番短いスレーブプロセッサ
を負荷の一番軽いスレーブプロセッサとして検出する。
ここで説明を簡単にするために、キューの長さが「0」
のスレーブプロセッサを負荷が一番軽いものとする。よ
って、マスタープロセッサ1はスレーブプロセッサ4を
負荷の一番軽いスレーブプロセッサとして検出するとと
もにこのスレーブプロセッサ4に負荷を分散させる。
In order to equalize the load, the master processor 1 periodically checks the load weights of all the slave processors 2 to 4 and allocates jobs to the dynamically detected lightly loaded slave processors. The weight of the above load is the jobs of queues 2-4 in slave processors 2-4.
You can tell by the length of 12 to 16 stored. This means that a slave processor with a long queue 6-8 has a heavy load and is busy, and a short slave processor has a light load and is free. That is, the master processor 1 periodically polls the lengths of the queues 6 to 8 of the slave processors 2 to 4 and detects the slave processor having the shortest length of the queues 6 to 8 as the lightest loaded slave processor. .
To simplify the explanation here, the queue length is "0".
The slave processor of is the one with the lightest load. Therefore, the master processor 1 detects the slave processor 4 as the slave processor with the lightest load and distributes the load to the slave processor 4.

第6図はマスタープロセッサ1が一定時間おきに全部の
スレーブプロセッサ2〜4のキュー6〜8の長さをポー
リングして負荷の軽いスレーブプロセッサを見付ける様
子を示している。先ず、マスタープロセッサ1はスレー
ブプロセッサ2〜4に対しキューの長さを調べるための
通信メッセージ(ReqL:Request Queue Length)18,19,2
0を送出する。これら通信メッセージ18〜20を受信した
スレーブプロセッサ2〜4は自分のキュー6〜8の長さ
を知らせる通信メッセージ(RQL:Report Queue Lengt
h)21,22,23をマスタープロセッサ1に送出して報告す
る。この例では、スレーブプロセッサ2が「2」をマス
タープロセッサ1に報告し、スレーブプロセッサ3が
「1」をマスタープロセッサ1に報告し、スレーブプロ
セッサ4がマスタープロセッサ1に「0」を報告する。
この全部のスレーブプロセッサ2〜4からの通信メッセ
ージ21〜23がマスタープロセッサ1に到着すると、マス
タープロセッサ1が上記通信メッセージ21〜23の中から
キューの長さが最小のものを見付ける。この例では、ス
レーブプロセッサ4から通信メッセージ23によるキュー
8の長さが「0」であることから、マスタープロセッサ
1はスレーブプロセッサ4が負荷が一番軽いと判断し、
マスタープロセッサ1が上記スレーブプロセッサ4にジ
ョブ9を新たに割り付ける。
FIG. 6 shows how the master processor 1 polls the lengths of the queues 6 to 8 of all the slave processors 2 to 4 at regular intervals to find a slave processor having a light load. First, the master processor 1 sends a communication message (ReqL: Request Queue Length) 18,19,2 to the slave processors 2 to 4 to check the queue length.
Send 0. The slave processors 2 to 4, which have received these communication messages 18 to 20, communicate the communication messages (RQL: Report Queue Lengt
h) Send 21, 22 and 23 to the master processor 1 to report. In this example, the slave processor 2 reports “2” to the master processor 1, the slave processor 3 reports “1” to the master processor 1, and the slave processor 4 reports “0” to the master processor 1.
When the communication messages 21 to 23 from all the slave processors 2 to 4 arrive at the master processor 1, the master processor 1 finds the communication message 21 to 23 having the smallest queue length. In this example, since the length of the queue 8 according to the communication message 23 from the slave processor 4 is “0”, the master processor 1 determines that the slave processor 4 has the lightest load,
The master processor 1 newly allocates the job 9 to the slave processor 4.

第7図はマスタープロセッサ1が負荷が一番軽いスレー
ブプロセッサ4にジョブ9を割り付けた様子を示す。こ
の第7図では全部のスレーブプロセッサ2〜4が忙しい
状態、つまり負荷が重い状態となる。そして、一定時間
が経過した後に、マスタープロセッサ1はスレーブプロ
セッサ2〜4のうちで負荷が軽いスレーブプロセッサを
再び検出し、マスタープロセッサ1が上記検出した負荷
が軽いスレーブプロセッサにジョブ10〜13のうちの少な
くとも一つを新たに割り付ける。以上のようにして、マ
スタープロセッサ1がスレーブプロセッサ2〜4に対し
動的に負荷の均等化を行う。
FIG. 7 shows how the master processor 1 allocates the job 9 to the slave processor 4 having the lightest load. In FIG. 7, all slave processors 2 to 4 are in a busy state, that is, a heavy load. Then, after a lapse of a certain time, the master processor 1 detects again the slave processor with a light load among the slave processors 2 to 4, and the master processor 1 detects the slave processor with a light load among the jobs 10 to 13 among the slave processors with a light load. At least one of these is newly allocated. As described above, the master processor 1 dynamically equalizes the loads on the slave processors 2 to 4.

[発明が解決しようとする課題] 従来の負荷の動的均等化方法は、上記のようにマスター
プロセッサ1が一定時間おきにスレーブプロセッサ2〜
4に対しキューの長さをポーリグせねばならず、一つの
ジョブを割り付けるのに、マスタープロセッサ1とスレ
ーブプロセッサ2とを含むプロセッサの台数をNとした
ときに、(N−1)×2個の通信メッセージ18〜23を必
要とする。従って、メッセージの通信回数がプロセッサ
の台数に比例して増える。よって、プロセッサの処理速
度と比較してネットワークの転送速度が遅い疎結合並列
計算機においては、プロセッサの台数が増えると、ネッ
トワークの通信がボトルネックとなり、負荷の均等化が
完全に行われにくくなり、プロセッサの台数の拡張性が
少なくなるという問題点があった。
[Problems to be Solved by the Invention] In the conventional dynamic load equalization method, as described above, the master processor 1 slaves the slave processors 2 to 2 at regular intervals.
4, the queue length must be polled, and when allocating one job, when the number of processors including the master processor 1 and the slave processor 2 is N, (N-1) × 2 Need communication messages 18-23. Therefore, the number of message communications increases in proportion to the number of processors. Therefore, in a loosely coupled parallel computer in which the transfer speed of the network is slow compared to the processing speed of the processor, if the number of processors increases, network communication becomes a bottleneck, and it becomes difficult to perform load equalization completely. There is a problem that the expandability of the number of processors is reduced.

この発明は、上記のような問題点を解決するためになさ
れたもので、スレーブプロセッサからマスタープロセッ
サへの一回の通信メッセージで少なくとも一つのジョブ
を分散して、プロセッサの台数の拡張性を向上し、ま
た、そのための特別なハードウェア或いはオペレーティ
ングシステムの機能を必要とせずに、負荷の動的均等化
の効率化および高速化を図れる疎結合並列計算機におけ
る負荷の動的均等化方法を得ることを目的とする。
The present invention has been made to solve the above problems, and improves the expandability of the number of processors by distributing at least one job with one communication message from a slave processor to a master processor. In addition, a dynamic load balancing method for a loosely coupled parallel computer that can improve efficiency and speed of dynamic load balancing without requiring special hardware or operating system functions therefor is provided. With the goal.

[課題を解決するための手段] この発明に係る疎結合並列計算機における負荷の動的均
等化方法は、複数のプロセッサのうちのマスタープロセ
ッサが与えられた仕事を優先度の高いジョブと複数のプ
ロセッサのうちのスレーブプロセッサの個数以上の優先
度の低いジョブとに分割し、このマスタープロセッサが
上記優先度の高いジョブおよび優先度の低いジョブをス
レーブプロセッサに割り付け、スレーブプロセッサがジ
ョブを優先度の高いものから低いものの順に実行して優
先度の低いジョブが実行されるとき新たなジョブを要求
する通信メッセージをマスタープロセッサに送信し、こ
の通信メッセージの到着によってマスタープロセッサが
上記通信メッセージを送信したスレーブプロセッサに少
なくとも一個の上記優先度の低いジョブを割り付けるこ
とを特徴とするものである。
[Means for Solving the Problems] A dynamic load balancing method for a loosely coupled parallel computer according to the present invention is a master processor of a plurality of processors, which assigns a job to a high priority job and a plurality of processors. Of the low-priority jobs that are equal to or greater than the number of slave processors, and this master processor assigns the above-mentioned high-priority jobs and low-priority jobs to slave processors, and the slave processors assign high-priority jobs. Slave processor that sends a communication message requesting a new job to the master processor when low priority jobs are executed by executing the communication messages in descending order, and the master processor sends the communication message by the arrival of this communication message At least one of the above low priority jobs It is characterized by allocation.

[作用] この発明の疎結合並列計算機における負荷の動的均等化
方法は、マスタープロセッサが与えられた仕事を分割し
て優先度の高いジョブとスレーブプロセッサの個数以上
の優先度の低いジョブとを生成し、マスタープロセッサ
がスレーブプロセッサに少なくとも一個の優先度の低い
ジョブを割り付けた状態において、スレーブプロセッサ
が優先度の低いジョブを実行すると、そのスレーブロセ
ッサが自分のキューが空となって負荷が軽くなったこと
をマスタープロセッサに通知する。この通知によって、
マスタープロセッサが少なくとも一個の優先度の低いジ
ョブを上記負荷の軽くなったスレーブプロセッサに割り
付ける。
[Operation] According to a dynamic load equalization method in a loosely coupled parallel computer of the present invention, a master processor divides a given work into a job having a high priority and a job having a low priority equal to or more than the number of slave processors. When a slave processor executes a low-priority job while it is spawning and the master processor has assigned at least one low-priority job to the slave processor, the slave processor has its queue empty and the load lightened. Notify the master processor that By this notice,
The master processor assigns at least one low priority job to the lightly loaded slave processor.

[実施例] 以下、この発明の疎結合並列計算機における負荷の動的
均等化方法の一実施例を第1図乃至第4図を用いつつ上
記従来例と同一部分に同一符号を付して説明する。
[Embodiment] An embodiment of a method for dynamically balancing loads in a loosely coupled parallel computer according to the present invention will be described with reference to FIG. 1 to FIG. To do.

第1図はこの発明の実施例としての疎結合並列計算機に
おける負荷の動的均等化方法を示す構成図である。第1
図において、「CPU1」,「CPU2」,「CPU3」,「CPU4」
の記号を付した四台のプロセッサ1〜4がネットワーク
17で接続されており、これらのプロセッサ1〜4は負荷
分散を行う一台のマスタープロセッサと負荷分散を受け
る三台のスレーブプロセッサとに分けられている。つま
り、「CPU1」なるプロセッサをマスタープロセッサ1と
し、「CPU2」,「CPU3」,「CPU4」なる各プロセッサを
スレーブプロセッサ2〜4とする。これらマスタープロ
セッサ1とスレーブプロセッサ2〜4とはその内部にキ
ューを2本づつ備える。マスタープロセッサ1は優先度
の高いジョブを格納するためのキュー25と優先度の低い
ジョブを格納するためのキュー35とを有し、スレーブプ
ロセッサ2は優先度の高いジョブを格納するためのキュ
ー26と優先度の低いジョブを格納するためのキュー36と
を有し、スレーブプロセッサ3は優先度の高いジョブを
格納するためのキュー27と優先度の低いジョブを格納す
るためのキュー37とを有し、スレーブプロセッサ4は優
先度の高いジョブを格納するためのキュー28と優先度の
低いジョブを格納するためのキュー38とを有する。
FIG. 1 is a configuration diagram showing a dynamic load equalization method in a loosely coupled parallel computer as an embodiment of the present invention. First
In the figure, "CPU1", "CPU2", "CPU3", "CPU4"
Four processors 1-4 marked with a symbol are network
They are connected at 17, and these processors 1 to 4 are divided into one master processor for load balancing and three slave processors for load balancing. That is, the processor "CPU1" is the master processor 1, and the processors "CPU2", "CPU3", and "CPU4" are the slave processors 2 to 4. Each of the master processor 1 and the slave processors 2 to 4 has two queues inside. The master processor 1 has a queue 25 for storing high priority jobs and a queue 35 for storing low priority jobs, and the slave processor 2 has a queue 26 for storing high priority jobs. And a queue 36 for storing low priority jobs, and the slave processor 3 has a queue 27 for storing high priority jobs and a queue 37 for storing low priority jobs. However, the slave processor 4 has a queue 28 for storing high priority jobs and a queue 38 for storing low priority jobs.

また、上記マスタープロセッサ1は与えられた仕事を実
行可能な複数のジョブ9〜16,30〜34に分割し、これら
ジョブ9〜16,30〜34を優先度の高いジョブ9〜16とス
レーブプロセッサの個数以上の優先度の低いジョブ30〜
34として生成する。
Further, the master processor 1 divides a given job into a plurality of jobs 9 to 16 and 30 to 34 that can be executed, and these jobs 9 to 16 and 30 to 34 are divided into high priority jobs 9 to 16 and slave processors. 30 or more low-priority jobs
Generate as 34.

そして、マスタープロセッサ1はスレーブプロセッサ2
〜4に上記優先度の高いジョブと少なくとも一個の上記
優先度の低いジョブとを割り付ける。例えば、優先度の
高いジョブ9〜16において、ジョブ9〜13がマスタープ
ロセッサ1のキュー25に格納され、ジョブ14,15がスレ
ーブプロセッサ2のキュー26に格納され、ジョブ16がス
レーブプロセッサ3のキュー27に格納されている。優先
度の低いジョブ30〜34において、ジョブ33,34がマスタ
ープロセッサ1のキュー35に格納され、ジョブ30がスレ
ーブプロセッサ2のキュー36に格納され、ジョブ31がス
レーブプロセッサ3のキュー37に格納され、ジョブ32が
スレーブプロセッサ4のキュー88に格納されているもの
とする。
And the master processor 1 is the slave processor 2
The jobs of high priority and at least one job of low priority are allocated to 4 to. For example, in jobs 9 to 16 with high priority, jobs 9 to 13 are stored in queue 25 of master processor 1, jobs 14 and 15 are stored in queue 26 of slave processor 2, and job 16 is queue of slave processor 3. Stored in 27. Among the jobs 30 to 34 having low priorities, the jobs 33 and 34 are stored in the queue 35 of the master processor 1, the job 30 is stored in the queue 36 of the slave processor 2, and the job 31 is stored in the queue 37 of the slave processor 3. , The job 32 is stored in the queue 88 of the slave processor 4.

このように割り付けられた状態において、マスタープロ
セッサ1およびスレーブプロセッサ2〜4はジョブ9〜
16,30〜34を優先度の高いものから低いものの順に実行
する。つまり、マスタープロセッサ1が優先度の高いジ
ョブ13を実行し、スレーブプロセッサ2が優先度の高い
ジョブ15を実行し、スレーブプロセッサ3が優先度の高
いジョブ16を実行し、スレーブプロセッサ4が優先度の
低いジョブ32を実行する。
In this allocated state, the master processor 1 and the slave processors 2 to 4 execute jobs 9 to 9 respectively.
Execute 16,30 to 34 in descending order of priority. That is, the master processor 1 executes the high priority job 13, the slave processor 2 executes the high priority job 15, the slave processor 3 executes the high priority job 16, and the slave processor 4 executes the priority job. Run job 32 with a low

第2図は、第1図におけるスレーブプロセッサ4が優先
度の低いジョブ32を実行すると同時にマスタープロセッ
サ1に対し新たなジョブを要求するための通信メッセー
ジ(Reqjob:Request Job)18を送信する様子を表したも
のである。第2図において、スレーブプロセッサ4から
送信された通信メッセージ18がマスタープロセッサ1に
到着することによって、マスタープロセッサ1は、現
在、スレーブプロセッサ2〜4中のどのスレーブプロセ
ッサの負荷が軽いかを検出できる。
FIG. 2 shows how the slave processor 4 in FIG. 1 executes a low priority job 32 and at the same time sends a communication message (Reqjob: Request Job) 18 for requesting a new job to the master processor 1. It is a representation. In FIG. 2, when the communication message 18 transmitted from the slave processor 4 arrives at the master processor 1, the master processor 1 can detect which slave processor among the slave processors 2 to 4 is currently lightly loaded. .

第3図は負荷の軽いスレーブプロセッサ4を検出したマ
スタプロセッサ1が自分のキュー25中における優先度の
高いジョブ9と自分のキュー35中における少なくとも1
個の優先度の低いジョブ33とを負荷の軽いスレーブプロ
セッサ4に割り付けた様子を表したものである。第3図
において、優先度の高いジョブ9はマスタープロセッサ
1のキュー25からスレーブプロセッサ4のキュー28に割
り付けられ、優先度の低いジョブ33はマスタープロセッ
サ1のキュー35からスレーブプロセッサ4のキュー38に
割り付けられる。この優先度の低いジョブ33は、スレー
ブプロセッサ4がジョブ9の実行後にジョブ33の実行を
行うことによって、スレーブプロセッサ4の負荷が再度
軽くなるときに、スレーブプロセッサ4がマスタープロ
セッサ1に対し新たなジョブを要求するための通信メッ
セージ18(第2図参照)を再び送信するためのジョブと
なる。
FIG. 3 shows that the master processor 1 that has detected the lightly loaded slave processor 4 has a high priority job 9 in its own queue 25 and at least 1 in its own queue 35.
This shows a state in which the low-priority jobs 33 are assigned to the slave processor 4 having a light load. In FIG. 3, a high priority job 9 is assigned from the queue 25 of the master processor 1 to the queue 28 of the slave processor 4, and a low priority job 33 is assigned from the queue 35 of the master processor 1 to the queue 38 of the slave processor 4. Assigned. The job 33 of low priority is executed by the slave processor 4 when the load of the slave processor 4 is lightened again by executing the job 33 after the slave processor 4 executes the job 9. This is a job for transmitting the communication message 18 (see FIG. 2) for requesting a job again.

第4図はスレーブプロセッサ3が第3図における優先度
の低いジョブ31を実行して負荷が軽くなったことをマス
タープロセッサ1に通知し、マスタープロセッサ1が優
先度の高いジョブ10と優先度の低いジョブ34とをスレー
ブプロセッサ3に新たに割り付けた様子を表したもので
ある。
In FIG. 4, the slave processor 3 notifies the master processor 1 that the load is lightened by executing the low priority job 31 in FIG. 3, and the master processor 1 notifies the high priority job 10 and the priority The low job 34 and the slave job 3 are newly allocated to the slave processor 3.

以上のように、スレーブプロセッサ2〜4は優先度の低
いジョブを実行して負荷が最も軽くなるたびにマスター
プロセッサ1にジョブの割り付けを通信メッセージ18に
て要求し、この要求によって、マスタープロセッサ1は
上記負荷の軽くなったスレーブプロセッサ2〜4それぞ
れに優先度の高いジョブと優先度の低いジョブとを動的
に割り付けることによって、負荷の均等化が行われる。
即ち、スレーブプロセッサ2〜4からマスタープロセッ
サ1への一回の通信メッセージ18を送出するたびに、少
なくとも一つの優先度の低いジョブを負荷の軽いスレー
ブプロセッサ2〜4に動的に割り付けるので、従来のよ
うな通信のボトルネックを発生することがなく、ジョブ
を分散して、プロセッサの台数の拡張性が向上する。
As described above, the slave processors 2 to 4 each request the master processor 1 to allocate a job with the communication message 18 each time the load is lightened by executing a job having a low priority. By dynamically allocating high-priority jobs and low-priority jobs to the respective slave processors 2 to 4 whose loads are lightened, the loads are equalized.
That is, each time a single communication message 18 is sent from the slave processors 2 to 4 to the master processor 1, at least one low-priority job is dynamically assigned to the lightly loaded slave processors 2-4. Such a communication bottleneck does not occur, jobs are distributed, and the expandability of the number of processors is improved.

以上説明したように、この実施例は負荷分散を担うマス
タープロセッサ1が与えられた仕事を優先度の高いジョ
ブ9〜16とスレーブプロセッサの個数以上の優先度の低
いジョブ30〜34とに分割しつつスレーブプロセッサ2〜
4に割り付け、スレーブプロセッサ2〜4が上記割り付
けられた優先度の低いジョブ30〜34を実行すると同時に
通信メッセージ18にて新たにジョブをマスタープロセッ
サ1に要求することによって、この通信メッセージ18を
受信したマスタープロセッサ1が上記通信メッセージ18
を通信した負荷の最も軽いスレーブプロセッサ2〜4に
優先度の高いジョブと優先度の低いジョブとを割り付け
る。
As described above, in this embodiment, the work to which the master processor 1 responsible for load balancing is given is divided into high priority jobs 9 to 16 and low priority jobs 30 to 34 equal to or more than the number of slave processors. While slave processor 2
4, the slave processors 2 to 4 execute the low-priority jobs 30 to 34 thus assigned, and at the same time request a new job from the master processor 1 by a communication message 18 to receive the communication message 18. The master processor 1 that has done the above communication message 18
Jobs with high priority and jobs with low priority are assigned to the slave processors 2 to 4 having the lightest load that communicated with each other.

したがって、前述の従来方法では、暇なスレーブプロセ
ッサ2〜4を検出するのに、マスタープロセッサ1が一
定時間おきにスレーブプロセッサのキュー5〜8の実行
可能なジョブの長さをポーリングし、一つのジョブを分
散するのに、マスタープロセッサ1とスレーブプロセッ
サ2〜4とを含むプロセッサの台数をNとしたときに、
(N−1)×2個のメッセージ通信を必要としたところ
を、この実施例によれば、特別なハードウェアあるいは
オペレーティングシステムの機能を必要とせず、スレー
ブプロセッサ2〜4が割り付けられた優先度の低いジョ
ブ30〜34を実行するごとに通信メッセージ18のマスター
プロセッサ1に送信し、この送信された通信メッセージ
18をマスタープロセッサ1が受信することによって、マ
スタープロセッサ1がスレーブプロセッサ2〜4の中で
負荷の軽くなったスレーブプロセッサを検出することが
できた、また、マスタープロセッサ1が上記負荷の軽く
なったスレーブプロセッサに一つの通信メッセージ18に
よって優先度の高いジョブと優先度の低いジョブと分散
することができる。結果として、この実施例では、プロ
セッサの台数に係わりなく、最低数の通信メッセージ18
で負荷の動的均等化ができ、プロセッサ台数の拡張性が
向上する。
Therefore, in the above-mentioned conventional method, in order to detect the idle slave processors 2 to 4, the master processor 1 polls the lengths of the executable jobs in the queues 5 to 8 of the slave processors at regular intervals, and the To distribute the jobs, when the number of processors including the master processor 1 and the slave processors 2 to 4 is N,
According to the present embodiment, (N-1) × 2 message communication is required, but according to this embodiment, the special priority of the slave processors 2 to 4 is assigned without requiring any special hardware or operating system function. The communication message 18 is transmitted to the master processor 1 every time the jobs 30 to 34 having a low communication rate are executed.
By receiving 18 from the master processor 1, the master processor 1 was able to detect the slave processor with the lighter load among the slave processors 2 to 4, and the master processor 1 had the lighter load. Jobs of high priority and jobs of low priority can be distributed by one communication message 18 to the slave processors. As a result, in this example, the minimum number of communication messages 18
The load can be dynamically equalized and the expandability of the number of processors is improved.

なお、上記実施例では実行可能なジョブを格納するキュ
ーとしてを優先度の高いジョブを格納するキュー25〜28
と優先度の低いジョブを格納するキュー35〜38との2種
類のキューを持つ疎結合並列計算機を例示したが、多段
階の優先度のジョブを格納するキューを持った計算機に
おいては、上記実施例における優先度の低いジョブ30〜
34を最低優先度のジョブと読み代えることによって、上
記実施例と同様に適用できる。
In the above embodiment, the queues storing executable jobs are queues 25 to 28 storing high priority jobs.
Although a loosely coupled parallel computer having two types of queues, namely, queues 35 to 38 for storing jobs with low priority, and a queue for storing jobs with multi-level priority, the above implementation is performed. Jobs with low priority in the example 30 ~
By replacing 34 with the job with the lowest priority, the same application as in the above embodiment is possible.

[発明の効果] 以上のようにこの発明によれば、マスタープロセッサが
与えられた仕事を分割して優先度の高いジョブと複数の
プロセッサのうちのスレーブプロセッサの個数以上の優
先度の低いジョブとを生成し、マスタープロセッサがス
レーブプロセッサそれぞれに優先度の低いジョブを少な
くとも1個割り付けておき、スレーブプロセッサが優先
度の低いジョブを実行すると同時に負荷が軽くなったこ
とをマスタープロセッサに通知することによって、マス
タープロセッサが少なくとも一個の優先度の低いジョブ
を上記負荷の軽くなったスレーブプロセッサに割り付け
るようにしたので、特別なハードウェアあるいはオペレ
ーティングシステムの機能を必要とせずに、スレーブプ
ロセッサが優先度の低いジョブを実行することによっ
て、マスタープロセッサが負荷の軽くなったスレーブプ
ロセッサを検出することができ、スレーブプロセッサか
らマスタープロセッサに送信される一個の通信メッセー
ジによって、マスタープロセッサが上記負荷の軽くなっ
たスレーブプロセッサに少なくとも一個のジョブを分散
することができ、結果として、プロセッサの台数が増え
ても、負荷の動的均等化のために必要な通信メッセージ
の数を最低数とすることができ、プロセッサの台数の拡
張性を向上しつつ、負荷の動的均等化を効率良く高速に
行うことができるという効果がある。
As described above, according to the present invention, a master processor divides a given work into a high-priority job and a low-priority job equal to or more than the number of slave processors among a plurality of processors. , The master processor assigns at least one low-priority job to each slave processor, and the slave processor executes the low-priority job and notifies the master processor that the load is lightened at the same time. , The master processor assigns at least one low-priority job to the lightly loaded slave processor, so that the slave processor has a low priority without requiring any special hardware or operating system functionality. By running the job The master processor can detect the lightly loaded slave processor and one communication message sent from the slave processor to the master processor causes the master processor to distribute at least one job to the lightly loaded slave processor. As a result, even if the number of processors increases, the number of communication messages required for dynamic load balancing can be minimized, and the scalability of the number of processors can be improved. The effect is that dynamic load equalization can be performed efficiently and at high speed.

【図面の簡単な説明】 第1図はこの発明の一実施例に係る疎結合並列計算機に
おける動的均等化方法を示す構成図、第2図は上記実施
例においてスレーブプロセッサが優先度の低いジョブを
実行すると同時にマスタープロセッサに新たなジョブを
要求する通信メッセージを送信する様子を示した説明
図、第3図は上記実施例において負荷の軽いスレーブプ
ロセッサにジョブが新たに割り付けられる様子を示した
説明図、第4図は上記実施例において負荷の軽い別のス
レーブプロセッサにジョブが新たに割り付けられる様子
を示した説明図、第5図は従来の疎結合並列計算機とし
ての分散コンピュータにおける負荷の動的均等化方法を
示す構成図、第6図は上記従来例においてマスタープロ
セッサが負荷の軽いスレーブプロセッサを見付ける様子
を示した説明図、第7図は上記従来例においてマスター
プロセッサが負荷が一番軽いスレーブプロセッサにジョ
ブを割り付ける様子を示した説明図である。 1……マスタープロセッサ(CPU1)、2,3,4……スレー
ブプロセッサ(CPU2,3,4)、9,10,11,12,13,14,15,16…
…優先度の高いジョブ、17……ネットワーク、18……通
信メッセージ、25,26,27,28……優先度の高いジョブを
格納するためのキュー、、30,31,32,33,34……優先度の
低いジョブ、35,36,37,38……優先度の低いジョブを格
納するためのキューである。
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram showing a dynamic equalization method in a loosely coupled parallel computer according to an embodiment of the present invention, and FIG. 2 is a job in which a slave processor has a low priority in the above embodiment. Is executed and at the same time a communication message requesting a new job is transmitted to the master processor, and FIG. 3 is an illustration showing a job newly allocated to the slave processor having a light load in the above embodiment. FIGS. 4 and 5 are explanatory views showing how jobs are newly allocated to another slave processor having a light load in the above embodiment, and FIG. 5 is dynamic load distribution in a distributed computer as a conventional loosely coupled parallel computer. FIG. 6 is a block diagram showing the equalization method, and FIG. 6 shows that the master processor finds a slave processor with a light load in the above conventional example. FIG. 7 is an explanatory view showing the child, and FIG. 7 is an explanatory view showing how the master processor allocates a job to the slave processor having the lightest load in the conventional example. 1 ... Master processor (CPU1), 2,3,4 ... Slave processor (CPU2,3,4), 9,10,11,12,13,14,15,16 ...
… High priority jobs, 17 …… Network, 18 …… Communication messages, 25,26,27,28 …… Queues for storing high priority jobs, 30,31,32,33,34… ... low priority jobs, 35, 36, 37, 38 ... queues for storing low priority jobs.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】負荷分散を行うマスタープロセッサとこの
マスタープロセッサによる負荷分散を受けるスレーブプ
ロセッサとがネットワークにより接続され、上記プロセ
ッサの処理速度と比較して通信速度が遅い疎結合並列計
算機上で負荷を動的に均等化する負荷の動的均等化方法
において、 上記マスタープロセッサが、与えられた仕事を、優先度
の高いジョブと,スレーブプロセッサの個数以上の複数
個の優先度の低いジョブとに分割するステップと、 上記マスタープロセッサが、上記優先度の高いジョブを
スレーブプロセッサのうちのいくつかに割り付けるとと
もに、少なくとも上記優先度の低いジョブ一個を全スレ
ーブプロセッサに分散して割り付けるステップと、 スレーブプロセッサがジョブを優先度の高いものから低
いものの順に実行してその優先度の低いジョブが実行さ
れるとき新たなジョブを要求する通信メッセージをマス
タープロセッサに送信するステップと、 この通信メッセージの到着によってマスタープロセッサ
が、上記通信メッセージを送信した既に優先度の低いジ
ョブを保有していないスレーブプロセッサに対して、少
なくとも一個の上記優先度の低いジョブを割り付けるス
テップと、 を含む疎結合並列計算機における負荷の動的均等化方
法。
1. A master processor that performs load balancing and a slave processor that receives load balancing by this master processor are connected by a network, and load is loaded on a loosely coupled parallel computer whose communication speed is slower than the processing speed of the processor. In the dynamic load balancing method of dynamically balancing, the master processor divides a given work into a job with a high priority and a plurality of jobs with a low priority equal to or more than the number of slave processors. The master processor allocates the high-priority job to some of the slave processors, and at least allocates one low-priority job to all the slave processors. Jobs from highest priority to lowest priority And sending a communication message requesting a new job to the master processor when the low priority job is executed, and the arrival of this communication message causes the master processor to send the communication message with the above priority. A method of allocating at least one low priority job to a slave processor which does not have a low job, and a dynamic load balancing method in a loosely coupled parallel computer including:
JP2059858A 1990-03-13 1990-03-13 Dynamic load balancing method for loosely coupled parallel computers Expired - Lifetime JPH0713817B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2059858A JPH0713817B2 (en) 1990-03-13 1990-03-13 Dynamic load balancing method for loosely coupled parallel computers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2059858A JPH0713817B2 (en) 1990-03-13 1990-03-13 Dynamic load balancing method for loosely coupled parallel computers

Publications (2)

Publication Number Publication Date
JPH03262074A JPH03262074A (en) 1991-11-21
JPH0713817B2 true JPH0713817B2 (en) 1995-02-15

Family

ID=13125301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2059858A Expired - Lifetime JPH0713817B2 (en) 1990-03-13 1990-03-13 Dynamic load balancing method for loosely coupled parallel computers

Country Status (1)

Country Link
JP (1) JPH0713817B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3362067B2 (en) * 1993-04-13 2003-01-07 三菱電機株式会社 Load balancing method in distributed computer system
JPH0830471A (en) * 1994-07-14 1996-02-02 Hitachi Ltd Execution processor change system for job
JPH11195007A (en) * 1998-01-07 1999-07-21 Sanyo Electric Co Ltd Distributed processing system/method
US6886164B2 (en) * 2001-05-08 2005-04-26 Emc Corporation Selection of a resource in a distributed computer system
JP5038589B2 (en) 2004-10-04 2012-10-03 株式会社日立製作所 Disk array device and load balancing method thereof
US9244721B2 (en) 2011-11-24 2016-01-26 Hitachi, Ltd. Computer system and divided job processing method and program
US20160306416A1 (en) * 2015-04-16 2016-10-20 Intel Corporation Apparatus and Method for Adjusting Processor Power Usage Based On Network Load

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61114363A (en) * 1984-11-07 1986-06-02 Hitachi Ltd Job transfer system between computer systems
JPS63211060A (en) * 1987-02-27 1988-09-01 Nippon Telegr & Teleph Corp <Ntt> Load distribution control system for multiprocessor system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
古市昌一,瀧和男,市古伸行「疎結合並列計算機上でのOR並列問題に適した動的負荷分散方式とその評価」情報処理学会計算機アーキテクチャ研究会89−79(1989−11)、PP.73−81

Also Published As

Publication number Publication date
JPH03262074A (en) 1991-11-21

Similar Documents

Publication Publication Date Title
US6947987B2 (en) Method and apparatus for allocating network resources and changing the allocation based on dynamic workload changes
US7694009B2 (en) System and method for balancing TCP/IP/workload of multi-processor system based on hash buckets
US6771595B1 (en) Apparatus and method for dynamic resource allocation in a network environment
JPH04229356A (en) Load balancer and transaction processing system
JP3788697B2 (en) Message control unit
Soundarabai et al. Comparative study on load balancing techniques in distributed systems
Gkoutioudi et al. Task cluster scheduling in a grid system
JPH0713817B2 (en) Dynamic load balancing method for loosely coupled parallel computers
Chen et al. Optimized virtual machine placement with traffic-aware balancing in data center networks
Alam et al. Resource-aware load balancing model for batch of tasks (BoT) with best fit migration policy on heterogeneous distributed computing systems
Wan et al. A batch scheduler for the Intel Paragon with a non-contiguous node allocation algorithm
CN112882827A (en) Method, electronic device and computer program product for load balancing
Haroon et al. Interest attentive dynamic load balancing in distributed systems
Jain et al. An algorithm for dynamic load balancing in distributed systems with multiple supporting nodes by exploiting the interrupt service
Lu et al. An efficient load balancing algorithm for heterogeneous grid systems considering desirability of grid sites
CN116483538A (en) Data center task scheduling method with low consistency and delay
Naaz et al. Load balancing algorithms for peer to peer and client server distributed environments
JPH09160884A (en) Dynamic load-distributed parallel computer
RU2121709C1 (en) Method for control of users requests processing in computer system
Dandamudi et al. A hierarchical processor scheduling policy for distributed-memory multicomputer systems
Watashiba et al. An architectural design of a job management system leveraging software defined network
Angayarkanni A survey on load balancing in cloud computing using various algorithms
Kadhim TIME TO DEATH-BASED SCHEDULING FOR INTERNET OF THINGS IN FOG COMPUTING
Selvi et al. Scheduling In Virtualized Grid Environment Using Hybrid Approach
Jawad et al. RHLB: Improved Routing Load Balancing Algorithm Based on Hybrid Policy

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term