JP3303045B2 - Network distributed processing system - Google Patents
Network distributed processing systemInfo
- Publication number
- JP3303045B2 JP3303045B2 JP14305995A JP14305995A JP3303045B2 JP 3303045 B2 JP3303045 B2 JP 3303045B2 JP 14305995 A JP14305995 A JP 14305995A JP 14305995 A JP14305995 A JP 14305995A JP 3303045 B2 JP3303045 B2 JP 3303045B2
- Authority
- JP
- Japan
- Prior art keywords
- communication
- memory
- network
- distributed
- processor
- 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 - Lifetime
Links
Landscapes
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
- Storage Device Security (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は、プロセッサモジュール
間通信路と通信ネットワーク(例えばWAN)に相互接
続された1個以上のプロセッサモジュールからなるネッ
トワーク分散処理システムに関し、特にプロセッサモジ
ュール間で分散共有メモリ間コピーにより効率よくメッ
セージ通信を行うことができるネットワーク分散処理シ
ステムに関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a network distributed processing system comprising one or more processor modules interconnected by a communication path between processor modules and a communication network (for example, a WAN), and more particularly to a distributed shared memory between processor modules. The present invention relates to a network distributed processing system capable of efficiently performing message communication by inter-copying.
【0002】[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のみからアクセスできる。2. Description of the Related Art Conventionally, a distributed processing system in which a plurality of computers perform processing while mutually communicating with other computers has been put to practical use. In addition, a massively parallel system in which a plurality of processor modules are interconnected via an inter-processor communication path can be considered as a kind of distributed processing system because each processor module can be regarded as an independent computer. As a method for performing communication between processor modules in a massively parallel system or between massively parallel systems, for example, a method described in Japanese Patent Application No. 6-202071 and the drawings (Japanese Patent Application No. Hei. There is a multiprocessor system. Hereinafter, this system will be described. FIG. 2 is a configuration diagram of the conventional multiprocessor system. FIG. 2 shows a multiprocessor system 1 including three processor modules 2-1, 2-2, and 2-3. In each of the processor modules 2-1, 2-2, and 2-3, the processors 3-1 to 3-3 that control the entire module, and the corresponding processors 3-1 to 3-2 to 3--3, respectively. 3, local memories 4-1 and 4-2 accessible for reading and writing.
4-3, a distributed shared memory 5-1, 5-2, 5-3 provided with a common address among all processor modules is provided. The processor 3-1 can access only the distributed shared memory 5-1 and cannot access the other distributed shared memories 5-2 and 5-3. Similarly, the distributed shared memory 5-2 can be accessed only from the processor 3-2,
-3 can be accessed only by the processor 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)等を使用
することができる。[0003] These distributed shared memories 5-1, 5-2,
5-3 includes message buffers 6-1 and 6--6, respectively.
4, 6-2, 6-3 and 6-5 are provided. In this case, the message buffers 6-1, 6-2, and 6-3 are the first message buffers in each distributed shared memory, and are assigned the same address. In the processor module, a plurality of message buffers are provided as needed. For example, in the processor module 2-1, the message buffer 6-
4 is provided. In the processor module 2-3, 6-
3, a message buffer 6-5 is provided.
Next, the distributed memory couplers 7-1, 7-2, 7-3
When data is written to the message buffers 6-1, 6-2, and 6-3 of the distributed shared memories 5-1, 5-2, and 5-3, respectively, The written data is transmitted to another processor module (one or more) designated in advance, and the write data received from the other processor module is transmitted to the distributed shared memory 5-1.
5-2, 5-3, the same address location as the transmitting side (that is, the message buffer 6-1, 6-2, 6
-3) is a device for writing. This means that when a write occurs in a certain message buffer 6-1, the write data is sent to, for example, the message buffer 6-2 and copied. Next, the distributed memory protectors 8-1, 8-2, 8-3 respectively control the message buffers 6-1, 6-2, 6-3, 6-4, 6-.
5 is a device for protecting the message stored in No. 5 from unauthorized access. The network adapters 9-1, 9-2, and 9-3 are connected to the communication network 11, and are a kind of input / output device for exchanging messages and the like with other distributed systems via the communication network 11. It is. Note that a wide area network (WAN) or the like can be used as the communication network 11.
【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間
通信を実現することができる。The communication path 10 between the processor modules is connected to the processor module 2 in the multiprocessor system 1.
It is a communication medium for transferring messages or their control information between -1, 2-2 and 2-3 at a relatively short distance. On the other hand, the communication network 11 is a communication network for relatively long-distance communication interconnecting the multiprocessor systems 1. The interfaces and protocols of the communication network 11 are generally standardized, and employ a so-called open system architecture structure that allows connection to any system as long as the interface and protocol conditions are satisfied. In such a configuration, the distributed memory couplers 8-1 to 8-3
Stores the destination processor module ID number (PM ID) corresponding to the message buffer address. For example, in order to enable communication from the processor module 2-1 to the processor module 2-2 in the same system, the processor module 2-1 preliminarily stores the message buffer 6-1 address and the received message buffer 6-1 in the distributed memory coupler 7-1. PM ID = ID of PM2-2 ”is stored. As a result, when the transmission PM 2-1 writes a message in the message buffer 6-1 for inter-PM communication, the distributed memory coupler 7-1 causes the reception PM ID (= P
M2-1) is added to the write data and its address, and sent to the processor module communication path 10.
The communication path 10 between the processor modules is connected to the reception PM2-2.
, And the distributed memory coupler 7-2 on the receiving side writes the message to the message buffer 6-2 of the distributed shared memory, thereby realizing communication between PMs in the system.
【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からデータを読み取っ
て、対応する処理を実行する。Next, in the case of inter-system communication for performing message communication between multiprocessor systems connected via the communication network 11, a communication network interface device and communication control software are arranged in each system to standardize. Communication between the systems is performed using the specified protocol. That is, the transmission PM2 in the transmission system
In -1, a message buffer 6-4 for inter-system communication is secured in the distributed shared memory 5-1, control data necessary for controlling the network adapter is set in the network adapter 9-1, and communication protocol processing is executed. . The network adapter 9-1 activates the DMA (Dir) from the message buffer 6-4 by activation from the transmission control program.
The transfer data is read out in the ect memory access mode and transmitted to the communication network 11. Since the transmitting system is the multiprocessor system 1 of FIG. 2, the receiving system is not shown, but it is assumed that the receiving system is the multiprocessor system 1 of FIG. In the receiving system 1, the receiving processor module 2-3 performs communication protocol processing, secures an inter-system communication message buffer 6-5 on the distributed shared memory 5-3, and executes the necessary processing for the network adapter 9-3. Set control data. Since the message buffer 6-5 is captured independently of the message buffer (for example, 6-4) of the transmitting system, the addresses of the two are different. The network adapter 9-3 writes the transfer data received from the communication network 11 to the message buffer 6-5. When the transfer of the message is completed, the network adapter 9-3 interrupts the processor 3-3 to notify the arrival of the message. Finally, the receiving process reads the data from the message buffer 6-5 and performs the corresponding processing.
【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の情報に
より、送信システムから受信システムへの通信が行われ
る。As another conventional example, a method of performing communication between computer systems in a network distributed processing system in which a plurality of computer systems are connected via a WAN is disclosed in, for example, M.I. T. Tam and D. Farber
'CAPNET-An Approach to Ultra High
Speed Network, Proceedings of the 1990 I
nternational Conference on Communications, pp.
955-961 (1990) '. FIG. 3 is a connection diagram of a network distributed processing system showing the above conventional example. In FIG. 3, three systems 12-1, 12-
2, 12-3 is a wide area network (WAN) 1
3, each system includes distributed shared memories 21-1, 21-2, and 21-3. That is, the three systems 12-1 to 12-3 share a common memory address space (shared space) 21-1 to 21-3, and each of the systems 12-1 to 12-3 stores the original data in the distributed shared memory. Or, a copy thereof (hereinafter, referred to as a cache) is stored. Which node has the original data and which node has the cache is stored in the page table 15 of the exchange 14 in the WAN 13. When performing inter-system communication, the transmitting system (for example, 12-1) writes communication information to a certain address location on the distributed shared memory 21-1. On the other hand, the receiving system (for example, 12
In (3), when reading the data, a memory access request is sent to the exchange 14. The exchange 14 refers to the page table 15 and sends the memory access request to the system (here, 12-1) that requests the ownership of the data. System 12 that received the request
-1 transfers the original data to the requesting system 12-3. Thus, the distributed shared memories 21-1 to 21-1
Communication from the transmission system to the reception system is performed based on the information in the page table 15 in the exchange 14 and 21-3.
【0007】[0007]
【発明が解決しようとする課題】しかしながら、前者の
システム(図2のシステム)では、システム内通信は分
散メモリ間コピーで極めて効率よく実現することができ
るが、システム間通信については問題が多い。すなわ
ち、システム間通信では、入出力装置の一種であるネッ
トワークアダプタを用いて通信を行うために、入出力装
置の起動、入出力装置からの転送終了を処理する割り込
み処理、あるいは受信システムにおけるメッセージバッ
ファの捕捉等、多くの通信ソフトウェアの実行が必要と
なる。また、標準化された通信ネットワークインタフェ
ースプロトコルを用いることにより、プロトコル処理送
信プロセスから受信プロセスにデータが渡るまでに、階
層化された多くの階層化ソフトウェアを実行する必要が
あり、そのオーバヘッドおよび遅延時間が極めて大であ
るという問題がある。次に、後者のシステム(図3のシ
ステム)についても、いくつかの問題がある。すなわ
ち、メモリアクセス要求を送出するシステムから見る
と、メモリアクセス要求を所有権を持つシステムに送出
して、オリジナルデータを返送してもらうので、大きな
ラウンドトリップ遅延を生じる。また、メモリアクセス
要求を受けるシステムから見ると、メモリアクセス要求
を受ける度に実行中の処理を中断し、データ転送の処理
を行うためのソアトウェアオーバヘッドが大きい。ま
た、交換機から見ると、ページテーブルの状態を最新状
態に整えておくためのソフトウェアオーバヘッドも大き
い。さらに、WANから見ると、1回のメモリ参照に対
して、メモリ要求、ページ転送の2回のメッセージ交換
が必要となるため、ネットワークトラヒックの増加を招
く。そこで、本発明の目的は、これら従来の課題を解決
し、WANを経由したコンピュータシステム間通信のソ
フトウェアオーバヘッドを削減し、コンピュータシステ
ム内の通信と同じ程度に転送遅延時間が短く、処理効率
の高いネットワーク分散処理システムを提供することに
ある。However, in the former system (the system in FIG. 2), communication within the system can be realized very efficiently by copying between distributed memories, but there are many problems with communication between systems. In other words, in inter-system communication, in order to perform communication using a network adapter, which is a type of input / output device, interrupt processing for processing activation of the input / output device, termination of transfer from the input / output device, or message buffer in the receiving system. It is necessary to execute a lot of communication software, such as capturing of data. Also, by using a standardized communication network interface protocol, it is necessary to execute a number of layered software layers before the data is transferred from the protocol processing transmission process to the reception process, and the overhead and the delay time are increased. There is a problem that it is extremely large. Next, the latter system (the system in FIG. 3) also has some problems. That is, from the viewpoint of the system that sends the memory access request, the memory access request is sent to the system having the ownership, and the original data is returned, so that a large round trip delay occurs. Further, from the viewpoint of a system receiving a memory access request, a software overhead for interrupting a process being executed every time a memory access request is received and performing a data transfer process is large. From the viewpoint of the exchange, the software overhead for keeping the state of the page table up to date is large. Further, from the point of view of the WAN, two message exchanges of a memory request and a page transfer are required for one memory reference, which causes an increase in network traffic. Therefore, an object of the present invention is to solve these conventional problems, reduce software overhead of communication between computer systems via a WAN, reduce transfer delay time to the same extent as communication in a computer system, and increase processing efficiency. An object of the present invention is to provide a network distributed processing system.
【0008】[0008]
【課題を解決するための手段】上記目的を達成するた
め、本発明のネットワーク分散処理システムでは、共有
メモリ空間の共有範囲を1つのシステム内プロセッサモ
ジュール間のみならず、通信ネットワークに接続された
複数のシステム全体に拡張する。従って、ここでは、1
つ以上のプロセッサモジュールを論理的にまとめたもの
をシステムと呼び、システム間およびシステム内(プロ
セッサモジュール間)の接続媒体としては、比較的近距
離通信用のプロセッサ間通信路あるいは比較的遠距離通
信用のWANのいずれでも差し支えないものとする。こ
のようにして、ネットワーク全体にわたる共有メモリ空
間にメッセージバッファを配置して、送信プロセッサモ
ジュールがメッセージバッファに書き込み、受信プロセ
ッサモジュールがメッセージバッファから読み出す。つ
まり、メッセージパッシングモデルにより実現してい
る。分散共有メモリ上のメッセージバッファは、物理的
に送信プロセッサモジュールと受信プロセッサモジュー
ルの両方を配置する。送信プロセッサモジュールと受信
プロセッサモジュールは、それぞれ分散メモリカップラ
を備え、送信側の分散メモリカップラはメッセージバッ
ファアドレスに1対1に対応するWANルーチング情報
またはプロセッサモジュール間通信路ルーチング情報を
記憶し、WANインタフェースとプロセッサ間通信路イ
ンタフェースとの両インタフェースに対応できるように
している。In order to achieve the above object, in a network distributed processing system according to the present invention, a shared range of a shared memory space is set not only between processor modules in one system but also for a plurality of processors connected to a communication network. To extend the entire system. Therefore, here, 1
A system in which one or more processor modules are logically grouped is called a system. As a connection medium between systems and within a system (between processor modules), a communication path between processors for relatively short distance communication or a relatively long distance communication is used. Any of the WANs may be used. In this way, the message buffer is placed in a shared memory space across the network, with the sending processor module writing to the message buffer and the receiving processor module reading from the message buffer. That is, this is realized by the message passing model. The message buffer on the distributed shared memory physically arranges both the transmitting processor module and the receiving processor module. The transmitting processor module and the receiving processor module each include a distributed memory coupler, and the distributed memory coupler on the transmitting side stores WAN routing information corresponding to the message buffer address on a one-to-one basis or communication path routing information between the processor modules. And an inter-processor communication path interface.
【0009】[0009]
【作用】本発明においては、送信プロセッサモジュール
がそれぞれ宛先受信プロセッサモジュールに対応する分
散共有メモリ上のメッセージバッファを選択し、そこに
転送データを書き込む。分散メモリカップラは、書き込
みアドレスに対応するWANルーチング情報あるいはプ
ロセッサモジュール間通信路ルーチング情報を取り出
し、それがWANルーチング情報であれば、メモリ書き
込みアドレスとデータにWANルーチング情報を付与し
たWANパケットをWANに送出し、一方、プロセッサ
モジュール間通信路ルーチング情報であれば、メモリ書
き込みアドレスとデータにプロセッサモジュール間通信
路ルーチング情報を付与したローカルパケットをプロセ
ッサモジュール間通信路に送出する。WANは、WAN
ルーチング情報に従ってWANパケットを受信プロセッ
サモジュールに送り届け、またプロセッサモジュール間
通信路は、プロセッサモジュール間通信路ルーチング情
報に従ってローカルパケットを受信プロセッサモジュー
ルに送り届ける。受信プロセッサモジュールの分散メモ
リカップラは、WANパケットあるいはローカルパケッ
トが指定する分散共有メモリのアドレスロケーションに
データを書き込む。これにより、従来のシステム間通信
もシステム内通信も、WANまたはプロセッサモジュー
ル間通信路を経由した分散共有メモリ間のコピーによ
り、同じように高速かつ効率よく行われる。つまり、従
来では、極め多くのオーバヘッドを要していたシステム
間通信に相当する機能を、システム内通信と同じ程度の
軽いオーバヘッドと短い遅延時間で実現することができ
る。According to the present invention, the transmitting processor module selects a message buffer on the distributed shared memory corresponding to each of the destination receiving processor modules, and writes the transfer data therein. The distributed memory coupler extracts WAN routing information corresponding to the write address or communication path routing information between the processor modules, and if it is WAN routing information, a WAN packet in which WAN routing information is added to the memory write address and data is sent to the WAN. On the other hand, if it is the inter-processor module routing information, the local packet in which the memory write address and data are added with the inter-processor module routing information is sent to the inter-processor module communication path. WAN is WAN
The WAN packet is sent to the receiving processor module according to the routing information, and the communication path between the processor modules sends the local packet to the receiving processor module according to the communication path between the processor modules. The distributed memory coupler of the receiving processor module writes data to an address location of the distributed shared memory specified by the WAN packet or the local packet. As a result, both conventional inter-system communication and intra-system communication are similarly performed at high speed and efficiently by copying between distributed shared memories via a WAN or a communication path between processor modules. In other words, a function corresponding to inter-system communication, which conventionally required an extremely large amount of overhead, can be realized with the same light overhead and short delay as in intra-system communication.
【0010】[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を含んでいる。Embodiments of the present invention will be described below in detail with reference to the drawings. As described above, in the present invention, the connection medium between the systems and within the system (between the processor modules) may be any of a communication path between processors for relatively short-distance communication or a WAN for relatively long-distance communication. . From such an idea, since the method of dividing between system communication and intra-system communication is logically meaningful but not physically meaningful, in this embodiment, communication between processor modules is basically used. Is communication via WAN?
Alternatively, the description will be made separately according to the communication via the communication path between the processor modules. FIG. 4 is a system configuration diagram showing one embodiment of the present invention. In FIG. 4, 17-1
Is a transmission system for transmitting a message, and 17-2 is a reception system for receiving a message. Transmission system 1
7-1 is two processor modules (hereinafter, PM)
18-1 and 18-2, and the receiving system 17-
2 is composed of one PM 18-3. That is,
In this embodiment, not only a system composed of a plurality of PMs but also a system composed of only one PM is included. In FIG. 4, even in the case of one, it is connected to the inter-PM communication path, but the inter-PM communication path is actually unnecessary. Each processor module (PM) has a processor 1
9-1 to 19-3, corresponding processors 19-
Local memories 20-1 to 20-3 that are readable and writable from 1 to 19-3, distributed shared memories 21-1 to 21-2 provided with a common address in all systems and all PMs.
1-3, when data is written in the distributed shared memories 21-1 to 21-3, the write data is transferred to another system designated in advance or another PM in the own system.
And a distributed memory coupler 22-1 for writing write data received from another system or another PM in its own system to the same address location as the transmitting side in the distributed shared memories 21-1 to 21-3.
To 22-3 and distributed memory protectors 23-1 to 23-3
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ネットワークある
いはセルリレーネットワークを考えているが、その他の
種類の通信ネットワークであってもよいのは勿論であ
る。The processor 19-1 can access only the distributed shared memory 21-1 and cannot access the distributed shared memories 21-2 and 21-3. Similarly, only the distributed shared memory 21-2 can be accessed from the processor 19-2.
-3 can access only the distributed shared memory 21-3. Further, the distributed memory protectors 23-1 to 23-
3 protects the messages stored in the message buffers in the distributed shared memories 21-1 to 21-3 from unauthorized access. 25-1 and 25-2 are communication paths between PMs, which transfer messages or their control information between PMs arranged at relatively short distances. For example, system bus, multi-stage switching network,
ATM (Asynchronous Transfer Mode) -LAN, ATM switch fabric, etc. are assumed. Of course,
Other types of communication paths between processor modules can also be applied. In addition, since the receiving system 17-2 is configured by one PM, the inter-PM communication path 25-2 may be omitted. Reference numeral 26 denotes a communication network for interconnecting a plurality of PMs arranged at relatively long distances. In this embodiment, transfer data is divided into fixed-length blocks.
An ATM network or a cell relay network in which a 53-byte cell to which a destination header is added and transferred in the network is considered, but other types of communication networks may of course be used.
【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アドレス等の送受間引き継
ぎ制御情報(ディスクリプタ)を記憶するディスクリプ
タエリアである。FIG. 5 is a data layout diagram on the distributed shared memory in FIG. Distributed shared memory 21-1 to 21-
3 at the physical address level,
As shown in FIG. Each distributed shared memory 21-1 to 21-
No. 3 has the same address in the corresponding row, and the same physical address is assigned to each row. The communication area in the distributed shared memory includes (a) a communication area in the system,
It is divided into (b) an inter-system communication area and (c) a FIFO communication area. The intra-system communication area is an area for storing communication information transmitted and received in the same system, and the inter-system communication area is an area for storing communication information between different systems. The FIFO communication area is an area for accumulating and storing, in a FIFO format, a processing request spanning between systems or between PMs in the same system. The intra-system communication area and the inter-system communication area are each divided into the following three areas in units of PM. That is, (i) a message buffer (hereinafter, referred to as MB) area for storing a message, (ii) an MB management map area for displaying a message buffer capture / release state, and (iii) transmission / reception transfer control information such as an MB address. This is a descriptor area for storing (descriptor).
【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個のみ用意されて
いるものとする。In FIG. 5, distributed shared memories 21-1 to 21-1
In order to identify these areas on 21-3, the identifier of M ij will be used. Where M is the MB for PM
/ MB management map / descriptor / FIFO communication area identification symbol, MB corresponding to PM18-1 in FIG. 4 is X, its MB management map is XM, and descriptor is XD
It is expressed as Similarly, the MB corresponding to PM18-2 is Y, its MB management map is YM, the descriptor is YD, the FIFO communication area is YF, and the PM18-
The MB corresponding to 3 is named Z, the MB management map is named ZM, the descriptor is named ZD, and the FIFO communication area is named ZF. Here, i and j are the identification numbers (PM I) of the transmitting processor module (PM), respectively.
D) and the identification number (PM ID) of the received PM, and numbers 1, 2, and 3 are assigned to PM 18-1, PM 18-2, and PM 18-3, respectively. However, as an exception, FIFO communication areas XF, YF, ZF
Has only value j and no value i. The reason is FI
This is because the FO communication area is divided corresponding to the receiving PM represented by the value j, and is used in common by the transmitting PMs represented by the value i, so that the value i is not required as area designation information. For example, Z13 is the distributed shared memory 2
M for communication from PM18-1 on PM1-3 to PM18-3
B is represented. XD21 denotes a descriptor from the PM 18-2 on the distributed shared memory 21-1 to the first PM 18-1, and ZF2 denotes a reception processing FIFO communication area to the PM 18-2 on the distributed shared memory 21-3. For simplicity, it is assumed that only one MB, MB management map, and descriptor are prepared for the PM of the receiving system.
【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がペアを構成している。As is clear from FIG. 5, when i = j, it indicates a communication area within the same PM. MBs in which the values of ij of the two MBs match and the values of M are different
Form a pair and are located at the same physical address location in different distributed shared memories. For example, in FIG. 5, MBX12 and Y12 form a pair and have the same physical address. Each pair is dynamically captured and released by the kernel of the transmitting PM. Each PM has a fixed length, and an MB management map exists for each PM. For example, in FIG.
Corresponds to the MB management map entry XM12. Here, “correspondence” means that given the head address of the MB (hereinafter simply referred to as MB address),
This means that the MB management map entry address can be obtained, and conversely, the MB address can also be obtained from the MB management map entry address. Each entry in the MB management map indicates whether the corresponding MB is “unused” /
The status of "in use" is displayed, and the value is set by the kernel. Based on the same idea as in the case of the MB, the MB management map entry of the transmission-side distributed shared memory and the MB management map entry of the same address of the reception-side distributed shared memory form a pair. For example, the MB management map entry XM1
2 and YM12 form a pair.
【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
化により、マルチプロセッサ間の処理要求の競合処理が
ハードウェアで自動的に行われるので、処理オーバヘッ
ドは軽減されることになる。The descriptor area is also allocated to the address location of the distributed shared memory corresponding to the destination reception PM similarly to the MB. An area having the same address as each descriptor on the transmitting side is also arranged in the distributed shared memory of the receiving PM. The descriptor also forms a pair between the same addresses of the transmitting PM and the receiving PM, as in the case of the MB and the MB management map. The correspondence between the descriptor and the MB is dynamically determined by the kernel at the time of execution.
Specifically, for example, when transmitting a message from PM 18-1 to PM 18-2, the kernel of PM 18-1 captures MB (X12), selects the next corresponding descriptor (XD12), and sets the MB address. register. By such an operation, the correspondence between the descriptor and the MB is dynamically determined. The descriptor XD1 on the transmitting side
The descriptor on the receiving side that forms a pair with 2 is YD12
It is. In the FIFO communication area shown in FIG. 5, the distributed shared memory of the transmission PM is composed of a normal RAM,
Processing request FI addressed to PM1 on M distributed shared memory 21-1
The FO area XF1 is a FIFO (First In First)
(Out) memory. For example, the processing request FIFO addressed to PM1 on the distributed shared memory 21-1 of PM18-1
The area XF1 is configured by a FIFO memory,
The processing request FIFO area YF1 addressed to the PM1 on the distributed shared memory 21-2 of the PM 18-2 and the processing request FIFO area ZF1 addressed to the PM1 on the PM18-3 are configured by RAM. Thus, when a processing request is written,
Since these are simultaneously copied to the FIFO communication area XF1 of the PM 18-1 on which the processing request is read, all of these reception processing requests can be stored in the FIFO memory. FIFO of such processing request area
With this, the processing overhead of the processing request between the multiprocessors is automatically reduced by hardware, so that the processing overhead is reduced.
【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への書き込みデータを
通信ネットワークあるいはプロセッサモジュール間通信
路で送受する際に、ルーチング情報を記憶している。FIG. 1 is an internal block diagram of the processor module shown in FIG. Hereinafter, when it is not necessary to identify the components existing in the three PMs, -1 to -3 are omitted. In FIG.
16 is an MB arranged on the distributed shared memory 21, and 21 is a distributed shared memory. Reference numeral 30 denotes a processor bus for connecting various devices in the PM 18. 19 is a processor and 20 is a local memory. Reference numeral 22 denotes a distributed memory coupler which, when there is a write access to an area mounted on the distributed shared memory 21, also writes to the same address location in another system or the distributed shared memory of another PM in the same system. It has a function of transmitting replacement data and a function of receiving rewrite data from another system or another PM in the same system, and writing the same in the distributed shared memory of the own PM.
The distributed memory coupler 22 includes the following components. First, the bus signal decoder 31 decodes the signal on the signal line of the processor bus 30, and outputs “1” to the signal line 32 when there is a write access to the distributed shared memory to which the bus signal decoder 31 belongs. Start The transfer control unit 33 is a part that controls the entire distributed memory coupler 22, and is supplied with various control signals (not shown) to the internal logic. The routing information management unit 34 stores routing information when data to be written to the distributed shared memory 21 is transmitted / received via a communication network or a communication path between processor modules.
【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にコピーが行われる。In the transmission PM 18 of FIG. 1, the packet transmission register 35 stores write data to be transferred to another PM in the other system or another PM in the own system, a memory address thereof, and the like. The destination identification decoder 36 identifies whether the transmission packet passes through the PM-to-PM communication path 25 or the communication network 26, and transfers the packet to the local transmission buffer 37 if it is the former, and transfers it to the WAN transmission protocol processor 38 if it is the latter. The WAN transmission protocol processing unit 38 performs protocol conversion and various protocol processing on the transmission packet according to the interface of the communication network 26, and performs WA conversion.
The data is transmitted to the communication network 26 via the N transmission buffer 39. The local reception buffer 40 is connected to the PM communication path 25.
The data transferred from the other PM via the PC is temporarily stored. The WAN reception buffer 41 is connected to the communication network 26.
To temporarily store packets received via The WAN reception protocol processing unit 42 performs various protocol processes according to the interface of the communication network 26, and transfers the received packet to the packet reception register 43. The packet decoder 44 decodes the data in the packet reception register 43, and requests the transfer control unit 33 to execute the writing of the distributed shared memory to the transfer control unit 33 through the signal line 45 when the write request to the shared distributed memory 21 is made. In this way, copying is performed from the transmitting-side distributed shared memory 21 to the receiving-side distributed shared memory 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経由でプロセッサに緊急通知する。Next, the distributed memory protector 2 shown in FIG.
Reference numeral 3 denotes a hardware mechanism for protecting a message in the MB 16 arranged in the distributed shared memory 21 from unauthorized access. The distributed memory protector 23 has a current capability register (CCR: Current Capability).
Register) 51, MCR memory (Memory Capabilit)
y Register Memory) 50 and a comparator 52. Here, the CCR 51 is a register that stores the current capability. Specifically, the current capability means an ID of an application (APL) object (an object executed in the user mode of the processor) being executed by the processor 19. The MCR memory 50 is composed of a plurality of MCRs 53, and each of the MCRs 53 is
The memory capability is stored for each MB16 above. The memory capability is, specifically, the corresponding M
It means the ID of the application object that has been given the right to access B16. When a memory access to the MB 16 occurs, the corresponding MCR 53 is selected from the MCR memory 50 based on the MB address, and is taken out. The comparator 52 outputs the selected MCR 53 and C
It is determined whether the access to the message buffer is correct by comparing it with the CR 51. If the access does not match, the access is determined to be an unauthorized access. If an unauthorized access is detected, the access to the MB 16 that is being performed in parallel is interrupted, and an emergency notification is sent to the processor via the signal line 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を設定する。A distributed memory protector 23 in a case where the present invention is applied to message communication from a transmission object in the transmission PM 18-1 in the transmission system 17-1 shown in FIG. 4 to a reception object in the reception PM 18-3 of the reception system 17-2. Is as follows. (A) The kernel of the transmission PM 18-1 sets the current capability, that is, the transmission object ID, in the current capability register (CCR) 51-1 before starting execution of the transmission object. (B) The kernel of the transmission PM 18-1 captures the transmission MB 16-1 on the distributed shared memory 21-1 and then transmits the transmission MB 16-1.
The memory capability is set in the MCR 53-1 corresponding to 16-1. The memory capability at this point is MB
Is the ID of the object that has requested capture of the object, that is, the transmission object ID. (C) Each time there is a memory access from the transmission processor 19-1 to the transmission MB 16-1, the distributed memory protector 2
In 3-1, the MCR 53-1 corresponding to the MB address is used.
Is selected and compared with CCR 51-1. M
If the object ID values of CR 53-1 and CCR 51-1 are equal, it is determined that the access is correct, and if they are not equal, it is determined that the access is unauthorized. (D) The message is received PM1 of the receiving system 17-2.
Assume that the receiving MB 16-3 of 8-3 has arrived. The kernel of the receiving PM 18-3 sets the current capability, that is, the receiving object ID, in the CCR 51-3 before starting execution of the receiving object.
【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にアクセ
スすることができないので、非常に強固なメモリの保護
が可能となる。(E) The kernel of the receiving PM 18-3 sets the memory capability in the MCR 53-3 corresponding to the receiving MB 16-3. The memory capability at this point is the ID of the object that is the destination of the message, that is, the received object ID. (F) Each time there is a memory access from the receiving processor 19-3 to the receiving MB 16-3, the distributed memory protector 2
In 3-3, the comparator 52-3 compares the MCR 53-3 with the value of the object ID in the current capability register (CCR) 51-3, and determines that the access is correct if they are equal, and that the access is unauthorized if they are not equal. In the above-described operation, during the period when the memory capability and the current capability are set in the MCR 53 and the CCR 51 (protection window release period), only the transmission or reception object to which the ownership of the MB has been given accesses the MB. be able to.
If an unrelated object accesses the MB during the protection window opening period, the MCR
And a CCR capability mismatch, and an unauthorized access is detected. During the period other than the protection window release period, since all application objects including the transmission and reception objects cannot access this MB, very strong memory protection can be achieved.
【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から構成され
ている。FIG. 6 is a block diagram showing the internal configuration of the routing information management unit in FIG. As shown in FIG. 6, the routing directory 60 stores a CAM (Content Add).
It comprises a ressable memory (cell) section 61 and a data memory section 62. Here, the CAM is used to input search key data, compare and match the contents of the stored data of each word (CAM cell) all at once, and select and display a CAM cell having a content that matches a specified search condition. Memory. C
Each of the AM cells has “Distributed shared memory page address 6
3 "is stored. Distributed shared memory page address 63
Is a page of an address shared with another system or another PM in the own system, and includes a page address of the MB, a page address of the MB management map,
The page address of the descriptor, the page address of the FIFO communication area, and the like are set. As described in FIG. 5, the MB, the MB management map, the descriptor, and the FIFO
The communication area is allocated to a different page for each PM of the destination system. On the other hand, the data memory 6
Reference numeral 2 denotes a RAM for storing auxiliary data corresponding to the word of each CAM cell. Each entry is composed of an information type field 64 and a routing information field 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管理マップ
エリアは、このような双方向通信を行うエリアである。When the value of the information type field 64 is 0, it indicates that the write data is copied to the copy destination PM via the interprocessor communication path 52. In that case, the routing information field 65 indicates the destination PM.
ID. On the other hand, if the value of the information type field 64 is 1, it indicates that the copy destination PM of the write data is connected to the communication network 26 (ATM network). The routing information field 65 in that case includes VPI (virtual path identifier) information for performing routing of ATM cells. VPI, VCI (Virtual Channel I
(dentifier) is a two-stage identifier for specifying the destination of the cell. Since the values of VPI and VCI are determined when a connection is established between the systems, the values are stored in the distributed memory coupler in advance. For the same distributed shared memory page address 63, the routing information of the receiving PM is registered in the routing directory 60 of the transmitting PM,
By registering the routing information of the transmission PM in the routing directory 60 of the reception PM, even if data is written from the transmission side or the reception side to the area of the distributed shared memory, they are copied to the distributed shared memory of each other, So-called two-way communication can be performed. The MB management map area is an area for performing such two-way communication.
【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セルを作
成する。FIG. 7 shows the local / W used in the present invention.
It is a format diagram of an AN communication packet. A local communication packet 80 passing through the PM communication path 25 and a WA passing through the communication network (ATM network) 26
The format of the N communication packet (ATM cell) 89 is
This is as shown at 80 and 89 in FIG. The local communication packet 80 includes a header 81 including a destination PM ID output from the routing information management unit 34, a distributed shared memory address 82, write data 83, and write unit fields 84. The field of the write unit 84 has a write data width, for example, byte, half word (16 bits), long word (32 bits).
Bit) or the like. The WAN communication packet 89 includes a plurality of payload portions (portions other than the header of the local communication packet) of the local communication packet embedded therein using, for example, the ATM AAL5 protocol.
Create a 3-byte fixed length ATM cell. Here, the reason for embedding a plurality of local communication packet payloads in one ATM cell is to increase the transfer efficiency by packing a plurality of local communication packets 80 since the length of the local communication packet 80 is shorter than the ATM cell length. For the packets with the same destination, the operation of combining a plurality of packets into one ATM cell is also performed by the distributed memory coupler 22, but if the required number of packets with the same destination are not collected within a certain period of time, the PA
An ATM cell is created by embedding dummy data called D.
【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に送出する。The routing information management section 34 of FIG. 6 operates as follows. That is, when there is a write access to the distributed shared memory 21, the page address and the CAM cell unit 61 are simultaneously compared. When a coincident cell is detected, it means that the address is shared by another system or another PM in the own system, and the corresponding information type 64 and routing information 65 are read from the data memory unit 62. Next, the destination identification decoder 36 shown in FIG. For example, if the information type field 64 is 0, the local communication packet 80 of FIG. 7 is created by incorporating the destination PM ID into the header, and transmitted to the local transmission buffer 37 of FIG. On the other hand, if the information type field 64 is 1, the VPI and VCI are incorporated in the header to create the WAN communication packet 89 in FIG.
The data is sent to the AN transmission protocol processing unit 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から構成される。FIG. 8 is a diagram showing the structure of various data used in the present invention and their reference relationships. First, an object ID 1 uniquely assigned to an application object such as a transmission object or a reception object
70 is the ID of the system in which the object exists
(SYS ID) 171, PM D10 in the system
2. Each field of the local ID 173 in the PM is configured to be uniquely identified in the entire communication network. Next, as shown in FIG. 8, the processing request 174 stored in the FIFO communication area includes the transmission SYS ID 175 of the system that is the transmission source of the processing request,
It is composed of a transmission PM ID 176 of the system and a pointer 177 to the descriptor. Also, the descriptor 180 includes the start address MB of the corresponding MB.
It comprises an MB pointer field 181 for storing A and another message control information field 182. Further, the message buffer MB190 has a pointer NEXTMP191 for connecting a message addressed to the reception object in a list structure, an SID field 192 which is an ID of a transmission object which is a transmission source of the message, and an ID of a reception object which is a destination of the message. RID field 193, a SIZE field 194 indicating the size of the message body (BODY) 196, and an ATT indicating the attribute attached to the message.
It comprises an R field 195 and a BODY field 196 that indicates the content of the message.
【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のアドレスも
機械的に求めることができる。For each entry in the MB management map 200, when the value V = 0, the corresponding MB is in the “unused” state, and when V = 1, the corresponding MB is in the “unused” state. Medium ”. When one MB is given, the address of the corresponding MB management map entry 200 is determined by simple calculation from the value of the start address. In the receiving system, FIFO
By reading the communication area periodically, processing request 1
Poll 74. Upon detecting the processing request 174,
The descriptor 180 is read with reference to the descriptor pointer 177, and the address 181 and the message control information 182 of the received MB are known. From the MB address, the address of the corresponding MB management map 200 can also be obtained mechanically.
【0027】図9は、本発明の通信ネットワーク経由の
PM間通信のタイムチャートであり、図10は、同じく
PB間通信路経由のPM間通信のタイムチャートであ
る。なお、図9および図10のプロセッサの実行ステッ
プのうち、太い罫線で示されるステップ(例えば、図9
のステップS120(APLオブジェクト起動))は、
プロセッサのスーパバイザモードで実行している部分で
あり、細い罫線で示すステップ(例えば、図9のステッ
プS122(メッセージの書き込み))は、プロセッサ
のユーザモードで実行している部分である。FIG. 9 is a time chart of the communication between the PMs via the communication network of the present invention, and FIG. 10 is a time chart of the communication between the PMs via the communication path between the PBs. Note that, among the execution steps of the processor in FIGS. 9 and 10, steps indicated by thick ruled lines (for example, FIG.
Step S120 (APL object activation))
Steps executed in the supervisor mode of the processor, and steps indicated by thin ruled lines (for example, step S122 (message writing) in FIG. 9) are executed in the user mode of the processor.
【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に設定し、送信オブジェクトの実行を開始する。Case 1: P via communication network
Example of Inter-M Communication (See FIG. 9) (a) Processing of Transmission PM In a certain transmission system 17-1, a reception system in which a reception object exists from a transmission PM 18-1 in which a transmission object now exists via the communication network 26. It is assumed that the message is transferred to the receiving PM 18-3 of 17-2. The MB used by the transmitting side is X1 in FIG.
3. The MB management map entry is XM13. Details of the processing contents are described in the descriptor XD13.
The message processing request is written in the processing request FIFO (XF3) for the receiving PM on the transmitting PM 18-1. Further, it is assumed that the execution of the receiving object starts before the execution of the transmitting object ends. The flow of the processing will be described along each step (symbol indicated by SXXX) in FIG. [Step S120] The kernel of the transmission PM 18-1 is
By executing the APL (application) object activation in step S120, the ID (S
ID) at timing t120 to CCR5 of PM18-1.
Set to 1-1 and start execution of the transmission object.
【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に送り届ける。[Step S121] The transmission object requests the kernel to acquire the MB. The kernel checks the destination by referring to the reception object ID, and sends the transmission PM1.
8-1 to the receiving PM 18-3 for communication MB (X1
3) is selected, and the corresponding MB management map entry XM13 is rewritten to "in use" at timing t121 in FIG. At this time, the MB management map entry (ZM13) of the distributed shared memory 21-3 of the receiving PM 18-3 having the same address as that of the XM 13 is also rewritten. This rewriting is performed by the following operation. First, when the processor 19-1 of the transmission PM 18-1 rewrites the MB management map entry (XM13), the routing information management unit 34-1 in the transmission-side distributed memory coupler (see 22-1 in FIG. 1) writes the MB management map entry (XM13). The page address of the management map entry is provided. In this embodiment, for the page address of the XM 13, the information type 64 in FIG. 6 = “1” and the routing information 65 = “VPI indicating destination to reception PM,
Since the "VCI" is stored in the routing information management unit 34-1, they are taken out and transferred to the packet transmission register (see 35-1 in FIG. 1). Next, the destination identification decoder 36 shown in FIG. 1 identifies the communication via the communication network from the information type 64 = '1', and the WAN transmission protocol processing unit 38 shown in FIG. 83 (“in use” display data) Writes a unit of data (specifically, byte write and byte position information) into 53 bytes sandwiching an ATM header 90 and a trailer 92 to create an ATM cell 89, Transfer to the transmission buffer (see 39-1 in FIG. 1). The WAN transmission buffer 39-1 sends the ATM cells to the communication network 26. Communication network 2
6 performs routing by looking at the ATM header 90 and sends it to the distributed memory coupler 22-3 of the receiving PM 18-3 of the receiving system 17-2.
【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)が登録される。In the receiving-side distributed memory coupler 22-3,
Recognizing that the write is to the shared distributed memory 21-3, the distributed shared memory address (X
The data is written to the ZM13 of the distributed shared memory 21-3 based on the information of the M13), the write data ("in use" display data), and the information of the write unit. In this way, the same value is automatically copied to the destination shared distributed memory by the operation of the distributed memory coupler 22 only by the local side of writing to the shared distributed memory by the writing side of the shared distributed memory. . Therefore, in the present invention, D
A great effect is obtained that does not involve copy overhead by software such as MA. Next, FIG.
At timing t122, the memory capability register (MCR) 53-1 corresponding to the MB (X13) stores the I of the transmission object having acquired the access right to this MB.
D (SID) is registered.
【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)にアクセスするこ
とができるが、他のアプリケーションオブジェクトはア
クセスすることができない。[Step S122] The transmitting object transmits the message to the transmitting side shared memory MB (X1
At 3), writing is performed in units of 4 bytes at timing t123. Every time the 4-byte write occurs twice,
As in the case of "Step S121", the communication network 26 is put together into one ATM cell 89 shown in FIG.
Transmission / reception is performed via the PM, and the distributed memory coupler 22-3 of the receiving PM 18-3 writes twice to the MB (Z13) of the corresponding address of the distributed shared memory 21-3 in 4-byte units. Thereby, the message buffer X
13 to the message buffer Z13. In this message writing process, in a section in which both the values of the CCR 51-1 and the MCR 53-1 are set, the transmission object specified by the MCR and the CCR can access the MB (X13). Other application objects cannot be accessed.
【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でクリアす
る。[Step S123] In the transmission object, when the transmission (SEND) processing is requested to the kernel, the kernel clears the MCR (53-1 in FIG. 1) corresponding to the MB (X13) at timing t124. As a result, the protection window opening period ends, and thereafter, it becomes impossible to access the MB (X13) except for the kernel. Next, at timing t125, the transmission kernel registers the control information in the descriptor (XD13) from the transmission PM 18-1 to the reception PM 18-3, and also transmits the processing request 174 in the format of FIG. 8 to the reception PM 18-3. Write to FIFO (XF3). As a result, the distributed memory coupler 22-1 packs the data and addresses to be written to XD13 and XF3 into the ATM cell 89 of FIG. 7 and copies them to the corresponding areas ZD13 and ZF3 of the communication memory 21-3. At this time, the processing request FIFO area (XF3) of the transmission PM 18-1 is configured by a normal RAM, and the processing request FIFO area (ZF3) of the reception PM 18-3 is configured by a FIFO memory. Therefore, the write data to the XF3 is a normal write, but the write to the ZF3 adds new data while keeping the previously written data.
Through the above operation, all information necessary for transmitting the message has been transmitted to the receiving PM 18-3 of the receiving system. [Step 124] The kernel starts the APL object termination processing, and the current capability register CCR
The value of 51-1 is cleared at timing t126 in FIG.
【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参照)に退避する。(B) Processing of Reception PM 18-3 [Step S 130] In FIG. 9, the reception system 17
The kernel of the receiving PM at -2 selects the receiving object as the object to be executed next, and the timing t1
The receiving object ID (RID) is received at 30 PM 18
-3 Current Capability Register (CCR) 5
Set to 1-3. [Step S131] When the execution of the reception object is started and the reception object requests the kernel to perform reception processing, the kernel tests whether a message has arrived at the reception object. Here, since the message has not arrived at this point, it is determined that the receiving object should be suspended until the message arrives from the transmitting object. [Step S132] The kernel suspends the receiving object at timing t131.
And current capability register (CCR) 51-3
Is cleared, and information necessary for restarting the reception object is saved in the local memory (see 20-3 in FIG. 1).
【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に設定する。[Step S140] At time t140, the kernel of the receiving PM 18-3 periodically checks the processing request FIFO (ZF3) addressed to the own PM to check for a reception processing request. Here, in step t125 of FIG.
Since this request is registered in the O processing request area (ZF3), this request is detected, and the descriptor (ZD13), MB address (address of Z13), and the reception object ID in the MB of the distributed shared memory in the order shown in FIG. The extracted information is set in the local memory (see 20-3 in FIG. 1) necessary for restarting the receiving object. [Step S150] Reception PM of reception system 17-2
The kernel 18-3 selects the receiving object as the object to be executed next, and the timing t1 in FIG.
The receiving object ID (RID) is received at 50 PM 18
-3 Current Capability Register (CCR) 5
Set to 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)からコピーされたメッセージが入っ
ている。[Step S151] When the execution of the receiving object is started and the receiving object requests the kernel to perform a receiving process, the kernel tests whether a message for the receiving object has arrived. At this point, since the message has already been received from the transmission side, the message can be immediately read. Therefore, at timing t151, MCR5 corresponding to MB (Z13)
The receiving object ID (RID) is set in 3-3.
As a result, since the reception object ID (RID) is set in both the CCR 51-3 and the MCR 53-3, the MB (Z13) is protected from being accessed from an APL object other than the reception object. [Step S152] If the receiving object is MB (Z1
The message is read out from 3) at timing t152,
Perform the corresponding processing. MB (Z13) contains a message copied from MB (X13) of the transmission system.
【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でクリ
アする。[Step S153] The receiving object requests the kernel to release the MB (Z13). The kernel clears the MCR 53-3 corresponding to MB (Z13) at timing t153. Next, at timing t154
Rewrites the MB management map entry (ZM13) corresponding to MB (Z13) to a value of "empty". The receiving-side distributed memory coupler 22-3 stores in advance the page address of the MB management map and the corresponding routing information (“VPI, VCI indicating the destination to the transmission PM 18-1”). When writing to
The same location (XM1) of the transmission-side distributed shared memory 21-1 via the reception-side distributed memory coupler 22-3, the communication network 26, and the transmission-side distributed memory coupler 22-1.
The value of “empty” is copied to 3). In this embodiment, M
B is always centrally managed on the transmission PM side. FIG.
When the rewriting to the MB management map entry XM13 on the transmitting side is completed at the timing t155, the MB (X13) can be reused on the transmitting PM side at any time after this point. [Step S154] The kernel executes the APL object end processing, and executes the current capability register (C
(CR) 51-3 is cleared at the timing t156 in FIG.
【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回の転送でできる限り多
くの情報を送るようなプロトコルを用いて、転送効率を
上げていることも多い。(Case 2) Communication between PMs via the communication path between PMs
In Shin embodiment (see FIG. 10) FIG. 10, since similar to the communication via the communication network of FIG. 9, to be described only the differences between the case 1. First, in case 1, the communication path 26 has passed through the communication network 26.
Via. Therefore, as routing information, V
The difference is that the destination PM ID (see 176 in FIG. 8) is used instead of the PI and VCI. Communication network 2
6 and the interface between the PM communication paths 25 are different in the structure and protocol of the packet to be transferred as shown in FIG. Generally, it is desirable to use an international standard interface in the communication network 26, and in many cases, a protocol that incorporates error control and retransmission procedures is used in order to cope with long-distance communication and communication in a noisy environment. In addition, from the viewpoint of operation cost, the transfer efficiency is often increased by using a protocol that sends as much information as possible in one transfer.
【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公衆網ネットワークやセルリレーネットワーク)と同
一技術をベースに実現されつつあり、両者の技術が統合
されつつある。このような場合には、最早やシステム間
とシステム内で同一のインタフェースとなり、分散メモ
リカップラ内で両者を識別する回路は必要なくなる。従
って、システム間通信とシステム内通信は、共に同一の
ものとして統合されることになるので、システム全体の
単純化を図ることができる。On the other hand, the PM communication path 25 is a local interface inside the system, and the efficiency can be improved by using a simplified and unique interface and protocol. The PM via the communication network of FIG.
In the inter-communication, the transfer is performed by one ATM cell for the 4-byte memory write (maximum) two times to improve the efficiency, whereas the communication via the PM communication path in FIG. For each memory write, a local communication packet (see 80 in FIG. 7) is transferred for simplification. As shown in FIG. 1, the distributed memory coupler 22 itself performs the separation between the local communication and the WAN communication and the transfer processing according to each protocol. Note that, like an ATM, a local LAN communication technology (for example, ATM-LA
N) and WAN (Wide Area Network) communication technology (AT
M public network and cell relay network) are being realized based on the same technology, and both technologies are being integrated . In such a case, the same interface is already used between the systems and within the system, so that a circuit for identifying the two is not required in the distributed memory coupler. Therefore, both the inter-system communication and the intra-system communication are integrated as the same communication, so that the entire system can be simplified.
【0039】以上、本発明をまとめると、次のようにな
る。すなわち、従来はシステム間通信をIO経由で行っ
ていたので、システム間通信を行うためのオーバヘッド
が極め大であった。そこで本発明においては、システム
間通信も分散共有メモリ経由で行うことを基本にして、
システム間で共通の分散共有メモリ空間を共有する。そ
して、送信システムの送信PM、受信システムの受信P
Mに同一のアドレスを割り当てられた分散共有メモリを
配置する。送信PMと受信PMとは、WANまたはPM
間通信路で接続される。送信PMの分散メモリカップラ
がPM間通信路経由のローカル通信か、またはWAN経
由のWAN通信かを判定し、それぞれのインタフェース
とプロトコルに合わせて、送信側の分散共有メモリと送
受信側の分散共有メモリの同一アドレスロケーション間
でコピーを行うことにより、メッセージパッシングプロ
グラミングモデルを実現する。このような方法を用いる
ことにより、システム間通信もシステム内通信も同一の
PM間通信として扱うことができ、システム間通信もシ
ステム内通信と同程度の軽いオーバヘッドで実現するこ
とができる。もし、WANとPM間通信路とを同一のイ
ンタフェースに合わせた場合には、システム間通信とシ
ステム内通信は物理的距離の差を除いて全く同じように
実現できる。従って、物理的距離に無関係に任意のPM
を自由に1つのシステムに組み込むことができる他、あ
るシステム内のPMを他のシステムに組み替える場合に
も、全く修正無く行うことができる。The present invention is summarized as follows. That is, conventionally, since the communication between the systems was performed via the IO, the overhead for performing the communication between the systems was extremely large. Therefore, in the present invention, based on the fact that communication between systems is also performed via a distributed shared memory,
Share a common distributed shared memory space between systems. Then, the transmission PM of the transmission system and the reception P of the reception system
A distributed shared memory assigned the same address is assigned to M. The transmission PM and the reception PM are WAN or PM
It is connected by an inter-communication path. The distributed memory coupler of the transmission PM determines whether the communication is local communication via the communication path between the PMs or WAN communication via the WAN, and the distributed shared memory on the transmitting side and the distributed shared memory on the transmitting and receiving sides are adapted to the respective interfaces and protocols. By performing copying between the same address locations, a message passing programming model is realized. By using such a method, the inter-system communication and the intra-system communication can be treated as the same inter-PM communication, and the inter-system communication can be realized with the same light overhead as the intra-system communication. If the communication path between the WAN and the PM is set to the same interface, the communication between the systems and the communication within the system can be realized in exactly the same manner except for the difference in physical distance. Therefore, regardless of physical distance, any PM
Can be freely incorporated into one system, and when a PM in a certain system is replaced with another system, it can be performed without any modification.
【0040】[0040]
【発明の効果】以上説明したように、本発明によれば、
物理的な配置とは無関係に、ネットワーク全体に渡る分
散処理システムを、単純かつ極めて効率よく実現するこ
とが可能である。特に、WANとしてATMネットワー
クを用いる場合には、ATMのVCI,VPI情報を用
いてハードウェアのみでネットワークルーチング情報を
転送情報に付加することが容易になるので、ソフトウェ
アオーバヘッドの削減、および転送遅延時間の削減に大
きな効果を奏する。As described above, according to the present invention,
Regardless of the physical arrangement, a distributed processing system over the entire network can be realized simply and extremely efficiently. In particular, when an ATM network is used as a WAN, it becomes easy to add network routing information to transfer information only by hardware using VCI and VPI information of the ATM, so that software overhead is reduced and transfer delay time is reduced. It has a great effect on reduction of the amount.
【図1】本発明の一実施例を示すプロセッサモジュール
の内部構成図である。FIG. 1 is an internal configuration diagram of a processor module according to an embodiment of the present invention.
【図2】従来の分散処理システムの構成例図である。FIG. 2 is a configuration example diagram of a conventional distributed processing system.
【図3】従来の分散処理システムの別の構成例図であ
る。FIG. 3 is a diagram illustrating another configuration example of a conventional distributed processing system.
【図4】本発明の一実施例を示す分散処理システムの全
体構成図である。FIG. 4 is an overall configuration diagram of a distributed processing system according to an embodiment of the present invention.
【図5】本発明における分散共有メモリのデータ配置図
である。FIG. 5 is a data layout diagram of a distributed shared memory according to the present invention.
【図6】図1におけるルーチング情報管理部の構成図で
ある。FIG. 6 is a configuration diagram of a routing information management unit in FIG. 1;
【図7】本発明で使用されるローカル/WAN通信パケ
ットのフォーマット図である。FIG. 7 is a format diagram of a local / WAN communication packet used in the present invention.
【図8】本発明における各種データのフォーマット図で
ある。FIG. 8 is a format diagram of various data in the present invention.
【図9】本発明におけるシステム間通信(通信ネットワ
ーク経由)のタイムチャートである。FIG. 9 is a time chart of communication between systems (via a communication network) in the present invention.
【図10】本発明におけるシステム内PM間通信(PM
間通信路経由)のタイムチャートである。FIG. 10 shows a communication (PM) in the system according to the present invention.
6 is a time chart of the inter-communication path.
【符号の説明】 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…データメモリ部。[Description of Signs] 17-1: Transmission system, 17-2: Reception system, 1
8-1 to 18-3: Processor module (PM), 1
9-1 to 19-3 ... processors, 20-1 to 20-3 ...
Local memory, 21-1 to 21-3 ... distributed shared memory, 22-1 to 22-3 ... distributed memory coupler, 23-
1 to 23-3: distributed memory protector, 25: communication path between PMs, 26: communication network (WAN), 34: routing information management unit, 35: packet transmission register, 36
... destination identification decoder, 37 ... local transmission buffer, 3
8 WAN transmission protocol processing unit, 39 WAN transmission buffer, 40 local reception buffer, 41 WAN reception buffer, 42 WAN reception protocol processing unit, 43
... Packet reception register, 50 ... MCR memory (Memor
y Capability Register Memory), 51: Current Capability Register (CCR), 53: Memory Capability Register (MCR), 60: Routing Directory, 61: CAM (Content Addressable)
(Memory) Cell part, 62 ... data memory part.
フロントページの続き (56)参考文献 Hill,M.D.,et al,T empest:A Substrate for Portable Para llel Programs,IEEE COMCON Spring ’95 Digest Paper,米国,1995 年 3月 5日,P.327−333 (58)調査した分野(Int.Cl.7,DB名) G06F 15/16 - 15/177 G06F 9/46 Continued on the front page (56) References Hill, M .; D. , Et al, Tempest: A Substrate for Portable Parallel Programs, IEEE COMMON Spring '95 Digest Paper, USA, March 5, 1995, P.M. 327-333 (58) Field surveyed (Int.Cl. 7 , DB name) G06F 15/16-15/177 G06F 9/46
Claims (3)
ロセッサモジュールを、プロセッサモジュール間通信お
よび通信ネットワークの両方を介して相互接続したネッ
トワーク分散処理システムにおいて、 前記各プロセッサモジュールは、 互いにメモリ空間を共用する分散共有メモリと、 該分散共有メモリのアドレスに1対1に対応する前記通
信ネットワークのルーチング情報あるいは前記プロセッ
サモジュール間通信路のルーチング情報を記憶し、該記
憶したルーチング情報を用いて、前記プロセッサモジュ
ール間通信路および前記通信ネットワークのいずれを介
しての通信であっても、それぞれのプロセッサモジュー
ルの分散共有メモリの同一アドレスロケーション間での
書き込みデータのコピーを行う分散メモリ制御手段とを
有し、 送信側のプロセッサモジュールの分散共有メモリにデー
タが書き込まれると、該送信側のプロセッサモジュール
の前記分散メモリ制御手段は、 書き込みアドレスに対応する前記通信ネットワークのル
ーチング情報あるいは前記プロセッサモジュール間通信
路のルーチング情報を取り出し、前記通信ネットワークのルーチング情報を取り出した 場
合には、該ルーチング情報をメモリ書き込みアドレスと
データに付加した第1のパケットを前記通信ネットワー
クを介して受信側のプロセッサモジュールに送出し、前
記プロセッサモジュール間通信路のルーチング情報を取
り出した場合には、該ルーチング情報をメモリ書き込み
アドレスとデータに付加した第2のパケットを前記プロ
セッサモジュール間通信路を介して受信側のプロセッサ
モジュールに送出し、 該受信側のプロセッサモジュールの分散メモリ制御手段
は、前記第1のパケットあるいは前記第2のパケットに
より指定された分散共有メモリの同一アドレスロケーシ
ョンにデータをコピーすることを特徴とするネットワー
ク分散処理システム。1. A network distributed processing system in which one or more processor modules included in each processing system are interconnected via both a communication between processor modules and a communication network, wherein each of the processor modules has a memory space. A shared memory sharing the same, and the communication corresponding to the address of the distributed shared memory on a one-to-one basis.
Routing information Hoa Rui Shin network stores the routing information of the processor <br/> inter sub-module communication path, 該記
Using the stored routing information, the processor module
Via any of the communication paths between
And even communicate with, and a distributed memory control means for copying the <br/> write data between the same address location of the distributed shared memory of each processor module, the dispersion of the processor module of the transmitting side When data is written to the shared memory, the processor module on the transmission side
The said distributed memory control means, routing information Hoa Rui said communication network corresponding to the write address takes the routing information of the inter-processor module communication path, when retrieving the routing information of said communication network, said routing information sends a first packet appends to the memory write address and data to the processor module of the receiving side via the communication network <br/> click, before
The routing information of the communication path between the processor modules.
Ri when issued, said routing information memory write address and a second packet to the receiving side via the communication path between the processor module processor appends to the data
Sent to the module, distributed memory control means of the processor module of the receiving side, the first packet store Rui copying the data to the same address location of the distributed shared memory designated by said second packet Characteristic network distributed processing system.
システムにおいて、前記第2のパケットの構造を前記第
1のパケットに組み込めるようにして、両パケットの構
造を一致させ、前記プロセッサモジュール間通信路のイ
ンタフェースを前記通信ネットワークのインタフェース
と同一にすることを特徴とするネットワーク分散処理シ
ステム。2. The network distributed processing system according to claim 1, wherein a structure of said second packet is changed to said second packet .
A network distributed processing system characterized in that the structures of both packets are matched so that they can be incorporated into one packet, and the interface of the communication path between the processor modules is the same as the interface of the communication network.
かに記載のネットワーク分散処理システムにおいて、 前記通信ネットワークをATMネットワークとし、 前記通信ネットワークのルーチング情報として、前記A
TMネットワークで予め値がそれぞれ決定されているパ
ーチャル・チャネル・アイデンティファイアとバーチャ
ル・パス・アイデンティファイアを用いることを特徴と
するネットワーク分散処理システム。3. The method according to claim 1 or 2 ,
In the network distributed processing system according to either of the communication network and the ATM network, as routing information of the communication network, the A
A network distributed processing system using a virtual channel identifier and a virtual path identifier whose values are previously determined in a TM network .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP14305995A JP3303045B2 (en) | 1995-06-09 | 1995-06-09 | Network distributed processing system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP14305995A JP3303045B2 (en) | 1995-06-09 | 1995-06-09 | Network distributed processing system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH08339354A JPH08339354A (en) | 1996-12-24 |
| JP3303045B2 true JP3303045B2 (en) | 2002-07-15 |
Family
ID=15329961
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP14305995A Expired - Lifetime JP3303045B2 (en) | 1995-06-09 | 1995-06-09 | Network distributed processing system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3303045B2 (en) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7328232B1 (en) * | 2000-10-18 | 2008-02-05 | Beptech Inc. | Distributed multiprocessing system |
| JP4783527B2 (en) * | 2001-01-31 | 2011-09-28 | 株式会社ガイア・システム・ソリューション | Data processing system, data processing apparatus, and control method thereof |
| JP2007286754A (en) * | 2006-04-13 | 2007-11-01 | Nippon Telegr & Teleph Corp <Ntt> | Inter-node data transfer control system, inter-node data transfer control device, and computer program |
| JP5541437B2 (en) * | 2009-09-16 | 2014-07-09 | 日本電気株式会社 | Parallel processing system control apparatus, method and program thereof |
| JP5598493B2 (en) | 2012-03-30 | 2014-10-01 | 富士通株式会社 | Information processing device, arithmetic device, and information transfer method |
| CN117909089A (en) * | 2022-10-11 | 2024-04-19 | 深圳市中兴微电子技术有限公司 | Inter-core communication system, method, device and storage medium of multi-core processor |
-
1995
- 1995-06-09 JP JP14305995A patent/JP3303045B2/en not_active Expired - Lifetime
Non-Patent Citations (1)
| Title |
|---|
| Hill,M.D.,et al,Tempest:A Substrate for Portable Parallel Programs,IEEE COMCON Spring ’95 Digest Paper,米国,1995年 3月 5日,P.327−333 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH08339354A (en) | 1996-12-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7653754B2 (en) | Method, system and protocol that enable unrestricted user-level access to a network interface adapter | |
| KR100555394B1 (en) | Method and Mechanism for Remote Key Verification for NVIO / IENFIENAIDN Applications | |
| US5828903A (en) | System for performing DMA transfer with a pipeline control switching such that the first storage area contains location of a buffer for subsequent transfer | |
| US5761427A (en) | Method and apparatus for updating host memory in an adapter to minimize host CPU overhead in servicing an interrupt | |
| CA1171931A (en) | Channel interface circuit | |
| US5428766A (en) | Error detection scheme in a multiprocessor environment | |
| KR100640515B1 (en) | Method and apparatus for delivering an interrupt from a peripheral device to a host computer system | |
| KR980013147A (en) | Message transmitting device and message transmission control method in packet interconnection network | |
| CA2432387A1 (en) | Method and apparatus for controlling flow of data between data processing systems via a memory | |
| JP2003178039A (en) | Distributed shared virtual memory and its configuration method | |
| CA2432390A1 (en) | Method and apparatus for controlling flow of data between data processing systems via a memory | |
| US7564860B2 (en) | Apparatus and method for workflow-based routing in a distributed architecture router | |
| JP2587190B2 (en) | Channel paging mechanism between systems | |
| JP3303045B2 (en) | Network distributed processing system | |
| US6512769B1 (en) | Method and apparatus for rate-based cell traffic arbitration in a switch | |
| CN115269221A (en) | FPGA hardware abstraction layer design method and system based on shared memory mechanism | |
| JP3312362B2 (en) | Multiprocessor system | |
| CN114979032A (en) | TTE exchange terminal, data sending method and data receiving method thereof | |
| US6438102B1 (en) | Method and apparatus for providing asynchronous memory functions for bi-directional traffic in a switch platform | |
| US6483850B1 (en) | Method and apparatus for routing cells having different formats among service modules of a switch platform | |
| JPH07111507A (en) | Data receiving system and communication control device | |
| JPH09162873A (en) | Error detection method and device | |
| JPH11298486A (en) | ATM switch | |
| US6967961B1 (en) | Method and apparatus for providing programmable memory functions for bi-directional traffic in a switch platform | |
| KR100250465B1 (en) | How to send a message from a high speed parallel computer |
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 |