JPH09218864A - データ中継システム - Google Patents

データ中継システム

Info

Publication number
JPH09218864A
JPH09218864A JP8022382A JP2238296A JPH09218864A JP H09218864 A JPH09218864 A JP H09218864A JP 8022382 A JP8022382 A JP 8022382A JP 2238296 A JP2238296 A JP 2238296A JP H09218864 A JPH09218864 A JP H09218864A
Authority
JP
Japan
Prior art keywords
node
memory
data
message
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8022382A
Other languages
English (en)
Inventor
Shigeki Yamada
茂樹 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP8022382A priority Critical patent/JPH09218864A/ja
Publication of JPH09218864A publication Critical patent/JPH09218864A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 中継ノード内で余計なコピーを避け、中継ノ
ードでのメモリアクセス回数を低減することによってメ
ッセージスループットを向上させることが可能なデータ
中継システムを提供すること。 【解決手段】 最初に中継ノードのプロセッサがメッセ
ージバッファ1内のメッセージヘッダを書き替えた後、
分散メモリカップラによってメッセージバッファ1から
次段ノードのメッセージバッファ3へ直接、コピーを行
う。これによって中継ノードでの無駄なコピーを無く
し、メモリブロック1から次段ノードのメモリブロック
3に効率的に転送を行うことができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ中継システム
に関し、特に、ネットワーク内のノード間でデータを中
継していく場合に、必要に応じて中継ノードにおいてデ
ータの一部を書き換えて次段ノードに転送する処理を、
効率良く行うことが可能なデータ中継システムに関する
ものである。
【0002】
【従来の技術】従来から、ネットワークによって相互接
続された複数のノード間でメッセージを転送しながらネ
ットワーク全体で分散処理を行うシステムが提案されて
いる。このようなシステムの基本的なアイデアの一例
が、本出願人が先に特願平6-202071号により提案した
「マルチプロセッサシステム」に示されている。図2は、
上記提案に係るネットワーク分散処理システムの実施例
を、その主旨を損なわない範囲で簡略化して示すもので
ある。図2中、1-1,1-2,1-3はメッセージを送受信
するノードである。なお、以下の説明では、複数個の同
一要素について、特に必要な場合を除いて、その添字
(例えば、「1-2」における「-2」)を省略する。また、ここ
では、説明を簡略化するため、各ノードが1個のプロセ
ッサモジュール(PM)2から構成されている例を示して
いるが、一般的には、一つのノードが複数のPMから構
成されていても良い。
【0003】各ノードは、以下の如き内部構造を有す
る。3はプロセッサ、4はそれぞれ対応するプロセッサ
3から読み書きアクセスが可能なローカルメモリ、5は
全ノードで共通のアドレスが与えられた分散共有メモリ
である。但し、プロセッサ3-1からアクセスできる分散
共有メモリは5-1のみであり、分散共有メモリ5-2、5
-3にはアクセスできない。同様に、プロセッサ3-2から
アクセスできる分散共有メモリは5-2のみで、プロセッ
サ5-3からアクセスできる分散共有メモリは5-3のみで
ある。6は分散メモリカップラで、自ノード内の分散共
有メモリ5にデータがそれぞれ書き込まれたとき、それ
と同じアドレスを持つ他のノードの分散共有メモリ5に
データをコピーする機能を有する。7は分散メモリプロ
テクタで、それぞれ、自ノードの分散共有メモリ5内の
メッセージバッファに記憶されているメッセージを不正
なアクセスから保護する装置である。8はノード内の各
装置を接続するプロセッサバスである。9はノード間を
相互接続するATM-WAN(ワイドエリアネットワー
ク)である。
【0004】図3は、分散共有メモリ5におけるデータ
配置例を物理アドレスレベルで図示したものである。各
分散共有メモリ5-1,5-2,5-3には、同一の物理アド
レスが割り付けられている。分散共有メモリ5内の通信
領域は、(a)ノード間通信エリアと、(b)FIFO通信
エリアに大別される。ノード間通信エリアは、基本的に
は同一ノード内通信も含んで、ノード間で送受信される
通信情報を記憶するエリアである。また、FIFO通信
エリアは、ノード間にまたがる処理要求をFIFO形式
で蓄積記憶するエリアである。ノード間通信エリアは、
それぞれ、ノードを単位としてメッセージを記憶するメ
ッセージバッファ(MB)エリアと、メッセージバッファ
アドレス等の送受間引き継ぎ制御情報(ディスクリプタ)
を記憶するディスクリプタ(MD)エリアとに分割されて
いる。
【0005】図3において、分散共有メモリ5上の各種
エリアを識別するために、Mij-kという識別名を用い
る。ここで、Mはノード対応のメッセージバッファ/デ
ィスクリプタ/FIFO通信エリアの識別記号で、MB
エリアはMB、ディスクリプタエリアはMD、FIFO
通信エリアはMFと表現される。また、i,jはそれぞ
れ送信ノードの識別番号と受信ノードの識別番号を表わ
し、ノード1(1-1),ノード2(1-2),ノード3(1-3)
に対応して、それぞれ、1,2,3という番号が与えられ
ている。但し、例外として、FIFO通信エリアMFは
値jのみを有し、値iを持たない。この理由は、FIF
O通信エリアが、値jで表わされる受信側ノード対応に
分割されており、値iで表わされる各送信ノード間で共
通に使用するため、エリアの指定情報として値iを必要
としないためである。また、kは対応するエリアの実装
位置を示している。例えば、MB13-1はノード1(1-
1)の分散共有メモリ5-1上の、ノード1(1-1)からノー
ド3(1-3)宛通信用のMBエリアを示している。
【0006】上述のMBエリア,MDエリアについて
は、二つのエリアのi,jの値がそれぞれ一致し、kの
値が異なるエリアがペアを構成し、異なる分散共有メモ
リの同一物理アドレスロケーションに配置される。な
お、図3のFIFO通信エリアのうち、送信ノードの分
散共有メモリは、通常のRAM(ランダム アクセス メ
モリ)で構成されるが、受信ノードの分散共有メモリ
は、FIFO(First In First Outメモリ)で構成さ
れている。例えば、ノード1(1-1)の分散共有メモリ5
-1上のノード1宛処理要求FIFOエリアMF1-1は、
FIFOメモリで構成されているが、ノード2(1-2)の
分散共有メモリ5-2上のノード1宛処理要求FIFOエ
リアMF1-2、および、ノード3(1-3)上のノード1宛
処理要求FIFOエリアMF1-3は、RAMで構成され
ている。これによって、処理要求を書き込む側のノード
(ノード2とノード3)が処理要求をそれぞれ、処理要求
FIFOエリアMF1-2とMF1-3に同時に書き込んだ
場合、それらのコピーが同時に、処理要求を読み出す側
のノード1(1-1)のFIFO通信エリアMF1-1に送ら
れ、これらがFIFOメモリによってすべて蓄積できる
ようにしている。
【0007】このようなPM構造を有するノード間通信
において、送信オブジェクトの存在する送信ノード1-1
から、受信オブジェクトの存在する受信ノード1-3にメ
ッセージを転送する場合、メッセージを中継ノード1-2
経由で転送しなければならないケースがある。このよう
な中継ノード1-2が必要な理由は、送信ノード1-1と受
信ノード1-3が直接接続されていない場合にも、送信ノ
ード1-1から受信ノード1-3にメッセージを正しく送り
届けることが必要とされるからである。この場合、送信
ノード1-1は、直接接続されている中継ノード1-2宛に
一旦メッセージを送り、中継ノード1-2では、メッセー
ジヘッダを参照して転送先ノード(=受信ノード(1-3))
を識別するとともに、メッセージヘッダの一部を必要に
応じて書き替えて、受信ノード1-3にメッセージをフォ
ワードする機能が要求される。
【0008】ところで、上述の従来技術においては、こ
のような中継ノード機能の実現方法については、何も言
及されていない。そこで、もし、上記従来技術を単純に
中継ノードに適用すれば、中継ノード機能は以下のよう
に実現されるであろう。すなわち、図3において、ま
ず、送信ノード1-1がメッセージを中継ノード1-2に転
送するために、中継ノード1-2宛のメッセージバッファ
MB12-1を捕捉し、そこにメッセージを書き込む。こ
の書き込みに同期して、送信ノード1-1の分散メモリカ
ップラ6-1が起動され、書き込みアドレスとデータを中
継ノード1-2に転送する。中継ノード1-2の分散メモリ
カップラ6-2は、分散共有メモリ5-2上のメッセージバ
ッファMB12-2にコピーを行う。このようにして、分
散共有メモリ間コピーによって、メッセージの転送が行
われる。
【0009】続いて、送信ノード1-1では、メッセージ
バッファMB12-1に対応するディスクリプタエリアM
D12-1に制御情報を、FIFO通信エリアMF2-1に
処理要求を書き込む。その結果、メッセージの場合と同
様に、分散メモリカップラ6-1,6-2によって送信ノー
ド1-1のMD12-1,MF2-1から、中継ノード1-2の
MD12-2,MF2-2にそれぞれコピー転送が行われ
る。中継ノード1-2では、FIFO通信エリアMF2-2
をポーリングしてメッセージ到着を検出し、メッセージ
バッファMB12-2上のメッセージを参照して、そのヘ
ッダ部を書き替える。次に、メッセージに含まれている
受信オブジェクトIDを参照して、宛先受信ノードとア
ドレスを共有しているメッセージバッファMB23-2を
捕捉する。
【0010】そして、プロセッサ3-2がメッセージバッ
ファMB12-2からメッセージを読み出して、MB23
-2にコピーを行う。MB23-2へのコピーはメモリ書き
込み動作なので、この書き込みに同期して分散メモリカ
ップラ6-2が起動され、書き込みアドレスとデータが受
信ノードに送られる。受信ノード1-3では、受信したデ
ータをMB23-3にコピーする。制御データについて
も、ディスクリプタエリアMD12-2から読み出しで変
更を行い、MD23-2に書き込むと、分散メモリカップ
ラ6-2,6-3によって受信ノード1-3のMD23-3にコ
ピー転送が行われる。同様に、処理要求についても、中
継ノード1-2でMF3-2に書き込むと、分散メモリカッ
プラ6-2,6-3によって、受信ノード1-3のMF3-3に
コピー転送が行われる。受信ノード1-3ではMF3-3を
ポーリングしてメッセージ到着を検出し、MB23-3上
のメッセージを読み出して必要な処理を行う。
【0011】
【発明が解決しようとする課題】上記従来技術におけ
る、メッセージ中継ノードにおいては、メッセージのメ
モリアクセス単位(例えば、4バイトデータ)に対するメ
モリアクセス回数を考えると、以下の如き問題がある。
メッセージのうち、中継ノードで変更を受けない部分に
ついては、(1)前段ノードからの受信データのMB12
-2への書き込み、(2)コピーのためのMB12-2からの
読み出し、(3)MB23-2へのコピー書き込みにより、
1アクセス単位に付き3回のメモリアクセスを経て受信
ノードに転送される。一方、メッセージのうち、中継ノ
ードで変更を受ける部分については、(1)前段ノードか
らの受信データのMB12-2への書き込み、(2)変更の
ためのMB12-2からの読み出し、(3)変更後のMB1
2-2への書き込み、(4)コピーのためのMB12-2から
の読み出し、(5)MB23-2へのコピー書き込みによ
り、1アクセス単位に付き5回のメモリアクセスを経て
受信ノードに転送される。
【0012】このように、従来システムを中継ノードに
単純に適用した場合、1メッセージあたりのメモリアク
セス回数が多いので、中継ノードでの処理効率を低下さ
せる心配があった。本発明は上記事情に鑑みてなされた
もので、その目的とするところは、従来の技術における
上述の如き問題を解消し、中継ノード内で余計なコピー
を避け、中継ノードでのメモリアクセス回数を低減する
ことによってメッセージスループット(単位時間あたり
に処理可能なメッセージ数)を向上させることが可能な
データ中継システムを提供することにある。
【0013】
【課題を解決するための手段】本発明の上記目的は、下
記の如き構成により達成される。 (1)ネットワークによって相互接続された、互いにメモ
リ空間を共有する分散共有メモリとその制御手段を有す
る複数のノードから構成される分散処理システムにおい
て、前段ノードから受信したデータを次段ノードに送信
する中継ノードでは、前段ノードから受信したデータを
前段ノードとアドレスを共有する中継ノードのメモリブ
ロック1に一旦格納し、必要に応じてメモリブロック1
の内容を更新し、次段ノードとアドレスを共有する中継
ノードのメモリブロック2を捕捉する。次に、中継ノー
ドの分散メモリ制御手段が、メモリブロック1から読み
出したデータにメモリブロック2のアドレスを付与して
次段ノードに送信し、次段ノードの分散メモリ制御手段
はメモリブロック2とアドレスを共有するメモリブロッ
ク3に受信したデータを格納する如く構成する。
【0014】(2)ネットワークによって相互接続され
た、互いにメモリ空間を共有する分散共有メモリとその
制御手段を有する複数のノードから構成される分散処理
システムにおいて、前段ノードから受信したデータを前
段ノードとアドレスを共有する中継ノードのメモリブロ
ック1に一旦格納し、次段ノードとアドレスを共有する
中継ノードのメモリブロック2を捕捉する。次に、メモ
リブロック1からデータを読み出し、必要に応じて変更
を行ってメモリブロック2に書き込み、分散メモリ制御
手段はメモリブロック2のアドレスとメモリブロック2
への書き込みデータを次段ノードに転送し、次段ノード
の分散メモリ制御手段はメモリブロック2とアドレスを
共有するメモリブロック3に受信したデータを格納す
る。
【0015】
【発明の実施の形態】本発明に係る第1のデータ中継シ
ステムにおいては、最初に中継ノードのプロセッサがメ
ッセージバッファ1内のメッセージヘッダを書き替えた
後、分散メモリカップラによってメッセージバッファ1
から次段ノードのメッセージバッファ3へ直接、コピー
を行う。これによって中継ノードでの無駄なコピーを無
くし、メモリブロック1から次段ノードのメモリブロッ
ク3に効率的に転送を行うことができる。本発明に係る
第2のデータ中継システムにおいては、最初に中継ノー
ドの分散メモリカップラがメッセージバッファ1から次
段ノードのメッセージバッファ3へのコピーを行う。次
に、プロセッサがメッセージバッファ1からヘッダを読
み出すが、変更結果は送信メッセージバッファ2に書き
込む。この書き込みに同期して分散メモリカップラが次
段ノードのメッセージバッファ3にコピーを行う。従っ
て、メッセージバッファ3には、メッセージバッファ1
から変更前のメッセージがコピーされた後、ヘッダの変
更部分のみがメッセージバッファ3に上書きされて最終
的なメッセージがメッセージバッファ3に組み上げられ
る。これによって、やはり中継ノードでの無駄なコピー
を無くし、メモリブロック1から次段ノードのメモリブ
ロック3に効率的に転送を行うことができる。なお、中
継ノードが複数段続く場合にも、上記構成を各段に適用
していくことにより、効率的なメッセージ中継を実現す
ることができる。
【0016】以下、本発明の実施例を図面に基づいてよ
り詳細に説明する。図1は、本発明の一実施例に用いて
いる分散メモリカップラ6の内部構成を示したもので、
プロセッサ3からの分散共有メモリ5への書き込みに同
期して、コピー情報を作り出す自律モードと、転送アド
レスを与えられて DMA(DirectMemory Access)に
より分散共有メモリ5をアクセスしてコピー情報を作り
出すDMAモードの両方の機能を有する。分散メモリカ
ップラ6は特に指定がない場合は自律モードで動作す
る。自律モードの実行を司る部分として共有ページディ
レクトリ10があり、その各エントリは共有ページアド
レス部11とルーティング情報部12のペアで構成され
る。共有ページアドレス部11は、他ノードと共用され
ているアドレスのページを記憶する部分で、具体的には
MBページアドレス、ディスクリプタページアドレス、
FIFO通信エリアページアドレス等を記憶する。図3
において説明したMB,ディスクリプタ,FIFO通信
エリアは、それぞれ、宛先ノード毎に異なるページに割
り付けられている。一方、ルーティング情報部12は、
ATMセルのルーチング情報、具体的にはVPI(Virt
ual PathIdentifier),VCI(Virtual Channel I
dentifier)情報を 含んでいる。VPI,VCIはセル
の送り先を特定する2段階の識別子である。VPI,V
CIの値は、ノード間でコネクションを張った時点で決
まるので、その値を予めルーティング情報部12に記憶
させておく。
【0017】自律モードの場合、分散共有メモリ5への
書き込みが生ずると、プロセッサバス8上に送出された
書き込みアドレスと共有ページディレクトリ10内の各
共有ページアドレス部11との一斉比較が行われる。も
し、一致したアドレスがあれば、対応するルーティング
情報12を取り出し、ATMセルインタフェース部13
に送り出す。ATMセルインタフェース部13は、AT
M AAL タイプ5と呼ばれるATMセル形式にデータ
を編集してATMセルレジスタ14に送り出す制御回路
である。ATMセルレジスタ14は組み立てられたAT
Mセルを記憶するレジスタで、セルヘッダフィールド1
5と情報フィールド16に分けられる。ATMセルイン
タフェース部13はルーティング情報12を受けるとA
TMセルレジスタ14のセルヘッダ部15に埋め込む。
それと並行してプロセッサバス8上の書き込みアドレス
と書き込みデータをATMセルレジスタ14の情報フィ
ールド部16に入れる。ATMセルレジスタ14に1セ
ル分の情報がたまると、ATMセルを送信バッファ23
経由で ATM-WAN9に送り出す。24は受信バッフ
ァで、ATM-WAN9経由で 他ノードから転送されて
きたATMセルを一時蓄積する。25はメモリインタフ
ェース部で、受信バッファ24から受信したATMセル
をデコードして、共有分散メモリ5への書き込み要求で
あれば、セル内の書き込みアドレスと書き込みデータを
プロセッサバス8経由で分散共有メモリ5に送る。
【0018】分散共有メモリ5では、指定されたアドレ
スに書き込みを行うことで送信ノードの分散共有メモリ
から受信ノードの分散共有メモリにコピーが行われる。
ディスクリプタページアドレスに対して、送信ノードの
共有ページディレクトリ10には受信ノード宛のルーテ
ィング情報を登録し、受信ノードの共有ページディレク
トリ10には送信ノード宛のルーティング情報を登録し
ておくことによって、分散共有メモリのエリアに送信
側,受信側どちらから書き込んでも、互いに相手側の分
散共有メモリにコピーを行うことができる。ディスクリ
プタエリアは、このような双方向通信エリアとして使用
される。一方、MBエリアとFIFO通信エリアについ
ては送信ノードから受信ノードへの一方向通信エリアと
して使用される。
【0019】分散メモリカプラのもう一方の動作モード
であるDMAモードは、図1中のDMA制御レジスタ群
29とDMA制御部36によって制御される。DMAモ
ードによって、自ノードの分散共有メモリから他ノード
の分散共有メモリへのメモリ間コピー転送が高速に実現
される。DMA制御レジスタ群29には、オペレーティ
ングシステム(OS)によって、DMA制御情報の読み書
きが行われる。DMA制御レジスタ群29のうち、ソー
スアドレスレジスタ(SAR)30は、自ノードの分散共
有メモリ内のコピー元データが配置されているアドレス
を記憶するレジスタである。デスティネーションアドレ
スレジスタ(DAR)31は、転送先ノードの分散共有メ
モリのコピー先アドレスを記憶するレジスタである。転
送先ノードの指定のために、転送先ノードへのルーティ
ング情報(VPI,VCI情報)がルーティング情報レジ
スタ(RIR)33に記憶される。バイトカウントレジス
タ(BCR)32は、DMAモードで転送を行う時の転送
量を記憶するレジスタである。DMAコマンドレジスタ
(DCR)34は、DMAモードによる転送開始の指示
等、各種DMA制御コマンドを記憶するレジスタであ
る。DMAステータスレジスタ(DSR)35は、DMA
転送後の状態や転送中のエラー状態を表示するレジスタ
である。
【0020】分散メモリカップラ6にDMA動作を行わ
せる場合、転送元ノードのOSがSAR30,DAR3
1,BCR32,RIR33,DCR34に必要な制御
情報を書き込む。その結果、DMA制御部36は、SA
R30で示されるアドレスを基に、自ノードの分散共有
メモリ5からデータを読み出し、DAR31にあるコピ
ー先アドレスを付加して、ATMインタフェース部13
に送り込む。ATMインタフェース部13は、それらを
ATMセルレジスタ14の情報フィールド部16に格納
する。次に、ATMインタフェース部13は、BCR3
2に示されるバイトカウントの値をデクリメントし、0
でなければ、転送データが残っているので、SAR30
のコピー元アドレスとDAR31のコピー先アドレスを
それぞれインクリメントし、その結果をSAR30,D
AR31にそれぞれ格納する。その後、自ノードの分散
共有メモリ5からSAR30で示されるデータを読み出
し、ATMインタフェース部13経由でATMセルレジ
スタ14に格納する。
【0021】このような操作を繰り返して、1ATMセ
ルに相当するデータ量がたまると、ATMインタフェー
ス部13は、RIR33からルーティング情報を取り出
し、ATMセルレジスタ14のセルヘッダ部15に埋め
込み、ATMセルを送信バッファ23経由でATM-W
AN9に送り出す。受信側の分散メモリカップラ6で
は、自律モードの場合と同様に、ATMセルを受信する
と、その情報フィールド16で指定された分散共有メモ
リのアドレスにデータを書き込むことでコピーが行われ
る。転送元ノードの分散メモリカップラのDMA動作
は、BCR32のバイトカウント値が0になった時点で
終了する。DMA制御部36は、転送結果の状態あるい
は転送途中のエラー状態をDSR35に書き込み、プロ
セッサ3に割り込みで通知する。このように、DMAモ
ードによって自ノードの分散共有メモリから他ノードの
分散共有メモリへのメモリ間コピーが容易に実現でき
る。
【0022】図4は、本発明の実施例で使用する各種デ
ータの構造とそれらの参照関係を示したものである。ま
ず、送信オブジェクトや受信オブジェクトのような個々
のアプリケーションプログラムに一意に与えられるオブ
ジェクトID70は、そのオブジェクトが存在するノー
ドのID(ノード_ID)71,ノード内のPM_ID7
2,PM内のローカルID73の各フィールドより構成
され、分散処理システム全体の中で一意に識別できるよ
うに構成されている。次に、FIFO通信エリアに記憶
される処理要求76は、図4に示すように、その処理要
求の送信元であるノードの送信ノード_ID75,その
ノードの送信PM_ID76、ディスクリプタへのポイ
ンタ77から構成されている。また、ディスクリプタ8
0は、対応するMBの先頭アドレスMBAを記憶するM
Bポインタフィールド81,ディスクリプタに対応する
メッセージバッファの空塞状態を表示するMB状態フィ
ールド82,メッセージの受信側から送信側への、メッ
セージを正しく受信したかどうか、あるいは、誤りが生
じた場合の誤りの内容を表示する受信状態フィールド8
3から構成される。
【0023】メッセージバッファ(MB)90は、受信オ
ブジェクト宛のメッセージを、リスト構造で接続するた
めのポインタNEXTMP91,このメッセージの送信
元である送信オブジェクトのIDであるSIDフィール
ド92,このメッセージの宛先である受信オブジェクト
のIDであるRIDフィールド93,メッセージ本体
(BODY(96))のサイズを表わすSIZEフィールド
94,メッセージの付属属性を表示したATRフィール
ド95,メッセージの中味を示すBODYフィールド9
6から構成される。BODYフィールド96以外の部分
は、ヘッダ97と呼ばれる。受信ノードでは、FIFO
通信エリアを定期的に読み出すことにより、処理要求7
4をポーリングする。処理要求74を検出すると、ディ
スクリプタポインタ77を参照して、ディスクリプタ8
0を読み出し、受信したメッセージの制御情報を得る。
【0024】図5は、ATM-WAN9を通過するAA
L タイプ5のATMセル100のフォーマットの詳細
を示したものである。図5中、101は5バイトのAT
Mヘッダ、102はATMネットワークにルーチング情
報の一部であるVPIフィールドで、各バーチャルパス
(VP)を識別するために使用する。103はATMネッ
トワークにルーチング情報の一部であるVCIフィール
ドで、各バーチャルチャネル(VC)を識別するために使
用する。104はペイロードタイプ(PT)フィールド
で、AAL5のATMセルの場合は、ユーザデータの最
終セルかどうかを識別するために使用する。105はH
EC(ヘッダ誤り制御)フィールドで、ヘッダ部分の誤り
検出とセル同期に用いられる。106は情報フィールド
で、ユーザデータ部107と、CPCSトレイラ部10
8に分けられる。ユーザデータ部107は、データタイ
プ109-1とデータエントリ109-2から構成される。
データタイプ109-1がDMAモード120を表示して
いる場合、データエントリ部109-2の構造は、データ
の先頭メモリアドレス121と、連続アドレスに配置さ
れた複数のデータ(122-1,122-2,・・・・,122-
m)から構成される。
【0025】また、データタイプ109-1が自律モード
130を表示している場合は、データエントリ部109
-2の構造は、複数の(メモリアドレス,データ)のペア、
すなわち、131-1,131-2,132-1,132-2,
・・・・,133-2から構成される。150はセル内の有効
情報長を示すLIフィールドである。151はセルの誤
り検出を行うCRCフィールドである。なお、DMAモ
ードでは転送するメモリブロック全体を複数のATMセ
ルに分解して転送するが、個々のATMセルにはCPC
Sトレイラは付加されずに、最終ATMセル(PT10
4で表示)にのみ含まれる。一方、自律モードの場合に
は各ATMセル毎にCPCSトレイラが付加される。
【0026】以下、本発明に係るデータ中継システムの
第1の動作例を、図6,図7のタイミングチャートを用
いて説明する。図6,図7は、送信ノード1-1から中継
ノード1-2を経由して受信ノード1-3にメッセージを転
送する場合を示している。 本発明の第1の動作例 『送信ノード1-1での処理』図6のステップS210で
は、送信ノード1-1のOSがステップS210のAPL
オブジェクト起動処理で、送信オブジェクトの実行を開
始させる。ステップS211では、送信オブジェクトが
メッセージ送信のためにメッセージバッファの捕捉をO
Sに要求し、OSはメッセージヘッダ内の受信オブジェ
クトID(図4中のRID93)を参照し、中継ノード1
-2へメッセージをルーチングすべきものと判断する。そ
して中継ノード1-2宛のメッセージバッファMB12-1
を捕捉し、送信オブジェクトにMB12-1のアドレスを
通知する。
【0027】ステップS212では、送信オブジェクト
がメッセージをMB12-1にタイミングt221で4バ
イトづつ書き込みを行う。この書き込みを、図1の送信
側分散メモリカップラ6-1が検出して、図5に示す構造
の自律モード用のATMセルにまとめ、ATM-WAN
9経由で中継ノード1-2に転送する。中継ノード1-2で
は、分散メモリカップラ6-2が、ATMセルを分解し
て、自ノードの指定された分散共有メモリ5-2のロケー
ション、すなわち、図3のMB12-2に書き込みを行
う。このようにして、MB12-1からMB12-2へのメ
ッセージコピーが行われる。送信オブジェクトによるメ
ッセージ書き込みがすべて終了すると、ステップS21
3で、OSがディスクリプタMD12-1にタイミングt
212でメッセージ制御情報を書き込む。
【0028】制御情報として、図4に示すようにMBポ
インタフィールド81にMB12-1のアドレスを、MB
状態フィールド(83)に、MB12-1が『捕捉状態』
にあることを示すデータを書き込む。更に、図4のフォ
ーマットの処理要求74を中継ノード1-2宛の受信処理
FIFO(MF2-1)に書き込む。その結果、分散メモリ
カップラ6-1でMD12-1とMF2-1への書き込みアド
レスとデータが、図5の自律モード用ATMセルに組み
立てられてATM-WAN9経由で中継ノード1-2に転
送され、中継ノード1-2の分散共用メモリ5-2のMD1
2-2,MF2-2にそれぞれコピーされる。最後に、ステ
ップS214でOSは送信オブジェクトの実行を終了す
る。
【0029】『中継ノード1-2での処理』中継ノード1
-2のOSは、ステップS220の中継受信処理で他ノー
ドからの処理要求が書き込まれているFIFO通信エリ
アMF2-2を定期的に読み出し、タイミングt220
で、送信ノード1-1からの処理要求(図4中の74)を検
出する。そして、図4に示すポインタアドレスに従っ
て、分散共有メモリ5-2上のディスクリプタMD12-
2,メッセージバッファMB12-2を順にアクセスし、
MB12-2内の受信オブジェクトのID(図4中のRI
D95)を入手する。RID95は、図4のオブジェク
トID70の構造を持っており、本実施例では中継ノー
ド1-2内のオブジェクトのIDではなく、他ノード1-3
のオブジェクトのIDを表示しているので、ここでは単
に中継すべきものと判定する。そこで、OSはステップ
S221の中継送信処理1を開始し、受信ノード1-3宛
のメッセージバッファMB23-2を捕捉する。MB23
-2の捕捉は、コピー先である受信ノード1-3のMB23
-3の捕捉をも意味する。
【0030】次に、OSはMB12-2からヘッダ内(図
4中の97)の、例えば、ATRフィールド95を読み
出し、その内容を書き替える。その際、分散メモリカッ
プラ6-2の共有ページディレクトリ10には、MB12
-2のアドレスは登録されていないので、MB12-2に書
き込みを行っても他ノード(1-2)にコピーアドレスとデ
ータが送られることはない。次に、タイミングt221
では、分散メモリカップラ6-2をDMA起動する。具体
的には、分散メモリカップラ6-2のSAR30-2に、コ
ピー元であるMB12-2のアドレスを、DAR31-2に
はコピー先であるMB23-3のアドレス(MB23-2の
アドレスと同じ)を、BCR32-3にはMB12-2のメ
ッセージサイズを、RIR33-2には受信ノード1-3と
の間のATMルーティング情報(VCI,VPI)を、D
CR34にはDMA動作指示コマンドを書き込んでDM
Aモードを起動する。これによって分散メモリカップラ
6-2はタイミングt222で、中継ノード1-2のMB1
2-2から受信ノード1-3のMB23-3へ直接、転送を行
う。
【0031】タイミングt223でDMA転送が終了す
ると、送信ノード1-1とアドレスを共有するディスクリ
プタMD12-2を読み出し、必要な部分を変更して受信
ノード1-2とアドレスを共有するMD23-2に、タイミ
ングt225で書き込みを行う。その結果、分散メモリ
カップラ6-2の自律モードによって中継ノード1-2のM
D23-2から受信ノード1-3のMD23-3にディスクリ
プタが転送される。タイミングt225の最後で受信ノ
ード1-3宛のFIFO通信エリアMF3-2に処理要求を
書き込むと分散メモリカップラ6-2の自律モードによっ
て受信ノード1-3のFIFO通信エリアMF3-3に転送
が行われ、メッセージ到着が受信ノード1-3に通知され
る。
【0032】『受信ノード1-3での処理』受信ノード1
-3のOSは、ステップS230の受信起動処理で、他ノ
ードからの処理要求が書き込まれているFIFO通信エ
リアMF3-3を定期的に読み出して、タイミングt23
0で、中継ノード1-2からの処理要求(図4中の74)を
検出する。そして、図4に示すポインタアドレスに従っ
て、分散共有メモリ5-3上のディスクリプタMD23-
3,メッセージバッファMB23-3を順にアクセスし
て、MB23-3内の受信オブジェクトのID(図4中の
RID95)を入手する。RID95は、受信ノード1-
3内のオブジェクトを示しているので、ステップS23
1のAPLオブジェクト起動処理でRID95に対応す
る受信オブジェクトを起動する。ステップS232の受
信処理で、受信オブジェクトはメッセージ受信の準備を
OSに依頼し、OSは、MD23-3が指定するメッセー
ジバッファMB23-3のアドレスを受信オブジェクトに
伝える。受信オブジェクトはステップS233でMB2
3-3からタイミングt231でメッセージを読み出し、
対応する処理を行う。
【0033】受信オブジェクトは、ステップS233
で、MB23-3からタイミングt231でメッセージを
読み出し、対応する処理を行う。受信オブジェクトによ
るメッセージ処理が終了すると、OSはステップS22
4でMB23-3の解放の準備を行う。具体的には、タイ
ミングt232でMB23-3に対応するディスクリプタ
MD23-3のMB状態フィールド(図4中の82)を『M
B解放状態』に書き替える。また、正常受信したかどう
かの受信結果を、ディスクリプタMD23-3の受信状態
フィールド(図4中の83)に書き込む。タイミングt2
32の最後で、中継ノード1-2宛のFIFO通信エリア
MF2-3に処理要求を書き込むと、分散メモリカップラ
6-3の自律モードによって、それぞれ、中継ノード1-2
のMD23-2の対応フィールドおよびMF2-2に逆方向
コピーされる。最後に、ステップS235でOSは受信
オブジェクトの実行を終了する。
【0034】『中継ノード1-2での処理』中継ノード1
-2のOSは、ステップS224の中継送信後処理で、他
ノードからの処理要求が書き込まれているFIFO通信
エリアMF2-2を定期的に読み出して、タイミングt2
33で中継ノード1-2からの処理要求(図4中の74)を
検出する。更に、ディスクリプタMD23-2の内容をチ
ェックし、受信ノード1-3で正常に受信されていること
を確認する。なお、MD23-2内のMB状態フィールド
82が『解放状態』を指定しているので、以後、対応す
るMB23-2は、次のメッセージ通信用に再使用するこ
とができる。次に、送信ノード1-1とアドレスを共有す
るMB12-1を解放するために、タイミングt234で
は、ディスクリプタMD12-2のMB状態フィールド8
2を『解放状態』に書き替える。また、受信ノードの状
態を送信ノードに通知するために、ディスクリプタMD
23-2の受信状態フィールド83の値を、ディスクリプ
タMD12-2の受信状態フィールド82にコピーして、
中継ノード1-2でのディスクリプタを作成する。最後
に、送信ノード1-1宛のFIFO通信エリアMF1-2に
処理要求を書き込む。その結果、分散メモリカップラ6
-2の自律モードによって、それぞれ、送信ノード1-1の
MD12-1の対応するフィールドおよびMF1-1に逆方
向コピーが行われる。
【0035】『送信ノード1-1での処理』送信ノード1
-1のOSは、ステップS215の送信後処理で、受信ノ
ード1-3からの処理要求をタイミングt235で検出し
て、ディスクリプタMD12-1の内容をチェックし、受
信ノード1-3で正常に受信されていることを確認する。
なお、前述の処理により、MD12-1内のMB状態フィ
ールド82が『解放状態』を指定しているので、以後、
対応するMB12-1は、次のメッセージ通信用に再使用
することができる。以上により、送信ノード1-1から中
継ノード1-2を経由した受信ノード1-3への一連のメッ
セージ通信処理を完了する。
【0036】以下、本発明に係るデータ中継システムの
第2の動作例を、図8,図9のタイミングチャートを用
いて説明する。図8および図9に示す本発明の第2の動
作例と、図6,図7に示した実施例との相違点は、図
6,図7のステップS221で中継ノード1-2がメッセ
ージ変更内容をMB12-2に書き込んでいるのに対し、
図8,図9ではステップS322でMB23-2に書き込
んでいる点である。 本発明の第2の動作例 図8,図9において中継ノード1-2のOSは、ステップ
S321の中継送信処理1において、まず、受信ノード
1-3宛のメッセージバッファMB23-2を捕捉する。M
B23-2の捕捉はコピー先である受信ノード1-3のMB
23-3の捕捉をも意味する。次に、タイミングt321
では、分散メモリカップラ6-2をDMA起動する。具体
的には、分散メモリカップラ6-2のSAR30-2にコピ
ー元であるMB12-2のアドレスを、DAR31-2には
コピー先であるMB23-3のアドレスを、BCR32-3
にはMB12-2のメッセージサイズを、RIR33-2に
は受信ノード1-3との間のATMルーティング情報(V
CI,VPI)を、DCR34にはDMA動作指示コマ
ンドを書き込んで、DMAモードを起動する。
【0037】これによって分散メモリカップラ6-2はタ
イミングt322で中継ノード1-2のMB12-2から受
信ノード1-3のMB23-3への転送を実行する。ステッ
プS322の中継送信処理2でOSがタイミングt32
3でDMA転送終了を検出すると、メッセージヘッダ内
の必要な部分の書き替え処理を行う。具体的には、送信
ノード1-1とアドレスを共有するMB12-2からヘッダ
内(図4中の97)の、例えば、ATRフィールド95を
読み出し、その内容を変更して、今度は受信ノード1-3
とアドレスを共有するMB23-2のヘッダ内97のAT
Rフィールド95に、タイミングt324で書き込みを
行う。その結果、分散メモリカップラ6-2の自律モード
によって中継ノード1-2のMB23-2のATRフィール
ドから、受信ノード1-3のMB23-3のATRフィール
ドにコピーが行われる。その際、MB23-3には、タイ
ミングt322で既に変更前のメッセージが書き込まれ
ているので、タイミングt324の書き込みによってM
B23-3に変更内容が上書きされ、結果的に中継ノード
で最新状態のメッセージがMB23-3に組み立てられ
る。
【0038】それ以降の処理は、図6および図7に示し
たものと同じであり、図6,図7と図8,図9はステッ
プ数の番号(s-**)およびタイミング番号(t-**)がそれ
ぞれ100番違いになるように記載されているので、詳
細な説明は省略する。上記実施例では、中継ノードが一
段の場合を説明したが、送信ノードと受信ノード間に複
数段の中継ノードが介在する場合は、上述の中継ノード
における実施例1または実施例2の処理を繰り返すこと
により、効率的なメッセージ転送が実現できることは明
らかである。なお、上記実施例は本発明の一例を示した
ものであり、本発明はこれに限定されるべきものではな
いことは言うまでもないことである。
【0039】
【発明の効果】以上、詳細に説明した如く、本発明によ
れば、中継ノード内で余計なコピーを避け、中継ノード
でのメモリアクセス回数を低減することによってメッセ
ージスループット(単位時間あたりに処理可能なメッセ
ージ数)を向上させることが可能なデータ中継システム
を実現できるという顕著な効果を奏するものである。
【0040】より具体的に述べれば、本発明の第一の利
点は、中継ノード1-2におけるメモリバストラヒックの
低減である。中継ノードで処理されるメッセージのう
ち、中継ノードで変更を受けない部分について、従来方
式では1メモリアクセス単位に付き3回のアクセスが必
要であったが、本発明に係る第1のデータ中継システム
によれば、(1)前段ノードからの受信データのMB12
-2への書き込み、(2)次段ノードへの転送ためのMB1
2-2からの読み出しで、2回のメモリアクセスで次段ノ
ードに転送される。一方、メッセージのうち、中継ノー
ドで変更を受ける部分について、従来方式では1メモリ
アクセス単位に付き5回のアクセスが必要であったが、
本発明に係る第1のデータ中継システムによれば、(1)
前段ノードからの受信データのMB12-2への書き込
み、(2)変更のためのMB12-2の読み出し、(3)変更
後のMB12-2への書き込み、(4)次段ノードへの転送
ためのMB12-2の読み出しにより、1アクセス単位に
付き4回のメモリアクセスに低減される。
【0041】また、本発明に係る第2のデータ中継シス
テムによれば、中継ノードで処理されるメッセージのう
ち、中継ノードで変更を受けない部分について、(1)前
段ノードからの受信データのMB12-2への書き込み、
(2)次段ノードへの転送ためのMB12-2からの読み出
しで、2回のメモリアクセスで次段ノードに転送され
る。一方、メッセージのうち、中継ノードで変更を受け
る部分については、(1)前段ノードからの受信データの
MB12-2への書き込み、(2)次段ノードへの転送ため
のMB12-2の読み出し、(3)変更のためのMB12-2
読み出し、(4)変更後のMB23-2への書き込みによ
り、1アクセス単位に付き4回のメモリアクセスに低減
される。このように、本発明によりメモリアクセストラ
ヒックを低減し、中継ノードにおけるメッセージスルー
プットを向上させることができる。また、中継ノードで
は、DMAモードを用いて異アドレス間メモリコピーを
行うので、プロセッサがメモリ読み出し,書き込みを繰
り返す従来方式に比較して、プロセッサの負荷の軽減を
図ることができる他、DMAで連続アドレスロケーショ
ンに対してバースト転送を行うので、シングルビート転
送に比較して更に高速の転送を実現することができる。
【図面の簡単な説明】
【図1】本発明の一実施例に係る分散処理システムの分
散メモリカップラの内部構成を示す図である。
【図2】本発明の適用対象である分散処理システムの全
体構成を示す図である。
【図3】分散共有メモリのデータ配置例を示す図であ
る。
【図4】実施例に係る各種データのフォーマット例を示
す図である。
【図5】実施例に係るATMセルのフォーマット例を示
す図である。
【図6】本発明の第1の実施例におけるメッセージ中継
通信のタイムチャート(その1)である。
【図7】本発明の第1の実施例におけるメッセージ中継
通信のタイムチャート(その2)である。
【図8】本発明の第2の実施例におけるメッセージ中継
通信のタイムチャート(その1)である。
【図9】本発明の第2の実施例におけるメッセージ中継
通信のタイムチャート(その2)である。
【符号の説明】
1 通信ノード 2 プロセッサモジュール 3 プロセッサ 4 ローカルメモリ 5 分散共有メモリ 6 分散メモリカップラ 7 分散メモリプロテクタ 8 プロセッサバス 9 ATM-WAN 10 共有ページディレクトリ 13 ATMインタフェース部 14 ATMセルレジスタ 23 送信バッファ 24 受信バッファ 25 メモリインタフェース部 29 DMA制御レジスタ群 36 DMA制御部

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ネットワークによって相互接続された、
    互いにメモリ空間を共有する分散共有メモリとその制御
    手段を有する複数のノードから構成される分散処理シス
    テムにおいて、前段ノードから受信したデータを次段ノ
    ードに送信する中継ノードでは、前記前段ノードから受
    信したデータを、前段ノードとアドレスを共有する中継
    ノードのメモリブロック1に一旦格納し、必要に応じて
    前記メモリブロック1の内容を更新し、次段ノードとア
    ドレスを共有する中継ノードのメモリブロック2を捕捉
    し、中継ノードの分散メモリ制御手段が、メモリブロッ
    ク1から読み出したデータに前記メモリブロック2のア
    ドレスを付与して次段ノードに送信し、次段ノードの分
    散メモリ制御手段は、受信したデータを、前記メモリブ
    ロック2とアドレスを共有するメモリブロック3に格納
    することにより、中継ノードのメモリブロック1から次
    段ノードのメモリブロック3にデータ転送を行うことを
    特徴とするデータ中継システム。
  2. 【請求項2】 ネットワークによって相互接続された、
    互いにメモリ空間を共有する分散共有メモリとその制御
    手段を有する複数のノードから構成される分散処理シス
    テムにおいて、前段ノードから受信したデータを次段ノ
    ードに送信する中継ノードでは、前記前段ノードから受
    信したデータを、前段ノードとアドレスを共有する中継
    ノードのメモリブロック1に一旦格納し、次段ノードと
    アドレスを共有する中継ノードのメモリブロック2を捕
    捉し、前記メモリブロック1からデータを読み出し、必
    要に応じて変更を行って前記メモリブロック2に書き込
    み、分散メモリ制御手段が、メモリブロック2のアドレ
    スとメモリブロック2への書き込みデータを次段ノード
    に転送し、次段ノードの分散メモリ制御手段は、受信し
    たデータを、メモリブロック2とアドレスを共有するメ
    モリブロック3に格納することにより、中継ノードのメ
    モリブロック1から次段ノードのメモリブロック3にデ
    ータ転送を行うことを特徴とするデータ中継システム。
JP8022382A 1996-02-08 1996-02-08 データ中継システム Pending JPH09218864A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8022382A JPH09218864A (ja) 1996-02-08 1996-02-08 データ中継システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8022382A JPH09218864A (ja) 1996-02-08 1996-02-08 データ中継システム

Publications (1)

Publication Number Publication Date
JPH09218864A true JPH09218864A (ja) 1997-08-19

Family

ID=12081111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8022382A Pending JPH09218864A (ja) 1996-02-08 1996-02-08 データ中継システム

Country Status (1)

Country Link
JP (1) JPH09218864A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002351850A (ja) * 2001-03-22 2002-12-06 Sony Computer Entertainment Inc プロセッサでのデータ処理方法及びデータ処理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002351850A (ja) * 2001-03-22 2002-12-06 Sony Computer Entertainment Inc プロセッサでのデータ処理方法及びデータ処理システム

Similar Documents

Publication Publication Date Title
US5752078A (en) System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory
JP3165022B2 (ja) コンピュータ・システム及びメッセージ転送方法
EP0885418B1 (en) Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure
US5884040A (en) Per-packet jamming in a multi-port bridge for a local area network
CA2170458C (en) Multi-cluster computer system
KR980013147A (ko) 패킷 상호 연결망에서의 메시지 송신 장치 및 메시지 송신 제어방법
KR970029126A (ko) 멀티프로세서 시스템
JP2001511559A (ja) マルチポート内部キャッシュdram
JPH1098524A (ja) 分散型ネットワーク
US5793994A (en) Synchronous event posting by a high throughput bus
USRE39026E1 (en) Bus protocol
JPH09218864A (ja) データ中継システム
US6421745B1 (en) Asynchronous connections with scattering page tables for transmitting data from a producer device to a consumer device over an IEEE 1394 serial data bus
JP3189269B2 (ja) ネットワークプリンタ
US6434592B1 (en) Method for accessing a network using programmed I/O in a paged, multi-tasking computer
KR0154489B1 (ko) 비동기 전송모드방식의 스위칭시스템에 있어서 프로세서간 통신 메세지 송수신처리장치 및 방법
JP3186707B2 (ja) Atm通信制御装置
JPH07111507A (ja) データ受信方式及び通信制御装置
JPH09162873A (ja) 誤り検出方法および装置
JP2584841B2 (ja) パケット交換制御装置
KR20010095103A (ko) 데이터 블록 전송 방법 및 장치
JPH08339354A (ja) ネットワーク分散処理システム
JPH07319823A (ja) プロセッサ間通信方式
JP2853607B2 (ja) ジョブ間通信システム
JPH05244167A (ja) 情報追加挿入装置