JPH02288937A - プロセッサ間通信方法 - Google Patents
プロセッサ間通信方法Info
- Publication number
- JPH02288937A JPH02288937A JP18402189A JP18402189A JPH02288937A JP H02288937 A JPH02288937 A JP H02288937A JP 18402189 A JP18402189 A JP 18402189A JP 18402189 A JP18402189 A JP 18402189A JP H02288937 A JPH02288937 A JP H02288937A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- processing
- communication
- queue
- processing request
- 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
Links
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、マルチプロセッサシステムにおりるプロセ
ッサ間通信方法に関するものである。
ッサ間通信方法に関するものである。
−10にマルチプロセッサシステム
ステムの機能を分割し、それぞれ専用のプロセソザに分
割した機能を負わせることによって高速処理を行ね一已
、かつ、同様の機能を有するプロセッサを複数配置して
、一部プロセッサの障害時のバックアップを行うごとに
より、システムの高倍転化を実現することにある。
割した機能を負わせることによって高速処理を行ね一已
、かつ、同様の機能を有するプロセッサを複数配置して
、一部プロセッサの障害時のバックアップを行うごとに
より、システムの高倍転化を実現することにある。
従って、マルチプロセッサシステムにおいては、ブロセ
ンザ間の通信は必須である。
ンザ間の通信は必須である。
第6図及び第7図は、例えば、特公昭623978qq
公報に示された従来のプロセッサ間通信方法を示す図で
あり、第6図はマルチプロセッザシステl、の構成図、
第7図はプロセッサ間通信のデータ(実線)と制御信号
(鎖′fLfA)の流れ図である。第6図において、1
は共有メモリ(以下、MSと略称)、2はジョブプロセ
ッサ(以下、JOBPと略称)、3はファイルコンI・
ロールプロセンザ(以下、FCPと略称)、4はI10
コンI・ロールプロセッザ(以下、I OI)と略称)
、5はコミュニゲーションコントロールプロセッザ(以
上、CCPと略称)、6は高速ハス、7はファイル、8
はリングハス、9は入出力装置(以下、I10装置と略
称)、10は通信回線1,11υ」他システムである。
公報に示された従来のプロセッサ間通信方法を示す図で
あり、第6図はマルチプロセッザシステl、の構成図、
第7図はプロセッサ間通信のデータ(実線)と制御信号
(鎖′fLfA)の流れ図である。第6図において、1
は共有メモリ(以下、MSと略称)、2はジョブプロセ
ッサ(以下、JOBPと略称)、3はファイルコンI・
ロールプロセンザ(以下、FCPと略称)、4はI10
コンI・ロールプロセッザ(以下、I OI)と略称)
、5はコミュニゲーションコントロールプロセッザ(以
上、CCPと略称)、6は高速ハス、7はファイル、8
はリングハス、9は入出力装置(以下、I10装置と略
称)、10は通信回線1,11υ」他システムである。
また、第7図において、22は通信バッファ、23ばデ
バイス制御テーブル、24はIOP/l用プロセッザ間
通信待行列ポインタ、25ばJ OBF2用のプロセソ
ザ間通信待行列ポインタである。
バイス制御テーブル、24はIOP/l用プロセッザ間
通信待行列ポインタ、25ばJ OBF2用のプロセソ
ザ間通信待行列ポインタである。
次に動作について説明する。まず、第6図において、リ
ングハス8を介して各種I10装置9が10P4に接続
されるが、ごごで4)ll、削り込カ処理や前記I10
装置9を駆動するためのI○P 4とJOBP2間の入
出力実行制御におけるプロセッサ間通信方法について説
明する。
ングハス8を介して各種I10装置9が10P4に接続
されるが、ごごで4)ll、削り込カ処理や前記I10
装置9を駆動するためのI○P 4とJOBP2間の入
出力実行制御におけるプロセッサ間通信方法について説
明する。
また、第7図は、この場合の、プロセッサ間通信の概要
を示す動作関連図で、図中実線の矢印はデータの流れを
示し、破線の矢印は制御信号の流れを示している。
を示す動作関連図で、図中実線の矢印はデータの流れを
示し、破線の矢印は制御信号の流れを示している。
ユーザタスクの処理を行うJ OB I) 2ではユー
ザタスクから発行された入出力要求マク1:1命令によ
って入出力実行に必要な制御情報を通信バッファ22に
作成後、I OP 4用プロセッサ間通信待行列ポイン
タ24に接続しく5T41)、l0P4に幻してプロセ
ッサ間連絡側り込み信号(ST42)をか番ノる。この
後、二t、−ザタスクはプログラム処理と入出力実行処
理との同期を取るために入出力実行処理待となり、他の
タスクに制御が移る。
ザタスクから発行された入出力要求マク1:1命令によ
って入出力実行に必要な制御情報を通信バッファ22に
作成後、I OP 4用プロセッサ間通信待行列ポイン
タ24に接続しく5T41)、l0P4に幻してプロセ
ッサ間連絡側り込み信号(ST42)をか番ノる。この
後、二t、−ザタスクはプログラム処理と入出力実行処
理との同期を取るために入出力実行処理待となり、他の
タスクに制御が移る。
l0P4は、前記JOBP2からのプロセッザ間連絡割
り込み信号(ST42)を受けると■OP4用ブロセッ
ザ間通信待行列ポインタ24に接続されている通信バッ
ファ22から要求されたI10デバイス番号を取り出す
。そしてデバイス制御テーブル(DVCB)23によっ
てI10装置9が使用中か否かを調べる。そこで前記I
10装;η9が空いていれば、通信バッファ22に格納
されている制御情報からI10装置9に対して転送すべ
き入出力動作指令やI10装置装置用のデクを作成して
(ST43)、I10装置9に対して起動指令信とを出
力する(ST44)。
り込み信号(ST42)を受けると■OP4用ブロセッ
ザ間通信待行列ポインタ24に接続されている通信バッ
ファ22から要求されたI10デバイス番号を取り出す
。そしてデバイス制御テーブル(DVCB)23によっ
てI10装置9が使用中か否かを調べる。そこで前記I
10装;η9が空いていれば、通信バッファ22に格納
されている制御情報からI10装置9に対して転送すべ
き入出力動作指令やI10装置装置用のデクを作成して
(ST43)、I10装置9に対して起動指令信とを出
力する(ST44)。
I10装置9は入出力動作が完了するとTOP4に対し
て入出力終了報告信号を返送する(ST45)。すると
、1OP4で番j:I10装置9からの入出力終了報告
信号を受けると、入出力結果を通信バッファ22に格納
しく5T46)、該通信バッファ22をJ OB P
2用のプ【、zセッザ間通イ5待行列ポインタ25に接
続しζ(ST47)2.JOBP2に対し、プロセッサ
間通信連絡側り込め信号(ST48)をかける。
て入出力終了報告信号を返送する(ST45)。すると
、1OP4で番j:I10装置9からの入出力終了報告
信号を受けると、入出力結果を通信バッファ22に格納
しく5T46)、該通信バッファ22をJ OB P
2用のプ【、zセッザ間通イ5待行列ポインタ25に接
続しζ(ST47)2.JOBP2に対し、プロセッサ
間通信連絡側り込め信号(ST48)をかける。
10P4からのプロセッザ間通信連絡割り込み信号(S
T48)を受けたJ OB P 2では、自プロセソザ
へのブロセンザ間通信待行列ポインタ25に接続されて
いる通信バッファ22を待行列から削除しくST/+9
)、入出力処理結果を入出力要求マクロ命令発行タスク
にリターンコードとして返し、タスクの入出力実行終了
待状態を解除する。この動作によって一連のI10人出
力実行側御が完結する。
T48)を受けたJ OB P 2では、自プロセソザ
へのブロセンザ間通信待行列ポインタ25に接続されて
いる通信バッファ22を待行列から削除しくST/+9
)、入出力処理結果を入出力要求マクロ命令発行タスク
にリターンコードとして返し、タスクの入出力実行終了
待状態を解除する。この動作によって一連のI10人出
力実行側御が完結する。
ところで、マルチプロセッサシステムでは、処理能力及
び信頼性の向]−を目的として、複数の、JOBPを使
用してシステムを構成する場合がある。
び信頼性の向]−を目的として、複数の、JOBPを使
用してシステムを構成する場合がある。
この時には、−台のJ OB Pの障害によってシステ
ム全体が動作不能になることを防ぐため、障害JOBP
をシステムから切り離し、残ったJOBPによってシス
テムを再構築し、処理を継続するプロセッサ構成制御が
必須となる。プロセッサの障害は一般には処理要求に対
して、一定時間以上経過しても処理の完了報告がなされ
ないといったタイムアウト処理などにより検出される。
ム全体が動作不能になることを防ぐため、障害JOBP
をシステムから切り離し、残ったJOBPによってシス
テムを再構築し、処理を継続するプロセッサ構成制御が
必須となる。プロセッサの障害は一般には処理要求に対
して、一定時間以上経過しても処理の完了報告がなされ
ないといったタイムアウト処理などにより検出される。
障害を来したJOBP2の切り離し処理は以下のごとく
処理される。
処理される。
(1)障害JOBP2にて実行中のタスクの処理を打ち
切る。
切る。
(2)他のプロセッサから障害JOBP2に対して発行
されている処理要求データを格納した通信バッファ22
の該データを削除する。
されている処理要求データを格納した通信バッファ22
の該データを削除する。
(3)障害JOBP2から他のプロセッサに対して発行
されている処理要求データを格納した通信ハソファ22
の該データを削除する。
されている処理要求データを格納した通信ハソファ22
の該データを削除する。
(4)障害JOBP2の機能を停止する。
前記(2)、 (3)項の処理は前述した通信バッファ
22の削除方法によって簡単に行うことができる。
22の削除方法によって簡単に行うことができる。
すなわち、(2)項の処理は障害JOBP2のプロセ・
ンザ間通信要求待行列ボインク25に接続されている通
信バッファ22を削除することによって、また(3)項
の処理はMSI上に格納された通信バッファをMSI上
に格納されたプロセッサ間通信要求待行列ポインタから
検索し、そこに示されるプロセッサ番号が、障害JOB
P2のプロセッサ番号と一致するか否かをチエツクする
ことによって、個々の通信要求が障害JOBP2のもの
か否かを検出する。従って、前記通信要求を削除するこ
とによって可能となる。
ンザ間通信要求待行列ボインク25に接続されている通
信バッファ22を削除することによって、また(3)項
の処理はMSI上に格納された通信バッファをMSI上
に格納されたプロセッサ間通信要求待行列ポインタから
検索し、そこに示されるプロセッサ番号が、障害JOB
P2のプロセッサ番号と一致するか否かをチエツクする
ことによって、個々の通信要求が障害JOBP2のもの
か否かを検出する。従って、前記通信要求を削除するこ
とによって可能となる。
従来のプロセッサ間通信方法は以上のように行われてい
るので、1回の通信で1メツセージしか処理できないた
め、1メツセージ毎にプロセッサ間通信を行う必要があ
り、プロセッサ内の処理時間が短い場合にはプロセッサ
間通信に費やされる時間が太き(なり、システムの性能
を高効率運用できない。そして、プロセッサ間でデータ
をパイプライン的に処理しようとした場合には他のプロ
セッサあるいはI10装置からの入力を実行したくても
、処理要求先の処理動作が終了するまで待機しなければ
ならないという課題があった。
るので、1回の通信で1メツセージしか処理できないた
め、1メツセージ毎にプロセッサ間通信を行う必要があ
り、プロセッサ内の処理時間が短い場合にはプロセッサ
間通信に費やされる時間が太き(なり、システムの性能
を高効率運用できない。そして、プロセッサ間でデータ
をパイプライン的に処理しようとした場合には他のプロ
セッサあるいはI10装置からの入力を実行したくても
、処理要求先の処理動作が終了するまで待機しなければ
ならないという課題があった。
この発明は上記のような課題を解消するためになされた
もので、処理要求元のプロセッサのタスクが処理要求先
のプロセッサへ処理の要求をすると、その処理の終了を
待たずに次の処理へ移行できると共に処理要求(メツセ
ージ)伝達時、要求先プロセッサの処理能力に応じて複
数の処理要求を一度に伝達し、プロセッサ間通信に費や
される時間の比率をプロセッサ内の処理時間に比して小
さくできるプロセッサ間通信方法を得ることを目的とす
る。
もので、処理要求元のプロセッサのタスクが処理要求先
のプロセッサへ処理の要求をすると、その処理の終了を
待たずに次の処理へ移行できると共に処理要求(メツセ
ージ)伝達時、要求先プロセッサの処理能力に応じて複
数の処理要求を一度に伝達し、プロセッサ間通信に費や
される時間の比率をプロセッサ内の処理時間に比して小
さくできるプロセッサ間通信方法を得ることを目的とす
る。
この第1の請求項の発明に係るプロセッサ間通信方法は
、複数あるプロセッサのうちの処理要求元プロセッサが
、共有メモリ内の通信バッファに処理内容を書込−in
むと、ただちに処理要求元プロセッサに処理終了を通知
し、処理要求先プロセッサが前記要求された処理内容を
実行した後、該処理要求を待行列から削除するようにし
たものである。
、複数あるプロセッサのうちの処理要求元プロセッサが
、共有メモリ内の通信バッファに処理内容を書込−in
むと、ただちに処理要求元プロセッサに処理終了を通知
し、処理要求先プロセッサが前記要求された処理内容を
実行した後、該処理要求を待行列から削除するようにし
たものである。
この第2の請求項に係る処理要求(メツセージ)伝達時
、共有メモリ内の通信バッファに待行列を生成する際、
指定された処理要求先プロセッサの最大受信メツセージ
数分のメツセージを一度に伝達できるものである。
、共有メモリ内の通信バッファに待行列を生成する際、
指定された処理要求先プロセッサの最大受信メツセージ
数分のメツセージを一度に伝達できるものである。
この第1の請求項の発明におけるプロセッサ間通信方法
は、処理要求元プロセッサから処理要求の通知が来ると
、該処理要求を待行列ボインクヘ接続する。次に処理要
求元プロセッサへ処理の完了通知を出力する。そして、
処理要求先プロセッサへ処理要求通知を出力すると共に
、処理要求先のプロセッサから該処理の終了通知がきた
時点で、上記処理要求を待行列から削除する。
は、処理要求元プロセッサから処理要求の通知が来ると
、該処理要求を待行列ボインクヘ接続する。次に処理要
求元プロセッサへ処理の完了通知を出力する。そして、
処理要求先プロセッサへ処理要求通知を出力すると共に
、処理要求先のプロセッサから該処理の終了通知がきた
時点で、上記処理要求を待行列から削除する。
第2の請求項の発明に係る共有メモリ内の通信バッファ
に待行列を生成する際、処理要求先プロセッサの最大受
信メツセージを指定し、処理要求先からの受信要求時に
その待行列から最大受信メンセージ数分のメツセージを
一度に伝達できるようにする。
に待行列を生成する際、処理要求先プロセッサの最大受
信メツセージを指定し、処理要求先からの受信要求時に
その待行列から最大受信メンセージ数分のメツセージを
一度に伝達できるようにする。
[発明の実施例〕
以下、この発明の一実施例を図について説明する。回申
、第6図と同一・の部分は同一の符号をもって図示した
第1図において、100はシステl、コンI・ローラ(
以下、SCMと略称)、101〜104はプロセッサ(
以下、CP [Jと略称)、110はI10コントロー
ラ、111.112は入出力装置である。
、第6図と同一・の部分は同一の符号をもって図示した
第1図において、100はシステl、コンI・ローラ(
以下、SCMと略称)、101〜104はプロセッサ(
以下、CP [Jと略称)、110はI10コントロー
ラ、111.112は入出力装置である。
また、第2図において、22aは第1の通信バッファ、
22 bは第2の通信ハソファ、24aは第1の待行列
ポインタ、24bは第2の待行列ポインタ、26a、2
6bはメイルボックス管理チーフルである。
22 bは第2の通信ハソファ、24aは第1の待行列
ポインタ、24bは第2の待行列ポインタ、26a、2
6bはメイルボックス管理チーフルである。
次に動作について説明する。まず、ここでは説明を簡単
にするために、プロセッサの数を4台に限定した例につ
いて説明する。
にするために、プロセッサの数を4台に限定した例につ
いて説明する。
第1図に示すような、高速ハス6にSCMloo、第1
のCPUl0I〜第4のCPUl0/I、共有メモリi
I10コントローラ11Oが接続されたシステムに
おいて、第1のc、 T)U l (l I〜第4のC
P U l 04の間で行うプロセンサ間通信方法は以
下のようにして行われる。ずなわら、SCMlooはこ
の発明にかかるプロセンリ゛間通(、i方法の全体制御
を行うもので、該CPU101〜]04への仕事の分用
、例えば、入出力装置111 112からのプログラム
の読込めと、イのプロゲラJ、を該C1)Lノ101〜
104ハ、、 o −)する機能を有する。いま、第1
のCPUl0I−9は仕事Δを、第2のCPU102’
\は仕事Bを、第3のCP 1.J 103へは仕事C
を与え、また、第4のCPU104へは仕事を与えてい
ないものとする。ここで、仕事AはI10コンl−+1
−ラ110からの入力データを処理し7て結果を仕事B
へ渡し、仕事Bは仕事へからの入力データを処理して結
果を仕事Cへ渡し、仕事Cは仕事Bからの入力データを
処理して結果をI10コントローラ1、10へ渡すもの
とする。
のCPUl0I〜第4のCPUl0/I、共有メモリi
I10コントローラ11Oが接続されたシステムに
おいて、第1のc、 T)U l (l I〜第4のC
P U l 04の間で行うプロセンサ間通信方法は以
下のようにして行われる。ずなわら、SCMlooはこ
の発明にかかるプロセンリ゛間通(、i方法の全体制御
を行うもので、該CPU101〜]04への仕事の分用
、例えば、入出力装置111 112からのプログラム
の読込めと、イのプロゲラJ、を該C1)Lノ101〜
104ハ、、 o −)する機能を有する。いま、第1
のCPUl0I−9は仕事Δを、第2のCPU102’
\は仕事Bを、第3のCP 1.J 103へは仕事C
を与え、また、第4のCPU104へは仕事を与えてい
ないものとする。ここで、仕事AはI10コンl−+1
−ラ110からの入力データを処理し7て結果を仕事B
へ渡し、仕事Bは仕事へからの入力データを処理して結
果を仕事Cへ渡し、仕事Cは仕事Bからの入力データを
処理して結果をI10コントローラ1、10へ渡すもの
とする。
S CM 1.00はCI)0101〜104からの要
1 ] 求により、共有メモリ1内に処理要求の待行列を生成す
る。処理要求元のCP Uば、メイルボックスの生成を
SCMlooに依頼すると共に処理要求先のCII)
Uもそれぞれメイルボックスに関する待行列の生成を、
SCMlooに依頼する。今、処理要求元である第1の
CPUl0Iおよび第2のCI)tJ 102よりメイ
ルボックス生成の依頼が行われ、他方、処理要求先であ
る第2のCPU102より前記メイルボックスに関する
待行列の生成か行われるとき、最大受信メツ−1ど−ジ
数−・1が指定され、また第3のCP U 103より
前記メイルボックスに関する待行列の生成か行われると
き、最大受信メツセージ数−2が指定されたとすると、
SCMlooの動作により、該共有メモリ1内にメイル
ボックス管理テーブル26a、26[)および該メイル
ボックスに対比、する第1および第2の待行列ポインタ
24aおよび24bが生成1呆れる(、−二こで、SC
Mlooば処理要求(メン!−−−づ/)の送信および
受信の機能を併−I遍イ1するもの2−・“1−る)。
1 ] 求により、共有メモリ1内に処理要求の待行列を生成す
る。処理要求元のCP Uば、メイルボックスの生成を
SCMlooに依頼すると共に処理要求先のCII)
Uもそれぞれメイルボックスに関する待行列の生成を、
SCMlooに依頼する。今、処理要求元である第1の
CPUl0Iおよび第2のCI)tJ 102よりメイ
ルボックス生成の依頼が行われ、他方、処理要求先であ
る第2のCPU102より前記メイルボックスに関する
待行列の生成か行われるとき、最大受信メツ−1ど−ジ
数−・1が指定され、また第3のCP U 103より
前記メイルボックスに関する待行列の生成か行われると
き、最大受信メツセージ数−2が指定されたとすると、
SCMlooの動作により、該共有メモリ1内にメイル
ボックス管理テーブル26a、26[)および該メイル
ボックスに対比、する第1および第2の待行列ポインタ
24aおよび24bが生成1呆れる(、−二こで、SC
Mlooば処理要求(メン!−−−づ/)の送信および
受信の機能を併−I遍イ1するもの2−・“1−る)。
ずなわち、SCMIO(lはCP LJ101〜104
からのメソセージ送信要求を受iJると、そのメツセー
ジを共有メモリ1内の通’12”ッファへ格納する。そ
してCI) U ] 01〜104からの受信要求を受
けると、前記メ・ノセージを格納しておいた通信バッフ
ァの内容を取り出し、CP U 101〜104に与え
る。
からのメソセージ送信要求を受iJると、そのメツセー
ジを共有メモリ1内の通’12”ッファへ格納する。そ
してCI) U ] 01〜104からの受信要求を受
けると、前記メ・ノセージを格納しておいた通信バッフ
ァの内容を取り出し、CP U 101〜104に与え
る。
次に実際のプロセッサ間通信を第2図を参照して説明す
る。
る。
第1のCP U 101 、、、J−の什事へがI /
O:l 7 ドロー・う110からの入力データを処
理し、そのII!i果を第2のCPUIO2へ渡すため
ζこSCM]、0(]に対しメツセージの送信を要求す
ると、該30M100はそのメツセージを第1(7]4
)行列ポインタ24aの第1の通信ハンファfg 7
dに格納する。
O:l 7 ドロー・う110からの入力データを処
理し、そのII!i果を第2のCPUIO2へ渡すため
ζこSCM]、0(]に対しメツセージの送信を要求す
ると、該30M100はそのメツセージを第1(7]4
)行列ポインタ24aの第1の通信ハンファfg 7
dに格納する。
第1のCP U 101.−1の仕事Aは一上記格納終
了通知を受は取ると、引き続きl / O]ントローラ
110からの人力データを受U取り、そのテークの処理
を行う。
了通知を受は取ると、引き続きl / O]ントローラ
110からの人力データを受U取り、そのテークの処理
を行う。
次に、第2のCP U 102+のイ1事Bがメ・/1
でシ受信要求をSCMI006JMして行うと、8CM
looは第1の待行列ポインタ24aの第1の通信バッ
ファ22aから1つのメツセージを取り出して第2のC
PU102へ渡す。メツセージを受けた第2のCPU1
.02では、仕事Bが上記メツセージを基に処理を行い
、その結果を第3のCPU103へ渡すためにSCMl
ooに対しメツセージを送信要求する。要求を受けたS
CMlooはそのメツセージを第2の待行列ポインタ2
4bの第2の通信バ・ンファ22bに格納する。
でシ受信要求をSCMI006JMして行うと、8CM
looは第1の待行列ポインタ24aの第1の通信バッ
ファ22aから1つのメツセージを取り出して第2のC
PU102へ渡す。メツセージを受けた第2のCPU1
.02では、仕事Bが上記メツセージを基に処理を行い
、その結果を第3のCPU103へ渡すためにSCMl
ooに対しメツセージを送信要求する。要求を受けたS
CMlooはそのメツセージを第2の待行列ポインタ2
4bの第2の通信バ・ンファ22bに格納する。
次に、第3のCPU103上の仕事Cがメツセージ受信
要求をSCMlooに対して行うと、SCMlooは第
2の待行列ポインタ24bの第2の通信バッファ22b
からメツセージを取り出すが、このとき最大受信メツセ
ージ数−2であるので、待行列内に2個以上のメツセー
ジがあれば、2個のメツセージを取り出して、第3のC
PU103へ渡す。メツセージを受けた第3のCPU1
03では、仕事Cが上記メツセージを基に処理を行い、
その結果をI10コントローラ110へ出力し、続けて
第2のCPU102からのメツセージを待つ。
要求をSCMlooに対して行うと、SCMlooは第
2の待行列ポインタ24bの第2の通信バッファ22b
からメツセージを取り出すが、このとき最大受信メツセ
ージ数−2であるので、待行列内に2個以上のメツセー
ジがあれば、2個のメツセージを取り出して、第3のC
PU103へ渡す。メツセージを受けた第3のCPU1
03では、仕事Cが上記メツセージを基に処理を行い、
その結果をI10コントローラ110へ出力し、続けて
第2のCPU102からのメツセージを待つ。
このとき、SCMlooは第3図のフローチャートに示
すような順序で動作をする。すなわち、他のCPUから
の割り込のを検知すると(ステップ5TI)、その割り
込みの内容がどのような要求のものであるかを判断する
(ステップ5T2)。
すような順序で動作をする。すなわち、他のCPUから
の割り込のを検知すると(ステップ5TI)、その割り
込みの内容がどのような要求のものであるかを判断する
(ステップ5T2)。
その結果、処理要求元のCPUから処理要求先への送信
命令であれば、該送信メツセージを待行列にキューイン
グする(ステップ5T3)。割り込みが処理要求先から
の受信要求であれば、最大受信メツセージ数の判定を行
い(ステップ5T4)、待行列からメツセージをその最
大受信メツセージ数分取り出し、該処理要求元のCPU
へ通知する(ステップ5T5)。SCMlooは前記処
理要求元および処理要求先との送受信処理をくり返す。
命令であれば、該送信メツセージを待行列にキューイン
グする(ステップ5T3)。割り込みが処理要求先から
の受信要求であれば、最大受信メツセージ数の判定を行
い(ステップ5T4)、待行列からメツセージをその最
大受信メツセージ数分取り出し、該処理要求元のCPU
へ通知する(ステップ5T5)。SCMlooは前記処
理要求元および処理要求先との送受信処理をくり返す。
このようにして、第1のCPUl0Iから第2のCPU
102、第20CPUI02から第3のCPUI O3
への通信が行われる。また、割り込みがメツセージの削
除要求であれば、該当する待行列から所定個数のメツセ
ージを削除する(ステップ5T6)。
102、第20CPUI02から第3のCPUI O3
への通信が行われる。また、割り込みがメツセージの削
除要求であれば、該当する待行列から所定個数のメツセ
ージを削除する(ステップ5T6)。
次に、障害時の処理を第4図を参照して以下に説明する
。
。
例えば、第2のCPU102に障害が発生したとする。
この場合箱4のCPU104は待機CPUであるので、
通常はなんの処理も行っていない。
通常はなんの処理も行っていない。
そこで、SCMIOQは第2のCPU102に障害が発
生ずると、その仕事を待機CPUに引き継がせる処理動
作を行う。すなわち、第4図はこの間のSCMlooの
動作を示したフローチャートである。まず、CPUに障
害が発生すると、待機CPUが有れば障害CPUと同一
の仕事を待機CPU4こ与える(ステップST20〜5
T22)。
生ずると、その仕事を待機CPUに引き継がせる処理動
作を行う。すなわち、第4図はこの間のSCMlooの
動作を示したフローチャートである。まず、CPUに障
害が発生すると、待機CPUが有れば障害CPUと同一
の仕事を待機CPU4こ与える(ステップST20〜5
T22)。
待機CPUは待行列生成要求を行う(ステップ5T23
)、障害CPUの処理要求を待機CPUの待行列へ接続
する(ステップ5T24)。その後、障害CPUのメツ
セージは待行列から削除される(ステップ5T25)。
)、障害CPUの処理要求を待機CPUの待行列へ接続
する(ステップ5T24)。その後、障害CPUのメツ
セージは待行列から削除される(ステップ5T25)。
このようにすることによって、木来第2のCPU102
が処理する予定でSCMlooが待行列に接続していた
未処理のメツセージも、待機CPUに引き継がれ処理さ
れる。
が処理する予定でSCMlooが待行列に接続していた
未処理のメツセージも、待機CPUに引き継がれ処理さ
れる。
また、待行列にキューイングされたメツセージを削除す
るタイミングとしては、処理要求先CPUが該当処理を
終了した時点でSC’M100に対して削除要求を出力
し、その命令をもとにSCMlooがメツセージを待行
列から削除する方法もあるが、他の方法として第5図に
示すように、削除要求の代わりに、処理要求先CPUが
該当処理を終了してその結果を他のCPUへ渡すその時
にSCMlooへ出力する送信要求の中に削除する待行
列の情報を含ませることによって、SCMIOQ内で待
行列を削除するようにしてもよい(ステップST33〜
5T35)。
るタイミングとしては、処理要求先CPUが該当処理を
終了した時点でSC’M100に対して削除要求を出力
し、その命令をもとにSCMlooがメツセージを待行
列から削除する方法もあるが、他の方法として第5図に
示すように、削除要求の代わりに、処理要求先CPUが
該当処理を終了してその結果を他のCPUへ渡すその時
にSCMlooへ出力する送信要求の中に削除する待行
列の情報を含ませることによって、SCMIOQ内で待
行列を削除するようにしてもよい(ステップST33〜
5T35)。
また、上記実施例では、共有メモリ内の通信バッファに
待行列を生成する際に処理要求先プロセッサの最大受信
メツセージ数を指定し、処理要求先からの受信要求があ
った場合、最大受信メツセージ数の判定を行い、そのメ
ツセージ数分−度に伝達することによってプロセッサ間
通信時間の短縮を図るようにしたが、最大受信メツセー
ジ数の指定の方法はどのようなものであっても上記実施
例と同様の効果を奏する。例えば、最大受信メンセージ
を指定しなくてもよく、その場合には、所定数の処理要
求が伝達される。
待行列を生成する際に処理要求先プロセッサの最大受信
メツセージ数を指定し、処理要求先からの受信要求があ
った場合、最大受信メツセージ数の判定を行い、そのメ
ツセージ数分−度に伝達することによってプロセッサ間
通信時間の短縮を図るようにしたが、最大受信メツセー
ジ数の指定の方法はどのようなものであっても上記実施
例と同様の効果を奏する。例えば、最大受信メンセージ
を指定しなくてもよく、その場合には、所定数の処理要
求が伝達される。
〔発明の効果]
以上のように、この第1および第2の請求項の発明によ
れば、処理要求元のプロセッサからの送信メツセージを
待行列にキューイングするとともに処理要求元のプロセ
ッサに直ちに処理終了を通知し、処理が終了したら、該
メツセージを待行列から破棄するようにし、処理要求元
のプロセッサは待行列削除の時点まで待つ必要がないよ
うに構成したので、マルチブロセッザ間の通信効率が向
上し、処理が節j41で、かつ完全な処理を行うことが
できる。さらに、処理要求先のプロセッサの能力に応じ
て処理量を調整できるようにしたので、マルチプロセッ
サシステムの性能を向」二できる効果がある。
れば、処理要求元のプロセッサからの送信メツセージを
待行列にキューイングするとともに処理要求元のプロセ
ッサに直ちに処理終了を通知し、処理が終了したら、該
メツセージを待行列から破棄するようにし、処理要求元
のプロセッサは待行列削除の時点まで待つ必要がないよ
うに構成したので、マルチブロセッザ間の通信効率が向
上し、処理が節j41で、かつ完全な処理を行うことが
できる。さらに、処理要求先のプロセッサの能力に応じ
て処理量を調整できるようにしたので、マルチプロセッ
サシステムの性能を向」二できる効果がある。
第1図はこの発明の−・実施例によるマルチプロセッサ
システムの構成図、第2図はブロセ、ザ間通信のデータ
の待行列・・、の接続方法の一例を示す説明図、第3図
および第5図はこの発明の動作を示すフローチャー1・
、第4図はプロセラ・す°障害11.%の処理のフロー
チャー1・、第6図は従来のプロセッサシステムの構成
図、第7図はブロセソザ間通信方法のデータ流れ図であ
る。 ■は共有メモリ、6は高速ハス、100はシステムコン
トローラ、]、 01〜104ばプロセッサ、24a、
24bは待行列ポインタである。 なお、図中、同一符号は同一・、又は相当部分を示す。 特許出願人 ■菱電機株式会社 24o 、24b : iL+2iイ4nWjl爪°イ
〉ノ図 第 図
システムの構成図、第2図はブロセ、ザ間通信のデータ
の待行列・・、の接続方法の一例を示す説明図、第3図
および第5図はこの発明の動作を示すフローチャー1・
、第4図はプロセラ・す°障害11.%の処理のフロー
チャー1・、第6図は従来のプロセッサシステムの構成
図、第7図はブロセソザ間通信方法のデータ流れ図であ
る。 ■は共有メモリ、6は高速ハス、100はシステムコン
トローラ、]、 01〜104ばプロセッサ、24a、
24bは待行列ポインタである。 なお、図中、同一符号は同一・、又は相当部分を示す。 特許出願人 ■菱電機株式会社 24o 、24b : iL+2iイ4nWjl爪°イ
〉ノ図 第 図
Claims (2)
- (1)複数のプロセッサが共通に参照し得る共有メモリ
を使用して前記各プロセッサ間の通信を行うマルチプロ
セッサ間通信方法において、前記共有メモリ上に、処理
要求を受けるプロセッサ単位に存在する待行列ポインタ
及び処理要求内容を格納する複数の通信バッファを設け
、前記複数のプロセッサのうちで他のプロセッサに対し
処理要求の内容を送信するプロセッサは対応する前記通
信バッファに処理内容を記憶し、前記処理要求の待行列
ポインタを始点として複数の通信バッファを順次待行列
構造に形成し、前記処理要求を前記通信バッファを介し
要求先プロセッサに伝達するとともに、前記要求元プロ
セッサに処理終了通知を通知することを特徴とするプロ
セッサ間通信方法。 - (2)複数のプロセッサが共通に参照し得る共有メモリ
を使用して前記各プロセッサ間の通信を行うマルチプロ
セッサ間通信方法において、前記共有メモリ上に、処理
要求を受けるプロセッサ単位に存在する待行列ポインタ
及び処理要求内容を格納する複数の通信バッファを設け
、前記複数のプロセッサのうちで他のプロセッサに対し
処理要求の内容を送信するプロセッサは対応する前記通
信バッファに処理内容を記憶し、前記処理要求の待行列
ポインタを始点として複数の通信バッファを順次待行列
構造に形成し、前記通信バッファに格納された処理要求
を該処理要求先プロセッサに伝達し、前記待行列構造に
形成した通信バッファから複数の前記処理要求を一度に
伝達することを特徴とするプロセッサ間通信方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3228789 | 1989-02-10 | ||
| JP1-32287 | 1989-02-10 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02288937A true JPH02288937A (ja) | 1990-11-28 |
Family
ID=12354749
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP18402189A Pending JPH02288937A (ja) | 1989-02-10 | 1989-07-17 | プロセッサ間通信方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02288937A (ja) |
-
1989
- 1989-07-17 JP JP18402189A patent/JPH02288937A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3156083B2 (ja) | フォルトトレラント・コンピュータ装置 | |
| EP0319034B1 (en) | Method of recovering failure of online control program | |
| JP2003131900A (ja) | サーバシステム運用管理方式 | |
| JPH0689241A (ja) | データ処理システム | |
| JP3490473B2 (ja) | プロセッサ間通信システム | |
| US5377342A (en) | Method of controlling a duplex data storage system and data processing system using the same | |
| JPH02288937A (ja) | プロセッサ間通信方法 | |
| CN101661403B (zh) | 基于替代服务模型的实时网格事务管理系统 | |
| US20090217290A1 (en) | Method and System for Task Switching with Inline Execution | |
| JPS6239789B2 (ja) | ||
| JPH02266457A (ja) | 処理の継続実行方法 | |
| US20090019259A1 (en) | Multiprocessing method and multiprocessor system | |
| JPS62126457A (ja) | 分散デ−タ処理方式 | |
| JPH02284257A (ja) | プロセッサ間通信方式 | |
| JP2569026B2 (ja) | マルチコンピュータシステムのプログラム実行方法 | |
| JPS6385939A (ja) | 情報処理システム | |
| JPH06230995A (ja) | 二重化プロセッサ装置 | |
| JPS59188749A (ja) | デ−タ転送制御方式 | |
| JP2003005987A (ja) | エミュレーション装置 | |
| JPH03148747A (ja) | プロセッサ間通信方式 | |
| JP3130892B2 (ja) | 二重化システム | |
| JPH02188863A (ja) | マルチプロセッサシステム | |
| JP3373323B2 (ja) | 通信制御装置情報の自動収集方法 | |
| JP2512847B2 (ja) | デ―タ通信システムのメッセ―ジ制御方式 | |
| JPH07234850A (ja) | マルチプロセッサの装置と方法 |