JPH08339354A - ネットワーク分散処理システム - Google Patents

ネットワーク分散処理システム

Info

Publication number
JPH08339354A
JPH08339354A JP7143059A JP14305995A JPH08339354A JP H08339354 A JPH08339354 A JP H08339354A JP 7143059 A JP7143059 A JP 7143059A JP 14305995 A JP14305995 A JP 14305995A JP H08339354 A JPH08339354 A JP H08339354A
Authority
JP
Japan
Prior art keywords
communication
distributed
memory
transmission
area network
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
JP7143059A
Other languages
English (en)
Other versions
JP3303045B2 (ja
Inventor
Shigeki Yamada
茂樹 山田
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP14305995A priority Critical patent/JP3303045B2/ja
Publication of JPH08339354A publication Critical patent/JPH08339354A/ja
Application granted granted Critical
Publication of JP3303045B2 publication Critical patent/JP3303045B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】 【目的】WANを経由したシステム間通信のソフトウェ
アオーバヘッドを削減し、システム内通信と同程度に転
送遅延時間を短縮し、処理効率を向上させる。 【構成】システム間通信もシステム内通信と同じよう
に、分散共有メモリ経由で行うことを基本にして、シス
テム間で共通の分散共有メモリ空間を共有させる。送信
プロセッサモジュールの分散メモリカップラがプロセッ
サ間通信路経由のローカル通信かWAN経由の通信かを
判定し、各プロトコルに合わせて送信側と受信側の共有
メモリの同一アドレスロケーション間でコピーを行うこ
とにより、メッセージパッシングプログラミングモデル
を実現する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プロセッサモジュール
間通信路と通信ネットワーク(例えばWAN)に相互接
続された1個以上のプロセッサモジュールからなるネッ
トワーク分散処理システムに関し、特にプロセッサモジ
ュール間で分散共有メモリ間コピーにより効率よくメッ
セージ通信を行うことができるネットワーク分散処理シ
ステムに関するものである。
【0002】
【従来の技術】従来より、複数のコンピュータがそれぞ
れ他のコンピュータと相互通信を行いながら処理を行う
分散処理システムが実用化されている。また、複数のプ
ロセッサモジュールがプロセッサ間通信路を介して相互
接続された超並列システムは、各プロセッサモジュール
が各々独立したコンピュータとみなすことができるの
で、分散処理システムの一種と考えることができる。超
並列システム内のプロセッサモジュール相互間、あるい
は超並列システム相互間で通信を行う方式としては、例
えば特願平6−202071号明細書および図面(平成
6.8.26出願)に記載された『マルチプロセッサシ
ステム』がある。以下、このシステムについて説明す
る。図2は、上記従来例のマルチプロセッサシステムの
構成図である。図2においては、3台のプロセッサモジ
ュール2−1,2−2,2−3から構成されたマルチプ
ロセッサシステム1が示されている。各プロセッサモジ
ュール2−1,2−2,2−3内には、モジュール全体
を制御するプロセッサ3−1,3−2,3−3、それぞ
れ対応するプロセッサ3−1,3−2,3−3から読み
書きアクセスが可能なローカルメモリ4−1,4−2,
4−3、全プロセッサモジュール間で共通のアドレスが
与えられた分散共有メモリ5−1,5−2,5−3が設
けられている。なお、プロセッサ3−1からアクセスで
きる分散共有メモリは5−1のみであって、他の分散共
有メモリ5−2,5−3にはアクセスすることはできな
い。 同じようにして、分散共有メモリ5−2は、プロ
セッサ3−2のみからアクセスでき、分散共有メモリ5
−3は、プロセッサ3−3のみからアクセスできる。
【0003】これらの分散共有メモリ5−1,5−2,
5−3には、それぞれメッセージバッファ6−1,6−
4,6−2,6−3,6−5が設けられている。この場
合に、メッセージバッファ6−1,6−2,6−3は各
分散共有メモリ内の第1番目のメッセージバッファであ
って、同一のアドレスが割り当てられている。また、プ
ロセッサモジュールでは、必要に応じて複数個のメッセ
ージバッファが設けられる。例えば、プロセッサモジュ
ール2−1では、6−1の他にメッセージバッファ6−
4が設けられ、プロセッサモジュール2−3では、6−
3の他にメッセージバッファ6−5が設けられている。
次に、分散メモリカップラ7−1,7−2,7−3は、
それぞれプロセッサモジュール間通信路10に接続され
ており、分散共有メモリ5−1,5−2,5−3のメッ
セージバッファ6−1,6−2,6−3にデータがそれ
ぞれ書き込まれた時、その書き込まれたデータを予め指
定された他のプロセッサモジュール(1個ないし複数
個)に送信するとともに、他のプロセッサモジュールか
ら受信した書き込みデータを、分散共有メモリ5−1,
5−2,5−3の中の送信側と同一のアドレスロケーシ
ョン(つまり、メッセージバッファ6−1,6−2,6
−3)に書き込むための装置である。これは、あるメッ
セージバッファ6−1に書き込みが起ると、例えばメッ
セージバッファ6−2にもその書き込みデータが送られ
て、コピーされることを意味している。次に、分散メモ
リプロテクタ8−1,8−2,8−3は、それぞれメッ
セージバッファ6−1,6−2,6−3,6−4,6−
5に記憶されているメッセージを、不正なアクセスから
保護するための装置である。また、ネットワークアダプ
タ9−1,9−2,9−3は、それぞれ通信ネットワー
ク11に接続されており、通信ネットワーク11を介し
て他の分散システムとメッセージ等を交換するための一
種の入出力装置である。なお、通信ネットワーク11と
しては、ワイドエリアネットワーク(WAN)等を使用
することができる。
【0004】プロセッサモジュール間通信路10は、マ
ルチプロセッサシステム1内のプロセッサモジュール2
−1,2−2,2−3間でメッセージあるいはそれらの
制御情報を比較的近距離で転送するための通信媒体であ
る。一方、通信ネットワーク11は、マルチプロセッサ
システム1間を相互接続する比較的遠距離通信用の通信
ネットワークである。この通信ネットワーク11のイン
タフェースとプロトコルは一般に標準化されており、イ
ンタフェースとプロトコルの条件を満足する限り、どの
ようなシステムでも接続できるような、いわゆるオープ
ンシステムアーキテクチャ構造を採用している。このよ
うな構成において、分散メモリカップラ8−1〜8−3
はメッセージバッファアドレス対応に受信先プロセッサ
モジュールID番号(PM ID)を記憶しておく。例
えば、同一システム内のプロセッサモジュール2−1か
らプロセッサモジュール2−2に通信できるようにする
ため、プロセッサモジュール2−1では分散メモリカッ
プラ7−1内に予め『メッセージバッファ6−1アドレ
スと、受信PM ID=PM2−2のID』の情報を記
憶させておく。これにより、送信PM2−1ではPM間
通信用のメッセージバッファ6−1にメッセージを書き
込むと、分散メモリカップラ7−1が、メッセージバッ
ファ6−1のアドレスに対応する受信PM ID(=P
M2−1のID)を書き込みデータとそのアドレスに付
与してプロセッサモジュール間通信路10に送出する。
プロセッサモジュール間通信路10は、受信PM2−2
に書き込みデータとアドレスを送り届け、受信側の分散
メモリカップラ7−2が分散共有メモリのメッセージバ
ッファ6−2に書き込むことにより、システム内PM間
通信を実現することができる。
【0005】次に、通信ネットワーク11を介して接続
されたマルチプロセッサシステム間で、メッセージ通信
を行うシステム間通信の場合には、各システムに通信ネ
ットワークインタフェース装置と通信制御ソフトウェア
を配置して、標準化されたプロトコルを用いてシステム
間通信を行う。すなわち、送信システム内の送信PM2
−1では、分散共有メモリ5−1上にシステム間通信用
メッセージバッファ6−4を確保して、ネットワークア
ダプタ制御に必要な制御データをネットワークアダプタ
9−1に設定し、通信プロトコル処理を実行する。ネッ
トワークアダプタ9−1は、送信制御プログラムからの
起動によりメッセージバッファ6−4からDMA(Dir
ect Memory Access)モードで転送データを読み出
し、通信ネットワーク11に送出する。送信システムが
図2のマルチプロセッサシステム1であるから、受信シ
ステムは図示されていないのであるが、仮に受信システ
ムを図2のマルチプロセッサシステム1として、プロセ
ッサモジュール23で受信するものと仮定する。受信シ
ステム1では、受信用プロセッサモジュール2−3で通
信プロトコル処理を行い、分散共有メモリ5−3上にシ
ステム間通信用メッセージバッファ6−5を確保し、ネ
ットワークアダプタ9−3に実行に必要な制御データを
設定する。メッセージバッファ6−5は、送信側システ
ムのメッセージバッファ(例えば、6−4)とは独立に
捕捉されるため、両者のアドレスは異なっている。ネッ
トワークアダプタ9−3は、通信ネットワーク11から
受信した転送データをメッセージバッファ6−5に書き
込む。メッセージの転送が完了すると、ネットワークア
ダプタ9−3は、プロセッサ3−3に割り込みをかけて
メッセージの到着を通知する。最終的には、受信プロセ
スがメッセージバッファ6−5からデータを読み取っ
て、対応する処理を実行する。
【0006】別の従来例として、複数のコンピュータシ
ステムがWANを介して接続されたネットワーク分散処
理システムにおいて、コンピュータシステム間通信を行
う方式が、例えば文献M.T.Tam andD.Farber
‘CAPNET-An Approach to Ultra High
Speed Network, Proceedings of the 1990 I
nternational Conference on Communications,pp.
955-961(1990)'に記載されている。 図3は、上記従来
例を示すネットワーク分散処理システムの接続図であ
る。図3においては、3つのシステム12−1,12−
2,12−3がワイドエリアネットワーク(WAN)1
3を介して接続されており、各システムは分散共有メモ
リ21−1,21−2,21−3を備えている。つま
り、3つのシステム12−1〜12−3は共通なメモリ
アドレス空間(共有空間)21−1〜21−3を共有
し、各システム12−1〜12−3は分散共有メモリ内
にオリジナルデータまたはそのコピー(以下、キャッシ
ュと記す)を記憶している。いずれのノードがオリジナ
ルデータを保有し、いずれのノードがキャッシュを保有
しているかは、WAN13内の交換機14のページテー
ブル15上に記憶されている。システム間通信を行う場
合には、送信側システム(例えば、12−1)は分散共
有メモリ21−1上のあるアドレスロケーションに通信
情報を書き込む。一方、受信側システム(例えば、12
−3)では、そのデータを読み出す時には、メモリアク
セス要求を交換機14に送出する。交換機14は、ペー
ジテーブル15を参照することにより、そのデータの所
有権を求つシステム(ここでは12−1)にそのメモリ
アクセス要求を送出する。要求を受信したシステム12
−1は、オリジナルデータを要求元システム12−3に
転送する。このようにして、分散共有メモリ21−1〜
21−3と交換機14内のページテーブル15の情報に
より、送信システムから受信システムへの通信が行われ
る。
【0007】
【発明が解決しようとする課題】しかしながら、前者の
システム(図2のシステム)では、システム内通信は分
散メモリ間コピーで極めて効率よく実現することができ
るが、システム間通信については問題が多い。すなわ
ち、システム間通信では、入出力装置の一種であるネッ
トワークアダプタを用いて通信を行うために、入出力装
置の起動、入出力装置からの転送終了を処理する割り込
み処理、あるいは受信システムにおけるメッセージバッ
ファの捕捉等、多くの通信ソフトウェアの実行が必要と
なる。また、標準化された通信ネットワークインタフェ
ースプロトコルを用いることにより、プロトコル処理送
信プロセスから受信プロセスにデータが渡るまでに、階
層化された多くの階層化ソフトウェアを実行する必要が
あり、そのオーバヘッドおよび遅延時間が極めて大であ
るという問題がある。次に、後者のシステム(図3のシ
ステム)についても、いくつかの問題がある。すなわ
ち、メモリアクセス要求を送出するシステムから見る
と、メモリアクセス要求を所有権を持つシステムに送出
して、オリジナルデータを返送してもらうので、大きな
ラウンドトリップ遅延を生じる。また、メモリアクセス
要求を受けるシステムから見ると、メモリアクセス要求
を受ける度に実行中の処理を中断し、データ転送の処理
を行うためのソアトウェアオーバヘッドが大きい。ま
た、交換機から見ると、ページテーブルの状態を最新状
態に整えておくためのソフトウェアオーバヘッドも大き
い。さらに、WANから見ると、1回のメモリ参照に対
して、メモリ要求、ページ転送の2回のメッセージ交換
が必要となるため、ネットワークトラヒックの増加を招
く。そこで、本発明の目的は、これら従来の課題を解決
し、WANを経由したコンピュータシステム間通信のソ
フトウェアオーバヘッドを削減し、コンピュータシステ
ム内の通信と同じ程度に転送遅延時間が短く、処理効率
の高いネットワーク分散処理システムを提供することに
ある。
【0008】
【課題を解決するための手段】上記目的を達成するた
め、本発明のネットワーク分散処理システムでは、共有
メモリ空間の共有範囲を1つのシステム内プロセッサモ
ジュール間のみならず、通信ネットワークに接続された
複数のシステム全体に拡張する。従って、ここでは、1
つ以上のプロセッサモジュールを論理的にまとめたもの
をシステムと呼び、システム間およびシステム内(プロ
セッサモジュール間)の接続媒体としては、比較的近距
離通信用のプロセッサ間通信路あるいは比較的遠距離通
信用のWANのいずれでも差し支えないものとする。こ
のようにして、ネットワーク全体にわたる共有メモリ空
間にメッセージバッファを配置して、送信プロセッサモ
ジュールがメッセージバッファに書き込み、受信プロセ
ッサモジュールがメッセージバッファから読み出す。つ
まり、メッセージパッシングモデルにより実現してい
る。分散共有メモリ上のメッセージバッファは、物理的
に送信プロセッサモジュールと受信プロセッサモジュー
ルの両方を配置する。送信プロセッサモジュールと受信
プロセッサモジュールは、それぞれ分散メモリカップラ
を備え、送信側の分散メモリカップラはメッセージバッ
ファアドレスに1対1に対応するWANルーチング情報
またはプロセッサモジュール間通信路ルーチング情報を
記憶し、WANインタフェースとプロセッサ間通信路イ
ンタフェースとの両インタフェースに対応できるように
している。
【0009】
【作用】本発明においては、送信プロセッサモジュール
がそれぞれ宛先受信プロセッサモジュールに対応する分
散共有メモリ上のメッセージバッファを選択し、そこに
転送データを書き込む。分散メモリカップラは、書き込
みアドレスに対応するWANルーチング情報あるいはプ
ロセッサモジュール間通信路ルーチング情報を取り出
し、それがWANルーチング情報であれば、メモリ書き
込みアドレスとデータにWANルーチング情報を付与し
たWANパケットをWANに送出し、一方、プロセッサ
モジュール間通信路ルーチング情報であれば、メモリ書
き込みアドレスとデータにプロセッサモジュール間通信
路ルーチング情報を付与したローカルパケットをプロセ
ッサモジュール間通信路に送出する。WANは、WAN
ルーチング情報に従ってWANパケットを受信プロセッ
サモジュールに送り届け、またプロセッサモジュール間
通信路は、プロセッサモジュール間通信路ルーチング情
報に従ってローカルパケットを受信プロセッサモジュー
ルに送り届ける。受信プロセッサモジュールの分散メモ
リカップラは、WANパケットあるいはローカルパケッ
トが指定する分散共有メモリのアドレスロケーションに
データを書き込む。これにより、従来のシステム間通信
もシステム内通信も、WANまたはプロセッサモジュー
ル間通信路を経由した分散共有メモリ間のコピーによ
り、同じように高速かつ効率よく行われる。つまり、従
来では、極め多くのオーバヘッドを要していたシステム
間通信に相当する機能を、システム内通信と同じ程度の
軽いオーバヘッドと短い遅延時間で実現することができ
る。
【0010】
【実施例】以下、本発明の実施例を、図面により詳細に
説明する。前述のように、本発明では、システム間およ
びシステム内(プロセッサモジュール間)の接続媒体と
しては、比較的近距離通信用のプロセッサ間通信路ある
いは比較的遠距離通信用のWANのいずれでも差し支え
ない。このような考えから、システム間通信、システム
内通信という分け方は論理的には意味があっても物理的
には無意味であるため、本実施例では、プロセッサモジ
ュール間通信を基本とし、それがWAN経由の通信か、
あるいはプロセッサモジュール間通信路経由の通信かで
分けて説明することにする。図4は、本発明の一実施例
を示すシステム構成図である。図4において、17−1
はメッセージを送信する送信システム、17−2はメッ
セージを受信する受信システムである。送信システム1
7−1は、2個のプロセッサモジュール(以下、PM)
18−1,18−2から構成され、受信システム17−
2は、1個のPM18−3から構成される。すなわち、
本実施例では、複数のPMから構成されるシステムは勿
論のこと、1個のPMのみから構成されるシステムも含
まれる。なお、図4では、1個の場合にもPM間通信路
に接続されているが、実際にはPM間通信路は不要であ
る。各プロセッサモジュール(PM)は、プロセッサ1
9−1〜19−3、それぞれ対応するプロセッサ19−
1〜19−3から読み書きアクセスが可能なローカルメ
モリ20−1〜20−3、全システムおよび全PMで共
通のアドレスが与えられた分散共有メモリ21−1〜2
1−3、それぞれ分散共有メモリ21−1〜21−3に
データが書き込まれた時、その書き込みデータを予め指
定された他のシステムあるいは自システム内の他のPM
に送信するとともに、他システムあるいは自システム内
の他のPMより受信した書き込みデータを分散共有メモ
リ21−1〜21−3の中の送信側と同一アドレスロケ
ーションに書き込むための分散メモリカップラ22−1
〜22−3、ならびに分散メモリプロテクタ23−1〜
23−3を含んでいる。
【0011】なお、プロセッサ19−1からアクセスで
きる分散共有メモリは、21−1のみであって、分散共
有メモリ21−2,21−3にはアクセスできない。同
じように、プロセッサ19−2からアクセスできる分散
共有メモリは21−2のみであり、またプロセッサ19
−3からアクセスできる分散共有メモリは21−3のみ
である。また、分散メモリプロテクタ23−1〜23−
3は、それぞれ分散共有メモリ21−1〜21−3内の
メッセージバッファに記憶されているメッセージを不正
なアクセスから保護する。25−1,25−2はPM間
通信路であって、比較的近距離に配置されたPM相互間
でメッセージあるいはそれらの制御情報を転送する。例
えば、システムバス、多段スイッチングネットワーク、
ATM(Asynchronous Transfer Mode)−LANや
ATMスイッチファブリック等を想定している。勿論、
その他の種類のプロセッサモジュール間通信路も適用す
ることができる。なお、受信システム17−2は、1つ
のPMで構成されているので、PM間通信路25−2を
省略してもよい。26は、比較的遠距離に配置された複
数のPMを相互接続する通信ネットワークであって、本
実施例では、転送データを固定長のブロックに分割し、
それに行き先ヘッダを付加した53バイトのセルにし
て、ネットワーク内を転送するATMネットワークある
いはセルリレーネットワークを考えているが、その他の
種類の通信ネットワークであってもよいのは勿論であ
る。
【0012】図5は、図4における分散共有メモリ上の
データ配置図である。分散共有メモリ21−1〜21−
3におけるデータ配列を物理アドレスレベルで示すと、
図5のようになる。各分散共有飯モリ21−1〜21−
3は、対応する横列が同一アドレスとなっており、いず
れも同一の物理アドレスが割り付けられている。分散共
有メモリ内の通信領域は、(a)システム内通信エリ
ア、(b)システム間通信エリア、(c)FIFO通信
エリア、に分けられている。システム内通信エリアは、
同一システム内で送受信される通信情報を記憶するエリ
アであり、システム間通信エリアは、異なるシステム間
の通信情報を記憶するエリアである。また、FIFO通
信エリアは、システム間または同一システム内PM間に
またがる処理要求をFIFO形式で蓄積記憶するエリア
である。システム内通信エリアおよびシステム間通信エ
リアは、それぞれPMを単位として次の3つのエリアに
分割されている。すなわち、(i)メッセージを記憶す
るメッセージバッファ(以下、MB)エリアと、(ii)
メッセージバッファの捕捉/解放状態を表示するMB管
理マップエリアと、(iii)MBアドレス等の送受間引
き継ぎ制御情報(ディスクリプタ)を記憶するディスク
リプタエリアである。
【0013】図5において、分散共有メモリ21−1〜
21−3上にこれらのエリアを識別するため、Mijの識
別名を用いることにする。ここでMは、PM対応のMB
/MB管理マップ/ディスクリプタ/FIFO通信エリ
アの識別記号で、図4のPM18−1に対応するMBは
X、そのMB管理マップはXM、ディスクリプタはXD
と表現されている。同じように、PM18−2に対応す
るMBはY、そのMB管理マップはYM、ディスクリプ
タはYD、FIFO通信エリアはYF、またPM18−
3に対応するMBはZ、そのMB管理マップはZM、デ
ィスクリプタはZD、FIFO通信エリアはZFという
名前が付されている。ここで、i,jは、それぞれ送信
プロセッサモジュール(PM)の識別番号(PM I
D)と受信PMの識別番号(PM ID)を表わしてお
り、PM18−1,PM18−2,PM18−3に対応
してそれぞれ1,2,3の番号が与えられている。ただ
し、例外として、FIFO通信エリアXF,YF,ZF
は値jのみを有し、値iを持たない。その理由は、FI
FO通信エリアは値jで表わされる受信側PM対応に分
割されており、値iで表わされる各送信PM間で共通に
使用するため、エリアの指定情報として値iを必要とし
ないからである。例えば、Z13は、分散共有メモリ2
1−3上のPM18−1からPM18−3への通信用M
Bを表わしている。また、XD21は、分散共有メモリ
21−1上のPM18−2から1番目のPM18−1へ
のディスクリプタ、ZF2は分散共有メモリ21−3上
のPM18−2への受信処理FIFO通信エリアを表わ
す。簡単のために、MB,MB管理マップ、ディスクリ
プタは、受信システムのPM対応に1個のみ用意されて
いるものとする。
【0014】図5から明らかなように、i=jとなる場
合には同一PM内での通信エリアを示している。2つの
MBのijの値がそれぞれ一致し、Mの値が異なるMB
がペアを構成し、異なる分散共有メモリの同一物理アド
レスロケーションに配置される。例えば、図5におい
て、MBX12とY12はペアを構成して、互いに同じ
物理アドレスを有している。各ペアは、送信PMのカー
ネルにより動的に捕捉と解放が行われる。各PMは固定
長の大きさで構成されており、各PM対応にMB管理マ
ップが存在している。例えば、図5では、MBのX12
に対してMB管理マップエントリXM12が対応してい
る。ここで、『対応』という意味は、MBの先頭アドレ
ス(以下、単にMBアドレスと呼ぶ)が与えられると、
そのMB管理マップエントリアドレスを求めることがで
き、逆にMB管理マップエントリアドレスからMBアド
レスも求めることができることを意味する。MB管理マ
ップの各エントリは、対応するMBが『未使用』か/
『使用中』かの状態を表示し、カーネルにより値が設定
される。MBの場合と同じ考えにより、送信側分散共有
メモリのMB管理マップエントリと、受信側分散共有メ
モリの同一アドレスのMB管理マップエントリがペアを
構成している。例えば、MB管理マップエントリXM1
2とYM12がペアを構成している。
【0015】ディスクリプタエリアも、MBと同じよう
に宛先受信PM対応に分散共有メモリのアドレスロケー
ションに割り付けられている。送信側の各ディスクリプ
タと同一アドレスのエリアが受信PMの分散共有メモリ
にも配置されている。ディスクリプタもMBやMB管理
マップの場合と同じように、送信PMと受信PMの同一
アドレス間でペアを構成する。ディスクリプタとMBと
の対応は、実行時にカーネルにより動的に決定される。
具体的には、例えば、PM18−1からPM18−2に
メッセージを送信する場合、PM18−1のカーネルが
MB(X12)を捕捉し、次に対応するディスクリプタ
(XD12)を選択し、MBアドレスを登録する。この
ような動作により、ディスクリプタとMBとの対応が動
的に決定される。なお、送信側のディスクリプタXD1
2とペアを構成する受信側のディスクリプタはYD12
である。図5のFIFO通信エリアのうち、送信PMの
分散共有メモリは通常のRAMで構成されるが、受信P
Mの分散共有メモリ21−1上のPM1宛処理要求FI
FOエリアXF1はFIFO(First In First
Out)メモリで構成されている。例えば、PM18−1の
分散共有メモリ21−1上のPM1宛処理要求FIFO
エリアXF1は、FIFOメモリで構成されているが、
PM18−2の分散共有メモリ21−2上のPM1宛処
理要求FIFOエリアYF1、およびPM18−3上の
PM1宛処理要求FIFOエリアZF1はRAMで構成
されている。これにより、処理要求を書き込んだ場合、
それらが同時に処理要求を読み出す側のPM18−1の
FIFO通信エリアXF1にコピーされるので、これら
の受信処理要求をFIFOメモリにより全て蓄積できる
ようにしている。このような処理要求エリアのFIFO
化により、マルチプロセッサ間の処理要求の競合処理が
ハードウェアで自動的に行われるので、処理オーバヘッ
ドは軽減されることになる。
【0016】次に、図1は、図4におけるプロセッサモ
ジュールの内部構成図である。以下、3つのPM内に存
在する構成要素をそれぞれ識別する必要がない場合に
は、−1〜−3を省略するものとする。図1において、
16は分散共有メモリ21上に配置されたMB、21は
分散共有メモリである。また、30はPM18内の各種
装置を結合するためのプロセッサバスである。19はプ
ロセッサ、20はローカルメモリである。また、22は
分散メモリカップラであって、分散共有メモリ21に実
装されているエリアへの書き込みアクセスがあった場
合、他システムあるいは同一システム内の他PMの分散
共有メモリの同じアドレスロケーションにも書き替えデ
ータを送信する機能と、他システムあるいは同一システ
ム内の他PMから書き替えデータを受信し、自PMの分
散共有メモリへの書き込みを行う機能とを備えている。
分散メモリカップラ22には、以下の各構成要素が含ま
れている。先ず、バス信号デコーダ31は、プロセッサ
バス30の信号線上の信号を解読し、所属する分散共有
メモリへの書き込みアクセスがあれば、信号線32に
‘1’を出力することにより、転送制御部33を起動す
る。転送制御部33は、分散メモリカップラ22全体の
制御を司る部分であって、これから内部ロジックに各種
制御信号(図示省略)が供給される。ルーチング情報管
理部34は、分散共有メモリ21への書き込みデータを
通信ネットワークあるいはプロセッサモジュール間通信
路で送受する際に、ルーチング情報を記憶している。
【0017】図1の送信PM18において、パケット送
信レジスタ35は、他システムあるいは自システム内の
他PMに転送する書き込みデータとそのメモリアドレス
等を記憶する。宛先識別デコーダ36は、送信パケット
がPM間通信路25経由か、通信ネットワーク26経由
かを識別し、前者ならばローカル送信バッファ37に移
送し、後者ならばWAN送信プロトコル処理部38に移
送する。WAN送信プロトコル処理部38では、送信パ
ケットを通信ネットワーク26のインタフェースに合わ
せてプロトコル変換や各種プロトコル処理を行ってWA
N送信バッファ39経由で通信ネットワーク26に送出
する。ローカル受信バッファ40は、PM間通信路25
経由で他PMから転送されてきたデータを一時蓄積す
る。WAN受信バッファ41は、通信ネットワーク26
経由で受信したパケットを一時蓄積する。WAN受信プ
ロトコル処理部42は、通信ネットワーク26のインタ
フェースに合わせて各種プロトコル処理を行い、受信パ
ケットをパケット受信レジスタ43に移送する。パケッ
トデコーダ44は、パケット受信レジスタ43内のデー
タをデコードして、共有分散メモリ21への書き込み要
求であれば、信号線45を通して転送制御部33に分散
共有メモリ書き込みの実行を依頼する。このようにし
て、送信側分散共有メモリ21から受信側分散共有メモ
リ21にコピーが行われる。
【0018】次に、図1に示す分散メモリプロテクタ2
3は、分散共有メモリ21に配置されたMB16内のメ
ッセージを不正なアクセスから保護するハードウェア機
構である。分散メモリプロテクタ23は、カレントケー
パビリティレジスタ(CCR:Current Capability
Register)51、MCRメモリ(Memory Capabilit
y Register Memory)50、および比較器52を具備
している。ここで、CCR51は、カレントケーパビリ
ティを記憶するレジスタである。カレントケーパビリテ
ィとは、具体的にはプロセッサ19で実行中のアプリケ
ーション(APL)オブジェクト(プロセッサのユーザ
モードで実行されるオブジェクト)のIDを意味してい
る。MCRメモリ50は、複数のMCR53から構成さ
れており、それらの各MCR53は分散共有メモリ21
上の各MB16対応にメモリケーパビリティを記憶す
る。メモリケーパビリティは、具体的には、対応するM
B16へのアクセス権が与えられたアプリケーションオ
ブジェクトのIDを意味している。MB16へのメモリ
アクセスが発生すると、MBアドレスを基にして対応す
るMCR53をMCRメモリ50の中から選択し、これ
を取り出す。比較器52は、選択されたMCR53とC
CR51とを比較してメッセージバッファへの正しいア
クセスか否かを判定し、不一致であれば不正アクセスと
判定する。不正アクセスを検出した場合には、並行して
行われているMB16へのアクセスを中断して、信号線
54経由でプロセッサに緊急通知する。
【0019】図4に示す送信システム17−1における
送信PM18−1内の送信オブジェクトから、受信シス
テム17−2の受信PM18−3内の受信オブジェクト
へのメッセージ通信に適用した場合の分散メモリプロテ
クタ23の制御手順は、次のようになる。 (a)送信PM18−1のカーネルは、送信オブジェク
トの実行を開始する前に、カレントケーパビリティレジ
スタ(CCR)51−1にカレントケーパビリティ、つ
まり送信オブジェクトIDを設定する。 (b)送信PM18−1のカーネルは、分散共有メモリ
21−1上に送信MB16−1を捕捉した後、送信MB
16−1対応のMCR53−1にメモリケーパビリティ
を設定する。この時点のメモリケーパビリティは、MB
の捕捉を要求したオブジェクトのID、つまり送信オブ
ジェクトIDである。 (c)送信プロセッサ19−1から送信MB16−1へ
のメモリアクセスがある度に、分散メモリプロテクタ2
3−1ではMBアドレスを基に対応するMCR53−1
を1個選択して、それをCCR51−1と比較する。M
CR53−1とCCR51−1のオブジェクトIDの値
が等しければ正しいアクセス、等しくなければ不正アク
セスと判定する。 (d)メッセージが受信システム17−2の受信PM1
8−3の受信MB16−3に到着したと仮定する。受信
PM18−3のカーネルは、受信オブジェクトの実行を
開始する前にCCR51−3にカレントケーパビリテ
ィ、つまり受信オブジェクトIDを設定する。
【0020】(e)受信PM18−3のカーネルは、受
信MB16−3に対応するMCR53−3にメモリケー
パビリティを設定する。この時点のメモリケーパビリテ
ィは、メッセージの宛先であるオブジェクトのID、つ
まり受信オブジェクトIDである。 (f)受信プロセッサ19−3から受信MB16−3へ
のメモリアクセスがある度に、分散メモリプロテクタ2
3−3では、比較器52−3によりMCR53−3とカ
レントケーパビリティレジスタ(CCR)51−3内の
オブジェクトIDの値を比較し、等しければ正しいアク
セス、等しくなければ不正アクセスと判定する。 上述の動作において、MCR53とCCR51にそれぞ
れメモリケーパビリティとカレントケーパビリティが設
定されている期間(プロテクションウィンドウ開放期
間)は、MBの所有権を与えられた送信または受信オブ
ジェクトだけがそのMBをアクセスすることができる。
プロテクションウィンドウ開放期間中に、もし無関係の
オブジェクトがMBアクセスを行ったときには、MCR
とCCRのケーパビリティの不一致が生じて不正アクセ
スであることが検出される。プロテクションウィンドゥ
開放期間以外では、送信、受信オブジェクトも含めた全
てのアプリケーションオブジェクトはこのMBにアクセ
スすることができないので、非常に強固なメモリの保護
が可能となる。
【0021】図6は、図4におけるルーチング情報管理
部の内部構成ブロック図である。図6に示すように、ル
ーチングディレクトリ60は、CAM(Content Add
ressable Memory)セル部61とデータメモリ部62か
ら構成されている。ここでCAMとは、検索キーデータ
を入力し、これと各ワード(CAMセル)の記憶データ
の内容を一斉に比較照合して、指定された検索条件に合
った内容のCAMセルを選択表示するメモリである。C
AMセルの各々には『分散共有メモリページアドレス6
3』が記憶される。分散共有メモリページアドレス63
とは、他システムあるいは自システム内の他PMと共用
されているアドレスのページのことであって、MBのペ
ージアドレス、そのMB管理マップのページアドレス、
ディスクリプタのページアドレス、FIFO通信エリア
のページアドレス等が設定される。図5で説明したよう
に、MB、MB管理マップ、ディスクリプタ、FIFO
通信エリアは、それぞれ宛先システムのPM毎に異なる
ページに割り付けられている。 一方、データメモリ6
2は、各CAMセルのワードに対応する補助データを記
憶するRAMであって、各エントリは情報タイプフィー
ルド64とルーチング情報フィールド65から構成され
ている。
【0022】情報タイプフィールド64の値が0の場合
には、書き込みデータのコピー先のPMとはプロセッサ
間通信路52で接続されていることを表わしている。そ
の場合のルーチング情報フィールド65は、宛先PM
IDを含んでいる。一方、情報タイプフィールド64の
値が1の場合には、書き込みデータのコピー先のPMと
は通信ネットワーク26(ATMネットワーク)で接続
されていることを表わしている。その場合のルーチング
情報フィールド65は、ATMセルのルーチングを行う
ためのVPI(Virtual Path Identifier)情報を
含んでいる。VPI、VCI(Virtual Channel I
dentifier)は、セルの送り先を特定する2段階の識別子
である。VPI、VCIの値は、システム間でコネクシ
ョンを張った時点で決まるので、その値を予め分散メモ
リカップラに記憶させておく。同一の分散共有メモリペ
ージアドレス63に対して、送信PMのルーチングディ
レクトリ60には受信PMのルーチング情報を登録し、
受信PMのルーチングディレクトリ60には送信PMの
ルーチング情報を登録しておくことにより、分散共有メ
モリのエリアに送信側、受信側のいずれから書き込んで
も互いに相手側の分散共有メモリにコピーを行って、い
わゆる双方向通信を行うことができる。MB管理マップ
エリアは、このような双方向通信を行うエリアである。
【0023】図7は、本発明で使用されるローカル/W
AN通信パケットのフォーマット図である。PM間通信
路25を通過するローカル通信パケット80と、通信ネ
ットワーク(ATMネットワーク)26を通過するWA
N通信パケット(ATMセル)89のフォーマットは、
図7の80と89に示すようになっている。ローカル通
信パケット80は、ルーチング情報管理部34から出力
される宛先PM IDを含むヘッダ81、分散共有メモ
リアドレス82、書き込みデータ83、および書き込み
単位の各フィールド84から構成される。書き込み単位
84のフィールドは、書き込みのデータ幅、例えばバイ
ト、ハーフワード(16ビット)、ロングワード(32
ビット)等を指定するものである。また、WAN通信パ
ケット89は、例えばATM AAL5プロトコルを用
いてローカル通信パケットのペイロード部(ローカル通
信パケットのヘッダ以外の部分)を複数個埋め込んで5
3バイトの固定長ATMセルを作成する。ここで、複数
個のローカル通信パケットペイロードを1つのATMセ
ルに埋め込む理由は、ローカル通信パケット80の長さ
がATMセル長よりも短いので、複数個詰め込んで転送
効率を上げるためである。宛先が同じパケットについて
は、複数個まとめて1つのATMセルにする操作も分散
メモリカップラ22で行われるが、宛先が同じパケット
がある一定時間内に必要な個数分集まらなければ、PA
Dと呼ばれるダミーデータを埋め込んでATMセルを作
成する。
【0024】図6のルーチング情報管理部34は、次の
ように動作する。すなわち、分散共有メモリ21に対す
る書き込みアクセスがあった場合、そのページアドレス
とCAMセル部61とが一斉に比較される。一致したセ
ルが検出されると、そのアドレスが他システムあるいは
自システム内の他PMにより共用されていることを意味
するので、データメモリ部62から対応する情報タイプ
64とルーチング情報65を読み出す。次に、図1の宛
先識別デコーダ36で、情報タイプ64を見ることによ
り判別する。例えば、情報タイプフィールド64が0で
あれば、宛先PM IDをヘッダに組み込んで図7のロ
ーカル通信パケット80を作成し、図1のローカル送信
バッファ37に送出する。一方、情報タイプフィールド
64が1であれば、VPI,VCIをヘッダに組み込ん
で、図7のWAN通信パケット89を作成し、図1のW
AN送信プロトコル処理部38に送出する。
【0025】図8は、本発明で使用する各種データの構
造、およびそれらの参照関係図である。先ず、送信オブ
ジェクトや受信オブジェクトのようなアプリケーション
オブジェクトに一意的に与えられるオブジェクトID1
70は、そのオブジェクトが存在するシステムのID
(SYS ID)171、システム内のPM D10
2、PM内のローカルID173の各フィールドより構
成され、通信ネットワーク全体の中で一意に識別できる
ように構成される。次に、FIFO通信エリアに記憶さ
れる処理要求174は、図8に示すように、その処理要
求の送信元であるシステムの送信SYS ID175、
そのシステムの送信PM ID176、およびディスク
リプタへのポインタ177から構成される。また、ディ
スクリプタ180は、対応するMBの先頭アドレスMB
Aを記憶するMBポインタフィールド181、およびそ
の他のメッセージ制御情報フィールド182から構成さ
れる。さらに、メッセージバッファMB190は、受信
オブジェクト宛のメッセージをリスト構造で接続するた
めのポインタNEXTMP191、このメッセージの送
信元である送信オブジェクトのIDであるSIDフィー
ルド192、このメッセージの宛先である受信オブジェ
クトのIDであるRIDフィールド193、メッセージ
本体(BODY)196のサイズを表わすSIZEフィ
ールド194、メッセージの付属属性を表示したATT
Rフィールド195、およびメッセージの中味を表わす
BODYフィールド196から構成される。
【0026】また、MB管理マップ200の各エントリ
については、その値V=0の場合には、対応するMBが
『未使用』の状態、V=1の場合には、対応するMBが
『使用中』の状態を表わしている。MBが1つ与えられ
ると、その先頭アドレスの値から、対応するMB管理マ
ップエントリ200のアドレスが簡単な計算で求められ
るように構成されている。受信システムでは、FIFO
通信エリアを定期的に読み出すことにより、処理要求1
74をポーリングする。処理要求174を検出すると、
ディスクリプタポインタ177を参照してディスクリプ
タ180を読み出し、受信したMBのアドレス181や
メッセージ制御情報182を知る。また、このMBアド
レスから、対応するMB管理マップ200のアドレスも
機械的に求めることができる。
【0027】図9は、本発明の通信ネットワーク経由の
PM間通信のタイムチャートであり、図10は、同じく
PB間通信路経由のPM間通信のタイムチャートであ
る。なお、図9および図10のプロセッサの実行ステッ
プのうち、太い罫線で示されるステップ(例えば、図9
のステップS120(APLオブジェクト起動))は、
プロセッサのスーパバイザモードで実行している部分で
あり、細い罫線で示すステップ(例えば、図9のステッ
プS122(メッセージの書き込み))は、プロセッサ
のユーザモードで実行している部分である。
【0028】ケース1・・・通信ネットワーク経由のP
M間通信の実施例(図9参照) (a)送信PMの処理 ある送信システム17−1において、いま送信オブジェ
クトの存在する送信PM18−1から通信ネットワーク
26を介して受信オブジェクトの存在する受信システム
17−2の受信PM18−3にメッセージを転送する場
合を想定する。送信側が使用するMBは、図5のX1
3、そのMB管理マップエントリはXM13である。ま
た、この処理内容の詳細はディスクリプタXD13に、
メッセージ処理要求は送信PM18−1上の受信PM宛
処理要求FIFO(XF3)に書き込まれる。また、送
信オブジェクトの実行終了前に、受信オブジェクトが実
行開始するものとする。処理の流れを図9の各ステップ
(SXXXで表示した記号)に沿って説明する。 『ステップS120』送信PM18−1のカーネルは、
ステップS120のAPL(アプリケーション)オブジ
ェクト起動の実行により、送信オブジェクトのID(S
ID)をタイミングt120でPM18−1のCCR5
1−1に設定し、送信オブジェクトの実行を開始する。
【0029】『ステップS121』送信オブジェクト
は、MBの捕捉をカーネルに要求する。カーネルは受信
オブジェクトIDを参照して宛先を確認し、送信PM1
8−1から受信PM18−3への通信用のMB(X1
3)を選択し、図9のタイミングt121で、対応する
MB管理マップエントリXM13を『使用中』に書き替
える。このとき、同時にXM13と同一アドレスを持つ
受信PM18−3の分散共有メモリ21−3のMB管理
マップエントリ(ZM13)も書き替えられる。この書
き替えは、次のような操作によって行われる。先ず、送
信PM18−1のプロセッサ19−1がMB管理マップ
エントリ(XM13)を書き替えると、送信側分散メモ
リカップラ(図1の22−1参照)内のルーチング情報
管理部34−1に、MB管理マップエントリのページア
ドレスが供給される。本実施例では、XM13のページ
アドレスに対して、図6の情報タイプ64=‘1’、ル
ーチング情報65=『受信PMへの宛先を示すVPI,
VCI』がルーチング情報管理部34−1に記憶されて
いるので、それらが取り出されて、パケット送信レジス
タ(図1の35−1参照)に移送される。次に、図1の
宛先識別デコーダ36で情報タイプ64=‘1’から通
信ネットワーク経由の通信であることを識別し、図1の
WAN送信プロトコル処理部38で、分散共有メモリア
ドレス82、書き込みデータ83(『使用中』表示デー
タ)書き込み単位(具体的には、バイト書き込みとバイ
ト位置情報)のデータを、ATMヘッダ90とトレイラ
92で挟んで53バイトにまとめたATMセル89を作
成し、WAN送信バッファ(図1の39−1参照)に移
送する。WAN送信バッファ39−1は、ATMセルを
通信ネットワーク26に送出する。通信ネットワーク2
6は、ATMヘッダ90を見てルーチングを行い、受信
システム17−2の受信PM18−3の分散メモリカッ
プラ22−3に送り届ける。
【0030】受信側分散メモリカップラ22−3では、
共有分散メモリ21−3への書き込みであることを認識
し、ATMセルデータ内の分散共有メモリアドレス(X
M13のアドレス)、書き込みデータ(『使用中』表示
データ)、書き込み単位の情報をもとに分散共有メモリ
21−3のZM13に書き込みを行う。このようにし
て、共有分散メモリへの書き込み側が自分の共有分散メ
モリへのローカルな書き込みを行うだけで、分散メモリ
カップラ22の働きにより自動的に宛先の共有分散メモ
リにも同じ値がコピーされる。従って、本発明では、D
MAのようなソフトウェアによるコピーオーバヘッドを
伴わないという大きな作用効果が得られる。次に、図9
のタイミングt122で、MB(X13)に対応するメ
モリケーパビリティレジスタ(MCR)53−1に、こ
のMBへのアクセス権を獲得した送信オブジェクトのI
D(SID)が登録される。
【0031】『ステップS122』送信オブジェクト
が、メッセージを送信側分散共有メモリのMB(X1
3)にタイミングt123で4バイト単位に書き込みを
行う。その4バイトの書き込みが2回発生する毎に、
『ステップS121』の場合と同じように、図7に示す
1つのATMセル89にまとめて通信ネットワーク26
経由で送受信を行い、受信PM18−3の分散メモリカ
ップラ22−3により分散共有メモリ21−3の対応す
るアドレスのMB(Z13)に4バイト単位で2回の書
き込みが行われる。これにより、メッセージバッファX
13からメッセージバッファZ13へのコピーが行われ
ることになる。なお、このメッセージ書き込み処理で
は、CCR51−1とMCR53−1の両方の値が設定
されている区間は、MCRとCCRにより指定されてい
る送信オブジェクトがMB(X13)にアクセスするこ
とができるが、他のアプリケーションオブジェクトはア
クセスすることができない。
【0032】『ステップS123』送信オブジェクトで
は、カーネルに送信(SEND)処理を依頼すると、カ
ーネルはタイミングt124でMB(X13)に対応す
るMCR(図1の53−1)をクリアする。これで、プ
ロテクションウィンドウ開放期間が終了するので、以後
はカーネル以外はMB(X13)にアクセスできなくな
る。次に、タイミングt125で、送信カーネルは送信
PM18−1から受信PM18−3宛のディスクリプタ
(XD13)に制御情報を登録するとともに、図8のフ
ォーマットの処理要求174を受信PM18−3宛の受
信処理FIFO(XF3)に書き込む。その結果、分散
メモリカップラ22−1でXD13とXF3への書き込
みデータとアドレスが図7のATMセル89に詰め込ま
れて通信用メモリ21−3の対応するエリアZD13と
ZF3にコピーされる。その際に、送信PM18−1の
処理要求FIFOエリア(XF3)は、通常のRAMで
構成され、受信PM18−3側の処理要求FIFOエリ
ア(ZF3)はFIFOメモリで構成されている。従っ
て、XF3への書き込みデータは通常の書き込みである
が、ZF3への書き込みは、以前に書き込まれたデータ
を保存したまま、新しいデータが追加書き込みされる。
以上の動作により、メッセージ送信に必要な情報が受信
システムの受信PM18−3に全て伝達された。 『ステップ124』カーネルがAPLオブジェクト終了
処理を起動し、カレントケーパビリティレジスタCCR
51−1の値を、図9のタイミングt126でクリアす
る。
【0033】 (b)受信PM18−3の処理 『ステップS130』図9において、受信システム17
−2の受信PMのカーネルは、次に実行すべきオブジェ
クトとして受信オブジェクトを選択し、タイミングt1
30で受信オブジェクトID(RID)を受信PM18
−3内のカレントケーパビリティレジスタ(CCR)5
1−3に設定する。 『ステップS131』受信オブジェクトの実行が開始さ
れ、受信オブジェクトがカーネルに受信処理を要求する
と、カーネルは受信オブジェクトにメッセージが到着し
ているか否かをテストする。ここでは、この時点でメッ
セージが到着していないため、送信オブジェクトからメ
ッセージが届くまで受信オブジェクトを休止させるべき
ものと判断する。『ステップS132』カーネルは、受
信オブジェクトを休止させるため、タイミングt131
でカレントケーパビリティレジスタ(CCR)51−3
の値をクリアし、受信オブジェクト再開に必要な情報を
ローカルメモリ(図1の20−3参照)に退避する。
【0034】『ステップS140』受信PM18−3の
カーネルは、タイミングt140で定期的に自PM宛の
処理要求FIFO(ZF3)を読み出すことにより受信
処理要求の有無をチェックする。ここでは、既に図9の
ステップt125で処理要求が分散共有メモリのFIF
O処理要求エリア(ZF3)に登録されているので、こ
の要求を検出し、図8に示す順番で分散共有メモリのデ
ィスクリプタ(ZD13)、MBアドレス(Z13のア
ドレス)、MB内の受信オブジェクトIDを取り出して
受信オブジェクトの再起動に必要な情報をローカルメモ
リ(図1の20−3参照)に設定する。 『ステップS150』受信システム17−2の受信PM
18−3のカーネルは、次に実行すべきオブジェクトと
して受信オブジェクトを選択し、図9のタイミングt1
50で受信オブジェクトID(RID)を受信PM18
−3内のカレントケーパビリティレジスタ(CCR)5
1−3に設定する。
【0035】『ステップS151』受信オブジェクトの
実行が開始され、受信オブジェクトがカーネルに受信処
理を要求すると、カーネルは受信オブジェクト用のメッ
セージが届いているか否かをテストする。この時点で
は、既にメッセージが送信側から届いているので、即時
メッセージを読み出してよい状態である。そこで、タイ
ミングt151で、MB(Z13)に対応するMCR5
3−3に受信オブジェクトID(RID)を設定する。
これにより、CCR51−3とMCR53−3の両方に
受信オブジェクトID(RID)が設定されたので、以
後、MB(Z13)が受信オブジェクト以外のAPLオ
ブジェクトからアクセスできないようにプロテクトされ
る。 『ステップS152』受信オブジェクトがMB(Z1
3)からタイミングt152でメッセージを読み出し、
対応する処理を行う。MB(Z13)には、送信システ
ムのMB(X13)からコピーされたメッセージが入っ
ている。
【0036】『ステップS153』受信オブジェクトは
カーネルにMB(Z13)の解放を依頼する。カーネル
は、MB(Z13)に対応するMCR53−3をタイミ
ングt153でクリアする。次に、タイミングt154
でMB(Z13)に対応するMB管理マップエントリ
(ZM13)を『空き』の値に書き替える。受信側分散
メモリカップラ22−3には、予め、このMB管理マッ
プのページアドレスと、対応するルーチング情報(『送
信PM18−1への宛先を示すVPI,VCI』)が記
憶されているので、ZM13への書き込みが生じると、
受信側分散メモリカップラ22−3、通信ネットワーク
26、送信側分散メモリカップラ22−1経由で送信側
分散共有メモリ21−1の同一ロケーション(XM1
3)に『空き』の値がコピーされる。本実施例では、M
Bは常に送信PM側で一元管理されるようにする。図9
のタイミングt155で、送信側のMB管理マップエン
トリXM13への書き替えが完了すると、この時点以降
はいつでも送信PM側でMB(X13)を再利用するこ
とができる。 『ステップS154』カーネルがAPLオブジェクト終
了処理を実行し、カレントケーパビリティレジスタ(C
CR)51−3の値を図9のタイミングt156でクリ
アする。
【0037】(ケース2)PM間通信路経由のPM間通
信の実施例(図10参照) 図10では、図9の通信ネットワーク経由の通信と類似
しているため、ケース1との相違点のみを説明すること
にする。先ず、ケース1では通信ネットワーク26を経
由していたのに対して、ケース2ではPM間通信路25
経由になっている。従って、ルーチング情報としてはV
PI,VCIでなく、宛先PM ID(図8の176参
照)を使用する点が異なっている。通信ネットワーク2
6とPM間通信路25のインタフェースは、図7に示す
ように転送するパケットの構造やプロトコルが異なって
いる。一般に、通信ネットワーク26では国際標準イン
タフェースを使用することが望ましく、また遠距離通信
や雑音の多い環境での通信にも対応するために、誤り制
御や再送手順も組み込んだプロトコルを用いることが多
い。また、運用コスト面から1回の転送でできる限り多
くの情報を送るようなプロトコルを用いて、転送効率を
上げていることも多い。
【0038】一方、PM間通信路25は、システム内部
のローカルインタフェースであり、簡略化した独自のイ
ンタフェースやプロトコルを用いて効率を上げることが
できる。本実施例の図9の通信ネットワーク経由のPM
間通信では、4バイトのメモリ書き込み(最大)2回に
対して1つのATMセルで転送し、効率を上げているの
に対して、図10のPM間通信路経由の通信では、4バ
イトのメモリ書き込み毎に、ローカル通信パケット(図
7の80参照)を転送させて単純化を図っている。ロー
カル通信かWAN通信かの切り分けと、それぞれのプロ
トコルに従って転送処理は図1に示したように分散メモ
リカップラ22自身が行っている。なお、ATMのよう
に、ローカルなLAN通信技術(例えば、ATM−LA
N)とWAN(Wide Area Network)通信技術(AT
M公衆網ネットワークやセルリレーネットワーク)と同
一技術をベースに実現されつつあり、両者の技術が競合
されつつある。このような場合には、最早やシステム間
とシステム内で同一のインタフェースとなり、分散メモ
リカップラ内で両者を識別する回路は必要なくなる。従
って、システム間通信とシステム内通信は、共に同一の
ものとして統合されることになるので、システム全体の
単純化を図ることができる。
【0039】以上、本発明をまとめると、次のようにな
る。すなわち、従来はシステム間通信をIO経由で行っ
ていたので、システム間通信を行うためのオーバヘッド
が極め大であった。そこで本発明においては、システム
間通信も分散共有メモリ経由で行うことを基本にして、
システム間で共通の分散共有メモリ空間を共有する。そ
して、送信システムの送信PM、受信システムの受信P
Mに同一のアドレスを割り当てられた分散共有メモリを
配置する。送信PMと受信PMとは、WANまたはPM
間通信路で接続される。送信PMの分散メモリカップラ
がPM間通信路経由のローカル通信か、またはWAN経
由のWAN通信かを判定し、それぞれのインタフェース
とプロトコルに合わせて、送信側の分散共有メモリと送
受信側の分散共有メモリの同一アドレスロケーション間
でコピーを行うことにより、メッセージパッシングプロ
グラミングモデルを実現する。このような方法を用いる
ことにより、システム間通信もシステム内通信も同一の
PM間通信として扱うことができ、システム間通信もシ
ステム内通信と同程度の軽いオーバヘッドで実現するこ
とができる。もし、WANとPM間通信路とを同一のイ
ンタフェースに合わせた場合には、システム間通信とシ
ステム内通信は物理的距離の差を除いて全く同じように
実現できる。従って、物理的距離に無関係に任意のPM
を自由に1つのシステムに組み込むことができる他、あ
るシステム内のPMを他のシステムに組み替える場合に
も、全く修正無く行うことができる。
【0040】
【発明の効果】以上説明したように、本発明によれば、
物理的な配置とは無関係に、ネットワーク全体に渡る分
散処理システムを、単純かつ極めて効率よく実現するこ
とが可能である。特に、WANとしてATMネットワー
クを用いる場合には、ATMのVCI,VPI情報を用
いてハードウェアのみでネットワークルーチング情報を
転送情報に付加することが容易になるので、ソフトウェ
アオーバヘッドの削減、および転送遅延時間の削減に大
きな効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施例を示すプロセッサモジュール
の内部構成図である。
【図2】従来の分散処理システムの構成例図である。
【図3】従来の分散処理システムの別の構成例図であ
る。
【図4】本発明の一実施例を示す分散処理システムの全
体構成図である。
【図5】本発明における分散共有メモリのデータ配置図
である。
【図6】図1におけるルーチング情報管理部の構成図で
ある。
【図7】本発明で使用されるローカル/WAN通信パケ
ットのフォーマット図である。
【図8】本発明における各種データのフォーマット図で
ある。
【図9】本発明におけるシステム間通信(通信ネットワ
ーク経由)のタイムチャートである。
【図10】本発明におけるシステム内PM間通信(PM
間通信路経由)のタイムチャートである。
【符号の説明】
17−1…送信システム、17−2…受信システム、1
8−1〜18−3…プロセッサモジュール(PM)、1
9−1〜19−3…プロセッサ、20−1〜20−3…
ローカルメモリ、21−1〜21−3…分散共有メモ
リ、22−1〜22−3…分散メモリカップラ、23−
1〜23−3…分散メモリプロテクタ、25…PM間通
信路、26…通信ネットワーク(WAN)、34…ルー
チング情報管理部、35…パケット送信レジスタ、36
…宛先識別デコーダ、37…ローカル送信バッファ、3
8…WAN送信プロトコル処理部、39…WAN送信バ
ッファ、40…ローカル受信バッファ、41…WAN受
信バッファ、42…WAN受信プロトコル処理部、43
…パケット受信レジスタ、50…MCRメモリ(Memor
y Capability Register Memory)、51…カレン
トケーパビリティレジスタ(CCR)、53…メモリケ
ーパビリティレジスタ(MCR)、60…ルーチングデ
ィレクトリ、61…CAM(Content Addressable
Memory)セル部、62…データメモリ部。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】各処理システムに含まれた1個以上のプロ
    セッサモジュールを、プロセッサモジュール間通信路お
    よびワイドエリアネットワークの両方を介して相互接続
    したネットワーク分散処理システムにおいて、 前記各プロセッサモジュールは、互いにメモリ空間を共
    用する分散共有メモリと、 該分散共有メモリのアドレスに1対1に対応するワイド
    エリアネットワークのルーチング情報、あるいはプロセ
    ッサモジュール間通信路ルーチング情報を記憶し、異な
    るプロセッサモジュールの分散共有メモリの同一アドレ
    スロケーション間で書き込みデータのコピーを行う分散
    メモリ制御手段とを有し、 送信側のプロセッサモジュールの分散共有メモリにデー
    タが書き込まれると、 前記分散メモリ制御手段は、書き込みアドレスに対応す
    るワイドエリアネットワークのルーチング情報、あるい
    はプロセッサモジュール間通信路ルーチング情報を取り
    出し、 前者の場合には、メモリ書き込みアドレスとデータにワ
    イドエリアネットワークのルーチング情報を付加したワ
    イドエリアネットワークパケットを前記ワイドエリアネ
    ットワークに送出すると、 該ワイドエリアネットワークは、該ワイドエリアネット
    ワークパケットをワイドエリアネットワークのルーチン
    グ情報に従って受信プロセッサモジュールに送り届け、 後者の場合には、メモリ書き込みアドレスとデータにプ
    ロセッサモジュール間通信路ルーチング情報を付加した
    ローカルパケットを前記プロセッサモジュール間通信路
    に送出すると、 該プロセッサモジュール間通信路は、該ローカルパケッ
    トをプロセッサモジュール間通信路ルーチング情報に従
    って前記プロセッサモジュールに送り届け、 該受信プロセッサモジュールの分散メモリ制御手段は、
    前記ワイドエリアネットワークパケット、あるいは前記
    ローカルパケットにより指定された分散共有メモリのア
    ドレスロケーションにデータを書き込むことにより、プ
    ロセッサモジュール間通信を行うことを特徴とするネッ
    トワーク分散処理システム。
  2. 【請求項2】請求項1に記載のネットワーク分散処理シ
    ステムにおいて、前記ローカルパケットの構造を前記ワ
    イドエリアネットワークパケットに組み込めるようにし
    て、両パケットの構造を一致させ、前記プロセッサモジ
    ュール間通信路のインタフェースを前記ワイドエリアネ
    ットワークのインタフェースと同一にすることを特徴と
    するネットワーク分散処理システム。
  3. 【請求項3】請求項1または2に記載のネットワーク分
    散処理システムにおいて、前記ワイドエリアネットワー
    クをATMネットワークとし、前記システム間のルーチ
    ング情報として、該システム間で予め値がそれぞれ決定
    されているバーチャル・チャネル・アイデンティファイ
    アとバーチャル・パス・アイデンティファイアを用いる
    ことを特徴とするネットワーク分散処理システム。
JP14305995A 1995-06-09 1995-06-09 ネットワーク分散処理システム Expired - Lifetime JP3303045B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14305995A JP3303045B2 (ja) 1995-06-09 1995-06-09 ネットワーク分散処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14305995A JP3303045B2 (ja) 1995-06-09 1995-06-09 ネットワーク分散処理システム

Publications (2)

Publication Number Publication Date
JPH08339354A true JPH08339354A (ja) 1996-12-24
JP3303045B2 JP3303045B2 (ja) 2002-07-15

Family

ID=15329961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14305995A Expired - Lifetime JP3303045B2 (ja) 1995-06-09 1995-06-09 ネットワーク分散処理システム

Country Status (1)

Country Link
JP (1) JP3303045B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007286754A (ja) * 2006-04-13 2007-11-01 Nippon Telegr & Teleph Corp <Ntt> ノード間データ転送制御システム、ノード間データ転送制御装置及びコンピュータプログラム
JP2008269651A (ja) * 2000-10-18 2008-11-06 Beptech Inc 分散型多重処理システム
JP2011065353A (ja) * 2009-09-16 2011-03-31 Nec Corp 並列処理システム制御装置、その方法及びそのプログラム
JP2013214168A (ja) * 2012-03-30 2013-10-17 Fujitsu Ltd 情報処理装置、演算装置および情報転送方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269651A (ja) * 2000-10-18 2008-11-06 Beptech Inc 分散型多重処理システム
JP2007286754A (ja) * 2006-04-13 2007-11-01 Nippon Telegr & Teleph Corp <Ntt> ノード間データ転送制御システム、ノード間データ転送制御装置及びコンピュータプログラム
JP2011065353A (ja) * 2009-09-16 2011-03-31 Nec Corp 並列処理システム制御装置、その方法及びそのプログラム
JP2013214168A (ja) * 2012-03-30 2013-10-17 Fujitsu Ltd 情報処理装置、演算装置および情報転送方法
US9003082B2 (en) 2012-03-30 2015-04-07 Fujitsu Limited Information processing apparatus, arithmetic device, and information transferring method

Also Published As

Publication number Publication date
JP3303045B2 (ja) 2002-07-15

Similar Documents

Publication Publication Date Title
JP5537919B2 (ja) データ転送のためのシステムおよび方法
US6023732A (en) Message transfer apparatus for controlling a message send in a packet switched interconnection network
US5761427A (en) Method and apparatus for updating host memory in an adapter to minimize host CPU overhead in servicing an interrupt
KR100640515B1 (ko) 주변장치로부터 호스트 컴퓨터 시스템에 인터럽트를전달하기 위한 방법 및 장치
JP2003178039A (ja) 分散共有仮想メモリーとその構成方法
JPH0331027B2 (ja)
JP2524801B2 (ja) 通信システム
US7564860B2 (en) Apparatus and method for workflow-based routing in a distributed architecture router
GB2349717A (en) Low latency network
JP3312362B2 (ja) マルチプロセッサシステム
JP3303045B2 (ja) ネットワーク分散処理システム
JPH07111507A (ja) データ受信方式及び通信制御装置
JP3663569B2 (ja) 二重化システム
KR100250465B1 (ko) 고속병렬컴퓨터의 메시지 전송 방법
JPH09162873A (ja) 誤り検出方法および装置
JPS6298444A (ja) デ−タ通信方式
JPH11298486A (ja) Atmスイッチ
JP2848370B2 (ja) 通信回線監視装置
KR100391712B1 (ko) 교환기의 아이피시 정합 장치
SU1444792A1 (ru) Устройство дл обмена информацией между процессором и абонентами
JPH0619855A (ja) メッセージのキューイング方法とその装置
JPH0678000A (ja) 通信装置
Grant et al. A gateway for linking local area networks and X. 25 networks
JP2971119B2 (ja) 複数プロセッサシステムにおける高速データ転送方式
JPH0675883A (ja) メッセージ通信装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090510

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090510

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100510

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100510

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110510

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120510

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130510

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140510

Year of fee payment: 12

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term