JPH06309281A - プロセッサ間通信方式 - Google Patents

プロセッサ間通信方式

Info

Publication number
JPH06309281A
JPH06309281A JP5091760A JP9176093A JPH06309281A JP H06309281 A JPH06309281 A JP H06309281A JP 5091760 A JP5091760 A JP 5091760A JP 9176093 A JP9176093 A JP 9176093A JP H06309281 A JPH06309281 A JP H06309281A
Authority
JP
Japan
Prior art keywords
processor
buffer
data
processors
communication partner
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP5091760A
Other languages
English (en)
Other versions
JP3033646B2 (ja
Inventor
Takeshi Kano
健 加納
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP5091760A priority Critical patent/JP3033646B2/ja
Publication of JPH06309281A publication Critical patent/JPH06309281A/ja
Application granted granted Critical
Publication of JP3033646B2 publication Critical patent/JP3033646B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】各プロセッサに各通信相手プロセッサに対応す
る送信バッフアおよび受信バッフアを用意してブロック
転送を行なうことにより、プロセッサ間通信回数を大幅
に減少でき並列処理効果を向上できるプロセッサ間通信
方式の提供。 【構成】複数のプロセッサは相手プロセッサへの送信情
報を一時格納する送信バッフアを相手プロセッサ毎に用
意しまた受信情報を一時格納する受信バッフアを相手プ
ロセッサ毎に用意するステップ11と、所定の演算を行
なって送信するデータと書き込みアドレスとを組にして
対応する送信バッフアに書き込み蓄積するステップ14
と、演算終了後送信バッフアの情報を対応するプロセッ
サにブロック転送を行なうステップ16と、転送されて
きた情報を受信バッフアに書き込むステップ17と、受
信バッフアのデータを組として送られてきた書き込みア
ドレスに対応するメモリのアドレスに書き込むステップ
19とを備えている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はプロセッサ間通信方式に
関し、特に複数のプロセッサから構成される並列計算機
のプロセッサ間通信方式に関する。
【0002】
【従来の技術】それぞれがメモリを有する複数のプロセ
ッサと、これらプロセッサ間でのデータの転送を行なっ
たり同期を取りあったりするネットワークとから構成さ
れる並列計算機システムは、機能分散、負荷分散による
処理の高速化、信頼性の向上を目的として、マイクロプ
ロセッサの高性能化、メモリの高集積化に伴ない、多用
されるようになってきている。
【0003】このような、所謂疎結合マルチプロセッサ
システムにおけるプロセッサ間通信は、メッセージ通信
の形で行なわれパケット通信方式などが用いられてい
る。
【0004】そしてこのプロセッサ間通信方式、すなわ
ち、例えばプロセッサPi から他のプロセッサPj への
データの転送は、従来は、プロセッサPi の有するメモ
リで連続するアドレスを有する複数語をプロセッサPj
の有するメモリの連続するアドレスへ転送する場合につ
いては、1回のプロセッサ間通信の起動により、ブロッ
ク転送して行なわれていた。
【0005】しかしながら、それ以外の場合、例えば、
プロセッサPi の有するメモリでそれぞれ連続しないア
ドレスを有する複数語の転送、または、プロセッサPj
のメモリのそれぞれ連続しないアドレスに複数語を転送
する場合については、1語ずつ1つのプロセッサ間通信
とし、プロセッサ間通信を複数回起動することにより、
行なわれている。
【0006】
【発明が解決しようとする課題】プロセッサ間通信が1
回生ずることにより、送信側での通信パケットの作成オ
ーバヘッドおよび受信側での割り込みによるオーバヘッ
ド等がそれに伴ない必らず発生する。
【0007】従って、上述の従来のプロセッサ間通信方
式では、それぞれ連続しないアドレスに関する複数語に
ついての転送に際しては、上記のオーバヘッドが転送語
の数に関係した回数だけ発生することとなり、オーバヘ
ッドの増大を招来し、十分な並列処理効果が得られない
という問題点がある。
【0008】本発明の目的は、各プロセッサに各通信相
手プロセッサに対応する送信バッフアおよび受信バッフ
アを用意してブロック転送を行なうことにより、プロセ
ッサ間通信回数を大幅に減少でき並列処理効果を向上で
きるプロセッサ間通信方式を提供することにある。
【0009】
【課題を解決するための手段】第1の発明のプロセッサ
間通信方式は、各々メモリを有する複数のプロセッサか
ら構成される並列計算機のプロセッサ間通信方式におい
て、前記複数のプロセッサはそれぞれ他の通信相手プロ
セッサへ送信する情報を一時格納する送信バッフアを前
記他の通信相手プロセッサ毎に用意しまた前記他の通信
相手プロセッサから受信する情報を一時格納する受信バ
ッフアを前記他の通信相手プロセッサ毎に用意するバッ
フア準備ステップと、前記複数のプロセッサはそれぞれ
所定の演算を行なって前記他の通信相手プロセッサへ送
信するデータとこのデータの前記他の通信相手プロセッ
サにおける書き込みアドレスとを組にして対応する送信
バッフアに書き込み蓄積する送信バッフア書き込みステ
ップと、前記複数のプロセッサはそれぞれ前記所定の演
算終了後前記送信バッフアに書き込み蓄積された情報を
対応する前記他の通信相手プロセッサにブロック転送を
行なうブロック転送ステップと、前記複数のプロセッサ
はそれぞれ前記他の通信相手プロセッサから転送されて
きた情報を前記他の通信相手プロセッサに対応する前記
受信バッフアに書き込む受信バッフア書き込みステップ
と、前記複数のプロセッサは前記受信バッフアのデータ
をこれと組として送られてきた書き込みアドレスに対応
する自プロセッサの前記メモリのアドレスに書き込むメ
モリ書き込みステップとを備えて構成されている。
【0010】また、第2の発明のプロセッサ間通信方式
は、第1の発明のプロセッサ間通信方式において、バッ
フア準備ステップでは、各プロセッサ間で通信するデー
タ量が既知の場合にはこの量に対応する送信バッフアお
よび受信バッフアを用意し、既知でない場合には先ずプ
ロセッサ間の1度のブロック転送に対応するデータ量の
送信バッフアおよび受信バッフアを用意し、その後これ
らのバッフアが満杯になる毎に前記1度のブロック転送
に対応するデータ量に相当する領域を動的に確保しこれ
らをリンクで繋いでいく準備することにより構成されて
いる。
【0011】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
【0012】図1は本発明のプロセッサ間通信方式の一
実施例を示す流れ図である。
【0013】図2には本実施例のプロセッサ間通信方式
を行なう並列計算機システムの例が図示してある。この
並列計算機システムは、3台のプロセッサPi 、Pj お
よびPk から構成されており、これらは、ネットワーク
で結合されている。図においては、ネットワークは各プ
ロセッサを線で結ぶことにより略示されている。
【0014】各プロセッサは同一構成で自プロセッサの
処理に必要なデータを格納するメモリと、処理の結果、
他プロセッサに送信すべきデータを送信先プロセッサ毎
に一時格納する送信バッフアと、他プロセッサでの処理
の結果、他プロセッサから受信した自己の処理に必要と
されるデータを送信元プロセッサ毎に一時格納する受信
バッフアとを備えている。
【0015】プロセッサPi を例にとって説明すれば、
プロセッサPi は自プロセッサの処理に必要なデータを
格納するメモリMi と、処理の結果、プロセッサPi か
らプロセッサPj に送信すべきデータを一時格納する送
信バッフアSij(サフイックスijはプロセッサPi が送
信しプロセッサPj が受信することを示す、以下同じ)
と、プロセッサPi からプロセッサPk に送信すべきデ
ータを一時格納する送信バッフアSikと、プロセッサP
j から受信した自己の処理に必要とされるデータを一時
格納する受信バッフアRjiと、プロセッサPk から受信
した自己の処理に必要とされるデータを一時格納する受
信バッフアRkiとを備えている。
【0016】図3から図5にはプロセッサ間通信方式を
実行するにつれてプロセッサ間で授受されるデータがど
のように転送されていくかを模式的に図示してある。
【0017】図1から図5を参照して本実施例の動作に
ついて説明する。
【0018】先ず、各プロセッサでは、他の通信相手プ
ロセッサのメモリに書き込むデータを一時格納する送信
バッフアおよび他プロセッサから受信したデータを一時
格納する受信バッフアを通信相手プロセッサ毎に確保す
る(ステップ11)。これは各プロセッサ内の主記憶に
設けてもよいし、また別メモリとして設置してもよい。
【0019】確保に当っては、予め各プロセッサから他
のプロセッサへの転送語数が既知の場合には、それに相
当するバッフアを確保し、未知、すなわち、処理しなけ
れば転送語数が解らない場合には、当初、ブロック転送
の1回分のバッフアをそれぞれ確保し以後これが満杯に
なる毎にブロック転送の1回分ずつ領域を動的に確保し
これらをリンクでつないでいく用意を行なう。
【0020】図2には、プロセッサPi には送信バッフ
アSijとSik、受信バッフアRjiとRkiが確保され、プ
ロセッサPj には送信バッフアSjiとSjk、受信バッフ
アRijとRkjが確保され、プロセッサPk には送信バッ
フアSkiとSkj、受信バッフアRikとRjkが確保されて
いる状態が図示されている。
【0021】次に各プロセッサは所定の演算Aを行なう
(ステップ12)。プロセッサPiについていえば演算
Aに必要なデータは自己所有のメモリMi に格納されて
いるので、これにより所定の演算Aを行ない、演算結果
等で自プロセッサのメモリMi への書き込みが生じたと
きにはメモリMi に書き込み(ステップ13)、他のプ
ロセッサ、例えばプロセッサPj のメモリMj への書き
込みが生じたときには、書き込むべきデータとそれを格
納すべきメモリMj 上のアドレスとを組にしてプロセッ
サPi にあるプロセッサPj への送信データを一時格納
する送信バッフアSijに書き込む(ステップ14)。こ
のようにして演算が終了するまでに他のプロセッサのメ
モリに書き込むべきデータが生ずる度毎に、その対応す
る送信バッフアにこれらのデータとアドレスとの組デー
タを蓄積する(ステップ12、14のループ)。送信バ
ッフアにデータとアドレスとの組データが蓄積されて書
き込まれている状態が各プロセッサについて図3に図示
されている。蓄積データはどのプロセッサから出力され
たデータであるかを明示するために各プロセッサ毎に模
様を異なえて図示してある。
【0022】各プロセッサは、自プロセッサでの演算A
が終了次第(ステップ15のYES 枝)、自プロセッサに
あるすべての送信バッフアに蓄積された組データを各送
信バッフアに対応する他プロセッサにブロック転送をす
る(ステップ16)。例えば、プロセッサPi の送信バ
ッフアSijの内容は、プロセッサPi からプロセッサP
j にブロック転送される。
【0023】その際の送信パケットの一形式が図6に図
示されている。送信パケットは、受信プロセッサ番号を
格納する受信プロセッサ番号格納エリア61と、送信プ
ロセッサ番号を格納する送信プロセッサ番号格納エリア
62と、送信データのデータ長を格納するデータ長格納
エリア63と、データを格納するデータ格納エリア64
とを備えて構成されている。データ格納エリア64に
は、送信すべきデータとそれを格納する送信先のプロセ
ッサにあるメモリ上のアドレスとの組データが1つ以上
収容できるようになっている。
【0024】送信パケットを受信したプロセッサは、そ
の送信パケットの送信元のプロセッサに対応する受信バ
ッフアに送信パケットの組データを一時格納する(ステ
ップ17)。例えば、プロセッサPi の送信バッフアS
ijの内容は、プロセッサPiからプロセッサPj にブロ
ック転送されるが、プロセッサPj は自プロセッサ内に
あるプロセッサPi に対応する受信バッフアRijに受信
したパケットの内容を一時格納する。
【0025】各プロセッサの送信バッフアから受信バッ
フアへの組データの転送状況が図4に図示されている。
【0026】すべてのプロセッサがステップ12の演算
を終了して、かつ、送信バッフアの組データを対応する
プロセッサに転送し、転送されてきた組データを対応す
る受信バッフアに一時格納したならば、一斉に次の動作
に移ることができるように、すべてのプロセッサ間で同
期をとる(ステップ17)。
【0027】次に、各プロセッサは、受信バッフアにあ
るデータとアドレスとの組データを読み出し自プロセッ
サにあるメモリ上の、組データの示すアドレスに組デー
タの示すデータを書き込む(ステップ19)。
【0028】図5には各プロセッサの受信バッフアから
自メモリにデータを書き込む状況が図示されている。メ
モリM内の領域の模様により、どのプロセッサから送信
されたデータであるかが明示されている。
【0029】次に、各プロセッサは、他プロセッサから
送信されてきて自メモリに格納されたデータを使用して
演算Bを遂行する(ステップ20)。
【0030】本実施例では、演算Bは受信したデータを
使用して行なう演算であって他プロセッサのメモリへの
書き込みがを生じない演算であり、前述の演算Aは他プ
ロセッサのメモリへの書き込みが生じうる演算としてい
る。
【0031】この演算Bがすべてのプロセッサで終了し
た時点ですべてのプロセッサ間で同期をとる(ステップ
21)。これは、次の演算A等が始まってまたプロセッ
サ間通信によりあるプロセッサの受信バッフアが乱され
るのを防止するためと、ステップ22でのこの並列計算
機システムの処理終了チェックのためである。
【0032】ステップ22でこの並列計算機システムの
処理が未終了のときには、再度ステップ12に戻り処理
が終了するまで以上説明した動作を繰り返す。
【0033】以上説明したように、本実施例のプロセッ
サ間通信方式においては、各プロセッサに各通信相手プ
ロセッサに対応する送信バッフアおよび受信バッフアを
用意してブロック転送を行なうことにより、プロセッサ
間通信回数を大幅に減少でき並列処理効果を向上するこ
とができる。
【0034】
【発明の効果】以上説明したように、本発明のプロセッ
サ間通信方式は、各プロセッサに各通信相手プロセッサ
に対応する送信バッフアおよび受信バッフアを用意して
ブロック転送を行なうことにより、プロセッサ間通信回
数を大幅に減少でき並列処理効果を向上することができ
るという効果を有している。
【図面の簡単な説明】
【図1】本発明のプロセッサ間通信方式の一実施例を示
す流れ図である。
【図2】送信バッフア、受信バッフアの確保状況を示す
状態模式図である。
【図3】送信バッフアへの書き込み状況を示す状態模式
図である。
【図4】送信バッフアから受信バッフアへのブロック転
送状況を示す状態模式図である。
【図5】受信バッフアからメモリへデータを移送する状
況を示す状態模式図である。
【図6】パケットのデータ格納状態を示すデータフオー
マット図である。
【符号の説明】
11〜22 流れ図のステップ 61 受信プロセッサ番号格納エリア 62 送信プロセッサ番号格納エリア 63 データ長格納エリア 64 データ格納エリア Pi 、Pj 、Pk プロセッサ Mi 、Mj 、Mk メモリ Sij、Sik、Sji、Sjk、Ski、Skj 送信バッフア Rji、Rki、Rij、Rkj、Rik、Rjk 受信バッフア

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 各々メモリを有する複数のプロセッサか
    ら構成される並列計算機のプロセッサ間通信方式におい
    て、前記複数のプロセッサはそれぞれ他の通信相手プロ
    セッサへ送信する情報を一時格納する送信バッフアを前
    記他の通信相手プロセッサ毎に用意しまた前記他の通信
    相手プロセッサから受信する情報を一時格納する受信バ
    ッフアを前記他の通信相手プロセッサ毎に用意するバッ
    フア準備ステップと、前記複数のプロセッサはそれぞれ
    所定の演算を行なって前記他の通信相手プロセッサへ送
    信するデータとこのデータの前記他の通信相手プロセッ
    サにおける書き込みアドレスとを組にして対応する送信
    バッフアに書き込み蓄積する送信バッフア書き込みステ
    ップと、前記複数のプロセッサはそれぞれ前記所定の演
    算終了後前記送信バッフアに書き込み蓄積された情報を
    対応する前記他の通信相手プロセッサにブロック転送を
    行なうブロック転送ステップと、前記複数のプロセッサ
    はそれぞれ前記他の通信相手プロセッサから転送されて
    きた情報を前記他の通信相手プロセッサに対応する前記
    受信バッフアに書き込む受信バッフア書き込みステップ
    と、前記複数のプロセッサは前記受信バッフアのデータ
    をこれと組として送られてきた書き込みアドレスに対応
    する自プロセッサの前記メモリのアドレスに書き込むメ
    モリ書き込みステップとを含むことを特徴とするプロセ
    ッサ間通信方式。
  2. 【請求項2】 バッフア準備ステップでは、各プロセッ
    サ間で通信するデータ量が既知の場合にはこの量に対応
    する送信バッフアおよび受信バッフアを用意し、既知で
    ない場合には先ずプロセッサ間の1度のブロック転送に
    対応するデータ量の送信バッフアおよび受信バッフアを
    用意し、その後これらのバッフアが満杯になる毎に前記
    1度のブロック転送に対応するデータ量に相当する領域
    を動的に確保しこれらをリンクで繋いでいく準備をする
    ことを特徴とする請求項1記載のプロセッサ間通信方
    式。
JP5091760A 1993-04-20 1993-04-20 プロセッサ間通信方法 Expired - Lifetime JP3033646B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5091760A JP3033646B2 (ja) 1993-04-20 1993-04-20 プロセッサ間通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5091760A JP3033646B2 (ja) 1993-04-20 1993-04-20 プロセッサ間通信方法

Publications (2)

Publication Number Publication Date
JPH06309281A true JPH06309281A (ja) 1994-11-04
JP3033646B2 JP3033646B2 (ja) 2000-04-17

Family

ID=14035510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5091760A Expired - Lifetime JP3033646B2 (ja) 1993-04-20 1993-04-20 プロセッサ間通信方法

Country Status (1)

Country Link
JP (1) JP3033646B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008059282A (ja) * 2006-08-31 2008-03-13 Olympus Corp 分散処理システム、分散処理方法及びプログラム
WO2013027247A1 (ja) * 2011-08-25 2013-02-28 富士通株式会社 情報処理装置及び情報処理装置の制御方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63221452A (ja) * 1987-03-11 1988-09-14 Toyo Commun Equip Co Ltd Mpu間通信方法
JPH01191967A (ja) * 1988-01-27 1989-08-02 Nec Corp データ通信処理方式
JPH03204065A (ja) * 1989-12-29 1991-09-05 Nec Corp プロセッサ間通信におけるデータ転送競合回避方式

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63221452A (ja) * 1987-03-11 1988-09-14 Toyo Commun Equip Co Ltd Mpu間通信方法
JPH01191967A (ja) * 1988-01-27 1989-08-02 Nec Corp データ通信処理方式
JPH03204065A (ja) * 1989-12-29 1991-09-05 Nec Corp プロセッサ間通信におけるデータ転送競合回避方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008059282A (ja) * 2006-08-31 2008-03-13 Olympus Corp 分散処理システム、分散処理方法及びプログラム
WO2013027247A1 (ja) * 2011-08-25 2013-02-28 富士通株式会社 情報処理装置及び情報処理装置の制御方法

Also Published As

Publication number Publication date
JP3033646B2 (ja) 2000-04-17

Similar Documents

Publication Publication Date Title
EP0884924B1 (en) ATM Communication apparatus
US5915088A (en) Interprocessor messaging system
JP2003178039A (ja) 分散共有仮想メモリーとその構成方法
JPH114279A (ja) 先進的システム間送信方法および機構
US10229073B2 (en) System-on-chip and method for exchanging data between computation nodes of such a system-on-chip
CN118555252B (zh) 一种路由方法、系统和电子设备及存储介质
US7069305B2 (en) Computer system and a data transfer method thereof using remote direct memory access
JPH11212939A (ja) 共通バスによって相互接続されたプロセッサを有するデータプロセッサユニット間でデータを交換するためのシステム
US5155807A (en) Multi-processor communications channel utilizing random access/sequential access memories
JPH06309281A (ja) プロセッサ間通信方式
JP3904498B2 (ja) プロセッサ間通信システム
JP3058010B2 (ja) プロセッサ間通信方法及び装置
JP3799741B2 (ja) バスコントローラ
JP4125933B2 (ja) 共通メモリを備えたプロセッサシステム
JP2000138718A (ja) 複数のパラレルに配置されたインタ―フェ―スを介するデ―タ伝送のための方法
JP2971119B2 (ja) 複数プロセッサシステムにおける高速データ転送方式
JPH03252848A (ja) スプリットバスにおける可変バス幅指定方式及び可変バス幅情報受信方式
JPH11122275A (ja) シリアル通信システム
CN120434241A (zh) 分布式系统、分布式令牌处理方法和装置
JPH0512744B2 (ja)
JPH07143133A (ja) メモリ共用多層プロトコル処理装置
JPH10207829A (ja) バスコントローラ
JP2008250496A (ja) エンジン・プロセッサ連携システム及び連携方法
JPH0816538A (ja) プロセッサ間通信方式
JPS6289162A (ja) マルチプロセツサのデ−タ処理装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19960709

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

Free format text: PAYMENT UNTIL: 20080218

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090218

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100218

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100218

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110218

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110218

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120218

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20120218

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20130218

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20130218

Year of fee payment: 13

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140218

Year of fee payment: 14