JPH09237255A - Dynamic load distribution method for parallel computer - Google Patents

Dynamic load distribution method for parallel computer

Info

Publication number
JPH09237255A
JPH09237255A JP8043518A JP4351896A JPH09237255A JP H09237255 A JPH09237255 A JP H09237255A JP 8043518 A JP8043518 A JP 8043518A JP 4351896 A JP4351896 A JP 4351896A JP H09237255 A JPH09237255 A JP H09237255A
Authority
JP
Japan
Prior art keywords
task
receiver
time
processor
candidate
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
JP8043518A
Other languages
Japanese (ja)
Inventor
Minoru Miyazawa
稔 宮沢
Kazuhiro Aoyama
和弘 青山
Satoshi Matsumoto
松本  聡
Hiromi Yamazaki
弘巳 山崎
Hideaki Yoshioka
英明 吉岡
Hiroyuki Takano
博行 高野
Toru Hanazawa
徹 花澤
正人 ▲高▼橋
Masato Takahashi
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP8043518A priority Critical patent/JPH09237255A/en
Publication of JPH09237255A publication Critical patent/JPH09237255A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To reduce the quantity of load to be required for dynamic load distribution and to improve the efficiency of processing by executing dynamic load distribution so as to request task allocation to another processor after judging that a certain processor can not process a request task newly generated in the processor itself. SOLUTION: When a task generation request is generated in a certain processor, the processor executes practicability/impracticability judgement for the task based upon load information and task information (1). At the time of judging impracticability, the processor acts as a sender, the sender selects a processor having a processor number next to that of the sender itself as a receiver candidate (3) and transmits the task information to the receiver candidate. When the candidate has a margin, i.e., quali-fiction (6), for processing the task at the time of receiving a qualification judgement result from the candidate, the candidate is determined as a receiver (7) and task allocation is requested to the receiver (8).

Description

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

【0001】[0001]

【発明の属する技術分野】この発明は、リアルタイムな
並列計算機において、各プロセッサで発生した全てのタ
スクを定められたフレームタイム内で処理することが可
能になるような動的負荷分散を行う方法に関するもので
ある。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for performing dynamic load distribution in a real-time parallel computer so that all tasks generated by each processor can be processed within a predetermined frame time. It is a thing.

【0002】[0002]

【従来の技術】図17は従来の並列計算機装置を示すも
ので、複数のプロセッサ102〜1mnがネットワーク
101によて接続されている。システム内の全てのプロ
セッサが効率良く稼働するために、逐次発生するタスク
をこれらのプロセッサに順次割り当てて分散処理を行
う。各プロセッサは割り当てられたタスクの処理時間か
ら負荷情報を生成する。
17 shows a conventional parallel computer system in which a plurality of processors 102 to 1mn are connected by a network 101. In order for all the processors in the system to operate efficiently, tasks that occur sequentially are sequentially assigned to these processors for distributed processing. Each processor generates load information from the processing time of the assigned task.

【0003】従来、このような並列計算機装置では各プ
ロセッサは自身の負荷が重い状態で新たにタスクの生成
要求が生じた場合、他のプロセッサの負荷情報を調べる
ことによって最も負荷の軽いプロセッサを探して、該プ
ロセッサに対して該タスクの割当を依頼するか、あるい
は重い負荷のプロセッサが他のプロセッサを無作為に選
び、選んだ該プロセッサの負荷情報を調べて自分より負
荷が軽いかどうか判断し、相手プロセッサの方が負荷が
軽かった場合に、該プロセッサに対して該タスクの割当
を依頼する等して、全てのプロセッサの負荷を平均化し
てシステム全体の効率を上げようとしていた。
Conventionally, in such a parallel computer system, when a new task generation request is made in a state where each processor has a heavy load, the processor is searched for the lightest load by checking the load information of the other processors. Request the processor to allocate the task, or a processor with a heavy load randomly selects another processor and examines the load information of the selected processor to determine whether the load is lighter than itself. When the other processor has a lighter load, the processor is requested to be assigned the task, and the loads of all the processors are averaged to improve the efficiency of the entire system.

【0004】[0004]

【発明が解決しようとする課題】上記のような従来の並
列計算機装置においては、負荷の重いプロセッサがタス
ク割当を依頼するために最も負荷の軽いプロセッサを探
すに当たり、相手のプロセッサの負荷情報を逐次調べて
行かねばならないので場合によっては多くの時間を要す
ることになり、無作為に相手を選ぶ方法では選定したプ
ロセッサの負荷が自分の負荷より重く、そのために再度
選定を重ねるなどで多くの時間を要したり、また相手の
プロセッサの負荷が自分より軽くても余り差が無く、該
タスクの割当に要した処理時間の方が多くて意味のない
負荷分散を行ったりする場合があり、結果として動的負
荷分散を行うための負荷が大きくなり、本来のアプリケ
ーションタスクの処理効率が低下してしまうという課題
があった。
In the conventional parallel computer system as described above, when a processor with a heavy load requests a processor with the lightest load to request task allocation, the load information of the other processor is sequentially read. Since it has to be investigated, it may take a lot of time in some cases, and in the method of randomly selecting the other party, the load of the selected processor is heavier than one's own load, so it takes a lot of time to repeat selection. In some cases, even if the load of the other processor is lighter than itself, there is no difference, and the processing time required for assigning the task is longer and meaningless load distribution may be performed. There is a problem that the load for performing dynamic load distribution increases, and the processing efficiency of the original application task decreases.

【0005】この発明はかかる課題を解決するためにな
されたものであり、各プロセッサが定められたフレーム
タイム内に割り当てられたタスクを処理しなければなら
ないようなリアルタイムマルチプロセッサシステムにお
いて、システム内のあるプロセッサで新規生成要求タス
クが発生した場合に、該プロセッサ内で要求タスクを処
理可能であるかを先に判定し、処理不可能であると判明
した場合にのみ該プロセッサはセンダとなり他のプロセ
ッサにタスク割当を依頼すべく動的負荷分散を行う。こ
れにより、常時負荷分散を試みなくて良いので不必要に
プロセッサの負荷量が増加することを防ぐ。また、セン
ダからタスク割当を依頼された各プロセッサにおいてそ
れぞれ該タスクの実行可否判定を行うことにより、セン
ダ自身が自分以外のプロセッサの実行可否判定を行う必
要が無く、結果としてセンダのレシーバ決定に要する負
荷量を減らすことが出来る。以上により、システム全体
として動的負荷分散に要する負荷量を減らし、処理効率
の向上を目的としている。
The present invention has been made to solve the above problems, and in a real-time multiprocessor system in which each processor has to process a task assigned within a predetermined frame time, When a new generation request task occurs in a certain processor, it is first judged whether or not the request task can be processed in the processor, and only when it is determined that the task cannot be processed, the processor becomes a sender and another processor. Dynamic load balancing is performed in order to request task allocation to. As a result, it is not necessary to always try to distribute the load, and thus it is possible to prevent the load of the processor from unnecessarily increasing. In addition, each processor requested by the sender to assign a task determines whether or not the task can be executed, so that the sender does not need to determine whether or not the processor other than itself can execute the task. As a result, it is necessary to determine the receiver of the sender. The amount of load can be reduced. From the above, the purpose is to reduce the amount of load required for dynamic load distribution in the entire system and improve processing efficiency.

【0006】[0006]

【課題を解決するための手段】第1の発明によるリアル
タイムな並列計算機における動的負荷分散方法は、ある
プロセッサにタスク生成要求が生じたとき、該プロセッ
サでの実行可否判定を行う手段と、判定の結果該タスク
の処理実行が不可能であるとなった場合、該プロセッサ
がセンダとなり他プロセッサの中から該タスクの処理を
代行するプロセッサの候補としてレシーバ候補を選定す
る手段と、レシーバ候補に対して該タスクに関する情報
を送信する手段と、受信した該タスク情報を基にレシー
バ候補がレシーバとしての資格があるかどうかを判定す
る手段と、判定結果をセンダに返信する手段と、レシー
バ候補から不合格通知が届いた場合にセンダがフレーム
タイム終了までに時間的余裕がある限り新たなレシーバ
候補の選択からやり直す手段と、合格通知が届いた場合
にセンダがそのレシーバ候補をレシーバに決定して該タ
スクの処理代行を依頼する手段を備えることにより達成
される。
According to a first aspect of the present invention, there is provided a dynamic load balancing method for a real-time parallel computer, comprising: a means for determining whether a processor is executable when a task generation request is made; When it becomes impossible to execute the processing of the task, the processor becomes a sender, and means for selecting a receiver candidate as a candidate of a processor that substitutes the processing of the task from other processors, Means for transmitting information regarding the task by using the received task information, a means for determining whether the receiver candidate is qualified as a receiver based on the received task information, a means for returning the determination result to the sender, and a means for receiving the information from the receiver candidate. If a sender receives a pass notification, and the sender has enough time to complete the frame time, he or she can select a new receiver candidate. And means to fix, is achieved by providing a means for requesting the processing proxy of the task sender if the acceptance notification has arrived to determine the receiver candidate to the receiver.

【0007】また、第2の発明によるリアルタイムな並
列計算機における動的負荷分散方法は、各プロセッサが
タスクに関する情報を他の全プロセッサへ放送する手段
と、各プロセッサが共有メモリに自由にアクセスできる
手段と、あるプロセッサにタスク生成要求が生じたと
き、該プロセッサでの実行可否判定を行う手段と、判定
の結果該タスクの処理実行が不可能であるとなった場
合、該放送手段を用いて全プロセッサへタスク情報を送
信する手段と、受信したタスク情報を基に各プロセッサ
がレシーバとしての資格判定を行う手段と、判定結果を
該共有メモリに書き込む手段と、センダが該共有メモリ
を読み込むことによってレシーバ有資格者をひとつ見つ
け、それをレシーバとして決定して該タスクの処理代行
を依頼する手段を備えることにより達成される。
The dynamic load balancing method for a real-time parallel computer according to the second aspect of the present invention is a means for each processor to broadcast task information to all other processors and a means for each processor to freely access the shared memory. When a task generation request is issued to a certain processor, the processor determines whether or not the processor can execute the task. If the result of the determination indicates that the task cannot be executed, all the broadcast means are used. By means of transmitting task information to the processor, means for each processor to perform qualification determination as a receiver based on the received task information, means for writing the determination result in the shared memory, and the sender reading the shared memory. Equipped with a means to find one qualified receiver, determine it as a receiver, and request processing on behalf of the task It is achieved by.

【0008】第3の発明によるリアルタイムな並列計算
機における動的負荷分散方法は、レシーバ決定後にレシ
ーバがタスク生成要求を受諾できなかった場合、レシー
バをセンダにリジェクト信号を送信する手段と、フレー
ムタイム終了までに時間的余裕がある場合にセンダが新
たにレシーバ候補の選定およびレシーバの決定を繰り返
す手段を備えることにより達成される。
A dynamic load balancing method in a real-time parallel computer according to a third aspect of the present invention is a method for transmitting a reject signal to the sender when the receiver cannot accept the task generation request after determining the receiver, and a frame time end. This is achieved by providing the sender with means for iteratively selecting a new receiver candidate and determining a receiver when there is time to spare.

【0009】また、第4の発明によるリアルタイムな並
列計算機における動的負荷分散方法は、レシーバ決定後
にレシーバがタスク生成要求を受諾できなかった場合、
レシーバをセンダにリジェクト信号を送信する手段と、
フレームタイム終了までに時間的余裕がある場合にセン
ダが残ったレシーバ有資格者の中から新たにレシーバを
決定する手段を備えることにより達成される。
The dynamic load balancing method for a real-time parallel computer according to the fourth aspect of the invention is such that if the receiver cannot accept the task generation request after the receiver is determined,
Means for sending a reject signal to the receiver to the sender;
This is achieved by providing a means for the sender to newly determine a receiver from the remaining receiver qualified persons when the sender has time to complete the frame time.

【0010】第5の発明によるリアルタイムな並列計算
機における動的負荷分散方法は、レシーバ決定の際にセ
ンダがレシーバ有資格者のリストを作成しておく手段
と、レシーバに決定したプロセッサへタスク生成に必要
な情報と共に有資格者のリストを送信する手段と、レシ
ーバ決定後にレシーバがタスク生成要求を受諾できなか
った場合、フレームタイム終了までに時間的余裕がある
限りレシーバが有資格者リストに登録されているプロセ
ッサの中から新たにレシーバを決定する手段を備えるこ
とにより達成される。
A dynamic load balancing method for a real-time parallel computer according to the fifth aspect of the present invention is a method for a sender to prepare a list of qualified receivers when a receiver is determined, and a task generation for a processor determined by the receiver. If there is a way to send a list of qualified people with the required information and the receiver cannot accept the task creation request after the receiver has been determined, the receiver will be registered in the qualified list as long as there is time before the end of the frame time. It is achieved by providing means for newly determining a receiver from among existing processors.

【0011】また、第6、第7の発明によるリアルタイ
ムな並列計算機における動的負荷分散方法は、レシーバ
候補の資格判定時に判定結果が合格であるとなった場合
に、レシーバ候補は生成要求のあるタスクを生成するの
に必要なリソースを予め確保する手段を備えることによ
り達成される。
Further, in the dynamic load balancing method for a real-time parallel computer according to the sixth and seventh inventions, the receiver candidate is requested to generate when the judgment result is "pass" at the time of judging the receiver candidate qualification. This is achieved by providing means for preliminarily reserving the resources required to generate a task.

【0012】第8の発明によるリアルタイムな並列計算
機における動的負荷分散方法は、レシーバ候補の資格判
定時に判定結果が合格であったレシーバ候補の内、実際
にレシーバとして決定されたレシーバ候補以外のレシー
バ候補のリソースの予約の解除をセンダが指示する手段
を備えることにより達成される。
According to an eighth aspect of the present invention, there is provided a dynamic load balancing method for a real-time parallel computer, which is a receiver candidate other than the receiver candidate actually determined as the receiver among the receiver candidates whose judgment result is acceptable at the time of qualifying the receiver candidate. This is achieved by providing means for the sender to instruct the cancellation of the reservation of the candidate resource.

【0013】[0013]

【発明の実施の形態】BEST MODE FOR CARRYING OUT THE INVENTION

実施の形態1.図1、2はこの発明の実施の形態1を示
す処理フロー図である。図1はプロセッサにタスク生成
要求が生じた場合の処理フロー図、図2はセンダにレシ
ーバ候補として選定され、該タスクに関する情報を送信
されたプロセッサの処理フロー図である。図1におい
て、あるプロセッサにおいてタスク生成要求が生じた場
合、該プロセッサはタスクスケジューリングの結果得ら
れるフレームタイム終了までのタスク割当のタイムスケ
ジュールやメモリ使用状況等の負荷情報と、該タスクの
所要メモリ量や所要処理時間等に関するタスク情報を基
に該タスクの実行可否判定1を行う。現在時刻からフレ
ームタイム終了時刻までの時間より該タスクの所要処理
時間の方が長かったり、現在時刻からフレームタイム終
了時刻までに既に他のタスクが割り当てられているため
該タスクの処理を行う余裕がない場合は実行不可能と判
定され、そうでなければ実行可能と判定される。実行可
能と判定された場合には該プロセッサにおいてタスク生
成2を行い、実行を開始する。実行不可能と判定された
場合には、該プロセッサはセンダとなり、センダは自分
の次のプロセッサ番号のプロセッサをレシーバ候補とし
て選択3し、該レシーバ候補に対してタスク情報を送信
4する。図2において、タスク情報を受信したレシーバ
候補は、該タスク情報と自身のタスクスケジューリング
の結果得られた負荷情報を基にタスクの処理代行の資格
があるかどうかを判定51し、資格判定結果をセンダに
返信する。現在時刻からフレームタイム終了時刻までに
既に他のタスクが割り当てられているため該タスクの処
理を行う余裕がない場合は資格無しと判定され、そうで
なければ資格有りと判定される。図1において、レシー
バ候補からの資格判定結果を受信5した結果、資格有り
6であった場合は、そのレシーバ候補をレシーバに決定
7し、タスク割当要求8を行う。資格無し6であった場
合には、フレームタイム終了までにタスクの処理や割当
要求を行う時間的余裕があるとき9にはさらに次のプロ
セッサ番号のプロセッサを候補としてレシーバ候補の選
択3から再実行し、時間的余裕がないとき9には該タス
クの生成要求をリジェクトする。
Embodiment 1. 1 and 2 are processing flow charts showing Embodiment 1 of the present invention. FIG. 1 is a process flow chart when a task generation request is issued to a processor, and FIG. 2 is a process flow chart of a processor which is selected as a receiver candidate by a sender and to which information regarding the task is transmitted. In FIG. 1, when a task generation request occurs in a certain processor, the processor obtains the task scheduling time schedule until the end of the frame time, load information such as memory usage status, and the required memory amount of the task. Executability determination 1 of the task is performed based on the task information regarding the required processing time and the like. The processing time required for the task is longer than the time from the current time to the end time of the frame time, or another task is already assigned from the current time to the end time of the frame time, so there is room to process the task. If not, it is determined to be unexecutable, and if not, it is determined to be executable. If it is determined to be executable, task generation 2 is performed in the processor and execution is started. When it is determined that the processor cannot be executed, the processor becomes a sender, and the sender selects 3 as the receiver candidate for the processor having the processor number next to itself, and sends 4 task information to the receiver candidate. In FIG. 2, the receiver candidate that has received the task information determines whether 51 is qualified to process the task based on the task information and the load information obtained as a result of the task scheduling of the receiver candidate. Reply to the sender. Since another task has already been assigned from the current time to the end time of the frame time, if there is no room to process the task, it is determined to be unqualified, and otherwise, it is determined to be qualified. In FIG. 1, when the qualification determination result from the receiver candidate is 5 and the qualification is 6, the receiver candidate is determined as the receiver 7 and the task allocation request 8 is made. In the case of no qualification 6, if there is time to perform task processing and allocation request by the end of the frame time, if the processor has the next processor number, it is re-executed from the receiver candidate selection 3 If there is no time, the task generation request is rejected at 9.

【0014】実施の形態2.図3、4はこの発明の実施
の形態2を示す処理フロー図である。図3はあるプロセ
ッサにタスク生成要求が生じた場合の処理フロー図、図
4はセンダにレシーバ候補として選定され、該タスクに
関する情報を送信されたプロセッサの処理フロー図であ
る。図3において、あるプロセッサにおいてタスク生成
要求が生じた場合、該プロセッサはタスクスケジューリ
ングの結果得られるフレームタイム終了までのタスク割
当のタイムスケジュールやメモリ使用状況等の負荷情報
と、該タスクの所要メモリ量や所要処理時間等に関する
タスク情報を基に該タスクの実行可否判定1を行う。現
在時刻からフレームタイム終了時刻までの時間より該タ
スクの所要処理時間の方が長かったり、現在時刻からフ
レームタイム終了時刻までに既に他のタスクが割り当て
られているため該タスクの処理を行う余裕がない場合は
実行不可能と判定され、そうでなければ実行可能と判定
される。実行可能と判定された場合には該プロセッサに
おいてタスク生成2を行い、実行を開始する。実行不可
能と判定された場合には、該プロセッサはセンダとな
り、他のプロセッサに対してタスク情報を放送10す
る。図4において、タスク情報を受信した各プロセッサ
は、該タスク情報と自身のタスクスケジューリングの結
果得られた負荷情報を基にタスクの処理代行の資格があ
るかどうかを判定51し、判定結果を共有メモリへ書き
込む52。現在時刻からフレームタイム終了時刻までに
既に他のタスクが割り当てられているため該タスクの処
理を行う余裕がない場合は資格無しと判定され、そうで
なければ資格有りと判定される。図3において、センダ
は共有メモリを読み込み11、資格有りと書き込んだ有
資格者をひとつ検索12する。有資格者がある場合6
は、該有資格者をレシーバに決定7し、該レシーバに対
してタスク割当要求8を行う。資格者無し6であった場
合には、フレームタイム終了までにタスクの処理や割当
要求を行う時間的余裕があるとき9には共有メモリの読
み込み11から再実行し、時間に余裕がないとき9には
該タスクの生成要求をリジェクトする。
Embodiment 2 FIG. 3 and 4 are process flow charts showing the second embodiment of the present invention. FIG. 3 is a processing flow chart when a task generation request is issued to a certain processor, and FIG. 4 is a processing flow chart of a processor which is selected as a receiver candidate by a sender and to which information regarding the task is transmitted. In FIG. 3, when a task generation request is made in a certain processor, the processor obtains the task scheduling time schedule until the end of the frame time, load information such as memory usage status, and the required memory amount of the task. Executability determination 1 of the task is performed based on the task information regarding the required processing time and the like. The processing time required for the task is longer than the time from the current time to the end time of the frame time, or another task is already assigned from the current time to the end time of the frame time, so there is room to process the task. If not, it is determined to be unexecutable, and if not, it is determined to be executable. If it is determined to be executable, task generation 2 is performed in the processor and execution is started. If it is determined that the processor cannot be executed, the processor becomes a sender and broadcasts task information 10 to other processors. In FIG. 4, each processor that receives the task information determines whether or not there is a qualification for processing the task based on the task information and the load information obtained as a result of its task scheduling, and shares the determination result. Write 52 to memory. Since another task has already been assigned from the current time to the end time of the frame time, if there is no room to process the task, it is determined to be unqualified, and otherwise, it is determined to be qualified. In FIG. 3, the sender reads 11 the shared memory and retrieves 12 one qualified person who wrote that it is qualified. If you have a qualified person 6
Determines 7 the qualified person as a receiver and makes a task allocation request 8 to the receiver. If there is no qualified person 6, when there is a time margin to process a task or request an allocation by the end of the frame time, 9 is read again from the shared memory and re-executed. Request to generate the task is rejected.

【0015】実施の形態3.図5、6はこの発明の実施
の形態3を示す処理フロー図である。図5はプロセッサ
にタスク生成要求が生じた場合の処理フロー図、図6は
センダにレシーバ候補として選定され、該タスクに関す
る情報を送信されたプロセッサの処理フロー図である。
図5において、あるプロセッサにおいてタスク生成要求
が生じた場合、該プロセッサはタスクスケジューリング
の結果得られるフレームタイム終了までのタスク割当の
タイムスケジュールやメモリ使用状況等の負荷情報と、
該タスクの所要メモリ量や所要処理時間等に関するタス
ク情報を基に該タスクの実行可否判定1を行う。現在時
刻からフレームタイム終了時刻までの時間より該タスク
の所要処理時間の方が長かったり、現在時刻からフレー
ムタイム終了時刻までに既に他のタスクが割り当てられ
ているため該タスクの処理を行う余裕がない場合は実行
不可能と判定され、そうでなければ実行可能と判定され
る。実行可能と判定された場合には該プロセッサにおい
てタスク生成2を行い、実行を開始する。実行不可能と
判定された場合には、該プロセッサはセンダとなり、セ
ンダは自分の次のプロセッサ番号のプロセッサをレシー
バ候補として選択3し、該レシーバ候補に対してタスク
情報を送信4する。図6(a)において、タスク情報を
受信したレシーバ候補は、該タスク情報と自身のタスク
スケジューリングの結果得られた負荷情報を基にタスク
の処理代行の資格があるかどうかを判定51し、資格判
定結果をセンダに返信する。現在時刻からフレームタイ
ム終了時刻までに既に他のタスクが割り当てられている
ため該タスクの処理を行う余裕がない場合は資格無しと
判定され、そうでなければ資格有りと判定される。図5
において、レシーバ候補からの資格判定結果を受信5し
た結果、資格有り6であった場合は、そのレシーバ候補
をレシーバに決定7し、タスク割当要求8を行う。図6
(b)において、タスク割当要求を受信したレシーバ
は、自身の負荷情報と該タスクの情報を基にタスクの実
行が可能であるか可否判定53を行い、可能であればタ
スクを生成54し、センダに対してアクセプト信号を送
信55し、タスク割当要求を受け入れた旨を報告する。
ネットワークにおいて遅延が発生した等の理由でレシー
バがタスク割当要求を受信するのが遅れたため、その間
にレシーバが他のプロセッサからの他のタスクの割当要
求を受け付けてしまった等の理由で実行不可能と判定さ
れた場合は、センダに対してリジェクト信号を送信56
する。図5において、センダはタスク割当要求を8を行
った後、レシーバからの応答を待ち13、アクセプト信
号が返ってきたときは負荷分散を終了し、リジェクト信
号が返ってきたときは、フレームタイム終了までにタス
クの処理や割当要求を行う時間的余裕がある場合14に
はレシーバ候補の選択3から再実行し、時間に余裕がな
い場合14には該タスクの生成要求をリジェクトする。
資格判定の結果、資格者無し6であった場合も同様に、
時間に余裕がある場合9にはレシーバ候補の選択3から
再実行し9、時間に余裕がない場合9には該タスクの生
成要求をリジェクトする。
Embodiment 3 5 and 6 are processing flow charts showing Embodiment 3 of the present invention. FIG. 5 is a process flow chart when a task generation request is issued to the processor, and FIG. 6 is a process flow chart of the processor which is selected as a receiver candidate by the sender and to which information regarding the task is transmitted.
In FIG. 5, when a task generation request is generated in a certain processor, the processor obtains the task scheduling time schedule until the end of the frame time obtained as a result of the task scheduling, and load information such as memory usage status,
Execution permission / inhibition determination 1 of the task is performed based on the task information regarding the required memory amount and the required processing time of the task. The processing time required for the task is longer than the time from the current time to the end time of the frame time, or another task is already assigned from the current time to the end time of the frame time, so there is room to process the task. If not, it is determined to be unexecutable, and if not, it is determined to be executable. If it is determined to be executable, task generation 2 is performed in the processor and execution is started. When it is determined that the processor cannot be executed, the processor becomes a sender, and the sender selects 3 as the receiver candidate for the processor having the processor number next to itself, and sends 4 task information to the receiver candidate. In FIG. 6A, the receiver candidate that has received the task information determines whether or not the task processing agent qualifies based on the task information and the load information obtained as a result of its task scheduling. The judgment result is sent back to the sender. Since another task has already been assigned from the current time to the end time of the frame time, if there is no room to process the task, it is determined to be unqualified, and otherwise, it is determined to be qualified. FIG.
When the result of receiving the qualification determination result 5 from the receiver candidate is 6 as a result of the qualification, the receiver candidate is determined as the receiver 7 and the task allocation request 8 is made. FIG.
In (b), the receiver that has received the task allocation request determines whether or not the task can be executed 53 based on its own load information and the information of the task, and if possible, generates 54 the task. An acceptance signal is sent 55 to the sender to report that the task allocation request has been accepted.
Execution is impossible because the receiver receives a task allocation request due to a delay in the network, etc., and the receiver accepts another task allocation request from another processor during that time. If it is determined that the reject signal is sent to the sender 56
I do. In FIG. 5, the sender waits for a response from the receiver 13 after making a task allocation request 13, ends load balancing when an accept signal is returned, and ends the frame time when a reject signal is returned. If there is enough time to process the task or request the allocation, the process is re-executed from the receiver candidate selection 3, and if there is no time, the task generation request is rejected.
As a result of the qualification judgment, if there is no qualified person 6,
If there is enough time, the receiver candidate selection 3 is re-executed 9 and if there is no time, the task generation request is rejected.

【0016】実施の形態4.図7、8はこの発明の実施
の形態4を示す処理フロー図である。図7はあるプロセ
ッサにタスク生成要求が生じた場合の処理フロー図、図
8はセンダにレシーバ候補として選定され、該タスクに
関する情報を送信されたプロセッサの処理フロー図であ
る。図7において、あるプロセッサにおいてタスク生成
要求が生じた場合、該プロセッサはタスクスケジューリ
ングの結果得られるフレームタイム終了までのタスク割
当のタイムスケジュールやメモリ使用状況等の負荷情報
と、該タスクの所要メモリ量や所要処理時間等に関する
タスク情報を基に該タスクの実行可否判定1を行う。現
在時刻からフレームタイム終了時刻までの時間より該タ
スクの所要処理時間の方が長かったり、現在時刻からフ
レームタイム終了時刻までに既に他のタスクが割り当て
られているため該タスクの処理を行う余裕がない場合は
実行不可能と判定され、そうでなければ実行可能と判定
される。実行可能と判定された場合には該プロセッサに
おいてタスク生成2を行い、実行を開始する。実行不可
能と判定された場合には、該プロセッサはセンダとな
り、他のプロセッサに対してタスク情報を放送10す
る。図8(a)において、タスク情報を受信した各プロ
セッサは、該タスク情報と自身のタスクスケジューリン
グの結果得られた負荷情報を基にタスクの処理代行の資
格があるかどうかを判定51し、判定結果を共有メモリ
へ書き込む52。現在時刻からフレームタイム終了時刻
までに既に他のタスクが割り当てられているため該タス
クの処理を行う余裕がない場合は資格無しと判定され、
そうでなければ資格有りと判定される。図7において、
センダは共有メモリを読み込み11、資格有りと書き込
んだ有資格者をひとつ検索12する。資格者があった場
合6は、その中からレシーバを一つ決定7し、レシーバ
に対してタスク割当要求8を行う。図8(b)におい
て、タスク割当要求を受信したレシーバは、該タスクの
実行が可能であるか判定53を行い、可能であればタス
クを生成54し、センダに対してアクセプト信号を送信
55し、タスク割当要求を受け入れた旨を報告する。ネ
ットワークにおいて遅延が発生した等の理由でレシーバ
がタスク割当要求を受信するのが遅れたため、その間に
レシーバが他のプロセッサから他のタスクの割当要求を
受け付けてしまった等の理由で実行不可能と判定された
場合は、センダに対してリジェクト信号を送信56す
る。図7において、センダはタスク割当要求8を行った
後、レシーバからの応答を待ち13、アクセプト信号が
返ってきたときは負荷分散を終了し、リジェクト信号が
返ってきたときは、フレームタイム終了までにタスクの
処理や割当要求を行う時間的余裕がある場合14には共
有メモリの読み込み11から再実行し、時間に余裕がな
い場合14には該タスクの生成要求をリジェクトする。
資格判定の結果、資格者無しであった場合6も同様に、
時間に余裕がある場合9には共有メモリの読み込み11
から再実行し、時間に余裕がない場合9には該タスクの
生成要求をリジェクトする。
Embodiment 4 7 and 8 are process flow charts showing the fourth embodiment of the present invention. FIG. 7 is a processing flow chart when a task generation request is issued to a certain processor, and FIG. 8 is a processing flow chart of the processor which is selected as a receiver candidate by the sender and to which information regarding the task is transmitted. In FIG. 7, when a task generation request is generated in a certain processor, the processor determines load information such as a time schedule of task allocation and memory usage status until the end of the frame time obtained as a result of task scheduling, and the required memory amount of the task. Executability determination 1 of the task is performed based on the task information regarding the required processing time and the like. The processing time required for the task is longer than the time from the current time to the end time of the frame time, or another task is already assigned from the current time to the end time of the frame time, so there is room to process the task. If not, it is determined to be unexecutable, and if not, it is determined to be executable. If it is determined to be executable, task generation 2 is performed in the processor and execution is started. If it is determined that the processor cannot be executed, the processor becomes a sender and broadcasts task information 10 to other processors. In FIG. 8A, each processor that has received the task information determines whether or not the processor is qualified to process the task 51 based on the task information and the load information obtained as a result of its task scheduling. Write 52 results to shared memory. If another task is already assigned from the current time to the end time of the frame time and there is no room to process the task, it is determined that there is no qualification,
If not, it is determined to be qualified. In FIG.
The sender reads 11 the shared memory and retrieves 12 one qualified person who wrote that he / she is qualified. When there is a qualified person, one receiver 7 is decided from among those, and a task allocation request 8 is made to the receiver. In FIG. 8B, the receiver having received the task allocation request determines 53 whether the task can be executed, generates a task 54 if possible, and sends 55 an accept signal to the sender. , Report that the task allocation request has been accepted. The receiver cannot receive the task allocation request due to a delay in the network, etc., so that the receiver receives the task allocation request from another processor in the meantime and the task cannot be executed. When it is determined, the reject signal is transmitted 56 to the sender. In FIG. 7, the sender waits for a response from the receiver 13 after making the task allocation request 8, ends load balancing when an accept signal is returned, and ends the frame time when a reject signal is returned. If there is enough time to process the task or request allocation, the shared memory reading 11 is re-executed, and if there is no time, the task generation request is rejected.
If there is no qualified person as a result of qualification judgment, 6 is also the same.
If there is enough time, read the shared memory 11
Is re-executed, and if there is not enough time, the task generation request is rejected.

【0017】実施の形態5.図9、10はこの発明の実
施の形態5を示す処理フロー図である。図9はあるプロ
セッサにタスク生成要求が生じた場合の処理フロー図、
図10はセンダにレシーバ候補として選定され、該タス
クに関する情報を送信されたプロセッサの処理フロー図
である。図9において、あるプロセッサにおいてタスク
生成要求が生じた場合、該プロセッサはタスクスケジュ
ーリングの結果得られるフレームタイム終了までのタス
ク割当のタイムスケジュールやメモリ使用状況等の負荷
情報と、該タスクの所要メモリ量や所要処理時間等に関
するタスク情報を基に該タスクの実行可否判定1を行
う。現在時刻からフレームタイム終了時刻までの時間よ
り該タスクの所要処理時間の方が長かったり、現在時刻
からフレームタイム終了時刻までに既に他のタスクが割
り当てられているため該タスクの処理を行う余裕がない
場合は実行不可能と判定され、そうでなければ実行可能
と判定される。実行可能と判定された場合には該プロセ
ッサにおいてタスク生成2を行い、実行を開始する。実
行不可能と判定された場合には、該プロセッサはセンダ
となり、他のプロセッサに対してタスク情報を放送10
する。図10(a)において、タスク情報を受信した各
プロセッサは、該タスク情報と自身のタスクスケジュー
リングの結果得られた負荷情報を基にタスクの処理代行
の資格があるかどうかを判定51し、判定結果を共有メ
モリへ書き込む52。図9において、センダは共有メモ
リを読み込み11、資格有りと書き込んだ有資格者をす
べて検索12する。検索の結果、資格有りと判定された
すべてのレシーバ有資格者のリストを作成15する。資
格者が有った場合6は、その中でプロセッサ番号の最も
若いプロセッサをレシーバとして決定7し、レシーバに
対してタスク割当要求8を行う。この際、作成したレシ
ーバ有資格者リストから自分自身を取り除いたリストも
一緒に送信する。図10(b)において、タスク割当要
求を受信したレシーバは、該タスクの実行が可能である
か判定53を行い、可能であればタスクを生成54し、
センダに対してアクセプト信号を送信55し、タスク割
当要求を受け入れた旨を報告する。ネットワークにおい
て遅延が発生した等の理由でレシーバがタスク割当要求
を受信するのが遅れたため、その間にレシーバが他のプ
ロセッサから他のタスクの割当要求を受け付けてしまっ
た等の理由で実行不可能と判定された場合は、フレーム
タイム終了までのタスクの処理や割当要求を行う時間的
余裕があるとき57は既に受信済みのレシーバ有資格者
リストの中から有資格者を検索58し、資格者がある場
合59はその中で最もプロセッサ番号の若いものを新た
にレシーバとして決定60し、タスク割当要求61を行
う。時間に余裕がない場合57や資格者がない場合59
は、タスク生成要求が生じたセンダに対してリジェクト
信号を送信56する。図9おいて、センダはタスク割当
要求8を行った後、レシーバからの応答を待ち13、ア
クセプト信号が返ってきたときは負荷分散を終了し、リ
ジェクト信号が返ってきたときは、フレームタイム終了
までにタスクの処理や割当要求を行う時間的余裕がある
場合14には共有メモリの読み込み11から再実行し、
時間に余裕がない場合14には該タスクの生成要求をリ
ジェクトする。資格判定の結果、資格者無しであった場
合6も同様に、時間に余裕がある場合9には共有メモリ
の読み込み11から再実行し、時間に余裕がない場合9
には該タスクの生成要求をリジェクトする。
Embodiment 5 9 and 10 are process flow charts showing the fifth embodiment of the present invention. FIG. 9 is a process flow diagram when a task generation request is issued to a certain processor,
FIG. 10 is a processing flow chart of the processor which is selected as a receiver candidate by the sender and to which the information regarding the task is transmitted. In FIG. 9, when a task generation request is made in a certain processor, the processor obtains the task scheduling time schedule until the end of the frame time, the load information such as the memory usage status, and the required memory amount of the task. Executability determination 1 of the task is performed based on the task information regarding the required processing time and the like. The processing time required for the task is longer than the time from the current time to the end time of the frame time, or another task is already assigned from the current time to the end time of the frame time, so there is room to process the task. If not, it is determined to be unexecutable, and if not, it is determined to be executable. If it is determined to be executable, task generation 2 is performed in the processor and execution is started. When it is determined that the processor cannot be executed, the processor becomes a sender and broadcasts task information to other processors.
I do. In FIG. 10A, each processor that has received the task information determines whether or not the processor is qualified to process the task 51 based on the task information and the load information obtained as a result of its task scheduling. Write 52 results to shared memory. In FIG. 9, the sender reads 11 the shared memory and retrieves 12 all qualified personnel who have written qualified. As a result of the search, a list 15 of all receiver qualified persons determined to be qualified is created. When there is a qualified person 6, the processor with the smallest processor number among them is determined as a receiver 7 and a task allocation request 8 is made to the receiver. At this time, a list obtained by removing oneself from the created receiver qualified person list is also sent. In FIG. 10B, the receiver that has received the task allocation request determines 53 whether the task can be executed, and if possible, generates a task 54,
An acceptance signal is sent 55 to the sender to report that the task allocation request has been accepted. It is not possible to execute because the receiver receives the task allocation request due to delay in the network, etc., and the receiver accepts the task allocation request from another processor in the meantime. If it is determined, when there is enough time to process the task or request the allocation until the end of the frame time 57, the qualified person is searched 58 from the list of the receiver qualified persons who have already received, and the qualified person In some cases 59, the one with the smallest processor number is newly determined as a receiver 60 and a task allocation request 61 is made. If you do not have time 57 or if you do not have a qualified person 59
Sends 56 a reject signal to the sender for which the task generation request has occurred. In FIG. 9, the sender waits for a response from the receiver after performing the task allocation request 8, and ends load balancing when an accept signal is returned, and ends the frame time when a reject signal is returned. If there is enough time to process the task or request the allocation by 14 then re-execute from the shared memory reading 11
If there is not enough time, the task generation request is rejected if 14. Similarly, in the case where there is no qualified person as a result of the qualification judgment, if there is enough time, then 9 is read again from the shared memory 11 and if there is no time, 9
Request to generate the task is rejected.

【0018】実施の形態6.図11、12はこの発明の
実施の形態6を示す処理フロー図である。図11はある
プロセッサにタスク生成要求が生じた場合の処理フロー
図、図12はセンダにレシーバ候補として選定され、該
タスクに関する情報を送信されたプロセッサの処理フロ
ー図である。図11において、あるプロセッサにおいて
タスク生成要求が生じた場合、該プロセッサはタスクス
ケジューリングの結果得られるフレームタイム終了まで
のタスク割当のタイムスケジュールやメモリ使用状況等
の負荷情報と、該タスクの所要メモリ量や所要処理時間
等に関するタスク情報を基に該タスクの実行可否判定1
を行う。現在時刻からフレームタイム終了時刻までの時
間より該タスクの所要処理時間の方が長かったり、現在
時刻からフレームタイム終了時刻までに既に他のタスク
が割り当てられているため該タスクの処理を行う余裕が
ない場合は実行不可能と判定され、そうでなければ実行
可能と判定される。実行可能と判定された場合には該プ
ロセッサにおいてタスク生成2を行い、実行を開始す
る。実行不可能と判定された場合には、該プロセッサは
センダとなり、センダは自分の次のプロセッサ番号のプ
ロセッサをレシーバ候補として選択3し、該レシーバ候
補に対してタスク情報を送信4する。図12(a)にお
いて、タスク情報を受信したレシーバ候補は、該タスク
情報と自身のタスクスケジューリングの結果得られた負
荷情報を基にタスクの処理代行の資格があるかどうかを
判定51し、資格判定結果をセンダに返信する。現在時
刻からフレームタイム終了時刻までに既に他のタスクが
割り当てられているため該タスクの処理を行う余裕がな
い場合は資格無しと判定され、そうでなければ資格有り
と判定される。この際、資格有りと判定された場合59
には、該レシーバ候補内でタスクの生成・実行に必要な
だけのメモリやフレームタイム内での処理時間等のリソ
ースを確保62し、実際にタスク割当要求があったとき
に確実に該タスクが実行できるようにする。図11にお
いて、レシーバ候補からの返信を受信5した結果、資格
有り6であった場合は、そのレシーバ候補をレシーバに
決定7し、タスク割当要求8を行う。図12(b)にお
いて、タスク割当要求を受信したレシーバは、該タスク
の実行が可能であるか判定53を行い、可能であればタ
スクを生成54し、センダに対してアクセプト信号を送
信55し、タスク割当要求を受け入れた旨を報告する。
ネットワークにおいて遅延が発生した等の理由でレシー
バがタスク割当要求を受信するのが遅れたため、その間
にレシーバが他のプロセッサから他のタスクの割当要求
を受け付けてしまった等の理由で実行不可能と判定され
た場合は、センダに対してリジェクト信号を送信56す
る。図11において、センダはタスク割当要求8を行っ
た後、レシーバからの応答を待ち13、アクセプト信号
が返ってきたときは負荷分散を終了し、リジェクト信号
が返ってきたときは、フレームタイム終了までにタスク
の処理や割当要求を行う時間的余裕がある場合14には
さらに次のプロセッサ番号のプロセッサを候補としてレ
シーバ候補の選択3から再実行し、時間に余裕がない場
合14には該タスクの生成要求をリジェクトする。資格
判定の結果、資格無しであった場合6も同様に、時間に
余裕がある場合9にはレシーバ候補の選択3から再実行
し、時間に余裕がない場合9には該タスクの生成要求を
リジェクトする。
Embodiment 6 FIG. 11 and 12 are process flow charts showing the sixth embodiment of the present invention. FIG. 11 is a processing flow chart when a task generation request is issued to a certain processor, and FIG. 12 is a processing flow chart of a processor which is selected as a receiver candidate by a sender and to which information regarding the task is transmitted. In FIG. 11, when a task generation request occurs in a certain processor, the processor obtains the task scheduling time schedule until the end of the frame time, load information such as the memory usage status, and the required memory amount of the task. Whether or not the task can be executed based on task information related to the required processing time, etc. 1
I do. The processing time required for the task is longer than the time from the current time to the end time of the frame time, or another task is already assigned from the current time to the end time of the frame time, so there is room to process the task. If not, it is determined to be unexecutable, and if not, it is determined to be executable. If it is determined to be executable, task generation 2 is performed in the processor and execution is started. When it is determined that the processor cannot be executed, the processor becomes a sender, and the sender selects 3 as the receiver candidate for the processor having the processor number next to itself, and sends 4 task information to the receiver candidate. In FIG. 12A, the receiver candidate that has received the task information determines whether or not the task candidate is qualified to process the task 51 based on the task information and the load information obtained as a result of the task scheduling of the receiver candidate. The judgment result is sent back to the sender. Since another task has already been assigned from the current time to the end time of the frame time, if there is no room to process the task, it is determined to be unqualified, and otherwise, it is determined to be qualified. At this time, if it is determined that you are qualified 59
In the receiver candidate, resources such as a memory and a processing time within a frame time necessary for generating / executing a task are secured 62, and the task is surely requested when a task allocation request is actually made. Allow it to run. In FIG. 11, when the reply 5 from the receiver candidate is received and it is qualified 6, the receiver candidate is determined as the receiver 7 and the task allocation request 8 is made. In FIG. 12B, the receiver that has received the task allocation request makes a determination 53 as to whether the task can be executed, generates a task 54 if possible, and sends 55 an accept signal to the sender. , Report that the task allocation request has been accepted.
The receiver cannot receive the task allocation request due to a delay in the network, etc., so that the receiver receives the task allocation request from another processor in the meantime and the task cannot be executed. When it is determined, the reject signal is transmitted 56 to the sender. In FIG. 11, the sender waits for a response from the receiver 13 after making the task allocation request 8, ends load balancing when an accept signal is returned, and ends the frame time when a reject signal is returned. If there is enough time to process the task or request allocation, the processor with the next processor number is re-executed from the receiver candidate selection 3, and if there is no time, the task Reject the generation request. Similarly, in the case where there is no qualification as a result of the qualification determination, in the case where there is enough time, the process is re-executed from the selection 3 of the receiver candidates, and when there is no time, a request to generate the task is issued. Reject.

【0019】実施の形態7.図13、14はこの発明の
実施の形態7を示す処理フロー図である。図13はある
プロセッサにタスク生成要求が生じた場合の処理フロー
図、図14はセンダにレシーバ候補として選定され、該
タスクに関する情報を送信されたプロセッサの処理フロ
ー図である。図13において、あるプロセッサにおいて
タスク生成要求が生じた場合、該プロセッサはタスクス
ケジューリングの結果得られるフレームタイム終了まで
のタスク割当のタイムスケジュールやメモリ使用状況等
の負荷情報と、該タスクの所要メモリ量や所要処理時間
等に関するタスク情報を基に該タスクの実行可否判定1
を行う。現在時刻からフレームタイム終了時刻までの時
間より該タスクの所要処理時間の方が長かったり、現在
時刻からフレームタイム終了時刻までに既に他のタスク
が割り当てられているため該タスクの処理を行う余裕が
ない場合は実行不可能と判定され、そうでなければ実行
可能と判定される。実行可能と判定された場合には該プ
ロセッサにおいてタスク生成2を行い、実行を開始す
る。実行不可能と判定された場合には、該プロセッサは
センダとなり、他のプロセッサに対してタスク情報を放
送10する。図14(a)において、タスク情報を受信
した各プロセッサは、該タスク情報と自身のタスクスケ
ジューリングの結果得られた負荷情報を基にタスクの処
理代行の資格があるかどうかを判定51し、判定結果を
共有メモリへ書き込む52。この際、資格有りと判定さ
れた場合59には、該レシーバ候補内でタスクの生成・
実行に必要なだけのメモリやフレームタイム内での処理
時間等のリソースを確保62し、実際にタスク割当要求
があったときに確実に該タスクが実行できるようにす
る。図13において、センダは共有メモリを読み込み1
1、資格有りと書き込んだレシーバ候補をひとつ検索1
2する。有資格者がある場合6は、該レシーバ有資格者
をレシーバに決定7し、レシーバに対してタスク割当要
求8を行う。図14(b)において、タスク割当要求を
受信したレシーバは、該タスクの実行が可能であるか判
定53を行い、可能であればタスクを生成54し、セン
ダに対してアクセプト信号を送信55し、タスク割当要
求を受け入れた旨を報告する。ネットワークにおいて遅
延が発生した等の理由でレシーバがタスク割当要求を受
信するのが遅れたため、その間にレシーバが他のプロセ
ッサから他のタスクの割当要求を受け付けてしまった等
の理由で実行不可能と判定された場合は、センダに対し
てリジェクト信号を送信56する。図13において、セ
ンダはタスク割当要求8を行った後、レシーバからの応
答を待ち13、アクセプト信号が返ってきたときは負荷
分散を終了し、リジェクト信号が返ってきたときは、フ
レームタイム終了までにタスクの処理や割当要求を行う
時間的余裕がある場合14には共有メモリの読み込み1
1から再実行し、時間に余裕がない場合14には該タス
クの生成要求をリジェクトする。資格判定の結果、資格
者無しであった場合6も同様に、時間に余裕がある場合
9には共有メモリの読み込み11から再実行し、時間に
余裕がない場合9には該タスクの生成要求をリジェクト
する。
Embodiment 7. 13 and 14 are process flow charts showing the seventh embodiment of the present invention. FIG. 13 is a process flow diagram when a task generation request is issued to a certain processor, and FIG. 14 is a process flow diagram of the processor which is selected as a receiver candidate by the sender and to which information regarding the task is transmitted. In FIG. 13, when a task generation request is made in a certain processor, the processor obtains the load information such as the time schedule of task allocation and the memory usage status until the end of the frame time obtained as a result of the task scheduling, and the required memory amount of the task. Whether or not the task can be executed based on task information related to the required processing time, etc. 1
I do. The processing time required for the task is longer than the time from the current time to the end time of the frame time, or another task is already assigned from the current time to the end time of the frame time, so there is room to process the task. If not, it is determined to be unexecutable, and if not, it is determined to be executable. If it is determined to be executable, task generation 2 is performed in the processor and execution is started. If it is determined that the processor cannot be executed, the processor becomes a sender and broadcasts task information 10 to other processors. In FIG. 14A, each processor that has received the task information determines whether or not there is a qualification for processing the task based on the task information and the load information obtained as a result of its own task scheduling. Write 52 results to shared memory. At this time, when it is determined that the user is qualified, 59, the task generation / reception in the receiver candidate is performed.
Resources 62 such as a memory and a processing time within a frame time necessary for execution are secured 62 so that the task can be surely executed when a task allocation request is actually made. In FIG. 13, the sender reads the shared memory 1
1. Search one receiver candidate who wrote that it is qualified 1
I will do 2. When there is a qualified person, the receiver qualified person is determined as the receiver 7 and the task allocation request 8 is made to the receiver. In FIG. 14B, the receiver that has received the task allocation request makes a determination 53 as to whether the task can be executed, generates a task 54 if possible, and sends 55 an accept signal to the sender. , Report that the task allocation request has been accepted. The receiver cannot receive the task allocation request due to a delay in the network, etc., so that the receiver receives the task allocation request from another processor in the meantime and the task cannot be executed. When it is determined, the reject signal is transmitted 56 to the sender. In FIG. 13, the sender waits for a response from the receiver 13 after making the task allocation request 8, ends load balancing when an accept signal is returned, and ends the frame time when a reject signal is returned. If there is enough time to process tasks or request allocation, read shared memory 1
The process is re-executed from 1, and when there is no time, the request to generate the task is rejected. Similarly, in the case where there is no qualified person as a result of the qualified determination, if there is enough time, the processing is re-executed from the reading 11 of the shared memory if there is enough time, and if there is not enough time, the task generation request is issued. Reject.

【0020】実施の形態8.図15、16はこの発明の
実施の形態8を示すフロー図である。図15はあるプロ
セッサにタスク生成要求が生じた場合の処理フロー図、
図16はセンダにレシーバ候補として選定され、該タス
クに関する情報を送信されたプロセッサの処理フロー図
である。図15において、あるプロセッサにおいてタス
ク生成要求が生じた場合、該プロセッサはタスクスケジ
ューリングの結果得られるフレームタイム終了までのタ
スク割当のタイムスケジュールやメモリ使用状況等の負
荷情報と、該タスクの所要メモリ量や所要処理時間等に
関するタスク情報を基に該タスクの実行可否判定1を行
う。現在時刻からフレームタイム終了時刻までの時間よ
り該タスクの所要処理時間の方が長かったり、現在時刻
からフレームタイム終了時刻までに既に他のタスクが割
り当てられているため該タスクの処理を行う余裕がない
場合は実行不可能と判定され、そうでなければ実行可能
と判定される。実行可能と判定された場合には該プロセ
ッサにおいてタスク生成2を行い、実行を開始する。実
行不可能と判定された場合には、該プロセッサはセンダ
となり、他のプロセッサに対してタスク情報を放送10
する。図16(a)において、タスク情報を受信した各
プロセッサは、該タスク情報と自身のタスクスケジュー
リングの結果得られた負荷情報を基にタスクの処理代行
の資格があるかどうかを判定51し、判定結果を共有メ
モリへ書き込む52。この際、資格有りと判定された場
合59には、該レシーバ候補内でタスクの生成・実行に
必要なだけのメモリやフレームタイム内での処理時間等
のリソースを確保62し、実際にタスク割当要求があっ
たときに確実に該タスクが実行できるようにする。図1
5において、センダは共有メモリを読み込み11、資格
有りと書き込んだレシーバ候補をすべて検索12する。
有資格者がある場合6は、レシーバ有資格者のうち最も
プロセッサ番号の若いプロセッサをレシーバに決定7
し、残りのレシーバ有資格者に対してリソースの予約解
除指示16を出す。図16(b)において、各レシーバ
有資格者は、予約解除指示を受信すると自プロセッサの
該タスクに関するリソースを解放63する。図15にお
いて、センダは、レシーバに対してタスク割当要求8を
行う。図16(c)において、タスク割当要求を受信し
たレシーバは、最終的に該タスクの実行が可能であるか
判定53を行い、可能であればタスクを生成54し、セ
ンダに対してアクセプト信号を送信55し、タスク割当
要求を受け入れた旨を報告する。ネットワークにおいて
遅延が発生した等の理由でレシーバがタスク割当要求を
受信するのが遅れたため、その間にレシーバが他のプロ
セッサから他のタスクの割当要求を受け付けてしまった
等の理由で実行不可能と判定された場合は、センダに対
してリジェクト信号を送信56する。図15において、
センダはタスク割当要求8を行った後、レシーバからの
応答を待ち13、アクセプト信号が返ってきたときは負
荷分散を終了し、リジェクト信号が返ってきたときは、
フレームタイム終了までにタスクの処理や割当要求を行
う時間的余裕がある場合14には共有メモリの読み込み
11から再実行し、時間に余裕がない場合14には該タ
スクの生成要求をリジェクトする。資格判定の結果、資
格者無しであった場合6にも同様に、時間に余裕がある
場合9には共有メモリの読み込み11から再実行し、時
間に余裕がない場合9には該タスクの生成要求をリジェ
クトする。
Embodiment 8. 15 and 16 are flowcharts showing Embodiment 8 of the present invention. FIG. 15 is a process flow diagram when a task generation request is issued to a certain processor,
FIG. 16 is a processing flow chart of the processor which is selected as a receiver candidate by the sender and to which the information regarding the task is transmitted. In FIG. 15, when a task generation request is generated in a certain processor, the processor obtains load information such as the time schedule of task allocation and the memory usage status until the end of the frame time obtained as a result of task scheduling, and the required memory amount of the task. Executability determination 1 of the task is performed based on the task information regarding the required processing time and the like. The processing time required for the task is longer than the time from the current time to the end time of the frame time, or another task is already assigned from the current time to the end time of the frame time, so there is room to process the task. If not, it is determined to be unexecutable, and if not, it is determined to be executable. If it is determined to be executable, task generation 2 is performed in the processor and execution is started. When it is determined that the processor cannot be executed, the processor becomes a sender and broadcasts task information to other processors.
I do. In FIG. 16A, each processor that has received the task information determines whether it is qualified to process the task 51 based on the task information and the load information obtained as a result of its task scheduling. Write 52 results to shared memory. At this time, when it is judged that the receiver is qualified, resources such as a memory and a processing time within the frame time necessary for generating and executing the task are secured in the receiver candidate 62, and the task is actually allocated. Ensure that the task can be performed when requested. FIG.
At 5, the sender reads 11 the shared memory and retrieves 12 all receiver candidates that have been written as qualified.
If there is a qualified person, 6 decides the receiver with the lowest processor number among the receiver qualified persons 7
Then, the resource reservation cancellation instruction 16 is issued to the remaining receiver qualified persons. In FIG. 16B, each receiver qualified person releases 63 the resource related to the task of the own processor upon receiving the reservation cancellation instruction. In FIG. 15, the sender makes a task allocation request 8 to the receiver. In FIG. 16C, the receiver that has received the task allocation request finally determines 53 whether the task can be executed, generates a task 54 if possible, and sends an accept signal to the sender. Send 55 and report that the task allocation request has been accepted. The receiver cannot receive the task allocation request due to a delay in the network, etc., so that the receiver receives the task allocation request from another processor in the meantime and the task cannot be executed. When it is determined, the reject signal is transmitted 56 to the sender. In FIG.
After sending the task allocation request 8, the sender waits for a response from the receiver 13, ends load balancing when an accept signal is returned, and when a reject signal is returned,
If there is enough time to process a task or make an allocation request by the end of the frame time, the process is re-executed from the reading 11 of the shared memory, and if there is no time, the task generation request is rejected. Similarly, if there is no qualified person as a result of the qualification judgment, if there is enough time, the process is re-executed from reading the shared memory 11 if there is enough time, and if there is not enough time, the task is created. Reject the request.

【0021】[0021]

【発明の効果】以上のように本発明は、各プロセッサが
定められたフレームタイム内に割り当てられたタスクを
処理しなければならないようなリアルタイムマルチプロ
セッサシステムにおいて、システム内のあるプロセッサ
で新規生成要求タスクが発生した場合に、そのプロセッ
サ内で要求タスクを処理可能であるかを先に判定し、処
理不可能であると判明したときに初めて他のプロセッサ
にタスク割当を依頼すべく動的負荷分散を行うことによ
り、不必要にプロセッサの負荷量を増加することを防
ぎ、処理効率を向上することが可能となる。
As described above, according to the present invention, in a real-time multiprocessor system in which each processor has to process an assigned task within a predetermined frame time, a new generation request is made by a certain processor in the system. When a task occurs, it is first determined whether the requested task can be processed in that processor, and when it is determined that it cannot be processed, dynamic load balancing is requested to another processor for task allocation. By doing so, it is possible to prevent an unnecessary increase in the load on the processor and improve the processing efficiency.

【0022】また、新規生成要求タスクが自プロセッサ
で処理不可能と判定され、他プロセッサへ処理代行を依
頼する場合、レシーバを決定する際に各プロセッサがレ
シーバとしての資格判定を各自で行うことにより、負荷
を軽減すべく動的負荷分散を行おうとするセンダが、動
的負荷分散処理のために負荷を高めてしまうことを回避
することが可能となる。
Further, when it is determined that the new generation request task cannot be processed by the own processor and the other processor is requested to perform the processing substitution, each processor performs its own qualification judgment as the receiver when determining the receiver. Therefore, it is possible to prevent a sender, which attempts to perform dynamic load distribution to reduce the load, from increasing the load for the dynamic load distribution processing.

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

【図1】 本発明による動的負荷分散方法の実施の形態
1のセンダの処理を示すフロー図である。
FIG. 1 is a flowchart showing a process of a sender according to a first embodiment of a dynamic load distribution method according to the present invention.

【図2】 本発明による動的負荷分散方法の実施の形態
1のレシーバ候補の処理を示すフロー図である。
FIG. 2 is a flowchart showing processing of a receiver candidate according to the first embodiment of the dynamic load distribution method according to the present invention.

【図3】 本発明による動的負荷分散方法の実施の形態
2のセンダの処理を示すフロー図である。
FIG. 3 is a flowchart showing processing of a sender according to the second embodiment of the dynamic load balancing method of the present invention.

【図4】 本発明による動的負荷分散方法の実施の形態
2のレシーバ候補の処理を示すフロー図である。
FIG. 4 is a flowchart showing processing of a receiver candidate according to the second embodiment of the dynamic load distribution method according to the present invention.

【図5】 本発明による動的負荷分散方法の実施の形態
3のセンダの処理を示すフロー図である。
FIG. 5 is a flowchart showing processing of a sender according to the third embodiment of the dynamic load balancing method of the present invention.

【図6】 本発明による動的負荷分散方法の実施の形態
3のレシーバ候補の処理を示すフロー図である。
FIG. 6 is a flowchart showing processing of a receiver candidate according to the third embodiment of the dynamic load distribution method of the present invention.

【図7】 本発明による動的負荷分散方法の実施の形態
4のセンダの処理を示すフロー図である。
FIG. 7 is a flowchart showing processing of a sender according to the fourth embodiment of the dynamic load balancing method of the present invention.

【図8】 本発明による動的負荷分散方法の実施の形態
4のレシーバ候補の処理を示すフロー図である。
FIG. 8 is a flowchart showing processing of a receiver candidate according to the fourth embodiment of the dynamic load distribution method of the present invention.

【図9】 本発明による動的負荷分散方法の実施の形態
5のセンダの処理を示すフロー図である。
FIG. 9 is a flowchart showing processing of a sender according to the fifth embodiment of the dynamic load distribution method of the present invention.

【図10】 本発明による動的負荷分散方法の実施の形
態5のレシーバ候補の処理を示すフロー図である。
FIG. 10 is a flowchart showing processing of receiver candidates according to the fifth embodiment of the dynamic load distribution method of the present invention.

【図11】 本発明による動的負荷分散方法の実施の形
態6のセンダの処理を示すフロー図である。
FIG. 11 is a flowchart showing processing of a sender according to the sixth embodiment of the dynamic load distribution method of the present invention.

【図12】 本発明による動的負荷分散方法の実施の形
態6のレシーバ候補の処理を示すフロー図である。
FIG. 12 is a flowchart showing processing of a receiver candidate according to the sixth embodiment of the dynamic load distribution method of the present invention.

【図13】 本発明による動的負荷分散方法の実施の形
態7のセンダの処理を示すフロー図である。
FIG. 13 is a flowchart showing the processing of the sender according to the seventh embodiment of the dynamic load balancing method of the present invention.

【図14】 本発明による動的負荷分散方法の実施の形
態7のレシーバ候補の処理を示すフロー図である。
FIG. 14 is a flowchart showing processing of receiver candidates according to the seventh embodiment of the dynamic load distribution method of the present invention.

【図15】 本発明による動的負荷分散方法の実施の形
態8のセンダの処理を示すフロー図である。
FIG. 15 is a flowchart showing the processing of the sender according to the eighth embodiment of the dynamic load balancing method of the present invention.

【図16】 本発明による動的負荷分散方法の実施の形
態8のレシーバ候補の処理を示すフロー図である。
FIG. 16 is a flowchart showing processing of receiver candidates according to the eighth embodiment of the dynamic load balancing method of the present invention.

【図17】 従来の装置及び本発明にかかる並列計算機
装置のネットワークを示す概略図である。
FIG. 17 is a schematic diagram showing a network of a conventional device and a parallel computer device according to the present invention.

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

101 ネットワーク、102 プロセッサ、103
プロセッサ、1mnプロセッサ。
101 network, 102 processor, 103
Processor, 1 mn processor.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 山崎 弘巳 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 吉岡 英明 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 高野 博行 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 花澤 徹 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 ▲高▼橋 正人 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Hiromi Yamazaki 2-3-3 Marunouchi, Chiyoda-ku, Tokyo Sanryo Electric Co., Ltd. (72) Hideaki Yoshioka 2-3-2 Marunouchi, Chiyoda-ku, Tokyo Ryoden Co., Ltd. (72) Inventor Hiroyuki Takano 2-3-3 Marunouchi, Chiyoda-ku, Tokyo Sanryo Denki Co., Ltd. (72) Inventor Toru Hanazawa 2-3-2 Marunouchi, Chiyoda-ku, Tokyo Sanryo Denki Co., Ltd. (72) Inventor ▲ Taka ▼ Masato Hashi 2-3-3 Marunouchi, Chiyoda-ku, Tokyo Sanryo Electric Co., Ltd.

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 同等の機能を有する複数のプロセッサを
持ち、各プロセッサ内のタスクは定められたフレームタ
イム内で処理しなければならず、フレームタイムの開始
時に該フレームタイムにおいて処理すべき仕事を判定
し、該判定結果に基づいてタスクのスケジューリングを
行うようなリアルタイムな並列計算機において、あるプ
ロセッサにおける該タスクスケジューリングの結果、タ
スク生成要求が生じたとき、該プロセッサは該タスクス
ケジューリングの結果得られるフレームタイム終了まで
のタスク割当のタイムスケジュールやメモリ使用状況等
の負荷情報と、該タスクの所要メモリ量や所要処理時間
等に関するタスク情報を基に該タスクの実行可否判定を
行い、その結果現在時刻からフレームタイム終了時刻ま
での時間より該タスクの所要処理時間の方が長かった
り、現在時刻からフレームタイム終了時刻までに既に他
のタスクが割り当てられている等の理由で該タスクの処
理実行が不可能であるとなった場合、該プロセッサは該
タスクのセンダとなり、他プロセッサのうち該プロセッ
サの次のプロセッサ番号のプロセッサをレシーバ候補と
して選定し、該レシーバ候補に対して該タスク情報を送
信し、レシーバ候補は受信した該タスク情報と、自身の
タスクスケジューリングの結果得られた負荷情報を基に
自身において該タスクの実行が可能であるかどうか、す
なわちレシーバとしての資格があるかどうかの判定を行
い、判定結果をセンダに返信し、センダはレシーバ候補
が、現在時刻からフレームタイム終了時刻までに既に他
のタスクが割り当てられている等の理由で不合格通知届
を返信してきた場合は、フレームタイム終了までにタス
クの処理や割当要求を行う時間的余裕がある限り新たな
レシーバ候補の選択から再実行し、合格通知を返信して
きた場合は該レシーバ候補をレシーバに決定して該タス
クの処理代行を依頼することを特徴とする並列計算機に
おける動的負荷分散方法。
1. A plurality of processors having equivalent functions are provided, and a task in each processor must be processed within a predetermined frame time, and a task to be processed at the frame time at the start of the frame time. In a real-time parallel computer that makes a determination and performs task scheduling based on the determination result, when a task generation request occurs as a result of the task scheduling in a processor, the processor obtains a frame obtained as a result of the task scheduling. Whether or not the task can be executed is determined based on the load information such as the time schedule of task allocation and the memory usage status until the end of the time, and the task information related to the required memory amount and the required processing time of the task. The task from the time until the frame time end time If the processing execution of the task is impossible because the required processing time is longer, or another task is already assigned from the current time to the frame time end time, the processor It becomes a sender of the task, selects a processor having a processor number next to the processor of the other processors as a receiver candidate, transmits the task information to the receiver candidate, and the receiver candidate itself receives the task information and itself. On the basis of the load information obtained as a result of the task scheduling of the above, it judges whether or not the task can be executed by itself, that is, whether or not it is qualified as a receiver, and returns the judgment result to the sender. The receiver candidate has already been assigned another task between the current time and the frame time end time, etc. If a notification of success notification is sent back, as long as there is enough time to process the task and request allocation by the end of the frame time, re-execute from the selection of a new candidate receiver, and if a notification of success is returned, the receiver A dynamic load balancing method in a parallel computer, characterized in that a candidate is determined as a receiver and a processing substitution of the task is requested.
【請求項2】 センダがタスクに関する情報を他の全プ
ロセッサへ放送する機能および各プロセッサが自由にア
クセスできる共有メモリ機構を備えることにより、ある
プロセッサにおける該タスクスケジューリングの結果、
タスク生成要求が生じたときに、該プロセッサは該タス
クスケジューリングの結果得られるフレームタイム終了
までのタスク割当のタイムスケジュールやメモリ使用状
況等の負荷情報と、該タスクの所要メモリ量や所要処理
時間等に関するタスク情報を基に該タスクの実行可否判
定を行い、その結果現在時刻からフレームタイム終了時
刻までの時間より該タスクの所要処理時間の方が長かっ
たり、現在時刻からフレームタイム終了時刻までに既に
他のタスクが割り当てられている等の理由で該タスクの
処理実行が不可能であるとなった場合、該プロセッサは
該タスクのセンダとなり、該放送機能を用いて全プロセ
ッサへ該タスク情報を送信し、各プロセッサは受信した
該タスク情報と、自身のタスクスケジューリングの結果
得られた負荷情報を基に自身において該タスクの実行が
可能であるかどうか、すなわちレシーバとしての資格が
あるかどうかの判定を行い、判定結果を該共有メモリに
書き込み、センダは該共有メモリを読み込んで資格有り
と書き込みを行ったレシーバ有資格者がいるかどうか判
定し、レシーバ有資格者がいなかった場合はフレームタ
イム終了までにタスクの処理や割当要求を行う時間的余
裕がある限り共有メモリの読み込みから再実行し、レシ
ーバ有資格者がいた場合は、それらのうちプロセッサ番
号の最も若いレシーバ有資格者をレシーバとして決定し
て該タスクの処理代行を依頼することを特徴とする請求
項1記載の並列計算機における動的負荷分散方法。
2. As a result of the task scheduling in a processor, the sender has a function of broadcasting information about a task to all other processors and a shared memory mechanism that each processor can freely access.
When a task generation request occurs, the processor obtains the task scheduling time schedule until the end of the frame time obtained as a result of the task scheduling, load information such as memory usage, and the required memory amount and required processing time of the task. Whether or not the task can be executed is determined based on the task information regarding the result, and as a result, the required processing time of the task is longer than the time from the current time to the frame time end time, or it has already been exceeded from the current time to the frame time end time. If the task cannot be executed due to another task being allocated, the processor becomes the sender of the task and sends the task information to all processors using the broadcasting function. However, each processor receives the task information and the load information obtained as a result of its own task scheduling. Based on that, it is determined whether or not the task can be executed by itself, that is, whether or not it is qualified as a receiver, the determination result is written to the shared memory, and the sender reads the shared memory and writes that it is qualified. If there is no receiver qualified person who did the job, if there is no receiver qualified person, re-execute from reading shared memory as long as there is time to process tasks and request allocation by the end of frame time, 2. The dynamic computer in a parallel computer according to claim 1, wherein when there are receiver qualified persons, the receiver qualified person having the smallest processor number among them is determined as a receiver and requested to process the task. Load balancing method.
【請求項3】 レシーバ決定後にタスク割当要求をレシ
ーバに送信した際に、ネットワークにおいて遅延が発生
した等の理由でレシーバがタスク割当要求を受信するの
が遅れたため、その間にレシーバが他のプロセッサから
の他のタスクの割当要求を受け付けてしまった等の理由
で、レシーバが該タスク生成要求を受諾できなくなって
しまった場合、レシーバがセンダにリジェクト信号を送
信し、センダはその時点でまだフレームタイム終了まで
に該タスクの処理や割当要求を行う時間的余裕がある場
合に新たにレシーバ候補の選定およびレシーバの決定を
繰り返すことによってタスクの稼働率向上を可能とする
ことを特徴とする請求項1記載の並列計算機における動
的負荷分散方法。
3. When the task allocation request is transmitted to the receiver after the receiver is determined, the receiver delays receiving the task allocation request due to a delay in the network or the like. When the receiver cannot accept the task creation request due to, for example, accepting the assignment request of another task of the receiver, the receiver sends a reject signal to the sender, and the sender still has the frame time. The operation rate of a task can be improved by repeating selection of a new receiver candidate and determination of a receiver when there is enough time to process the task or make an allocation request by the end. Dynamic load balancing method in the parallel computer described.
【請求項4】 レシーバ決定後にタスク割当要求をレシ
ーバに送信した際に、ネットワークにおいて遅延が発生
した等の理由でレシーバがタスク割当要求を受信するの
が遅れたため、その間にレシーバが他のプロセッサから
の他のタスクの割当要求を受け付けてしまった等の理由
で、レシーバが該タスク生成要求を受諾できなくなって
しまった場合、レシーバがセンダにリジェクト信号を送
信し、センダはその時点でまだフレームタイム終了まで
に該タスクの処理や割当要求を行う時間的余裕がある場
合に新たにレシーバ候補の選定およびレシーバの決定を
繰り返すことによってタスクの稼働率向上を可能とする
ことを特徴とする請求項2記載の並列計算機における動
的負荷分散方法。
4. When the task allocation request is transmitted to the receiver after the receiver is determined, the receiver delays receiving the task allocation request due to a delay in the network or the like. When the receiver cannot accept the task creation request due to, for example, accepting the assignment request of another task of the receiver, the receiver sends a reject signal to the sender, and the sender still has the frame time. The operation rate of a task can be improved by repeating the selection of a new receiver candidate and the determination of a new receiver when there is enough time to process the task or request an allocation by the end. Dynamic load balancing method in the parallel computer described.
【請求項5】 レシーバ決定の際にセンダがレシーバ有
資格者のリストを作成しておき、レシーバに決定したプ
ロセッサへタスク生成に必要な情報と共に該有資格者リ
ストも送信しておくことにより、レシーバ決定後にタス
ク割当要求をレシーバに送信した際に、ネットワークに
おいて遅延が発生した等の理由でレシーバがタスク割当
要求を受信するのが遅れたため、その間にレシーバが他
のプロセッサからの他のタスクの割当要求を受け付けて
しまった等の理由で、レシーバが該タスク生成要求を受
諾できなくなってしまった場合、その時点でまだフレー
ムタイム終了までにタスクの処理や割当要求を行う時間
的余裕がある場合にレシーバが有資格者リストに登録さ
れているプロセッサの中から新たにレシーバを決定し、
タスク処理代行を依頼することを特徴とする請求項2記
載の並列計算機における動的負荷分散方法。
5. The sender prepares a list of qualified receivers at the time of determining the receiver, and the qualified worker list is transmitted to the processor determined by the receiver together with the information necessary for task generation. When the task allocation request was sent to the receiver after the receiver was determined, the receiver was delayed in receiving the task allocation request due to a delay in the network, etc. When the receiver cannot accept the task creation request due to the reason that it has accepted the allocation request, etc., and when there is still time to process the task or request the allocation by the end of the frame time at that time. The receiver is newly selected from the processors whose receiver is registered in the qualified person list,
The dynamic load balancing method in a parallel computer according to claim 2, wherein a task processing agency is requested.
【請求項6】 レシーバ候補の資格判定時に判定結果が
合格であるとなった場合に、レシーバ候補は生成要求の
あるタスクを生成するのに必要なメモリやフレームタイ
ム内での処理時間等のリソースを予め確保しておくこと
によって、実際に生成要求を受信した際に確実に該タス
クの生成・実行を可能にすることを特徴とする請求項1
記載の並列計算機における動的負荷分散方法。
6. The receiver candidate is a resource such as a memory and a processing time within a frame time required to generate a task for which a generation request is made when the judgment result is “pass” at the time of judging the qualification of the receiver candidate. By securing in advance, the task can be surely generated / executed when the generation request is actually received.
Dynamic load balancing method in the parallel computer described.
【請求項7】 レシーバ候補の資格判定時に判定結果が
合格であるとなった場合に、レシーバ候補は生成要求の
あるタスクを生成するのに必要なメモリやフレームタイ
ム内での処理時間等のリソースを予め確保しておくこと
によって、実際に生成要求を受信した際に確実に該タス
クの生成・実行を可能にすることを特徴とする請求項2
記載の並列計算機における動的負荷分散方法。
7. The receiver candidate is a resource such as a memory and a processing time within a frame time required to generate a task requested to be generated when the result of the judgment at the time of qualifying the receiver candidate is “pass”. The task is secured in advance so that the task can be surely generated and executed when the generation request is actually received.
Dynamic load balancing method in the parallel computer described.
【請求項8】 レシーバ候補の資格判定時に判定結果が
合格であったレシーバ候補のうち、実際にレシーバとし
て決定されたレシーバ候補以外のレシーバ候補のリソー
スの予約の解除をセンダが指示することにより、レシー
バ以外のプロセッサのリソースを不必要に消費すること
を回避し、システム全体の処理効率の向上を可能にする
ことを特徴とする請求項7記載の並列計算機における動
的負荷分散方法。
8. The sender instructs the cancellation of the reservation of the resource of the receiver candidate other than the receiver candidate actually determined as the receiver among the receiver candidates whose judgment result is passed at the time of the receiver candidate qualification judgment, 8. The dynamic load balancing method for a parallel computer according to claim 7, wherein unnecessary consumption of resources of processors other than the receiver is avoided, and processing efficiency of the entire system can be improved.
JP8043518A 1996-02-29 1996-02-29 Dynamic load distribution method for parallel computer Pending JPH09237255A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8043518A JPH09237255A (en) 1996-02-29 1996-02-29 Dynamic load distribution method for parallel computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8043518A JPH09237255A (en) 1996-02-29 1996-02-29 Dynamic load distribution method for parallel computer

Publications (1)

Publication Number Publication Date
JPH09237255A true JPH09237255A (en) 1997-09-09

Family

ID=12665976

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8043518A Pending JPH09237255A (en) 1996-02-29 1996-02-29 Dynamic load distribution method for parallel computer

Country Status (1)

Country Link
JP (1) JPH09237255A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008090607A (en) * 2006-10-02 2008-04-17 Japan Aerospace Exploration Agency Autonomous distributed control involving restriction of resources
JP2021089581A (en) * 2019-12-04 2021-06-10 株式会社デンソー Electronic control device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008090607A (en) * 2006-10-02 2008-04-17 Japan Aerospace Exploration Agency Autonomous distributed control involving restriction of resources
US8347298B2 (en) 2006-10-02 2013-01-01 Japan Aerospace Exploration Agency Autonomous distributed control involving constraint on resources
JP2021089581A (en) * 2019-12-04 2021-06-10 株式会社デンソー Electronic control device

Similar Documents

Publication Publication Date Title
AU748321B2 (en) Method for allocating tasks, data processing system, client data processing node, and computer-readable storage medium
JPH08123763A (en) Memory assigning system for distributed processing system
US20200104177A1 (en) Resource allocation system, management device, method, and program
CN108681481B (en) Service request processing method and device
Davis et al. An investigation into server parameter selection for hierarchical fixed priority pre-emptive systems
JPH09237256A (en) Dynamic load distribution method for parallel computer
Ramanathan et al. Utilization difference based partitioned scheduling of mixed-criticality systems
CN106775975B (en) Process scheduling method and device
CN113766629A (en) Service processing method and system under 5G edge computing scene
US11900155B2 (en) Method, device, and computer program product for job processing
CN113472893A (en) Data processing method and device, computing equipment and computer storage medium
Mehta et al. Analysis of significant components for designing an effective dynamic load balancing algorithm in distributed systems
JPH09237255A (en) Dynamic load distribution method for parallel computer
JPH0628323A (en) Process execution control method
JP2007328413A (en) Method for distributing load
JPH09231181A (en) Method for distributing dynamic load in parallel computer
JPH09237193A (en) Dynamic load distribution method for parallel computer
JPH09237194A (en) Dynamic load distribution method for parallel computer
JP3522820B2 (en) Distributed processing system
KR20200045639A (en) Apparatus and method for managing queue
JP2998648B2 (en) Load balancing job processing system
KR100826540B1 (en) Method for scheduling satellite mission in satellite control system
CA2313273A1 (en) Device and method for allocating jobs in a network
JP2933005B2 (en) Management information storage device
JPH08263325A (en) Server processor and intra-server fault detection device and method