JP2526399B2 - Load balancing method for parallel computers - Google Patents

Load balancing method for parallel computers

Info

Publication number
JP2526399B2
JP2526399B2 JP5209954A JP20995493A JP2526399B2 JP 2526399 B2 JP2526399 B2 JP 2526399B2 JP 5209954 A JP5209954 A JP 5209954A JP 20995493 A JP20995493 A JP 20995493A JP 2526399 B2 JP2526399 B2 JP 2526399B2
Authority
JP
Japan
Prior art keywords
processing
distribution
threshold value
value
parallel computer
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
JP5209954A
Other languages
Japanese (ja)
Other versions
JPH0744505A (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 JP5209954A priority Critical patent/JP2526399B2/en
Publication of JPH0744505A publication Critical patent/JPH0744505A/en
Application granted granted Critical
Publication of JP2526399B2 publication Critical patent/JP2526399B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、複数のプロセシング・
エレメントからなる並列計算機における負荷分散方法に
関する。
BACKGROUND OF THE INVENTION The present invention relates to a plurality of processing
The present invention relates to a load balancing method in a parallel computer composed of elements.

【0002】[0002]

【従来の技術】従来の並列計算機における負荷分散方式
では、情報処理学会研究報告89−ARC−77;「プ
ロセッサ間ソフトウェア割込処理を高速化するスリット
チェック機構」に記載のように、実行する処理の無くな
ったとなったプロセッサが他の全てのプロセッサに対し
て処理の分配を要求し、処理を受け取る負荷分散方式が
示されている(以下、第一の従来技術と呼ぶ)。また、
オーム社コンピュータアーキテクチャシリーズ・電子情
報通信学会編「並列処理マシン」154ページのしきい
値方式に記載の様に自分の負荷がしきい値以下の場合は
新たな処理を自分自身に割り当て、しきい値を超えてい
る場合はしきい値を超えていない他のプロセシング・エ
レメントに割り当てていた(以下、第二の従来技術と呼
ぶ)。
2. Description of the Related Art In a conventional load balancing method for a parallel computer, processing executed as described in Information Processing Society of Japan, Research Report 89-ARC-77; "Slit check mechanism for speeding up software interrupt processing between processors" There is a load balancing method in which a processor that has become empty requests all other processors to distribute the processing and receives the processing (hereinafter, referred to as a first conventional technique). Also,
Ohmsha's Computer Architecture Series, The Institute of Electronics, Information and Communication Engineers, "Parallel Processing Machine" As described in the threshold method on page 154, when the load of the user is less than the threshold, a new process is assigned to the operator and the threshold If it exceeds the value, it is assigned to another processing element that does not exceed the threshold value (hereinafter referred to as the second conventional technique).

【0003】[0003]

【発明が解決しようとする課題】並列計算機の性能を向
上させるためには、各プロセシング・エレメントの稼働
時間を向上させるとともに各プロセシング・エレメント
間の同期処理のオーバヘッドの削減も必要である。上記
第一の従来技術と第二の従来技術を組み合わせた負荷分
散方式、すなわち、負荷が無くなったプロセシング・エ
レメントが処理の分配を要求し、負荷がしきい値より大
きいプロセシング・エレメントが要求に応ずる方式で
は、しきい値を大きく設定した場合は処理の分配が発生
しないため各プロセシング・エレメントの負荷にバラツ
キが生じ稼働率が低下する。また、しきい値を小さくし
た場合は処理を多く有するプロセシング・エレメントか
らだけでなく処理の少ないプロセシング・エレメントか
らも分配が生じ、この分配は無駄なオーバヘッドを増加
させる。
In order to improve the performance of a parallel computer, it is necessary to improve the operating time of each processing element and reduce the overhead of the synchronization processing between each processing element. A load balancing method that combines the first and second prior arts described above, that is, the processing engine with no load.
When the threshold value is set to a large value, processing load does not occur when the threshold value is set to a large value, so the load on each processing element varies. Occurs and the operating rate decreases. Further, when the threshold value is made small, distribution occurs not only from the processing element having a large amount of processing but also from the processing element having a small processing, and this distribution increases unnecessary overhead.

【0004】本発明の目的は、少ない処理の分配でプロ
セシング・エレメントの稼働率を向上させ、それによっ
て全体の性能を向上させる並列計算機における負荷分散
方式を提供することにある。
It is an object of the present invention to provide a load balancing system in a parallel computer which improves the operating rate of processing elements by distributing a small amount of processing, thereby improving the overall performance.

【0005】[0005]

【課題を解決するための手段】上記目的を達成するため
に、ネットワークにより相互に接続された、複数のプロ
セシング・エレメトを並列に動作させて、各プロセシン
グ・エレメントによりそれぞれ処理を実行させ、実行す
べき処理がなくなったプロセシング・エレメントから
ネットワークを介して他のプロセシング・エレメントに
処理の分配を要求し、該他のプロセシング・エレメント
は実行すべき処理の量がある定められたしきい値を越え
ている場合、該処理の分配の要求元のプロセシング・エ
レメントに処理を分配する並列計算機において、各プロ
セシング・エレメントの該しきい値に初期値を設定し、
いずれかのプロセシング・エレメントに対して一つの処
処の分配要求が他のプロセシング・エレメントからなさ
れた後、ある定められた時間以内に新たな処理の分配要
求があった場合、そのプロセシング・エレメントにおけ
る該しきい値を小さくし、その時間以内に新たな処理の
分配要求がなかった場合、該しきい値を該初期値に変更
する。
In order to achieve the above object , a plurality of professionals connected to each other by a network are used.
By operating the processing and elemet in parallel, each processing
Each processing element is executed and executed.
From a processing element that has no processing to do
To other processing elements via the network
Requesting distribution of processing and other processing elements
Exceeds a certain threshold amount of work to be performed
, The processing requester of the requesting distributor of the processing
In a parallel computer that distributes processing to
Set an initial value to the threshold value of the sessing element,
One process for any processing element
Distribution requests are not made by other processing elements.
New processing needs to be distributed within a specified time after
If requested, leave it in that processing element
Decrease the threshold value, and within that time new processing
If there is no distribution request, change the threshold value to the initial value
I do.

【0006】[0006]

【作用】一定時間内に複数の処理の分配要求が到着する
ような場合は多くのプロセシング・エレメントが処理を
有してないと判断し処理分配のしきい値を下げるため処
理の分配が頻繁に行なわれ稼働率が向上する。一定時間
内に複数の処理の分配要求が到着しない場合は多くのプ
ロセシング・エレメントが既に処理を有していると判断
、処理分配のしきい値をある定められた値(初期値)
に変更する処理、即ち、高い値に変更する処理を行うの
で、処理をあまり有していないプロセシング・エレメン
トからの無駄な処理の分配が生じないため少ない処理の
分配で稼働率を向上させることができる。
When a plurality of processing distribution requests arrive within a certain period of time, it is determined that many processing elements do not have processing and the processing distribution frequency is lowered in order to lower the processing distribution threshold. The operation rate is improved. If multiple processing distribution requests do not arrive within a certain time, it is determined that many processing elements already have processing, and the processing distribution threshold value is set to a certain value (initial value).
To change to a higher value, that is, to change to a higher value
In, it is possible to improve the operating rate in distribution of less processing for unnecessary processing of the distribution from the processing elements that do not have processing much does not occur.

【0007】[0007]

【実施例】以下、本発明の一実施例を図を用いて説明す
る。図1は、並列計算機のプロセシング・エレメントに
おいて本発明の一実施例である負荷分散方式を実現した
場合のフローチャートを示す。尚、並列計算機の構成に
ついては図2に示す。まず図1を説明する。ステップ1
では、プロセシング・エレメントで実行すべき処理の有
無を判定する。実行すべき処理のある場合はステップ2
へ、無い場合はステップ3へ進む。ステップ2では処理
を実行する。ここで処理とは例えば、1つのプログラム
が複数の部分プログラムからできており、それらが並列
に実行可能なようなプログラムの部分プログラムであ
る。この次にステップ4に進む。ステップ3では、他の
プロセシング・エレメントに処理の分配を要求する。こ
こで処理分配要求はネットワークのメッセージとして他
のプロセシング・エレメントに送られる。なお、このメ
ッセージは他のすべてのプロセシング・エレメントに送
られてもよいし、何れか一つのプロセシング・エレメン
トに送られてもよい。ステップ4では、ネットワークか
ら到着したメッセージの有無を判定する。到着メッセー
ジがある場合ステップ5へ進み、無い場合ステップ1へ
進む。ステップ5では到着メッセージが処理分配要求で
あるかどうかを判定する。処理分配要求の場合ステップ
7へ、そうで無い場合ステップ6へ進む。ステップ6で
は到着メッセージを通常メッセージとして処理する。こ
のステップ6での処理はステップ2に関連する処理(例
えば、二つの部分プログラム間でのデータ通信)か処理
の分配の受け取り処理(例えば、部分プログラムの実行
待ちキューへの登録などである。図示せず。)である。
DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described below with reference to the drawings. FIG. 1 shows a flow chart in the case where a load balancing system which is an embodiment of the present invention is realized in a processing element of a parallel computer. The configuration of the parallel computer is shown in FIG. First, FIG. 1 will be described. Step 1
Then, it is determined whether or not there is a process to be executed by the processing element. Step 2 if there is processing to be executed
If not, go to step 3. In step 2, the process is executed. Here, the processing is, for example, a partial program of a program in which one program is made up of a plurality of partial programs, which can be executed in parallel. After this, the process proceeds to step 4. In step 3, the other processing elements are requested to distribute the processing. Here, the processing distribution request is sent as a network message to another processing element. This message may be sent to all the other processing elements, or may be sent to any one of the processing elements. In step 4, it is determined whether there is a message that has arrived from the network. If there is an arrival message, proceed to step 5, otherwise proceed to step 1. In step 5, it is determined whether the arrival message is a processing distribution request. If it is a processing distribution request, the process proceeds to step 7, and if not, the process proceeds to step 6. In step 6, the arrival message is processed as a normal message. The processing in step 6 is processing related to step 2 (for example, data communication between two partial programs) or processing for receiving distribution of processing (for example, registration of a partial program in an execution waiting queue). Not shown).

【0008】ステップ7以降は処理分配要求があった場
合であり、まずステップ7で以前に処理分配要求を受け
取った時間NEWTをOLDTにセットする。ここで
EWT、OLDTはレジスタでもメモリでもよい。次に
NEWTにTODの値をセットする。TODはシステム
固有の時計である。その後、NEWTからOLDTを減
じた値とTTを比較し、TT以下であればステップ10
にそうでなければステップ11に進む。ここでTTはあ
らかじめ設定されている時間である。ステップ10では
しきい値THの二分の一の値を新たにTHにセットす
る。この新たにセツトする値は小数点以下切捨てとす
る。ステップ11ではしきい値THにあらかじめ決めら
れている初期値をセットする。ステップ12では負荷量
がしきい値より大きい場合ステップ13へ進み、そうで
無い場合ステップ4へ進む。ステップ13では実行すべ
き処理のうちの一つを処理分配メッセージにして要求元
へ送り処理を分配し、その後、ステップ4へ戻る。
Step 7 and thereafter are cases where there is a processing distribution request. First, in step 7, the time NEWT when the processing distribution request was previously received is set to OLDT. Where N
The EWT and OLDT may be registers or memories. Next, the value of TOD is set in NEWT. TOD is a clock unique to the system. After that, TT is compared with the value obtained by subtracting OLDT from NEWT, and if TT or less, step 10
Otherwise, go to step 11. Here, TT is a preset time. In step 10, one half of the threshold value TH is newly set to TH. The value to be newly set is truncated after the decimal point. In step 11, a threshold value TH is set to a predetermined initial value. In step 12, if the load amount is larger than the threshold value, the process proceeds to step 13, and if not, the process proceeds to step 4. In step 13, one of the processes to be executed is converted into a process distribution message and sent to the request source to distribute the process, and then the process returns to step 4.

【0009】図2は先に述べたように並列計算機の構成
を示す。並列計算機は、複数のプロセシングエレメント
PE1〜PEnとこれらを相互に接続するネットワーク
NETからなる。このプロセシング・エレメントPE1
〜PEnにおいて図1で示したフローチャートにもとづ
き処理の実行が制御される。ネットワークNETは任意
のプロセシング・エレメント間でメッセージの転送を実
現できれば良く、その内部構成については問わない。
FIG. 2 shows the configuration of the parallel computer as described above. The parallel computer includes a plurality of processing elements PE1 to PEn and a network NET interconnecting the processing elements PE1 to PEn. This processing element PE1
.. to PEn, the execution of processing is controlled based on the flowchart shown in FIG. The network NET only needs to be able to realize the transfer of messages between arbitrary processing elements, and its internal configuration does not matter.

【0010】続いてこの並列計算機の動作例を説明す
る。ここではPEの数が4の場合について示す。しきい
値が小さくなり処理の分配が実行され、しきい値が初期
値に変更されて処分の分配が抑止される例を示す。まず
図3(a)では最初にすべてのPEが4つの処理を有し
ている(負荷量=4)とする。この時、しきい値THは
初期値に設定されており、ここでは16であったとす
る。次に図3(a)では図3(a)の状態から時間が経
過しPE1以外は次々と処理が無くなったとする。ま
た、PE1で実行の結果、処理が増えて8つの処理が残
っている(負荷量=8)とする。この時、PE2、PE
3、PE4からネットワークを経由して次々と処理分配
要求メッセージが、PE1に送られる。すると図1のあ
らかじめ設定されている時間TTが適切な値であれば、
処理分配要求メッセージの到着時間間隔はTTより小さ
くなり、これによってPE1では、図1のステップ10
が実行され、しきい値THが16から8へ、さらに、8
から4へと変更されPE1の有する負荷量である8より
小さくなる。この時点で図1のステップ13の処理の分
配が実行され図4(a)のようにPE2、PE3、PE
4に処理が分配される。ここで分配した処理の実行時間
が長い場合や、新たな処理を生成するような処理である
場合、PE2、PE3、PE4から処理分配要求メッセ
ージがPE1に送られなくなる。その後、新たに負荷分
散要求メッセージが到着した際に、図4(b)のように
PE1のしきい値THが図1のステップ11によって1
6に変更され、処理の分配が抑止される。以上の処理の
制御によって各PEの稼働率を向上させつつ無駄な処理
の分配を抑止することができる。
Next, an operation example of this parallel computer will be described. Here, the case where the number of PEs is 4 is shown. An example is shown in which the threshold is reduced and the processing is distributed, the threshold is changed to the initial value, and the disposal is suppressed. First, in FIG. 3A, it is assumed that all PEs initially have four processes (load amount = 4). At this time, the threshold value TH is set to the initial value, which is 16 here. Next, in FIG. 3A, it is assumed that time elapses from the state of FIG. 3A and the processes other than PE1 are lost one after another. Further, it is assumed that the number of processes increases as a result of execution in PE1 and eight processes remain (load amount = 8). At this time, PE2, PE
3, PE4 sequentially sends processing distribution request messages to PE1 via the network. Then, if the preset time TT in FIG. 1 is an appropriate value,
The arrival time interval of the process distribution request message becomes smaller than TT, which causes PE1 to perform the step 10 of FIG.
Is executed, the threshold TH is changed from 16 to 8, and further, 8
It is changed from 4 to 4 and becomes smaller than the load amount of PE 1, which is 8. At this point, the distribution of the processing in step 13 of FIG. 1 is executed and PE2, PE3, PE are processed as shown in FIG.
Processing is distributed to four. If the execution time of the distributed process is long, or if it is a process that creates a new process, PE2, PE3, and PE4 send a process distribution request message.
Is no longer sent to PE1. After that, a new load
When the request message arrives, as shown in FIG.
The threshold value TH of PE1 is set to 1 by step 11 in FIG.
6, the distribution of processing is suppressed. By controlling the above processing, it is possible to suppress the wasteful distribution of processing while improving the operating rate of each PE.

【0011】[0011]

【発明の効果】本発明によれば、プロセシング・エレメ
ントの稼働率を向上しつつオーバヘッドを削減でき、こ
れらにより並列計算機の性能を向上できる。
According to the present invention, it is possible to reduce the overhead while improving the operating rate of the processing element, and thereby improve the performance of the parallel computer.

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

【図1】本発明の一実施例の負荷分散方式を実現したフ
ローチャート。
FIG. 1 is a flowchart illustrating a load distribution method according to an embodiment of the present invention.

【図2】本発明を実施する並列計算機の構成を示す図。FIG. 2 is a diagram showing the configuration of a parallel computer that implements the present invention.

【図3】本発明を実施した並列計算機の動作例の一部を
示す図。
FIG. 3 is a diagram showing a part of an operation example of a parallel computer embodying the present invention.

【図4】本発明を実施した並列計算機の動作例の他の部
分を示す図。
FIG. 4 is a diagram showing another portion of the operation example of the parallel computer embodying the present invention.

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

PE1,PE2,PE3,PE4,PEn…プロセシン
グ・エレメント、NET…ネットワーク。
PE1, PE2, PE3, PE4, PEn ... Processing element, NET ... Network.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 朝家 真知子 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (56)参考文献 特開 平3−88060(JP,A) ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Machiko Asaya 1-280, Higashi Koigokubo, Kokubunji City, Tokyo Metropolitan Research Laboratory, Hitachi, Ltd. (56) Reference JP-A-3-88060 (JP, A)

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】ネットワークにより相互に接続された、複
数のプロセシング・エレメントを並列に動作させて、各
プロセシング・エレメントによりそれぞれ処理を実行さ
せ、実行すべき処理がなくなったプロセシング・エレメ
ントから該ネツトワークを介して他のプロセシング・エ
レメントに処理の分配を要求し、該他のプロセシング・
エレメントは実行すべき処理の量がある定められたしき
い値を越えている場合、該処理の分配の要求元のプロセ
シング・エレメントに処理を分配する並列計算機におい
て、各プロセシング・エレメントの該しきい値に初期値を設
定し、 いずれかのプロセシング・エレメントに対して一
つの処理の分配要求が他のプロセシング・エレメントか
らなされた後、ある定められた時間以内に新たな処理の
分配要求があった場合、そのプロセシング・エレメント
における該しきい値を小さくし、その時間以内に新たな
処理の分配要求がなかった場合、該しきい値を該初期値
に変更することを特徴とする並列計算機における負荷分
散方法。
Claim: What is claimed is: 1. A plurality of processing elements connected to each other by a network are operated in parallel so that each processing element executes a process, and a processing element from which a process to be executed is no longer present is the network. Requesting the distribution of processing to other processing elements via the
If the amount of processing to be performed by an element exceeds a certain threshold value, the threshold of each processing element is determined by the parallel computer that distributes the processing to the processing element that requested the distribution of the processing. Set the initial value
If a distribution request for one process is made to one of the processing elements from another processing element and a distribution request for a new process is made within a predetermined time, the processing Load balancing in a parallel computer, characterized in that the threshold value in the element is reduced, and if there is no request for distribution of new processing within that time, the threshold value is changed to the initial value. Method.
【請求項2】該しきい値を小さくする処理は、現在の
きい値の二分の一(小数点以下切捨て)の値に変更する
処理からなることを特徴とする請求項1記載の並列計算
機における負荷分散方法。
2. The parallel computer according to claim 1, wherein the process of reducing the threshold value comprises a process of changing the value to one half of the current threshold value (rounding down after the decimal point). Load balancing method.
JP5209954A 1993-08-03 1993-08-03 Load balancing method for parallel computers Expired - Lifetime JP2526399B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5209954A JP2526399B2 (en) 1993-08-03 1993-08-03 Load balancing method for parallel computers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5209954A JP2526399B2 (en) 1993-08-03 1993-08-03 Load balancing method for parallel computers

Publications (2)

Publication Number Publication Date
JPH0744505A JPH0744505A (en) 1995-02-14
JP2526399B2 true JP2526399B2 (en) 1996-08-21

Family

ID=16581422

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5209954A Expired - Lifetime JP2526399B2 (en) 1993-08-03 1993-08-03 Load balancing method for parallel computers

Country Status (1)

Country Link
JP (1) JP2526399B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10301604A (en) * 1997-04-23 1998-11-13 Hitachi Ltd Material required amount calculating device and material required amount calculating method
US6105039A (en) * 1998-06-23 2000-08-15 Microsoft Corporation Generation and validation of reference handles
JP2010204876A (en) * 2009-03-03 2010-09-16 Hitachi Ltd Distributed system
JP6119498B2 (en) * 2013-08-07 2017-04-26 富士ゼロックス株式会社 Multi-core processor, image forming apparatus, and program

Also Published As

Publication number Publication date
JPH0744505A (en) 1995-02-14

Similar Documents

Publication Publication Date Title
US5991797A (en) Method for directing I/O transactions between an I/O device and a memory
US7386619B1 (en) System and method for allocating communications to processors in a multiprocessor system
JPH0816540A (en) Message communication system for parallel computer
JPH04211855A (en) Apparatus and method for controlling communication bus in data processing system
JP2526399B2 (en) Load balancing method for parallel computers
Phillips et al. Concurrent discrete event-driven simulation tools
US7103528B2 (en) Emulated atomic instruction sequences in a multiprocessor system
JPH09160884A (en) Dynamic load-distributed parallel computer
US5802377A (en) Method and apparatus for implementing multiple interrupt controllers in a multi-processor computer system
JPS63223860A (en) Multi-processor constituting device
JP4089506B2 (en) File sharing system, server and program
JP2580517B2 (en) Load balancing method for parallel computers
JP3082297B2 (en) Task control method
JPH1196108A (en) Computer system and bus control device
JPS61848A (en) Bus selection system for decentralized control system
JP2002140201A (en) Method for updating database and database management system using the same
JPH01305461A (en) Right of using bus control system
JPH04162155A (en) File transfer control system
JP2000137688A (en) Multiplex processor system and data processing method
JPH0877029A (en) Processing request execution order control system based upon load rate
JP3050131B2 (en) Arbitration method
KR100212450B1 (en) Base station of mobile telecommunication system
JPH08272729A (en) Parallel computer system
JPH01239665A (en) System for distributing load on multiprocessor
JPH0652121A (en) Transaction processing system

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term