JP2607851B2 - プロセッサ間ルーティング方式 - Google Patents

プロセッサ間ルーティング方式

Info

Publication number
JP2607851B2
JP2607851B2 JP6248441A JP24844194A JP2607851B2 JP 2607851 B2 JP2607851 B2 JP 2607851B2 JP 6248441 A JP6248441 A JP 6248441A JP 24844194 A JP24844194 A JP 24844194A JP 2607851 B2 JP2607851 B2 JP 2607851B2
Authority
JP
Japan
Prior art keywords
message
processing element
virtual
data
transfer
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
Application number
JP6248441A
Other languages
English (en)
Other versions
JPH0887480A (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 JP6248441A priority Critical patent/JP2607851B2/ja
Publication of JPH0887480A publication Critical patent/JPH0887480A/ja
Application granted granted Critical
Publication of JP2607851B2 publication Critical patent/JP2607851B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は並列計算機におけるプロ
セッシングエレメント間のルーティング方式に関する。
【0002】
【従来の技術】並列計算機のプロセッシングエレメント
間通信において、ワームホールルーティングと呼ばれる
方法がある。ワームホールルーティング方式では、メッ
セージが、フリットと呼ばれる最小伝送単位に分割さ
れ、送信プロセッシングエレメントと受信プロセッシン
グエレメント間の中継ルートを伝送される。メッセージ
の先頭フリットには、受信プロセッシングエレメントの
位置を示すルーティング情報が含まれ、各中継ルート上
のプロセッシングエレメントでは、そのルーティング情
報から、そのメッセージをどの方向に送るかを判断す
る。
【0003】後続のフリットは、先頭のフリットと同一
のルートを数珠つなぎで伝送され、その間、中継に使用
されるチャネルは最後のフリットの伝送が終了するまで
占有される。このことを説明する。
【0004】今、複数のプロセッシングエレメントがト
ーラス状に接続されたネットワーク、例えば、図14に
示すようにA,B,C,Dの4個のプロセッシングエレ
メントからなるネットワークにおいて、全てのプロセッ
シングエレメントが右回りに隣りのプロセッシングエレ
メントに向けてメッセージの伝送を同時に開始したとす
る。
【0005】この場合、A,B,C,Dの各プロセッシ
ングエレメントの送信したメッセージがまず、隣りのプ
ロセッシングエレメントに到達する。プロセッシングエ
レメントAからプロセッシングエレメントCに向かうメ
ッセージを例にとると、まずプロセッシングエレメント
Aから出たメッセージは隣りのプロセッシングエレメン
トBに到達する。AB,BC,CD,DAはそれぞれプ
ロセッシングエレメントA,B間、B,C間、C,D
間、D,A間の伝送チャネルを示しており、各プロセッ
シングエレメント間の伝送チャネルはそれぞれ1つであ
る。
【0006】プロセッシングエレメントCに送るために
はプロセッシングエレメントBからさらにその隣りのプ
ロセッシングエレメントCに伝送する必要があるが、プ
ロセッシングエレメントBからプロセッシングエレメン
トCへ転送するチャネルBCは、プロセッシングエレメ
ントBからプロセッシングエレメントDに送るメッセー
ジで占有されている。そのため、プロセッシングエレメ
ントAからプロセッシングエレメントCに向けたメッセ
ージは、伝送チャネルBCが塞がっているがために、プ
ロセッシングエレメントBのところで止まってメッセー
ジの伝送が止まることになる。
【0007】このことは、図15に示すように全てのメ
ッセージについて言えるので、結果としてメッセージの
伝送が全て止まってしまう。この状態をデッドロックと
いい、伝送が全くできなくなってしまうので、デッドロ
ックは回避されなければならない。
【0008】そのため、デッドロックを回避する試みが
種々成されている。そのいくつかを説明する。まず仮想
チャネルと呼ばれる方法である。
【0009】デッドロックを回避するためのアルゴリズ
ムの一つである仮想チャネルと呼ばれる手法は、図16
の(b)に示すように、送信側Txと受信側Rxとを繋
ぐ一つの物理チャネル(つまり、1回線の通信路)を、
受信側Rxに2組のFIFO(first-in first-out:先
入れ先出し)を用いることによって図16の(a)に示
すように2個の仮想チャネルH,L(以下それぞれH−
ch,L−chと言う)に見せかける。
【0010】つまり、2チャネル分のメッセージを時分
割伝送により一つの物理チャネルで伝送し、受信側では
これを復元して一方のチャネルのメッセージは、2組の
FIFOの一方に、また、他方のチャネルのメッセージ
は、2組のFIFOの他方に振り分け、受信処理系では
これら2組のFIFOより、それぞれのチャネルのメッ
セージを読出して取り込み、別々に処理することによ
り、あたかもH−ch,L−chの2つのチャネルが存
在するかの如く、通信路を利用できるようにするもので
ある。
【0011】仮想チャネルの使用方法を図17を例にと
って説明すれば、4つのプロセッシングエレメントA,
B,C,Dが右回りに、それぞれ一つ先のプロセッシン
グエレメントに同時に転送をメッセージ転送を開始した
場合には、プロセッシングエレメントA -->B -->Cの
転送にはAB−H -->BC−Hの仮想チャネルを用いた
転送を行ない、B -->C -->Dの転送にはBC−H -->
CD−Hの仮想チャネルを用いた転送を行ない、C -->
D -->Aの転送にはCD−H -->DA−Hの仮想チャネ
ルを用いた転送を行ない、D -->A -->Bの転送にはD
A−H -->AB−Lの仮想チャネルを用いた転送を行な
う。このようにすると、チャネルの依存関係から、ルー
プが取り除かれ、デッドロックを回避することができ
る。
【0012】複数のプロセッシングエレメントをトーラ
ス状に接続されたネットワークを多層配置し、各層間の
プロセッシングエレメントをトーラス状に接続して構成
した多次元トーラスネットワークにおいては、同一平面
内でメッセージが曲がる(他のリングに移動することを
言う)回数が1回以内であれば、2個の仮想チャネルを
持つことで、チャネルの依存関係からループが排除でき
ることが知られている。
【0013】しかし、仮想チャネルを用いた方法によれ
ば、デッドロックは回避できるものの、先の例では、仮
想チャネルAB−Hは既に使用されているので、後から
新たにAB−Hを使用してのメッセージ転送を行なう必
要のあるメッセージがあった場合、先に仮想チャネルA
B−Hを使用して行なわれていたメッセージ転送が終了
するまで、後のメッセージは待たねばならず、従って、
メッセージの転送効率が低下するという問題がある。
【0014】すなわち、多次元トーラスネットワークに
おいては、仮想チャネルを利用する方式によって、デッ
ドロック回避の効果は得られるが、メッセージの転送効
率の面で改善の余地を残す。
【0015】そして、ワームホールルーティング方式で
は、チャネルはメッセージの転送が開始されるとそのメ
ッセージの転送が終了するまでチャネルを占有するた
め、その間は他のメッセージが同一のチャネルを利用す
ることはできない。そのために、ひとたびメッセージの
転送が滞ると、その影響はそのメッセージだけに留まら
ず、全体に及ぶことになり、従って、システム全体のメ
ッセージ転送のスループットを低下させていた。
【0016】この問題を解決するために取られる方法の
一つに、バーチャルカットスルーといわれる方法があ
る。この方法は、図18に示す如き構成を用いる。すな
わち、受信側において、通信路を伝送されてくるメッセ
ージを順次取り込んで一時保持し、受信処理系に渡すた
めの仮想チャネル用のFIFOとは別に、バッファBuff
を設けてここを退避エリアとして利用できるようにし、
メッセージがブロックされたときに、後続のフリットを
この退避エリアに退避させ、メッセージの先頭部分の転
送が滞っても滞る直前のプロセッシングエレメントま
で、できるだけ多くのデータを転送する方式である。
【0017】このように、仮想チャネルとは別に設けた
図18に示すような退避エリアを設けてメッセージがブ
ロックされたときに、後続のフリットをこの退避エリア
に退避させることで、メッセージの先頭部分の転送が滞
っても滞る直前のプロセッシングエレメントまで、でき
るだけ多くのデータを転送できるようにし、スループッ
ト向上を図るようにするのがバーチャルカットスルーで
ある。
【0018】そして、このようすると、メッセージの末
尾部分はワームホールルーティング方式に比べて、目的
プロセッシングエレメントの近くまで早く到達するよう
になり、占有されるチャネルの数が減少するので単純な
仮想チャネルよりは全体のスループットが向上すること
になる。
【0019】しかしながらその反面、このバーチャルカ
ットスルー方式の場合では、一つメッセージの転送が終
了するまで、チャネルを占有してしまうことになる。
【0020】そして、このバーチャルカットスルー方式
でも、デッドロックを防止するためには、仮想チャネル
と同様にチャネルの依存関係からループを排除する手法
で解決をはかる必要がある。
【0021】バーチャルカットスルー方式でスループッ
ト向上を図り、かつデッドロックを防止するもう一つの
解決法は、仮想チャネルを多重化する方法である。ワー
ムホールルーティング方式での、スループットを低下さ
せる要因は、チャネルがメッセージの転送が終わらない
と他のメッセージの転送に利用できないことにある。従
って、仮想チャネルを多重化し、利用できるチャネル数
を増加させればスループット向上のためのある程度の解
決策になる。そして、デッドロックを防止するために
は、やはりチャネルの依存関係からループを排除すれば
良い。
【0022】またこれと類似な方法として、仮想チャネ
ルをプロセッシングエレメント間の“(最大距離)−
1”個だけ用意しておき、プロセッシングエレメントで
中継する度に仮想チャネル番号を増加することにより、
チャネルの依存関係からループを排除する方法がある。
この方法の場合、これまで述べた方式と比較すると仮想
チャネルの数がプロセッシングエレメントの数とネット
ワークの構造によって決ってしまい、大規模な並列計算
機に適用しようとした場合には、仮想チャネルに必要と
するハードウェア量が必然的に増加するという問題点が
ある。
【0023】また、スループットの面でも複数のメッセ
ージが同一の仮想チャネルを利用できるわけではないの
で、仮想チャネルを増やしてもその割にはスループット
の向上が図れない。
【0024】
【発明が解決しようとする課題】ところで、並列計算機
を構成するプロセッシングエレメントの数が大規模にな
るに伴って並列計算機全体の中で故障部分がある確率が
増加する。また、並列計算機が大規模になるに伴って故
障部分の補修作業は、故障部分の特定や交換作業が困難
になる。
【0025】そこで、故障部分がある程度以下の割合で
あれば、そのまま並列計算機を動作できるようにするル
ーティング機構があれば、故障部分が多少存在しても動
作できるようになる。
【0026】このようなルーティング機構を得るために
は、ルーティング機構にメッセージを故障部分から迂回
させる機構を組み込めば良い。ただし、メッセージが曲
がる回数が同一平面内で1回を越えてしまうので、故障
部分が無い状態では2個で済んでいた仮想チャネルを、
故障対策用として更に増加して3個以上とし、チャネル
の依存関係からループを排除する方法がとられる。
【0027】この方式では予め想定した故障率によって
用意する仮想チャネルの数を決める必要がある。そし
て、この用意する仮想チャネル数はある程度の余裕を持
たせた値とする。それは、もしも用意してあった仮想チ
ャネル数を超えて仮想チャネルが必要になった場合に、
ルーティングが不可能になってしまうがためである。
【0028】このように、ある程度の余裕をもって仮想
チャネルの数を設定する必要がある一方で、仮想チャネ
ルの数を増加し過ぎると、故障部分が少いときには利用
されないハードウェア資源が大量にでてしまうことにな
って、甚だ不経済となる。
【0029】さらに、この方式は仮想チャネルを多重化
してスループットの向上を図る方式と共存させると、故
障回避のために常に多量の仮想チャネルとすることか
ら、仮想チャネルの数を増加させても必ずしもスループ
ットと、故障回避性能のどちらをも向上させることがで
きると云うわけではなかった。
【0030】多次元トーラスネットワークにおいて、メ
ッセージ転送経路は、目的プロセッシングエレメントの
位置と、まず1個の次元の位置を合わせ、次の次元の位
置を合わせ、と云うような手順のアルゴリズムで決めら
れる。そのため、例えば同一プロセッシングエレメント
組間の通信等の場合、特定の通信路にメッセージが集中
し、通信のボトルネックになることがあった。
【0031】多重化仮想チャネルを用いたプロセッサ間
ルーティング方式では、仮想チャネル間のデータ伝送に
関して、あるメッセージが必ず、どの仮想チャネルを利
用して転送されるというような固定的な割当を行わない
限り、どの仮想チャネルがどのように使われるという基
準を設け難いため、転送優先順位を設けたり、転送バン
ド幅の割り振りが困難であった。
【0032】そのため、逐次的にデータ伝送を行なうワ
ームホールルーティング方式では、ある長いメッセージ
が伝送されることによって受信側プロセッシングエレメ
ントが受信不能になると、受信側プロセッシングエレメ
ントの手前の中継プロセッシングエレメントにデータが
蓄積され、その同一経路を通り、且つ、受信不能状態に
陥ったプロセッシングエレメントを通る全てのメッセー
ジの転送が止まってしまうことから、結果として全体の
通信路利用効率が低下することになる。
【0033】そこで本発明の目的とするところは、第1
には、並列計算機の計算機間結合網におけるメッセージ
転送処理について、メッセージの性質に応じた優先メッ
セージ転送処理や、伝送バンド幅の分配を行うことがで
き、かつ、結合網内の伝送路の利用率を高めることがで
きるようにすることにある。
【0034】また、第2には、多次元トーラスの1次元
にクロスバーを接続し、それとは独立した次元数の1だ
け小さな多次元トーラスネットワークを接続したネット
ワークでのデッドロックを起こさないワームホールルー
ティングを可能にすることにある。
【0035】
【課題を解決するための手段】上記目的を達成するた
め、本発明はつぎのように構成する。複数のプロセッシ
ングエレメントを、チャネルによって相互に接続したネ
ットワークであって、複数の転送最小単位データに分割
されたメッセージを逐次的、連続的に伝送するワームホ
ールルーティングを用いた並列計算機のプロセッサ間ル
ーティング方式において、第1には、各プロセッシング
エレメント内に、任意数の転送最小単位データを蓄える
データ記憶手段を複数を備えて仮想チャネルとし、かつ
外部にデータ退避手段を設けて前記仮想チャネルを使い
切るか、あるいは使い切る前にそのデータ退避手段に仮
想チャネル内データを退避させ、データを出力する際に
データを当該データ退避手段から仮想チャネル内に復帰
させ、出力させることにより、仮想チャネルの数を見か
け上増加させるようにする。
【0036】第2には、各プロセッシングエレメント内
に、任意数の転送最小単位データを蓄えるデータ記憶手
段を複数を備えて仮想チャネルとし、かつ外部にデータ
退避手段を設けて前記仮想チャネルを使い切るか、ある
いは使い切る前にそのデータ退避手段に仮想チャネル内
データを退避させ、データを出力する際にデータを当該
データ退避手段から仮想チャネル内に復帰させ、出力さ
せることにより、仮想チャネルの数を見かけ上増加させ
るようにすると共に、任意数の仮想チャネルをグループ
化し、ルーティング手法や利用目的別に仮想チャネルを
割り当てることを特徴とする。
【0037】第3には、第1の構成において、一部ある
いは全部の仮想ネットワークに優先度を設けるか、また
は固定的に転送時間を割り当て、仮想ネットワーク毎に
優先度に従ったメッセージ転送や、一定の転送バンド幅
を保証したメッセージの転送を行なうこを特徴とする。
【0038】第4には、第1の構成において、プロセッ
シングエレメント間のメッセージ伝送におけるそのメッ
セージを中継するプロセッシングエレメントにおいて、
隣接プロセッシングエレントがメッセージを受信不可能
状態ではあるが、中継可能である時には、隣接プロセッ
シングエレメントが目的プロセッシングエレメントでな
いメッセージを隣接プロセッシングエレメントに転送
し、隣接プロセッシングエレメントがメッセージを受信
可能ではあるが、中継可能である時には、隣接プロセッ
シングエレメントに隣接プロセッシングエレメントが宛
先のメッセージを転送することを特徴とする。
【0039】
【作用】複数のプロセッシングエレメントを、チャネル
によって相互に接続したネットワークであって、複数の
転送最小単位データに分割されたメッセージを逐次的、
連続的に伝送するワームホールルーティングを用いた並
列計算機のプロセッサ間ルーティング方式において、第
1の発明では、各プロセッシングエレメント内に、任意
数の転送最小単位データを蓄えるデータ記憶手段を複数
を備えて仮想チャネルとし、かつ外部にデータ退避手段
を設けて前記仮想チャネルを使い切るか、あるいは使い
切る前にそのデータ退避手段に仮想チャネル内データを
退避させ、データを出力する際にデータを当該データ退
避手段から仮想チャネル内に復帰させ、出力させること
により、仮想チャネルの数を見かけ上増加させるように
する。
【0040】データ退避手段は仮想チャネルで溢れるデ
ータを一時退避するためのものであり、これを仮想チャ
ネルを構成するメモリよりも低速であるが、大容量のも
のが確保できるダイナミックRAM等のメモリを使用し
て急ぐ必要のないメッセージに関してはここに退避させ
る構成とすることで、仮想チャネルを高価で小容量のメ
モリを大量に使用せずに、仮想チャネルの数を増加させ
ることができる。
【0041】第2の発明の場合、第1の発明の作用効果
に加え、任意数の仮想チャネルをグループ化し、ルーテ
ィング手法や利用目的別に仮想チャネルを割り当てるよ
うにするので、並列計算機のルーティング方式において
ルーター部分に複数の仮想チャネルと仮想チャネルをグ
ループ化して管理を行なうことができ、これにより、1
個の物理ネットワーク上に、複数の仮想的なデッドロッ
クが起きないことを保証したネットワークが存在するよ
うに見せかけることができる。
【0042】ゆえに、第2の発明では、仮想チャネルの
グループ化を行って管理を行なうことによって、互いに
独立な仮想ネットワークを構成することができる。
【0043】また、第3の発明では、並列計算機のルー
ティングにおいて、仮想ネットワーク毎に転送優先順位
を設けたり、時間的に重みを持たせてスケジューリング
を行なう。
【0044】ゆえに第3の発明では、メッセージに転送
優先順位をつけて転送を行なったり、時間的に重みを持
たせてメッセージ転送を行なうことができる。
【0045】第4の発明では、メッセージを中継する際
に、宛先が現在メッセージが存在するプロセッシングエ
レメントの隣接プロセッシングエレメントであるか否か
を判定し、隣接プロセッシングエレメント宛てのメッセ
ージとそれ以外のプロセッシングエレメントへのメッセ
ージとは別々の仮想チャネルで転送を行なう。
【0046】ゆえに第4の発明では、メッセージの滞留
を減少させることができる。
【0047】第5の発明では、スペアプロセッシングエ
レメントネットワークを独立した1個の次元と看做して
ルーティングを行なうようにした。
【0048】ゆえに第5の発明では、スペアプロセッシ
ングエレメントネットワークを特殊なネットワークと扱
わずに、メッセージの転送経路設定を行なうことができ
る。
【0049】そして、いずれの本発明も、プロセッシン
グエレメントに仮想チャネルを備えたワームホールルー
ティングを行なう並列計算機システムのプロセッシング
エレメント間通信において、最小限の仮想チャネル構成
で、デッドロックフリーを満足しつつ、トラフィックの
局所的な集中を防止し、効率の良い通信を行なうことが
でき、メッセージの性質に適合したルーティングを行う
ことができる。
【0050】
【実施例】以下、本発明の実施例を図面を参照して説明
する。
【0051】(実施例1)この実施例は、複数のプロセ
ッシングエレメントを、チャネルによって相互に接続し
たネットワークであって、複数の転送最小単位データ
(フリットあるいはパケット)に分割されたメッセージ
を逐次的、連続的に伝送するワームホールルーティング
を用いた並列計算機のプロセッサ間ルーティング方式に
おいて、各プロセッシングエレメント内に、任意の数の
フリットあるいはパケット分のデータを蓄えるデータ記
憶手段(仮想チャネル)を複数を備え、かつ外部にその
仮想チャネルを使い切る、あるいは使い切る前に外部に
設けた退避領域に仮想チャネル内データを退避し、デー
タを出力する際にデータを退避領域から仮想チャネル内
に復帰、出力を行い仮想チャネルの数を見かけ上増加す
る機構を備え、この仮想チャネルの割り当てに関し、任
意の数の仮想チャネルをグループ化し、ルーティング手
法や利用目的毎独立した仮想的なネットワーク(仮想ネ
ットワーク)を提供することを特徴とするプロセッサ間
ルーティング方式である。
【0052】実施例1においては、複数個存在する仮想
チャネルと、任意の個数の仮想チャネルをグループ化す
る仮想チャネル管理部を備えたルーティング管理部によ
り、仮想ネットワークを構成する。そして、これによ
り、1個の物理ネットワーク上に互いに独立した相互に
論理的に干渉の無い、メッセージのデッドロックを起こ
さない仮想ネットワークが構成できるようにする。
【0053】具体的に説明する。本発明では、並列計算
機のルーティング処理において、メッセージの中継処理
を行なう際に、図1(a)に示すように、1本の物理チ
ャネルFCを複数チャネルの仮想チャネルVCにすると
共に、仮想チャネルVCを所要数単位でグループ化する
ことによって(図1(b))、仮想ネットワ−クワーク
化する(図1(c))。これにより、任意の仮想チャネ
ル数を持った仮想ネットワークVNを構成する。図1で
は16個の仮想チャネルVCを4個の仮想ネットワーク
VNに分割する例を示している。
【0054】仮想ネットワークVNがn個ある場合に、
仮想ネットワークVNの選択は、メッセージヘッダー中
にn個のうちのいずれの仮想ネットワークであるかを示
すフィールドを挿入することによって区別するものと
し、各プロセッシングエレメントにおけるルーティング
処理は仮想ネットワーク毎に時間的に分割して独立に行
なう。これによって、デッドロックを起こさない独立な
複数の仮想的なネットワークが存在するように扱うこと
ができる。
【0055】なお、仮想チャネルを用いずにデッドロッ
クフリーを防止できるようなルーティング、例えば同一
仮想ネットワーク内でメッセージが衝突した場合に、後
から来たメッセージを消滅させたりする場合には、仮想
ネットワークに最低2個の仮想チャネルを割り当てる必
要はない。
【0056】以上、実施例1においては、複数個存在す
る仮想チャネルと、任意の個数の仮想チャネルをグルー
プ化するようにし、任意の仮想チャネル数を持った仮想
ネットワークを構成するようにした。そして、仮想ネッ
トワークの選択は、メッセージヘッダー中にいずれの仮
想ネットワークであるかを示すフィールドを挿入するこ
とによって区別するようにし、各プロセッシングエレメ
ントにおけるルーティング処理は仮想ネットワーク毎に
時間的に分割して独立に行なうようにした。これによ
り、1個の物理ネットワーク上に互いに独立した相互に
論理的に干渉の無い、メッセージのデッドロックを起こ
さない仮想ネットワークが構成できるようになると云う
効果が得られる。
【0057】(実施例2)この実施例は複数のプロセッ
シングエレメントを、チャネルによって相互に接続した
ネットワークであって、複数の転送最小単位データ(フ
リットあるいはパケット)に分割されたメッセージを逐
次的、連続的に伝送するワームホールルーティングを用
いた並列計算機のプロセッサ間ルーティング方式におい
て、各プロセッシングエレメント内に、任意の数のフリ
ットあるいはパケット分のデータを蓄えるデータ記憶手
段(仮想チャネル)を複数を備え、かつ外部にその仮想
チャネルを使い切る、あるいは使い切る前に外部に設け
た退避領域に仮想チャネル内データを退避し、データを
出力する際にデータを退避領域から仮想チャネル内に復
帰、出力を行い仮想チャネルの数を見かけ上増加する機
構を備え、この仮想チャネルの割り当てに関し、任意の
数の仮想チャネルをグループ化し、ルーティング手法や
利用目的毎独立した仮想的なネットワーク(仮想ネット
ワーク)を提供することを特徴とするプロセッサ間ルー
ティング方式である。
【0058】実施例2においては、同一のルーティング
アルゴリズムを用いた仮想ネットワークを複数使用し、
通常のルーティングアルゴリズムでは、故障部分が存在
することによって通過できない場合に、仮想ネットワー
クを切替えてから故障部分を回避してルーティングを行
なうようにするもので、具体的に以下説明する。
【0059】図9は故障部分を回避してルーティングを
行なう実施例である。図において、白抜きの円はそれぞ
れプロセッシングエレメントPEを示しており、X,Y
方向に7個ずつ、すなわち、7行7列の配置構成をとっ
たネットワークを示している。
【0060】各プロセッシングエレメントPEに付した
数字は行、列位置対応(x方向列、y方向列の位置対
応)に付した番号であり、各プロセッシングエレメント
PEは各行各列単位で順にループ状に通信路で接続して
ある。本実施例では、同一のルーティングアルゴリズム
を用いた仮想ネットワークを複数使用し、通常のルーテ
ィングアルゴリズムでは、故障部分が存在することによ
って通過できない場合に、仮想ネットワークを切替えて
から故障部分を回避してルーティングを行なうことを示
している。
【0061】デッドロックを防止するためには、従来例
で示したようにチャネル依存関係にループができないよ
うにすれば良く、故障部分を回避するために、メッセー
ジを迂回させるたびに現在メッセージが存在する仮想ネ
ットワーク番号より“1”だけ仮想ネットワーク番号が
大きな別の仮想ネットワークにメッセージを移動して目
的プロセッシングエレメントまでのメッセージ転送を行
なうようにする。
【0062】これによって、メッセージの転送における
仮想ネットワークの依存関係からループが排除でき、従
来例で述べた仮想チャネルによるデッドロック防止と同
様の機構で、デッドロックを防止することができる。
【0063】(実施例3)この実施例は複数のプロセッ
シングエレメントを、チャネルによって相互に接続した
ネットワークであって、複数の転送最小単位データ(フ
リットあるいはパケット)に分割されたメッセージを逐
次的、連続的に伝送するワームホールルーティングを用
いた並列計算機のプロセッサ間ルーティング方式におい
て、各プロセッシングエレメント内に、任意の数のフリ
ットあるいはパケット分のデータを蓄えるデータ記憶手
段(仮想チャネル)を複数を備え、かつ外部にその仮想
チャネルを使い切る、あるいは使い切る前に外部に設け
た退避領域に仮想チャネル内データを退避し、データを
出力する際にデータを退避領域から仮想チャネル内に復
帰、出力を行い仮想チャネルの数を見かけ上増加する機
構を備え、この仮想チャネルの割り当てに関し、任意の
数の仮想チャネルをグループ化し、ルーティング手法や
利用目的毎独立した仮想的なネットワーク(仮想ネット
ワーク)を提供するようにしたプロセッサ間ルーティン
グ方式に関するものである。
【0064】実施例3においては、ルーター外に設けた
バッファメモリとメモリ管理機構により、仮想チャネル
数、仮想ネットワーク数を拡大する構成とする。そして
これにより、仮想チャネルおよび仮想ネットワークの数
を大きく取ることができるようにする。
【0065】図3を参照して実施例3を具体的に説明す
る。図3は、ルータ外にバッファメモリを設け、それに
よって、仮想的に仮想チャネルを増加する実施例であ
る。
【0066】図において、SWはメッセージの伝送経路
を切り替えるためのクロスバースイッチであり、Buf
fはメッセージ一時保持用のバッファ、RAMはランダ
ムアクセスメモリ、VNMは仮想ネットワークマネージ
ャである。また、FIFOはファーストーイン ファー
ストーアウトであり、仮想チャネルを構成するためのも
のである。
【0067】クロスバースイッチSWは通信路を切り替
えるためのものであり、バッファBuffはクロスバー
スイッチSWを介して通信路に出力されたメッセージを
一時保持するためのものであり、RAMはFIFOから
メッセージが溢れる場合に、急がないメッセージについ
て一時保管するためのものであり、仮想ネットワークマ
ネージャVNMはFIFOやクロスバースイッチSWそ
してRAMの管理や制御を司るためのものである。
【0068】本実施例では各チャネルにて伝送されてき
たメッセージを、仮想ネットワークマネージャVNMの
管理のもとに、クロスバースイッチSWを切り替えて逐
次所要の伝送路に送り出すが、溢れたものはRAMに一
旦、保持させ、後でクロスバースイッチSWを介して所
要の通信路へと送り出すようにする。
【0069】仮想チャネル数を大きくとると仮想ネット
ワークに収容できる仮想チャネル数を増やすことがで
き、ひいては通信効率の向上を図ることができるが、一
般的に仮想チャネルはFIFOで実現されるので、仮想
チャネル数を大きくとるにはハードウェア規模を大きく
する必要がある。
【0070】FIFOをランダムアクセスメモリで構成
する場合、一般的に高速なランダムアクセスメモリ素子
を使用しようとすると、記憶容量が小容量であるので、
高速の仮想チャネルを大量に作成することはFIFOの
占有空間を大きくしてしまうことから困難である。これ
を補うために本実施例では、外部に比較的低速であるが
記憶容量が大きいRAM(例えばD−RAM(ダイナミ
ックメモリ))を置き、直ぐには隣接プロセッシングエ
レメントPEに送らないメッセージについては、当該外
部のRAMに退避することによって、見掛上大容量、高
速のFIFOを構成するようにした。
【0071】FIFO本体は記憶容量が少ないが高速な
メモリを使用しており、この記憶容量で賄いきれないメ
ッセージのうち、直ぐには隣接プロセッシングエレメン
トPEに送らずに済むメッセージについては上記外部の
RAMに転送して蓄積しておき、伝送に余裕ができた段
階で、上記外部のRAMから読出してクロスバースイッ
チSWより目的の伝送路へと送り出すことで目的のプロ
セッシングエレメントPEに転送する。これにより、実
質的に高速のFIFOを構成しながらも、占有面積を増
大させることなく、大容量のFIFOとすることができ
るようになる。
【0072】(実施例4)この実施例は複数のプロセッ
シングエレメントを、チャネルによって相互に接続した
ネットワークであって、複数の転送最小単位データ(フ
リットあるいはパケット)に分割されたメッセージを逐
次的、連続的に伝送するワームホールルーティングを用
いた並列計算機のプロセッサ間ルーティング方式におい
て、各プロセッシングエレメント内に、任意の数のフリ
ットあるいはパケット分のデータを蓄えるデータ記憶手
段(仮想チャネル)を複数を備え、かつ外部にその仮想
チャネルを使い切る、あるいは使い切る前に外部に設け
た退避領域に仮想チャネル内データを退避し、データを
出力する際にデータを退避領域から仮想チャネル内に復
帰、出力を行い仮想チャネルの数を見かけ上増加する機
構を備え、この仮想チャネルの割り当てに関し、任意の
数の仮想チャネルをグループ化し、ルーティング手法や
利用目的毎独立した仮想的なネットワーク(仮想ネット
ワーク)を提供するようにしたプロセッサ間ルーティン
グ方式に関するものである。
【0073】実施例4においては、仮想ネットワーク毎
に異なったメッセージ中継制御を行なう制御機構によ
り、仮想ネットワーク毎に異なった転送経路制御およ
び、バッファー制御を行なうようにする。そして、これ
により、仮想ネットワーク毎に異なった性質を持つメッ
セージを流す場合に、その特性に合ったメッセージ転送
方法を用いることができるようにする。
【0074】そして、ルーティングにおける転送経路設
定アルゴリズムを仮想ネットワーク毎に変えることによ
って特定の物理的な通信路にメッセージが集中すること
を防止し、同一仮想ネットワーク内でのメッセージの到
着順序を保証しつつ物理通信部の利用率を向上させるこ
とができる。
【0075】実施例4を具体的に説明する。本発明で
は、メッセージはフリットと呼ばれる単位に分割して伝
送することを仮定しているが、メッセージの性質とし
て、1フリットに満たないメッセージを大量に伝送する
応用を考えた場合には、バーチャルカットスルーなどの
機構は無駄が多い。
【0076】このようなメッセージを伝送する際には、
同一条件で伝送されるメッセージを1個の長いメッセー
ジとして、バーチャルカットスルー機構を利用して伝送
を行なう。
【0077】このようなメッセージを転送するための専
用の仮想ネットワークを用意し、この専用の仮想ネット
ワークを用いて短いメッセージ転送専用のバーチャルカ
ットスルールーティングを行う。短いメッセージ転送専
用のバーチャルカットスルールーティングは図6に示す
ように、短いメッセージMessage0〜Messa
ge3があったとして、これを仮想ネットワークVN0
の仮想チャネルVC0,VC1,VC2,VC3で転送
するようにしていたものを、この各メッセージについて
専用の仮想ネットワーク例えば、VN1を用意し、各M
essage0〜Message3は一つの長いメッセ
ージを扱うような構造に組み入れてこの仮想ネットワー
クVN1により転送することによって、ルーターの管理
する個々のメッセージ数を削減することができる。
【0078】また、メッセージの長さが1フリットより
も短いことが保証されている場合には、バッファに蓄え
るメッセージの長さの単位を短くすることができるの
で、ルーターに持たせる記憶手段の容量を削減すること
ができる。
【0079】また、変形例として、つぎのようなことも
可能である。多次元トーラスネットワークでは、目的プ
ロセッシングエレメントとメッセージの存在するプロセ
ッシングエレメントの相対位置を“0”にするようにル
ーティングを行なう。ここでは、一つの次元上でプロセ
ッシングエレメントとの位置を合わせ、次に別の次元の
位置を合わせ、と云うように最終的に目的プロセッシン
グエレメントにメッセージを到達させると云うルーティ
ングアルゴリズムを仮定する。
【0080】本発明では、図4に示すように、メッセー
ジを仮想ネットワーク毎に位置を合わせる次元の順序を
変えることによって、仮想ネットワーク毎に別々の経路
を使用したメッセージ転送を行うようにする。例えば、
図のようにSなるプロセッシングエレメントPEからD
なるプロセッシングエレメントPEに伝送する場合に、
メッセージをAのルートで送ったり、Bのルートで送っ
たりする。
【0081】このようにすることにより、全部のメッセ
ージが同一の経路を利用する場合よりも、特定のプロセ
ッシングエレメント間リンクにメッセージの集中が生じ
難くなるので、全体としての通信路の利用率が向上す
る。
【0082】また、本実施例の方式によれば、同一の仮
想ネットワーク内では、全てのメッセージが同一のルー
ティングアルゴリズムで制御されるので、メッセージ間
の追い越し制御を仮想ネットワーク内で一意的に行うこ
とができる。メッセージ間の追い越しが起こらないよう
なメッセージ伝送制御を行った場合には、同一仮想ネッ
トワーク内でのメッセージの到着順序を同一プロセッシ
ングエレメント組間のメッセージ伝送について保証する
ことができる。
【0083】(実施例5)実施例5は、複数のプロセッ
シングエレメントを、チャネルによって相互に接続した
ネットワークであって、複数の転送最小単位データ(フ
リットあるいはパケット)に分割されたメッセージを逐
次的、連続的に伝送するワームホールルーティングを用
いた並列計算機のプロセッサ間ルーティング方式におい
て、各プロセッシングエレメント内に、任意の数のフリ
ットあるいはパケット分のデータを蓄えるデータ記憶手
段(仮想チャネル)を複数を備え、かつ外部にその仮想
チャネルを使い切る、あるいは使い切る前に外部に設け
た退避領域に仮想チャネル内データを退避し、データを
出力する際にデータを退避領域から仮想チャネル内に復
帰、出力を行い仮想チャネルの数を見かけ上増加する機
構を備え、この仮想チャネルの割り当てに関し、任意の
数の仮想チャネルをグループ化し、ルーティング手法や
利用目的毎独立した仮想的なネットワーク(仮想ネット
ワーク)を提供する場合に、一部あるいは全部の仮想ネ
ットワークに優先度を設け、あるいは固定的に転送時間
を割り当て、仮想ネットワーク毎に優先度に従ったメッ
セージ転送や、一定の転送バンド幅を保証したメッセー
ジの転送を行なうようにするものである。
【0084】実施例5においては、メッセージ転送の際
に仮想ネットワーク間の転送のスケジューリングを特定
の仮想ネットワークに対し、一定の時間間隔で一定の割
合以上で転送時間を割り当てるスケジュールにより、物
理通信路の転送バンド幅を分配するようにする。そし
て、最大転送時間に制限があるメッセージを一定の時間
で目的プロセッシングエレメントに転送することができ
るようにする。
【0085】実施例5を具体的に説明する。実施例5で
は実施例1で示した仮想ネットワークにて、複数の仮想
ネットワークにメッセージが蓄積されており、それらの
メッセージの転送および中継処理を行なう場合の処理に
おいて、図8に示すように特定の仮想ネットワークに一
定の時間割合で優先的に転送させるような属性を設け、
それに従って物理伝送路の伝送バンド幅をスケジューリ
ングしてメッセージの中継および転送を行なう。
【0086】また、変形例として、転送のスケジューリ
ングを、厳密に特定の仮想ネットワークにメッセージが
あろうとなかろうと一定の時間を割り当てるように行な
うことにするようにしても良い。そのとき、その仮想ネ
ットワークに各プロセッシングエレメントの挙動をモニ
タするメッセージの転送を行なうこととすると、並列計
算機全体の処理速度は遅くなるが、それ以外の影響を与
えることなく、プローブ効果を排した各プロセッシング
エレメントの挙動の監視を並列計算機の外部で行なうこ
とができる。
【0087】さらにまた別の変形例として、つぎのよう
なことが考えられる。
【0088】故障回避ルーティングを行った際に、故障
部分を回避するために、メッセージを迂回させることは
既に実施例2で述べた。この場合、迂回されたメッセー
ジが転送される物理通信路は、特定の仮想ネットワーク
に優先して使用させると優先されない仮想ネットワーク
を利用したメッセージが滞留してしまうことが起きるの
で、一定の割合で通信路のバンド幅を分割して使用する
ことが望ましい。
【0089】そこで、先に挙げた例のように故障回避の
ための仮想ネットワークと通常の仮想ネットワークに、
一定のバンド幅を割り当てることによって、通常のメッ
セージと故障回避を行ったメッセージとを特定のプロセ
ッシングエレメントで滞留させることなく転送すること
ができる。
【0090】また、実施例1で示した仮想ネットワーク
にて、複数の仮想ネットワークにメッセージが蓄積され
ており、それらのメッセージの転送および中継処理を行
なう処理において、図7に示すように特定の仮想ネット
ワークに優先的に転送させるような属性を設けたり、仮
想ネットワーク毎に転送優先順位を設け、優先順位の高
い仮想ネットワークのメッセージから中継および転送を
行なうようにしても良い。
【0091】(実施例6)実施例6は、複数のプロセッ
シングエレメントを、チャネルによって相互に接続した
ネットワークであって、複数の転送最小単位データ(フ
リットあるいはパケット)に分割されたメッセージを逐
次的、連続的に伝送するワームホールルーティングを用
いた並列計算機のプロセッサ間ルーティング方式におい
て、各プロセッシングエレメント内に、任意の数のフリ
ットあるいはパケット分のデータを蓄えるデータ記憶手
段(仮想チャネル)を複数を備え、かつ外部にその仮想
チャネルを使い切る、あるいは使い切る前に外部に設け
た退避領域に仮想チャネル内データを退避し、データを
出力する際にデータを退避領域から仮想チャネル内に復
帰、出力を行い仮想チャネルの数を見かけ上増加する機
構を備え、この仮想チャネルの割り当てに関し、任意の
数の仮想チャネルをグループ化し、ルーティング手法や
利用目的毎独立した仮想的なネットワーク(仮想ネット
ワーク)を提供する場合に、中継プロセッシングエレメ
ントにおいて、隣接プロセッシングエレントがメッセー
ジを受信不可能ではあるが、中継可能である時には、隣
接プロセッシングエレメントが目的プロセッシングエレ
メントでないメッセージを隣接プロセッシングエレメン
トに転送し、隣接プロセッシングエレメントがメッセー
ジを受信可能ではあるが、中継可能である時には、隣接
プロセッシングエレメントに隣接プロセッシングエレメ
ントが宛先のメッセージを転送することを特徴とするプ
ロセッサ間ルーティング方式に関するものである。
【0092】この実施例6では、メッセージの宛先を判
定するメッセージ選別機構により、隣接プロセッシング
エレメントあてのメッセージを別の転送待ち行列に加え
るようにする。それにより、隣接プロセッシングエレメ
ントで中継されるメッセージを、隣接プロセッシングエ
レメントの受信部の状態によらず送信することができ、
中継プロセッシングエレメントでのメッセージの滞留を
短縮し、通信路の利用率を向上させることができるよう
にする。
【0093】具体的に説明する。この実施例ではメッセ
ージの宛先を判定し、隣接プロセッシングエレメント宛
てのメッセージについては別の転送待ち行列に加えるよ
うにする。そして、これによって、メッセージを隣接プ
ロセッシングエレメント宛でないものと分離する。
【0094】隣接プロセッシングエレメントがもし、ビ
ジー(BUSY)状態であれば一切のメッセージ受信を
行なうことができないが、中継処理は更に隣のプロセッ
シングエレメントの状態にもよるものの、実施できるこ
とがある。
【0095】そのような場合には、中継メッセージの待
ち行列から隣接プロセッシングエレメントに向かって転
送すれば、隣接プロセッシングエレメントでは更に中継
できるので中継処理を行なうことができる。
【0096】例えば、図12において、Sなるプロセッ
シングエレメントPEからDなるプロセッシングエレメ
ントPEまでメッセージ転送を行っている際に、Dなる
プロセッシングエレメントPEでメッセージが一時的に
受領できなくなっている場合には、Rなるプロセッシン
グエレメントPEでメッセージを一時的に退避すれば
い。これを実現するためにはDなるプロセッシングエレ
メントPEに送るメッセージを別の転送待ち行列(一種
の仮想チャネル)を利用して転送することによって、
A,B,Cの各プロセッシングエレメントPEへ送るメ
ッセージを滞り無く転送し、結果としてRとDのプロセ
ッシングエレメントPE間で起こるホットスポットを軽
減している。
【0097】また、これとは逆にDのプロセッシングエ
レメントでメッセージが中継不可能な場合には、先に説
明したように、Rのプロセッシングエレメントにおい
て、Dに送るメッセージを別の転送待ち行列を利用して
転送することによって、Dへ送るメッセージを滞り無く
転送を行ない、結果としてやはりRとDのプロセッシン
グエレメントPE間で起こるホットスポッとを軽減する
ことができる。
【0098】なお、図12において、RTはルーターで
あり、RXは受信部である。また、SWはクロスバース
イッチである。
【0099】(実施例7)この実施例は、複数のプロセ
ッシングエレメントを、チャネルによって相互に接続し
た多次元トーラスネットワークにおいて、その任意の次
元にクロスバースイッチを接続し、クロスバースイッチ
に多次元トーラスネットワークとは独立した多次元トー
ラスネットワークを接続したネットワークにおいて、複
数の転送最小単位データ(フリットあるいはパケット)
に分割されたメッセージを逐次的、連続的に伝送するワ
ームホールルーティングを用いた並列計算機のプロセッ
サ間ルーティング方式において、次元数+1のトーラス
ネットワークと同様な、メッセージ伝送経路設定およ
び、仮想チャネル管理を行なう管理部を備える構成とす
るものである。
【0100】実施例7では、1次元にクロスバー網、お
よびクロスバーに接続した次元数−1次元のスペアプロ
セッシングエレメントによるトーラスネットワークを装
備した多次元トーラスネットワークとする。これによ
り、通常の多次元トーラスネットワークと同様なルーテ
ィングアルゴリズムを持つメッセージ転送ルート制御器
が適用でき、デッドロックを防止できる。
【0101】具体的に説明する。図5において、SNは
スペアプロセッシングエレメント網であり、RNはレギ
ュラープロセッシングエレメント網であり、レギュラー
プロセッシングエレメント網RNではプロセッシングエ
レメントを7行7列配置した例である。
【0102】各x方向のプロセッシングエレメントSy
x(y,x=0,1,2,3…)をループ状の通信路で
結び、各y方向のプロセッシングエレメントをループ状
の通信路で結び、各プロセッシングエレメントはy方向
位置単位でそれぞれ設けたクロスバースイッチCBy
(y=0,1,2,3…)に接続されている。
【0103】スペアプロセッシングエレメント網SNは
プロセッシングエレメントS 1yx(y,x=0,1,
2,3…)をループ状の通信路で結び、各プロセッシン
グエレメントS 1yx(y,x=0,1,2,3…)は
それぞれ対応する一つのクロスバースイッチCBy(y
=0,1,2,3…)に接続されている。
【0104】図5に示すような2次元の変形トーラス網
でルーティングを行なう場合、スペアプロセッシングエ
レメント網は、2次元のトーラス網の一部ではなく、1
次元の長さが“1”の4次元のトーラス網と扱うことが
できる。本発明は、2次元だけではなく、それ以上の次
元数をもった同様のネットワークにも適用できる。
【0105】図2では、2次元トーラス部分をそれぞ
れ、次元X、次元Yとし、スペアプロセッシングエレメ
ントと通常のプロセッシングエレメントとの接続を次元
Sとして表し、次元Yから順にX,Sという順で相対的
な位置を“0”に近付けながらルーティングを行なう様
子を示している。
【0106】以下にルーティングの様子を示すが、ここ
ではプロセッシングエレメント番号をPE“SYX”と
いうように表記する。なお、S=1のときにプロセッシ
ングエレメントPEはスペアプロセッシングエレメント
であることを示す。
【0107】図5において、プロセッシングエレメント
番号PE“000”のプロセッシングエレメントからプ
ロセッシングエレメント番号PE“037”のプロセッ
シングエレメントへの伝送では、PE“037”のプロ
セッシングエレメントが3行目にあるので、まず、“0
10”,“020”,“030”という順で3行目まで
転送を行ない、3行目のプロセッシングエレメントであ
る“030”のプロセッシングエレメントから3行7列
目のプロセッシングエレメント“037”へは隣接して
いるので、クロスバースイッチを通さずに転送を行な
う。
【0108】プロセッシングエレメント番号PE“00
1”のプロセッシングエレメントからプロセッシングエ
レメント番号“110”のプロセッシングエレメントへ
の送信の場合は、“001”から“011”へ、そこか
らクロスバースイッチを使用して、直接“110”のプ
ロセッシングエレメントへ転送を行うことができる。即
ち、転送先、転送元のいずれかが、スペアプロセッシン
グエレメントの場合にはXの位置合わせとSの位置合わ
せを同時に行なうことができる。
【0109】プロセッシングエレメント番号PE“12
0”のプロセッシングエレメントからプロセッシングエ
レメント番号“022”のプロセッシングエレメントへ
の転送は、プロセッシングエレメント番号“120”の
プロセッシングエレメントとプロセッシングエレメント
番号“022”のプロセッシングエレメントがクロスバ
ースイッチ経由でつながっているので、直接クロスバー
スイッチで転送する。
【0110】プロセッシングエレメント番号PE“03
3”のプロセッシングエレメントからプロセッシングエ
レメント番号“034”のプロセッシングエレメントへ
の転送では、これらが隣接しているのでクロスバースイ
ッチを使用せずに転送する。
【0111】プロセッシングエレメント番号PE“03
7”のプロセッシングエレメントからプロセッシングエ
レメント番号“033”のプロセッシングエレメントへ
の転送の場合は、図5の構成の場合、クロスバースイッ
チCB2を通した方が3行目のプロセッシングエレメン
ト間を転送するよりも距離が短いので、クロスバースイ
ッチCB2を利用して転送を行う。
【0112】プロセッシングエレメント番号PE“14
0”のプロセッシングエレメントからプロセッシングエ
レメント番号“120”のプロセッシングエレメントへ
は、スペアプロセッシングエレメント同士のリンクであ
る。この場合、スペアネットワークSNを用い、スペア
ネットワークSNにおけるプロセッシングエレメント番
号PE“130”のプロセッシングエレメントを経由し
て転送する。
【0113】プロセッシングエレメント番号PE“16
0”のプロセッシングエレメントからプロセッシングエ
レメント番号“054”のプロセッシングエレメントへ
の転送は、Y位置を合わせるため、プロセッシングエレ
メント番号“150”のプロセッシングエレメントに転
送し、そこからプロセッシングエレメント番号“05
4”のプロセッシングエレメントにクロスバーCB5を
利用して転送を行なう。
【0114】プロセッシングエレメント番号PE“07
1”のプロセッシングエレメントからプロセッシングエ
レメント番号“045”のプロセッシングエレメントへ
は、プロセッシングエレメント番号“061”,プロセ
ッシングエレメント番号“051”,プロセッシングエ
レメント番号“041”の各プロセッシングエレメント
を経由して転送し、クロスバースイッチCB4を利用し
てこのクロスバースイッチCB4からは直接、プロセッ
シングエレメント番号“045”のプロセッシングエレ
メントに転送する。
【0115】本ネットワークで、ワームホールルーティ
ングを行った際のデッドロック対策は、従来例で示した
トーラスネットワークにおけるデッドロック回避条件で
ある、一つの平面内で曲がり数が1以内であれば、最低
2個の仮想チャネルを利用すれば良いという条件が適用
できるので、先に示した仮想ネットワークに最低2個の
仮想チャネルを割り当てればデッドロックを防止するこ
とができる。
【0116】
【発明の効果】以上説明したように本発明によれば、並
列計算機の計算機間結合網におけるメッセージ転送処理
において、メッセージの性質に応じた優先メッセージ転
送処理や、伝送バンド幅の分配を行うことができ、か
つ、結合網内の伝送路の利用率を高めることができる。
【0117】また、多次元トーラスの1次元にクロスバ
ーを接続し、それとは独立した次元数の1だけ小さな多
次元トーラスネットワークを接続したネットワークでの
デッドロックを起こさないワームホールルーティング手
段を提供することができる。
【図面の簡単な説明】
【図1】本発明の実施例を説明するための図であって、
本発明による仮想ネットワークの概念を示す図。
【図2】本発明の実施例を説明するための図であって、
本発明による仮想ネットワークと仮想チャネルの割り当
てを説明するための図。
【図3】本発明の実施例を説明するための図であって、
本発明によるルーターの内部構成例を示す図。
【図4】本発明の実施例を説明するための図であって、
異なった転送経路の利用例を示す図。
【図5】本発明の実施例を説明するための図であって、
本発明によるクロスバースイッチ付き2次元トーラスネ
ットワークにおけるルーティングを説明するための図。
【図6】本発明の実施例を説明するための図であって、
本発明による短いメッセージ転送専用のバーチャルカッ
トスルールーティングの例を説明するための図。
【図7】本発明の実施例を説明するための図であって、
本発明において使用する優先メッセージ属性を含んだヘ
ッダーの例を示す図。
【図8】本発明の実施例を説明するための図であって、
本発明において使用するリアルタイムメッセージ属性を
含んだヘッダーの例を示す図。
【図9】本発明の実施例を説明するための図であって、
仮想ネットワークを利用した故障回避ルーティングの例
を示す図。
【図10】本発明の実施例を説明するための図であっ
て、本発明における仮想ネットワーク毎の転送時間の割
当の様子を説明するための図。
【図11】本発明の実施例を説明するための図であっ
て、本発明におけるホットスポットの低減の例を説明す
るための図。
【図12】本発明の実施例を説明するための図であっ
て、本発明における隣接プロセッシングエレメントへの
メッセージとそれ以外のメッセージの分割の例を説明す
るための図。
【図13】本発明の実施例を説明するための図であっ
て、本発明における2次元トーラスネットワークの例を
示す図。
【図14】本発明の実施例を説明するための図であっ
て、本発明における4個のプロセッシングエレメントで
構成された1次元トーラスネットワークの例を示す図。
【図15】従来システムにおけるトーラスネットワーク
でのデッドロックの例を説明するための図。
【図16】従来技術としての仮想チャネルの例を説明す
るための図。
【図17】従来技術を説明するための図であって、仮想
チャネルによるデッドロックの解消の例を説明するため
の図。
【図18】従来技術を説明するための図であって、バー
チャルカットスルーの構成例を説明するための図。
【符号の説明】
PE,PE1〜PEn…プロセッシングエレメント VN0〜VNn…仮想ネットワーク VC0〜VCn…仮想チャネル。
フロントページの続き (56)参考文献 特開 平2−43849(JP,A) 電子情報通信学会技術研究報告 VO L.94,NO.317 P7−13 1994 菅野伸一 他3名「超並列計算機TS /1のルーティング方式」 情報処理学会研究報告 VOL.93, NO.71 P.41−48 1993 田辺 昇 他3名「超並列テラフロップスマシン TS/1の構想」 電子情報通信学会論文誌D−1 VO L.J75−D−1 NO.8 PP. 637−645 1992/8 石畑宏明 他4名 「高並列計算機AP1000のアーキテクチ ャ」

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のプロセッシングエレメントを、チ
    ャネルによって相互に接続したネットワークであって、
    複数の転送最小単位データに分割されたメッセージを逐
    次的、連続的に伝送するワームホールルーティングを用
    いた並列計算機のプロセッサ間ルーティング方式におい
    て、 各プロセッシングエレメント内に、任意数の転送最小単
    位データを蓄えるデータ記憶手段を複数を備えて仮想チ
    ャネルとし、かつ外部にデータ退避手段を設けて前記仮
    想チャネルを使い切るか、あるいは使い切る前にそのデ
    ータ退避手段に仮想チャネル内データを退避させ、デー
    タを出力する際にデータを当該データ退避手段から仮想
    チャネル内に復帰させ、出力させることにより、仮想チ
    ャネルの数を見かけ上増加させるようにすることを特徴
    とするプロセッサ間ルーティング方式。
  2. 【請求項2】 複数のプロセッシングエレメントを、チ
    ャネルによって相互に接続したネットワークであって、
    複数の転送最小単位データに分割されたメッセージを逐
    次的、連続的に伝送するワームホールルーティングを用
    いた並列計算機のプロセッサ間ルーティング方式におい
    て、 各プロセッシングエレメント内に、任意数の転送最小単
    位データを蓄えるデータ記憶手段を複数を備えて仮想チ
    ャネルとし、かつ外部にデータ退避手段を設けて前記仮
    想チャネルを使い切るか、あるいは使い切る前にそのデ
    ータ退避手段に仮想チャネル内データを退避させ、デー
    タを出力する際にデータを当該データ退避手段から仮想
    チャネル内に復帰させ、出力させることにより、仮想チ
    ャネルの数を見かけ上増加させるようにすると共に、任
    意数の仮想チャネルをグループ化し、ルーティング手法
    や利用目的別に仮想チャネルを割り当てることを特徴と
    するプロセッサ間ルーティング方式。
  3. 【請求項3】 一部あるいは全部の仮想ネットワークに
    優先度を設けるか、または固定的に転送時間を割り当
    て、仮想ネットワーク毎に優先度に従ったメッセージ転
    送や、一定の転送バンド幅を保証したメッセージの転送
    を行なうこを特徴とする請求項1記載のプロセッサ間ル
    ーティング方式。
  4. 【請求項4】 プロセッシングエレメント間のメッセー
    ジ伝送におけるそのメッセージを中継するプロセッシン
    グエレメントにおいて、 隣接プロセッシングエレメントがメッセージを受信不可
    能状態ではあるが、中継可能である時には、隣接プロセ
    ッシングエレメントが目的プロセッシングエレメントで
    ないメッセージを隣接プロセッシングエレメントに転送
    し、隣接プロセッシングエレメントがメッセージを受信
    可能ではあるが、中継不可能である時には、隣接プロセ
    ッシングエレメントに隣接プロセッシングエレメントが
    宛先のメッセージを転送することを特徴とする請求項1
    記載のプロセッサ間ルーティング方式。
  5. 【請求項5】 複数のプロセッシングエレメントを、仮
    想チャネルによって相互に接続した多次元トーラスネッ
    トワークであって、その任意の次元にクロスバースイッ
    チを接続し、クロスバースイッチに多次元トーラスネッ
    トワークとは独立した多次元トーラスネットワークを接
    続したネットワークにて複数の転送最小単位データに分
    割されたメッセージを逐次的、連続的に伝送するワーム
    ホールルーティングを用いた並列計算機のプロセッサ間
    ルーティング方式において、 中継要素としてクロスバースイッチとプロセッシングエ
    レメントを含めた最短経路となる経路の要素を辿るべ
    く、メッセージ伝送経路および、仮想チャネルを選択し
    て伝送することを特徴とするプロセッサ間ルーティング
    方式。
  6. 【請求項6】 複数の転送最小単位データはフリットも
    しくはパケットであることを特徴とする請求項1乃至5
    いずれか1項記載の並列計算機のプロセッサ間ルーティ
    ング方式
JP6248441A 1994-09-17 1994-09-17 プロセッサ間ルーティング方式 Expired - Lifetime JP2607851B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6248441A JP2607851B2 (ja) 1994-09-17 1994-09-17 プロセッサ間ルーティング方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6248441A JP2607851B2 (ja) 1994-09-17 1994-09-17 プロセッサ間ルーティング方式

Publications (2)

Publication Number Publication Date
JPH0887480A JPH0887480A (ja) 1996-04-02
JP2607851B2 true JP2607851B2 (ja) 1997-05-07

Family

ID=17178178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6248441A Expired - Lifetime JP2607851B2 (ja) 1994-09-17 1994-09-17 プロセッサ間ルーティング方式

Country Status (1)

Country Link
JP (1) JP2607851B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1726132A2 (en) * 2004-03-03 2006-11-29 Koninklijke Philips Electronics N.V. Data processing circuit wherein data processing units communicate via a network.
JP5493575B2 (ja) * 2009-08-10 2014-05-14 富士通株式会社 情報処理装置及び情報処理装置の制御方法
WO2011070913A1 (ja) * 2009-12-07 2011-06-16 日本電気株式会社 オンチップ並列処理システム及び通信方法
JPWO2014103078A1 (ja) 2012-12-28 2017-01-12 富士通株式会社 情報処理システム、情報処理システムの管理方法および情報処理システムの管理プログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
情報処理学会研究報告 VOL.93,NO.71 P.41−48 1993 田辺 昇 他3名「超並列テラフロップスマシンTS/1の構想」
電子情報通信学会技術研究報告 VOL.94,NO.317 P7−13 1994 菅野伸一 他3名「超並列計算機TS/1のルーティング方式」
電子情報通信学会論文誌D−1 VOL.J75−D−1 NO.8 PP.637−645 1992/8 石畑宏明 他4名「高並列計算機AP1000のアーキテクチャ」

Also Published As

Publication number Publication date
JPH0887480A (ja) 1996-04-02

Similar Documents

Publication Publication Date Title
Tamir et al. High-performance multi-queue buffers for VLSI communications switches
US5175733A (en) Adaptive message routing for multi-dimensional networks
US4922408A (en) Apparatus for multi-processor communications
Tamir et al. Dynamically-allocated multi-queue buffers for VLSI communication switches
US6370145B1 (en) Internet switch router
US5179558A (en) Routing apparatus and method for high-speed mesh connected local area network
US4752777A (en) Delta network of a cross-point switch
US4032899A (en) Apparatus and method for switching of data
EP1005745B1 (en) Router with virtual channel allocation
Duato et al. Performance evaluation of adaptive routing algorithms for k-ary n-cubes
US4814762A (en) Delta network control of a cross-point switch
EP0884924B1 (en) ATM Communication apparatus
JP3322195B2 (ja) Lanスイッチ
JPH08185380A (ja) 並列計算機
US20080089329A1 (en) Computer cluster
CN116235469A (zh) 网络芯片和网络设备
JPH04227155A (ja) ネットワーク情報転送方法及び装置
CN106168940A (zh) 高密度片上网络的路网实现方法及装置
JP2607851B2 (ja) プロセッサ間ルーティング方式
WO1987002155A1 (en) Communication network for multiprocessor packet communication
Shin et al. Analysis and implementation of hybrid switching
Liu et al. Hierarchical adaptive routing: A framework for fully adaptive and deadlock-free wormhole routing
JPH10333836A (ja) ディスクアレイ制御装置
EP0404339B1 (en) Routing apparatus and method for high-speed mesh connected local area network
WO2020092767A1 (en) Hierarchical switching device with deadlockable storage and storage partitions

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090213

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20090213

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20100213

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20100213

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20110213

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20110213

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20120213

Year of fee payment: 15

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

Free format text: PAYMENT UNTIL: 20130213

Year of fee payment: 16

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term