JPH09237193A - 並列計算機における動的負荷分散方法 - Google Patents

並列計算機における動的負荷分散方法

Info

Publication number
JPH09237193A
JPH09237193A JP4352096A JP4352096A JPH09237193A JP H09237193 A JPH09237193 A JP H09237193A JP 4352096 A JP4352096 A JP 4352096A JP 4352096 A JP4352096 A JP 4352096A JP H09237193 A JPH09237193 A JP H09237193A
Authority
JP
Japan
Prior art keywords
receiver
task
time
processor
qualified
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
JP4352096A
Other languages
English (en)
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 JP4352096A priority Critical patent/JPH09237193A/ja
Publication of JPH09237193A publication Critical patent/JPH09237193A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 リアルタイムな並列計算機において、各プロ
セッサで発生した全てのタスクを定められたフレームタ
イム内で処理するような動的負荷分散を可能にする。 【解決手段】 システム内のあるプロセッサで新規タス
ク生成要求が発生した場合、該プロセッサ内で要求タス
クを処理可能であるかを先に判定し、処理不可能である
と判定したときに初めて他のプロセッサにタスク割当を
依頼するようなネットワーク内での動的負荷分散が行わ
れる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、リアルタイムな並
列計算機において、各プロセッサで発生した全てのタス
クを定められたフレームタイム内で処理することが可能
になるような動的負荷分散を行う方法に関するものであ
る。
【0002】
【従来の技術】図25は従来の並列計算機装置を示すも
ので、複数のプロセッサ102〜1mnがネットワーク
101によって接続されている。システム内の全てのプ
ロセッサが効率良く稼働するために、逐次発生するタス
クをこれらのプロセッサに順次割り当てて分散処理を行
う。各プロセッサは割り当てられたタスクの処理時間か
ら負荷情報を生成する。
【0003】従来、このような並列計算機装置では各プ
ロセッサは自身の負荷が重い状態で新たにタスクの生成
要求が生じた場合、他のプロセッサの負荷情報を調べる
ことによって最も負荷の軽いプロセッサを探して、該プ
ロセッサに対して該タスクの割当を依頼するか、あるい
は重い負荷のプロセッサが他のプロセッサを無作為に選
び、選んだ該プロセッサの負荷情報を調べて自分より負
荷が軽いかどうか判断し、相手プロセッサの方が負荷が
軽かった場合に、該プロセッサに対して該タスクの割当
を依頼する等して、全てのプロセッサの負荷を平均化し
てシステム全体の効率を上げようとしていた。
【0004】
【発明が解決しようとする課題】上記のような従来の並
列計算機においては、負荷の重いプロセッサがタスク割
当を依頼するために最も負荷の軽いプロセッサを探すに
当たり、相手のプロセッサの負荷情報を逐次調べて行か
ねばならないので場合によっては多くの時間を要するこ
とになり、無作為に相手を選ぶ方法では選定したプロセ
ッサの負荷が自分の負荷より重く、そのために再度選定
を重ねるなどで多くの時間を要したり、また相手のプロ
セッサの負荷が自分より軽くても余り差が無く、該タス
クの割当に要した処理時間の方が多くて意味のない負荷
分散を行ったりする場合があり、結果として動的負荷分
散を行うための負荷が大きくなり、本来のアプリケーシ
ョンタスクの処理効率が低下してしまうという課題があ
った。
【0005】本発明はかかる課題を解決するためになさ
れたものであり、各プロセッサが定められたフレームタ
イム内に割り当てられたタスクを処理しなければならな
いようなリアルタイムマルチプロセッサシステムにおい
て、システム内のあるプロセッサで新規生成要求タスク
が発生した場合に、該プロセッサ内で要求タスクを処理
可能であるかを先に判定し、処理不可能であると判明し
た場合にのみ該プロセッサはセンダとなり他のプロセッ
サにタスク割当を依頼すべく動的負荷分散を行う。これ
により、常時負荷分散を試みなくて良いので不必要にプ
ロセッサの負荷量が増加することを防ぐ。また、センダ
からタスク割当を依頼された各プロセッサ同士でレシー
バの決定を行うことにより、結果としてセンダのレシー
バ決定に要する負荷量を減らすことが出来る。以上によ
り、システム全体として動的負荷分散に要する負荷量を
減らし、処理効率の向上を目的としている。
【0006】
【課題を解決するための手段】第1の発明によるリアル
タイムな並列計算機における動的負荷分散方法は、ある
プロセッサにタスク生成要求が生じたとき、該プロセッ
サでの実行可否判定を行う手段と、負荷判定の結果該タ
スクの処理実行が不可能であるとなった場合、該プロセ
ッサがセンダとなって自分の次のプロセッサ番号のプロ
セッサをレシーバ候補として選定する手段と、該レシー
バ候補に対して負荷情報の送信を1対1で要求する通信
手段と、受信した負荷情報を基にそのレシーバ候補がレ
シーバとしての資格があるかどうかを判定する手段と、
判定の結果が合格であったレシーバ有資格者が一定数に
達するまで、またはフレームタイム終了までにタスクの
処理や割当要求を行う時間的余裕がある限り新たなレシ
ーバ候補の選択および資格判定を繰り返す手段と、全レ
シーバ有資格者に対してレシーバ決定指令を出す手段
と、レシーバ有資格者が有資格者同士でお互いの負荷情
報を交換する手段と、全有資格者の負荷情報を基に各レ
シーバ有資格者が最も負荷の軽いレシーバ有資格者を一
つ決定する手段と、レシーバに決定したプロセッサがセ
ンダに決定報告を行う手段と、決定報告を受けたセンダ
がレシーバに該タスクの処理代行を依頼する手段を備え
ることにより達成される。
【0007】また、第2の発明によるリアルタイムな並
列計算機における動的負荷分散方法は、あるプロセッサ
にタスク生成要求が生じたとき、該プロセッサでの実行
可否判定を行う手段と、各プロセッサが定期的に自分の
負荷情報を他のプロセッサへ放送する手段と、負荷判定
の結果該タスクの処理実行が不可能であるとなった場
合、該プロセッサがセンダとなって予め該放送手段によ
り取得している各プロセッサの負荷情報を基に各プロセ
ッサのレシーバとしての資格判定を行う手段と、判定の
結果が合格であったレシーバ有資格者全てに対してレシ
ーバ決定指令を出す手段と、レシーバ有資格者が有資格
者同士で該放送手段を用いてお互いの負荷情報を交換す
る手段と、全有資格者の情報を基に各レシーバ有資格者
が最も負荷の軽いレシーバ有資格者を一つ決定する手段
と、レシーバに決定したプロセッサがセンダに決定報告
を行う手段と、決定報告を受けたセンダがレシーバに該
タスクの処理代行を依頼する手段を備えることにより達
成される。
【0008】また、第3の発明によるリアルタイムな並
列計算機における動的負荷分散方法は、あるプロセッサ
にタスク生成要求が生じたとき、該プロセッサでの実行
可否判定を行う手段と、各プロセッサが共有メモリに自
由にアクセスできる手段と、負荷判定の結果該タスクの
処理実行が不可能であるとなった場合、該プロセッサが
センダとなり、該共有メモリを読み込むことによって各
プロセッサの負荷情報を取得する手段と、各プロセッサ
の負荷情報を基に各プロセッサのレシーバとしての資格
判定を行う手段と、判定の結果が合格であったレシーバ
有資格者全てに対してレシーバ決定指令を出す手段と、
レシーバ有資格者が有資格者同士で該共有メモリを用い
てお互いの負荷情報を交換する手段と、全有資格者の情
報を基に各レシーバ有資格者が最も負荷の軽いレシーバ
有資格者を一つ決定する手段と、レシーバに決定したプ
ロセッサがセンダに決定報告を行う手段と、決定報告を
受けたセンダがレシーバに該タスクの処理代行を依頼す
る手段を備えることにより達成される。
【0009】また、第4,5,6の発明によるリアルタ
イムな並列計算機における動的負荷分散方法は、レシー
バ決定後にレシーバがタスク生成要求を受諾できなかっ
た場合、レシーバがセンダにリジェクト信号を送信する
手段と、フレームタイム終了までにタスクの処理や割当
要求を行う時間的余裕がある場合にセンダが残ったレシ
ーバ有資格者に対して新たにレシーバ決定指令を出す手
段を備えることにより達成される。
【0010】また、第7,8,9の発明によるリアルタ
イムな並列計算機における動的負荷分散方法は、レシー
バ決定の際に各レシーバ有資格者がレシーバ有資格者の
リストを作成する手段と、レシーバ決定後にレシーバが
タスク生成要求を受諾できなかった場合、フレームタイ
ム終了までにタスクの処理や割当要求を行う時間的余裕
がある限りレシーバが有資格者リストに登録されている
プロセッサの中から新たにレシーバを決定する手段を備
えることにより達成される。
【0011】また、第10,11,12の発明によるリ
アルタイムな並列計算機における動的負荷分散方法は、
レシーバ候補の資格判定時に判定結果が合格であるとな
った場合に、レシーバ候補が生成要求のあるタスクを生
成するのに必要なメモリやフレームタイム内での処理時
間等のリソースを予め確保する手段を備えることにより
達成される。
【0012】
【発明の実施の形態】
実施の形態1.図1,2はこの発明の実施の形態1を示
す処理フロー図である。図1はあるプロセッサにタスク
生成要求が生じた場合の処理フロー図、図2はセンダに
レシーバ候補として選定され、レシーバ決定指示を送信
されたプロセッサの処理フロー図である。図1におい
て、あるプロセッサにおいてタスク生成要求が生じた場
合、該プロセッサはタスクスケジューリングの結果得ら
れるフレームタイム終了までのタスク割当のタイムスケ
ジュールやメモリ使用状況等の負荷情報と、該タスクの
所要メモリ量や所要処理時間等に関するタスク情報を基
に該タスクの実行可否判定1を行う。現在時刻からフレ
ームタイム終了時刻までの時間より該タスクの所要処理
時間の方が長かったり、現在時刻からフレームタイム終
了時刻までに既に他のタスクが割り当てられているため
該タスクの処理を行う余裕がない場合は実行不可能と判
定され、そうでなければ実行可能と判定される。実行可
能と判定された場合には該プロセッサにおいてタスク生
成2を行い、実行を開始する。実行不可能と判定された
場合には、該プロセッサはセンダとなり、センダは自分
の次のプロセッサ番号のプロセッサをレシーバ候補とし
て選択3し、該レシーバ候補に対して負荷情報を送信す
るように要求4する。図2(a)においてレシーバ候補
はセンダから負荷情報送信要求を受信すると、自身の現
在のタスクスケジュール状況から負荷計測51を行い、
得られた負荷情報をセンダに返信52する。
【0013】図1において、センダは負荷情報を受信5
すると、該負荷情報と該タスクのタスク情報を基にレシ
ーバ候補が該タスクの処理代行の資格があるかどうかを
判定6する。現在時刻からフレームタイム終了時刻まで
に既に他のタスクが割り当てられているため該タスクの
処理を行う余裕がない場合は資格無しと判定され、そう
でなければ資格有りと判定される。判定の結果、資格有
りと判定されたレシーバ有資格者の数が一定数に達した
場合7は、各レシーバ有資格者に対してレシーバ決定指
示を送信8する。図2(b)において、レシーバ決定指
示を受信した各レシーバ有資格者は、自分以外のレシー
バ有資格者の負荷情報を取得53し、該負荷情報を基に
最も負荷の軽いレシーバ有資格者を1つレシーバとして
決定54する。レシーバに決定したプロセッサ55は、
その旨をセンダに報告56する。図1において、センダ
はレシーバ決定報告を受信9すると、そのレシーバに対
してタスク割当要求10を行い、動的負荷分散を終了す
る。有資格者数が一定数に達していないとき7は、フレ
ームタイム終了までにタスクの処理や割当要求を行う時
間的余裕がある場合11はレシーバ候補の選択3から再
実行し、時間に余裕がない場合11は有資格者数が一定
数に達していないときにおいてもその時点でレシーバ有
資格者が1つ以上あれば12、レシーバ決定指示を送信
8する。レシーバ有資格者が1つもない場合は、該タス
クの生成要求をリジェクトする。
【0014】実施の形態2.図3,4はこの発明の実施
の形態2を示す処理フロー図である。図3はあるプロセ
ッサにタスク生成要求が生じた場合の処理フロー図、図
4はセンダにレシーバ候補として選定され、レシーバ決
定指示を送信されたプロセッサの処理フロー図である。
図3において、あるプロセッサにおいてタスク生成要求
が生じた場合、該プロセッサはタスクスケジューリング
の結果得られるフレームタイム終了までのタスク割当の
タイムスケジュールやメモリ使用状況等の負荷情報と、
該タスクの所要メモリ量や所要処理時間等に関するタス
ク情報を基に該タスクの実行可否判定1を行う。現在時
刻からフレームタイム終了時刻までの時間より該タスク
の所要処理時間の方が長かったり、現在時刻からフレー
ムタイム終了時刻までに既に他のタスクが割り当てられ
ているため該タスクの処理を行う余裕がない場合は実行
不可能と判定され、そうでなければ実行可能と判定され
る。判定の結果、実行が可能である場合には該プロセッ
サにおいてタスク生成2を行い、実行を開始し、該タス
クの生成によって変動した自プロセッサの負荷情報を更
新13する。
【0015】図4(a)において、各プロセッサの負荷
情報は、他の全プロセッサに対して定期的に放送57を
行う。図3において、該実行可否判定の結果、実行が不
可能である場合には、該プロセッサはセンダとなり、該
放送機能57によって予め取得している負荷情報と該タ
スクのタスク情報を元に、各レシーバ候補に該タスクの
処理代行の資格があるかどうかを判定14する。現在時
刻からフレームタイム終了時刻までに既に他のタスクが
割り当てられているため該タスクの処理を行う余裕がな
い場合は資格無しと判定され、そうでなければ資格有り
と判定される。判定の結果、資格有りと判定された有資
格者が一定数に達した場合7、各レシーバ有資格者に対
してレシーバ決定指示を送信8する。図4(b)におい
て、レシーバ決定指示を受信した各レシーバ有資格者
は、自プロセッサの負荷情報を他の各レシーバ有資格者
へ放送58することによって自分以外のレシーバ有資格
者の負荷情報を取得53し、この情報を基に最も負荷の
軽いレシーバ有資格者を1つレシーバとして決定54す
る。自分がレシーバに決定した場合55は、その旨をセ
ンダに報告56する。図3において、センダはレシーバ
決定報告を受信9すると、そのレシーバに対してタスク
割当要求10を行い、動的負荷分散を終了する。有資格
者数が一定数に達していないとき7は、フレームタイム
終了までにタスクの処理や割当要求を行う時間的余裕が
ある場合11はレシーバ候補の資格判定14から再実行
し、時間に余裕がない場合11は有資格者数が一定数に
達していないときにおいてもその時点でレシーバ有資格
者が1つ以上あれば12、レシーバ決定指示を送信8す
る。レシーバ有資格者が1つもない場合は、該タスクの
生成要求をリジェクトする。
【0016】実施の形態3.図5,6はこの発明の実施
の形態3を示す処理フロー図である。図5はあるプロセ
ッサにタスク生成要求が生じた場合の処理フロー図、図
6はセンダにレシーバ候補として選定され、レシーバ決
定指示を送信されたプロセッサの処理フロー図である。
図5において、あるプロセッサにおいてタスク生成要求
が生じた場合、該プロセッサはタスクスケジューリング
の結果得られるフレームタイム終了までのタスク割当の
タイムスケジュールやメモリ使用状況等の負荷情報と、
該タスクの所要メモリ量や所要処理時間等に関するタス
ク情報を基に該タスクの実行可否判定1を行う。現在時
刻からフレームタイム終了時刻までの時間より該タスク
の所要処理時間の方が長かったり、現在時刻からフレー
ムタイム終了時刻までに既に他のタスクが割り当てられ
ているため該タスクの処理を行う余裕がない場合は実行
不可能と判定され、そうでなければ実行可能と判定され
る。判定の結果、実行が可能である場合には該プロセッ
サにおいてタスク生成2を行い、実行を開始し、該タス
クの生成によって変動した自プロセッサの負荷情報を更
新13する。
【0017】図6(a)において、各プロセッサの負荷
情報は、全プロセッサからアクセス可能な共有メモリに
定期的に書き込む59。図5において、該実行可否判定
の結果、実行が不可能である場合には、該プロセッサは
センダとなって該共有メモリに予め書かれている負荷情
報を読み込み15、この情報と該タスクのタスク情報を
元に各レシーバ候補に該タスクの処理代行の資格がある
かどうかを判定6する。現在時刻からフレームタイム終
了時刻までに既に他のタスクが割り当てられているため
該タスクの処理を行う余裕がない場合は資格無しと判定
され、そうでなければ資格有りと判定される。判定の結
果、資格有りと判定されたレシーバ有資格者が一定数に
達した場合7、各レシーバ有資格者に対してレシーバ決
定指示を送信8する。図6(b)において、レシーバ決
定指示を受信した各レシーバ有資格者は、自プロセッサ
の負荷情報を該共有メモリへ書き込み60ことによって
自分以外のレシーバ有資格者の負荷情報を該共有メモリ
より取得61し、この情報を基に最も負荷の軽いレシー
バ有資格者を1つレシーバとして決定54する。自分が
レシーバに決定した場合55は、その旨をセンダに報告
56する。図5において、センダはレシーバ決定報告を
受信9すると、そのレシーバに対してタスク割当要求1
0を行い、動的負荷分散を終了する。有資格者数が一定
数に達していないとき7は、フレームタイム終了までに
タスクの処理や割当要求を行う時間的余裕がある場合1
1は負荷情報の読み込み15から再実行し、時間に余裕
がない場合11は有資格者数が一定数に達していないと
きにおいてもその時点でレシーバ有資格者が1つ以上あ
れば12、レシーバ決定指示を送信8する。レシーバ有
資格者が1つもない場合は、該タスクの生成要求をリジ
ェクトする。
【0018】実施の形態4.図7,8はこの発明の実施
の形態4を示す処理フロー図である。図7はあるプロセ
ッサにタスク生成要求が生じた場合の処理フロー図、図
8はセンダにレシーバ候補として選定され、レシーバ決
定指示を送信されたプロセッサの処理フロー図である。
図7において、あるプロセッサにおいてタスク生成要求
が生じた場合、該プロセッサはタスクスケジューリング
の結果得られるフレームタイム終了までのタスク割当の
タイムスケジュールやメモリ使用状況等の負荷情報と、
該タスクの所要メモリ量や所要処理時間等に関するタス
ク情報を基に該タスクの実行可否判定1を行う。現在時
刻からフレームタイム終了時刻までの時間より該タスク
の所要処理時間の方が長かったり、現在時刻からフレー
ムタイム終了時刻までに既に他のタスクが割り当てられ
ているため該タスクの処理を行う余裕がない場合は実行
不可能と判定され、そうでなければ実行可能と判定され
る。判定の結果、実行が可能である場合には該プロセッ
サにおいてタスク生成2を行い、実行を開始する。判定
の結果、実行が不可能である場合には、該プロセッサは
センダとなり、センダは自分の次のプロセッサ番号のプ
ロセッサをレシーバ候補として選択3し、該レシーバ候
補に対して負荷情報を送信するように要求4する。図8
(a)において、レシーバ候補はセンダから負荷情報送
信要求を受信すると、自身の現在のタスクスケジュール
状況から負荷計測51を行い、得られた負荷情報をセン
ダに返信52する。図7において、センダは負荷情報を
受信5すると、この情報と該タスクのタスク情報を元に
レシーバ候補が該タスクの処理代行の資格があるかどう
かを判定6する。現在時刻からフレームタイム終了時刻
までに既に他のタスクが割り当てられているため該タス
クの処理を行う余裕がない場合は資格無しと判定され、
そうでなければ資格有りと判定される。判定の結果、資
格有りと判定されたレシーバ有資格者の数が一定数に達
した場合7は、各レシーバ有資格者に対してレシーバ決
定指示を送信8する。
【0019】図8(b)においてレシーバ決定指示を受
信した各レシーバ有資格者は、自分以外のレシーバ有資
格者の負荷情報を取得53し、該負荷情報を基に最も負
荷の軽いプロセッサを1つレシーバとして決定54す
る。自分がレシーバに決定した場合55は、その旨をセ
ンダに報告56する。図7において、センダはレシーバ
決定報告を受信9すると、そのレシーバに対してタスク
割当要求10を行う。図8(c)において、タスク割当
要求を受信したレシーバは、自身の負荷情報と該タスク
のタスク情報を元にタスクの実行が可能であるか可否判
定62を行い、可能であればタスク生成を実行63し、
センダに対してアクセプト信号を送信64し、該タスク
割当要求を受け入れた旨を報告する。ネットワークにお
いて遅延が発生した等の理由でレシーバがタスク割当要
求を受信するのが遅れたため、その間にレシーバが他の
プロセッサからの他のタスクの割当要求を受け付けてし
まった等の理由で実行不可能と判定された場合は、セン
ダに対してリジェクト信号を送信65する。図7におい
て、センダはタスク割当要求10を行った後、レシーバ
からの応答を待ち16、アクセプト信号が返ってきたと
きは負荷分散を終了し、リジェクト信号が返ってきたと
きは、フレームタイム終了までにタスクの処理や割当要
求を行う時間的余裕がある場合17には残ったレシーバ
有資格者に対してレシーバ決定指示を再送信8し、時間
に余裕がない場合17は該タスクの生成要求をリジェク
トする。有資格者数が一定数に達していないとき7は、
時間に余裕がある場合11はレシーバ候補の選択3から
再実行し、時間に余裕がない場合11は有資格者数が一
定数に達していないときにおいてもその時点でレシーバ
有資格者が1つ以上あれば12、レシーバ決定指示を送
信8する。レシーバ有資格者が1つもない場合は、該タ
スクの生成要求をリジェクトする。
【0020】実施の形態5.図9,10はこの発明の実
施の形態5を示す処理フロー図である。図9はあるプロ
セッサにタスク生成要求が生じた場合の処理フロー図、
図10はセンダにレシーバ候補として選定され、レシー
バ決定指示を送信されたプロセッサの処理フロー図であ
る。図9において、あるプロセッサにおいてタスク生成
要求が生じた場合、該プロセッサはタスクスケジューリ
ングの結果得られるフレームタイム終了までのタスク割
当のタイムスケジュールやメモリ使用状況等の負荷情報
と、該タスクの所要メモリ量や所要処理時間等に関する
タスク情報を基に該タスクの実行可否判定1を行う。現
在時刻からフレームタイム終了時刻までの時間より該タ
スクの所要処理時間の方が長かったり、現在時刻からフ
レームタイム終了時刻までに既に他のタスクが割り当て
られているため該タスクの処理を行う余裕がない場合は
実行不可能と判定され、そうでなければ実行可能と判定
される。判定の結果、実行が可能である場合には該プロ
セッサにおいてタスク生成2を行い、実行を開始し、該
タスクの生成によって変動した自プロセッサの負荷情報
を更新13する。
【0021】図10(a)において、各プロセッサの負
荷情報は、他の全プロセッサに対して定期的に放送57
を行う。図9において、該実行可否判定の結果、実行が
不可能である場合には、該プロセッサはセンダとなり、
該放送機能57によって予め取得している負荷情報と該
タスクのタスク情報を元に、各レシーバ候補に該タスク
の処理代行の資格があるかどうかを判定14する。現在
時刻からフレームタイム終了時刻までに既に他のタスク
が割り当てられているため該タスクの処理を行う余裕が
ない場合は資格無しと判定され、そうでなければ資格有
りと判定される。判定の結果、資格有りと判定されたレ
シーバ有資格者が一定数に達した場合7は、各レシーバ
有資格者に対してレシーバ決定指示を送信8する。図1
0(b)において、レシーバ決定指示を受信した各レシ
ーバ有資格者は、自プロセッサの負荷情報を他の各レシ
ーバ有資格者へ放送58することによって自分以外のレ
シーバ有資格者の負荷情報を取得53し、この情報を基
に最も負荷の軽い有資格者を1つレシーバとして決定5
4する。自分がレシーバに決定した場合55は、その旨
をセンダに報告56する。センダはレシーバ決定報告を
受信9すると、該レシーバに対してタスク割当要求10
を行う。
【0022】図10(c)において、タスク割当要求を
受信したレシーバは、自身の負荷情報と該タスクのタス
ク情報を元にタスクの実行が可能であるか可否判定62
を行い、可能であればタスク生成を実行63し、センダ
に対してアクセプト信号を送信64し、該タスク割当要
求を受け入れた旨を報告する。ネットワークにおいて遅
延が発生した等の理由でレシーバがタスク割当要求を受
信するのが遅れたため、その間にレシーバが他のプロセ
ッサからの他のタスクの割当要求を受け付けてしまった
等の理由で実行不可能と判定された場合は、センダに対
してリジェクト信号を送信65する。図9において、セ
ンダはタスク割当要求10を行った後、レシーバからの
応答を待ち16、アクセプト信号が返ってきたときは負
荷分散を終了し、リジェクト信号が返ってきたときは、
フレームタイム終了までにタスクの処理や割当要求を行
う時間的余裕がある場合17には残ったレシーバ有資格
者に対してレシーバ決定指示を再送信8し、時間に余裕
がない場合17には該タスクの生成要求をリジェクトす
る。有資格者数が一定数に達していないとき7は、時間
に余裕がある場合11は各レシーバ候補の資格判定14
から再実行し、時間に余裕がない場合11は、有資格者
数が一定数に達していないときにおいてもその時点でレ
シーバ有資格者が1つ以上あれば12、レシーバ決定指
示を送信8する。レシーバ有資格者が1つもない場合
は、該タスクの生成要求をリジェクトする。
【0023】実施の形態6.図11,12はこの発明の
実施の形態6を示す処理フロー図である。図11はある
プロセッサにタスク生成要求が生じた場合の処理フロー
図、図12はセンダにレシーバ候補として選定され、レ
シーバ決定指示を送信されたプロセッサの処理フロー図
である。図11において、あるプロセッサにおいてタス
ク生成要求が生じた場合、該プロセッサはタスクスケジ
ューリングの結果得られるフレームタイム終了までのタ
スク割当のタイムスケジュールやメモリ使用状況等の負
荷情報と、該タスクの所要メモリ量や所要処理時間等に
関するタスク情報を基に該タスクの実行可否判定1を行
う。現在時刻からフレームタイム終了時刻までの時間よ
り該タスクの所要処理時間の方が長かったり、現在時刻
からフレームタイム終了時刻までに既に他のタスクが割
り当てられているため該タスクの処理を行う余裕がない
場合は実行不可能と判定され、そうでなければ実行可能
と判定される。判定の結果、実行が可能である場合には
該プロセッサにおいてタスク生成2を行い、実行を開始
し、該タスクの生成によって変動した自プロセッサの負
荷情報を更新13する。
【0024】図12(a)において、各プロセッサの負
荷情報は、全プロセッサからアクセス可能な共有メモリ
に定期的に書き込む59。図11において、該実行可否
判定の結果、実行が不可能である場合には、該プロセッ
サはセンダとなって該共有メモリに予め書かれている負
荷情報を読み込み15、この情報と該タスクのタスク情
報を元に、各レシーバ候補に該タスクの処理代行の資格
があるかどうかを判定6する。判定の結果、資格有りと
判定されたレシーバ有資格者が一定数に達した場合7、
各レシーバ有資格者に対してレシーバ決定指示を送信8
する。図12(b)において、レシーバ決定指示を受信
した各レシーバ有資格者は、自プロセッサの負荷情報を
該共有メモリへ書き込む60ことによって自分以外のレ
シーバ有資格者の負荷情報を該共有メモリより取得61
し、この情報を基に最も負荷の軽い有資格者を1つレシ
ーバとして決定54する。自分がレシーバに決定した場
合55は、その旨をセンダに報告56する。図11にお
いて、センダはレシーバ決定報告を受信9すると、その
レシーバに対してタスク割当要求10を行う。図12
(c)において、タスク割当要求を受信したレシーバ
は、自身の負荷情報と該タスクのタスク情報を元にタス
クの実行が可能であるか可否判定62を行い、可能であ
ればタスク生成を実行63し、センダに対してアクセプ
ト信号を送信64し、該タスク割当要求を受け入れた旨
を報告する。ネットワークにおいて遅延が発生した等の
理由でレシーバがタスク割当要求を受信するのが遅れた
ため、その間にレシーバが他のプロセッサからの他のタ
スクの割当要求を受け付けてしまった等の理由で実行不
可能と判定された場合は、センダに対してリジェクト信
号を送信65する。
【0025】図11においてセンダはタスク割当要求1
0を行った後、レシーバからの応答を待ち16、アクセ
プト信号が返ってきたときは負荷分散を終了し、リジェ
クト信号が返ってきたときは、フレームタイム終了まで
にタスクの処理や割当要求を行う時間的余裕がある場合
17には残ったレシーバ有資格者に対してレシーバ決定
指示を再送信8し、時間に余裕がない場合17には該タ
スクの生成要求をリジェクトする。有資格者数が一定数
に達していないとき7は、時間に余裕がある場合11は
共有メモリの負荷情報読み込み15から再実行し、時間
に余裕がない場合11は、有資格者数が一定数に達して
いなくてもその時点でレシーバ有資格者が1つ以上あれ
ば12、レシーバ決定指示を送信8する。レシーバ有資
格者が1つもない場合は、該タスクの生成要求をリジェ
クトする。
【0026】実施の形態7.図13,14はこの発明の
実施の形態7を示す処理フロー図である。図13はある
プロセッサにタスク生成要求が生じた場合の処理フロー
図、図14はセンダにレシーバ候補として選定され、レ
シーバ決定指示を送信されたプロセッサの処理フロー図
である。図13において、あるプロセッサにおいてタス
ク生成要求が生じた場合、該プロセッサはタスクスケジ
ューリングの結果得られるフレームタイム終了までのタ
スク割当のタイムスケジュールやメモリ使用状況等の負
荷情報と、該タスクの所要メモリ量や所要処理時間等に
関するタスク情報を基に該タスクの実行可否判定1を行
う。現在時刻からフレームタイム終了時刻までの時間よ
り該タスクの所要処理時間の方が長かったり、現在時刻
からフレームタイム終了時刻までに既に他のタスクが割
り当てられているため該タスクの処理を行う余裕がない
場合は実行不可能と判定され、そうでなければ実行可能
と判定される。判定の結果、実行が可能である場合には
該プロセッサにおいてタスク生成2を行い、実行を開始
しする。判定の結果、実行が不可能である場合には、該
プロセッサはセンダとなり、センダは自分の次のプロセ
ッサ番号のプロセッサをレシーバ候補として選択3し、
該レシーバ候補に対して負荷情報を送信するように要求
4する。図14(a)において、レシーバ候補はセンダ
から負荷情報送信要求を受信すると、自身の現在のタス
クスケジュール状況から負荷計測51を行い、得られた
負荷情報をセンダに返信52する。図13において、セ
ンダは負荷情報を受信5すると、この情報と該タスクの
タスク情報を元にレシーバ候補が該タスクの処理代行の
資格があるかどうかを判定6する。現在時刻からフレー
ムタイム終了時刻までに既に他のタスクが割り当てられ
ているため該タスクの処理を行う余裕がない場合は資格
無しと判定され、そうでなければ資格有りと判定され
る。判定の結果、資格有りと判定されたレシーバ有資格
者の数が一定数に達した場合7は、各レシーバ有資格者
に対してレシーバ決定指示を送信8する。
【0027】図14(b)において、レシーバ決定指示
を受信した各レシーバ有資格者は、自分以外のレシーバ
有資格者の負荷情報を取得53し、この情報を基にレシ
ーバ有資格者のリストを作成66し、同時に最も負荷の
軽い有資格者をレシーバとして1つ決定54する。自分
がレシーバに決定した場合55は、その旨をセンダに報
告56する。図13において、センダはレシーバ決定報
告を受信9すると、そのレシーバに対してタスク割当要
求10を行う。図14(c)において、タスク割当要求
を受信したレシーバは、自身の負荷情報と該タスクのタ
スク情報を元にタスクの実行が可能であるか可否判定6
2を行い、可能であればタスク生成を実行63し、セン
ダに対してアクセプト信号を送信64し、該タスク割当
要求を受け入れた旨を報告する。ネットワークにおいて
遅延が発生した等の理由でレシーバがタスク割当要求を
受信するのが遅れたため、その間にレシーバが他のプロ
セッサからの他のタスクの割当要求を受け付けてしまっ
た等の理由で実行不可能と判定された場合は、フレーム
タイム終了までにタスクの処理や割当要求を行う時間的
余裕がある場合67は該レシーバ有資格者リストを検索
68し、有資格者がある場合69は該リストの中からレ
シーバを1つ決定54し、そのレシーバに対して新たに
タスク割当要求70を行う。時間に余裕がない場合67
や有資格者がない場合69は、センダに対してリジェク
ト信号を送信65する。
【0028】図13において、センダはタスク割当要求
10を行った後、レシーバからの応答を待ち16、アク
セプト信号が返ってきたときは負荷分散を終了し、リジ
ェクト信号が返ってきたときは該タスクの生成要求をリ
ジェクトする。有資格者数が一定数に達していないとき
7は、時間に余裕がある場合11はレシーバ候補の選択
3から再実行し、時間に余裕がない場合11は、有資格
者数が一定に達していないときにおいてもその時点でレ
シーバ有資格者が1つ以上あれば12、レシーバ決定指
示を送信8する。レシーバ有資格者が1つもない場合
は、該タスクの生成要求をリジェクトする。
【0029】実施の形態8.図15,16はこの発明の
実施の形態8を示す処理フロー図である。図15はある
プロセッサにタスク生成要求が生じた場合の処理フロー
図、図16はセンダにレシーバ候補として選定され、レ
シーバ決定指示を送信されたプロセッサの処理フロー図
である。図15において、あるプロセッサにおいてタス
ク生成要求が生じた場合、該プロセッサはタスクスケジ
ューリングの結果得られるフレームタイム終了までのタ
スク割当のタイムスケジュールやメモリ使用状況等の負
荷情報と、該タスクの所要メモリ量や所要処理時間等に
関するタスク情報を基に該タスクの実行可否判定1を行
う。現在時刻からフレームタイム終了時刻までの時間よ
り該タスクの所要処理時間の方が長かったり、現在時刻
からフレームタイム終了時刻までに既に他のタスクが割
り当てられているため該タスクの処理を行う余裕がない
場合は実行不可能と判定され、そうでなければ実行可能
と判定される。判定の結果、実行が可能である場合には
自プロセッサにおいてタスク生成2を行い、実行を開始
し、該タスクの生成によって変動した自プロセッサの負
荷情報を更新13する。
【0030】図16(a)において、各プロセッサの負
荷情報は、他の全プロセッサに対して定期的に放送57
を行う。図15において、該実行可否判定の結果、実行
が不可能である場合には、該プロセッサはセンダとな
り、該放送機構57によって予め取得している負荷情報
と該タスクのタスク情報を元に、各レシーバ候補に該タ
スクの処理代行の資格があるかどうかを判定4する。現
在時刻からフレームタイム終了時刻までに既に他のタス
クが割り当てられているため該タスクの処理を行う余裕
がない場合は資格無しと判定され、そうでなければ資格
有りと判定される。判定の結果、資格有りと判定された
レシーバ有資格者が一定数に達した場合7は、各レシー
バ有資格者に対してレシーバ決定指示を送信8する。図
16(b)において、レシーバ決定指示を受信した各レ
シーバ有資格者は、自プロセッサの負荷情報を他の各レ
シーバ有資格者へ放送58することによって自分以外の
レシーバ有資格者の負荷情報を取得53し、この情報を
基にレシーバ有資格者のリストを作成66し、同時に最
も負荷の軽い有資格者を1つレシーバとして決定54す
る。自分がレシーバに決定した場合55は、その旨をセ
ンダに報告56する。図15において、センダはレシー
バ決定報告を受信9すると、該レシーバに対してタスク
割当要求10を行う。
【0031】図16(c)において、タスク割当要求を
受信したレシーバは、自身の負荷情報と該タスクのタス
ク情報を元にタスクの実行が可能であるか可否判定62
を行い、可能であればタスク生成を実行63し、該タス
クの生成によって変動した自プロセッサの負荷情報を更
新71し、センダに対してアクセプト信号を送信64
し、該タスク割当要求を受け入れた旨を報告する。ネッ
トワークにおいて遅延が発生した等の理由でレシーバが
タスク割当要求を受信するのが遅れたため、その間にレ
シーバが他のプロセッサからの他のタスクの割当要求を
受け付けてしまった等の理由で実行不可能と判定された
場合は、フレームタイム終了までにタスクの処理や割当
要求を行う時間的余裕がある場合67は該レシーバ有資
格者リストを検索68し、有資格者がある場合69は該
リストのうち既にレシーバとして決定されたものを除い
て最も負荷の軽い有資格者を1つレシーバとして決定5
4し、そのレシーバに対して新たにタスク割当要求70
を行う。時間に余裕がない場合67や有資格者がない場
合69は、センダに対してリジェクト信号を送信65す
る。図15において、センダはタスク割当要求10を行
った後、レシーバからの応答を待ち16、アクセプト信
号が返ってきたときは負荷分散を終了し、リジェクト信
号が返ってきたときは該タスクの生成要求をリジェクト
する。有資格者数が一定数に達していないとき7は、時
間に余裕がある場合11は各レシーバ候補の資格判定1
4から再実行し、時間に余裕がない場合11は有資格者
数が一定数に達していないときにおいてもその時点でレ
シーバ有資格者が1つ以上あれば12、レシーバ決定指
示を送信8する。レシーバ有資格者が1つもない場合
は、該タスクの生成要求をリジェクトする。
【0032】実施の形態9.図17,18はこの発明の
実施の形態9を示す処理フロー図である。図17はある
プロセッサにタスク生成要求が生じた場合の処理フロー
図、図18はセンダにレシーバ候補として選定され、レ
シーバ決定指示を送信されたプロセッサの処理フロー図
である。図17において、あるプロセッサにおいてタス
ク生成要求が生じた場合、該プロセッサはタスクスケジ
ューリングの結果得られるフレームタイム終了までのタ
スク割当のタイムスケジュールやメモリ使用状況等の負
荷情報と、該タスクの所要メモリ量や所要処理時間等に
関するタスク情報を基に該タスクの実行可否判定1を行
う。現在時刻からフレームタイム終了時刻までの時間よ
り該タスクの所要処理時間の方が長かったり、現在時刻
からフレームタイム終了時刻までに既に他のタスクが割
り当てられているため該タスクの処理を行う余裕がない
場合は実行不可能と判定され、そうでなければ実行可能
と判定される。判定の結果、実行が可能である場合には
自プロセッサにおいてタスク生成2を行い、実行を開始
し、該タスクの生成によって変動した自プロセッサの負
荷情報を更新13する。
【0033】図18(a)において、各プロセッサの負
荷情報は、全プロセッサからアクセス可能な共有メモリ
に定期的に書き込む59。図17において、該実行可否
判定の結果、実行が不可能である場合には、該プロセッ
サはセンダとなって該共有メモリに予め書かれている負
荷情報を読み込み15、この情報と該タスクのタスク情
報を元に、各レシーバ候補に該タスクの処理代行の資格
があるかどうかを判定6する。現在時刻からフレームタ
イム終了時刻までに既に他のタスクが割り当てられてい
るため該タスクの処理を行う余裕がない場合は資格無し
と判定され、そうでなければ資格有りと判定される。判
定の結果、資格有りと判定されたレシーバ有資格者が一
定数に達した場合7、各レシーバ有資格者に対してレシ
ーバ決定指示を送信8する。図18(b)において、レ
シーバ決定指示を受信した各レシーバ有資格者は、自プ
ロセッサの負荷情報を該共有メモリへ書き込む60こと
によって自分以外のレシーバ有資格者の負荷情報を該共
有メモリより取得61し、この情報を基にレシーバ有資
格者のリストを作成66し、同時に最も負荷の軽い有資
格者を1つレシーバとして決定54する。自分がレシー
バに決定した場合55は、その旨をセンダに報告56す
る。
【0034】図17において、センダはレシーバ決定報
告を受信9すると、該レシーバに対してタスク割当要求
10を行う。図18(c)において、タスク割当要求を
受信したレシーバは、自身の負荷情報と該タスクのタス
ク情報を基にタスクの実行が可能であるか可否判定62
を行い、可能であればタスク生成を実行63し、該タス
クの生成によって変動した自プロセッサの負荷情報を更
新71し、センダに対してアクセプト信号を送信64
し、該タスク割当要求を受け入れた旨を報告する。ネッ
トワークにおいて遅延が発生した等の理由でレシーバが
タスク割当要求を受信するのが遅れたため、その間にレ
シーバが他のプロセッサからの他のタスクの割当要求を
受け付けてしまった等の理由で実行不可能と判定された
場合は、フレームタイム終了までにタスクの処理や割当
要求を行う時間的余裕がある場合67は該レシーバ有資
格者リストを検索68し、有資格者がある場合69は該
リストのうち既にレシーバとして決定されたものを除い
て最も負荷の軽い有資格者を1つレシーバとして決定5
4し、そのレシーバに対して新たにタスク割当要求70
を行う。時間に余裕がない場合67や有資格者がない場
合69は、センダに対してリジェクト信号を送信65す
る。図17において、センダはタスク割当要求10を行
った後、レシーバからの応答を待ち16、アクセプト信
号が返ってきたときは負荷分散を終了し、リジェクト信
号が返ってきたときは該タスクの生成要求をリジェクト
する。有資格者が一定数に達していないとき7は、時間
に余裕がある場合11は共有メモリの負荷情報読み込み
15から再実行し、時間に余裕がない場合11は有資格
者が一定数に達していないときにおいてもその時点でレ
シーバ有資格者が1つ以上あれば12、レシーバ決定指
示を送信8する。レシーバ有資格者が1つもない場合
は、該タスクの生成要求をリジェクトする。
【0035】実施の形態10.図19,20はこの発明
の実施の形態10を示す処理フロー図である。図19は
あるプロセッサにタスク生成要求が生じた場合の処理フ
ロー図、図20はセンダにレシーバ候補として選定さ
れ、レシーバ決定指示を送信されたプロセッサの処理フ
ロー図である。図19において、あるプロセッサにおい
てタスク生成要求が生じた場合、該プロセッサはタスク
スケジューリングの結果得られるフレームタイム終了ま
でのタスク割当のタイムスケジュールやメモリ使用状況
等の負荷情報と、該タスクの所要メモリ量や所要処理時
間等に関するタスク情報を基に該タスクの実行可否判定
1を行う。現在時刻からフレームタイム終了時刻までの
時間より該タスクの所要処理時間の方が長かったり、現
在時刻からフレームタイム終了時刻までに既に他のタス
クが割り当てられているため該タスクの処理を行う余裕
がない場合は実行不可能と判定され、そうでなければ実
行可能と判定される。判定の結果、実行が可能である場
合には自プロセッサにおいてタスク生成2を行い、実行
を開始する。判定の結果、実行が不可能である場合に
は、該プロセッサはセンダとなり、センダは自分の次の
プロセッサ番号のプロセッサをレシーバ候補として選択
3し、該レシーバ候補に対して負荷情報を送信するよう
に要求4する。図20(a)において、レシーバ候補は
センダから負荷情報送信要求を受信すると、自身の現在
のタスクスケジュール状況から負荷計測51を行い、得
られた負荷情報をセンダに返信52する。図19におい
て、センダは負荷情報を受信5すると、この情報と該タ
スクのタスク情報を元にレシーバ候補が該タスクの処理
代行の資格があるかどうかを判定6する。現在時刻から
フレームタイム終了時刻までに既に他のタスクが割り当
てられているため該タスクの処理を行う余裕がない場合
は資格無しと判定され、そうでなければ資格有りと判定
される。資格有りと判定された場合、該レシーバ候補に
対してタスクの生成・実行に必要なメモリやフレームタ
イム内での処理時間等のリソースを確保するよう指示1
8する。
【0036】図20(b)において、該レシーバ候補は
リソース予約指示を受信すると、リソースの確保72を
行い、タスク割当要求があったときに確実に該タスクが
実行できるようにする。図19において、該資格判定6
の結果、資格有りと判定されたレシーバ有資格者の数が
一定数に達した場合7は、各レシーバ有資格者に対して
レシーバ決定指示を送信8する。図20(c)におい
て、レシーバ決定指示を受信した各レシーバ有資格者
は、自分以外のレシーバ有資格者の負荷情報を取得53
し、この情報を基に最も負荷の軽い有資格者を1つレシ
ーバとして決定54する。自分がレシーバに決定した場
合55は、その旨をセンダに報告56する。自分がレシ
ーバに選ばれなかった場合は、該リソース予約72によ
って確保していたリソースの予約を解除73し、不必要
にリソースを消費することを回避する。図19におい
て、センダはレシーバ決定報告を受信9すると、そのレ
シーバに対してタスク割当要求10を行う。該資格判定
6の結果、資格無しと判定された場合、または有資格者
数が一定数に達していない場合7は、フレームタイム終
了までにタスクの処理や割当要求を行う時間的余裕があ
るとき11にはレシーバ候補の選択3から再実行し、時
間に余裕がないとき11には、有資格者数が一定数に達
していないときにおいてもその時点でレシーバ有資格者
が1つ以上あれば12、レシーバ決定指示を送信8す
る。レシーバ有資格者が1つもない場合は、該タスクの
生成要求をリジェクトする。
【0037】実施の形態11.図21,22はこの発明
の実施の形態11を示す処理フロー図である。図21は
あるプロセッサにタスク生成要求が生じた場合の処理フ
ロー図、図22はセンダにレシーバ候補として選定さ
れ、レシーバ決定指示を送信されたプロセッサの処理フ
ロー図である。図21において、あるプロセッサにおい
てタスク生成要求が生じた場合、該プロセッサはタスク
スケジューリングの結果得られるフレームタイム終了ま
でのタスク割当のタイムスケジュールやメモリ使用状況
等の負荷情報と、該タスクの所要メモリ量や所要処理時
間等に関するタスク情報を基に該タスクの実行可否判定
1を行う。現在時刻からフレームタイム終了時刻までの
時間より該タスクの所要処理時間の方が長かったり、現
在時刻からフレームタイム終了時刻までに既に他のタス
クが割り当てられているため該タスクの処理を行う余裕
がない場合は実行不可能と判定され、そうでなければ実
行可能と判定される。判定の結果、実行が可能である場
合には自プロセッサにおいてタスク生成2を行い、実行
を開始し、該タスクの生成によって変動した自プロセッ
サの負荷情報を更新13する。
【0038】図22(a)において、各プロセッサの負
荷情報は、他の全てのプロセッサに対して定期的に放送
57を行う。図21において、該実行可否判定の結果、
実行が不可能である場合には、該プロセッサはセンダと
なり、該放送機能57によって予め取得している負荷情
報と該タスクのタスク情報を元に、各レシーバ候補に該
タスクの処理代行の資格があるかどうかを判定14す
る。現在時刻からフレームタイム終了時刻までに既に他
のタスクが割り当てられているため該タスクの処理を行
う余裕がない場合は資格無しと判定され、そうでなけれ
ば資格有りと判定される。資格有りと判定された場合、
該レシーバ候補に対してタスクの生成・実行に必要なメ
モリやフレームタイム内での処理時間等のリソースを確
保するよう指示18する。図22(b)において、該レ
シーバ有資格者はリソース予約指示を受信すると、リソ
ースの確保72を行い、タスク割当要求があったときに
確実に該タスクが実行できるようにする。図21におい
て、該資格判定14の結果、資格有りと判定されたレシ
ーバ有資格者の数が一定数に達した場合7は、各レシー
バ有資格者に対してレシーバ決定指示を送信8する。図
22(c)において、レシーバ決定指示を受信した各レ
シーバ有資格者は、自プロセッサの負荷情報を他の各レ
シーバ有資格者へ放送58することによって自分以外の
レシーバ有資格者の負荷情報を取得53し、この情報を
基に最も負荷の軽い有資格者を1つレシーバとして決定
54する。自分がレシーバに決定した場合55は、その
旨をセンダに報告56する。自分がレシーバに選ばれな
かった場合は、該リソース予約72によって確保してい
たリソースの予約を解除73し、不必要にリソースを消
費することを回避する。
【0039】図21において、センダはレシーバ決定報
告を受信9すると、そのレシーバに対してタスク割当要
求10を行う。該資格判定14の結果、資格無しと判定
された場合、または有資格者数が一定数に達していない
場合7は、フレームタイム終了までにタスクの処理や割
当要求を行う時間的余裕があるとき11には各レシーバ
候補の資格判定14から再実行し、時間に余裕がないと
き11には、有資格者数が一定数に達していないときに
おいてもその時点でレシーバ有資格者が1つ以上あれば
12、レシーバ決定指示を送信8する。レシーバ有資格
者が1つもない場合は、該タスクの生成要求をリジェク
トする。
【0040】実施の形態12.図23,24はこの発明
の実施の形態12を示す処理フロー図である。図23は
あるプロセッサにタスク生成要求が生じた場合の処理フ
ロー図、図24はセンダにレシーバ候補として選定さ
れ、レシーバ決定指示を送信されたプロセッサの処理フ
ロー図である。図23において、あるプロセッサにおい
てタスク生成要求が生じた場合、該プロセッサはタスク
スケジューリングの結果得られるフレームタイム終了ま
でのタスク割当のタイムスケジュールやメモリ使用状況
等の負荷情報と、該タスクの所要メモリ量や所要処理時
間等に関するタスク情報を基に該タスクの実行可否判定
1を行う。現在時刻からフレームタイム終了時刻までの
時間より該タスクの所要処理時間の方が長かったり、現
在時刻からフレームタイム終了時刻までに既に他のタス
クが割り当てられているため該タスクの処理を行う余裕
がない場合は実行不可能と判定され、そうでなければ実
行可能と判定される。判定の結果、実行が可能である場
合には自プロセッサにおいてタスク生成2を行い、実行
を開始し、該タスクの生成によって変動した自プロセッ
サの負荷情報を更新13する。
【0041】図24(a)において、各プロセッサの負
荷情報は、全プロセッサからアクセス可能な共有メモリ
に定期的に書き込む59。図23において、該実行可否
判定の結果、実行が不可能である場合には、該プロセッ
サはセンダとなって該共有メモリに予め書かれている負
荷情報を読み込み15、この情報と該タスクのタスク情
報を元に、各レシーバ候補に該タスクの処理代行の資格
があるかどうかを判定6する。現在時刻からフレームタ
イム終了時刻までに既に他のタスクが割り当てられてい
るため該タスクの処理を行う余裕がない場合は資格無し
と判定され、そうでなければ資格有りと判定される。資
格有りと判定された場合、該レシーバ候補に対してタス
クの生成・実行に必要なメモリやフレームタイム内での
処理時間等のリソースを確保するよう指示18する。
【0042】図24(b)において、該レシーバ有資格
者はリソース予約指示を受信すると、リソースの確保7
2を行い、タスク割当要求があったときに確実に該タス
クが実行できるようにする。図23において、該資格判
定6の結果、資格有りと判定されたレシーバ有資格者の
数が一定数に達した場合7は、各レシーバ有資格者に対
してレシーバ決定指示を送信8する。図24(c)にお
いて、レシーバ決定指示を受信した各レシーバ有資格者
は、自プロセッサの負荷情報を該共有メモリへ書き込む
60ことによって自分以外のレシーバ有資格者の負荷情
報を該共有メモリより取得61し、この情報を基に最も
負荷の軽い有資格者を1つレシーバとして決定54す
る。自分がレシーバに決定した場合55は、その旨をセ
ンダに報告56する。自分がレシーバに選ばれなかった
場合は、該リソース予約72によって確保していたリソ
ースの予約を解除73し、不必要にリソースを消費する
ことを回避する。図23において、センダはレシーバ決
定報告を受信9すると、そのレシーバに対してタスク割
当要求10を行う。該資格判定6の結果、資格無しと判
定された場合、または有資格者数が一定数に達していな
い場合7は、フレームタイム終了までにタスクの処理や
割当要求を行う時間的余裕があるとき11には共有メモ
リの負荷情報読み込み15から再実行し、時間に余裕が
ないとき11には有資格者数が一定数に達していないと
きにおいてもその時点でレシーバ有資格者が1つ以上あ
れば12、レシーバ決定指示を送信8する。レシーバ有
資格者が1つもない場合は、該タスクの生成要求をリジ
ェクトする。
【0043】
【発明の効果】以上のように本発明は、各プロセッサが
定められたフレームタイム内に割り当てられたタスクを
処理しなければならいようなリアルタイムマルチプロセ
ッサシステムにおいて、システム内のあるプロセッサで
新規生成要求タスクが発生した場合に、そのプロセッサ
内で要求タスクを処理可能であるかを先に判定し、処理
不可能であると判明したときに初めて他のプロセッサに
タスク割当を依頼すべく動的負荷分散を行うことによ
り、不必要にプロセッサの負荷量を増加することを防
ぎ、処理効率を向上することが可能となる。
【0044】また、新規生成要求タスクが自プロセッサ
で処理不可能と判定され、他プロセッサへ処理代行を依
頼する場合、レシーバの決定をレシーバ有資格者同士で
行うことにより、負荷を軽減すべく動的負荷分散を行お
うとするセンダが、動的負荷分散処理のために負荷を高
めてしまうことを回避することが可能となる。
【図面の簡単な説明】
【図1】 本発明による動的負荷分散方法の実施の形態
1のセンダの処理を示すフロー図である。
【図2】 本発明による動的負荷分散方法の実施の形態
1のレシーバ候補の処理を示すフロー図である。
【図3】 本発明による動的負荷分散方法の実施の形態
2のセンダの処理を示すフロー図である。
【図4】 本発明による動的負荷分散方法の実施の形態
2のレシーバ候補の処理を示すフロー図である。
【図5】 本発明による動的負荷分散方法の実施の形態
3のセンダの処理を示すフロー図である。
【図6】 本発明による動的負荷分散方法の実施の形態
3のレシーバ候補の処理を示すフロー図である。
【図7】 本発明による動的負荷分散方法の実施の形態
4のセンダの処理を示すフロー図である。
【図8】 本発明による動的負荷分散方法の実施の形態
4のレシーバ候補の処理を示すフロー図である。
【図9】 本発明による動的負荷分散方法の実施の形態
5のセンダの処理を示すフロー図である。
【図10】 本発明による動的負荷分散方法の実施の形
態5のレシーバ候補の処理を示すフロー図である。
【図11】 本発明による動的負荷分散方法の実施の形
態6のセンダの処理を示すフロー図である。
【図12】 本発明による動的負荷分散方法の実施の形
態6のレシーバ候補の処理を示すフロー図である。
【図13】 本発明による動的負荷分散方法の実施の形
態7のセンダの処理を示すフロー図である。
【図14】 本発明による動的負荷分散方法の実施の形
態7のレシーバ候補の処理を示すフロー図である。
【図15】 本発明による動的負荷分散方法の実施の形
態8のセンダの処理を示すフロー図である。
【図16】 本発明による動的負荷分散方法の実施の形
態8のレシーバ候補の処理を示すフロー図である。
【図17】 本発明による動的負荷分散方法の実施の形
態9のセンダの処理を示すフロー図である。
【図18】 本発明による動的負荷分散方法の実施の形
態9のレシーバ候補の処理を示すフロー図である。
【図19】 本発明による動的負荷分散方法の実施の形
態10のセンダの処理を示すフロー図である。
【図20】 本発明による動的負荷分散方法の実施の形
態10のレシーバ候補の処理を示すフロー図である。
【図21】 本発明による動的負荷分散方法の実施の形
態11のセンダの処理を示すフロー図である。
【図22】 本発明による動的負荷分散方法の実施の形
態11のレシーバ候補の処理を示すフロー図である。
【図23】 本発明による動的負荷分散方法の実施の形
態12のセンダの処理を示すフロー図である。
【図24】 本発明による動的負荷分散方法の実施の形
態12のレシーバ候補の処理を示すフロー図である。
【図25】 従来の装置及び本発明にかかる並列計算機
装置のネットワークを示す概略図である。
【符号の説明】
101 ネットワーク、102 プロセッサ、103
プロセッサ、1mnプロセッサ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 山崎 弘巳 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 吉岡 英明 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 高野 博行 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 花澤 徹 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 ▲高▼橋 正人 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 同等の機能を有する複数のプロセッサを
    持ち、各プロセッサ内のタスクは定められたフレームタ
    イム内で処理しなければならず、フレームタイムの開始
    時に該フレームタイムにおいて処理すべき仕事を判定
    し、該判定結果に基づいてタスクのスケジューリングを
    行うようなリアルタイムな並列計算機において、あるプ
    ロセッサにおける該タスクスケジューリングの結果、タ
    スク生成要求が生じたとき、該プロセッサは該タスクス
    ケジューリングの結果得られるフレームタイム終了まで
    のタスク割当のタイムスケジュールやメモリ使用状況等
    の負荷情報と、該タスクの所要メモリ量や所要処理時間
    等に関するタスク情報を基に該タスクの実行可否判定を
    行い、その結果現在時刻からフレームタイム終了時刻ま
    での時間より該タスクの所要処理時間の方が長かった
    り、現在時刻からフレームタイム終了時刻までに既に他
    のタスクが割り当てられている等の理由で該タスクの処
    理実行が不可能であるとなった場合、該プロセッサは該
    タスクのセンダとなり、他のプロセッサのうち該プロセ
    ッサの次のプロセッサ番号のプロセッサをレシーバ候補
    として選定し、該レシーバ候補に対してタスクスケジュ
    ーリングの結果得られた負荷情報の送信を要求し、受信
    した該レシーバ候補の負荷情報と該タスクのタスク情報
    を基に該レシーバ候補において該タスクの実行が可能で
    あるかどうか、すなわちレシーバとしての資格があるか
    どうかの判定を行い、判定の結果が合格であるレシーバ
    有資格者が一定数に達するまで、またはフレームタイム
    終了までにタスクの処理や割当要求を行う時間的余裕が
    ある限り新たなレシーバ候補の選択および資格判定を繰
    り返し、全レシーバ有資格者に対してレシーバ決定指令
    を出し、レシーバ有資格者は有資格者同士でお互いの負
    荷情報を交換して最も負荷の軽い有資格者をレシーバと
    して決定し、レシーバに決定したプロセッサはセンダに
    決定報告を行い、センダは決定報告を受けた後にレシー
    バに該タスクの処理代行を依頼することを特徴とする並
    列計算機における動的負荷分散方法。
  2. 【請求項2】 各プロセッサが定期的に自分の負荷情報
    を他のプロセッサへ放送する機能を備えることにより、
    あるプロセッサにタスク生成要求が生じたとき、該プロ
    セッサは該タスクスケジューリングの結果得られるフレ
    ームタイム終了までのタスク割当のタイムスケジュール
    やメモリ使用状況等の負荷情報と、該タスクの所要メモ
    リ量や所要処理時間等に関するタスク情報を基に該タス
    クの実行可否判定を行い、その結果現在時刻からフレー
    ムタイム終了時刻までの時間より該タスクの所要処理時
    間の方が長かったり、現在時刻からフレームタイム終了
    時刻までに既に他のタスクが割り当てられている等の理
    由で該タスクの処理実行が不可能であるとなった場合、
    該プロセッサは該タスクのセンダとなり、予め該放送機
    能により取得している各プロセッサの負荷情報と該タス
    クのタスク情報を基に各プロセッサにおいて該タスクの
    実行が可能かどうか、すなわちレシーバとしての資格が
    あるかどうかの判定を行い、判定の結果が合格であるレ
    シーバ有資格者全てに対してレシーバ決定指令を出し、
    レシーバ有資格者は有資格者同士で該放送機能を用いて
    お互いの負荷情報を交換して最も負荷の軽い有資格者を
    レシーバとして決定し、レシーバに決定したプロセッサ
    はセンダに決定報告を行い、センダは決定報告を受けた
    後にレシーバに該タスクの処理代行を依頼することを特
    徴とする請求項1記載の並列計算機における動的負荷分
    散方法。
  3. 【請求項3】 各プロセッサが自由にアクセスできる共
    有メモリ機能を備えることにより、あるプロセッサにタ
    スク生成要求が生じたとき、該プロセッサは該タスクス
    ケジューリングの結果得られるフレームタイム終了まで
    のタスク割当のタイムスケジュールやメモリ使用状況等
    の負荷情報と、該タスクの所要メモリ量や所要処理時間
    等に関するタスク情報を基に該タスクの実行可否判定を
    行い、その結果現在時刻からフレームタイム終了時刻ま
    での時間より該タスクの所要処理時間の方が長かった
    り、現在時刻からフレームタイム終了時刻までに既に他
    のタスクが割り当てられている等の理由で該タスクの処
    理実行が不可能であるとなった場合、該プロセッサはセ
    ンダとなり、該共有メモリを読み込むことによって各プ
    ロセッサの負荷情報を取得し、該負荷情報と該タスクの
    タスク情報を基に各プロセッサにおいて該タスクの実行
    が可能かどうか、すなわちレシーバとしての資格がある
    かどうかの判定を行い、判定の結果が合格であるレシー
    バ有資格者全てに対してレシーバ決定指令を出し、レシ
    ーバ有資格者は有資格者同士で該共有メモリを用いてお
    互いの負荷情報を交換して最も負荷の軽い有資格者をレ
    シーバとして決定し、レシーバに決定したプロセッサは
    センダに決定報告を行い、センダは決定報告を受けた後
    にレシーバに該タスクの処理代行を依頼することを特徴
    とする請求項1記載の並列計算機における動的負荷分散
    方法。
  4. 【請求項4】 レシーバ決定後にタスク割当要求をレシ
    ーバに送信した際に、ネットワークにおいて遅延が発生
    した等の理由でレシーバがタスク割当要求を受信するの
    が遅れたため、その間にレシーバが他のプロセッサから
    他のタスクの割当要求を受け付けてしまった等の理由
    で、レシーバが該タスク生成要求を受諾できなくなって
    しまった場合、レシーバがセンダにリジェクト信号を送
    信し、センダはフレームタイム終了までにタスクの処理
    や割当要求を行う時間的余裕がある限り、残ったレシー
    バ有資格者に対して新たにレシーバ決定指令を出すよう
    にしたことを特徴とする請求項1記載の並列計算機にお
    ける動的負荷分散方法。
  5. 【請求項5】 レシーバ決定後にタスク割当要求をレシ
    ーバに送信した際に、ネットワークにおいて遅延が発生
    した等の理由でレシーバがタスク割当要求を受信するの
    が遅れたため、その間にレシーバが他のプロセッサから
    他のタスクの割当要求を受け付けてしまった等の理由
    で、レシーバが該タスク生成要求を受諾できなくなって
    しまった場合、レシーバがセンダにリジェクト信号を送
    信し、センダはフレームタイム終了までにタスクの処理
    や割当要求を行う時間的余裕がある限り、残ったレシー
    バ有資格者に対して新たにレシーバ決定指令を出すよう
    にしたことを特徴とする請求項2記載の並列計算機にお
    ける動的負荷分散方法。
  6. 【請求項6】 レシーバ決定後にタスク割当要求をレシ
    ーバに送信した際に、ネットワークにおいて遅延が発生
    した等の理由でレシーバがタスク割当要求を受信するの
    が遅れたため、その間にレシーバが他のプロセッサから
    他のタスクの割当要求を受け付けてしまった等の理由
    で、レシーバが該タスク生成要求を受諾できなくなって
    しまった場合、レシーバがセンダにリジェクト信号を送
    信し、センダはフレームタイム終了までにタスクの処理
    や割当要求を行う時間的余裕がある限り、残ったレシー
    バ有資格者に対して新たにレシーバ決定指令を出すよう
    にしたことを特徴とする請求項3記載の並列計算機にお
    ける動的負荷分散方法。
  7. 【請求項7】 レシーバ決定の際に各レシーバ有資格者
    がレシーバ有資格者のリストを作成しておくことによ
    り、レシーバ決定後にタスク割当要求をレシーバに送信
    した際に、ネットワークにおいて遅延が発生した等の理
    由でレシーバがタスク割当要求を受信するのが遅れたた
    め、その間にレシーバが他のプロセッサから他のタスク
    の割当要求を受け付けてしまった等の理由で、レシーバ
    が該タスク生成要求を受諾できなくなってしまった場
    合、フレームタイム終了までにタスクの処理や割当要求
    を行う時間的余裕がある限りレシーバが有資格者リスト
    に登録されているプロセッサの中から新たにレシーバを
    決定し、タスク処理代行依頼をすることを特徴とする請
    求項1記載の並列計算機における動的負荷分散方法。
  8. 【請求項8】 レシーバ決定の際に各レシーバ有資格者
    がレシーバ有資格者のリストを作成しておくことによ
    り、レシーバ決定後にタスク割当要求をレシーバに送信
    した際に、ネットワークにおいて遅延が発生した等の理
    由でレシーバがタスク割当要求を受信するのが遅れたた
    め、その間にレシーバが他のプロセッサから他のタスク
    の割当要求を受け付けてしまった等の理由で、レシーバ
    が該タスク生成要求を受諾できなくなってしまった場
    合、フレームタイム終了までにタスクの処理や割当要求
    を行う時間的余裕がある限りレシーバが有資格者リスト
    に登録されているプロセッサの中から新たにレシーバを
    決定し、タスク処理代行依頼をすることを特徴とする請
    求項2記載の並列計算機における動的負荷分散方法。
  9. 【請求項9】 レシーバ決定の際に各レシーバ有資格者
    がレシーバ有資格者のリストを作成しておくことによ
    り、レシーバ決定後にタスク割当要求をレシーバに送信
    した際に、ネットワークにおいて遅延が発生した等の理
    由でレシーバがタスク割当要求を受信するのが遅れたた
    め、その間にレシーバが他のプロセッサから他のタスク
    の割当要求を受け付けてしまった等の理由で、レシーバ
    が該タスク生成要求を受諾できなくなってしまった場
    合、フレームタイム終了までにタスクの処理や割当要求
    を行う時間的余裕がある限りレシーバが有資格者リスト
    に登録されているプロセッサの中から新たにレシーバを
    決定し、タスク処理代行依頼をすることを特徴とする請
    求項3記載の並列計算機における動的負荷分散方法。
  10. 【請求項10】 レシーバ候補の資格判定時に判定結果
    が合格であるとなった場合に、レシーバ候補に対して生
    成要求のあるタスクを生成するのに必要なメモリやフレ
    ームタイム内での処理時間等のリソースを予め確保する
    ように指示しておくことによって、実際に生成要求を受
    信した際に確実に該タスクの生成・実行を可能にするこ
    とを特徴とする請求項1記載の並列計算機における動的
    負荷分散方法。
  11. 【請求項11】 レシーバ候補の資格判定時に判定結果
    が合格であるとなった場合に、レシーバ候補に対して生
    成要求のあるタスクを生成するのに必要なメモリやフレ
    ームタイム内での処理時間等のリソースを予め確保する
    ように指示しておくことによって、実際に生成要求を受
    信した際に確実に該タスクの生成・実行を可能にするこ
    とを特徴とする請求項2記載の並列計算機における動的
    負荷分散方法。
  12. 【請求項12】 レシーバ候補の資格判定時に判定結果
    が合格であるとなった場合に、レシーバ候補に対して生
    成要求のあるタスクを生成するのに必要なメモリやフレ
    ームタイム内での処理時間等のリソースを予め確保する
    ように指示しておくことによって、実際に生成要求を受
    信した際に確実に該タスクの生成・実行を可能にするこ
    とを特徴とする請求項3記載の並列計算機における動的
    負荷分散方法。
JP4352096A 1996-02-29 1996-02-29 並列計算機における動的負荷分散方法 Pending JPH09237193A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4352096A JPH09237193A (ja) 1996-02-29 1996-02-29 並列計算機における動的負荷分散方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4352096A JPH09237193A (ja) 1996-02-29 1996-02-29 並列計算機における動的負荷分散方法

Publications (1)

Publication Number Publication Date
JPH09237193A true JPH09237193A (ja) 1997-09-09

Family

ID=12666034

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4352096A Pending JPH09237193A (ja) 1996-02-29 1996-02-29 並列計算機における動的負荷分散方法

Country Status (1)

Country Link
JP (1) JPH09237193A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001147907A (ja) * 1999-09-08 2001-05-29 Sony United Kingdom Ltd ネットワーク端末装置、ネットワーク及びタスク分散方法
GB2404050B (en) * 2003-07-18 2007-01-17 Nec Corp Security management system in a parallel processing system
US11700299B2 (en) 2019-02-05 2023-07-11 Mitsubishi Electric Corporation Information processing apparatus, information processing system, non-transitory computer-readable medium, and information processing method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001147907A (ja) * 1999-09-08 2001-05-29 Sony United Kingdom Ltd ネットワーク端末装置、ネットワーク及びタスク分散方法
GB2404050B (en) * 2003-07-18 2007-01-17 Nec Corp Security management system in a parallel processing system
US7516323B2 (en) 2003-07-18 2009-04-07 Nec Corporation Security management system in parallel processing system by OS for single processors
US11700299B2 (en) 2019-02-05 2023-07-11 Mitsubishi Electric Corporation Information processing apparatus, information processing system, non-transitory computer-readable medium, and information processing method

Similar Documents

Publication Publication Date Title
US11275609B2 (en) Job distribution within a grid environment
CN102761469B (zh) 一种资源池的分配方法和装置
US9201690B2 (en) Resource aware scheduling in a distributed computing environment
US7206890B2 (en) System and method for reducing accounting overhead during memory allocation
US20150381436A1 (en) System and method for providing threshold-based access to compute resources
US20040078339A1 (en) Priority based licensing
WO2010131778A1 (ja) ワークフロー監視制御システム、監視制御方法および監視制御プログラム
JP2007519103A (ja) マルチプロセッサシステムにおけるリソース管理
US20060167966A1 (en) Grid computing system having node scheduler
US11438271B2 (en) Method, electronic device and computer program product of load balancing
US20220365826A1 (en) Allocation of heterogeneous computational resource
Davis et al. An investigation into server parameter selection for hierarchical fixed priority pre-emptive systems
CN117724811A (zh) 一种层次化的多核实时调度器
JPH09237256A (ja) 並列計算機における動的負荷分散方法
CN114691376A (zh) 一种线程执行方法、装置、电子设备和存储介质
CN113703930B (zh) 任务调度方法、装置及系统、计算机可读存储介质
US20060126104A1 (en) Grid computing system with virtual printer
US20230050163A1 (en) Apparatuses and methods for scheduling computing resources
JP4063651B2 (ja) ジョブスケジューリング方法および装置
JPH1027167A (ja) 並列計算機の負荷分散方法
JPH09231181A (ja) 並列計算機における動的負荷分散方法
JPH09237255A (ja) 並列計算機における動的負荷分散方法
JPH09237194A (ja) 並列計算機における動的負荷分散方法
US8589551B2 (en) Multiprocessor computer and network computing system processing use and provision of hardware resource via a network
CN101656741A (zh) 一种基于效用的Web服务组合方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Effective date: 20040106

Free format text: JAPANESE INTERMEDIATE CODE: A02