JPH05250337A - 処理をプロセッサにディスパッチするためのマイクロプログラム手段を有するマルチプロセッサシステム - Google Patents

処理をプロセッサにディスパッチするためのマイクロプログラム手段を有するマルチプロセッサシステム

Info

Publication number
JPH05250337A
JPH05250337A JP4292966A JP29296692A JPH05250337A JP H05250337 A JPH05250337 A JP H05250337A JP 4292966 A JP4292966 A JP 4292966A JP 29296692 A JP29296692 A JP 29296692A JP H05250337 A JPH05250337 A JP H05250337A
Authority
JP
Japan
Prior art keywords
processor
microprogram
queue
dispatching
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.)
Granted
Application number
JP4292966A
Other languages
English (en)
Other versions
JP2690435B2 (ja
Inventor
Georges Lecourtier
ジヨルジユ・ルクルテイエ
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.)
Bull SA
Original Assignee
Bull SA
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 Bull SA filed Critical Bull SA
Publication of JPH05250337A publication Critical patent/JPH05250337A/ja
Application granted granted Critical
Publication of JP2690435B2 publication Critical patent/JP2690435B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling 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)

Abstract

(57)【要約】 【目的】 処理をプロセッサにディスパッチするための
マイクロプログラム手段を有するマルチプロセッサを提
供する。 【構成】 マルチプロセッサシステムにおいて、処理の
プロセッサ(CPU,CPUi)へのディスパッチング
を変更し得る事象は、事象又は種々のデータの関数とし
て新たなディスパッチングを定義することを受け持つデ
ィスパッチングソフトウェアの実行を開始する。プロセ
ッサ(CPU,CPUi)の数が大きいときには、マイ
クロソフトウェアは最適化されねばならない。このため
に、マイクロソフトウェアは、特定の事象のそれぞれの
カテゴリに応答してディスパッチングを決定するための
複数の専用マイクロプログラムモジュールに細分され
る。中央マイクロプログラムモジュールは、専用モジュ
ールによって処理される以外の事象を考慮する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はマルチプロセッサタイプ
の情報処理システムの分野に属し、特にかかるシステム
における処理のプロセッサへの動的タスク割当てを保証
するために使用されるメカニズムに関する。
【0002】
【従来の技術】処理をプロセッサに割当てること(通常
は“ディスパッチング”と称される)は、特にトランザ
クションタイプのアプリケーションにおいては、その用
法がシステムパフォーマンスに大きく影響するオペレー
ションである。パフォーマンスに及ぼすディスパッチン
グの影響は、ディスパッチングをトリガし得る事象の平
均頻度はプロセッサの数に比例して増大するが故に、シ
ステムプロセッサの数が大きくなると特に変動し易い。
ディスパッチングは、実行される処理の選択に変更を起
こし得る任意の事象によってトリガされるオペレーショ
ンである。大抵の場合、かかる事象は、処理間でオペレ
ーションを同期化することから生じ、処理とは、アプリ
ケーションプログラム、または入/出力プログラムのよ
うなオペレーティングシステムプログラムを実行するも
のであり得る。例えばプロセッサの状態の変化、または
処理をシステムに導入もしくはシステムから消去したり
処理の1つのプライオリティレベルを変更する特定の命
令に関係する他のタイプの事象もあり得る。このような
事象の出現は、事象及び、例えば実行される準備が整っ
ている処理のプライオリティ順位を考慮するような種々
の基準の関数として、処理をプロセッサに新たに割り当
てる決定をまかされたシステムマイクロプログラムを能
動化する効果を有する。
【0003】マイクロプログラム使用のケースでは、デ
ィスパッチングは2つのフェーズで行われる。第1の選
択フェーズは、“SELECT”と称される第1のマイ
クロプログラムモジュールの実行に対応し、実行される
べき処理及びその処理を実行するプロセッサの選択を行
なうために与えられる。この選択フェーズには、関係す
るプロセッサに実行されるべき新たな処理を通知する役
割を果たす割込みを送ることが含まれる。アドレス指定
されたプロセッサによってかかる割込みが受信される
と、実質的にその実行が割り込まれた処理の内容を保存
し且つ実行されるべき新たな処理の内容をプロセッサ内
にロードすることからなる実行フェーズが、該プロセッ
サ内でトリガされる。この実行フェーズは、“EXE
C”と称されるマイクロプログラムモジュールを含むプ
ロセッサによる並行処理に対応する。
【0004】ディスパッチングをトリガする事象に対す
るシステムの応答時間を向上するためには選択オペレー
ションが分散式に行われ得ることが望ましく、これに
は、システムの全てのプロセッサまたは少なくともその
うちの幾つかが各々が選択オペレーションを実行し得る
ことが必要である。この問題は、1986年5月20日
発行米国特許第4,590,550号(欧州特許B1
30 504号に対応)の課題であり、前記特許は参照
により本明細書の一部を構成するものとする。この特許
は特に、各々が選択オペレーションを実行しようとする
複数のプロセッサ間に起こり得る対立に係わる問題を取
り扱っている。選択オペレーションは、処理及びプロセ
ッサの状態のようなシステム全体で同じ値を有し続けね
ばならないシステムデータを取扱うが故に、このような
対立は無条件に回避されねばならない。このためには特
にロックが与えられる。即ち、先行のディスパッチング
が完全に終了しないうちに他のプロセッサが新たな選択
フェーズを実行しないように、ディスパッチングを実行
しているプロセッサによって能動化及び保持されるイン
ジケータ手段が与えられる。
【0005】
【発明が解決しようとする課題】本発明の目的は、プロ
セッサの数が増大しても相対的なシステムパフォーマン
スの低下を招くことのないように上述のディスパッチン
グの最適実施例を提案することである。
【0006】この最適化を求めて、マルチプロセッサシ
ステムにおいて実行される種々のタイプのディスパッチ
ングを統計的に分析した。トランザクション型アプリケ
ーションにおいては、この分析によって約75%のケー
スでディスパッチングオペレーションは最終的に、実行
する処理の選択に変更がないか、または単一処理のみの
実行に割込み且つ一般的にはそれを別の処理で置き換え
る結果となることが確認された。従って上記のディスパ
ッチングが頻繁なケースは、処理されるべき最も単純な
ものと推定され、システムの一貫性が全ての環境下で保
存され得るようにこの状況を利用する手段を見いだす必
要があった。
【0007】第2に、選択オペレーションに関与する2
つの資源カテゴリを区別することができる。第1のカテ
ゴリは、一般的には処理キューによって物理的に実現さ
れる、システム内に設定された処理の状態に係わる情報
を含む。処理キューは一般に事象と関係して存在する。
各キューは、その実行が割り込まれて事象または関係メ
ッセージの出現を待っている全ての処理のアイデンティ
ティを含んでいる。一方で、実行中の処理及び実行する
準備の整った処理、即ち使用可能なプロセッサがないた
めに実行され得ない処理を含む少なくとも1つのキュー
が存在する。第2の資源カテゴリは、プロセッサ間の連
絡を可能とする対話手段を含む。かかる手段は通常は、
特に選択オペレーションを実行しているプロセッサが、
アドレス指定されたプロセッサに、実行されるべき新た
な処理を通知できるようにする、メールボックスと称さ
れるデータ交換ゾーンに関係する割込みメカニズムによ
って実現される。ディスパッチングが最も頻繁となる環
境を更に詳細に分析することにより、上記資源のうち、
幾つかのものだけが使用されることが極めて多いことが
確認された。実際、ディスパッチングをトリガし得る事
象が、実行中の処理による事象またはメッセージの通知
からなるならば、2つのケースが起こり得る。第1のケ
ースはその事象を待つ処理のないケースである。事象を
発生したプロセッサは大部分のケースで、事象が発生し
たことを示すためにセマフォタイプのデータ構造を更新
し得る。このプロセッサは、それまでにそれが実行して
いた処理を続けて実行することができ、システムのプロ
セッサに処理をディスパッチングすることにおいて何が
起ころうと変更はない。その場合、セマフォに関係する
データ構造のみが関与する。もう1つのケースは、少な
くとも1つの処理がこの事象を待っているケースであ
る。キュー内の最高プライオリティを有する処理がその
キューから抽出され、レディ状態処理キュー内に挿入さ
れ、この処理は、そのプライオリティレベルに従ってシ
ステムのプロセッサの1つにおいてアクティブな処理と
置き換わることができる。このオペレーションに関与す
る資源は、セマフォに関係するデータ構造及び処理キュ
ー、レディまたはアクティブ状態処理キュー、及び必要
に応じて、待ち状態にあった処理が別のプロセッサにお
いてアクティブ状態だった処理と置き換わらねばならな
いならば、プロセッサ間対話手段である。
【0008】別の例として、アクティブ状態処理が、そ
の実行を継続し得るために事象が発生したかまたはメッ
セージが存在するか問合せねばならない相補的なケース
を例にとると、ここでも2つのケースに区別される。第
1のケースでは、事象またはメッセージは既に通知され
ており、これは、セマフォに関係するデータ構造をアク
セスすることによりプロセッサによって検証される。処
理はその実行を続けることができる。第2のケースで
は、事象またはメッセージは通知されておらず、処理の
実行は割り込まれねばならない。その場合、レディ状態
処理キュー内の最高プライオリティを有する処理が、プ
ロセッサによってそれまで実行されていた処理にとって
替わる。資源の使用については、第1のケースではセマ
フォに関係するデータ構造のみが関与し、第2のケース
ではレディ状態処理キューも関与する。これとは反対に
対話手段はいずれのケースでも使用されない。
【0009】特定の状況で上記実施例の幾つかに基づ
き、処理をプロセッサにディスパッチするオペレーショ
ンは、各々が特定の事象または状況の1つのカテゴリに
対応していて、実際にはディスパッチングオペレーショ
ンに関与し得る資源セットの幾つかしか使用しない複数
のより単純なオペレーションに分割することができる。
【0010】従って本発明の目的は、ディスパッチング
における所定のフェーズを並行処理し得る可能性を増大
しようという観点から上記知見を利用することである。
しかしながら、提案される実施例は機能的に信頼性があ
り且つ使用が単純なものであらねばならない。
【0011】
【課題を解決するための手段】この目的は、ディスパッ
チングを行うソフトウェアを細分することにより達成さ
れ、この細分は、処理をプロセッサにディスパッチング
する上で同じタイプの変更を起こる事象の1つのカテゴ
リまたはセットに属する少なくとも1つの専用モジュー
ルを定義するように選択され、これは、同じタイプの資
源が使用されることを意味する。複数のこのタイプのモ
ジュールを与えることにより、システム資源の点で対立
する危険性もなく複数のモジュールが同時に実行される
可能性を増大する結果となる。
【0012】カテゴリに適合しない事象、即ち専用モジ
ュールによって処理され得ない事象を考慮するための特
別モジュールを与えることも適当である。
【0013】より正確には、本発明は、その複数のプロ
セッサの各々に、システムのプロセッサへの処理のディ
スパッチングを実行するためのマイクロプログラム手段
が備えられているマルチプロセッサ情報処理システムで
あって、前記マイクロプログラム手段がプロセッサ内
で、前記プロセッサによって検出され、且つ実行される
処理及び該処理を実行するプロセッサの選択に変更を起
こし得る任意の事象に応答して能動化され、更に前記マ
イクロプログラム手段が、特定の事象のカテゴリに応答
して前記ディスパッチングを決定し得る少なくとも1つ
の専用マイクロプログラムモジュールと、前記専用モジ
ュールによって処理される以外の事象に対して前記ディ
スパッチングを決定し得る中央マイクロプログラムモジ
ュールとを含むことを特徴とするマルチプロセッサシス
テムを提供する。
【0014】システムパフォーマンスの見地から本発明
をよりよく利用するため、本発明の別の特徴において
は、特定事象のカテゴリは、特にシステムオペレーショ
ンの間に起こる確率が最も高い事象を含む。
【0015】並行処理の可能性を増強するため、本発明
の別の特徴においては、特定事象の各カテゴリは、実行
される処理及び該処理を実行するプロセッサの選択に単
純な変更を起こす事象を含む。
【0016】本発明は更に、前記システムにおいて実行
され得る処理の状態が、事象待ち処理キューまたはレデ
ィ状態処理キュー、即ちプロセッサ内でアクティブなも
しくはプロセッサ待ち中の処理キュー内に記憶されてい
るならば、事象のカテゴリが、レディ状態処理キューに
おいてそれぞれ単一処理JPの追加、末梢または移動を
惹起し得る事象を含む、前記システムの特定の実施例を
も提供する。
【0017】専用モジュールは、関係事象に完全に対応
して且つ全ての環境下でディスパッチングを実行するよ
うに設計することができる。しかしながらそれには、モ
ジュールをより複雑にしたりマイクロプログラムのメモ
リサイズを増大する必要がある。この欠点を解消するた
め本発明の変形例によれば、好ましくは複数のプロセッ
サにおける同時ディスパッチングオペレーション間に対
立が存在するような例外的複合状況に対応する、所定の
ケース外での選択オペレーションを完全に実行するよう
に各専用モジュールは与えられている。各専用モジュー
ルは、上記ケースを検出して中央モジュールを呼び出す
ように与えられている。従って中央モジュールは、専用
モジュールによって処理されない上記全ての例外的ケー
スを統括的に処理するように設計されている。
【0018】従って特定の実施例においては本発明のシ
ステムは、実行されるべき新たな処理NJPのアイデン
ティティを他のプロセッサに通知するリクエストを発信
するために、プロセッサのマイクロプログラム手段によ
って適宜使用される処理間対話手段を含んでいる。一方
でかかる対話手段は、一度にただ1つのプロセッサのみ
がリクエストを発信することを保証するためにマイクロ
プログラム手段によって使用される第1の対話ロックと
関係している。最後に各専用モジュールは、該専用モジ
ュールの実行が対話を含む一方、前記ロックがかけられ
ている場合には、その実行を停止し且つ中央モジュール
を呼び出すように設計されている。
【0019】
【実施例】実施例の更なる態様及び詳細を以下の説明に
おいて詳述する。
【0020】図1に示したシステムは、情報処理システ
ムの中央サブシステムと称されるものを構成している。
これは、相互に並びに中央メモリMU及び入/出力装置
IOUと通信し得るようにシステムバスSBに接続され
ている複数のプロセッサCPU,CPUiで構成されて
いる。入/出力装置IOUによって中央サブシステムは
周辺サブシステム(図示なし)と通信することができ
る。
【0021】中央メモリMUは、メモリコントローラ及
びバスSBのコントローラの両方の役割を果たすインタ
ーフェース回路SCUを介してシステムバスSBに接続
されている複数のメモリモジュールまたはカードによっ
て実現することができる。通常の方法ではバスSBは、
データバスDTS、アドレスバスADS及びコマンド及
びコントロールラインCDSによって構成される。
【0022】各プロセッサCPUは必然的に、マイクロ
プログラム処理手段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にも接続さ
れている。
【0023】コントローラDIRはそれぞれアドレスラ
インADR及びコントロールラインCDRを介してメモ
リ回路DATの読取り及び書込みオペレーションを制御
する。更にコントローラDIRは、中央メモリMUとメ
モリ回路DATとの間のデータ転送を行なうために、中
央メモリMUの読取り及び書込みオペレーションをも制
御する。最後に、図示した実施例においてはコントロー
ラDIRは更に、プロセッサCPUと他のプロセッサC
PUiとの間または入/出力装置IOUとのメッセージ
交換(例えばリクエスト及び肯定応答)の目的を果たす
インターフェース回路をも含んでいる。
【0024】プロセッサCPUの機能ユニットの詳細実
施例は、“Processeura plusieur
s unites de traitement mi
crogramees”〔Processor wit
h a Plurality of Micropro
grammed Processing Units〕
の標題で1991年6月26日公開の欧州特許出願公開
第434 483号に記載されている。
【0025】更に、システムのプロセッサCPU,CP
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号に従って実
現することができる。
【0026】図1のシステムの一般機能については、参
照により本明細書の一部を構成するものとする上記2つ
の特許出願を参照することが適当である。
【0027】この点において本発明は、システムマイク
ロソフトウェアの一部である特定のマイクロプログラム
手段によって実施することができる。かかるマイクロプ
ログラムは、システムによって考慮され得る事象を表わ
す所定数のインジケータの関数として、実行されるべき
モジュールを選択する役割を果たす“割込みマネージ
ャ”と称されるマイクロソフトウェアモジュールと協働
するように与えられている。本発明の実施を可能とする
特定のマイクロプログラムを図8〜図11と合わせて説
明するが、まず最初にかかるマイクロプログラムによっ
て操作されるシステム資源について特定の説明を行な
う。
【0028】図2は、システム内に設定された処理が関
係する“処理制御ブロック”PCBとして公知のデータ
構造を示す。このブロックは、処理に係わると共にシス
テムにとって有効な全ての情報を含む所定数の32ビッ
トワードによって構成されているメモリゾーンである。
図には本発明を実施するのに係わる情報のみを示してあ
る。この情報のなかでワードPMW0内には、処理のプ
ライオリティレベルを表わすフィールドPRIと処理の
状態を示すフィールドSTATEとが認められる。この
フィールドSTATEがとる値は特に、処理がアクティ
ブであるのか、またはレディ状態で空きプロセッサを待
っているのか、または事象を待っているのかを示す。処
理がセマフォに関係する事象を待っているときにはワー
ドPMW2はセマフォのアドレスに割り当てられる。ワ
ードPMW3のフィールドCPSMは、その2進分布
が、処理を実行するよう許可されたシステムプロセッサ
を規定しているマスクである。“ゾーンレジスタ”と称
されるワード群は、処理の内容、即ちその実行が割り込
まれる直前に最後に処理を実行したプロセッサのレジス
タの内容を保存する役割を果たす。
【0029】図3は、“処理制御ブロック”CPCBと
称され、送り側のプロセッサとそのブロックに関係する
受け側のプロセッサとの間の情報交換のためのメールボ
ックスとして作用する、各プロセッサに関係するメモリ
ゾーンを示す。
【0030】ブロックCPCBは、プロセッサ番号を含
むフィールドCPNと、プロセッサ状態を示すフィール
ドCPSと、該プロセッサ内で実行されている処理の数
を含むフィールドCJPと、レディ状態処理キューQ/
PR/RDY内のこの処理のリンクのアドレスを表わす
フィールドCPLDと、プロセッサが実行する予定の新
たな処理の番号を示すフィールドNJPと、その処理の
リンクのアドレスを示すフィールドNPLDとを含んで
いる。
【0031】ブロックCPCBは更に、ロックとして作
用し且つその論理状態が、メールボックスが占有されて
いるか否かを知らせるディジタルインジケータDCLK
をも含んでいる。
【0032】次に、処理キューを規定し得る資源を説明
する。かかるエレメントの全ては既に、前出の米国特許
第4,590,555号及び“semaphore d
evice for computer”の標題の19
83年7月26日発行米国特許第4,395,797号
に詳細に説明されている。ここでは、本発明に関与する
不可欠なエレメントのみを簡単に想起する。
【0033】既に述べたように、2つの処理キューカテ
ゴリ、即ちレディ状態処理キューQ/PR/RDYと事
象待ち処理キューとは区別される。これらのキューは、
“リンク”として公知のデータ構造セットによって物理
的に実現され、各リンクは1つの特定の処理と関係す
る。
【0034】図4は、このようなリンクPLのためのフ
ォーマット例を示す。このリンクは32ビットワードで
構成されており、下記の意味を有する複数のフィールド
を含んでいる: −NLは、キュー内の次のリンクのアドレスを表わすポ
インタであり、 −JPは、該リンクに関係する処理のアイデンティティ
であり、 −Rは、関係する処理の状態を表わすビットであり、 −Dは、ディスパッチングの実行を容易にするためのロ
ックDCLKのコピーである補助ビットであり、 −TENは、処理を実行しているプロセッサまたは最後
に処理を実行したプロセッサのアイデンティティであ
り、 −PRIは、処理のプライオリティレベルに対応する。
【0035】キューへのアクセスは、キュー内の最初の
リンク、即ちキュー内の最も古い処理に関係するリンク
のアドレスを表わすポインタによって行なうことができ
る。リンクがキューから消去されると、ポインタは、こ
のリンクのフィールドNL内に含まれる値を取る。リン
クが加えられると、最後のリンクのフィールドNLは、
この新たなリンクのアドレスに対応する値を取る。
【0036】本発明に関連して使用される特定の実施例
によれば、レディでアクティブな処理とレディで非アク
ティブな処理とを合わせた単一キューQ/PR/RDY
が与えられる。ビットRの論理値によって、処理がアク
ティブである(R=1)かそうでない(R=0)かが区
別され得る。
【0037】事象待ち処理についても、そのリンクが図
4に示したフォーマットを有するキューが使用される。
各キューQ/PR/Sは“セマフォ”として公知のデー
タ構造に関係しており、各セマフォは特定のタイプの事
象と関係している。
【0038】所定のセマフォが、図6に示したようなメ
ッセージリンクによって物理的に実現されるメッセージ
キューQ/M/Sと関係するようにもできる。
【0039】セマフォSEMのフォーマットを図5に示
す。
【0040】セマフォSEMは、下記の意味を有する複
数のフィールドを含む2つの32ビットワードで形成さ
れている: −STAGは、メッセージキューに関係し得るか否かに
従うセマフォのタイプを示しており、 −SMCは、関係キューが含み得る処理またはメッセー
ジの最大数を示しており、 −SCTは、その絶対値がキュー内に含まれる処理また
はメッセージの数を示し且つその符号が処理であるかメ
ッセージであるかを示す代数的な値であり、 −PQHP/MQHPは、キュー内の最初の処理または
メッセージリンクのアドレスを表わすポインタであり、 −MQTPは、キュー内の最後の処理またはメッセージ
リンクのアドレスを表わすポインタである。
【0041】メッセージリンクMLのフォーマットを図
6に示す。メッセージリンクMLは下記の意味を有する
複数のフィールドを含んでいる: −NLは、次のメッセージリンクのアドレスを示すポイ
ンタであり、 −SENDERは、メッセージの送り手である処理のア
イデンティティであり、 −MPLは、メッセージのプライオリティレベルに対応
しており、 −MTAGは、メッセージのタイプを規定するインジケ
ータであり、 −MESSAGEは、メッセージ自体のために確保され
ているゾーンである。
【0042】空きメッセージリンク待ち処理キューまた
は空きメッセージリンクキューの管理を可能にする特定
のセマフォ及び空き処理リンクキューを管理するセマフ
ォもある。
【0043】米国特許第4,395,757号は、処理
を同期化するためにセマフォがどのように使用されるか
を記述している。従って、ここではかかるオペレーショ
ンを詳細に記述することはしないが、それらは、最初は
ゼロであるセマフォのカウンタSCTをそれぞれ増分ま
たは減分する効果を有するPまたはVタイプ命令によっ
て行われる。正のSCTカウントは、少なくとも1つの
処理がセマフォに関係する事象またはメッセージを通知
したことを意味する。これとは反対に負のSCTカウン
トは、少なくとも1つの処理がセマフォと関係する事象
またはメッセージを待っていることを意味する。本発明
においてP及びV命令がどのように処理されるかを、図
8〜図11を参照して後述する。
【0044】図7は、システムにとってその管理に有効
な全てのデータをまとめる“システム制御ブロック”S
CBと称される異なるデータ構造を示す。特にSCB
は、ディスパッチングオペレーション時点で使用される
特定のフィールドを含んでいる。それらのフィールドは
下記の意味を有する: −RDYLKは、レディ状態処理キューQ/PR/RD
Yと関係するロックであり、 −CSTは、特定のプロセッサによって実行される予定
のシステム内に設定された処理の数を示す条件カウンタ
の値を含んでおり、 −MPDLは、プロセッサ間の対話に対するロックであ
り、 −SEMLKはそれぞれセマフォまたはセマフォ群に関
係するロック群であり、 −VLD−CPU−MSKは、そのディジタル分布によ
ってシステムの有効プロセッサを決定し得るマスクであ
り、 −IDLE−CPU−MSKは、そのディジタル分布に
よってシステム内の非アクティブプロセッサを決定し得
るマスクである。
【0045】次に、2つの特定の実施例、即ちセマフォ
に対するP及びVタイプ命令において本発明をどのよう
に実施し得るかを示す。
【0046】図8のフローチャートは、プロセッサCP
Uによって実行されたPタイプ命令によってトリガされ
るオペレーションを示す。プロセッサにおけるP命令の
出現とは、この命令を含む処理は、特定のセマフォに関
係する事象が発生したかまたはメッセージが送られてき
たかどうかを検証しないと、その実行を続行できないと
いうことを想起されたい。命令Pを実行することは、次
に説明する対応のマイクロプログラムを実行することで
ある。。
【0047】ステップ1は、命令Pにおいて識別された
セマフォと関係するロックSEMLKの“TEST A
ND SET”オペレーションである。これ自体は公知
のオペレーションは、システム制御ブロックSCB内に
含まれているロックSEMLKをアクセスすることから
なる。ロックが解除されているならば(SEMLK=
0)、ロックを占有状態にし(SEMLK:=1)、マ
イクロプログラムを続行する。これとは反対にロックが
かけられていれば(SEMLK=1)、マイクロプログ
ラムは、ロックが解除されるまでスタンバイを続ける。
【0048】次のステップ2は、セマフォSEMをアク
セスし、その内容を分析し、それを更新する処理を行な
うことからなるが、更新処理は特にカウントSCTを1
単位だけ減分することからなる。カウントSCTが正で
あったならば、これは、処理によって要求された事象ま
たはメッセージが既に通知されたことを意味している。
その場合にはステップ3においてロックSEMLKが解
除され(SEMLK:=0)、処理の次の命令を通常に
実行することができる。セマフォがメッセージを含むタ
イプのものであるならば、セマフォの更新は、1つのメ
ッセージリンクをメッセージキューから取り出すことか
らなることに留意されたい。更に、メッセージの内容は
プロセッサの作業用レジスタ内にロードされる。特定の
ケースでは、オペレーションは空きメッセージリンク待
ち処理の解放を行なうことができ、この場合にはマイク
ロプログラムは、この状況を取り扱う専用モジュールを
呼び出す。
【0049】カウントSCTが負またはゼロであったな
らば、処理の実行は割込まれねばならない。ステップ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号に従って実現することができる。
【0050】カウンタCSTがゼロであるならば、マイ
クロプログラムは、レディ状態処理キューQ/PR/R
DYから処理を取り出すケースでは新たな処理NJPを
選択するため、専用モジュールDQSELを呼び出す。
【0051】モジュールDQSELの実行はステップ9
から開始され、ステップ9は、レディ状態処理キューQ
/PR/RDYをアクセスし且つそれを分析する処理を
行なう。この分析は実質的に、キューQ/PR/RDY
(空ではないと仮定する)内のレディ状態処理NJPの
うちアクティブ状態に変更されねばならないものを選択
することからなる。次いでステップ10においてロック
RDYLKは解除される。
【0052】次のステップ11は、DQSELを実行し
ているプロセッサのプロセッサ制御ブロックCPCB内
に含まれているメールボックスロックDCLKをテスト
することからなる。ロックDCLKがかけられているな
らば(DCLK=1)、これは、プロセッサ間の対話が
既に進行中であり、結果的にディスパッチングにおける
対立が存在していることを意味する。そうするとマイク
ロプログラムは中央モジュールCTSELを呼び出す。
【0053】これとは反対にロックDCLKが解除され
ていれば(DCLK=0)、マイクロプログラムはステ
ップ12おいてこのロックをかけ(DCLK:=1)、
処理NJPに関係するリンクのビットDを1にする。次
いでステップ13が続き、選択された処理NJPの番号
がブロックCPCBの対応するフィールド内に登録され
る。ステップ13はモジュールEXECを呼び出し、次
にこれを図9を参照して説明する。
【0054】図9のフローチャートは、モジュールEX
ECを実行する任意のいずれかのプロセッサCPUiの
一般的ケースを示す。このモジュールは、プロセッサC
PUによって実行されるオペレーションDQSELによ
って呼び出されたときには、同じプロセッサによって実
行される、即ちCPUi=CPUであることが理解され
る。
【0055】モジュールEXECは、ステップ14にお
いて、実行されるべき処理NJPの番号を考慮するため
にプロセッサCPUiのプロセッサ制御ブロックCPC
Bをアクセスことから開始する。次いでステップ15に
おいて、CPUiにおいて進行中の処理CPJの内容を
保存するために、この処理の処理制御ブロックPCBを
アクセスする。次にステップ16において、ロックRD
YLKのTEST AND SETオペレーションを実
行し、次いでステップ17において、キューQ/PR/
RDYをアクセスしてそれを更新する。この更新は、処
理リンクCJPのビットRをゼロにセットすることから
なる。更に、フィールドSTATEを“レディ、非アク
ティブ状態”にセットするためにCJPのブロックPC
Bをアクセスする。次いでステップ18においてロック
RDYLKが解除される。ステップ19においては、選
択された処理NJPの処理制御ブロックPCBがアクセ
スされ、この処理の内容がプロセッサのレジスタ内にロ
ードされる。ステップ20において、プロセッサCPU
iのブロックCPCBがアクセスされ、そのロックDC
LKiが解除される。ロックRDYLKのTEST A
ND SETオペレーションがステップ21において再
び実行され、次いでステップ22において、フィールド
TENを更新し且つ処理リンクNJPのビットR及びD
をそれぞれ1及び0にセットするために、キューQ/P
R/RDYが再びアクセスされる。更に、NJPのブロ
ックPCBのフィールドSTATEが“アクティブ”状
態にされる。このオペレーションの後、ステップ23に
おいてロックRDYLKは再び解除される。
【0056】Vタイプ命令によってトリガされるオペレ
ーションを図10のフローチャートに示す。V命令は、
P命令に相補的な命令である。これは、この命令を含む
処理が事象またはメッセージを特定のセマフォに通知す
ることを意味する。
【0057】V命令を実行するためのマイクロプログラ
ムはステップ24において、命令Vにおいて識別された
セマフォSEMと関係するロックSEMLKにおけるT
EST AND SETオペレーションから開始する。
ステップ25は、セマフォをアクセスし、その内容を分
析し、それを更新することからなり、更新は特に、カウ
ントSCTを1単位だけ増分することからなる。カウン
トSCTが正またはゼロであったならば、これは、命令
Vによって通知された事象またはメッセージを待ってい
る処理はないこと意味する。その場合にはステップ26
においてロックSEMLKが解除され、処理の次の命令
が正常に実行され得る。セマフォがメッセージを含むタ
イプのものであるならば、セマフォの更新は更に、メッ
セージリンクをメッセージキューに加えることからな
る。もはや空きメッセージリンクがない特定のケースに
おいては、マイクロプログラムは、この状況を取扱うた
めに専用モジュールを呼び出す。
【0058】カウントSCTが負であったならば、これ
は、少なくとも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
は解除される。
【0059】次いでステップ31においてカウンタCS
Tがテストされる。CSTがゼロでないならば、マイク
ロプログラムは中央モジュールCTSELにジャンプす
る。これとは反対にカウンタCSTがゼロであるなら
ば、マイクロプログラムは、処理をレディ状態処理キュ
ーQ/PR/RDYに加える状況を取扱うために専用モ
ジュールEQSELを呼び出す。
【0060】モジュールEQSELの実行はステップ3
3において、新たな処理NJPがアクティブになる必要
があるか判断し、もしそうならば、プロセッサCPU,
CPUiのうちのどれがそれを実行すべきかを選択する
ために、レディ状態処理キューQ/PR/RDYをアク
セスする処理を行なう。このオペレーションは、ポイン
タが最低プライオリティを有する最後のアクティブ処理
のリンクにあるならば極めて単純なものとなり得る。そ
の場合には、NJPのプライオリティレベルとポインタ
によって示されている処理のそれとを比較すれば十分で
ある。NJPが同じかまたはより低いプライオリティを
有するならば、それは選択されない。これとは反対にN
JPがより高いプライオリティを有するならば、NJP
はこの処理に置き換わらねばならず、この処理のリンク
のフィールドTENによって問題のプロセッサが示され
る。
【0061】処理NJPが選択されなかったならば、オ
ペレーションはステップ34においてロックRDYLK
を解除して終了する。
【0062】これとは反対に処理NJPが選択されたな
らば、システムのプロセッサCPU,CPUiの1つ
は、進行中の処理を選択された処理NJPと置き換える
ために、その実行に割込む必要がある。選択されたプロ
セッサが、モジュールEQSELを実行しているプロセ
ッサCPUであったならば、そのときはステップ35に
おいてロックRDYLKを解除してオペレーションは続
行され、次いでステップ36においてプロセッサCPU
のメールボックスのロックDCLKがテストされる。ロ
ックがかけられているならば、マイクロプログラムは中
央モジュールCTSELにジャンプする。これとは反対
にロックDCLKが解除されているならば、ステップ3
7においてマイクロプログラムはこのロックをかけ、ス
テップ38において、選択された処理NJPの番号をプ
ロセッサCPUのブロックCPCBの対応するフィール
ド内に登録する処理に進む。ステップ38は、図9を参
照して説明されるモジュールEXECを呼び出して終了
する。
【0063】ステップ33において行われた分析によっ
て別のプロセッサCPUiが選択されたならば、ステッ
プ39においてロックRDYLKは解除され、マイクロ
プログラムは図11に示したオペレーションAを続け
る。
【0064】次のステップ40は、対話ロックMPDL
のテストを実行する。このロックがかけられているなら
ば、マイクロプログラムは中央モジュールCTSELに
ジャンプする。これとは反対にMPDLが解除されてい
るならば、ステップ41においてマイクロプログラムは
このロックをかける。次にステップ42において、マイ
クロプログラムは、選択されたプロセッサCPUiのメ
ールボックスロックDCLKiをテストする。ロックD
CLKiがかけられているならば、マイクロプログラム
はステップ43においてMPDLを解除した後に、中央
モジュールCTSELにジャンプする。これとは反対に
DCLKiが解除されているならば、マイクロプログラ
ムはステップ44においてロックをかける。次いでステ
ップ45へ進み、選択された処理NJPの番号を、選択
されたプロセッサCPUiのブロックCPCBの対応す
るフィールド内に登録する。
【0065】次いでマイクロプログラムはステップ46
において、割込みEXECiをプロセッサCPUiに送
ることによりプロセッサ間の対話手段を使用する。次に
ステップ47においてマイクロプログラムは、プロセッ
サCPUiによって送られるべき肯定応答を待つ状態に
入る。一旦この肯定応答を受け取ると、ステップ48に
おいて対話ロックMPDLは解除され、これでオペレー
ションは終了する。そうするとプロセッサは、それに割
り当てられた処理の実行を継続することができる。
【0066】ステップ46において割込みEXECiが
プロセッサCPUiに送られると、このプロセッサにお
いて割込みマネージャが能動化され、割込みマネージャ
は図9を参照して既に説明したモジュールEXECを呼
び出す。従って、メールボックスロックDCLKiが解
除されるのは、ステップ20においてこのモジュールが
実行されている間だけである。
【0067】上記実施例の大きな特徴は、プロセッサに
おけるこの同じプロセッサによるモジュールEXECの
呼び出し(図8のステップ13及び図10のステップ3
8)が、プロセッサがそれ自体にメッセージを通知し得
る前出の仏国特許出願第90.06948号に記載の汎
用割込み機構によって行われるようになっていることで
ある。このような場合には、対話ロックMPDLは関与
しないことが理解される。
【0068】オペレーションを更に最適化するために
は、ブロックSCBのフィールドCSTが対立インジケ
ータを含むようにすることができ、この対立インジケー
タは、ロックDCLK及びMPDLのテスト(ステップ
11、37、40)の際に対立が検出されるごとに0で
ない状態におかれる。即ち、CSTのテスト(ステップ
7、31)によって、ディスパッチングオペレーション
間のいかなる対立の存在も極めて迅速に認識される。
【0069】上述のセマフォによるオペレーションP及
びVの詳細な説明は、ディスパッチングの分散実行を可
能するため専用モジュールEQSEL及びDQSELを
中央モジュールCTSELとどのように協働させて使用
して、並行処理の可能性を増大するかを示している。特
に、複数のプロセッサが異なるディスパッチングオペレ
ーションの所定のフェーズを同時に実行でき、唯一の制
約条件は、所定の共有資源(セマフォ,キューQ/PR
/RDY、対話機構、メールボックス)への同時アクセ
スが禁止されていることであることに留意されたい。か
かる禁止は、かかる資源に関係するロックによって極め
て単純に保証され、従ってシステムの保全性を保証す
る。
【0070】当然ながらモジュールEQSEL及びDQ
SELは、命令P及びV以外の命令にも応答して介在し
得る。これは特に、その機能は新たな処理をシステムに
導入することである命令STARTにも当てはまる。
【0071】本発明によれば、システムオペレーション
の内容に応じて選択される他の専用モジュールを備える
こともできる。例えば、命令が処理リンクのキューQ/
PR/RDYへのシフトを指示するケースに対してはモ
ジュールCHSELKを備えることができる。これは例
えば、それを含む処理のプライオリティレベルを変更す
る命令CHOPや、処理の実行権を与える結果となる命
令RLQにも当てはまる。
【0072】これらの他のケースを扱うマイクロプログ
ラムは、前述のモジュールEQSEL及びDQSELの
詳細な説明を利用することにより実現することができ
る。当業者はこれらを独自に実現し得るであろうし、更
なる説明は必要ないであろう。
【図面の簡単な説明】
【図1】本発明を実施するための情報処理システムの中
央サブシステムを示す。
【図2】ディスパッチングオペレーションに使用される
処理制御ブロックのフォーマットを示す。
【図3】プロセッサ制御ブロックのフォーマットを示
す。
【図4】種々の処理キューに使用される処理リンクのフ
ォーマットを示す。
【図5】セマフォのフォーマットを示す。
【図6】セマフォに関係するメッセージキューを形成す
る役割を果たすメッセージリンクのフォーマットを示
す。
【図7】ディスパッチングオペレーションの際に使用さ
れるシステムデータを含むシステム制御ブロックのフォ
ーマットを示す。
【図8】セマフォによるPタイプ命令の実行示すフロー
チャートである。
【図9】マイクロプログラムEXECのフローチャート
である。
【図10】セマフォによるVタイプオペレーションのフ
ローチャートを示す。
【図11】セマフォによるVタイプオペレーションのフ
ローチャートの続きを示す。
【符号の説明】
CPU,CPUi プロセッサ DTS データバス ADS アドレスバス CDS 制御ライン SB システムバス IOU 入/出力装置 MU 中央記憶装置

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサの各々に、システムの
    プロセッサへの処理のディスパッチングを実行するため
    のマイクロプログラム手段が備えられているマルチプロ
    セッサ情報処理システムであって、前記マイクロプログ
    ラム手段がプロセッサ内で、前記プロセッサによって検
    出され、且つ実行される処理及び該処理を実行するプロ
    セッサの選択に変更を起こし得る任意の事象に応答して
    能動化され、更に前記マイクロプログラム手段が、特定
    の事象のカテゴリに応答して前記ディスパッチングを決
    定し得る少なくとも1つの専用マイクロプログラムモジ
    ュールと、前記専用モジュールによって処理される以外
    の事象に対して前記ディスパッチングを決定し得る中央
    マイクロプログラムモジュールとを含むことを特徴とす
    るマルチプロセッサシステム。
  2. 【請求項2】 前記各特定事象のカテゴリが、特にシス
    テムオペレーションの間に起こる確率が最も高い事象を
    含むことを特徴とする請求項1に記載のシステム。
  3. 【請求項3】 前記各特定事象のカテゴリが、実行され
    る処理及び該処理を実行するプロセッサの選択に単純な
    変更を起こす事象を含むことを特徴とする請求項1また
    は2に記載のシステム。
  4. 【請求項4】 前記システムにおいて実行され得る処理
    のアイデンティティが、事象待ち処理キューまたは少な
    くとも1つのレディ状態処理キュー、即ちプロセッサ内
    でアクティブなもしくはプロセッサ待ち中の処理キュー
    内に記憶されており、前記事象のカテゴリが、それぞれ
    レディ状態処理キューにおける単一処理の追加、抹消ま
    たは移動を惹起し得る事象を含むことを特徴とする請求
    項3に記載のシステム。
  5. 【請求項5】 前記レディ状態処理キューが、一度にた
    だ1つのプロセッサのみが前記レディ状態処理キューの
    状態を変更し得ることを保証するために前記マイクロプ
    ログラム手段によって使用されるロックと関係している
    ことを特徴とする請求項4に記載のシステム。
  6. 【請求項6】 前記キューが、一度にただ1つのプロセ
    ッサのみが前記待ち状態処理キューの状態を変更し得る
    ことを保証するために前記マイクロプログラム手段によ
    って使用される少なくとも1つのロックと関係している
    ことを特徴とする請求項4または5に記載のシステム。
  7. 【請求項7】 前記専用モジュールが、前記中央モジュ
    ールを呼び出せるように設けられていることを特徴とす
    る請求項1から6のいずれか一項に記載のシステム。
  8. 【請求項8】 実行されるべき新たな処理のアイデンテ
    ィティを他のプロセッサに通知するリクエストを発信す
    るために、プロセッサの前記マイクロプログラム手段に
    よって適宜使用される処理間対話手段を含んでおり、前
    記対話手段が、一度にただ1つのプロセッサのみが前記
    リクエストを発信することを保証するために前記マイク
    ロプログラム手段によって使用される第1の対話ロック
    と関係しており、前記各専用モジュールが、該専用モジ
    ュールの実行が対話を含む一方前記ロックがかけられて
    いる場合には、その実行を停止し且つ前記中央モジュー
    ルを呼び出すように設計されていることを特徴とする請
    求項7に記載のシステム。
  9. 【請求項9】 前記対話手段が、各プロセッサと関係し
    ており且つ前記リクエストを送信するために前記マイク
    ロプログラム手段によって使用されるメールボックスを
    含んでおり、前記メールボックスの各々が、リクエスト
    を発信したプロセッサによって占有状態にされ且つリク
    エストが割り当てられたプロセッサによってリクエスト
    実行後に解除されるロックと関係しており、前記各専用
    モジュールが、該専用モジュールの実行がリクエストを
    プロセッサに送ることを含む一方そのメールボックスの
    ロックがかけられている場合には、その実行を停止し且
    つ前記中央モジュールを呼び出すように設計されている
    ことを特徴とする請求項8に記載のシステム。
  10. 【請求項10】 制約条件を有する処理、即ちその実行
    がある特定のプロセッサによって行われるべき処理がシ
    ステム内に存在するかどうかをその状態が表わしている
    条件インジケータを含んでおり、前記マイクロプログラ
    ム手段が、前記インジケータが制約条件の存在を知らせ
    ているときには、処理のプロセッサへのディスパッチン
    グが前記中央モジュールによって行われるように設計さ
    れていることを特徴とする請求項1から9のいずれか一
    項に記載のシステム。
JP4292966A 1991-10-30 1992-10-30 処理をプロセッサにディスパッチするためのマイクロプログラム手段を有するマルチプロセッサシステム Expired - Lifetime JP2690435B2 (ja)

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 true JPH05250337A (ja) 1993-09-28
JP2690435B2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519968B2 (en) 1999-03-10 2009-04-14 Hitachi, Ltd. Decentralized control system for network connection
JP2013537346A (ja) * 2010-09-25 2013-09-30 インテル コーポレイション 異種マルチプロセッサコンピューティングプラットフォームにおけるアプリケーションのスケジューリング

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5946487A (en) * 1996-06-10 1999-08-31 Lsi Logic Corporation Object-oriented multi-media architecture
US6539542B1 (en) * 1999-10-20 2003-03-25 Verizon Corporate Services Group Inc. System and method for automatically optimizing heterogenous multiprocessor software performance
US7203782B1 (en) 2000-04-12 2007-04-10 Novell, Inc. Queueing method supporting multiple client accesses simultaneously
US6898650B1 (en) * 2000-08-10 2005-05-24 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
US8938796B2 (en) 2012-09-20 2015-01-20 Paul Case, SR. Case secure computer architecture

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS646488A (en) * 1987-12-28 1989-01-11 Shinko Arufuretsushiyu Kk Method of executing remodelled window frame

Family Cites Families (11)

* Cited by examiner, † Cited by third party
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
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS646488A (en) * 1987-12-28 1989-01-11 Shinko Arufuretsushiyu Kk Method of executing remodelled window frame

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519968B2 (en) 1999-03-10 2009-04-14 Hitachi, Ltd. Decentralized control system for network connection
JP2013537346A (ja) * 2010-09-25 2013-09-30 インテル コーポレイション 異種マルチプロセッサコンピューティングプラットフォームにおけるアプリケーションのスケジューリング

Also Published As

Publication number Publication date
US5745757A (en) 1998-04-28
EP0540383A1 (fr) 1993-05-05
FR2683344A1 (fr) 1993-05-07
FR2683344B1 (fr) 1996-09-20
EP0540383B1 (fr) 2000-06-28
DE69231201D1 (de) 2000-08-03
DE69231201T2 (de) 2001-03-01
JP2690435B2 (ja) 1997-12-10

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
US5748959A (en) Method of conducting asynchronous distributed collective operations
US20030110336A1 (en) Method and apparatus for interrupt redirection for arm processors
US20070074214A1 (en) Event processing method in a computer system
US6792497B1 (en) System and method for hardware assisted spinlock
US4725946A (en) P and V instructions for semaphore architecture in a multiprogramming/multiprocessing environment
JPS646488B2 (ja)
JPH1115793A (ja) 資源の保全性を保護する方法
JP2690435B2 (ja) 処理をプロセッサにディスパッチするためのマイクロプログラム手段を有するマルチプロセッサシステム
US20020099893A1 (en) System and method for the handling of system management interrupts in a multiprocessor computer system
US5371857A (en) Input/output interruption control system for a virtual machine
AU603876B2 (en) Multiple i/o bus virtual broadcast of programmed i/o instructions
US7765548B2 (en) System, method and medium for using and/or providing operating system information to acquire a hybrid user/operating system lock
JPH1021094A (ja) リアルタイム制御方式
CA1299758C (en) Task scheduling mechanism for large data processing systems
WO2023241307A1 (zh) 管理线程的方法及装置
CN114416317B (zh) 核间中断执行方法、处理方法及装置、设备和存储介质
US20130014123A1 (en) Determination of running status of logical processor
JP2804478B2 (ja) タスク制御方式及びオンライン・トランザクション・システム
JP2021060707A (ja) 同期制御システムおよび同期制御方法
CN110955507B (zh) 基于vxWorks系统的多任务访问同一IIC总线的方法
US11385927B2 (en) Interrupt servicing in userspace
JPH04232559A (ja) システムのプロセッサ間対話方法及び該方法を実施するためのシステム
JPS62221041A (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