JP2690435B2 - 処理をプロセッサにディスパッチするためのマイクロプログラム手段を有するマルチプロセッサシステム - Google Patents
処理をプロセッサにディスパッチするためのマイクロプログラム手段を有するマルチプロセッサシステムInfo
- Publication number
- JP2690435B2 JP2690435B2 JP4292966A JP29296692A JP2690435B2 JP 2690435 B2 JP2690435 B2 JP 2690435B2 JP 4292966 A JP4292966 A JP 4292966A JP 29296692 A JP29296692 A JP 29296692A JP 2690435 B2 JP2690435 B2 JP 2690435B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- queue
- event
- processing
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000012545 processing Methods 0.000 title claims description 65
- 238000000034 method Methods 0.000 claims description 144
- 230000008569 process Effects 0.000 claims description 138
- 230000003993 interaction Effects 0.000 claims description 11
- CGTRVJQMKJCCRF-UHFFFAOYSA-N 3-(3-carbazol-9-ylphenyl)-9-[3-[3-(3-carbazol-9-ylphenyl)carbazol-9-yl]phenyl]carbazole Chemical compound C12=CC=CC=C2C2=CC(C=3C=CC=C(C=3)N3C4=CC=CC=C4C4=CC=CC=C43)=CC=C2N1C1=CC=CC(N2C3=CC=C(C=C3C3=CC=CC=C32)C=2C=C(C=CC=2)N2C3=CC=CC=C3C3=CC=CC=C32)=C1 CGTRVJQMKJCCRF-UHFFFAOYSA-N 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 7
- 230000010365 information processing Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 4
- 101000885321 Homo sapiens Serine/threonine-protein kinase DCLK1 Proteins 0.000 description 11
- 102100039758 Serine/threonine-protein kinase DCLK1 Human genes 0.000 description 11
- 238000012360 testing method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000004886 process control Methods 0.000 description 3
- ZJPGOXWRFNKIQL-JYJNAYRXSA-N Phe-Pro-Pro Chemical compound C([C@H](N)C(=O)N1[C@@H](CCC1)C(=O)N1[C@@H](CCC1)C(O)=O)C1=CC=CC=C1 ZJPGOXWRFNKIQL-JYJNAYRXSA-N 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 241000483002 Euproctis similis Species 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Description
の情報処理システムの分野に属し、特にかかるシステム
における処理のプロセッサへの動的タスク割当てを保証
するために使用されるメカニズムに関する。
ロセッサに割当てること(通常は“ディスパッチング”
と称される)は、特にトランザクションタイプのアプリ
ケーションにおいては、その用法がシステムパフォーマ
ンスに大きく影響するオペレーションである。パフォー
マンスに及ぼすディスパッチングの影響は、ディスパッ
チングをトリガし得る事象の平均頻度はプロセッサの数
に比例して増大するが故に、システムプロセッサの数が
大きくなると特に変動し易い。ディスパッチングは、実
行される処理の選択に変更を起こし得る任意の事象によ
ってトリガされるオペレーションである。大抵の場合、
かかる事象は、処理間でオペレーションを同期化するこ
とから生じ、処理とは、アプリケーションプログラム、
または入/出力プログラムのようなオペレーティングシ
ステムプログラムを実行するものであり得る。例えばプ
ロセッサの状態の変化、または処理をシステムに導入も
しくはシステムから消去したり処理の1つのプライオリ
ティレベルを変更する特定の命令に関係する他のタイプ
の事象もあり得る。このような事象の出現は、事象及
び、例えば実行される準備が整っている処理のプライオ
リティ順位を考慮するような種々の基準の関数として、
処理をプロセッサに新たに割り当てる決定をまかされた
システムマイクロプログラムを能動化する効果を有す
る。
ィスパッチングは2つのフェーズで行われる。第1の選
択フェーズは、“SELECT”と称される第1のマイ
クロプログラムモジュールの実行に対応し、実行される
べき処理及びその処理を実行するプロセッサの選択を行
なうために与えられる。この選択フェーズには、関係す
るプロセッサに実行されるべき新たな処理を通知する役
割を果たす割込みを送ることが含まれる。アドレス指定
されたプロセッサによってかかる割込みが受信される
と、実質的にその実行が割り込まれた処理の内容を保存
し且つ実行されるべき新たな処理の内容をプロセッサ内
にロードすることからなる実行フェーズが、該プロセッ
サ内でトリガされる。この実行フェーズは、“EXE
C”と称されるマイクロプログラムモジュールを含むプ
ロセッサによる並行処理に対応する。
るシステムの応答時間を向上するためには選択オペレー
ションが分散式に行われ得ることが望ましく、これに
は、システムの全てのプロセッサまたは少なくともその
うちの幾つかが各々が選択オペレーションを実行し得る
ことが必要である。この問題は、1986年5月20日
発行米国特許第4,590,555号(欧州特許B1
30 504号に対応)の課題であり、前記特許は参照
により本明細書の一部を構成するものとする。この特許
は特に、各々が選択オペレーションを実行しようとする
複数のプロセッサ間に起こり得る対立に係わる問題を取
り扱っている。選択オペレーションは、処理及びプロセ
ッサの状態のようなシステム全体で同じ値を有し続けね
ばならないシステムデータを取扱うが故に、このような
対立は無条件に回避されねばならない。このためには特
にロックが与えられる。即ち、先行のディスパッチング
が完全に終了しないうちに他のプロセッサが新たな選択
フェーズを実行しないように、ディスパッチングを実行
しているプロセッサによって能動化及び保持されるイン
ジケータ手段が与えられる。
昭64−6488号公報は、マルチプロッセサシステム
を示している。一般的に、このようなシステムは、プロ
ッセサの数Mよりも大きな数Nのプロセス(処理)を処
理することができる。システムは、常時、NのうちMの
プロセスを処理する。Nのプロセスは、本質的に二つの
クラスに分類できる。K個のプロセス(PR/RDY)
の第1のクラスは、ランすることができ、L個のプロセ
スの第2のクラスは、ランすることだできないものであ
る。ランすることができるK個のプロセス(PR/RD
Y)の内、最大M個のプロセスは、システムのプロセッ
サによってランしており、K−M個のプロセスは、プロ
ッセサを待っている。ランすることができないL個のプ
ロセッサの内には、その時点で条件の充足を要求してい
ない停止されたプロセスと、終了したプロセスと、ラン
を継続するためのリソースを待っているプロセスとがあ
る。図5はポインタ(IQW)によってアクセスされる
待ち行列を示す。ファイルは、K個のプロセス(PR/
RDY)を保持し、ランすることができない第2のクラ
スのプロセスに移行するのを待っている。待ち行列(P
R/RDY)に入る場合には、同一のプライオリティレ
ベルの最後のプロセスの後に、プロセスを挿入する。こ
の待ち行列の最初のM個のプロセスは、より高いプライ
オリティレベルを有し、またより高いプライオリティレ
ベルを有する中では、そのプライオリティレベルにおい
てより古いものである。したがって、プロセッサは、こ
れらのM個のプロセスのそれぞれに割り当てられる。
Y)が起こる度に、図7Aから図8Cのアルゴリズムに
よって、プロッセサが待ち行列の最初のM個のプロセス
(処理)に割り当てられていることが保証される。実
際、ランさせることの緊急度がより高いプロセスがあ
る。それを管理するために、待ち行列が空でない場合に
は、モジュールSELECTが、ポインタ(IQW)の
助けを借りて、ステップ1009さらにステップ101
3において、待ち行列を最初からスキャンする。
プロセッサを系統的にスキャンすることによって、プロ
ッセサへのプロセス(処理)のディスパッチが行われ
る。ディスパッチの度に、少なくともプロッセサの数で
あるMに等しい多数のリンクが参照される。この方法
は、プロッセサの数がそれほど多くない場合には、迅速
に行われる。しかし、プロセッサの数が増加すると、そ
れに比例してプロセッサにプロセスをディスパッチする
のに必要な時間が増大する。システムの性能の低下を防
止するために、提起された問題は、プロッセサの数が増
加しても、なお、短時間でディスパッチを決定すること
である。
セッサの数が増大しても相対的なシステムパフォーマン
スの低下を招くことのないように上述のディスパッチン
グの最適実施例を提案することである。
ステムにおいて実行される種々のタイプのディスパッチ
ングを統計的に分析した。トランザクション型アプリケ
ーションにおいては、この分析によって約75%のケー
スでディスパッチングオペレーションは最終的に、実行
する処理の選択に変更がないか、または単一処理のみの
実行に割込み且つ一般的にはそれを別の処理で置き換え
る結果となることが確認された。従って上記のディスパ
ッチングが頻繁なケースは、処理されるべき最も単純な
ものと推定され、システムの一貫性が全ての環境下で保
存され得るようにこの状況を利用する手段を見いだす必
要があった。
つの資源カテゴリを区別することができる。第1のカテ
ゴリは、一般的には処理キューによって物理的に実現さ
れる、システム内に設定された処理の状態に係わる情報
を含む。処理キューは一般に事象と関係して存在する。
各キューは、その実行が割り込まれて事象または関係メ
ッセージの出現を待っている全ての処理のアイデンティ
ティを含んでいる。一方で、実行中の処理及び実行する
準備の整った処理、即ち使用可能なプロセッサがないた
めに実行され得ない処理を含む少なくとも1つのキュー
が存在する。第2の資源カテゴリは、プロセッサ間の連
絡を可能とする対話手段を含む。かかる手段は通常は、
特に選択オペレーションを実行しているプロセッサが、
アドレス指定されたプロセッサに、実行されるべき新た
な処理を通知できるようにする、メールボックスと称さ
れるデータ交換ゾーンに関係する割込みメカニズムによ
って実現される。ディスパッチングが最も頻繁となる環
境を更に詳細に分析することにより、上記資源のうち、
幾つかのものだけが使用されることが極めて多いことが
確認された。実際、ディスパッチングをトリガし得る事
象が、実行中の処理による事象またはメッセージの通知
からなるならば、2つのケースが起こり得る。第1のケ
ースはその事象を待つ処理のないケースである。事象を
発生したプロセッサは大部分のケースで、事象が発生し
たことを示すためにセマフォタイプのデータ構造を更新
し得る。このプロセッサは、それまでにそれが実行して
いた処理を続けて実行することができ、システムのプロ
セッサに処理をディスパッチングすることにおいて何が
起ころうと変更はない。その場合、セマフォに関係する
データ構造のみが関与する。もう1つのケースは、少な
くとも1つの処理がこの事象を待っているケースであ
る。キュー内の最高プライオリティを有する処理がその
キューから抽出され、レディ状態処理キュー内に挿入さ
れ、この処理は、そのプライオリティレベルに従ってシ
ステムのプロセッサの1つにおいてアクティブな処理と
置き換わることができる。このオペレーションに関与す
る資源は、セマフォに関係するデータ構造及び処理キュ
ー、レディまたはアクティブ状態処理キュー、及び必要
に応じて、待ち状態にあった処理が別のプロセッサにお
いてアクティブ状態だった処理と置き換わらねばならな
いならば、プロセッサ間対話手段である。
の実行を継続し得るために事象が発生したかまたはメッ
セージが存在するか問合せねばならない相補的なケース
を例にとると、ここでも2つのケースに区別される。第
1のケースでは、事象またはメッセージは既に通知され
ており、これは、セマフォに関係するデータ構造をアク
セスすることによりプロセッサによって検証される。処
理はその実行を続けることができる。第2のケースで
は、事象またはメッセージは通知されておらず、処理の
実行は割り込まれねばならない。その場合、レディ状態
処理キュー内の最高プライオリティを有する処理が、プ
ロセッサによってそれまで実行されていた処理にとって
替わる。資源の使用については、第1のケースではセマ
フォに関係するデータ構造のみが関与し、第2のケース
ではレディ状態処理キューも関与する。これとは反対に
対話手段はいずれのケースでも使用されない。
き、処理をプロセッサにディスパッチするオペレーショ
ンは、各々が特定の事象または状況の1つのカテゴリに
対応していて、実際にはディスパッチングオペレーショ
ンに関与し得る資源セットの幾つかしか使用しない複数
のより単純なオペレーションに分割することができる。
増大しても相対的なシステムパフォーマンスの低下を招
くことのないように、ディスパッチングにおける所定の
フェーズを並行処理し得る可能性を増大しようという観
点から上記知見を利用することである。しかしながら、
提案される実施例は機能的に信頼性があり且つ使用が単
純なものであらねばならない。
チングを行うソフトウェアを細分することにより達成さ
れ、この細分は、処理をプロセッサにディスパッチング
する上で同じタイプの変更を起こる事象の1つのカテゴ
リ(分類)またはセットに属する少なくとも1つの専用
モジュール(専用マイクロプログラムモジュール)を定
義するように選択され、これは、同じタイプの資源が使
用されることを意味する。複数のこのタイプのモジュー
ルを与えることにより、システム資源の点で対立する危
険性もなく複数のモジュールが同時に実行される可能性
を増大する結果となる。
ュールによって処理され得ない事象を考慮するための特
別モジュールを与えることも適当である。
サ(CPU)を備えたマルチプロセッサ情報処理システ
ムであって、各プロセッサが、マイクロプログラム化さ
れた手段(CP)を備え、前記マイクロプログラム化さ
れた手段が、前記プロセッサによってその割り込みが検
出された事象に応答して、実行されるプロセスの選択及
びプロセスを実行するプロセッサの選択の変更を行うた
めに、特定の事象の分類に応じて、最低のプライオリテ
ィを有する最後のアクティブ処理にリンクしたポインタ
によって、割り当ての決定を行うための少なくとも一つ
の専用マイクロプログラムモジュール(CHSEL,D
QSEL,EQSEL)と、前記専用マイクロプログラ
ムモジュールによって取り扱われる事象以外の事象に対
して、前記割り当ての決定を行うための中央マイクロプ
ログラムモジュール(CTSEL)とを実行することを
特徴とするマルチプロセッサ情報処理システムを提供す
る。
をよりよく利用するため、本発明の別の特徴において
は、特定事象のカテゴリは、特にマイクロプログラム化
された手段がプロセッサに処理を割り当てる間に起こる
確率が最も高い事象を含む。
の別の特徴においては、特定事象の各カテゴリは、実行
される処理及び該処理を実行するプロセッサの選択を単
に変更するだけである事象を含む。
され得る処理の状態が、事象待ち処理キューまたはレデ
ィ状態処理キュー、即ちプロセッサ内で動作可能なもし
くはプロセッサ待ち中の処理キュー内に記憶されている
ならば、事象のカテゴリが、レディ状態処理キューにお
いてそれぞれ単一処理JPの追加、抹消または移動を惹
起し得る事象を含む、前記システムの特定の実施例をも
提供する。
して且つ全ての環境下でディスパッチングを実行するよ
うに設計することができる。しかしながらそれには、モ
ジュールをより複雑にしたりマイクロプログラムのメモ
リサイズを増大する必要がある。この欠点を解消するた
め本発明の変形例によれば、好ましくは複数のプロセッ
サにおける同時ディスパッチングオペレーション間に対
立が存在するような例外的複合状況に対応する、所定の
ケース外での選択オペレーションを完全に実行するよう
に各専用モジュールは与えられている。各専用モジュー
ルは、上記ケースを検出して中央モジュールを呼び出す
ように与えられている。従って中央モジュールは、専用
モジュールによって処理されない上記全ての例外的ケー
スを統括的に処理するように設計されている。
ステムは、実行されるべき新たな処理NJPのアイデン
ティティを他のプロセッサに通知するリクエストを発信
するために、プロセッサのマイクロプログラム手段によ
って適宜使用される処理間対話手段を含んでいる。一方
でかかる対話手段は、一度にただ1つのプロセッサのみ
がリクエストを発信することを保証するためにマイクロ
プログラム手段によって使用される第1の対話ロックを
備えている。最後に各専用モジュールは、該専用モジュ
ールの実行が対話を含む一方、前記ロックがかけられて
いる場合には、その実行を停止し且つ中央モジュールを
呼び出すように設計されている。
おいて詳述する。
ムの中央サブシステムと称されるものを構成している。
これは、相互に並びに中央メモリMU及び入/出力装置
IOUと通信し得るようにシステムバスSBに接続され
ている複数のプロセッサCPU,CPUiで構成されて
いる。入/出力装置IOUによって中央サブシステムは
周辺サブシステム(図示なし)と通信することができ
る。
びバスSBのコントローラの両方の役割を果たすインタ
ーフェース回路SCUを介してシステムバスSBに接続
されている複数のメモリモジュールまたはカードによっ
て実現することができる。通常の方法ではバスSBは、
データバスDTS、アドレスバスADS及びコマンド及
びコントロールラインCDSによって構成される。
プログラム処理手段CPと、システムバスSBとのイン
ターフェースとして作用するキャッシュメモリCAとを
含んでいる。キャッシュメモリCAは、データバスDT
Sに接続されたメモリ回路DATと、アドレスバスAD
S及びコントロールラインCDSに接続されたコントロ
ーラDIRとで構成されている。処理手段CPは、それ
ぞれ特定機能に割り当てられた複数の機能ユニットEA
D、BDP、FPPを含んでいる。特にユニットEAD
は、アドレスラインADを介してコントローラDIRに
接続されているアドレス指定ユニットである。ユニット
EAD、BDP、FPPは内部データバスDTを介して
メモリ回路DATにも、また内部コマンド及びコントロ
ールラインCDを介してコントローラDIRにも接続さ
れている。
インADR及びコントロールラインCDRを介してメモ
リ回路DATの読取り及び書込みオペレーションを制御
する。更にコントローラDIRは、中央メモリMUとメ
モリ回路DATとの間のデータ転送を行なうために、中
央メモリMUの読取り及び書込みオペレーションをも制
御する。最後に、図示した実施例においてはコントロー
ラDIRは更に、プロセッサCPUと他のプロセッサC
PUiとの間または入/出力装置IOUとのメッセージ
交換(例えばリクエスト及び肯定応答)の目的を果たす
インターフェース回路をも含んでいる。
施例は、“Processeura plusieur
s unites de traitement mi
crogramees”〔Processor wit
h a Plurality of Micropro
grammed Processing Units〕
の標題で1991年6月26日公開の欧州特許出願公開
第434 483号に記載されている。
Ui間の対話を可能とする手段は、“Procede
de dialogue entre les pro
cesseurs d’un systeme,sys
teme pour samise en ouvre
et utilization pour lare
partition des processus a
ux processeurs”〔Methods f
or Dialog Among theProces
sors of a System,System f
or Employing it,and Use f
or DispatchingProcesses t
o Processors〕の標題で1990年6月5
日出願の仏国特許出願第90.06948号に従って実
現することができる。
照により本明細書の一部を構成するものとする上記2つ
の特許出願を参照することが適当である。
ロソフトウェアの一部である特定のマイクロプログラム
手段によって実施することができる。かかるマイクロプ
ログラムは、システムによって考慮され得る事象を表わ
す所定数のインジケータの関数として、実行されるべき
モジュールを選択する役割を果たす“割込みマネージ
ャ”と称されるマイクロソフトウェアモジュールと協働
するように与えられている。本発明の実施を可能とする
特定のマイクロプログラムを図8〜図11と合わせて説
明するが、まず最初にかかるマイクロプログラムによっ
て操作されるシステム資源について特定の説明を行な
う。
係する“処理制御ブロック”PCBとして公知のデータ
構造を示す。このブロックは、処理に係わると共にシス
テムにとって有効な全ての情報を含む所定数の32ビッ
トワードによって構成されているメモリゾーンである。
図には本発明を実施するのに係わる情報のみを示してあ
る。この情報のなかでワードPMW0内には、処理のプ
ライオリテイレベルを表わすフィールドPRIと処理の
状態を示すフィールドSTATEとが認められる。この
フィールドSTATEがとる値は特に、処理がアクティ
ブであるのか、またはレディ状態で空きプロセッサを待
っているのか、または事象を待っているのかを示す。処
理がセマフォに関係する事象を待っているときにはワー
ドPMW2はセマフォのアドレスに割り当てられる。ワ
ードPMW3のフィールドCPSMは、その2進分布
が、処理を実行するよう許可されたシステムプロセッサ
を規定しているマスクである。“ゾーンレジスタ”と称
されるワード群は、処理の内容、即ちその実行が割り込
まれる直前に最後に処理を実行したプロセッサのレジス
タの内容を保存する役割を果たす。
称され、送り側のプロセッサとそのブロックに関係する
受け側のプロセッサとの間の情報交換のためのメールボ
ックスとして作用する、各プロセッサに関係するメモリ
ゾーンを示す。
むフィールドCPNと、プロセッサ状態を示すフィール
ドCPSと、該プロセッサ内で実行されている処理の数
を含むフィールドCJPと、レディ状態処理キューQ/
PR/RDY内のこの処理のリンクのアドレスを表わす
フィールドCPLDと、プロセッサが実行する予定の新
たな処理の番号を示すフィールドNJPと、その処理の
リンクのアドレスを示すフィールドNPLDとを含んで
いる。
用し且つその論理状態が、メールボックスが占有されて
いるか否かを知らせるディジタルインジケータDCLK
をも含んでいる。
する。かかるエレメントの全ては既に、前出の米国特許
第4,590,555号及び“semaphore d
evice for computer”の標題の19
83年7月26日発行米国特許第4,395,797号
に詳細に説明されている。ここでは、本発明に関与する
不可欠なエレメントのみを簡単に想起する。
ゴリ、即ちレディ状態処理キューQ/PR/RDYと事
象待ち処理キューとは区別される。これらのキューは、
“リンク”として公知のデータ構造セットによって物理
的に実現され、各リンクは1つの特定の処理と関係す
る。
ォーマット例を示す。このリンクは32ビットワードで
構成されており、下記の意味を有する複数のフィールド
を含んでいる: −NLは、キュー内の次のリンクのアドレスを表わすポ
インタであり、 −JPは、該リンクに関係する処理のアイデンティティ
であり、 −Rは、関係する処理の状態を表わすビットであり、 −Dは、ディスパッチングの実行を容易にするためのロ
ックDCLKのコピーである補助ビットであり、 −TENは、処理を実行しているプロセッサまたは最後
に処理を実行したプロセッサのアイデンティティであ
り、 −PRIは、処理のプライオリティレベルに対応する。
リンク、即ちキュー内の最も古い処理に関係するリンク
のアドレスを表わすポインタによって行なうことができ
る。リンクがキューから消去されると、ポインタは、こ
のリンクのフィールドNL内に含まれる値を取る。リン
クが加えられると、最後のリンクのフィールドNLは、
この新たなリンクのアドレスに対応する値を取る。
によれば、レディでアクティブな処理とレディで非アク
ティブな処理とを合わせた単一キューQ/PR/RDY
が与えられる。ビットRの論理値によって、処理がアク
ティブである(R=1)かそうでない(R=0)かが区
別され得る。
4に示したフォーマットを有するキューが使用される。
各キューQ/PR/Sは“セマフォ”として公知のデー
タ構造に関係しており、各セマフォは特定のタイプの事
象と関係している。
ッセージリンクによって物理的に実現されるメッセージ
キューQ/M/Sと関係するようにもできる。
す。
数のフィールドを含む2つの32ビットワードで形成さ
れている: −STAGは、メッセージキューに関係し得るか否かに
従うセマフォのタイプを示しており、 −SMCは、関係キューが含み得る処理またはメッセー
ジの最大数を示しており、 −SCTは、その絶対値がキュー内に含まれる処理また
はメッセージの数を示し且つその符号が処理であるかメ
ッセージであるかを示す代数的な値であり、 −PQHP/MQHPは、キュー内の最初の処理または
メッセージリンクのアドレスを表わすポインタであり、 −MQTPは、キュー内の最後の処理またはメッセージ
リンクのアドレスを表わすポインタである。
6に示す。メッセージリンクMLは下記の意味を有する
複数のフィールドを含んでいる: −NLは、次のメッセージリンクのアドレスを示すポイ
ンタであり、 −SENDERは、メッセージの送り手である処理のア
イデンティティであり、 −MPLは、メッセージのプライオリティレベルに対応
しており、 −MTAGは、メッセージのタイプを規定するインジケ
ータであり、 −MESSAGEは、メッセージ自体のために確保され
ているゾーンである。
は空きメッセージリンクキューの管理を可能にする特定
のセマフォ及び空き処理リンクキューを管理するセマフ
ォもある。
を同期化するためにセマフォがどのように使用されるか
を記述している。従って、ここではかかるオペレーショ
ンを詳細に記述することはしないが、それらは、最初は
ゼロであるセマフォのカウンタSCTをそれぞれ増分ま
たは減分する効果を有するPまたはVタイプ命令によっ
て行われる。正のSCTカウントは、少なくとも1つの
処理がセマフォに関係する事象またはメッセージを通知
したことを意味する。これとは反対に負のSCTカウン
トは、少なくとも1つの処理がセマフォと関係する事象
またはメッセージを待っていることを意味する。本発明
においてP及びV命令がどのように処理されるかを、図
8〜図11を参照して後述する。
な全てのデータをまとめる“システム制御ブロック”S
CBと称される異なるデータ構造を示す。特にSCB
は、ディスパッチングオペレーション時点で使用される
特定のフィールドを含んでいる。それらのフィールドは
下記の意味を有する: −RDYLKは、レディ状態処理キューQ/PR/RD
Yと関係するロックであり、 −CSTは、特定のプロセッサによって実行される予定
のシステム内に設定された処理の数を示す条件カウンタ
の値を含んでおり、 −MPDLは、プロセッサ間の対話に対するロックであ
り、 −SEMLKはそれぞれセマフォまたはセマフォ群に関
係するロック群であり、 −VLD−CPU−MSKは、そのディジタル分布によ
ってシステムの有効プロセッサを決定し得るマスクであ
り、 −IDLE−CPU−MSKは、そのディジタル分布に
よってシステム内の非アクティブプロセッサを決定し得
るマスクである。
に対するP及びVタイプ命令において本発明をどのよう
に実施し得るかを示す。
Uによって実行されたPタイプ命令によってトリガされ
るオペレーションを示す。プロセッサにおけるP命令の
出現とは、この命令を含む処理は、特定のセマフォに関
係する事象が発生したかまたはメッセージが送られてき
たかどうかを検証しないと、その実行を続行できないと
いうことを想起されたい。命令Pを実行することは、次
に説明する対応のマイクロプログラムを実行することで
ある。。
セマフォと関係するロックSEMLKの“TEST A
ND SET”オペレーションである。これ自体は公知
のオペレーションは、システム制御ブロックSCB内に
含まれているロックSEMLKをアクセスすることから
なる。ロックが解除されているならば(SEMLK=
0)、ロックを占有状態にし(SEMLK:=1)、マ
イクロプログラムを続行する。これとは反対にロックが
かけられていれば(SEMLK=1)、マイクロプログ
ラムは、ロックが解除されるまでスタンバイを続ける。
セスし、その内容を分析し、それを更新する処理を行な
うことからなるが、更新処理は特にカウントSCTを1
単位だけ減分することからなる。カウントSCTが正で
あったならば、これは、処理によって要求された事象ま
たはメッセージが既に通知されたことを意味している。
その場合にはステップ3においてロックSEMLKが解
除され(SEMLK:=0)、処理の次の命令を通常に
実行することができる。セマフォがメッセージを含むタ
イプのものであるならば、セマフォの更新は、1つのメ
ッセージリンクをメッセージキューから取り出すことか
らなることに留意されたい。更に、メッセージの内容は
プロセッサの作業用レジスタ内にロードされる。特定の
ケースでは、オペレーションは空きメッセージリンク待
ち処理の解放を行なうことができ、この場合にはマイク
ロプログラムは、この状況を取り扱う専用モジュールを
呼び出す。
らば、処理の実行は割込まれねばならない。ステップ4
においてロックRDYLKのTEST AND SET
オペレーションが行われ、次いでステップ5において、
実行中の処理リンクCJPがQ/PR/RDYからセマ
フォSEM関係キューQ/PR/Sに移される。ステッ
プ6においてロックSEMLKは解除され、次いでステ
ップ7においてブロックSCBのフィールドCSTがテ
ストされる。もしCSTがゼロではないならば、これ
は、条件付き処理が存在することを意味する。そうする
とマイクロプログラムは、ステップ8においてロックR
DYLKを解除した後に中央モジュールCTSELに飛
ぶ。モジュールCTSELは、前出の仏国特許出願第9
0.06948号に従って実現することができる。
クロプログラムは、レディ状態処理キューQ/PR/R
DYから処理を取り出すケースでは新たな処理NJPを
選択するため、専用モジュールDQSELを呼び出す。
から開始され、ステップ9は、レディ状態処理キューQ
/PR/RDYをアクセスし且つそれを分析する処理を
行なう。この分析は実質的に、キューQ/PR/RDY
(空ではないと仮定する)内のレディ状態処理NJPの
うちアクティブ状態に変更されねばならないものを選択
することからなる。次いでステップ10においてロック
RDYLKは解除される。
ているプロセッサのプロセッサ制御ブロックCPCB内
に含まれているメールボックスロックDCLKをテスト
することからなる。ロックDCLKがかけられているな
らば(DCLK=1)、これは、プロセッサ間の対話が
既に進行中であり、結果的にディスパッチングにおける
対立が存在していることを意味する。そうするとマイク
ロプログラムは中央モジュールCTSELを呼び出す。
ていれば(DCLK=0)、マイクロプログラムはステ
ップ12おいてこのロックをかけ(DCLK:=1)、
処理NJPに関係するリンクのビットDを1にする。次
いでステップ13が続き、選択された処理NJPの番号
がブロックCPCBの対応するフィールド内に登録され
る。ステップ13はモジュールEXECを呼び出し、次
にこれを図9を参照して説明する。
ECを実行する任意のいずれかのプロセッサCPUiの
一般的ケースを示す。このモジュールは、プロセッサC
PUによって実行されるオペレーションDQSELによ
って呼び出されたときには、同じプロセッサによって実
行される、即ちCPUi=CPUであることが理解され
る。
いて、実行されるべき処理NJPの番号を考慮するため
にプロセッサCPUiのプロセッサ制御ブロックCPC
Bをアクセスすることから開始する。次いでステップ1
5において、CPUiにおいて進行中の処理CPJの内
容を保存するために、この処理の処理制御ブロックPC
Bをアクセスする。次にステップ16において、ロック
RDYLKのTESTAND SETオペレーションを
実行し、次いでステップ17において、キューQ/PR
/RDYをアクセスしてそれを更新する。この更新は、
処理リンクCJPのビットRをゼロにセットすることか
らなる。更に、フィールドSTATEを“レディ、非ア
クティブ状態”にセットするためにCJPのブロックP
CBをアクセスする。次いでステップ18においてロッ
クRDYLKが解除される。ステップ19においては、
選択された処理NJPの処理制御ブロックPCBがアク
セスされ、この処理の内容がプロセッサのレジスタ内に
ロードされる。ステップ20において、プロセッサCP
UiのブロックCPCBがアクセスされ、そのロックD
CLKiが解除される。ロックRDYLKのTEST
AND SETオペレーションがステップ21において
再び実行され、次いでステップ22において、フィール
ドTENを更新し且つ処理リンクNJPのビットR及び
Dをそれぞれ1及び0にセットするために、キューQ/
PR/RDYが再びアクセスされる。更に、NJPのブ
ロックPCBのフィールドSTATEが“アクティブ”
状態にされる。このオペレーションの後、ステップ23
においてロックRDYLKは再び解除される。
ーションを図10のフローチャートに示す。V命令は、
P命令に相補的な命令である。これは、この命令を含む
処理が事象またはメッセージを特定のセマフォに通知す
ることを意味する。
ムはステップ24において、命令Vにおいて識別された
セマフォSEMと関係するロックSEMLKにおけるT
EST AND SETオペレーションから開始する。
ステップ25は、セマフォをアクセスし、その内容を分
析し、それを更新することからなり、更新は特に、カウ
ントSCTを1単位だけ増分することからなる。カウン
トSCTが正またはゼロであったならば、これは、命令
Vによって通知された事象またはメッセージを待ってい
る処理はないこと意味する。その場合にはステップ26
においてロックSEMLKが解除され、処理の次の命令
が正常に実行され得る。セマフォがメッセージを含むタ
イプのものであるならば、セマフォの更新は更に、メッ
セージリンクをメッセージキューに加えることからな
る。もはや空きメッセージリンクがない特定のケースに
おいては、マイクロプログラムは、この状況を取扱うた
めに専用モジュールを呼び出す。
は、少なくとも1つの処理がセマフォに関係するキュー
Q/PR/S内の事象またはメッセージを待っているこ
とを意味する。次いでステップ27において、キューQ
/PR/Sから取り出され且つレディ状態処理キューQ
/PR/RDYに入れられねばならない処理NJPを選
択するためにこのキューが分析される。このために、ス
テップ28においてロックRDYLKにおけるTEST
AND SETオペレーションが実行され、次いでス
テップ29において、選択された処理リンクNJPがキ
ューQ/PR/SからキューQ/PR/RDYにシフト
される。次いでステップ30においてロックSEMLK
は解除される。
Tがテストされる。CSTがゼロでないならば、マイク
ロプログラムは中央モジュールCTSELにジャンプす
る。これとは反対にカウンタCSTがゼロであるなら
ば、マイクロプログラムは、処理をレディ状態処理キュ
ーQ/PR/RDYに加える状況を取扱うために専用モ
ジュールEQSELを呼び出す。
3において、新たな処理NJPがアクティブになる必要
があるか判断し、もしそうならば、プロセッサCPU,
CPUiのうちのどれがそれを実行すべきかを選択する
ために、レディ状態処理キューQ/PR/RDYをアク
セスする処理を行なう。このオペレーションは、ポイン
タが最低プライオリティを有する最後のアクティブ処理
のリンクにあるならば極めて単純なものとなり得る。そ
の場合には、NJPのプライオリティレベルとポインタ
によって示されている処理のそれとを比較すれば十分で
ある。NJPが同じかまたはより低いプライオリティを
有するならば、それは選択されない。これとは反対にN
JPがより高いプライオリティを有するならば、NJP
はこの処理に置き換わらねばならず、この処理のリンク
のフィールドTENによって問題のプロセッサが示され
る。
ペレーションはステップ34においてロックRDYLK
を解除して終了する。
らば、システムのプロセッサCPU,CPUiの1つ
は、進行中の処理を選択された処理NJPと置き換える
ために、その実行に割込む必要がある。選択されたプロ
セッサが、モジュールEQSELを実行しているプロセ
ッサCPUであったならば、そのときはステップ35に
おいてロックRDYLKを解除してオペレーションは続
行され、次いでステップ36においてプロセッサCPU
のメールボックスのロックDCLKがテストされる。ロ
ックがかけられているならば、マイクロプログラムは中
央モジュールCTSELにジャンプする。これとは反対
にロックDCLKが解除されているならば、ステップ3
7においてマイクロプログラムはこのロックをかけ、ス
テップ38において、選択された処理NJPの番号をプ
ロセッサCPUのブロックCPCBの対応するフィール
ド内に登録する処理に進む。ステップ38は、図9を参
照して説明されるモジュールEXECを呼び出して終了
する。
て別のプロセッサCPUiが選択されたならば、ステッ
プ39においてロックRDYLKは解除され、マイクロ
プログラムは図11に示したオペレーションAを続け
る。
のテストを実行する。このロックがかけられているなら
ば、マイクロプログラムは中央モジュールCTSELに
ジャンプする。これとは反対にMPDLが解除されてい
るならば、ステップ41においてマイクロプログラムは
このロックをかける。次にステップ42において、マイ
クロプログラムは、選択されたプロセッサCPUiのメ
ールボックスロックDCLKiをテストする。ロックD
CLKiがかけられているならば、マイクロプログラム
はステップ43においてMPDLを解除した後に、中央
モジュールCTSELにジャンプする。これとは反対に
DCLKiが解除されているならば、マイクロプログラ
ムはステップ44においてロックをかける。次いでステ
ップ45へ進み、選択された処理NJPの番号を、選択
されたプロセッサCPUiのブロックCPCBの対応す
るフィールド内に登録する。
において、割込みEXECiをプロセッサCPUiに送
ることによりプロセッサ間の対話手段を使用する。次に
ステップ47においてマイクロプログラムは、プロセッ
サCPUiによって送られるべき肯定応答を待つ状態に
入る。一旦この肯定応答を受け取ると、ステップ48に
おいて対話ロックMPDLは解除され、これでオペレー
ションは終了する。そうするとプロセッサは、それに割
り当てられた処理の実行を継続することができる。
プロセッサCPUiに送られると、このプロセッサにお
いて割込みマネージャが能動化され、割込みマネージャ
は図9を参照して既に説明したモジュールEXECを呼
び出す。従って、メールボックスロックDCLKiが解
除されるのは、ステップ20においてこのモジュールが
実行されている間だけである。
おけるこの同じプロセッサによるモジュールEXECの
呼び出し(図8のステップ13及び図10のステップ3
8)が、プロセッサがそれ自体にメッセージを通知し得
る前出の仏国特許出願第90.06948号に記載の汎
用割込み機構によって行われるようになっていることで
ある。このような場合には、対話ロックMPDLは関与
しないことが理解される。
は、ブロックSCBのフィールドCSTが対立インジケ
ータを含むようにすることができ、この対立インジケー
タは、ロックDCLK及びMPDLのテスト(ステップ
11、37、40)の際に対立が検出されるごとに0で
ない状態におかれる。即ち、CSTのテスト(ステップ
7、31)によって、ディスパッチングオペレーション
間のいかなる対立の存在も極めて迅速に認識される。
びVの詳細な説明は、ディスパッチングの分散実行を可
能するため専用モジュールEQSEL及びDQSELを
中央モジュールCTSELとどのように協働させて使用
して、並行処理の可能性を増大するかを示している。特
に、複数のプロセッサが異なるディスパッチングオペレ
ーションの所定のフェーズを同時に実行でき、唯一の制
約条件は、所定の共有資源(セマフォ,キューQ/PR
/RDY、対話機構、メールボックス)への同時アクセ
スが禁止されていることであることに留意されたい。か
かる禁止は、かかる資源に関係するロックによって極め
て単純に保証され、従ってシステムの保全性を保証す
る。
SELは、命令P及びV以外の命令にも応答して介在し
得る。これは特に、その機能は新たな処理をシステムに
導入することである命令STARTにも当てはまる。
の内容に応じて選択される他の専用モジュールを備える
こともできる。例えば、命令が処理リンクのキューQ/
PR/RDYへのシフトを指示するケースに対してはモ
ジュールCHSELを備えることができる。これは例え
ば、それを含む処理のプライオリティレベルを変更する
命令CHOPや、処理の実行権を与える結果となる命令
RLQにも当てはまる。
ラムは、前述のモジュールEQSEL及びDQSELの
詳細な説明を利用することにより実現することができ
る。当業者はこれらを独自に実現し得るであろうし、更
なる説明は必要ないであろう。
央サブシステムを示す。
処理制御ブロックのフォーマットを示す。
す。
ォーマットを示す。
る役割を果たすメッセージリンクのフォーマットを示
す。
れるシステムデータを含むシステム制御ブロックのフォ
ーマットを示す。
チャートである。
である。
ローチャートを示す。
ローチャートの続きを示す。
Claims (9)
- 【請求項1】 複数のプロセッサ(CPU)を備えたマ
ルチプロセッサ情報処理システムであって、各プロセッサが、マイクロプログラム化された手段(C
P)を備え、 前記マイクロプログラム化された手段が、
前記プロセッサによってその割り込みが検出された事象
に応答して、実行されるプロセスの選択及びプロセスを
実行するプロセッサの選択の変更を行うために、特定の
事象の分類に応じて、最低のプライオリティを有する最
後のアクティブ処理にリンクしたポインタによって、割
り当ての決定を行うための少なくとも一つの専用マイク
ロプログラムモジュール(CHSEL,DQSEL,E
QSEL)と、前記専用マイクロプログラムモジュール
によって取り扱われる事象以外の事象に対して、前記割
り当ての決定を行うための中央マイクロプログラムモジ
ュール(CTSEL)とを実行することを特徴とするマ
ルチプロセッサ情報処理システム。 - 【請求項2】 特定の事象の前記分類の各々が、前記マ
イクロプログラム化された手段が前記プロセッサに処理
を割り当てる間に起こる確率が最も高い事象を含むこと
を特徴とする請求項1に記載のシステム。 - 【請求項3】 特定事象の前記分類の各々が、実行され
る処理及び前記処理を実行するプロセッサの選択を単に
変更するだけである事象を含むことを特徴とする請求項
1又は請求項2に記載のシステム。 - 【請求項4】 システムで実行され得る処理(JP)の
アイデンティティが、事象待ちの処理の待ち行列(Q/
PR/S)又は少なくとも一つのレディ状態の処理の待
ち行列(キュー)(Q/PR/RDY)内に記憶されて
おり、事象待ちの処理とは、プロセッサにおいて動作可
能な処理であり、レディ状態の処理とは、プロセッサを
待っている処理であって、前記待ち行列がリンクとして
知られるデータ構造によって実現されている場合に、特
定事象の前記分類の各々が、レディ状態の処理の待ち行
列における単一の処理をそれぞれ追加したり、削除した
り、移動したりする事象を含むことを特徴とする請求項
3に記載のシステム。 - 【請求項5】 前記レディ状態の処理の待ち行列が、一
度にただ一つのプロセッサのみが前記レディ状態の待ち
行列の状態を変更することができることを保証するため
に、前記マイクロプログラム化された手段によって使用
されるロック(RDYLK)を備えていることを特徴と
する請求項4に記載のシステム。 - 【請求項6】 前記事象待ちの処理の待ち行列が、一度
にただ一つのプロセッサのみが前記事象待ち状態の処理
の待ち行列の状態を変更し得ることを保証するために、
前記マイクロプログラム化された手段によって使用され
る少なくとも一つのロック(SEMLK)を備えている
ことを特徴とする請求項4又は請求項5に記載のシステ
ム。 - 【請求項7】 実行されるべき新たな処理(NJP)の
アイデンティティを他のプロセッサ(CPUi)に通知
するリクエスト(EXECi)を発信するために、前記
マイクロプログラム化された手段によって使用される処
理間の対話手段を含んでおり、前記対話手段が、割り当
ての実行中に、一度にただ一つのプロセッサのみが前記
リクエストを発信することを保証するために、前記マイ
クロプログラム化された手段によって使用される第1の
対話ロック(MPDL)を備えており、前記専用マイク
ロプログラムモジュールの実行が対話を行い、前記対話
ロックがかけられている場合には、各専用マイクロプロ
グラムモジュールがその実行を停止し且つ前記中央マイ
クロプログラムモジュールを呼び出すように設計されて
いることを特徴とする請求項1から請求項6のいずれか
一項に記載のシステム。 - 【請求項8】 前記対話手段が、各プロセッサに前記リ
クエスト(EXECi)を送信するために、前記マイク
ロプログラム化された手段によって使用されるメイルボ
ックス(CPCB)を含んでおり、前記メイルボックス
の各々が、割り当ての実行中に、リクエストを発信した
プロセッサにより占有状態にされ且つプロセッサに申し
込まれたリクエスト実行後に解除されるロック(DCL
K)を備えており、前記専用マイクロプログラムモジュ
ールの実行がリクエストをプロセッサに送り、そのメイ
ルボックスのロックがかけられている場合には、各専用
マイクロプログラムモジュールがその実行を停止し且つ
前記中央マイクロプログラムモジュールを呼び出すよう
に設計されていることを特徴とする請求項7に記載のシ
ステム。 - 【請求項9】 制約条件のある処理、即ちその実行があ
る特定のプロセッサによって行われるべき処理がシステ
ム内に存在するかどうかを、その状態が示している、予
め定められた条件インジケータ(CST)を含んでお
り、前記マイクロプログラム化された手段が、前記イン
ジケータが制約条件の存在を知らせているときには、処
理のプロセッサへの割当が前記中央マイクロプログラム
モジュールによって行われるように設計されていること
を特徴とする請求項1から請求項8のいずれか一項に記
載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9113431A FR2683344B1 (fr) | 1991-10-30 | 1991-10-30 | Systeme multiprocesseur avec moyens microprogrammes pour la repartition des processus aux processeurs. |
FR9113431 | 1991-10-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05250337A JPH05250337A (ja) | 1993-09-28 |
JP2690435B2 true JP2690435B2 (ja) | 1997-12-10 |
Family
ID=9418483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4292966A Expired - Lifetime JP2690435B2 (ja) | 1991-10-30 | 1992-10-30 | 処理をプロセッサにディスパッチするためのマイクロプログラム手段を有するマルチプロセッサシステム |
Country Status (5)
Country | Link |
---|---|
US (1) | US5745757A (ja) |
EP (1) | EP0540383B1 (ja) |
JP (1) | JP2690435B2 (ja) |
DE (1) | DE69231201T2 (ja) |
FR (1) | FR2683344B1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5946487A (en) * | 1996-06-10 | 1999-08-31 | Lsi Logic Corporation | Object-oriented multi-media architecture |
JP3780732B2 (ja) | 1999-03-10 | 2006-05-31 | 株式会社日立製作所 | 分散制御システム |
US6539542B1 (en) * | 1999-10-20 | 2003-03-25 | Verizon Corporate Services Group Inc. | System and method for automatically optimizing heterogenous multiprocessor software performance |
US6898650B1 (en) * | 2000-08-10 | 2005-05-24 | Novell, Inc. | Queueing method supporting multiple client accesses simultaneously |
US7203782B1 (en) | 2000-04-12 | 2007-04-10 | Novell, Inc. | Queueing method supporting multiple client accesses simultaneously |
US6782410B1 (en) * | 2000-08-28 | 2004-08-24 | Ncr Corporation | Method for managing user and server applications in a multiprocessor computer system |
US7254812B1 (en) * | 2002-05-31 | 2007-08-07 | Advanced Micro Devices, Inc. | Multi-processor task scheduling |
US7856618B2 (en) | 2005-08-04 | 2010-12-21 | International Business Machines Corporation | Adaptively generating code for a computer program |
US20070033592A1 (en) * | 2005-08-04 | 2007-02-08 | International Business Machines Corporation | Method, apparatus, and computer program product for adaptive process dispatch in a computer system having a plurality of processors |
US9268611B2 (en) * | 2010-09-25 | 2016-02-23 | Intel Corporation | Application scheduling in heterogeneous multiprocessor computing platform based on a ratio of predicted performance of processor cores |
US8938796B2 (en) | 2012-09-20 | 2015-01-20 | Paul Case, SR. | Case secure computer architecture |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4286322A (en) * | 1979-07-03 | 1981-08-25 | International Business Machines Corporation | Task handling apparatus |
FR2471631B1 (fr) * | 1979-12-11 | 1986-02-21 | Cii Honeywell Bull | Dispositif de synchronisation et d'affectation de processus entre plusieurs processeurs dans un systeme de traitement de l'information |
US4318173A (en) * | 1980-02-05 | 1982-03-02 | The Bendix Corporation | Scheduler for a multiple computer system |
US4394727A (en) * | 1981-05-04 | 1983-07-19 | International Business Machines Corporation | Multi-processor task dispatching apparatus |
US4590550A (en) * | 1983-06-29 | 1986-05-20 | International Business Machines Corporation | Internally distributed monitoring system |
US4914570A (en) * | 1986-09-15 | 1990-04-03 | Counterpoint Computers, Inc. | Process distribution and sharing system for multiple processor computer system |
JPS646488A (en) * | 1987-12-28 | 1989-01-11 | Shinko Arufuretsushiyu Kk | Method of executing remodelled window frame |
US4965716A (en) * | 1988-03-11 | 1990-10-23 | International Business Machines Corporation | Fast access priority queue for managing multiple messages at a communications node or managing multiple programs in a multiprogrammed data processor |
EP0403229A1 (en) * | 1989-06-13 | 1990-12-19 | Digital Equipment Corporation | Method and apparatus for scheduling tasks in repeated iterations in a digital data processing system having multiple processors |
JP2875284B2 (ja) * | 1989-06-23 | 1999-03-31 | 株式会社日立製作所 | 計算機システム及びその課金処理方法 |
US5179702A (en) * | 1989-12-29 | 1993-01-12 | Supercomputer Systems Limited Partnership | System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling |
US5452452A (en) * | 1990-06-11 | 1995-09-19 | Cray Research, Inc. | System having integrated dispatcher for self scheduling processors to execute multiple types of processes |
-
1991
- 1991-10-30 FR FR9113431A patent/FR2683344B1/fr not_active Expired - Fee Related
-
1992
- 1992-10-12 EP EP92402784A patent/EP0540383B1/fr not_active Expired - Lifetime
- 1992-10-12 DE DE69231201T patent/DE69231201T2/de not_active Expired - Fee Related
- 1992-10-30 JP JP4292966A patent/JP2690435B2/ja not_active Expired - Lifetime
-
1995
- 1995-05-15 US US08/441,648 patent/US5745757A/en not_active Expired - Lifetime
Non-Patent Citations (3)
Title |
---|
「ADAPTIVE,RELIABLE SOFTWARE FOR DISTRIBUTED AND PARALLEL REAL−TIME SYSTEMS」 |
6TH SYMPOSIUM ON RELIABILITY IN DISTRIBUTED SOFTWARE AND DATABASE SYSTEMS 17 MARS 1987 PAGES32−42 |
KARSTEN SCHWAN,THOMAS E.BIHARI,BEN A.BLAKE |
Also Published As
Publication number | Publication date |
---|---|
EP0540383A1 (fr) | 1993-05-05 |
DE69231201T2 (de) | 2001-03-01 |
US5745757A (en) | 1998-04-28 |
FR2683344B1 (fr) | 1996-09-20 |
EP0540383B1 (fr) | 2000-06-28 |
DE69231201D1 (de) | 2000-08-03 |
FR2683344A1 (fr) | 1993-05-07 |
JPH05250337A (ja) | 1993-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5448732A (en) | Multiprocessor system and process synchronization method therefor | |
US4123795A (en) | Control system for a stored program multiprocessor computer | |
US4387427A (en) | Hardware scheduler/dispatcher for data processing system | |
US5333319A (en) | Virtual storage data processor with enhanced dispatching priority allocation of CPU resources | |
US5010482A (en) | Multi-event mechanism for queuing happened events for a large data processing system | |
US4796178A (en) | Special purpose processor for off-loading many operating system functions in a large data processing system | |
US5748959A (en) | Method of conducting asynchronous distributed collective operations | |
CN107577539B (zh) | 用于内核态和用户态通讯的共享内存结构及其应用 | |
US20150254113A1 (en) | Lock Spin Wait Operation for Multi-Threaded Applications in a Multi-Core Computing Environment | |
JP2690435B2 (ja) | 処理をプロセッサにディスパッチするためのマイクロプログラム手段を有するマルチプロセッサシステム | |
US4418385A (en) | Method and device for arbitration of access conflicts between an asynchronous trap and a program in a critical section | |
AU603876B2 (en) | Multiple i/o bus virtual broadcast of programmed i/o instructions | |
US11301297B2 (en) | Processing system for dispatching tasks and memory access method thereof | |
EP1693743A2 (en) | System, method and medium for using and/or providing operating system information to acquire a hybrid user/operating system lock | |
CA1299758C (en) | Task scheduling mechanism for large data processing systems | |
WO2023241307A1 (zh) | 管理线程的方法及装置 | |
EP3702911A2 (en) | Hardware for supporting os driven load anticipation based on variable sized load units | |
CN111831408A (zh) | 异步任务处理方法、装置、电子设备及介质 | |
US8689230B2 (en) | Determination of running status of logical processor | |
US20050223383A1 (en) | Methods and apparatus for reserving an execution thread | |
JP2804478B2 (ja) | タスク制御方式及びオンライン・トランザクション・システム | |
US9513973B2 (en) | Device and method for synchronizing tasks executed in parallel on a platform comprising several calculation units | |
US11385927B2 (en) | Interrupt servicing in userspace | |
US11294716B2 (en) | Processing system for managing process and its acceleration method | |
JP2021060707A (ja) | 同期制御システムおよび同期制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080829 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090829 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100829 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100829 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110829 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120829 Year of fee payment: 15 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130829 Year of fee payment: 16 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130829 Year of fee payment: 16 |