JP2966051B2 - プロセッサ装置 - Google Patents

プロセッサ装置

Info

Publication number
JP2966051B2
JP2966051B2 JP2171336A JP17133690A JP2966051B2 JP 2966051 B2 JP2966051 B2 JP 2966051B2 JP 2171336 A JP2171336 A JP 2171336A JP 17133690 A JP17133690 A JP 17133690A JP 2966051 B2 JP2966051 B2 JP 2966051B2
Authority
JP
Japan
Prior art keywords
message
message data
storage means
input
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 - Fee Related
Application number
JP2171336A
Other languages
English (en)
Other versions
JPH0462656A (ja
Inventor
定雄 中村
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2171336A priority Critical patent/JP2966051B2/ja
Publication of JPH0462656A publication Critical patent/JPH0462656A/ja
Application granted granted Critical
Publication of JP2966051B2 publication Critical patent/JP2966051B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】 〔発明の目的〕 (産業上の利用分野) 本発明は多数の隣接結合されたプロセッサ装置によっ
て構成される並列計算機におけるプロセッサ装置間通信
方式に関する。
(従来の技術) 多数のプロセッサ装置から成る並列計算機では、2次
元トーラスネットワークやN−CUBEネットワーク等によ
ってプロセッサ装置間を隣接するプロセッサ装置同士で
接続するのが一般的である。従って、直接結合されてい
ないプロセッサ装置間の通信は、途中直接結合されるい
くつかのプロセッサ装置を経由して行うことになる。
以下、並列計算機におけるプロセッサ装置間の通信に
ついて第3図を参照して説明する。
第3図に示される従来の並列計算機においては、多数
のプロセッサ装置が2次元格子状に隣接結合される。ま
た、大規模な並列計算機では通信が性能上のネックとな
る為、プロセッサ装置の通信制御部のハードウェア化に
よるメッセージ通信の高速化が必要不可欠であり、それ
ぞれのプロセッサ装置は第5図に示すようにメッセージ
通信制御部、メモリ回路部103、及びプロセッサ101より
成る。
メッセージ通信制御部(以下、ルータともいう)はハ
ードウェア化されており、すなわち4つの入力ポートA,
B,C,D、4つの出力ポートA,B,C,D、5つのバッファメモ
リ115、及びDMA制御部107によって構成され、プロセッ
サ装置とは同時に動作する。通常、プロセッサ装置間に
おけるメッセージ通信は、目的アドレスとデータ長とを
含むヘッダー部、及びデータ本体とから成るパケットを
単位に転送される。
以下、従来の通信方式における動作について説明す
る。
まず、任意のプロセッサがメッセージの通信を開始す
る際には、当該プロセッサはメモリ回路部103内の送信
するメッセージの格納アドレスをルータに知らせる。ル
ータはメモリ回路部103から指定された格納アドレスに
格納されるメッセージデータを読みだして適当な出力ポ
ートより出力する。このときルータの、それぞれの入力
ポートは1対1で対応づけられたバッファメモリ115を
持ち、前記バッファメモリが空のとき、新たなメッセー
ジデータの入力を受け付ける。
次に、ルータは入力されたメッセージデータを前記バ
ッファメモリ115に格納し、このメッセージデータのヘ
ッダー部のアドレス部によって次の転送先を判断する。
このとき、バッファメモリ115内のメッセージデータが
自分宛のメッセージではないとき、ルータは適当な出力
ポートより出力してメッセージを他のプロセッサ装置に
転送する。また自分宛のメッセージであるときには、入
力されたメッセージデータをメモリ回路部103の指定さ
れたアドレスに書き込み、割り込みによりメッセージ受
信をプロセッサ101に知らせる。この様にして複数の入
力ポートは同時に動作し、出力ポートが一致しない限り
複数のメッセージデータの転送が同時に行われる。
次に第4図に示す2次元格子ネットワークの場合、1
つの格子が1×1の大きさとするとき、1つの基準プロ
セッサ装置から距離Nの範囲内には4×N個のプロセッ
サ装置が存在する。アクセス時間、すなわちメモリの速
度はメッセージ転送速度と等しく、メッセージデータは
2次元格子最短距離で転送されるものとする。このと
き、従来例において、プロセッサ装置22(第4図中、PE
22で示す。以下、同様)から距離2にある8個のプロセ
ッサ装置02、11、13、20、24、31、33、42が一斉にプロ
セッサ装置22にメッセージを送信したとすると、プロセ
ッサ装置22が最初の一つのメッセージを受信している
間、残りの7つのメッセージは待たされることになる。
このようなメッセージの待合わせは別のメッセージの待
合わせを誘発することになる。
例えば、プロセッサ装置02、11、13、20、24、31、3
3、42がほぼ同時刻にプロセッサ装置22に向けてメッセ
ージデータを送信し、僅かに遅れてプロセッサ装置25が
プロセッサ装置23にメッセージデータを送信したとす
る。このとき、プロセッサ装置22は一度に一つのメッセ
ージデータしか受信できない為、メッセージデータをm
1,m2,m3,m4,m5,m6,m7,m8の順に受信する。また、プロセ
ッサ装置24のメッセージデータはプロセッサ装置23を介
してプロセッサ装置22へ送信されるため、メッセージデ
ータm8がプロセッサ装置22に受信されるまでの間プロセ
ッサ装置23の入力バッファメモリにはメッセージデータ
m8が格納されているため、メッセージデータm8がプロセ
ッサ装置22へ出力されるまでの間、プロセッサ装置25か
らプロセッサ装置23へのメッセージm9は待たされる。
上述したように従来のプロセッサ装置間通信方式で
は、多量のメッセージ通信が行われるときメッセージの
待ち合わせが発生しやすく、さらに1のメッセージの待
ち合わせが別のメッセージの待ち合わせを誘発させるこ
とによって連鎖的にシステムの中に多量の待ち合わせメ
ッセージが発生し、実質的なプロセッサ装置間通信速度
を大幅に低下させてしまうという欠点があった。
更に従来例では、プログラムのバグやハードウェアの
故障等、なんらかの理由によってプロセッサ装置22がメ
ッセージを受信出来ない状態にあると、メッセージm1,m
2,・・・,m9はルータ内のバッファメモリに溜ったまま
となるため、新たなメッセージデータの転送を阻害して
しまう。そのため、最終的にはシステム内のすべてのプ
ロセッサ装置がメッセージデータを送信できない状態、
即ち通信がデッドロック状態になってしまうことがあっ
た。
一方、システム内に故障が発生したときは、故障の原
因を調査することが必要であるが、通信ネットワークが
デッドロック状態にあるためプロセッサ装置の状態を知
るためにプロセッサ装置間通信を使用することができ
ず、デバッグを非常にやりにくいものにしていた。
(発明が解決しようとする課題) 以上述べたように従来のプロセッサ装置間通信方式で
は、多量のメッセージ通信に伴なってメッセージの待ち
合わせが発生するため、実質的な通信速度が低下した
り、故障等が生じたときには通信がデッドロック状態に
なってしまうという欠点があった。
本発明は従来のプロセッサ装置間通信方式で発生する
メッセージを待ち合わせによる実質的な通信速度の低下
及びデッドロックの問題を解決し、高速で信頼性の高い
プロセッサ装置間通信制御方式を提供することを目的と
している。
〔発明の構成〕
(課題を解決するための手段) 本願が提供する第1の発明は、メッセージデータが入
力される入力ポートと、前記入力ポートに接続される複
数の格納手段と、前記メッセージデータを格納し得る格
納手段が存在する場合に、前記複数の格納手段の中から
該格納手段を選択する選択手段と、前記選択手段により
選択された格納手段に、前記メッセージを格納するよう
に制御する制御手段とを備えたことを要旨とする。
本願が提供する第2の発明は、メッセージデータが入
力される入力ポートと、前記入力ポートに接続される複
数の格納手段と、前記メッセージデータを格納し得る格
納手段が存在する場合に、前記複数の格納手段の中から
該格納手段を選択する選択手段と、前記選択手段により
選択された格納手段に、前記メッセージを格納するよう
に制御する制御手段とを備え、前記メッセージデータを
格納し得る格納手段が存在しない場合に、前記複数の格
納手段の中から所定の格納手段を選択し、該所定の格納
手段に格納されているメッセージデータを記憶手段に移
し、前記制御手段により前記メッセージを該所定の格納
手段に格納することを要旨とする。
(作用) 本願第1の発明によれば、プロセッサ装置に具備され
る入力ポートにメッセージデータが入力されるときに、
同じくプロセッサ装置に具備される複数の格納手段の中
から、例えば空等であって該メッセージデータを格納し
得る格納手段が在るときには当該メッセージデータを格
納し得る格納手段を選択して該メッセージデータを格納
する。
本願第2の発明によれば、プロセッサ装置に具備され
る入力ポートにメッセージデータが入力されるときに、
同じくプロセッサ装置に具備される複数の格納手段の中
から、例えば空等であって該メッセージデータを格納し
得る格納手段が在るときには当該メッセージデータを格
納し得る格納手段を選択して該メッセージデータを格納
するとともに、当該メッセージデータを格納し得る格納
手段がないときには複数の格納手段の中から1つを選択
し、既に格納されているメッセージデータを記憶手段に
移した後に入力メッセージデータを当該格納手段に当該
メッセージデータを格納する。
(実施例) まず、本発明のプロセッサ装置間通信方式に係るプロ
セッサ装置の一実施例の概要を説明する。
本実施例のプロセッサ装置は、メッセージルーティン
グ制御部(以下、単にルータともいう)を有し、このル
ータにそれぞれの入力ポート若しくは出力ポートに対応
して複数個のバッファメモリがそれぞれ設けられる。こ
のとき複数の入力ポート若しくは出力ポートはそれぞれ
前記複数のバッファメモリを共有するものであり、また
バッファメモリの数はルータの入力ポートの数または出
力ポートの数と一致させる必要はない。
次に、前記ルータの有する機能を列挙する。
まず第1に、ルータが有する複数のバッファメモリの
中に空のバッファメモリが存在するとき、ルータは入力
ポートから前記空バッファにメッセージデータを入力で
きる。尚、この時複数の入力ポートが同時に、かつ同一
の空バッファメモリを選択する事がないような制御が行
われる。
第2に、ルータはバッファメモリにメッセージデータ
が格納されているとき、前記格納されたメッセージデー
タのアドレス部及び出力ポートの状態によって、前記メ
ッセージデータを出力すべき出力ポートを選択する。こ
の選択された出力ポートよりメッセージデータの出力が
可能なとき、前記バッファメモリに格納されたメッセー
ジデータを前記出力ポートから出力する。メッセージデ
ータの出力により前記バッファメモリは空になる。
第3に、ルータは前記複数のバッファメモリの中の空
ではないバッファメモリを選択して、前記バッファメモ
リに格納されたメッセージデータをルータの外部に設置
されたメモリに格納し、前記バッファメモリを空にする
ことが出来る。
第4に、ルータは前記複数のバッファメモリの中に空
のバッファメモリが存在するとき、前記外部メモリに格
納されたメッセージデータを再び前記空バッファに格納
することが出来る。
第5に、メッセージデータは優先度に関する情報を持
ち、前記ルータの持つ複数個のバッファメモリの中に、
出力ポートを同じくするメッセージデータが複数個存在
するとき、優先度の高い方のメッセージデータを選択し
て先に該出力ポートから出力する。
以下、図面を参照して本発明に係る一実施例を具体的
にかつ詳細に説明する。
第1図は本発明に係るプロセッサ装置の構成を示すブ
ロック図である。
第1図に示すように本実施例のプロセッサ装置はプロ
セッサ1、メモリ回路部3、及びルーティング制御部5
とから成る。また、このルーティング制御部5は4個の
入力ポート、9個のバッファメモリ15a,15b,〜,15i及び
このバッファメモリ15a,15b,〜,15iにそれぞれ接続され
るバッファメモリ制御部17a,17b,〜,17i、4個の出力ポ
ート、及びDMA制御部7とを有している。
また、それぞれの入力ポートは入力制御部11、ステー
タス出力線、データ入力線を待つ。
以下、第2図を参照して実施例における動作をメッセ
ージの入力、メッセージの出力、及びDMA制御部7の3
つに分けて説明する。
まず、メッセージの入力時における動作について説明
する。
まず、最初にステップS1で入力制御部11はステータス
線にビジー信号を入力してメッセージの入力を禁止す
る。続いて当該入力制御部11はステップS3において、空
のバッファメモリ15を確保する。このときバッファメモ
リ15a,15b,〜,15iの中に空のバッファメモリが存在しな
いときは、ステップS5へ進みDMA制御部7に要求をだし
て、出力待ちになっているバッファメモリ15の有無を確
認する。出力待ちのバッファメモリ15が有るときには、
ステップS7へ進み、当該バッファメモリ内のメッセージ
データをルータ外部のメモリ回路部3に移して空のバッ
ファメモリ15を作る。このとき、複数の入力ポートが同
時に同一のバッファメモリ15を確保するのを防ぐ為に適
当な調停回路を設け、一つの空バッファメモリ15にはた
だ一つの入力ポートのみを対応させるようにする。入力
制御部11はステップS9において空のバッファメモリ15を
確保したならステップS11へ進みステータス線にレディ
ー信号を出力してメッセージデータの入力を許可する。
そして入力されたメッセージデータはステップS13に
おいて当該空バッファメモリ15に格納される。
次に、メッセージの出力時における動作について説明
する。
それぞれのバッファメモリ15a,15b,・・・,15iはバッ
ファメモリ制御部17a,17b,・・・,17iを持つ。このバッ
ファメモリ制御部17はステップS15においてバッファメ
モリ15内に格納されたメッセージデータのヘッダ部に含
まれる目的アドレス、出力ポートの状態、及び他のバッ
ファメモリの状態とから前記メッセージデータを出力す
る為の出力ポートを決定する。
一般に二つのプロセッサ装置を結ぶメッセージの転送
経路は複数存在するのでメッセージデータを出力可能な
出力ポートも複数存在する。ただし出力ポートに入力さ
れるステータス信号がビジーである時、この出力ポート
からはメッセージデータを出力出来ない。また、レディ
ー状態にある出力ポートに対して同時に複数のバッファ
メモリから出力要求が来ることがあるが、メッセージの
優先度を考慮した調停回路によって優先度の高いただ一
つのバッファメモリのみからの要求が許可される。この
ようにして出力ポートの決定したバッファメモリ15は格
納されているメッセージデータを当該決定された出力ポ
ートから出力して、バッファメモリ15を空にする。
次にDMA制御部7における動作について説明する。
DMA制御部7はステップS5,S7において入力制御部11よ
り空バッファメモリ15の確保に対する要求があったと
き、メッセージを格納しているバッファメモリ15の中か
ら優先度が低くかつ現在出力可能な出力ポートの存在し
ないバッファメモリ15を選び出して格納されているメッ
セージデータをルータ外部に置かれているメモリ回路部
3に書出し、当該バッファメモリ15を空にする。
一方、メモリ回路部3に書込まれたメッセージデータ
はメモリ回路部3内でポインタにより結合し、書込まれ
た順で再び読みだす事ができるようにしておく。その
後、どの入力ポートにも確保されてなく、かつ空のバッ
ファメモリが存在するとき、前記メモリ回路部3よりメ
ッセージデータを読みだして、前記空バッファメモリに
当該メッセージデータを格納しておく。
上述したように本実施例では入力バッファメモリの数
が入力ポートの数より多い場合について説明したが、入
力バッファメモリの数を入力ポートの数より少なくする
ことも可能である。例えば16次元N−CUBEネットワーク
を実現するためには一つのプロセッサ装置は16個の入力
ポート、及び16個の出力ポートを持たなければならな
い。すなわち従来のプロセッサ装置では16個の入力ポー
トのそれぞれに対応して一つのバッファメモリを設けて
いたが、実際上16個のバッファメモリが同時にメッセー
ジデータで満たされることはほとんどないことは経験上
明らからである。従って本発明の適用によって入力ポー
トの数より少ない数のバッファメモリ、例えば16個の入
力ポートに対して5個のバッファメモリを設けることで
十分に効果を上げることができ、またハードウェアを節
約してなおかつ高速なプロセッサ装置間通信を実現する
ことができる。
上述したように、従来方式ではルータの入力ポートが
持つただ一つのバッファメモリにメッセージデータが格
納されていると、前記入力ポートはこれ以上のメッセー
ジデータを受け付けることが出来ないため、容易にメッ
セージの待合わせが発生した。これに対して本実施例で
は全ての入力ポートに共有のバッファメモリを複数個設
け、それぞれの入力ポートは空のバッファメモリが存在
するかぎり複数のメッセージデータを入力して、前記バ
ッファメモリに格納できる為、メッセージの待合わせの
頻度は減少する。
また、本実施例では全てのバッファメモリが全ての入
力ポートに共有されるが、複数の入力ポートにメッセー
ジ入力があったとき、適当な調停手段によりそれぞれの
入力ポートに異なる空バッファメモリを割り当てる事に
より、前記複数の入力メッセージを同時にバッファメモ
リに格納できる。
また、メッセージデータの格納されたバッファメモリ
が複数個あるときは、、それぞれのメッセージデータの
出力ポートが互いに異なる限り同時に出力して他のプロ
セッサ装置に転送される。従って本実施例によればハー
ドウェア化されたルータによって高速なメッセージ転送
が実現できる。
更に本実施例ではバッファメモリ内に溜まっているメ
ッセージデータを一時的にルータの外部に設置されたメ
モリに置いて空のバッファメモリを作ること、及び前記
メモリに置かれたメッセージデータを再び空バッファに
戻すことにより、仮想的に無限個のバッファメモリが存
在するかのように見せ掛ける事ができる。
この様に並列に動作するハードウェア化された複数個
のバッファメモリ、及び前記外部メモリ上に作った仮想
的な無限個のバッファメモリとによってメッセージの待
合せによるプロセッサ装置間通信速度の低下の問題は解
決される。
更に、メッセージデータに優先度に関する情報を持た
せ、優先度の高いメッセージデータの方を優先して転送
することにより、システムが通信テッドロックの状態に
あっても優先度を高くしたデバッグメッセージを転送さ
せることができる。
従って本実施例によって通信混雑時のデバッグの困難
さの問題は解決する。
〔発明の効果〕
本発明によればハードウェア化したルーティング制御
部によってプロセッサ装置間通信を高速化でき、かつメ
ッセージデータの待ちあわせによる通信混雑に起因する
実質的なプロセッサ装置間通信速度の低下を解決でき
る。更に優先メッセージの実現によって通信混雑時にお
いても特定のメッセージを目的地まで確実に転送でき、
通信デッドロック発生時においてもメッセージ通信によ
るシステムのデバッグが可能になる。また優先メッセー
ジはデッドロックとは無関係に単に高速転送を目的とし
たメッセージ転送としても有用であり、本発明により柔
軟なメッセージ通信が実現可能になる。
【図面の簡単な説明】
第1図は本発明の一実施例であるプロセッサ装置PEの構
成を示すブロック図、第2図は第1図に示すプロセッサ
装置PEの動作を説明するフローチャート、第3図は2次
元格子ネットワークによって結合された並列計算機の1
例を示す図、第4図はメッセージの待ち合わせによるメ
ッセージ転送時間の遅れを説明する図、第5図は従来の
プロセッサ装置の構成を示すブロック図である。 PE……プロセッサ装置 1……プロセッサ 3……メモリ回路 5……ルーティング制御部 7……DMA制御部 11a,11b,11c,11d……入力制御部 15a,15b,・・・,15i……バッファメモリ 17a,17b,・・・,17i……バッファメモリ制御部 19a,19b,19c,19d……出力制御部

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】メッセージデータが入力される入力ポート
    と、 前記入力ポートに接続される複数の格納手段と、 前記メッセージデータを格納し得る格納手段が存在する
    場合に、前記複数の格納手段の中から該格納手段を選択
    する選択手段と、 前記選択手段により選択された格納手段に、前記メッセ
    ージを格納するように制御する制御手段とを備えたこと
    を特徴とするプロセッサ装置。
  2. 【請求項2】メッセージデータが入力される入力ポート
    と、 前記入力ポートに接続される複数の格納手段と、 前記メッセージデータを格納し得る格納手段が存在する
    場合に、前記複数の格納手段の中から該格納手段を選択
    する選択手段と、 前記選択手段により選択された格納手段に、前記メッセ
    ージを格納するように制御する制御手段とを備え、 前記メッセージデータを格納し得る格納手段が存在しな
    い場合に、前記複数の格納手段の中から所定の格納手段
    を選択し、該所定の格納手段に格納されているメッセー
    ジデータを記憶手段に移し、前記制御手段により前記メ
    ッセージを該所定の格納手段に格納することを特徴とす
    るプロセッサ装置。
JP2171336A 1990-06-30 1990-06-30 プロセッサ装置 Expired - Fee Related JP2966051B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2171336A JP2966051B2 (ja) 1990-06-30 1990-06-30 プロセッサ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2171336A JP2966051B2 (ja) 1990-06-30 1990-06-30 プロセッサ装置

Publications (2)

Publication Number Publication Date
JPH0462656A JPH0462656A (ja) 1992-02-27
JP2966051B2 true JP2966051B2 (ja) 1999-10-25

Family

ID=15921337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2171336A Expired - Fee Related JP2966051B2 (ja) 1990-06-30 1990-06-30 プロセッサ装置

Country Status (1)

Country Link
JP (1) JP2966051B2 (ja)

Also Published As

Publication number Publication date
JPH0462656A (ja) 1992-02-27

Similar Documents

Publication Publication Date Title
EP0365731B1 (en) Method and apparatus for transferring messages between source and destination users through a shared memory
EP0391583B1 (en) Dual-path computer interconnect system with four-ported packet memory control
US5940612A (en) System and method for queuing of tasks in a multiprocessing system
JP3553634B2 (ja) 相互接続インターフェース
EP0622922B1 (en) Method and device of multicasting data in a communications system
US5151895A (en) Terminal server architecture
US20080109573A1 (en) RDMA systems and methods for sending commands from a source node to a target node for local execution of commands at the target node
US20080109569A1 (en) Remote DMA systems and methods for supporting synchronization of distributed processes in a multi-processor system using collective operations
JP2003178039A (ja) 分散共有仮想メモリーとその構成方法
US5293377A (en) Network control information without reserved bandwidth
KR910017798A (ko) 동기 링크 인터페이스 및 비동기 호스트 프로세서 인터페이스를 갖는 종합 데이터 링크 제어기
US6691178B1 (en) Fencepost descriptor caching mechanism and method therefor
US5495619A (en) Apparatus providing addressable storage locations as virtual links and storing predefined destination information for any messages transmitted on virtual links at these locations
JPS6336586B2 (ja)
US5347514A (en) Processor-based smart packet memory interface
US20080109604A1 (en) Systems and methods for remote direct memory access to processor caches for RDMA reads and writes
EP1038375B1 (en) Message buffering for a computer-based network
JP2966051B2 (ja) プロセッサ装置
RU175049U1 (ru) УСТРОЙСТВО КОММУНИКАЦИОННЫХ ИНТЕРФЕЙСОВ SpaceWire
JPH0782478B2 (ja) マルチプロセツサシステム
KR20010095103A (ko) 데이터 블록 전송 방법 및 장치
JP3644158B2 (ja) 並列計算機におけるデータ送受信方法
US5875299A (en) disk access apparatus for performing a stride processing of data
JPH064401A (ja) メモリアクセス回路
JPH02244852A (ja) パケット処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees