JPH06309290A - 並列処理方式 - Google Patents

並列処理方式

Info

Publication number
JPH06309290A
JPH06309290A JP9742493A JP9742493A JPH06309290A JP H06309290 A JPH06309290 A JP H06309290A JP 9742493 A JP9742493 A JP 9742493A JP 9742493 A JP9742493 A JP 9742493A JP H06309290 A JPH06309290 A JP H06309290A
Authority
JP
Japan
Prior art keywords
executable
queue
processing units
program module
schedulers
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.)
Withdrawn
Application number
JP9742493A
Other languages
English (en)
Inventor
Fumihiko Anzai
文彦 安西
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.)
Fuji Electric Co Ltd
Fuji Facom Corp
Original Assignee
Fuji Electric Co Ltd
Fuji Facom 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 Fuji Electric Co Ltd, Fuji Facom Corp filed Critical Fuji Electric Co Ltd
Priority to JP9742493A priority Critical patent/JPH06309290A/ja
Publication of JPH06309290A publication Critical patent/JPH06309290A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 本発明はマルチプロセッサシステムにおける
並列処理方式に関し、各プロセッサの有効利用を図るこ
とを目的とする。 【構成】 2台のスケジューラ21−1,21−2には
それぞれ固有の識別子が割り当てられ、これらのスケジ
ューラはそれぞれ個別の順序記述に従って実行可能にな
ったプログラムモジュールを共用のEXQ31にスケジ
ューリングする。4台のジョブ・プロセッサ41−1〜
41−4はEXQ31から競合してプログラムモジュー
ル番号とこれを書き込んだスケジューラの識別子を取り
出し、この番号に対応するプログラムモジュールを実行
する。そして、この実行終了後、上記識別子に対応する
EDQに上記プログラムモジュール番号を書き込む。ス
ケジューラは専用のEDQから実行の終了したプログラ
ムモジュールの番号を取り出し、その終了を知る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マルチプロセッサシス
テムにおける並列処理方式に関し、特に複数の順序記述
に従って複数の処理単位をスケジューリングする方式に
関する。
【0002】尚、ここで処理単位とは、例えばタスク
(プロセス),スレッド,サブルーチン,ステートメン
ト,関数などのデータ処理の単位であり、以後の説明で
は、プログラムモジュールと呼称する。また、順序記述
とはタスクグラフ等のように1つのジョブを構成する複
数の処理単位の実行順序が記述されたものであり、並行
して実行可能な処理単位についても記述されている。
【0003】
【従来の技術】シングルプロセッサ方式では高速化に限
界があることが明らかになってきたことにより、マルチ
プロセッサ方式による並列処理に対するニーズが高まっ
ている。このマルチプロセッサ方式はMIMD(Multi
Instruction Stream MultipleData Stream)方式の一つ
であり、複数のプロセッサ全体であるまとまった処理を
実行する。
【0004】このマルチプロセッサ方式の目的の一つと
して、同一処理を複数のプロセッサで分担(負荷分散)
して高速化を図ることがあげられる。ここで、従来の並
列処理方式を図8に示す。
【0005】同図に示すように、従来は1台のスケジュ
ーラ11、複数台のジョブ・プロセッサ(JP)21−
1,21−2,21−3,・・・21−N,1つの実行
キュー(EXQ)31,1つの終了キュー(EDQ)3
2,及び不図示の共有データメモリから構成されてい
た。
【0006】上記構成において、スケジューラ11は、
順序記述に従って実行すべきプログラムモジュールの番
号をFIFO(First in First Out) メモリから成るE
XQ(Execution Que)31に書き込む。
【0007】複数のジョブ・プロセッサ21−1,21
−2,21−3,・・・21−Nは、マイクロプロセッ
サ並びにローカルメモリ等から成り、このローカルメモ
リ内に複数のプログラムモジュールを格納している。こ
のプログラムモジュールは、ジョブ・プロセッサ21−
i(i=1,2,3,・・・N)が実行可能な言語であ
ればいかなる言語で記述されていてもよい。
【0008】EXQ31は、実行可能状態にあるプログ
ラムモジュールの番号の待ち行列(キュー)であり、デ
ータを先入れ先出し(FIFO)するFIFOメモリか
ら成る。
【0009】EDQ(END Que)32も同様にF
IFOメモリから成り、実行が終了したプログラムモジ
ュールが各ジョブ・プロセッサ21−1,21−2,2
1−3,・・・21−Nにより書き込まれる。
【0010】このような構成において、スケジューラ1
1は順序記述に従って実行可能になったプログラムモジ
ュールの番号を順にEXQ31に書き込む。すなわち、
あるプログラムモジュール(先行プログラムモジュー
ル)の実行が終了すると、順序記述から次に実行すべき
プログラムモジュール(後続プログラムモジュール)を
取り出しこのプログラムモジュールの番号をEXQ31
に書き込む処理を順序記述に従って行う。この場合、同
時に並列(並行)して実行可能なプログラムモジュール
が複数あった場合には、これらのプログラムモジュール
の番号をEXQ31に続けて書き込む。
【0011】複数のジョブ・プロセッサ21−1,21
−2,21−3,・・・21−Nは、EXQ31からプ
ログラムモジュール番号を競合しながら取り出し、この
番号を有するプログラムモジュールを実行する。そし
て、実行を終了したならば、このプログラムモジュール
の番号をEDQ32に書き込む。
【0012】スケジューラ11は実行が終了したプログ
ラムモジュールの番号をEDQ32から取り出し、この
ことにより実行終了状態に遷移したプログラムモジュー
ルを知る。
【0013】以上において、スケジューラ11と複数の
ジョブ・プロセッサ21−1,21−2,21−3,・
・・21−Nは、EXQ31及びEDQ32をインタフ
ェースとして互いに独立に動作する。すなわち、スケジ
ューラ11は与えられた順序記述に従いながら、並列
(並行)して同時に実行可能なプログラムモジュールの
番号をEXQ31に書き込んでいく。一方、各ジョブ・
プロセッサ21−1,21−2,21−3,・・・21
−NはEXQ31からプログラムモジュール番号を取り
出し、この番号に対応するプログラムモジュールを実行
する。このとき、複数台のジョブ・プロセッサ21−
1,21−2,21−3,・・・21−Nは互いに独立
にプログラムモジュール番号をEXQ31から取り出
し、独立にこれらの番号を有するプログラムモジュール
を実行する。従って、最大、ジョブ・プロセッサ21−
i(i=1,2,3,・・・N)の台数に等しい個数の
プログラムモジュールが同時に並列して実行可能であ
る。
【0014】
【発明が解決しようとする課題】上述したように、従来
の並列処理方式では1台のスケジューラ11のみが1つ
の順序記述に従ってEXQ21にプログラム・モジュー
ルのスケジューリングを行っていた。一般に順序記述に
従ってプログラム・モジュールのスケジューリングを行
った場合、並列実行可能なプログラム・モジュールの数
は時間的に変動する場合が多い。このため、原理上で
は、常時ジョブ・プロセッサ21−i(i=1,2,・
・・N)の台数Nに等しい個数だけプログラム・モジュ
ールを同時に並列して実行可能であるにもかかわらず、
休眠状態となるジョブ・プロセッサ21−i(i=1,
2,・・・N)の数が増加してしまうときがあり、ジョ
ブ・プロセッサ21−i(i=1,2,・・・N)を有
効に利用しているとは言い難かった。
【0015】本発明は、プロセッサ(上記ジョブ・プロ
セッサに対応)が休眠状態になる頻度を少なくして、プ
ロセッサの利用率を高め複数のプロセッサを有効活用で
きるようにすることを目的とする。また、さらにはこの
目的を複数の実行順序を優先順位を付けながら実行して
いくシステムにおいても実現可能にするを第2の目的と
する。
【0016】
【課題を解決するための手段】図1は請求項1記載の第
1の発明の原理ブロック図である。この第1の発明は、
複数の処理単位を内蔵している複数のプロセッサ1−
1,1−2,・・・1−Nと、実行可能な処理単位の待
ち行列である実行可能待ち行列2と、前記複数の処理単
位の実行順序が記述された順序記述に従って実行可能に
なった処理単位を前記実行可能待ち行列2に入れる複数
のスケジューラ3−1,3−2,・・・3−Mと、該複
数のスケジューラ3−1,3−2,・・・3−Mそれぞ
れに対し1対1に対応して設けられた実行が終了した処
理単位の待ち行列である複数の実行終了待ち行列4−
1,4−2,・・・4−Mとを備え、前記複数のスケジ
ューラ3−1,3−2,・・・3−Mはそれぞれに割り
当てられた個別の順序記述に従って実行可能になった処
理単位を順次前記実行可能待ち行列2に入れ、前記複数
のプロセッサ1−1,1−2,・・・1−Nは前記実行
可能待ち行列2から競合して実行可能状態にある処理単
位を取り出して実行し、実行終了後この処理単位をこれ
をスケジューリングしたスケジューラ3−i;i=1,
2,・・・Mに対応する実行終了待ち行列4−i;i=
1,2,・・・Mに入れる。
【0017】次に、図2は請求項2記載の第2の発明の
原理ブロック図である。この第2の発明は、複数の処理
単位を内蔵している複数のプロセッサ5−1,5−2,
・・・5−Kと、前記複数の処理単位の実行順序が記述
された順序記述に従って実行可能になった処理単位をス
ケジューリングするスケジューラ6−1,6−2,・・
・6−Lと、上記各スケジューラ6−1,6−2,・・
・6−Lそれぞれに対し1対1に対応して設けられた実
行可能な処理単位の待ち行列である優先順位が付けられ
た複数の実行可能待ち行列7−1,7−2,・・・7−
Lと、前記複数のスケジューラ6−1,6−2,・・・
6−Lそれぞれに対し1対1に対応して設けられた実行
が終了した処理単位の待ち行列である複数の実行終了待
ち行列8−1,8−2,・・・8−Lとを備え、前記複
数のスケジューラ6−1,6−2,・・・6−Lはそれ
ぞれに割り当てられた個別の順序記述に従って実行可能
になった処理単位を対応する実行可能待ち行列7−1,
7−2,・・・7−Lに入れ、前記複数のプロセッサ5
−1,5−2,・・・5−Kは現在空き状態となってい
ない実行可能待ち行列7−1,7−2,・・・7−Lの
中で最も優先順位の高い実行可能待ち行列7−j;j=
1,2,・・・Lから優先して実行可能な処理単位を取
り出して実行し、この処理単位の実行終了後この処理単
位をスケジューリングしたスケジューラ6−j;j=
1,2,・・・Lに対応する実行終了待ち行列8−j;
j=1,2,・・・Lに入れる。
【0018】この第2の発明において、例えば請求項3
記載のように(図3参照)、各実行可能待ち行列7−
1,7−2,・・・7−Lから空き状態にあるか否かを
示す情報を入力し、空き状態にない最も優先順位の高い
実行可能待ち行列7−j;j=1,2,・・・Lの先頭
にある処理単位を出力する選択手段9をさらに備え、前
記複数のプロセッサ5−1,5−2,・・・5−Kは該
選択手段9を介し実行すべき処理単位を取り出すような
構成にしてもよい。
【0019】
【作用】上記第1の発明においては、各スケジューラ3
−1,3−2,・・・3−Mはそれぞれ個別の順序記述
に従って、実行可能になった処理単位を実行可能待ち行
列2に入れるスケジューリング処理を行う。
【0020】そして、複数のプロセッサ1−1,1−
2,・・・1−Nは、実行可能待ち行列2から競合して
処理単位を取り出しこれを実行する。そして、実行を終
了すると、この処理単位をスケジューリングしたスケジ
ューラ3−i(i=1,2,・・・M)に対応する実行
終了待ち行列4−i(i=1,2,・・・M)に入れ
る。
【0021】このように、各スケジューラ3−1,3−
2,・・・3−M毎に専用の実行終了待ち行列4−1,
4−2,・・・4−Mを設け、各スケジューラ3−1,
3−2,・・・3−Mがそれぞれ個別の順序記述に従っ
て複数のプロセッサ1−1,1−2,・・・1−Nによ
って共用される実行可能待ち行列2に処理単位をスケジ
ューリングしていくようにしたので、システム内で同時
に複数の順序記述に従って処理単位をスケジューリング
できる。そして、このように複数の順序記述に従ってス
ケジューリングされる処理単位を複数のプロセッサ1−
1,1−2,・・・1−Nが共用して実行する。従っ
て、従来のように1つの順序記述に従って処理単位をス
ケジューリングしていく場合に比べ各プロセッサが休眠
状態となる頻度は減少し、複数のプロセッサ1−1,1
−2,・・・1−Nを従来よりも有効活用できるように
なる。
【0022】また、第2の発明においては、上記第1の
発明と同様に各スケジューラ6−1,6−2,・・・6
−Lに対し専用の実行終了待ち行列8−1,8−2,・
・・8−Lを設けるのに加え、さらに専用の実行可能待
ち行列7−1,7−2,・・・7−Lも各スケジューラ
6−1,6−2,・・・6−Lに対し設ける。また、こ
れらの実行可能待ち行列7−1,7−2,・・・7−L
に対し優先順位を割り当てる。
【0023】そして、各スケジューラ6−1,6−2,
・・・6−Lは個別の順序記述に従って各々が専用する
実行可能待ち行列7−1,7−2,・・・7−Lに処理
単位をスケジューリングする。複数のプロセッサ5−
1,5−2,・・・5−Kはこれらのスケジューリング
された処理単位を、現在空き状態となっていない実行可
能待ち行列7−1,7−2,・・・7−Lの中で最も優
先順位の高い実行可能待ち行列7−j(j=1,2,・
・・L)から優先的に取り出して実行する。そして、実
行が終了するとこの処理単位をこれをスケジューリング
したスケジューラ6−j(j=1,2,・・・L)が専
用する実行終了待ち行列8−j(j=1,2,・・・
L)に入れる。
【0024】このように、この第2の発明においては優
先順位の高い実行可能待ち行列内にある処理単位が優先
順位の低い実行可能待ち行列内にある処理単位よりも優
先して実行される。上述したように、各実行可能待ち行
列7−1,7−2,・・・7−Lにはそれぞれ個別の順
序記述に従って処理単位がスケジューリングされてい
く。このため、複数の順序記述は優先順位が付与されて
実行される。
【0025】したがって、上記第1の発明と同様に複数
のプロセッサを従来よりも有効に活用できると共に、こ
れを複数の実行順序を優先順位に従って優先処理しなが
ら実現できる。
【0026】
【実施例】以下、図面を参照しながら本発明の実施例を
説明する。図4は、本発明の第1実施例である並列処理
装置のシステム構成図である。
【0027】同図に示すように、この並列処理装置にお
いては、2台のスケジューラ21−1,21−2が設け
られている。そして、これらのスケジューラ21−1,
21−2が共通に使用する実行可能待ち行列であるEX
Q(Execute Que)31が1つ設けられ、さらに各スケジ
ューラ21−1,21−2がそれぞれ専用して使用する
実行終了待ち行列である2つのEDQ(END Que)32−
1,32−2が設けられている。
【0028】また、互いに独立して個別のプログラムモ
ジュールを実行可能な4台のジョブ・プロセッサ(J
P)41−1,41−2,41−3,41−4が設けら
れている。
【0029】さらに、特に図示してはいないが、これら
のジョブ・プロセッサ41−1,41−2,41−3,
41−4間で共有データを授受するために使用される共
有データメモリが、各ジョブ・プロセッサ41−1,4
1−2,41−3,41−4とバスで接続されている。
【0030】これら各ジョブ・プロセッサ41−j(j
=1,2,3,4)は、マイクロプロセッサ、及びこの
マイクロプロセッサにローカルバスで接続されたローカ
ルメモリ等から成り、このローカルメモリに処理単位に
相当するプログラムモジュールや非共有データを格納し
ている。
【0031】また、EXQ31及びEDQ32−1,3
2−2は共に先入れ先出し方式のFIFOメモリ(Fast
In Fast Out Memory)から成る。各スケジューラ21−
1,21−2は、個別の識別子(スケジューラ識別子)
が割り当てられており、それぞれに与えられた個別の順
序記述に従って実行すべきプログラムモジュールのスケ
ジューリング、すなわち実行すべきプログラムモジュー
ルの番号(プログラムモジュール番号)のEXQ31へ
の書き込みを行う。尚、このプログラムモジュール番号
の書き込みの際には自己の識別子も書き込む。また専用
のEDQ32−1またはEDQ32−2から実行が終了
したプログラムモジュールの番号を取り出す。
【0032】次に、上記構成の第1実施例の動作を説明
する。各スケジューラ21−1,21−2は、それぞれ
に与えられた順序記述を基に実行可能状態になったプロ
グラムモジュールの番号を自己の識別子と共に順次EX
Q31に書き込んでいく。
【0033】複数のジョブ・プロセッサ41−1,41
−2,41−3,41−4は、プログラムモジュールの
実行が可能な状態になると、EXQ31からプログラム
モジュールの番号とこれに対応して書き込まれているス
ケジューラの識別子とを互いに競合しながら取り出し、
このプログラムモジュール番号に対応するプログラムモ
ジュールを実行する。この場合、各ジョブ・プロセッサ
41−j(j=1,2,3,4)はEXQ31に書き込
まれた順にプログラムモジュール番号を取り出すので、
各プロセッサ41−j(j=1,2,3,4)が取り出
すプログラムモジュールはスケジューラ21−1または
スケジューラ21−2の内どちらによってスケジュール
されたものであるか特定されない。
【0034】そして、各ジョブ・プロセッサ41−j
(j=1,2,3,4)はプログラムモジュールの実行
を終了すると、このプログラムモジュールの番号を、こ
の番号と共にEXQ31から取り出した識別子を有する
スケジューラ21−1またはスケジューラ21−2に対
応するEDQ32−1またはEDQ32−2に書き込
む。すなわち、実行が終了したプログラムモジュールの
番号はこのプログラムモジュールをスケジューリングし
たスケジューラ21−1またはスケジューラ21−2専
用のEDQ32−1またはEDQ32−2に書き込まれ
ることになる。
【0035】各スケジューラ21−1,21−2はそれ
ぞれ自己の識別子に対応するEDQ32−1,32−2
から自己がスケジューリングしたプログラムモジュール
の番号を取り出し、そのプログラムモジュールの状態遷
移、すなわち実行中から実行終了への移行を知る。
【0036】ここで、各ジョブ・プロセッサ内のEDQ
選択回路の一例を図5に示す。このEDQ選択回路はE
XQ31から取り出すスケジューラ21−1またはスケ
ジューラ21−2の識別子に従って実行が終了したプロ
グラムモジュールの番号を当該EDQ32−1またはE
DQ32−2に書き込む。
【0037】同図において、識別子レジスタ411,番
号レジスタ412は、それぞれEXQ31から取り出さ
れるスケジューラの識別子及びプログラムモジュールの
番号を格納するレジスタである。
【0038】セレクタ413は、上記番号レジスタ41
2からプログラムモジュールの番号をデータとして入力
し、識別子レジスタ411からスケジューラの識別子を
選択信号として入力する。そして、この選択信号がスケ
ジューラ21−1の識別子であればEDQ32−1へ、
一方スケジューラ21−2の識別子であればEDQ32
−2へ、上記入力されるプログラムモジュールの番号を
選択出力する。
【0039】尚、番号レジスタ412に格納されるプロ
グラムモジュールの番号はプロセッサ414により読み
出され、プロセッサ414はこの番号を有するプログラ
ムモジュールを不図示のローカルメモリから読み出して
実行する。そして、プロセッサ414はこのプログラム
モジュールの実行を終了すると上記セレクタ413から
選択出力されているプログラムモジュール番号を当該E
DQ(32−1または32−2)へ書き込む。
【0040】このようにこの第1実施例においてはスケ
ジューラ→EXQ→ジョブ・プロセッサ→EDQのルー
プすなわちプログラムモジュールの実行環境が、図4中
においてそれぞれ実線と破線の矢印で示したように2組
存在することになる(但し、EXQ31とジョブ・プロ
セッサ41−1〜41−4は共通)。従って、本実施例
では2組の順序記述について同時に並列してスケジュー
リング処理できる。また、上記ループの個数はスケジュ
ーラとEDQの個数によって決定されるため(同一数と
なる)、スケジューラとEDQの個数を増加することに
より同時に並列してスケジューリングできる順序記述の
数をさらに増加できる。
【0041】このように第1実施例においては、それぞ
れ個別の順序記述に従ってプログラムモジュールのスケ
ジューリングを行う複数のスケジューラがシステム内の
全てのジョブ・プロセッサに実行すべきプログラムモジ
ュールを供給するので、ジョブ・プロセッサが休眠状態
となる頻度は減少する。したがって、ジョブ・プロセッ
サの稼働率は高まり、ジョブ・プロセッサは有効活用さ
れる。
【0042】次に、図6は本発明の第2実施例である並
列処理装置のシステム構成図である。同図に示す2台の
スケジューラ121−1,121−2に対しては、上述
した第1実施例と同様にそれぞれ専用のEDQ132−
1,132−2が設けられている。ここで、上述した第
1実施例との構成上の違いは、2つのEXQ131−
1,131−2がそれぞれ上記スケジューラ121−
1,121−2専用に設けられていることである。
【0043】これらEXQ131−1,131−2,及
びEDQ132−1,132−2は、いずれもFIFO
メモリである。また、EXQ131−1,131−2に
は優先順位が割り当てられており、EXQ131−1の
方がEXQ131−2よりも優先順位が高くなってい
る。
【0044】セレクタ151は優先順位の高いEXQ1
31−1にプログラムモジュール番号が有る場合には、
EXQ131−2にプログラムモジュール番号が格納さ
れているいないにかかわらず、EXQ131−1に格納
されているプログラムモジュール番号の方を優先して対
応するスケジューラ(121−1)の識別子と共に選択
出力する。
【0045】4台のジョブ・プロセッサ141−1〜1
41−4は上述した第1実施例の4台のジョブ・プロセ
ッサと同一の構成となっており、上記セレクタ151か
ら出力されるプログラムモジュール番号と、これに対応
して書き込まれているスケジューラの識別子とを互いに
競合しながら取り込む。そして、この番号に対応するプ
ログラムモジュールを実行し、実行が終了するとこの番
号を取り込んでいた識別子を有するスケジューラ(12
1−1または121−2)に対応するEDQ(122−
1または122−2)に書き込む。
【0046】各スケジューラ121−1,121−2
は、それぞれ専用のEDQ132−1,132−2から
プログラムモジュール番号を取り出し、この番号を有す
るプログラムモジュールが実行中から実行終了の状態に
遷移したことを知る。そして、順序記述から次に実行可
能なプログラムモジュール(並列実行可能なプログラム
モジュール)を全て求め、これらのプログラムモジュー
ルの番号を、それぞれ対応するEXQ131−1,13
1−2に書き込む。
【0047】ここで、この第2実施例の特徴部分である
優先順位の高いEXQ131−1の方から優先的にプロ
グラムモジュール番号を取り出す回路を図7に示す。各
EXQ131−1,131−2はそれぞれエンプティフ
ラグ131a,132aを備え、プログラムモジュール
番号を1個も格納していないときにはこのフラグを立て
る。これら各EXQ131−1,131−2のエンプテ
ィフラグ131a,132aの出力は共に上記セレクタ
151に選択信号として入力される。
【0048】また、このセレクタ151には、2つのE
XQ131−1,131−2からそれぞれの待ち行列の
先頭の組データ(プログラムモジュール番号、スケジュ
ーラ識別子)がデータ入力される。
【0049】セレクタ151は優先順位の高いEXQ1
31−1のエンプティフラグ131aが立っているとき
以外は、常にEXQ131−1から入力される組データ
(プログラムモジュール番号、スケジューラ識別子)の
方を優先順位の低いEXQ131−2から入力される組
データ(プログラムモジュール番号、スケジューラ識別
子)よりも優先して出力する。そして、EXQ131−
1のエンプティフラグ131aが立っておりかつEXQ
131−2のエンプティフラグ131bが立っていない
ときにのみEXQ131−2から入力される上記組みデ
ータを出力する。
【0050】このように、第2実施例においても上述し
た第1実施例と同様にプログラムモジュールの実行環境
ともいうべきスケジューラ→EXQ→ジョブ・プロセッ
サ(共用)→EDQのループが二組存在する。従って、
上記第1実施例と同様に2つの順序記述に従ってプログ
ラムモジュールのスケジューリングが可能であり、これ
によりスケジューリングされたプログラムモジュールを
4台のジョブ・プロセッサ141−1〜141−4が並
列して処理できる。
【0051】またこのスケジューリングにおいては上述
したようにEXQ131−1の待ち行列にリスティング
されているプログラムモジュールの方が優先され、EX
Q131−1にはスケジューラ121−1が自己に割り
当てられた順序記述に従ってプログラムモジュールのス
ケジューリングを行うことから、2つの順序記述の内ス
ケジューラ121−1に割り当てられた順序記述の方が
スケジューラ121−2に割り当てられた順序記述より
も優先的に処理されることになる。従って、第2実施例
においては2つの順序記述を優先順位を付けながら実行
することが可能である。
【0052】尚、この第2実施例においても各ジョブ・
プロセッサ141−1〜141−4における実行の終了
したプログラムモジュールの番号を当該EDQ(132
−1または132−2)へ書き込む機能は上述した上記
第1実施例と同様に図5に示す回路により実現できる。
【0053】
【発明の効果】請求項1記載の発明(第1の発明)にお
いては、1つの順序記述を実行するスケジューラ→実行
可能な待ち行列(共用)→プロセッサ(共用)→実行終
了待ち行列のループが複数組存在するので、複数の順序
記述が矛盾することなく複数のプロセッサによって実行
される。換言すれば、複数のプロセッサが複数の順序記
述に従ってスケジューリングされる処理単位を実行でき
る。従って、実行可能状態にある処理単位の個数の時間
的変動が小さくなり、各プロセッサが休眠状態となる頻
度が小さくなる。この結果、複数のプロセッサを従来よ
りも有効活用できるようになる。
【0054】また、請求項2記載の発明(第2の発明)
においては、上記ループにおいて1つの順序記述毎に専
用の実行可能待ち行列が割り当てられる。そして、これ
らの実行可能待ち行列には優先順位が付与され、複数の
プロセッサは空き状態にない実行可能待ち行列の中で最
も優先順位の高い実行可能待ち行列から優先的に処理単
位を取り出してこれを実行する。したがって、上記第1
の発明の効果に加え、複数の順序記述を優先順位に基づ
きながら処理できる。
【図面の簡単な説明】
【図1】本発明の原理ブロック図(その1)である。
【図2】本発明の原理ブロック図(その2)である。
【図3】本発明の原理ブロック図(その3)である。
【図4】本発明の第1実施例のシステム構成図である。
【図5】第1実施例のジョブ・プロセッサ内のEDQ選
択回路の一構成例を示す図である。
【図6】本発明の第2実施例のシステム構成図である。
【図7】第2実施例における優先順位によるEXQの選
択回路の一構成図である。
【図8】従来の並列処理方式を説明する図である。
【符号の説明】
1−1〜1−N,5−1〜5−K プロセッサ 2,7−1〜7−L 実行可能待ち行列 3−1〜3−M,6−1〜6−L スケジューラ 4−1〜4−M,8−1〜8−L 実行終了待ち行列 9 選択手段

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数の処理単位を内蔵している複数のプ
    ロセッサ(1−1),(1−2),・・・(1−N)
    と、 実行可能な処理単位の待ち行列である実行可能待ち行列
    (2)と、 前記複数の処理単位の実行順序が記述された順序記述に
    従って実行可能になった処理単位を前記実行可能待ち行
    列(2)に入れる複数のスケジューラ(3−1),(3
    −2),・・・(3−M)と、 該各スケジューラ(3−1),(3−2),・・・(3
    −M)それぞれに対し1対1に対応して設けられた実行
    が終了した処理単位の待ち行列である複数の実行終了待
    ち行列(4−1),(4−2),・・・(4−M)とを
    備え、 前記複数のスケジューラ(3−1),(3−2),・・
    ・(3−M)はそれぞれに割り当てられた個別の順序記
    述に従って実行可能になった処理単位を順次前記実行可
    能待ち行列(2)に入れ、前記複数のプロセッサ(1−
    1),(1−2),・・・(1−N)は前記実行可能待
    ち行列(2)から競合して実行可能状態にある処理単位
    を取り出して実行し、実行終了後この処理単位をこれを
    スケジューリングしたスケジューラ(3−i;i=1,
    2,・・・M)に対応する実行終了待ち行列(4−i;
    i=1,2,・・・M)に入れる、 ことを特徴とする並列処理方式。
  2. 【請求項2】 複数の処理単位を内蔵している複数のプ
    ロセッサ(5−1),(5−2),・・・(5−K)
    と、 前記複数の処理単位の実行順序が記述された順序記述に
    従って実行可能になった処理単位をスケジューリングす
    るスケジューラ(6−1),(6−2),・・・(6−
    L)と、 上記各スケジューラ(6−1),(6−2),・・・
    (6−L)それぞれに対し1対1に対応して設けられた
    実行可能な処理単位の待ち行列である優先順位が付けら
    れた複数の実行可能待ち行列(7−1),(7−2),
    ・・・(7−L)と、 前記複数のスケジューラ(6−1),(6−2),・・
    ・(6−L)それぞれに対し1対1に対応して設けられ
    た実行が終了した処理単位の待ち行列である複数の実行
    終了待ち行列(8−1),(8−2),・・・(8−
    L)とを備え、 前記複数のスケジューラ(6−1),(6−2),・・
    ・(6−L)はそれぞれに割り当てられた個別の順序記
    述に従って実行可能になった処理単位を対応する実行可
    能待ち行列(7−1),(7−2),・・・(7−L)
    に入れ、前記複数のプロセッサ(5−1),(5−
    2),・・・(5−K)は現在空き状態となっていない
    実行可能待ち行列(7−1),(7−2),・・・(7
    −L)の中で最も優先順位の高い実行可能待ち行列(7
    −j;j=1,2,・・・L)から優先して実行可能な
    処理単位を取り出して実行し、この処理単位の実行後こ
    の処理単位をこれをスケジューリングしたスケジューラ
    (6−j;j=1,2,・・・L)に対応する実行終了
    待ち行列(8−j;j=1,2,・・・L)に入れる、 ことを特徴とする並列処理方式。
  3. 【請求項3】 各実行可能待ち行列(7−1),(7−
    2),・・・(7−L)から空き状態にあるか否かを示
    す情報を入力し、空き状態にない最も優先順位の高い実
    行可能待ち行列(7−j;j=1,2,・・・L)の先
    頭にある処理単位を出力する選択手段(9)をさらに備
    え、 前記複数のプロセッサ(5−1),(5−2),・・・
    (5−K)は該選択手段(9)を介し実行すべき処理単
    位を取り出す、 ことを特徴とする請求項2記載の並列処理方式。
JP9742493A 1993-04-23 1993-04-23 並列処理方式 Withdrawn JPH06309290A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9742493A JPH06309290A (ja) 1993-04-23 1993-04-23 並列処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9742493A JPH06309290A (ja) 1993-04-23 1993-04-23 並列処理方式

Publications (1)

Publication Number Publication Date
JPH06309290A true JPH06309290A (ja) 1994-11-04

Family

ID=14192054

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9742493A Withdrawn JPH06309290A (ja) 1993-04-23 1993-04-23 並列処理方式

Country Status (1)

Country Link
JP (1) JPH06309290A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981258B1 (en) 1999-10-19 2005-12-27 Nec Electronics Corporation Process scheduler without long overhead and large memory and scheduling method used therein
JP2010140146A (ja) * 2008-12-10 2010-06-24 Fujitsu Ltd マルチコアプロセッサ,制御方法および情報処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981258B1 (en) 1999-10-19 2005-12-27 Nec Electronics Corporation Process scheduler without long overhead and large memory and scheduling method used therein
JP2010140146A (ja) * 2008-12-10 2010-06-24 Fujitsu Ltd マルチコアプロセッサ,制御方法および情報処理装置
JP4691153B2 (ja) * 2008-12-10 2011-06-01 富士通株式会社 マルチコアプロセッサ,制御方法および情報処理装置

Similar Documents

Publication Publication Date Title
US6055579A (en) Distributed control and synchronization of multiple data processors using flexible command queues
US7822885B2 (en) Channel-less multithreaded DMA controller
US7650601B2 (en) Operating system kernel-assisted, self-balanced, access-protected library framework in a run-to-completion multi-processor environment
US10545892B2 (en) Multi-thread processor and its interrupt processing method
US20090300629A1 (en) Scheduling of Multiple Tasks in a System Including Multiple Computing Elements
GB1511281A (en) Trap semaphore in computer
US9588808B2 (en) Multi-core system performing packet processing with context switching
CN104094235B (zh) 多线程计算
JPH07105156A (ja) 多重処理システム用のスケーラブル・システム割込み構造
US8387061B2 (en) Logic for synchronizing multiple tasks at multiple locations in an instruction stream
US8832712B2 (en) System and method for synchronizing threads using shared memory having different buffer portions for local and remote cores in a multi-processor system
US7634774B2 (en) System and method of scheduling computing threads
US20060146864A1 (en) Flexible use of compute allocation in a multi-threaded compute engines
JP2005276097A (ja) 割り込み依頼プログラムおよびマイクロコンピュータ
US6901507B2 (en) Context scheduling
US8761188B1 (en) Multi-threaded software-programmable framework for high-performance scalable and modular datapath designs
JPH06309290A (ja) 並列処理方式
JPH02242434A (ja) タスクのスケジューリング方法
US20050097554A1 (en) Charge rationing aware scheduler
JP2001337822A (ja) 命令バッファ及びバッファキュー制御
Dodd Coloured petri net modelling of a generic avionics mission computer
WO2019188175A1 (ja) デッドロック回避方法、デッドロック回避装置
US7107478B2 (en) Data processing system having a Cartesian Controller
JPH07210400A (ja) マルチタスク処理の処理装置
US6711655B1 (en) Finding available memory space by finding its associated memory transfer controller

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000704