JPH01214960A - マルチプロセッサ間のメッセージ交換方式 - Google Patents
マルチプロセッサ間のメッセージ交換方式Info
- Publication number
- JPH01214960A JPH01214960A JP63039591A JP3959188A JPH01214960A JP H01214960 A JPH01214960 A JP H01214960A JP 63039591 A JP63039591 A JP 63039591A JP 3959188 A JP3959188 A JP 3959188A JP H01214960 A JPH01214960 A JP H01214960A
- Authority
- JP
- Japan
- Prior art keywords
- mailbox
- processor
- message
- processors
- task
- 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
【発明の詳細な説明】
[発明の目的]
(産業上の利用分野)
本発明は、各プロセッサ内に存在するタスク間のメツセ
ージ交換方式に係わり、特に単一プロセッサのメイルボ
ックスの機能を生かしつつメツセージの交換を行うマル
チプロセッサ間のメツセージ交換方式に関する。
ージ交換方式に係わり、特に単一プロセッサのメイルボ
ックスの機能を生かしつつメツセージの交換を行うマル
チプロセッサ間のメツセージ交換方式に関する。
(従来の技術)
オペレーティングシステムにおいては、複数のタスクが
互いに情報を交信しながら所望とする機能を実行する。
互いに情報を交信しながら所望とする機能を実行する。
このとき、第9図に示すように単一プロセッサ1内のタ
スク間のメツセージ交換は、メツセージ送信タスク群2
とメツセージ受信タスク群3とがメイルボックス4を用
いて交信している場合が多い。このメイルボックス4は
送信タスク群2と受信タスク群3の間のメツセージを安
全にリンクする観点からメツセージキュー5および受信
待ちキュー6を持つている。7は送信路、8は受信路を
示す。
スク間のメツセージ交換は、メツセージ送信タスク群2
とメツセージ受信タスク群3とがメイルボックス4を用
いて交信している場合が多い。このメイルボックス4は
送信タスク群2と受信タスク群3の間のメツセージを安
全にリンクする観点からメツセージキュー5および受信
待ちキュー6を持つている。7は送信路、8は受信路を
示す。
ところで、上記タスク間のメツセージ交換は、単一プロ
セッサ内のマルチタスク環境について述べたものである
が、マルチプロセッサ環境では複数のプロセッサにまた
がってタスク間でメツセージの交換を行う場合がある。
セッサ内のマルチタスク環境について述べたものである
が、マルチプロセッサ環境では複数のプロセッサにまた
がってタスク間でメツセージの交換を行う場合がある。
従来、このように異なるプロセッサ内に存在するタスク
間のメツセージ交換は、第10図に示すようにシステム
バス10にメツセージ送信側プロセッサ11およびメツ
セージ受信側プロセッサ12のほかに共有メモリ13が
接続され、送信側となるプロセッサ例えば11のタスク
が図示(イ)矢印にしたがって共有メモリ13上にメツ
セージを書込んだ後、メツセージ受信側プロセッサ12
に対して図示(ロ)矢印の如くメツセージの送信を知ら
せる信号(例えば割込み信号)を送信する。ここで、受
信側プロセッサ12はメツセージの到着を検知すると共
有メモリ13からメツセージを図示(ハ)矢印の如く読
出して受信側タスクキューに渡す。
間のメツセージ交換は、第10図に示すようにシステム
バス10にメツセージ送信側プロセッサ11およびメツ
セージ受信側プロセッサ12のほかに共有メモリ13が
接続され、送信側となるプロセッサ例えば11のタスク
が図示(イ)矢印にしたがって共有メモリ13上にメツ
セージを書込んだ後、メツセージ受信側プロセッサ12
に対して図示(ロ)矢印の如くメツセージの送信を知ら
せる信号(例えば割込み信号)を送信する。ここで、受
信側プロセッサ12はメツセージの到着を検知すると共
有メモリ13からメツセージを図示(ハ)矢印の如く読
出して受信側タスクキューに渡す。
(発明が解決しようとする課!i)
従って、以上のようなメツセージ交換方式においては・
共有メモリ13に対するデータの読出し、書込みが読出
し、書込みアドレスを用いて行うために各プロセッサ1
1.12と共有メモリ13は必要不可欠な関係にあり、
それだけ各プロセッサ11.12の独立性が失われる。
共有メモリ13に対するデータの読出し、書込みが読出
し、書込みアドレスを用いて行うために各プロセッサ1
1.12と共有メモリ13は必要不可欠な関係にあり、
それだけ各プロセッサ11.12の独立性が失われる。
また、共有メモリ13のアクセスに関し1例えばメツセ
ージの書込み中には他のプロセッサが読み出しできない
ように排他制御を行う必要があり、そのためのインター
ロック手段が必要となり、かつ、ソフトウェアの負担が
増加する。さらに、従来のように単一プロセッサ内のメ
イルボックスを用いたメツセージの交換と全く異なる方
式であるので、この面でもソフトウェアの煩雑さを増す
問題がある。
ージの書込み中には他のプロセッサが読み出しできない
ように排他制御を行う必要があり、そのためのインター
ロック手段が必要となり、かつ、ソフトウェアの負担が
増加する。さらに、従来のように単一プロセッサ内のメ
イルボックスを用いたメツセージの交換と全く異なる方
式であるので、この面でもソフトウェアの煩雑さを増す
問題がある。
本発明は以上のような問題点を除去するためになされた
もので、異なるプロセッサ内に存在するタスク間でメツ
セージ交換を行うマルチプロセッサ環境において、従来
の単一プロセッサ内のメイルボックスの機能を生かしつ
つ簡単なソフトウェアを用いて柔軟で拡張性に富んだメ
ツセージ交換を実現するマルチプロセッサ間のメツセー
ジ交換方式を提供することを目的とする。
もので、異なるプロセッサ内に存在するタスク間でメツ
セージ交換を行うマルチプロセッサ環境において、従来
の単一プロセッサ内のメイルボックスの機能を生かしつ
つ簡単なソフトウェアを用いて柔軟で拡張性に富んだメ
ツセージ交換を実現するマルチプロセッサ間のメツセー
ジ交換方式を提供することを目的とする。
[発明の構成]
(課題を解決するための手段および作用)本発明による
マルチプロセッサ間のメツセージ交換方式は、複数のプ
ロセッサのうち少なくとも1個以上のプロセッサをマス
タープロセッサとし、他の残りのプロセッサをスレーブ
プロセッサとし、前記メインプロセッサにはメイルボッ
クスと、メイルボックス番号、メイルボックス名を管理
するメイルボックスディレクトリとを設け、特定の前記
プロセッサの送信タスクがメツセージを送信する場合、
前記特定のプロセッサの送信タスクからメイルボックス
名を含むメイルボックス生成要求メツセージを送信し、
前記メインプロセッサは前記メイルボックス生成要求メ
ツセージを前記メイルボックスに割当てると共に前記メ
イルボックスディレクトリにメイルボックス名を登録し
、かつ、そのメイルボックス名からメイルボックス番号
を送信し、前記特定のプロセッサはそのメイルボックス
番号を送信タスクに渡す。その送信タスクは、以降メイ
ルボックス番号を用いてメツセージを送信する。
マルチプロセッサ間のメツセージ交換方式は、複数のプ
ロセッサのうち少なくとも1個以上のプロセッサをマス
タープロセッサとし、他の残りのプロセッサをスレーブ
プロセッサとし、前記メインプロセッサにはメイルボッ
クスと、メイルボックス番号、メイルボックス名を管理
するメイルボックスディレクトリとを設け、特定の前記
プロセッサの送信タスクがメツセージを送信する場合、
前記特定のプロセッサの送信タスクからメイルボックス
名を含むメイルボックス生成要求メツセージを送信し、
前記メインプロセッサは前記メイルボックス生成要求メ
ツセージを前記メイルボックスに割当てると共に前記メ
イルボックスディレクトリにメイルボックス名を登録し
、かつ、そのメイルボックス名からメイルボックス番号
を送信し、前記特定のプロセッサはそのメイルボックス
番号を送信タスクに渡す。その送信タスクは、以降メイ
ルボックス番号を用いてメツセージを送信する。
他のもう1つの発明であるマルチプロセッサ間のメツセ
ージ交換方式は、複数のプロセッサのうち少なくとも1
個以上のプロセッサをマスタープロセッサとし、他の残
りのプロセッサをスレーブプロセッサとし、前記メイン
プロセッサにはメイルボックスと、メイルボックス番号
、メイルボックス名を管理するメイルボックスディレク
トリとを設け、特定の前記プロセッサの受信タスクがメ
ツセージを受けたい場合、前記特定のプロセッサの受信
タスクから既知のメイルボックス名をパラメータとして
メイルボックス参照要求メツセージを送信し、前記メイ
ンプロセッサはメイルボックス参照要求メツセージを受
けると前記メイルボックスディレクトリを参照しながら
メイルボックス名に対応するメイルボックス番号を求め
て送信し、前記特定のプロセッサの受信タスクはそのメ
イルボックス番号を用いてメツセージ受信要求を行うも
のである。
ージ交換方式は、複数のプロセッサのうち少なくとも1
個以上のプロセッサをマスタープロセッサとし、他の残
りのプロセッサをスレーブプロセッサとし、前記メイン
プロセッサにはメイルボックスと、メイルボックス番号
、メイルボックス名を管理するメイルボックスディレク
トリとを設け、特定の前記プロセッサの受信タスクがメ
ツセージを受けたい場合、前記特定のプロセッサの受信
タスクから既知のメイルボックス名をパラメータとして
メイルボックス参照要求メツセージを送信し、前記メイ
ンプロセッサはメイルボックス参照要求メツセージを受
けると前記メイルボックスディレクトリを参照しながら
メイルボックス名に対応するメイルボックス番号を求め
て送信し、前記特定のプロセッサの受信タスクはそのメ
イルボックス番号を用いてメツセージ受信要求を行うも
のである。
(実施例)
以下、本発明方式の実施例について図面を参照して説明
する。第1図は本発明方式を適用したマルチプロセッサ
システムの構成例であって、システムバス20上には少
なくとも1個のマスクプロセッサ30およびそれ以外の
複数のスレーブプロセッサ40.・・・が設けられてい
る。このマスクプロセッサ30はシステムワイドな自己
のメイルボックスを管理する機能を持ったプロセッサで
あり、従って、メイルボックスを持たないプロセッサを
スレーブプロセッサ40と定義する。図中。
する。第1図は本発明方式を適用したマルチプロセッサ
システムの構成例であって、システムバス20上には少
なくとも1個のマスクプロセッサ30およびそれ以外の
複数のスレーブプロセッサ40.・・・が設けられてい
る。このマスクプロセッサ30はシステムワイドな自己
のメイルボックスを管理する機能を持ったプロセッサで
あり、従って、メイルボックスを持たないプロセッサを
スレーブプロセッサ40と定義する。図中。
31.41はタスクである。
次に、第2図は前記マスクプロセッサ30の構成を示す
図、である。すなわち、このマスクプロセッサ30は、
1個以上のタスク(図示゛せず)のほかに、システムメ
イルボックス32、このシステムワイドなメイルボック
ス番号(例えばボックスシリアル番号)およびメイルボ
ックス名IDを管理するシス央ムメイルボックスディレ
クトリ33、システムメイルボックスを管理するメイル
ボックス管理モジュール34および各プロセッサ30゜
40間のメツセージ通信を行うメツセージ通信モジュー
ル35等の機能が設けられている。前記システムメイル
ボックス32はメツセージキュー36と受信待タスクキ
ニ−37のほかに、メイルボックス管理情報等で構成さ
れている。メツセージキュー36は到着したメツセージ
をキューイングし、一方1、受信待キュー37はメツセ
ージの受信を待つタスクをキューイングする。因みに、
前記マスクプロセッサ30内のテーブルは例えば第3図
のように構成されている。
図、である。すなわち、このマスクプロセッサ30は、
1個以上のタスク(図示゛せず)のほかに、システムメ
イルボックス32、このシステムワイドなメイルボック
ス番号(例えばボックスシリアル番号)およびメイルボ
ックス名IDを管理するシス央ムメイルボックスディレ
クトリ33、システムメイルボックスを管理するメイル
ボックス管理モジュール34および各プロセッサ30゜
40間のメツセージ通信を行うメツセージ通信モジュー
ル35等の機能が設けられている。前記システムメイル
ボックス32はメツセージキュー36と受信待タスクキ
ニ−37のほかに、メイルボックス管理情報等で構成さ
れている。メツセージキュー36は到着したメツセージ
をキューイングし、一方1、受信待キュー37はメツセ
ージの受信を待つタスクをキューイングする。因みに、
前記マスクプロセッサ30内のテーブルは例えば第3図
のように構成されている。
一方、スレーブプロセッサ40は、第4図に示すように
他のプロセッサ内タスク31.41とメツセージの通信
を行うタスク群41.・・・、プロセッサ内のメツセー
ジ受信待タスクをキューイングするためのローカルな受
信待多スクキニ−42、システムメイルボックス32を
管理するメイルボックス管理モジュール43およびプロ
セッサ間のメツセージ通信を行うメツセージ通信モジュ
ール44等の機能が設けられている。
他のプロセッサ内タスク31.41とメツセージの通信
を行うタスク群41.・・・、プロセッサ内のメツセー
ジ受信待タスクをキューイングするためのローカルな受
信待多スクキニ−42、システムメイルボックス32を
管理するメイルボックス管理モジュール43およびプロ
セッサ間のメツセージ通信を行うメツセージ通信モジュ
ール44等の機能が設けられている。
次に、以上のようなマルチプロセッサシステムにおける
プロセッサ間のメツセージ交換方式の動作について第5
図ないし第8図を参照して説明する。先ず、上記マルチ
プロセッサ環境での各プロセッサ30,40.・・・は
それぞれ特定のプロセッサ番号が割り当てられており、
そのうち全てのプロセッサはマルチプロセッサ30およ
び自分のプロセッサ番号を知っているものとする。
プロセッサ間のメツセージ交換方式の動作について第5
図ないし第8図を参照して説明する。先ず、上記マルチ
プロセッサ環境での各プロセッサ30,40.・・・は
それぞれ特定のプロセッサ番号が割り当てられており、
そのうち全てのプロセッサはマルチプロセッサ30およ
び自分のプロセッサ番号を知っているものとする。
(1) あるプロセッサ40内のタスク41が他のプロ
セッサ例えば30内のあるタスク31に対してメツセー
ジを送信する場合(第5図、第7図および第8図)。
セッサ例えば30内のあるタスク31に対してメツセー
ジを送信する場合(第5図、第7図および第8図)。
先ず、メーセージを送信すべき送信タスク41がメイル
ボックス生成要求コードを送出すると(Sl、S2)、
このメイルボックス管理モジュール43はその要求コー
ドからメイルボックスの生成要求であると判断しメイル
ボックス生成要求メツセージを作成した後(S31.5
41)、メイルボックス名IDを含むメイルボックス生
成要求メツセージをメツセージ通信モジュール44へ送
出する。このメツセージ通信モジュール44はそのメイ
ルボックス名ID、 メツセージ等に自プロセッサ番号
とマスクプロセッサ番号を付加しシステムバス20を介
して第5図Alに示すようにマスクプロセッサ30へ伝
送する(S6)。このとき、送信タスク41はローカル
な受信タスクキュー42につながれ、受信待ちのサスペ
ンド状態におかれる(35.37)。
ボックス生成要求コードを送出すると(Sl、S2)、
このメイルボックス管理モジュール43はその要求コー
ドからメイルボックスの生成要求であると判断しメイル
ボックス生成要求メツセージを作成した後(S31.5
41)、メイルボックス名IDを含むメイルボックス生
成要求メツセージをメツセージ通信モジュール44へ送
出する。このメツセージ通信モジュール44はそのメイ
ルボックス名ID、 メツセージ等に自プロセッサ番号
とマスクプロセッサ番号を付加しシステムバス20を介
して第5図Alに示すようにマスクプロセッサ30へ伝
送する(S6)。このとき、送信タスク41はローカル
な受信タスクキュー42につながれ、受信待ちのサスペ
ンド状態におかれる(35.37)。
マスタープロ妄ツサ30のメツセージ通信モジュール3
5がメイルボックス生成要求を受けると、このメツセー
ジ通信モジュール35からの起動によりメイルボックス
管理モジュール34はその生成要求コードに基づいてメ
イルボックス生成要求であると判断しくTI、T2.T
3t ) 、第3図に示すシステムメイルボックス32
のメモリにテーブルに割り当て(741) 、かつ、メ
イルボックス名IDをメイルボックスディレクトリ33
上に登録する(T51)。しかる後、メイルボックス管
理モジュール34は応答メツセージにメイルボックスを
識別するためのメイルボックス名に対応するメイルボッ
クス番号をセットしメツセージ通信モジュール35を通
してメイルボックス生成要求を行ったスレーブプロセッ
サ4oへ返送する( A 2 、T 61 、T 7
)。
5がメイルボックス生成要求を受けると、このメツセー
ジ通信モジュール35からの起動によりメイルボックス
管理モジュール34はその生成要求コードに基づいてメ
イルボックス生成要求であると判断しくTI、T2.T
3t ) 、第3図に示すシステムメイルボックス32
のメモリにテーブルに割り当て(741) 、かつ、メ
イルボックス名IDをメイルボックスディレクトリ33
上に登録する(T51)。しかる後、メイルボックス管
理モジュール34は応答メツセージにメイルボックスを
識別するためのメイルボックス名に対応するメイルボッ
クス番号をセットしメツセージ通信モジュール35を通
してメイルボックス生成要求を行ったスレーブプロセッ
サ4oへ返送する( A 2 、T 61 、T 7
)。
ここで、スレーブプロセッサ40のメツセージ通信モジ
ュール44は応答メツセージ等を受信すると、メツセー
ジ通信モジュール44からの起動によりメモリボックス
管理モジュール43は受信待タスクキュー42から要求
タスク41を探し出し、当該タスク41にメイルボック
ス番号を渡す(811〜813)。従って、このタスク
41は以降メイルボックス番号を指定してシステムメイ
ルボックス32へ必要なメツセージを送信し、それに基
づいてマスクプロセッサ3oがら完了信号を受ける様に
なっている。
ュール44は応答メツセージ等を受信すると、メツセー
ジ通信モジュール44からの起動によりメモリボックス
管理モジュール43は受信待タスクキュー42から要求
タスク41を探し出し、当該タスク41にメイルボック
ス番号を渡す(811〜813)。従って、このタスク
41は以降メイルボックス番号を指定してシステムメイ
ルボックス32へ必要なメツセージを送信し、それに基
づいてマスクプロセッサ3oがら完了信号を受ける様に
なっている。
次に、送信タスク41がシステムメイルボックス32に
対しメツセージ送信要求を行う場合、メツセージ送信要
求コードをメイルボックス管理モジュール34に送出す
る。ここで、メイルボックス管理モジュール34はS3
4.S44のようにメイルボックス番号とメツセージ送
信要求メツセージを作成し、第5図A3に示すようにメ
ツセージ通信モジュール44を介してマスタープロセッ
サ30へ送信しくS6)、かつ、送信タスク41はその
送信完了の応答を受けるためにローカルな受信待タスク
キュー42につながれる(S5)。
対しメツセージ送信要求を行う場合、メツセージ送信要
求コードをメイルボックス管理モジュール34に送出す
る。ここで、メイルボックス管理モジュール34はS3
4.S44のようにメイルボックス番号とメツセージ送
信要求メツセージを作成し、第5図A3に示すようにメ
ツセージ通信モジュール44を介してマスタープロセッ
サ30へ送信しくS6)、かつ、送信タスク41はその
送信完了の応答を受けるためにローカルな受信待タスク
キュー42につながれる(S5)。
一方、マスタープロセッサ30のメイルボックス管理モ
ジュール34は、スレーブプロセッサ40から受けたメ
ツセージコードに基づいてディレクトリ33を参照し、
該当するシステムメイルボックス32が判断される(7
44 )。もし、このときシステムメイルボックス32
上の受信待タスクキュー37にタスクが存在すれば、メ
ツセージをそのタスクの存在するプロセッサ40に送信
L(T54)、その受信待タスクキュー37から該当タ
スクを外すと共に該当タスクの存在するプロセッサ40
へ送信完了のメツセージを送信する(A4 * T54
’ 、T64 )。一方、システムメイルボックス3
2上の受信待タスクキューが存在しない場合、メツセー
ジはシステムメイルボックス32のメツセージキュー3
6に付けられると共に該当送信タスク41のプロセッサ
4oへ送信完了のメツセージを送信する(ST54 、
T64 )。
ジュール34は、スレーブプロセッサ40から受けたメ
ツセージコードに基づいてディレクトリ33を参照し、
該当するシステムメイルボックス32が判断される(7
44 )。もし、このときシステムメイルボックス32
上の受信待タスクキュー37にタスクが存在すれば、メ
ツセージをそのタスクの存在するプロセッサ40に送信
L(T54)、その受信待タスクキュー37から該当タ
スクを外すと共に該当タスクの存在するプロセッサ40
へ送信完了のメツセージを送信する(A4 * T54
’ 、T64 )。一方、システムメイルボックス3
2上の受信待タスクキューが存在しない場合、メツセー
ジはシステムメイルボックス32のメツセージキュー3
6に付けられると共に該当送信タスク41のプロセッサ
4oへ送信完了のメツセージを送信する(ST54 、
T64 )。
ここで、送信側タスク41のメイルボックス管理モジュ
ール43は送信完了のメツセージを受けてローカルな受
信待タスクキュー42上にある送信タスクの動作を再開
させる。
ール43は送信完了のメツセージを受けてローカルな受
信待タスクキュー42上にある送信タスクの動作を再開
させる。
次に、システムメイルボックス32の削除は、スレーブ
プロセッサ4oがらメイルボックス番号を指定して行う
。すなわち、削除要求はスレーブプロセッサ40のメイ
ルボックス管理モジュール43でメイルボックス削除要
求メツセージを作成しメツセージ通信モジュール44を
介してマスタープロセッサ3oへ送信する(A5)。こ
こで、マスタープロセッサ3oのメイルボックス管理モ
ジュール34は指定されたメイルボックス番号のシステ
ムメイルボックス32が削除可能な状態であれば、メイ
ルボックス用メモリを解放しディレクトリ33上よりメ
イルボックスの登録を削除する。そして、メモリボック
スが削除されたならば、マスタープロセッサ30から削
除完了の信号が削除要求のあったスレーブプロセッサ3
0へ送信される(A6)。
プロセッサ4oがらメイルボックス番号を指定して行う
。すなわち、削除要求はスレーブプロセッサ40のメイ
ルボックス管理モジュール43でメイルボックス削除要
求メツセージを作成しメツセージ通信モジュール44を
介してマスタープロセッサ3oへ送信する(A5)。こ
こで、マスタープロセッサ3oのメイルボックス管理モ
ジュール34は指定されたメイルボックス番号のシステ
ムメイルボックス32が削除可能な状態であれば、メイ
ルボックス用メモリを解放しディレクトリ33上よりメ
イルボックスの登録を削除する。そして、メモリボック
スが削除されたならば、マスタープロセッサ30から削
除完了の信号が削除要求のあったスレーブプロセッサ3
0へ送信される(A6)。
(2) あるプロセッサ40内のタスク41がメツセー
ジを受けたい場合(第6図〜第8図)。
ジを受けたい場合(第6図〜第8図)。
メツセージを受信すべき受信タスク41は、メイルボッ
クスディレクトリ参照要求コードを送出する。ここで、
メイルボックス管理モジュール43は既知のメイルボッ
クス名IDをパラメータとしてメイルボックス参照要求
メツセージを作成しメツセージ通信モジュール44およ
びシステムバス20を介して第6図B、に示す如くマス
タープロセッサ30へ送信しくSl、B2.S33゜S
43.B6)、当該受信タスク41はローカルな受信待
タスクキュー42につながれ、サスペンド状態に設定さ
れる(B5.S7)。
クスディレクトリ参照要求コードを送出する。ここで、
メイルボックス管理モジュール43は既知のメイルボッ
クス名IDをパラメータとしてメイルボックス参照要求
メツセージを作成しメツセージ通信モジュール44およ
びシステムバス20を介して第6図B、に示す如くマス
タープロセッサ30へ送信しくSl、B2.S33゜S
43.B6)、当該受信タスク41はローカルな受信待
タスクキュー42につながれ、サスペンド状態に設定さ
れる(B5.S7)。
ここで、マスタープロセッサ30のメイルボックス管理
モジュール34は前記メイルボックス参照要求コードに
基づいてメイルボックスディレクトリ参照と判断すると
(TI、T2.T33 )、メモリメイルボックスディ
レクトリ33を参照し、メイルボックス名IDと一致す
るシステムメイルボックス32のメイルボックス番号を
求め、応答メツセージにこのメイルボックス番号をセッ
トしてメツセージ通信モジュール35を介して参照結果
(B2)として受信タスク41の存在するプロセッサ4
0へ送信する(T43 、T53 、T7)。
モジュール34は前記メイルボックス参照要求コードに
基づいてメイルボックスディレクトリ参照と判断すると
(TI、T2.T33 )、メモリメイルボックスディ
レクトリ33を参照し、メイルボックス名IDと一致す
るシステムメイルボックス32のメイルボックス番号を
求め、応答メツセージにこのメイルボックス番号をセッ
トしてメツセージ通信モジュール35を介して参照結果
(B2)として受信タスク41の存在するプロセッサ4
0へ送信する(T43 、T53 、T7)。
このスレーブプロセッサ40のメイルボックス管理モジ
ュール43は、ローカルな受信待タスクキュー42から
受信タスク41をはずし、メイルボックス番号を受信タ
スク41に渡して動作を再開させる。この受信タスク4
1は以降メイルボックス番号を指定しマスタープロセッ
サ40に対しメツセージ受信要求を行う。つまり、受信
側プロセッサ40がメツセージを受信する場合、自プロ
セッサ40のメイルボックス管理モジュール43に対し
、メモリボックス番号を指定しメツセージ受信要求を出
す(B3)。なお、このとき受信タスク41はローカル
な受信待タスクキュー42へ付けられて受信待ちの状態
でサスペンドする。
ュール43は、ローカルな受信待タスクキュー42から
受信タスク41をはずし、メイルボックス番号を受信タ
スク41に渡して動作を再開させる。この受信タスク4
1は以降メイルボックス番号を指定しマスタープロセッ
サ40に対しメツセージ受信要求を行う。つまり、受信
側プロセッサ40がメツセージを受信する場合、自プロ
セッサ40のメイルボックス管理モジュール43に対し
、メモリボックス番号を指定しメツセージ受信要求を出
す(B3)。なお、このとき受信タスク41はローカル
な受信待タスクキュー42へ付けられて受信待ちの状態
でサスペンドする。
マスタープロセッサ30は、受信側プロセッサ40から
メツセージ受信要求を受けると、メイルボックス管理モ
ジュール34がメイルボックスディレクトリ33から指
定のメイルボックスを見付け、そのメツセージキュー3
6にメツセージが付けられているか否かを調べる。もし
、メツセージが存在すれば、メツセージキュー36から
メツセージをはずし、受信タスク41の存在するプロセ
ッサ40ヘメツセージ(B4)を送信する。もし、メツ
セージキュー36にメツセージが存在しない場合、受信
待タスクキュー37に要求をつけてメツセージの到着を
待つ。他のプロセッサの送信タスクからメツセージが到
着すると、受信待タスクキュー37から要求をはずし、
メツセージを受信側プロセッサ40へ送信する。受信側
プロセッサ40のメモリボックス管理モジュール43は
メツセージが送られてくると、ローカルの受信待タスク
キュー42を探し、該当受信タスク41ヘメツセージを
渡すと共に受信タスク41の動作を再開させるものであ
る。
メツセージ受信要求を受けると、メイルボックス管理モ
ジュール34がメイルボックスディレクトリ33から指
定のメイルボックスを見付け、そのメツセージキュー3
6にメツセージが付けられているか否かを調べる。もし
、メツセージが存在すれば、メツセージキュー36から
メツセージをはずし、受信タスク41の存在するプロセ
ッサ40ヘメツセージ(B4)を送信する。もし、メツ
セージキュー36にメツセージが存在しない場合、受信
待タスクキュー37に要求をつけてメツセージの到着を
待つ。他のプロセッサの送信タスクからメツセージが到
着すると、受信待タスクキュー37から要求をはずし、
メツセージを受信側プロセッサ40へ送信する。受信側
プロセッサ40のメモリボックス管理モジュール43は
メツセージが送られてくると、ローカルの受信待タスク
キュー42を探し、該当受信タスク41ヘメツセージを
渡すと共に受信タスク41の動作を再開させるものであ
る。
従って、以上のような実施例の構成によれば、複数のプ
ロセッサのタスク31.・・・、41間でメツセージの
交換を行う場合、スレーブプロセッサ側で所要とする要
求メツセージを作成しマスタープロセッサ30へ送信す
ると、このマスクプロセッサ30ではメモリボックス3
2を有効に利用しつつメイルボックス名等からメイルボ
ックス番号を求めて要求したスレーブプロセッサ40へ
返送してくるので、当該プロセッサの要求タスクはその
メイルボックス番号を用いてメツセージの交換を行うこ
とができ、従来の単一のプロセッサ内のメイルボックス
によるメツセージ交換の考えを生かしてメツセージの交
換を行うことが可能となり、これによって標準的なメツ
セージ交換のソフトウェアを確立できる。しかも、ハー
ドウェアに依存することなく柔軟で拡張性に富んだマル
チブロセッサシステムを容易に構築できる。
ロセッサのタスク31.・・・、41間でメツセージの
交換を行う場合、スレーブプロセッサ側で所要とする要
求メツセージを作成しマスタープロセッサ30へ送信す
ると、このマスクプロセッサ30ではメモリボックス3
2を有効に利用しつつメイルボックス名等からメイルボ
ックス番号を求めて要求したスレーブプロセッサ40へ
返送してくるので、当該プロセッサの要求タスクはその
メイルボックス番号を用いてメツセージの交換を行うこ
とができ、従来の単一のプロセッサ内のメイルボックス
によるメツセージ交換の考えを生かしてメツセージの交
換を行うことが可能となり、これによって標準的なメツ
セージ交換のソフトウェアを確立できる。しかも、ハー
ドウェアに依存することなく柔軟で拡張性に富んだマル
チブロセッサシステムを容易に構築できる。
〔発明の効果]
以上詳記したように本発明の請求項1.2によれば、従
来の単一プロセッサ内のメイルボックスの機能を生かし
つつ簡単なソフトウェアを用いてメツセージの交換に必
要な種々の機能を適切に行うことができ、柔軟性および
拡張性に富んだメツセージの交換を実現しうるマルチプ
ロセッサ間のメツセージ交換方式を提供できる。
来の単一プロセッサ内のメイルボックスの機能を生かし
つつ簡単なソフトウェアを用いてメツセージの交換に必
要な種々の機能を適切に行うことができ、柔軟性および
拡張性に富んだメツセージの交換を実現しうるマルチプ
ロセッサ間のメツセージ交換方式を提供できる。
第1図ないし第8図は本発明に係わるマルチプロセッサ
間のメツセージ交換方式の一実施例を説明するために示
したもので、第1図はマルチプロセッサシステムの概略
構成図、第2図は第1図に示すマスタープロセッサの機
能構成図、第3図はマスタープロセッサ内のテーブル構
成図、第4図は第1図に示すスレーブプロセッサの機能
構成図、第5図および第6図はメツセージ交換の制御手
順図、第7図はスレーブプロセッサ側の動作流れ図、第
8図はマスタープロセッサ側の動作流れ図、第9図およ
び第10図はそれぞれ従来のタスク間のメツセージ交換
方式を説明する図である。 20・・・システムバス、30・・・マスタープロセッ
サ、31・・・タスク、32・・・システムメイルボッ
クス、34・・・メイルボックス管理モ、ジュール、3
6・・・メツセージキュー、37・・・受信待タスクキ
ュー、40・・・スレーブプロセッサ、41・・・タス
ク、42・・・受信待タスクキュー、43・・・メイル
ボックス管理モジュール。 出願人代理人 弁理士 鈴 江 武 彦U 第1図 第2図 第4図 第5凶 第9図 第10図
間のメツセージ交換方式の一実施例を説明するために示
したもので、第1図はマルチプロセッサシステムの概略
構成図、第2図は第1図に示すマスタープロセッサの機
能構成図、第3図はマスタープロセッサ内のテーブル構
成図、第4図は第1図に示すスレーブプロセッサの機能
構成図、第5図および第6図はメツセージ交換の制御手
順図、第7図はスレーブプロセッサ側の動作流れ図、第
8図はマスタープロセッサ側の動作流れ図、第9図およ
び第10図はそれぞれ従来のタスク間のメツセージ交換
方式を説明する図である。 20・・・システムバス、30・・・マスタープロセッ
サ、31・・・タスク、32・・・システムメイルボッ
クス、34・・・メイルボックス管理モ、ジュール、3
6・・・メツセージキュー、37・・・受信待タスクキ
ュー、40・・・スレーブプロセッサ、41・・・タス
ク、42・・・受信待タスクキュー、43・・・メイル
ボックス管理モジュール。 出願人代理人 弁理士 鈴 江 武 彦U 第1図 第2図 第4図 第5凶 第9図 第10図
Claims (2)
- (1)複数のプロセッサのタスク間でメッセージの交換
を行うマルチプロセッサ間のメッセージ交換方式におい
て、 前記複数のプロセッサのうち少なくとも1個以上のプロ
セッサをマスタープロセッサとし、他の残りのプロセッ
サをスレーブプロセッサとし、前記メインプロセッサに
はメイルボックスと、メイルボックス番号、メイルボッ
クス名を管理するメイルボックスディレクトリとが設け
られ、特定の前記プロセッサがメッセージを送信する場
合、前記特定のプロセッサからメイルボックス名を含む
メイルボックス生成要求メッセージを送信し、前記メイ
ンプロセッサは前記メイルボックス生成要求メッセージ
を前記メイルボックスに割当てると共に前記メイルボッ
クスディレクトリにメイルボックス名を登録し、かつ、
そのメイルボックス名からメイルボックス番号を求めて
送信し、前記特定のプロセッサはそのメイルボックス番
号を用いてメッセージを送信することを特徴とするマル
チプロセッサ間のメッセージ交換方式。 - (2)複数のプロセッサのタスク間でメッセージの交換
を行うマルチプロセッサ間のメッセージ交換方式におい
て、 前記複数のプロセッサのうち少なくとも1個以上のプロ
セッサをマスタープロセッサとし、他の残りのプロセッ
サをスレーブプロセッサとし、前記メインプロセッサに
はメイルボックスと、メイルボックス番号、メイルボッ
クス名を管理するメイルボックスディレクトリとが設け
られ、特定の前記プロセッサがメッセージを受けたい場
合、前記特定のプロセッサから既知のメイルボックス名
をパラメータとしてメイルボックス参照要求メッセージ
を送信し、前記メインプロセッサはメイルボックス参照
要求メッセージを受けると前記メイルボックスディレク
トリを参照しながらメイルボックス名に対応するメイル
ボックス番号を求めて送信し、前記特定のプロセッサは
そのメイルボックス番号を用いてメッセージ受信要求を
行うことを特徴とするマルチプロセッサ間のメッセージ
交換方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63039591A JPH01214960A (ja) | 1988-02-24 | 1988-02-24 | マルチプロセッサ間のメッセージ交換方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63039591A JPH01214960A (ja) | 1988-02-24 | 1988-02-24 | マルチプロセッサ間のメッセージ交換方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01214960A true JPH01214960A (ja) | 1989-08-29 |
Family
ID=12557347
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63039591A Pending JPH01214960A (ja) | 1988-02-24 | 1988-02-24 | マルチプロセッサ間のメッセージ交換方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01214960A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1998041927A1 (fr) * | 1997-03-19 | 1998-09-24 | Hitachi, Ltd. | Calculateur parallele |
| JP2014524067A (ja) * | 2011-06-10 | 2014-09-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | オペレータ・メッセージ・コマンドの処理 |
| JP2014524068A (ja) * | 2011-06-10 | 2014-09-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | オペレータ・メッセージ開始コマンドの実行 |
-
1988
- 1988-02-24 JP JP63039591A patent/JPH01214960A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1998041927A1 (fr) * | 1997-03-19 | 1998-09-24 | Hitachi, Ltd. | Calculateur parallele |
| JP2014524067A (ja) * | 2011-06-10 | 2014-09-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | オペレータ・メッセージ・コマンドの処理 |
| JP2014524068A (ja) * | 2011-06-10 | 2014-09-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | オペレータ・メッセージ開始コマンドの実行 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5390316A (en) | Multicomputer complex having a distributed shared memory system for providing a single system view from multiple consoles | |
| TW544589B (en) | Loosely coupled-multi processor server | |
| EP1021764B1 (en) | I/o forwarding in a cache coherent shared disk computer system | |
| JPS63201860A (ja) | ネツトワーク管理システム | |
| GB2110442A (en) | Multiprocessing interrupt arrangement | |
| TW200411403A (en) | System and method for transferring data between virtual machines or other computer entities | |
| US5606666A (en) | Method and apparatus for distributing control messages between interconnected processing elements by mapping control messages of a shared memory addressable by the receiving processing element | |
| JPH1069391A (ja) | マルチタスク環境において動作するアプリケーションのための汎用通信機構 | |
| EP0317481B1 (en) | Remote storage management mechanism and method | |
| US5204954A (en) | Remote storage management mechanism and method | |
| JPH01137356A (ja) | 作業フロー制御方法、作業要求フロー制御方法及び装置、並びに通信管理装置 | |
| JPH05227253A (ja) | 効率的な論理プロトコルを使用した共用メモリと通信アダプタ間のメッセージ交換方法 | |
| JPH01214960A (ja) | マルチプロセッサ間のメッセージ交換方式 | |
| JPH05224956A (ja) | プロセス間メッセージ通信方法 | |
| JPS63263557A (ja) | 階層リレーテツド・リソースへの同時トランザクシヨンによるアクセスを調節する方法 | |
| KR100356919B1 (ko) | 메시지큐와 공유메모리를 결합 이용한 프로세스 간의 통신 방법 | |
| JPH06301655A (ja) | 分散処理システム | |
| Schröder-Preikschat | Peace—A distributed operating system for high-performance multicomputer systems | |
| JPH02213976A (ja) | 多重処理コンピユータ及びプロセツサ間通信方法 | |
| JP3014112B2 (ja) | マルチプロセッサシステムにおけるメッセージ通信方式 | |
| JP3006187B2 (ja) | 分散処理システム | |
| JP2898985B2 (ja) | 画像処理方法 | |
| JPH10143486A (ja) | 並列計算機におけるデータ送受信方法 | |
| JPH0619855A (ja) | メッセージのキューイング方法とその装置 | |
| JP2971119B2 (ja) | 複数プロセッサシステムにおける高速データ転送方式 |