JPS6239789B2 - - Google Patents

Info

Publication number
JPS6239789B2
JPS6239789B2 JP56046496A JP4649681A JPS6239789B2 JP S6239789 B2 JPS6239789 B2 JP S6239789B2 JP 56046496 A JP56046496 A JP 56046496A JP 4649681 A JP4649681 A JP 4649681A JP S6239789 B2 JPS6239789 B2 JP S6239789B2
Authority
JP
Japan
Prior art keywords
processor
communication
processing
inter
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.)
Expired
Application number
JP56046496A
Other languages
English (en)
Other versions
JPS57161962A (en
Inventor
Masao Sueki
Hiroaki Nakanishi
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP4649681A priority Critical patent/JPS57161962A/ja
Publication of JPS57161962A publication Critical patent/JPS57161962A/ja
Publication of JPS6239789B2 publication Critical patent/JPS6239789B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Description

【発明の詳細な説明】 本発明はマルチプロセツサシステムにおけるプ
ロセツサ間の通信方法に関する。
マルチプロセツサシステムの目的は、システム
の機能を分割し、それぞれ専用のプロセツサに負
わせることによつて高速処理を行なわし、かつ同
機能を有するプロセツサを複数配置することによ
つて、一部プロセツサの障害時のバツクアツプを
行なうことにより、システムの高信頼化を実現す
ることにある。
マルチプロセツサシステムにおいては、プロセ
ツサ間の通信機能は必須であるが、従来の通信方
法としては、次のものが知られている。
これは、複数のプロセツサが共有する共有メモ
リ上に、各プロセツサ(以下CPUと略称する。)
毎のメツセージ交換バツフアを設け、このメツセ
ージ交換バツフアを介してデータ交換を行なうも
のである。
具体的な転送手順は例えば、次のようにして行
なわれている。
(1) 送信側CPUは送信データを共有メモリ上の
メツセージ交換バツフアにセツトする。
(2) 受信側CPUに割込みをかける。
(3) 受信側CPUでは、メツセージ交換バツフア
からデータを取込み、受信データバツフアにセ
ツトする。
(4) 受信データによる要求処理完了後、送信デー
タ(処理完了報告)をメツセージ交換バツフア
にセツトする。
(5) 要求元CPUに割込みをかける。
(6) 要求元CPUでは、メツセージ交換バツフア
から処理完了報告を受ける。
ここでは、メツセージ交換バツフアに空きがな
いときには、データ送信側CPU内で送信要求待
ち行列が作成される。この場合、データ受信側
CPUではメツセージ交換バツフアから受信デー
タを取込んだ時に、送信要求待ちとなつている
CPUに対して、メツセージ交換バツフアが空
き、送信可能となつたことを連絡する必要があ
る。この様に、一連のデータ通信において、送信
側、受信側共に待ちがつくられることになり、こ
れらの待ち管理を必要とするため、データ通信の
手続きが複雑となり、多くの処理時間を要する。
また、CPU故障時のCPU間構成制御では、故障
CPUに対する送信要求待ち及び、受信待ちの双
方の待ち行列の解除処理を必要とする。
本発明は以上の諸点に鑑み発明されたもので、
その目的は、通信効率が良くて、処理が簡単で、
更に処理を完全に行わしむることが可能な、この
種プロセツサ間通信方法を提供することにある。
本発明の特徴は、共有メモリ上に各プロセツサ
単位に待ち行列ポインタと通信バツフアを設定
し、送信時には通信データを該通信バツフアにセ
ツトし、待ち行列に接続し、受信側プロセツサで
は、処理完了応答を同一の通信バツフアにセツト
することにより、一連のデータ通信手順における
送信及び受信待ち管理を統合したところにある。
本発明の1つの特徴は、送信側プロセツサにおけ
るプロセツサ間通信処理の待ち管理についても、
該通信バツフアをプロセツサ間通信処理待ち行列
ポインタに同時に接続することによつて、併せて
行なうことである。更に本発明の特徴の1つは、
プロセツサ故障時における該プロセツサの切離し
処理を、該通信バツフアの待ち行列からの削除に
よつて行なうようにしていることである。
以下、図面を参照し、本発明を詳細に説明す
る。第1図は本発明が適用されるマルチプロセツ
サシステムの構成の一例を示すものである。
第1図においては、高速バス105に、共有メ
モリ(MS)100、ジヨブプロセツサ
(JOBP)110、フアイルコントロールプロセ
ツサ(FCP)120、I/Oコントロールプロ
セツサ(IOP)125、コミユニケーシヨンコン
トロールプロセツサ(CCP)130が接続され
ている。FCP120にはフアイル150が接続
され、FCP120はフアイル150に関する処
理を専門に行なう。
IOP125にはI/Oリンクバス155が接続
され、I/Oリンクバス155には複数の入出力
装置(I/O)160が接続されており、IOP1
25は、I/O160のコントロールを専門に行
う。
CCP130には、通信回線135を介して他
システム140が接続されており、CCP130
は他システムとの通信制御を専門に行なう。
これら、FCP120、IOP125、CCP130
を専用プロセツサと称している。
JOBP110は、ユーザタスクおよび専用プロ
セツサ機能以外のOS機能を処理するものであ
る。
本発明の実施例として、I/Oバス155を介
して各種I/O装置を駆動および割込処理などの
機能を実行するIOP125とJOBP110との間
の入出力実行制御に本プロセツサ間通信方法を適
用した例を説明する。
第2図は、この場合の、プロセツサ間通信の概
要を示している。図中→印はデータの流れを〓は
制御信号の流れを示す。
ユーザタスクの処理を行うJOBP110ではユ
ーザタクスから発行された入出力要求マクロ命令
によつて入出力実行に必要な制御情報を通信バツ
フア205(詳細は第4図に示す)に作成後IOP
用プロセツサ間通信待ち行列ポインタ200に接
続し()、IOP125に対してプロセツサ間連
絡割込み()をかける。この後、ユーザタスク
はプログラム処理と入出力実行処理との同期をと
るために入出力実行終了待ち状態となり、他のタ
スクに制御が移る。
IOP125においては、JOBP110からのプ
ロセツサ間連絡割込み()を受けて、自プロセ
ツサへのプロセツサ間通信待ち行列ポインタ20
0に接続されている通信バツフア205から要求
されたI/Oのデバイス番号を取出し、デバイス
制御テーブル(DVCB)210によつてI/O1
60が使用中か否かを調べる。I/O160が空
いていれば、通信バツフア205の制御情報から
I/O160に渡す入出力動作指令及びデータを
作成し()I/O160に対して起動指令を送
出する。() I/O160では入出力動作完了後IOP125
に対して入出力終了報告を返す。() IOP125ではI/O160からの入出力終了
報告を受けて、入出力実行結果を通信バツフア2
05に格納し()、該通信バツフア205を
JOBP110のプロセツサ間通信待ち行列ポイン
タ220に接続し()、JOBP110に対し
て、プロセツサ間連絡割込み()をかける。
IOP125からのプロセツサ間連絡割込みを受
けたJOBP110では、自プロセツサへのプロセ
ツサ間通信待ち行列ポインタ220に接続されて
いる通信バツフア205を待ち行列から削除し
()、入出力処理実行結果を入出力要求マクロ命
令発行タスクにリターンコードとして返し、タス
クの入出力実行終了待ち状態を解除する。これに
よつて一連のI/O入出力実行制御が完結する。
JOBP110と各専用プロセツサとの間のプロ
セツサ間通信は、第2図に示す様な手順によつて
すべて実行できる。
ここで、更に本発明になるプロセツサ間通信方
法を前述したIOP125とJOBP110との間の
入出力実行制御を例にとつて説明する。
ユーザタスクからの入出力要求マクロ命令の発
行をJOBP110とIOP125との間のプロセツ
サ間通信によつて、IOP125が受信した時に、
I/O160がすでにIOP125からの起動指令
を受けて入出力処理を実行中であつた場合、IOP
125は受信した通信バツフア205をI/O1
60のデバイス制御テーブル(DVCB)210の
I/O入出力処理要求待ち行列ポインタに接続す
ることによつて、I/Oの入出力処理要求待ちを
記憶する。I/O入出力処理要求が待ちに接続さ
れた状態を第3図に示している。このとき通信バ
ツフア205は、IOP用プロセツサ間通信待ち行
列ポインタ200とデバイス制御テーブル
(DVCB)210中のI/O入出力要求待ち行列
の2つの待ち行列になつている。
I/O160からの入出力終了報告を受けた
IOP125は、JOBP110に対して入出力処理
完了を連結するとともに、I/O160のデバイ
ス制御テーブル(DVCB)210を参照し、I/
O160の空き待ち要求の有無を調べ、空き待ち
要求がある場合には、その通信バツフア205を
I/O入出力処理要求待ち行列から取出し、I/
O160に起動指令を発行する。
この様に、本プロセツサ間通信方法では、一つ
の通信バツフアをプロセツサ間通信の待ちだけで
なく、プロセツサ間通信による依頼された処理の
実行待ちにも接続することができる。
通信バツフアの待ち行列への登録方法を第5図
に、待ち行列からの削除方法を第6図にそれぞれ
示している。各専用プロセツサ単位に用意された
プロセツサ間通信待ち行列に通信バツフアを登録
する場合には、同時に複数のプロセツサが同一の
待ち行列を操作することを防ぐため、ロツク
(LOCK)400をかける。LOCK400は例え
ば、内容が〆FFFF(16進表示)のときに空きで
あり、使用中にはLOCK400に自プロセツサ番
号を入れる。この待ち行列のLOCK操作は (1) LOCK400の内容の読出し。
(2) LOCK400の内容の比較。
(3) LOCK400へのLOCKデータの書き込み。
の3ステツプを必要とする。この3ステツプの処
理を途中に割り込みを許さない1命令にて実行す
る機械命令を用意することによつて、待ち行列
LOCK操作は完全に行われる。
LOCKに成功したことにより、待ち行列の操作
権を有したプロセツサは、自プロセツサが要求す
る処理内容をセツトした通信バツフア420を要
求先プロセツサのプロセツサ間通信待ち行列の最
後尾に接続する。プロセツサ間通信待ち行列ポイ
ンタ405には、待ち行列がないときにはプロセ
ツサ間通信待ち行列ポインタ405自身のアドレ
スが、待ち行列があるときには先頭に接続されて
いる通信バツフア410のアドレスが格納されて
おり、待ち行列中の通信バツフアのポインタには
それぞれ次の通信バツフアのアドレスが格納さ
れ、最後尾の通信バツフア415のポインタには
プロセツサ間通信待ち行列ポインタ405のアド
レスが格納されている。新たに通信バツフア42
0を接続するためには、待ち行列をサーチし、最
後尾のポインタの内容を新通信バツフア420の
ポインタにセツトし、新通信バツフア420のア
ドレスを元の最後尾の通信バツフア415のポイ
ンタにセツトすることによつて行われる。
プロセツサ間通信による処理が完了した通信バ
ツフア515を待ち行列から削除する場合には、
待ち行列をLOCKし、削除する通信バツフア41
5のポインタに格納されているアドレスを削除す
る通信バツフア415の前に接続されている通信
バツフア410のポインタに格納することによつ
て行われる。
マルチプロセツサシステムでは、処理能力及び
信頼性の向上を目的として複数のJOBPを使用し
てシステムを構成する場合がある。このときに
は、一台のJOBPの障害によつてシステム全体が
動作不能となることを防ぐため、障害JOBPをシ
ステムから切離し、残つたJOBPによつてシステ
ムを再構成し、処理を継続するプロセツサ構成制
御機能が必須となる。プロセツサの障害は一般に
は処理要求に対して、一定時間以上経過しても処
理の完了報告がなされないといつたタイムアウト
処理等により検出される。
障害のJOBPの切離し処理は以下の如くであ
る。
(1) 障害JOBPにて実行中のタスクの処理打切
り。
(2) 他のプロセツサから障害JOBPに対して発行
されている処理要求を格納した通信バツフアの
削除。
(3) 障害JOBPから他のプロセツサに対して発行
されている処理要求を格納した通信バツフアの
削除。
(4) 障害JOBPの停止。
(2),(3)項の処理は前述した通信バツフアの削除
方法によつて簡単に行なうことができる。すなわ
ち、(2)項の処理は障害JOBPのプロセツサ間通信
要求待ち行列ポインタに接続されている通信バツ
フアを削除することによつて、(3)項の処理は共有
メモリ上に格納された第4図に示される通信バツ
フアをこれまた共有メモリ上に格納されたプロセ
ツサ間通信要求待ち行列ポインタから検索し、第
4図に示されているプロセツサ番号が、障害
JOBPのプロセツサ番号と一致するか否かをチエ
ツクすることによつて、個々の通信要求が障害
JOBPのものか否かを容易に検出することがで
き、従つて、該通信要求を削除することによつて
可能となる。
このように本発明によれば、マルチプロセツサ
システムにおいて、通信効率が良く、処理が簡単
で、且つ完全な処理を行うことができるプロセツ
サ間の通信方法を提供できる。
【図面の簡単な説明】
第1図は、本発明が適用されるマルチプロセツ
サシステムの構成図、第2図は本発明のプロセツ
サ間通信方法のデータ流れ図、第3図は、プロセ
ツサ間通信バツフアを通信待ち行列と処理待ち行
列とに接続した場合の一例を示す図、第4図は、
プロセツサ間の通信データの一例を示す図、第5
図は、本発明に用いられるプロセツサ間通信デー
タの待ち行列への接続方法の一例を示す図、第6
図は、本発明に用いられるプロセツサ間通信デー
タの待ち行列からの削除方法の一例を示す図であ
る。

Claims (1)

  1. 【特許請求の範囲】 1 複数のプロセツサと該プロセツサが共通に参
    照更新し得る共有メモリを備えたマルチプロセツ
    サシステムにおいて、該共有メモリ上に、各プロ
    セツサ単位に、処理要求の待ち行列ポインタと、
    処理要求内容を格納する複数の通信バツフアを設
    け、他のプロセツサに対する処理要求を送信する
    プロセツサは、該通信バツフアに処理内容及び自
    プロセツサを識別するコードを記憶し、該処理要
    求の待ち行列ポインタを始点として複数の通信バ
    ツフアを順次待行列構造に形成し、要求元プロセ
    ツサは該通信バツフアを介して要求先プロセツサ
    に処理要求を伝達し、要求先プロセツサは処理結
    果を該通信バツフアを介して要求元プロセツサに
    伝達するようにしたことを特徴とするプロセツサ
    間通信方法。 2 第1項に記載したプロセツサ間通信方法にお
    いて、要求元プロセツサは、処理完了待ち管理情
    報を同一の通信バツフアに格納し、これにより、
    プロセツサ間通信待ち管理と処理完了待ち管理と
    を統合して行なうことを特徴としたプロセツサ間
    通信方法。 3 第1項に記載したプロセツサ間通信方法にお
    いて、通信バツフアに処理要求元プロセツサを識
    別するコードを格納し、該処理要求元、該処理要
    求先プロセツサのいずれかが異常に陥つたことを
    検出した際に、該各プロセツサ毎の処理要求ポイ
    ンタ、及び該通信バツフアに格納された処理要求
    元プロセツサ識別コードを判別し、障害に陥つた
    プロセツサに関連する処理要求を表わす当該通信
    バツフアを待ち行列から取外すことを特徴とする
    プロセツサ間通信方法。
JP4649681A 1981-03-31 1981-03-31 Communicating method between processors Granted JPS57161962A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4649681A JPS57161962A (en) 1981-03-31 1981-03-31 Communicating method between processors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4649681A JPS57161962A (en) 1981-03-31 1981-03-31 Communicating method between processors

Publications (2)

Publication Number Publication Date
JPS57161962A JPS57161962A (en) 1982-10-05
JPS6239789B2 true JPS6239789B2 (ja) 1987-08-25

Family

ID=12748831

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4649681A Granted JPS57161962A (en) 1981-03-31 1981-03-31 Communicating method between processors

Country Status (1)

Country Link
JP (1) JPS57161962A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4602341A (en) * 1983-09-16 1986-07-22 General Electric Company Shared data logger controller and method
US4649473A (en) * 1985-06-17 1987-03-10 International Business Machines Corporation Flexible data transmission for message based protocols
JP2867381B2 (ja) * 1987-06-23 1999-03-08 株式会社日立製作所 トランザクション処理の負荷分散方法
JP4492778B2 (ja) * 2001-08-30 2010-06-30 豊和工業株式会社 モニタリングシステムにおける通信システム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5797133A (en) * 1980-12-05 1982-06-16 Minolta Camera Co Ltd Control system of data transfer

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5797133A (en) * 1980-12-05 1982-06-16 Minolta Camera Co Ltd Control system of data transfer

Also Published As

Publication number Publication date
JPS57161962A (en) 1982-10-05

Similar Documents

Publication Publication Date Title
US5758157A (en) Method and system for providing service processor capability in a data processing by transmitting service processor requests between processing complexes
JP2675955B2 (ja) データ処理システム
JP3657665B2 (ja) 共用メモリに結合される複数の計算機システム及び共用メモリに結合される複数の計算機システムの制御方法
JP2509064B2 (ja) デ―タ処理システム
KR0128274B1 (ko) 인터페이스 시스템 및 그 동작 방법
JPH0227441A (ja) コンピュータ・システム
EP0446077B1 (en) A control system for multi-processor system
US20020078163A1 (en) Communicating between zones of a central processing complex
US20060265523A1 (en) Data transfer circuit and data transfer method
JPS6239789B2 (ja)
US20030225898A1 (en) Method of controlling storage control apparatus, storage control apparatus, and computer readable program for controlling the same
US20090019259A1 (en) Multiprocessing method and multiprocessor system
JPH02213976A (ja) 多重処理コンピユータ及びプロセツサ間通信方法
JPH0449146B2 (ja)
JPH04213126A (ja) ソフトウェアテスト方式
JPH07306800A (ja) デバッグ方式
JPH04355836A (ja) 仮想計算機間データ転送処理装置
JP2922342B2 (ja) 割込み制御装置
JPH02188863A (ja) マルチプロセッサシステム
JPH02284257A (ja) プロセッサ間通信方式
JPH0126096B2 (ja)
JPS5834858B2 (ja) デ−タ交換制御方式
WO1992005489A1 (en) Method of nonsynchronous access to shared memory
JPH07234850A (ja) マルチプロセッサの装置と方法
JPH08106440A (ja) 分散共有メモリ計算機システム