JPH02284257A - プロセッサ間通信方式 - Google Patents
プロセッサ間通信方式Info
- Publication number
- JPH02284257A JPH02284257A JP10630389A JP10630389A JPH02284257A JP H02284257 A JPH02284257 A JP H02284257A JP 10630389 A JP10630389 A JP 10630389A JP 10630389 A JP10630389 A JP 10630389A JP H02284257 A JPH02284257 A JP H02284257A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- processing
- queue
- communication
- message
- 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
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、マルチプロセッサシステムにおけるプロセ
ッサ間通信方式に関するものである。
ッサ間通信方式に関するものである。
マルチプロセッサシステムの目的は、システムの機能を
複数のプロセッサに分割してシステム構成し各々のプロ
セッサにJOBを分担実行させることによって高速処理
を行わせ、かつ、同様機能を有するプロセッサを複数配
置することによって、一部プロセッサの障害時のバック
アップを行うことによシ、システムの高信頼化を実現す
ることにある。
複数のプロセッサに分割してシステム構成し各々のプロ
セッサにJOBを分担実行させることによって高速処理
を行わせ、かつ、同様機能を有するプロセッサを複数配
置することによって、一部プロセッサの障害時のバック
アップを行うことによシ、システムの高信頼化を実現す
ることにある。
マルチプロセッサシステムにおいては、各フロセッサ間
の通信は必須であるが、従来、この種のものとしては、
次のようなものがあった。
の通信は必須であるが、従来、この種のものとしては、
次のようなものがあった。
第6図及び第7図は、何れも特公昭62−39789号
公報に示された従来のプロセッサ間通信方式を示す図で
あシ、第6図はマルチプロセッサシステムの構成図、第
7図はプロセッサ間通信の概要を示す。第6図において
、(1)は共有メモIJ 、+21はジョブプロセッサ
(以下JOBPと略称する。)、(3)はファイル制御
プロセッサ、14)は入出力制御プロセッサ(以下IO
Pと略称する。)、(5)は通信制御プロセッサ、(6
)は高速バス、(7)はファイル、(8)はIloのリ
ングバス、(9)は入出力装置(Ilo ) 、すQは
通信バッファ、aυは他システムを示す。また、第7図
において、(9)は入出力装[(IloL(イ)は通信
バッファ、■はデバイス制御テーブル、(ハ)はIOP
用プロセッサ間通信の待行列ポ・fンタ、(至)はJO
BP用プロセッサ間通信の待行列ポインタであるO 次に動作について説明する。第7図において、Iloの
リングバス(8)を介して各種I10装置を駆動及び割
込み処理などの機能を実行するI OP +41とJO
BPt21との間の入出力実行制御におけるプロセッサ
間通信方式を説明する。
公報に示された従来のプロセッサ間通信方式を示す図で
あシ、第6図はマルチプロセッサシステムの構成図、第
7図はプロセッサ間通信の概要を示す。第6図において
、(1)は共有メモIJ 、+21はジョブプロセッサ
(以下JOBPと略称する。)、(3)はファイル制御
プロセッサ、14)は入出力制御プロセッサ(以下IO
Pと略称する。)、(5)は通信制御プロセッサ、(6
)は高速バス、(7)はファイル、(8)はIloのリ
ングバス、(9)は入出力装置(Ilo ) 、すQは
通信バッファ、aυは他システムを示す。また、第7図
において、(9)は入出力装[(IloL(イ)は通信
バッファ、■はデバイス制御テーブル、(ハ)はIOP
用プロセッサ間通信の待行列ポ・fンタ、(至)はJO
BP用プロセッサ間通信の待行列ポインタであるO 次に動作について説明する。第7図において、Iloの
リングバス(8)を介して各種I10装置を駆動及び割
込み処理などの機能を実行するI OP +41とJO
BPt21との間の入出力実行制御におけるプロセッサ
間通信方式を説明する。
第7図中、実線の矢印はデータの流れを、破線の矢印は
制御信号の流れを示す。
制御信号の流れを示す。
第8図は1把プロセッサ間通信の概要を表わすフローチ
ャートである。
ャートである。
ユーザタスクの処理を行うJOBP12>ではユーザタ
スクから発行された入出力要求マクロ命令によって、入
出力実行に必要なプロセッサ番号(以下0PUIDと略
称する)を含む制御清報を通信バッファ(イ)に作成H
1Iop+4)用プロセッサ間通信の待行列ポインタ@
に接続しくPL)、l014)に対してプロセッサ間連
絡刷込み(P2)をかける。この後、ユーザタスクはプ
ログラム処理と入出力実行処理との同期を取るために入
出力実行処理待となり、他のタスクに制御が移る。
スクから発行された入出力要求マクロ命令によって、入
出力実行に必要なプロセッサ番号(以下0PUIDと略
称する)を含む制御清報を通信バッファ(イ)に作成H
1Iop+4)用プロセッサ間通信の待行列ポインタ@
に接続しくPL)、l014)に対してプロセッサ間連
絡刷込み(P2)をかける。この後、ユーザタスクはプ
ログラム処理と入出力実行処理との同期を取るために入
出力実行処理待となり、他のタスクに制御が移る。
工o p (4)においては、J OB P +21か
らのプロセッサ間連絡側込み(P2)を受けて、自フ゛
ロセツサへのプロセッサ間通信の待行列ポインタ(ハ)
に接続されている通信バッファ■から要求されたI10
デバイス番号を取シ出し、デバイス制御テーブル(DV
CB)四によってIlo (91が使用中か否かを調べ
る。
らのプロセッサ間連絡側込み(P2)を受けて、自フ゛
ロセツサへのプロセッサ間通信の待行列ポインタ(ハ)
に接続されている通信バッファ■から要求されたI10
デバイス番号を取シ出し、デバイス制御テーブル(DV
CB)四によってIlo (91が使用中か否かを調べ
る。
Ilo +91が使用中でなければ、通信バッファ(ホ
)の制御清報からIlo (91に渡す入出力動作指令
及びデータを作成しくP3) Ilo (91に対して
起動指令を送出する。(P4) Ilo +91では入出力動作完了後I OP (4)
に対して入出力終了報告を返す。(P5) I OP t4)ではIlo (91からの入出力終了
報告を受けて、入出力結果を通信バッファ(財)へ格納
しくP6)、該通信バッファe4をJ OB P Ic
りのプロセッサ間通信待行列ポインタ(ハ)に接続しく
P7)、J OB P 12)に対して、プロ七ツサ間
通信連絡割込み(P8)をかける。
)の制御清報からIlo (91に渡す入出力動作指令
及びデータを作成しくP3) Ilo (91に対して
起動指令を送出する。(P4) Ilo +91では入出力動作完了後I OP (4)
に対して入出力終了報告を返す。(P5) I OP t4)ではIlo (91からの入出力終了
報告を受けて、入出力結果を通信バッファ(財)へ格納
しくP6)、該通信バッファe4をJ OB P Ic
りのプロセッサ間通信待行列ポインタ(ハ)に接続しく
P7)、J OB P 12)に対して、プロ七ツサ間
通信連絡割込み(P8)をかける。
I OP t4)からのプロセッサ間連絡側込みを受け
7’c J OB P +21では、自プロセッサへの
プロセッサ間通信待行列ポインタ(イ)に接続されてい
る通信バッファ四を待行列からすIノ除しくP9 )
、入出力処理結果を入出力要求マクロ命令発行タスクに
リターンコードとして返し、タスクの入出力実行縫子待
状態を解除する。これによって一連のI10入出力実行
側御が完結する。
7’c J OB P +21では、自プロセッサへの
プロセッサ間通信待行列ポインタ(イ)に接続されてい
る通信バッファ四を待行列からすIノ除しくP9 )
、入出力処理結果を入出力要求マクロ命令発行タスクに
リターンコードとして返し、タスクの入出力実行縫子待
状態を解除する。これによって一連のI10入出力実行
側御が完結する。
マルチプロセッサシステムでは、処理能力及び信頼性の
向上を目的として、複数のJOBFを使用してシステム
を構成する場合がある。この時には、−台のJOBPの
障害によってシステム全体が動作不能になることを防ぐ
ため、障害JOBPをシステムから切り離し、残ったJ
OBPによってシステムを再構成し、処理を継続するプ
ロセッサ構成制御が必須となる。プロセッサの障害は一
般には処理要求に対して、一定時間以上経過しても処理
の完了報告がなされないといったタイムアウト処理など
により検出される。ここで障害のJOBPの切り離し処
理について説明する。
向上を目的として、複数のJOBFを使用してシステム
を構成する場合がある。この時には、−台のJOBPの
障害によってシステム全体が動作不能になることを防ぐ
ため、障害JOBPをシステムから切り離し、残ったJ
OBPによってシステムを再構成し、処理を継続するプ
ロセッサ構成制御が必須となる。プロセッサの障害は一
般には処理要求に対して、一定時間以上経過しても処理
の完了報告がなされないといったタイムアウト処理など
により検出される。ここで障害のJOBPの切り離し処
理について説明する。
ill NWJOBPにて実行中のタスクの処理打ち
切り。
切り。
(2)他のプロセッサから障害JOBFに対して発行さ
れている処理要求を格納した通信バッファの削除。
れている処理要求を格納した通信バッファの削除。
(3) 障害JOBPから他のプロセッサに対して発
行されている処理41水を格納した通信バッファの削除
。
行されている処理41水を格納した通信バッファの削除
。
(4)障害JOBPの停止。
+21 、 +31項の処理は前述した通信バッファの
削除方法によって簡単に行うことができる。すなわち、
(2)項の処理は障害JOBPのプロセッサ間通信要求
待行列ポインタに接続されている通信バッファを削除す
ることによって行なわれる。(3)項の処理は共有メモ
リ五に格納された通信バッファをこれまた共有メモリ上
に格納されたプロセッサ間通信要求待行列ポインタから
検索し、そこに示される要求先プロセッサ番号が、障害
JOBPのプロセッサ番号と一致するか否かをチエツク
することによって、個々の通・15安米が障害JOBP
のものか否かを容易に検出することができ、従って、障
害JOBPの通信バッファを1ユ1」除することによっ
て可能となるO〔発明が解決しようとする課題〕 従来のプロセッサ間通g方式は以上のように構成されて
いるので、処理要求を出したプロセッサ内のタスクは、
処理要求先の処理が終了するまで侍つ必安があり、プロ
セッサ間でデータをパイプライン的に処理する1臥処理
要求先の処理が終了するまで他のプロセッサあるいはI
loからの入力を実行したくてもで@ないという問題が
めった。
削除方法によって簡単に行うことができる。すなわち、
(2)項の処理は障害JOBPのプロセッサ間通信要求
待行列ポインタに接続されている通信バッファを削除す
ることによって行なわれる。(3)項の処理は共有メモ
リ五に格納された通信バッファをこれまた共有メモリ上
に格納されたプロセッサ間通信要求待行列ポインタから
検索し、そこに示される要求先プロセッサ番号が、障害
JOBPのプロセッサ番号と一致するか否かをチエツク
することによって、個々の通・15安米が障害JOBP
のものか否かを容易に検出することができ、従って、障
害JOBPの通信バッファを1ユ1」除することによっ
て可能となるO〔発明が解決しようとする課題〕 従来のプロセッサ間通g方式は以上のように構成されて
いるので、処理要求を出したプロセッサ内のタスクは、
処理要求先の処理が終了するまで侍つ必安があり、プロ
セッサ間でデータをパイプライン的に処理する1臥処理
要求先の処理が終了するまで他のプロセッサあるいはI
loからの入力を実行したくてもで@ないという問題が
めった。
この発明はと記のような間覇点を解消するためになされ
たもので、処理要求元のプロセッサのタスクが処理要求
先のプロセッサへ処理を要求した後、処理要求先のプロ
セッサが異常を起こしたとしても、その処理の終了を待
たずに次の処理へ移れるプロセッサ間通信方式を提供す
るものである。
たもので、処理要求元のプロセッサのタスクが処理要求
先のプロセッサへ処理を要求した後、処理要求先のプロ
セッサが異常を起こしたとしても、その処理の終了を待
たずに次の処理へ移れるプロセッサ間通信方式を提供す
るものである。
この発明に係るプロセッサ間通信方式においては、処理
要求元プロセッサが通信バッファに接続した処9要求の
待行列を、処理要求先プロセッサが、要求された処理を
実行した後削除するようにし、処理要求先プロセッサの
異常時には、処理要求を他のプロセッサの待行列へ接続
し直すようにしたものである。
要求元プロセッサが通信バッファに接続した処9要求の
待行列を、処理要求先プロセッサが、要求された処理を
実行した後削除するようにし、処理要求先プロセッサの
異常時には、処理要求を他のプロセッサの待行列へ接続
し直すようにしたものである。
この発明におけるシステムコントローラは、処理要求元
プロセッサから処理要求メツセージが来たとき、この処
理要求を処理要求先プロセッサの処理要求待行列へ接続
した後、処理要求元プロセッサへ処理接続完了通知を、
また処理要求先プロセッサへ処理要求メツセージを出力
する。処理要求先プロセッサから前記処理の終了メツセ
ージがきた時点で、上記処理要求を待行列から削除する
とともに、障害プロセッサを検出した場合、このプロセ
ッサに接続される処理要求を他のIF常なプロセッサの
処理要求待行列に接続し直す働きを持つ0 〔発明の実施例〕 以下、この発明の一実施例を図について説明する。第1
図はこの発明が適用されるマルチプロセッサシステムの
jA成の一例を示すものである。第1図において、(1
)は共有メモリ、(100)はシステムコントローラ(
以下S CMと略称する。)、(101)〜(104)
はプロセッサ(以下CPUと略称する。)、(110)
はI10コントローラ、(111)、(112)は入出
力装置(以下I10と略称する0 )である0第2図は
、@1図の#−有メモリ+11 kにタスクの数に合わ
せてシステム生成した待行列である。図において、(2
21a) 、 (221b)、 (222a ) 、
(223a ) 、 (223b) 、 (223c
)は通信バッファで、各々の内容は3分割され、最下位
桁が1の例えば(221al)は次通信バッファポイン
タであシ、最下位桁が2である(221a2)は前辿信
バッファポインタであり、最下位桁が3でおる( 22
1a3 )は通信メツセージである。(241)〜(2
44)は待行列ポインタで、同様に各々の内容は4分割
され、Lから最下位桁1の(2411)〜(2441)
ばCPU ID、最下位桁2の(2412)〜(244
2)は次位行列ポインタ、最下位桁3の(2413)〜
(2443)は前待行列ポインタ、最下位桁4の(24
14)〜(2444)は先頭it’d 個バッファポイ
ンタである0(261)〜(264)は待行列ポインタ
で、同様に各々の内容は5分′Jllされ、1から最下
位桁1の(2611)〜(2641)はメイルボックス
よりX最下位桁2の(2612)〜(2642)はCP
U IDマツプ、最下位桁3の(2613)〜(264
3)はメツセージ数、最下位桁4の(2514)〜(2
644)はメツセージサイズ、最下位桁5の(2615
>〜(2645)は先頭待行タリポインタである3次に
動作について説明する。本説明においては、説明をf簡
単にするために、プロセッサの数を4台としている。
プロセッサから処理要求メツセージが来たとき、この処
理要求を処理要求先プロセッサの処理要求待行列へ接続
した後、処理要求元プロセッサへ処理接続完了通知を、
また処理要求先プロセッサへ処理要求メツセージを出力
する。処理要求先プロセッサから前記処理の終了メツセ
ージがきた時点で、上記処理要求を待行列から削除する
とともに、障害プロセッサを検出した場合、このプロセ
ッサに接続される処理要求を他のIF常なプロセッサの
処理要求待行列に接続し直す働きを持つ0 〔発明の実施例〕 以下、この発明の一実施例を図について説明する。第1
図はこの発明が適用されるマルチプロセッサシステムの
jA成の一例を示すものである。第1図において、(1
)は共有メモリ、(100)はシステムコントローラ(
以下S CMと略称する。)、(101)〜(104)
はプロセッサ(以下CPUと略称する。)、(110)
はI10コントローラ、(111)、(112)は入出
力装置(以下I10と略称する0 )である0第2図は
、@1図の#−有メモリ+11 kにタスクの数に合わ
せてシステム生成した待行列である。図において、(2
21a) 、 (221b)、 (222a ) 、
(223a ) 、 (223b) 、 (223c
)は通信バッファで、各々の内容は3分割され、最下位
桁が1の例えば(221al)は次通信バッファポイン
タであシ、最下位桁が2である(221a2)は前辿信
バッファポインタであり、最下位桁が3でおる( 22
1a3 )は通信メツセージである。(241)〜(2
44)は待行列ポインタで、同様に各々の内容は4分割
され、Lから最下位桁1の(2411)〜(2441)
ばCPU ID、最下位桁2の(2412)〜(244
2)は次位行列ポインタ、最下位桁3の(2413)〜
(2443)は前待行列ポインタ、最下位桁4の(24
14)〜(2444)は先頭it’d 個バッファポイ
ンタである0(261)〜(264)は待行列ポインタ
で、同様に各々の内容は5分′Jllされ、1から最下
位桁1の(2611)〜(2641)はメイルボックス
よりX最下位桁2の(2612)〜(2642)はCP
U IDマツプ、最下位桁3の(2613)〜(264
3)はメツセージ数、最下位桁4の(2514)〜(2
644)はメツセージサイズ、最下位桁5の(2615
>〜(2645)は先頭待行タリポインタである3次に
動作について説明する。本説明においては、説明をf簡
単にするために、プロセッサの数を4台としている。
第1図に示すような、高速バス(6)にSCM(100
)、0PUI(101)〜CP U 4 (104)、
攻有メモリ(1)、工/○コントローラ(110)が接
続されたシステムにおいて、CPUI(101)〜CP
U4(104)の間でのプロセッサ間通信方式につき1
明する。
)、0PUI(101)〜CP U 4 (104)、
攻有メモリ(1)、工/○コントローラ(110)が接
続されたシステムにおいて、CPUI(101)〜CP
U4(104)の間でのプロセッサ間通信方式につき1
明する。
SOM(100)は本発明に係るノロセッサ間通信方式
の全体の制御を行うものである。まず、SCM(1oO
)の機能につき説明する。
の全体の制御を行うものである。まず、SCM(1oO
)の機能につき説明する。
SOM(100)は各CPUへの仕事の分担を行う。
SCM(100)は入出力装置r< Ilo (111
>、(112)からプログラムを抗み、それを各C?u
ヘコードすることによ!ll各CPLIへの仕事の分担
金行う機能をもつ。
>、(112)からプログラムを抗み、それを各C?u
ヘコードすることによ!ll各CPLIへの仕事の分担
金行う機能をもつ。
いま、CPUI(101)へは仕舅番A了、c p U
2 (102)−\は仕41Bケ、CP U 3 (
103)へVよ仕51Cを、また、CPU4(104)
へは何も仕事−と与えでいないものとする。ここで、仕
−j!AはIloからの入力データを処理して結果を仕
4Bへ渡し、仕3J)Bは仕事Aからの入力データを処
理して結果を仕)Cへ渡し、仕事Cは仕事Bからの入力
データを処理して結果をIloへ渡すものとする0 SCM(100)ばCPU(101)〜(104)から
の要求により、共有メモ!Jtll内に処理要求の待行
列(詳細をg2図に示す)を生成するり処理・決求元の
各CPUは、待行列管理テーブルの生成を、処理友火先
の各CPUば、待行列管理テーブルに関する待行列の生
成を、各々SCM(100)K依頌する。今、処理幾氷
元で、6るCP[Jl (101) オよびCPU2(
102)より待行列管理デープル生成の依頼が行われる
。
2 (102)−\は仕41Bケ、CP U 3 (
103)へVよ仕51Cを、また、CPU4(104)
へは何も仕事−と与えでいないものとする。ここで、仕
−j!AはIloからの入力データを処理して結果を仕
4Bへ渡し、仕3J)Bは仕事Aからの入力データを処
理して結果を仕)Cへ渡し、仕事Cは仕事Bからの入力
データを処理して結果をIloへ渡すものとする0 SCM(100)ばCPU(101)〜(104)から
の要求により、共有メモ!Jtll内に処理要求の待行
列(詳細をg2図に示す)を生成するり処理・決求元の
各CPUは、待行列管理テーブルの生成を、処理友火先
の各CPUば、待行列管理テーブルに関する待行列の生
成を、各々SCM(100)K依頌する。今、処理幾氷
元で、6るCP[Jl (101) オよびCPU2(
102)より待行列管理デープル生成の依頼が行われる
。
このとき、’fil!要求元CPUは、作成待行列・1
7浬テーブルのID、メツセージの最大側W7 、17
大ヅイズを指定する。第2図において、S CM (1
00) ’、は、共有メモリ(1)内に待行列/、Q埋
デープル(251)、(262)を生成し、処理要求元
CPUI(101)およびCPU2(102)より指定
された内容を記すする。また、処理性】K先であるCP
U2(102>およびCPU3(103)より前記待行
列管理テーブル(261) 、 (262)に関する待
行列の生成の依頼が行われる。S CM (100)は
、共有メモリ(1)内にn[記待行列管ヂダテーブル(
261)、(’262)に対応する待行列ポインタ(2
41)および(242)を作成すると同時に、待行列管
理テーブル(26m ) # (262)内のGPUI
Dマツプ(2612) 、 (2622)、先頭待行列
ポインタ(2615)、 (2625)の記憶内容を壽
き換える。
7浬テーブルのID、メツセージの最大側W7 、17
大ヅイズを指定する。第2図において、S CM (1
00) ’、は、共有メモリ(1)内に待行列/、Q埋
デープル(251)、(262)を生成し、処理要求元
CPUI(101)およびCPU2(102)より指定
された内容を記すする。また、処理性】K先であるCP
U2(102>およびCPU3(103)より前記待行
列管理テーブル(261) 、 (262)に関する待
行列の生成の依頼が行われる。S CM (100)は
、共有メモリ(1)内にn[記待行列管ヂダテーブル(
261)、(’262)に対応する待行列ポインタ(2
41)および(242)を作成すると同時に、待行列管
理テーブル(26m ) # (262)内のGPUI
Dマツプ(2612) 、 (2622)、先頭待行列
ポインタ(2615)、 (2625)の記憶内容を壽
き換える。
SCM(100)はまた、処理要求メツセージの送信及
び受信を行わせる働きを持つ。すなわち、SCM(10
0)は例えばc P U (1o1)からのメツセージ
送信99F、を受けると、そのメツセージを共有メモリ
(1)内の通信バッフ 7 (221) ヘ格納し、C
PUI(101)からの受信g氷を受けると、通信バッ
ファ(221)の内容を取り出し、C)’Lll(10
1)に与える。ここでメツセージにはk 餐及びデータ
を含んでいる。
び受信を行わせる働きを持つ。すなわち、SCM(10
0)は例えばc P U (1o1)からのメツセージ
送信99F、を受けると、そのメツセージを共有メモリ
(1)内の通信バッフ 7 (221) ヘ格納し、C
PUI(101)からの受信g氷を受けると、通信バッ
ファ(221)の内容を取り出し、C)’Lll(10
1)に与える。ここでメツセージにはk 餐及びデータ
を含んでいる。
次に、人情のプロセッサ間、l!!!はにつき説明する
。
。
第1図〜第2図において、CPU l (101) k
の仕事A カI10 (111)、(112)からの入
力データを処理し、その結果をOPU 2 (102)
へ渡すために、0PUI(101)が5C)J(100
)に対しメソセージ?送イt!安米すると、OOM (
100)はそのメツセージを通信バッファ(221)に
格納し、待行列ポインタ(241) r通イ♂′バッフ
ァ(221a)のバッファポインタの記憶内容をiき洟
えることによりイス1行列に接続する。接続後、SOM
(100)は0PUI(101)に対して処理終了メツ
セージを出す。(3PU1(101)上の仕事Aは上記
終了メツセージを受は取ったのち、引き続きIlo (
111)、(112)からの入力データの処理を行う。
の仕事A カI10 (111)、(112)からの入
力データを処理し、その結果をOPU 2 (102)
へ渡すために、0PUI(101)が5C)J(100
)に対しメソセージ?送イt!安米すると、OOM (
100)はそのメツセージを通信バッファ(221)に
格納し、待行列ポインタ(241) r通イ♂′バッフ
ァ(221a)のバッファポインタの記憶内容をiき洟
えることによりイス1行列に接続する。接続後、SOM
(100)は0PUI(101)に対して処理終了メツ
セージを出す。(3PU1(101)上の仕事Aは上記
終了メツセージを受は取ったのち、引き続きIlo (
111)、(112)からの入力データの処理を行う。
次に、(:! P U 2 (102)上の仕事Bがメ
ツセージ受信要求をSCM(100)に対して行うと、
ScM(100)は待行列ポインタ(241)の通信バ
ッファ(221)からメツセージを取り出して0P(J
2(102)へデータ転送を行なう。メツセージを受け
たC P U 2 (102)では、仕事B:すf上記
メツセージを基に処理を行い、その結果をCPU3(1
03)へ渡すためにSCM(100)に対しメツセージ
を送信要求する。要求を受けたSCM(100)はその
メツセージを待行列ポインタ(242)の通信バッファ
(222)に格納すると同時(・で、OP U 2 (
102)に対して処理終了メツセージを出す。
ツセージ受信要求をSCM(100)に対して行うと、
ScM(100)は待行列ポインタ(241)の通信バ
ッファ(221)からメツセージを取り出して0P(J
2(102)へデータ転送を行なう。メツセージを受け
たC P U 2 (102)では、仕事B:すf上記
メツセージを基に処理を行い、その結果をCPU3(1
03)へ渡すためにSCM(100)に対しメツセージ
を送信要求する。要求を受けたSCM(100)はその
メツセージを待行列ポインタ(242)の通信バッファ
(222)に格納すると同時(・で、OP U 2 (
102)に対して処理終了メツセージを出す。
上記終了通知を受は取ったCPU 2 (102) 1
−の仕事Bは、続けてCPUI(101)からのメツセ
ージ待ちを行う。
−の仕事Bは、続けてCPUI(101)からのメツセ
ージ待ちを行う。
久に、OP U 3 (103)上の仕事Cがメツセー
ジ受イa要求をS OM (100)に対して行うと、
SCM(100)は待行列ポインタ(242)で示され
た通信バッファ(222)からメツセージを取り出して
c P U 3 (103)へ渡す。メツセージを受け
たCPU3(103)では、仕事OがJ:記メツて−ジ
をノ〜に処理を行い、その扇呆不7 エフo (111
)、(112)−\出力し、続けてCPU2(102)
からのメツセージ待ちを行う。
ジ受イa要求をS OM (100)に対して行うと、
SCM(100)は待行列ポインタ(242)で示され
た通信バッファ(222)からメツセージを取り出して
c P U 3 (103)へ渡す。メツセージを受け
たCPU3(103)では、仕事OがJ:記メツて−ジ
をノ〜に処理を行い、その扇呆不7 エフo (111
)、(112)−\出力し、続けてCPU2(102)
からのメツセージ待ちを行う。
このとさ、S(、!M(100)rよ、第3図に示ずよ
うな副fTをする。すなわち、伯のCPUからの仙込み
を検久口すると、七の割込みの種類がどのようなを火で
あるか?判断する。での結果、処I−袂氷元CPUから
処1ii、J7ベ先CPU−\の送’Ic+ ’jk
Oで、ちれば、この送信メツセージを待行列ポインタに
接続するとともに、処理要求元CPUに対してnil記
処理の終了を通知する。割込みが処理要求先CPUから
の受信散水であれば、待行タリキ・インタからメツセー
ジを取り吊し、前記処理要求先(3PUに通知する。割
込みがメツセージの削除要求であれば、該当する待行夕
1」ポインタから先頭のメツセージを削除する。このと
きのメツセージの接続、削除は、第2図において、例え
ば待行列ポインタ(241)の先頭通信バッファポイン
タ(2414)および通信バッファ(221)の次通信
バッファポインタ(221al) 、 +’ht1通(
’Bバッファポインタ(221a2 )の記憶内容を書
き換えることによって行われる。S CM (100)
は、上記処理を繰り返す。
うな副fTをする。すなわち、伯のCPUからの仙込み
を検久口すると、七の割込みの種類がどのようなを火で
あるか?判断する。での結果、処I−袂氷元CPUから
処1ii、J7ベ先CPU−\の送’Ic+ ’jk
Oで、ちれば、この送信メツセージを待行列ポインタに
接続するとともに、処理要求元CPUに対してnil記
処理の終了を通知する。割込みが処理要求先CPUから
の受信散水であれば、待行タリキ・インタからメツセー
ジを取り吊し、前記処理要求先(3PUに通知する。割
込みがメツセージの削除要求であれば、該当する待行夕
1」ポインタから先頭のメツセージを削除する。このと
きのメツセージの接続、削除は、第2図において、例え
ば待行列ポインタ(241)の先頭通信バッファポイン
タ(2414)および通信バッファ(221)の次通信
バッファポインタ(221al) 、 +’ht1通(
’Bバッファポインタ(221a2 )の記憶内容を書
き換えることによって行われる。S CM (100)
は、上記処理を繰り返す。
このようにして、第1図に示すようにCP(Jl(。
ユ01)からCPU2(102)、cpU2Doz)が
ら0PU3(103)への通信が行われる。
ら0PU3(103)への通信が行われる。
次に、CPU障害時の焔浬について説明する。
例えば、第1図のCPU2(102)に障害が発生した
とし、CP U 4 (104)は待fi、4 G P
U テロす、通常は何も処理を行っていないものとす
る。SOM(100)はG P U 2 (102)に
障害が発生すると、その仕事を待機OP U 4 (1
04)に引き鉢が仕る。第4図はこのM ノS CM
(100)の動咋を示すフローチャートでおる。すなわ
ち、CPUに障害が発生したとき、待機CPUが有れば
障害CPUに送信メツセージによって’r′JIJD当
てられている仕事と同一の仕4かを与え、待fiCPU
が待行列ポインタの生成★米を行った泌、障害CPUか
ら送イア3された仕事の処理孜欠を待機CPUの通信バ
ッファ上の待行列へ接続する。
とし、CP U 4 (104)は待fi、4 G P
U テロす、通常は何も処理を行っていないものとす
る。SOM(100)はG P U 2 (102)に
障害が発生すると、その仕事を待機OP U 4 (1
04)に引き鉢が仕る。第4図はこのM ノS CM
(100)の動咋を示すフローチャートでおる。すなわ
ち、CPUに障害が発生したとき、待機CPUが有れば
障害CPUに送信メツセージによって’r′JIJD当
てられている仕事と同一の仕4かを与え、待fiCPU
が待行列ポインタの生成★米を行った泌、障害CPUか
ら送イア3された仕事の処理孜欠を待機CPUの通信バ
ッファ上の待行列へ接続する。
接続は例えば第2図において、待行列ポインタ(241
)の先頭通信バッファポインタ(2414)および通信
バッファ(221)の次通信バッファポインタ(221
1) 、前通信バッファポインタ(221a2)の記憶
内容を書き換えることによって行われる。その後、障害
CPUの待行列を削除する。このようにすることで、本
来OP U 2 (102)が処理する予定でSCM(
IQO)が待行タリに接続している未処理のメツセージ
も、待機CPUによって引続き処理される。ここで待行
列を詳紹:に説明する。第2図は共有メモリ(11内の
待行列の詳細を示している。まず第1図および第2図に
おいて、CPU2(102)は待行列ポインタ(242
)、待行列管理テーブル(262)、通信バッファ(2
22a)に実線のように対応し、CP U 4 (10
4)は待行列ポインタ(244) 、待行列管理テーブ
ル(264)に実線のように対応している。CPU4(
104)へは現在仕事を与えていないので通信バッファ
は無い。ここでCP U 2 (102)に障害が発生
し、たとすると、CPU4(104)に対応している待
行列ポインタ(244)内の先頭通信バッファポインタ
(2444)が、CP U 2 (102)に接続され
ている通信バッファ(222a)に接続するようデータ
を専き換えられ、通信バッファ(222a)の次AMバ
ッファポインタ(222al)は、待行列ポインタ(2
44)に接続するようにデータを火き換えられる。以上
により破線で表わされた接続が児成し、X印で表わされ
た接続は切り喘り、ybI?′Tfxわれるノテ第1
i’n ノS OB、4 (1(’)O) iCより0
PU2(1(,2)上の仕f−けCP [J4 (10
4) )で支障なくra研される。
)の先頭通信バッファポインタ(2414)および通信
バッファ(221)の次通信バッファポインタ(221
1) 、前通信バッファポインタ(221a2)の記憶
内容を書き換えることによって行われる。その後、障害
CPUの待行列を削除する。このようにすることで、本
来OP U 2 (102)が処理する予定でSCM(
IQO)が待行タリに接続している未処理のメツセージ
も、待機CPUによって引続き処理される。ここで待行
列を詳紹:に説明する。第2図は共有メモリ(11内の
待行列の詳細を示している。まず第1図および第2図に
おいて、CPU2(102)は待行列ポインタ(242
)、待行列管理テーブル(262)、通信バッファ(2
22a)に実線のように対応し、CP U 4 (10
4)は待行列ポインタ(244) 、待行列管理テーブ
ル(264)に実線のように対応している。CPU4(
104)へは現在仕事を与えていないので通信バッファ
は無い。ここでCP U 2 (102)に障害が発生
し、たとすると、CPU4(104)に対応している待
行列ポインタ(244)内の先頭通信バッファポインタ
(2444)が、CP U 2 (102)に接続され
ている通信バッファ(222a)に接続するようデータ
を専き換えられ、通信バッファ(222a)の次AMバ
ッファポインタ(222al)は、待行列ポインタ(2
44)に接続するようにデータを火き換えられる。以上
により破線で表わされた接続が児成し、X印で表わされ
た接続は切り喘り、ybI?′Tfxわれるノテ第1
i’n ノS OB、4 (1(’)O) iCより0
PU2(1(,2)上の仕f−けCP [J4 (10
4) )で支障なくra研される。
また、上記実施例では、待行列ポインタに接続されたメ
ツセージを削除するタイミングとして、α哩要求先CP
Uがv′当処1助を靴了した時点でGOMに対してメツ
セージ削除要求を出し、その命令をもとにSOMがメツ
セージを待行列から削1余していたが、第5図に示すよ
うにメツセージ削除委求の代わりに、処理要求先CP
Uが該当処理を終了して一ビの漬米を他のQp9へ反す
ン’Cシ′)(こSCMへ出す送信要二にの中にメツセ
ージを削除する待行列をいれることによって、FROM
内でメツセージを待行列から削除するようにしてもよい
。
ツセージを削除するタイミングとして、α哩要求先CP
Uがv′当処1助を靴了した時点でGOMに対してメツ
セージ削除要求を出し、その命令をもとにSOMがメツ
セージを待行列から削1余していたが、第5図に示すよ
うにメツセージ削除委求の代わりに、処理要求先CP
Uが該当処理を終了して一ビの漬米を他のQp9へ反す
ン’Cシ′)(こSCMへ出す送信要二にの中にメツセ
ージを削除する待行列をいれることによって、FROM
内でメツセージを待行列から削除するようにしてもよい
。
このように構成することで、SOM<!:CPUの通信
の回数を減らすことが可能である。
の回数を減らすことが可能である。
以上のように、この発明によれば、処理要求先のプロセ
ッサが処理要求元のプロセッサからのメツセージの処理
を終了したのちにメツセージを破棄するようにするとと
もに、処理実行中のプロセッサに異常が発生し7た場合
、処理要求を他のプロセッサに自動的に行わせるように
することで、処理要求元のプロセッサは自分の要求した
処理が終了するまで待つ必要がないように(構成したの
で、効率的なプロセッサ間通信方式を提供できる効果が
ある。
ッサが処理要求元のプロセッサからのメツセージの処理
を終了したのちにメツセージを破棄するようにするとと
もに、処理実行中のプロセッサに異常が発生し7た場合
、処理要求を他のプロセッサに自動的に行わせるように
することで、処理要求元のプロセッサは自分の要求した
処理が終了するまで待つ必要がないように(構成したの
で、効率的なプロセッサ間通信方式を提供できる効果が
ある。
第1図はこの発明が適用されるマルチプロセッサシステ
ムの構成図、第2図はこの発明に用いられる共有メモリ
上に生成された待行列の詳細を示す図、第3図はこの弁
明の一実施例のSCMの動作フローチャート、第4i7
はこの発明の一実施例の(3PU障害時のSCMの動作
フローチャート、第5図はこの発明の池の一実施例の5
C)4の1り作フローチャート、第6図は従来′、:/
ilのマルチプロセッサシステムの構成11第7図は従
来しiJのプロセッサ間通(i3力式のデータの流れを
示す概要図、第8図は従来?11のプロセッサ間通1z
刀式の動作フローチャートである。 図において、(1)は共有メモ+) 、(100)はシ
ステムコントローラ、(101)〜(104)はプロセ
ッサ、(221a)、(221’b)、(222a、)
、(223a)、(223b)、(223c)は通信バ
ッファ、(241)〜(244)は待行列ポインタ、(
2411)、(2421)、(2431)、(2441
)はCPU ID 、 (261)〜(264)は待行
列は埋テーブルである。
ムの構成図、第2図はこの発明に用いられる共有メモリ
上に生成された待行列の詳細を示す図、第3図はこの弁
明の一実施例のSCMの動作フローチャート、第4i7
はこの発明の一実施例の(3PU障害時のSCMの動作
フローチャート、第5図はこの発明の池の一実施例の5
C)4の1り作フローチャート、第6図は従来′、:/
ilのマルチプロセッサシステムの構成11第7図は従
来しiJのプロセッサ間通(i3力式のデータの流れを
示す概要図、第8図は従来?11のプロセッサ間通1z
刀式の動作フローチャートである。 図において、(1)は共有メモ+) 、(100)はシ
ステムコントローラ、(101)〜(104)はプロセ
ッサ、(221a)、(221’b)、(222a、)
、(223a)、(223b)、(223c)は通信バ
ッファ、(241)〜(244)は待行列ポインタ、(
2411)、(2421)、(2431)、(2441
)はCPU ID 、 (261)〜(264)は待行
列は埋テーブルである。
Claims (1)
- (1)複数のプロセッサと、これらのプロセッサが共通
に参照更新し得る共有メモリとを備えたマルチプロセッ
サシステムにおいて、上記共有メモリ上に要求先プロセ
ッサ単位に登録される処理要求の待行列ポインタと、処
理要求メッセージを格納する複数の通信バッファを設け
、他のプロセッサに対する処理要求元プロセッサは、前
記通信バッファに処理要求メッセージ及び自プロセッサ
を識別するコードを記憶させ、この処理要求の待行列ポ
インタを始点として複数の通信バッファを順次待行列構
造に形成し、要求元プロセッサは前記通信バッファを介
して要求先プロセッサに処理要求メッセージを伝達する
と共に、前記処理要求元プロセッサが送信した待行列内
の処理要求メッセージを、前記処理要求先プロセッサの
処理終了後に削除することを特徴とするプロセッサ間通
信方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10630389A JPH02284257A (ja) | 1989-04-26 | 1989-04-26 | プロセッサ間通信方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10630389A JPH02284257A (ja) | 1989-04-26 | 1989-04-26 | プロセッサ間通信方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02284257A true JPH02284257A (ja) | 1990-11-21 |
Family
ID=14430248
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10630389A Pending JPH02284257A (ja) | 1989-04-26 | 1989-04-26 | プロセッサ間通信方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02284257A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008152783A (ja) * | 2006-12-19 | 2008-07-03 | Internatl Business Mach Corp <Ibm> | データ処理システム内で第1のホスト・システムと第2のホスト・システムとの間で通信するための方法、プログラム、およびシステム(トランザクション・プロトコルおよび共用メモリを使用するホスト・システム間の通信のためのシステムおよび方法) |
-
1989
- 1989-04-26 JP JP10630389A patent/JPH02284257A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008152783A (ja) * | 2006-12-19 | 2008-07-03 | Internatl Business Mach Corp <Ibm> | データ処理システム内で第1のホスト・システムと第2のホスト・システムとの間で通信するための方法、プログラム、およびシステム(トランザクション・プロトコルおよび共用メモリを使用するホスト・システム間の通信のためのシステムおよび方法) |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4628508A (en) | Computer of processor control systems | |
| CA2061117C (en) | Apparatus and method for distributed program stack | |
| JP2644780B2 (ja) | 処理依頼機能を持つ並列計算機 | |
| JP2509064B2 (ja) | デ―タ処理システム | |
| JP2709705B2 (ja) | マルチコンピユータシステムにおけるプログラム管理方法 | |
| JP2001022599A (ja) | フォールトトレラント・システム,フォールトトレラント処理方法およびフォールトトレラント制御用プログラム記録媒体 | |
| JP2877095B2 (ja) | マルチプロセッサシステム | |
| JPH02284257A (ja) | プロセッサ間通信方式 | |
| JP2901882B2 (ja) | 計算機システムおよび入出力命令の発行方法 | |
| JP2001027951A (ja) | マルチプロセッサ構成の情報処理システムにおけるファイルロード装置と記録媒体 | |
| JPS6239789B2 (ja) | ||
| JPH02213976A (ja) | 多重処理コンピユータ及びプロセツサ間通信方法 | |
| JP2570134B2 (ja) | データ同報転送方式 | |
| JP2922342B2 (ja) | 割込み制御装置 | |
| WO1992005489A1 (fr) | Procede d'acces non synchrone a une memoire partagee | |
| JPH02288937A (ja) | プロセッサ間通信方法 | |
| JPH07234850A (ja) | マルチプロセッサの装置と方法 | |
| JP2652989B2 (ja) | ファイル転送装置 | |
| JPH11120009A (ja) | プロセス間通信制御装置 | |
| JPH1083273A (ja) | マルチウインドウ制御装置 | |
| JP2569026B2 (ja) | マルチコンピュータシステムのプログラム実行方法 | |
| JPH02118841A (ja) | 入力待ち行列管理方式 | |
| JPS63305450A (ja) | プロセツサ間通信方式 | |
| JPH03148747A (ja) | プロセッサ間通信方式 | |
| JP2001067236A (ja) | データ受け渡し方法、仲介システム、記録媒体 |