JP3532574B2 - トーラス相互結合網のための適応ルーティング機構 - Google Patents

トーラス相互結合網のための適応ルーティング機構

Info

Publication number
JP3532574B2
JP3532574B2 JP53098696A JP53098696A JP3532574B2 JP 3532574 B2 JP3532574 B2 JP 3532574B2 JP 53098696 A JP53098696 A JP 53098696A JP 53098696 A JP53098696 A JP 53098696A JP 3532574 B2 JP3532574 B2 JP 3532574B2
Authority
JP
Japan
Prior art keywords
virtual
packet
routing
deterministic
processing element
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
JP53098696A
Other languages
English (en)
Other versions
JPH10506736A (ja
Inventor
ソーソン,グレゴリー・エム
スコット,スティーブン・エル
Original Assignee
クレイ・リサーチ・インコーポレイテッド
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 クレイ・リサーチ・インコーポレイテッド filed Critical クレイ・リサーチ・インコーポレイテッド
Publication of JPH10506736A publication Critical patent/JPH10506736A/ja
Application granted granted Critical
Publication of JP3532574B2 publication Critical patent/JP3532574B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17331Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 発明の分野 本発明は一般的に、高速ディジタルデータ処理システ
ムに関し、特に、デッドロックを回避する多重処理ネッ
トワーク内でのデータの適応ルーティングの方法に関す
る。
発明の背景 マルチプロセッサコンピュータシステムは、相互結合
網によって互いに接続された幾つかの処理素子ノードを
備える。上記マルチプロセッサシステムの全体的性能
は、大部分が相互結合網の性能に依存する。
相互結合網の性能低下の最初の原因は、上記網におけ
る一様でない通信パターンとランダムな平衡状態(方程
式)による輻輳である。輻輳が非常に局所的に限定され
た処理素子ノードに制限されると、その輻輳はメッセー
ジの大きな停滞へ導く。上記輻輳問題に対処するために
使用されている1つの技術は、適応ルーティングであ
る。適応ルーティングは、データの複数のパケットが相
互結合網における輻輳した領域の周囲を動的にルーティ
ング(ルート選択)されることを可能にする。それにも
かかわらず、適応ルーティング機構の潜在的な性能の利
点は、もし適切に実施されなければ、設計の複雑さを加
えてデッドロックの可能性を導入する。さらに、三次元
トーラス(正方格子網において、最左端と最右端、最上
端と最下端どうしのノードを結合したもの)相互結合ト
ポロジにおいて、デッドロックを回避するための前述の
解決法は非常に高価であった。
相互結合網はノード間で情報のパケットを送信する。
1つのパケットに包まれる可能性のある情報の例は、メ
ッセージ、共有されるメモリ動作、又は種々の形態のデ
ータである。パケットは多数の物理的転送単位(フィッ
ト(phits))を備える。1つのフィットは典型的に、
処理素子ノード間のネットワークの物理的通信リンク又
は物理チャンネルの幅である。
ネットワークの性能は、パケットの遅延及びスループ
ットの関数である。パケットの遅延は、パケットの送信
の開始から上記パケットの最後のフィットがそれの目的
地で受信されるまでの時間である。パケットのスループ
ットは典型的に、相互結合網によって伝送される処理素
子当たりの1秒当たりのバイトとして測定される。遅延
とスループットは独立し、両方とも通信負荷に依存す
る。
相互結合網のタイプ 第1世代のマルチプロセッサシステムは、ストアアン
ドフォワード相互結合網を利用する。ストアアンドフォ
ワード相互結合網は、ソースから目的地へのパスに沿っ
てノードからノードに単一の単位としてパケットを転送
する。パケットの最後のフィットが受信されるまで、各
ノードはパケットのヘッドを次のノード上に送信するた
めに待機する。
より最近のマルチプロセッサシステムは、ワームホー
ルルーティングの幾つかの形態を使用する相互結合網を
利用する。ワームホールルーティングの相互結合網は、
パケットの後部がノードによって受信される前に、上記
ノードからのパケットの先頭をルーティングする。上記
パケットはフロー制御単位(flow control units、以
下、flit(フリット)という。)と呼ばれる幾つかのよ
り小さいメッセージパケットに分割され、上記フリット
は1つ又はそれ以上のフィットでもよい。ヘッダのフリ
ットは処理素子ノードによって受信され、それの目的地
について調査される。ヘッダのフリットは上記ルーティ
ングアルゴリズムによって示される次のノード上に送信
される。残りのフリットはデータ列(train)のような
方法でヘッダのフリットの後に続く。ノード間のフロー
制御は、ストアアンドフォワード相互結合網においては
パケット毎の基準よりむしろフリット毎の基準で達成さ
れる。従って、ワームホールルーティングにおいて、1
つのパケットは物理的通信リンクをわたって部分的に転
送されてもよく、そのとき、受信するノードにおいてバ
ッファ空間の不足のためにブロックされるかもしれな
い。
ワームホールルーティングは、少し負荷を与えられた
ネットワークにおけるパケットの遅延を明らかに減少
し、なぜなら、リンク上にパケットを転送するための時
間(1パケット×クロックの周期当たりのフィット)
は、1ホップ当たりに一度よりむしろネットワークの1
回の横断当たりに一度だけ行われるからである。ノード
は全体のパケットをバッファする必要がないので、ワー
ムホールルーティングはまた、ネットワークにおいてバ
ッファするときの必要条件を大幅に減少させる。
しかしながら、ワームホールルーティングに伴う問題
は、ヘッダのフリットがブロックすると、残りのフリッ
トが上記ヘッダの後ろで立ち往生することである。ブロ
ックされたパケットは、ブロックされた所のノードを介
してルーティングすることをヘッダのフリットが所望し
てないパケットでさえも、進行する他の複数のパケット
を邪魔するかもしれない。このことは、特に一様でない
通信パターンの存在において、大きなネットワークの性
能劣化を引き起こす。
相互結合網の第3のタイプは仮想カットスルー相互結
合網である。仮想カットスルー相互結合網は、1つのパ
ケットがバッファをブロックするときそのバッファが1
つの全体のパケットを受信しなければならないことを除
いて、ワームホールネットワークに似ている。従って、
仮想カットスルールーティングは、ワームホールルーテ
ィングにおいて発生するブロッキング固有の問題を回避
するが、ブロックされたすべてのパケットをバッファす
る必要がある付加的なハードウェアのコストがある。
本アプリケーションはワームホールルーティングネッ
トワークを拡張する複数の機構に関係する。
デッドロック デッドロックは、循環的依存状態(cyclic dependenc
ies)が1組のチャンネルバッファ間に生じるときに発
生し、含まれるすべてのバッファを満たしてブロックす
ることを引き起こす。相互結合網の設計と対応するルー
ティングアルゴリズムにおける最初の考慮は、デッドロ
ックを回避することである。
デッドロック状況は、チャンネル−依存度のグラフに
よって定式化され、指示されたグラフのノードはネット
ワークのチャンネルを表し、指示されたグラフの弧はチ
ャンネル間の依存度を表す。ある1つのパケットがチャ
ンネルxからチャンネルyに直接ルーティングすること
ができる場合及びその場合に限って、1つの孤はチャン
ネルxとyとの間に存在する。もしそれのチャンネル−
依存度のグラフが非循環的であればネットワークはデッ
ドロックフリー(デッドロック状態が起きないこと)で
あることが提供される。
デッドロックを回避するための1つの簡単な方法は、
循環的なバッファの依存状態の可能性を除去するため
に、相互結合網上の処理素子ノード間の複数のパケット
をルーティングするために用いられる相互結合網のトポ
ロジ及び/又はルーティング機能を制限することであ
る。例えば、もしルーティング機能が制限されて、その
結果、次元がいつもe−キューブ又は次元順序ルーティ
ングアルゴリズムを用いて昇順で横断されるので、二次
元のハイパーキューブトポロジはデッドロックフリーで
ある。ほとんどで、1つのホップが1次元当たりに行わ
れてパケットがより低い次元にルーティングされないの
で、循環的バッファ依存状態はない。各次元における反
対側を流れているトラヒックが別個の複数組のバッファ
を使用して、次元は昇順で横断されるので、e−キュー
ブルーティングアルゴリズムはまた、n次元メッシュト
ポロジのデッドロックフリーを生成するために使用され
ることができる。しかしながら、トーラストポロジは、
e−キューブルーティングに制限されたときにデッドロ
ックフリーではなく、なぜなら、トーラストポロジにお
ける周囲を包囲するラップアラウンドリンクは、循環的
バッファ依存状態が単一のリング上で形成されることを
可能にするからである。
さらに、複数のメッシュにおいて、デッドロックは要
求パケットと応答パケットとの間の依存状態のために生
じる。1つのノードは、上記ノードが前の要求に対して
応答パケットを送信するまで、より多くの要求パケット
を受信することができないので、もし応答パケットがネ
ットワークにおいて要求パケットの後ろに待機させられ
るときに、デッドロックは発生する。要求パケットと応
答パケットとの間にこの依存状態問題への高価な解決策
は、要求と応答に対して独立した物理ネットワークを使
用することである。
仮想チャンネル 仮想チャンネルは、デッドロックを回避してネットワ
ークの輻輳を減少するために使用される。各物理チャン
ネルは1つ又はそれ以上の仮想チャンネルに分割され
る。各仮想チャンネルは、仮想パスに沿った複数のパケ
ットを記憶するための仮想チャンネルバッファを含む。
複数の仮想チャンネルは共通の物理チャンネルをわたっ
て多重化されるが、他の点では独立して動作する。従っ
て、共通の物理チャンネルをわたって多重化された第1
の仮想チャンネル上のブロックされたパケットは、共通
の物理チャンネル上で多重化された第2の仮想チャンネ
ルの後ろの複数のパケットをブロックしない。
適応ルーティング 適応ルーティングはマルチプロセッサコンピュータシ
ステムの性能を増大するために使用されている。適応ル
ーティング相互結合網は、上記相互結合網における輻輳
の回りの複数のパケットを動的にルーティングする。従
って、適応ルーティング機構は、ネットワークのスルー
プットを劇的に増大し、通信パターンにおける変化への
ネットワークの感度を劇的に減少する。
適応ルーティングアルゴリズムは、最小又は非最小の
いずれかであるとして特徴付けられる。最小ルーティン
グアルゴリズムは、ソースノードと目的ノードの間の最
短距離のルーティングパスだけを可能にする。非最小ル
ーティングアルゴリズムは、パケットがソースノードと
目的ノードとの間の全体のルート距離を増す代わりのパ
スをルーティングすることを可能にする。従って、非最
小ルーティングアルゴリズムは、最小ルーティングアル
ゴリズムが単一のパスに束縛される状況において適応ル
ーティングを可能にする。このように、非最小ルーティ
ングアルゴリズムはネットワークにおける故障部(フォ
ルト)の周囲を動的にルーティングするために使用され
る。しかしながら、非最小ルーティングアルゴリズム
は、異なる物理的な仕切りでの複数の処理間のネットワ
ークの干渉を引き起こす。さらに、前方向への進行が保
証されないので、非最小ルーティングアルゴリズムはラ
イブロック状況が発生することを許してしまう。デッド
ロックの回避は非最小ルーティングアルゴリズムにおい
てより困難になってしまう。
最小適応ルーティングアルゴリズムは完全に適応的又
は部分的に適応的であることが可能である。完全適応ル
ーティングアルゴリズムはソースと目的地の間のどのよ
うな代わりのパスをも可能にし、一方、部分適応ルーテ
ィングアルゴリズムは幾つかの方法での選択を制限す
る。例えば、部分適応ルーティングアルゴリズムは、す
べての次元の正方向におけるルーティングが、負方向に
おけるいかなるルーティングが実行される前に終了され
る必要がある。二次元トーラスにおいて、これは、+X
及び+Y方向におけるパケットの移動に対する完全適応
性を結果として生じるが、+X及び−Y方向において移
動するパケットに対する決定的ルーティングを結果とし
て生じる。
デッドロックが回避されなければならないので、適応
ルーティングアルゴリズムは実施することが困難であ
る。上述したように、デッドロックは、チャンネル−依
存度のグラフからの循環を除去するためにトポロジ又は
ルーティング機能を制限することによって回避されるこ
とが可能である。対照的に、適応ルーティングの目的
は、パケットがルーティングしてもよい多数の代わりの
パスを提供するためにルーティング機能の自由度を増大
させることである。
適応ルーティングによって生じられる付加的な問題
は、ネットワークの順序付けに関する。決定的(非適
応)ルーティングを用いて、同一のソースから同一の目
的地に伝送される2つのパケットが順番に送られる。多
くの状況において、上記2つのパケットは、同一の遠隔
のメモリ位置に要求を書き込むようなセットの順序で伝
送されなければならない。適応ルーティングは一般的
に、2つのパケットが異なるルートを取って反対の順序
で到達することを可能にする。従って、順番にパケット
を伝送する問題は、もし伝送順序が要求されれば、注意
を向けられなければならない。
仮想チャンネルを使用する完全適応ルーティング C.R.Jesshope,P.R.Miller and J.P.Yantchev(シー・
アール・ジェスホープ、ピー・アール・ミラー及びジェ
イ・ピー・ヤンチェフ),High performance Communicat
ions in Processor Networks(プロセッサネットワーク
における高性能通信),proc.16th International Sympo
sium on Computer Architectureの150−157において198
9年5月における物理ネットワークは、複数のターン(t
urns)によって起こされるサイクルを壊すために移動の
方向に依存する多数の仮想ネットワークに分割される。
各仮想ネットワーク内の付加的仮想チャンネルはトーラ
スにおけるラップアラウンドリンクによって起こされる
サイクルを壊すために開かれる。2nの仮想ネットワーク
はn次元トーラス又はメッシュのために必要とされる。
2倍の仮想チャンネル数は二次元トーラストポロジにお
けるラップアラウンドサイクルを壊すために必要とされ
る。ジェスホープ他の文書は、複数の要求とそれに対応
する複数の対応によって生成される複数のサイクルに注
意を向けていない。要求/応答サイクルは、すべてのサ
イクルを壊すために必要とされる仮想チャンネル数を2
倍にする。ジェスホープ他の方法を使用する要求及び応
答トラヒックに対する三次元メッシュを構築するため
に、1つの物理チャンネル当たり16個の仮想チャンネル
が必要とされる。少なくとも32個の仮想チャンネルが、
三次元トーラストポロジに対する1個の物理チャンネル
当たりに必要とされる。
D.H.Linder and G.C.Harden(ディー・エイチ・リン
ダー及びジー・シー・ハーデン),An Adaptive and Fau
lt Tolerant Wormhole Routing Strategy for k−ary n
−cubes(k−aryでn個の立方体に対する適応及びフォ
ールトトレラントワームホールルーティングストラテジ
ー),I.E.E.E.Trans.on Computersの2−12において199
1年1月における移動方向に基づく複数の仮想ネットワ
ークは、n次元トーラス又はメッシュのために使用され
る。リンダー他は、n次元トーラス又はメッシュに対し
て2n−1個の仮想ネットワークを必要とする。さらに、
1個の仮想ネットワーク当たりn+1個の仮想チャンネ
ルがトーラスにおいてラップアラウンドリンクによって
引き起こされるサイクルを壊すために必要とされる。ま
た、要求/応答サイクルはリンダー他の文献では注意を
向けられてない。リンダー他の方法を使用する三次元ト
ーラストポロジは1個の物理チャンネル当たりに32個の
仮想チャンネルを必要とする。
W.J.Dally and H.Aoki(ダブリュ・ジェイ・ダリー及
びエイチ・アオキ),Adaptive Routing Using Virtual
Channels(仮想チャンネルを使用する適応ルーティン
グ),I.E.E.E.Transactions on Parallel and Distribu
ted Systems,Vol.4,No.4の466−475における1993年4月
において、静的アルゴリズムと動的ルーティングアルゴ
リズムが開示されている。ダリー他の静的アルゴリズム
において、移動方向に基づいて仮想チャンネルのクラス
を生成することよりむしろ、仮想チャンネルのクラス
は、パケットが行う次元の反転の回数に基づいて生成さ
れる。パケットがより高い番号を付けられた次元からよ
り低い番号を付けられた次元にルーティングするとき、
次元の反転は発生する。n+1個のそのようなクラスを
用いて、1つのパケットはn次元の反転を行うだけでも
よく、次いで、決定的にルーティングしなければならな
い。ダリー他の文献だけが複数のメッシュについて論及
している。ダリー他の動的方法はデッドロックフリーの
サブネットワークのセクションのもとで以下で述べられ
る。
仮想チャンネルを使用する部分的適応ルーティング 上記の文献は、付加的仮想チャンネルに基づいて完全
適応ルーティング機構を記述する。C.J.Glass and L.M.
Ni(シー・ジェイ・グラス及びエル・エム・ニー),The
Turn Model for Adaptive Routing(適応ルーティング
のためのターンモデル),Proc. 19th International Sy
mposium on Computer Architectureの278−287の1992年
5月において、仮想チャンネルを加えることなく部分的
適応性を提供するターンモデルルーティング方法が述べ
られる。上記ターンモデルは、複数のパケットがチャン
ネル−依存度のグラフにおけるサイクルを壊すために生
成するターン数を制限する。グラス他は複数の二次元メ
ッシュトポロジのための幾つかの部分的適応ルーティン
グアルゴリズムを表す。例えば、パケットを決定的に
西、次いで東、北及び南方向に適応的にルーティングす
る1番目に西へルート選択するルーティングアルゴリズ
ムが記述される。最小ルーティングに対して、1番目に
西へルート選択するルーティングアルゴリズムは西に移
動しないパケットに対しては完全適応性を提供し、西に
移動するパケットに対しては適応性を提供しない。グラ
ス他の文献は、余分な仮想チャンネルを加えることなく
4より大きい基数を有するトーラスのための適応的でデ
ッドロックフリーな最小ルーティングアルゴリズムを提
供することは不可能であることを述べる。複数のトーラ
ストポロジのための幾つかの非最小で部分的適応アルゴ
リズムはグラス他の文献に表される。
A.A.Chien and J.H.Kim(エー・エー・チェン及びジ
ェイ・エイチ・キム),Planar−Adaptive Routine:Low
−Cost Networks for Multiprocessors(二次元適応ル
ーチン:マルチプロセッサに対する適応ネットワークの
ための低コストネットワーク),proc.19th Internation
al Symposium on Computer Architectureの268−277に
おける1992年5月において、二次元適応モデルが記述さ
れる。二次元適応モデルは付加的な仮想チャンネルを使
用することによってトーラス及びメッシュに対する部分
的適応性を提供する。二次元適応モデルは一連の二次元
平面(例えば、三次元ネットワークにおけるXYとYZであ
る。)において適応的にパケットをルーティングする。
二次元適応モデルは、2より大きいnであり独立したn
であるn次元ネットワークに対して一定数の仮想チャン
ネルを必要とする。二次元適応モデルは、メッシュトポ
ロジに対して1個の物理チャンネル当たり3個の仮想チ
ャンネルを必要とし、トーラストポロジに対して1個の
物理チャンネル当たり6個の仮想チャンネルを必要とす
る。しかしながら、チェン他の文献は要求/応答サイク
ルを考慮することを無視する。二次元適応モデルを使用
する三次元トーラスネットワークは、要求/応答サイク
ルを壊すために1個の物理チャンネル当たり12個の仮想
チャンネルを必要とする。
デッドロックフリーなサブネットワーク 上述したように、以前は、相互結合網においてデッド
ロックを回避するためにチャンネル−依存度のグラフは
非循環的でなければならないと信じられていた。次の2
つのルーティング方法は、パケットがいつも入ることが
できてかつパケットがそれらの目的地に到達することを
可能にするグラフの非循環的な部分があれば、チャンネ
ル−依存度のグラフは非循環的でなくてもよいという考
えに基づいている。
第1のそのような方法は、上記で参照されてダリー他
の文献において記述されたダリー他の動的ルーティング
アルゴリズムである。ダリー他の静的アルゴリズムのよ
うに、ダリー他の動的アルゴリズムはパケットがとる次
元の回転回数を計算するが、フィールドのサイズとその
回数を記録するために用いられるパケットとによる計数
ではなく、この回数を制限しない。ネットワークは2つ
のクラスに分割される:適応的と非適応的である。すべ
てのパケットは適応的仮想ネットワークにおいて始ま
り、所望される回数でより低い次元に変化する。より少
ない次元反転回数を有するパケットによって占有された
バッファ上で待機する必要がある任意のパケットは、適
応仮想ネットワークを出て非適応仮想ネットワークにお
けるそれの目的地への別のルートにルーティングする必
要がある。これは適応仮想ネットワークにおける発生か
らのデッドロックサイクルを動的に防止する。
ダリー他の動的ルーティングアルゴリズムは、1個の
物理チャンネル当たり単一の仮想チャンネルだけを用い
る完全適応ルーティングを提供する。しかしながら、パ
ケットが非適応仮想ネットワークにおいてルーティング
するために適応仮想ネットワークを出なければならない
とき、上記パケットはその移動時間のために非適応仮想
ネットワークに残らなければならない。それゆえ、パケ
ットは非適応仮想ネットワークに入るとすぐに、適応性
は失われる。ダリー他の動的方法は実施することがかな
り困難であり、なぜなら、次元の反転回数はすべてのパ
ケットに対して保持されなければならず、ノードは、ノ
ードが送信することができるすべての適応チャンネルに
対するチャンネルバッファに記憶される、パケットの次
元の回転回数を知る必要がある。
チャンネル−依存度のグラフは非循環でなくてもよい
という根本的な考えを使用する第2の適応ルーティング
方法は、J.Duato(ジェイ・デュアト),A New Theiry o
f Deadlock−Free Adaptive Routing in Wormhole Netw
orks(ワームホールネットワークにおけるデッドロック
フリーな適応ルーティングの新しい論理),I.E.E.E.Tra
nsactions on Parallel and Distributed Systems,Vol.
4,No.12の1320−1331における1993年12月に開示され
る。デュアトの適応ルーティング方法は1組の仮想チャ
ンネル(C)を2つのサブセットの(C1、NC1)に分割
する。第1のサブセット(C1)は、すべてのノード間の
非適応的でデッドロックフリーであるルーティングを実
施する。第2のサブセット(NC1)は最小であって適応
的であるルーティングを実施し、それのチャンネル−依
存度のグラフにおけるサイクルを有する可能性がある。
パケットはNC1チャンネルにおいて自由にルーティング
でき、循環的依存状態はNC1バッファ間で生じるかもし
れない。NC1チャンネルにおけるパケットはいつも、こ
れらの循環的依存状態を壊すためにC1チャンネルにルー
ティングできなければならない。C1におけるパケットは
いかなる時でもNC1チャンネルにルーティングしてもよ
い。
発生するデッドロックを回避するために、デュアトは
彼の適応ルーティング方法における幾つかの制御を強要
する。まず最初に、デュアトは、現在のチャンネルと目
的ノードのより柔軟な機能よりむしろ現在のノードと目
的ノードの機能としてルーティングを画成する。ほとん
どのルーティングアルゴリズムは、現在のチャンネルと
目的のノードの機能としてルーティング機能を画成す
る。デュアトの第2の制限は、仮想チャンネルの待ち行
列(バッファ)は異なるパケットに属するフリットを含
むことはできないことである。この要求を実施するため
に、デュアトは、待ち行列が最後のフリットを受信した
後でもう1つのヘッダフリットを受信する前に、上記待
ち行列は空にされなければならないことを必要とする。
この制限は、NC1チャンネルにおけるすべてのパケット
が、もし循環的依存状態を壊すことが必要とされなけれ
ば、C1チャンネルにルーティングすることができること
を保証する。デュアトの方法において、パケットの先頭
がそれのNC1の待ち行列におけるも1つのパケットの後
ろでブロックされることは不可能であり、よって上記先
頭は(待ち行列の前で)いつもアクセス可能である。
デュアトの方法の第3の制限は、C1仮想ネットワーク
の拡張されたチャンネル−依存度のグラフが非循環的で
なければならないことである。拡張されたチャンネル−
依存度のグラフは、間接依存状態に対する付加的な孤を
用いて増大される通常のチャンネル−依存度のグラフで
ある。パケットがチャンネルxからNC1チャンネルにル
ーティングし、NC1チャンネルにおける0又はそれ以上
のより付加的なホップでルーティングし、次いで、チャ
ンネルy上のC1にルーティングすることができる場合及
びその場合に限って、間接依存状態はC1チャンネルxと
yの間に存在する。トーラスのC1サブネットワークに対
する拡張されたチャンネル−依存度のグラフは、循環的
である。従って、デュアトの方法はトーラストポロジに
対しては機能しない。
適応的なルーティングへの上記のアプローチのどれも
が、三次元トーラスネットワークに対しては適切な機構
ではない。従って、完全適応ルーティング機構は、いか
なる次元のトーラス上でもデッドロックフリーなルーテ
ィングを提供し、実施のために最小仮想チャンネルを要
求することを所望される。
発明の概要 本発明は、n次元トポロジにおける複数のノードと上
記複数のノードを相互結合する物理的通信リンクとを有
するネットワーク化されたシステムにおいて、ソースノ
ードと目的ノードの間でパケットをルーティングする方
法と装置とを提供する。1つのパケットは、ルーティン
グ情報を有するヘッダを転送されるべき情報に取り付け
ることによって形成される。各物理的通信リンクは、第
1のタイプの仮想チャンネルバッファと第2のタイプの
仮想チャンネルバッファと第3のタイプの仮想チャンネ
ルバッファとを割り当てられる。2つの非循環非適応仮
想チャンネルは、ルーティング情報に基づいてソースノ
ードから目的ノードへの決定的仮想パスに沿ったパケッ
トを記憶するために、第1のタイプと第2のタイプとの
仮想チャンネルバッファを使用することができるように
画成される。適応仮想チャンネルは、ルーティング情報
に基づいてソースノードから目的ノードへの複数の非決
定的仮想パスに沿ったパケットを記憶するために第3の
タイプの仮想チャンネルバッファを使用することができ
るように画成される。パケットは、ルーティング情報に
基づいて、ソースノードから隣接するノードへの1つの
決定的仮想パスの一部分、又はソースノードから隣接す
るノードへの複数の非決定的仮想パスの一部分のいずれ
かに沿ってルーティングされ、上記ルーティング情報
は、ある1つの非決定的仮想パスの一部分に関連する第
3のタイプの仮想チャンネルバッファが1つの全体のパ
ケットを記憶するために利用できる十分な空間を有して
いなければ、上記非決定的仮想パスの一部分はルーティ
ングのために選択されないというような情報である。パ
ケットは、上記パケットが目的ノードに到達するまで、
上述の方法におけるルーティング情報に基づいて選択さ
れた仮想パス上をルーティングすることを続ける。
本発明の好ましい実施形態は、複数のパケットをルー
ティングする方向の順序を画成する。方向の順序は、決
定的仮想パスに沿った2n個の方向の各々においてパケッ
トをルーティングする優先順位を画成する。あつ1つの
非決定的仮想パスは好ましくは、ブロックされる又はデ
ィスエーブルされる2n個の方向のうちの最も低い優先順
位の方向においてルーティングするために予め選択され
る。
本発明の好ましい実施形態において、1つのパスは、
1つの非決定的仮想パスを予め選択することと、パケッ
トをルーティングする予め選択された非決定的仮想パス
の一部分及び決定的仮想パスの一部分との両方を要求す
ることとによって、ルーティングするために選択され
る。複数の物理的通信リンクへのアクセスは、上記複数
の物理的通信リンクに対する要求及び他の競合する要求
に応答して承認又は否認される。もし適応仮想チャンネ
ルと非適応仮想チャンネルとが物理的通信リンクのアク
セスを両方ともに要求すれば、非適応仮想チャンネルが
物理的通信リンクへのアクセスを承認される。承認され
た仮想パスの一部分は、もし要求のうちの少なくとも1
つが承認されれば選択される。1つの非決定的仮想パス
の一部分は、もし両方の要求が承認されれば選択され
る。上記要求は、要求のいずれも承認されなければ再試
行される。
本発明は好ましくは、複数のノード間で多数のパケッ
トをルーティングする。順序付けられたルーティングを
サポートするための本発明の1つの形態において、予め
決められた順序で目的ノードに到達するために要求され
る複数のパケットの複数の順序依存グループが、決定さ
れる。決定的仮想パスだけが、複数のパケットの1つの
順序依存グループにある上記複数のパケットをルーティ
ングするために選択される。
要求パケットと応答パケットとの間で形成されるサイ
クルを説明するために、複数の非循環非適応仮想チャン
ネルは好ましくは、要求情報を処理する2つの非循環非
適応仮想チャンネルと、応答情報を処理する2つの独立
した非循環非適応仮想チャンネルとを含む。
本発明の好ましい実施形態は、より短い代わりの複数
のルーティングを提供するために複数の最初の自由なホ
ップと複数の最後のホップとを使用する。上記複数の最
初の自由なホップと上記複数の最後のホップによって、
相互結合網は修復不可能な多くの複合的な故障部の周囲
に形成することができる。
本発明にもう1つの態様は、たとえ1つの非決定的仮
想パスの一部分に関連する第3のタイプの仮想チャンネ
ルバッファが1つの全体のパケットを記憶するために十
分な空間を有していなくても、上記1つの非決定的仮想
パスの一部分がルーティングのために選択されることを
可能にすることによって、複数の任意長のパケットをサ
ポートするルーティング機構を提供する。しかしなが
ら、このルーティング機構は、もし1つの非決定的仮想
パスの一部分に関連する第3のタイプの仮想チャンネル
バッファが空でなければ、ルーティングのための上記1
つの非決定的仮想パスの一部分を選択しない。もう1つ
のパケットがある1つの非決定的仮想パスの一部分にル
ーティングされれば、パケットが上記ある1つの非決定
的仮想パスの一部分に入るとき、上記パケットが存在す
る方向と決定的仮想パスは記録される。上記パケットが
決定的仮想パスに再び入ると、上記パケットは、もし記
録された方向におけるすべての転送が完全に行わなけれ
ば、記録された方向で記録された決定的仮想パス上をル
ーティングすることを続ける。
図面の簡単な説明 図1は、超並列処理(MPP)システムの図である。
図2は、図1のMPPシステムのための処理素子ノード
と相互結合網コンポーネントの図である。
図3は、図1のMPPシステムのための処理素子コンポ
ーネントの図である。
図4は、三次元トーラスネットワークトポロジを有す
るMPPシステムの図である。
図5は、図1のMPPシステムの好ましい実施形態の各
ネットワークの物理的通信リンク又はチャンネルのため
に用いられる複数の仮想チャンネルを図示する図であ
る。
図6は、複数の仮想チャンネルを使用する三次元ネッ
トワークにおける切り換え機構のブロック図である。
図7は、部分的なZ平面を図示するMPPシステムネッ
トワークのサブセクションである。
図8は、壊れた物理的通信リンクを回避するために+
X及びマイナスXの物理的通信リンクの両方の使用を図
示するMPPシステムネットワークのサブセクションであ
る。
図9は、物理的サイクルに対する横断時間の仮想チャ
ンネルへの割り当てを図示する図である。
好ましい実施形態の説明 好ましい実施形態の以下の詳細な説明において、これ
の一部分を形成しかつ本発明が実施される特定の実施形
態の図として示される添付の図面から参照される。他の
実施形態が利用され、構造的又は論理的変形例が本発明
の範囲を逸脱することなく形成されてもよい。それゆ
え、次の詳細な説明は限定的な解釈で取られるのではな
く、本発明の範囲は添付の請求の範囲によって定義され
る。
MPPシステム 図1は、通常20で示される超並列処理(massively pa
rallel processing、MPP)システムのコンポーネントの
簡単化されたモデルを図示する。MPPシステム20は典型
的に、処理素子ノード22のような数百又は数千の処理素
子ノードを備える。相互結合網24は、MPPシステム20に
おける複数の処理素子ノード間の通信パスを提供する。
図1において図示される当該システム20のモデルにおい
て、相互結合網24は通信パスの三次元マトリックスを形
成し、上記通信パスは、矢印26によって示されるx、y
及びz次元において複数の処理素子ノードを接続する。
相互結合網24はまた、複数の処理素子ノード22をI/Oゲ
ートウェイ28に接続する。I/Oゲートウェイ28は、ホス
トシステム(図示せず。)とMPPシステム20との間でシ
ステムデータ及び制御情報を転送する。
上記ホストシステムは、MPPシステム20のためのソフ
トウェアコンパイラを実行する。MPPシステム20のため
に記述されたすべてのソフトウェアプログラムは、ホス
トシステム上でコンパイルされるが、MPPシステム20に
おいて実行される。単一のキャビネットの構成において
は、ホストシステムはMPPシステム20と同一のキャビネ
ットに属する。複数のキャビネットの構成においては、
ホストシステムは、MPPシステム20に接続される離れた
キャビネットに属する。
図2は、処理素子ノード22のより詳細な図面と処理素
子ノード22の相互結合網24への接続とを提供する。処理
素子ノード22のような各処理素子ノードは典型的に、処
理素子30とブロック転送エンジン32とネットワークイン
ターフェース34とを備える。処理素子ノード22は1つ以
上の処理素子30を備えてもよい。
図3において図示されるように、各処理素子30は、マ
イクロプロセッサ38とローカルメモリ40とサポート回路
42とを備える。
各処理素子30はローカルメモリ40を含むので、MPPシ
ステム20は動的な分散型メモリを含む。それにもかかわ
らず、MPPシステム20のメモリはまた、論理的に共有さ
れる。ある1つの処理素子30におけるマイクロプロセッ
サ38は、その処理素子30におけるマイクロプロセッサ38
を含まずに、もう1つの処理素子30のメモリにアクセス
することができるので、MPPシステム20のメモリは論理
的に共有される。
ローカルメモリ40は好ましくは、ダイナミックランダ
ムアクセスメモリ(DRAM)を備え、システムデータを記
憶する。低い待ち時間で高い帯域幅のデータのパスは、
マイクロプロセッサ38を処理素子30におけるローカルメ
モリ40に接続する。
サポート回路42はマイクロプロセッサ38の制御機能と
アドレス機能を拡張する。サポート回路42はデータ転送
をローカルメモリ40に又はローカルメモリ40から実行す
る。
図2に戻って参照すると、ブロック転送エンジン(bl
ock transfer engine、BLT)32は、システムデータを再
分散する非同期直接メモリアクセスコントローラであ
る。BLT32は、処理素子30におけるローカルメモリ40と
遠隔な処理素子におけるローカルメモリとの間でシステ
ムデータを再分散する。BLT32は、処理素子30又は遠隔
な処理素子に割り込むことなく、データを再分散するこ
とができる。MPPシステム20の変形例の実施形態におい
て、ソフトウェアは、複数の処理素子30のローカルメモ
リ40間のデータのブロックの移動を制御する。
ネットワークインターフェース34は、相互結合網24を
わたってもう1つの処理素子ノード22又はI/Oゲートウ
ェイ28に送信されるべき情報をフォーマットする。ネッ
トワークインターフェース34はまた、他の処理素子ノー
ド22又はI/Oゲートウェイ28からの到来情報を受信し、
上記情報を処理素子30に向けて送信する。
相互結合網24は、図2において図示されるネットワー
クルータ36のような複数のネットワークルータを備え
る。さらに、相互結合網24は、各次元の各方向における
複数の物理的通信リンクを備える。複数のX次元の通信
リンク44はx次元における複数の処理素子ノードに接続
する。複数のY次元の通信リンク46はy次元における複
数の処理素子ノードに接続する。複数のZ次元の通信リ
ンク48はz次元における複数の処理素子ノードに接続す
る。各次元における代表的な通信リンクは図1において
図示される。さらに、図2は、−X次元における通信リ
ンク44a、+X次元における通信リンク44b、−Y次元に
おける通信リンク46a、+Y次元における通信リンク46
b、−Z次元における通信リンク48a及び+Z次元におけ
る通信リンク48bを図示する。
通信リンク44、46及び48は、相互結合網24におけるネ
ットワークルータ36間でデータ及び制御情報を転送す
る。通信リンクは典型的に2つの単方向チャンネルを備
える。上記通信リンクにおける各チャンネルは好ましく
は、データ信号と物理的単位(phit、フィット)タイプ
信号と仮想チャンネル選択信号と仮想チャンネル応答信
号とを含む。
複数のデータ信号は好ましくは、要求情報又は応答情
報のいずれかを運ぶ。要求情報は、ノードに行動を実行
するように要求する情報を含む。例えば、ソースノード
は、メモリからの情報を読み取るために目的ノードに情
報を送信してもよい。この要求は、通信リンクにおける
ある1つのチャンネルをわたって送信される。複数の応
答情報は活動の結果である情報を含む。例えば、読取り
データのための要求を受信した後に、目的ノードはその
応答をそのソースノードに返信する。上記応答は上記読
取りデータを含む。要求と応答は、デッドロックを回避
するように好ましくは論理的に分割される。要求と応答
の論理的な分割は以下で説明される。
相互結合網24は好ましくは、双方向のトーラスにおけ
る複数の処理素子ノード22を接続する。図4は、x、y
及びz次元における三次元トーラスネットワークを有す
るMPPシステムの好ましい実施形態を図示する。三次元
トーラスにおける各処理素子ノードは、x、y及びz次
元の+及び−方向における通信リンクを有する。明細書
における他の幾つかの図面は三次元ネットワークの接続
を示す。明解にするために、これらの他の図面において
は、各次元における上記トーラスを完全にする複数の通
信リンクは図示されない。
トーラストポロジにおいて、リングは、情報があるノ
ードから同一の次元におけるすべてのノードを介して元
のノードに転送することができる各次元において、形成
される。トーラスネットワークは、情報の転送速度の高
速化のような、ネットワークの通信のための幾つかの利
点を提供する。トーラスネットワークのもう1つの利点
は、情報を上記ネットワークの周囲を長距離で送信する
ことによって、有害な通信リンクを回避する能力であ
る。
情報は、パケットの形状で複数の通信リンク上の複数
の処理素子ノード間を転送される。各パケットは好まし
くはヘッダを備える。上記ヘッダは、ネットワークを介
するパケットを処理するルート情報と、どの処理素子が
パケットを受信すべきかを示す目的地情報と、パケット
を受信して動作を実行する処理素子に命令する制御情報
とを含む。上記ヘッダはまた、どの処理素子がどのパケ
ットを生成したかを示すソース情報を含んでもよく、メ
モリアドレス情報を含んでもよい。パケットは任意にボ
ディを備える。パケットのボディは典型的に、複数の処
理素子ノード間を転送されるべきデータ又はホストシス
テムから若しくはホストシステムへのシステムデータを
含む。
各処理素子ノード30でのネットワークルータ36のよう
なネットワークルータは、各パケットの各ヘッダにおい
て含まれるルーティング情報に基づいて、相互結合網24
における複数の通信リンクを介してパケットを転送す
る。上記ヘッダと上記ボディは、種々のリンクを有し、
同時に通信リンクのある1つのフィット上を転送する。
MPPシステム20は背景セクションにおいて定義されたワ
ームホールルーティングを使用し、ルーティング情報は
上記ワームホールルーティングにおけるヘッダのフリッ
ト(flit)に含まれ、残りのフリットはデータ列のよう
な方法でそれの後ろに続く。複数のノード間のフロー制
御は、パケット毎の基準よりむしろフリット毎の基準で
実行され、従って、ある1つのパケットがリンク上を部
分的に送信され、受信する処理素子ノードにおけるバッ
ファ空間の不足のためにブロックされることが起こりう
る。上述したように、本発明の好ましい実施形態は、双
方向の三次元トーラスネットワークであり、上記三次元
トーラスネットワークはさらにデッドロックの状況を悪
化する。
適応ルーティング機構 相互結合網24を介して複数のパケットをルーティング
する本発明に係る適応ルーティング機構は、共通の複数
の物理的通信リンクをわたって多重化された複数の仮想
チャンネルを使用するが、他の点では独立的に動作す
る。背景セクションにおいて説明されたデュアト(Duat
o)のデッドロックフリーなサブネットワーク方法を用
いて、MPPシステム20は、仮想チャンネルC1の第1のサ
ブセットを使用する適応ルーティング機構を用いる。上
記仮想チャンネルC1は、すべてのノード間で非適応的で
デッドロックフリーなルーティングを実行する。仮想チ
ャンネルの第2のタイプは仮想チャンネルNC1である。
仮想チャンネルNC1は最小完全適応ルーティングを実行
する。複数のパケットが仮想チャンネルNC1において自
由にルーティングするので、仮想チャンネルNC1はそれ
のチャンネル−依存度のグラフにおける複数のサイクル
を有する。デュアトの方法におけるように、もしいかな
るときにも、仮想チャンネルNC1においてデッドロック
されることが決定されると、パケットは仮想チャンネル
C1にジャンプすることができなければならない。従っ
て、仮想チャンネルNC1における複数のパケットはいつ
も仮想チャンネルC1にルーティングすることができなけ
ればならない。
図5は、各ネットワークの物理チャンネル又は物理的
通信リンクのために使用される複数の仮想チャンネルを
図示する。2つの仮想チャンネル50及び52は仮想要求ネ
ットワークC1のために使用される。仮想チャンネル50は
vc0タイプの仮想チャンネルであり、仮想チャンネル52
はvc1タイプの仮想チャンネルである。同様に、応答C1
仮想ネットワークは2つの仮想チャンネル54及び56を備
える。仮想チャンネル54はvc0タイプの仮想チャンネル
であり、仮想チャンネル56はvc1タイプの仮想チャンネ
ルである。vcタイプである第3の仮想チャンネルは適応
NC1仮想チャンネル58であり、上記適応NC1仮想チャンネ
ル58は要求及び応答のネットワークの両方における適応
ルーティングを提供する。図5に図示される好ましい実
施形態は1つのNC1仮想チャンネルを使用するが、独立
したNC1仮想チャンネルは要求と応答の仮想ネットワー
クの両方のために使用されてもよい。
図6を参照すると、各ノードはローカル処理素子(pr
ocessing element、PE)と同様に、6方向(+X,−X,+
Y,−Y,+Z,−Z)の各々に対して1つの入力及び1つの
出力を有する。図6のブロック図は、複数の仮想チャン
ネルを使用する三次元の要求又は応答C1ネットワークに
おける切り替えを図示する。仮想チャンネルのためのバ
ッファは、物理的通信リンクの受信側の最後での処理ノ
ードの複数の入力にある。各物理的通信リンク上の送信
側のノードは、反対方向のリンク上で送信されるフロー
制御情報を使用して、受信側の処理素子ノードにおける
各仮想チャンネルのために利用できるバッファ空間のト
ラックを保持する。
いかなる時も、仮想チャンネルC1における1つのパケ
ットは、複数のパケットの現在のノードでの仮想チャン
ネルNC1にルーティングしてもよく、上記複数のパケッ
トの現在のノードはそれの(最小限の)目的地に近い1
つのパケットを移動する。仮想チャンネルNC1における
1つのパケットはまた、それの現在のノードで任意の仮
想チャンネルNC1に最小限でルーティングしてもよい。
仮想チャンネルNC1における1つのパケットはいつでも
仮想チャンネルC1にルーティングしてもよい。仮想チャ
ンネルC1のネットワークに再び入ると、パケットは、現
在のノードの仮想チャンネルのルックアップテーブルを
使用して、決定的C1ルーティングアルゴリズムに従って
物理及び仮想チャンネル上でルーティングする。要求又
は応答の仮想チャンネルC1ネットワーク内のいずれか
で、vc0仮想チャンネル又はvc1仮想チャンネル上のパケ
ットのルーティングを開始するために選択することと、
パケットのルートの間に仮想チャンネルをいつ変更する
かを決定することは、正確性と性能の両方に影響を与え
る。最初の比較は正確性である(即ち、vc0とvc1との間
の仮想チャンネル配置がデッドロックを防止する必要が
ある。)。
次の3つのステップが実行されて、複数のC1仮想チャ
ンネルにおけるデッドロックを防止する。まず最初に、
複数の要求及び応答パケットは独立した複数組の仮想チ
ャンネル上にルーティングされる。このことは、要求と
応答とのトラヒックの間のいかなるサイクルをも壊す。
第2に、方向順序ルーティングは好ましくは、多数の方
向を含むいかなるサイクルをも壊すために用いられる。
言い換えれば、複数のパケットは、(+X,+Y,+Z,−X,
−Y,−Z)のような予め決められた方向の優先順位を用
いてルーティングされる。例えば、上述の方向の順序を
用いて、+X、−Y及び+Zの目的地に対するルート
は、まず最初に+X、次いで+Z、次に−Yでルーティ
ングする。方向順序ルーティングは、本発明の譲受人で
あるクレイ・リサーチ・インコーポレイテッドに譲渡さ
れた係属中の1992年11月30日に出願された特許出願シリ
アル番号第07/983,979号で“マルチ処理システムにおけ
る方向順序ルーティング(DIRECTION ORDER ROUTING IN
MULTIPROCESSING SYSTEM)”と名称づけられた特許出
願に詳細に説明される。
デッドロックを回避するための第3のステップは、各
リング内の複数のサイクルを壊すための2つの仮想チャ
ンネル(VCO及びVC1)の使用である。この第3のステッ
プは、性能を最適にするために種々の方法において実行
されることが可能である。仮想チャンネル配置の好まし
い方法は、本出願の発明者であるスティーブン・エル・
スコットとグレゴリー・エム・トーソンとこれと共に同
日出願された名称“並列処理システムにおける最適化さ
れた仮想チャンネル配置(OPTIMIZED VIRTUAL CHANNEL
ALLOCATION IN PARALLEL PROCESSING SYSTEM)”である
係属中の一般的な米国特許出願に詳細に説明される。あ
る1つのパケットが、そのリング(対応する次元におけ
る目的ノードの座標)上のパケットの目的地に基づい
て、(図2に図示された)仮想チャンネルルックアップ
テーブル37において記憶されたルーティング情報によっ
てリング上でルーティングを開始するときに、vc0又はv
c1仮想チャンネルは選択される。各処理素子ノードは、
小さくてシステムに設定可能な、上記処理素子ノードの
6方向の各々に対する仮想チャンネルルックアップテー
ブル37を有する。C1ネットワークにおけるルーティング
は厳密に決定的である。
C1とNC1との間のルーティング機構は、背景セクショ
ンにおいて説明されたデュアトの方法からの多くの制限
を除去する。デュアトの方法とは異なり、ルーティング
関数は仮想チャンネルを考慮に入れる。さらに、本発明
のルーティング機構は、多数のパケットからのフリット
が同一の仮想チャンネルバッファに属することを可能に
する。最終的には、本発明のルーティング機構は、C1仮
想ネットワークの拡張されたチャンネル−依存度のグラ
フにおける複数のサイクルを可能にする。それにもかか
わらず、次の制限はNC1仮想チャンネルに対して要求さ
れる: 「NC1仮想チャンネルに対するバッファが全体のパケ
ットを保持すべき空間を有しないかぎり、パケットはそ
のNC1仮想チャンネルに入らなくてもよい。」 本発明の適応ルーティング機構の上記の制限は2つの
結果を生じる。第1に、当該制限は複数のNC1仮想チャ
ンネル内で発生するデッドロックを防止し、なぜなら、
パケットは、それの後部が異なるチャンネルバッファの
先頭をブロックするようにNC1仮想チャンネルにおいて
ブロックすることができないからである。先頭がNC1仮
想チャンネルバッファの前にある1つのパケットはいつ
でも、C1仮想チャンネルにルーティングすることができ
るので、NC1仮想チャンネルネットワークのデッドロッ
クは不可能である。対照的に、デュアトの方法は、パケ
ットが同一の結果を達成するためには同一のチャンネル
バッファを共有しないことを必要とする。デュアトの制
限は、リンクにわたる複数のパケットの送信のパイプラ
イン処理を妨げ、なぜなら、第2のパケットが送信を開
始する前に第2のパケットより前のパケットがそれのチ
ャンネルバッファから出力されるまで、第2のパケット
は待たなければならないからである。
本発明の上記の制限の第2の結果は、複数のC1仮想チ
ャンネル間の間接依存状態がもはや存在しないことであ
る。NC1仮想チャンネルに入るどのパケットも、最初のN
C1仮想チャンネルバッファによって完全に受信され、な
ぜなら、そのチャンネルに対するバッファが上記全体の
パケットを保持するための空間を有さなければ、パケッ
トはNC1仮想チャンネルに入らなくてもよいからであ
る。それゆえ、パケットはC1仮想チャンネルからNC1仮
想チャンネルにルーティングすることができずに戻り、
次いでパケットの後部が最初のC1仮想チャンネルバッフ
ァにおけるバッファ空間を消耗するようにブロックす
る。結果として、デュアトの文献によって画成された拡
張されたチャンネル−依存度のグラフは、本発明の適応
ルーティング機構に適切ではない。代わりに、本発明の
ルーティング機構は、任意の相互結合網トポロジを介し
て複数のパケットをルーティングするために使用される
ことができ、C1仮想チャンネル上のデッドロックフリー
な決定的ルーティングアルゴリズムが上記任意の相互結
合網トポロジのために構築されることができる。好まし
くは、上述したように、デッドロックフリーな決定的ル
ーティングアルゴリズムは、要求ネットワークに割り当
てられた2つの仮想チャンネルと応答ネットワークに割
り当てられた2つの仮想チャンネルとを有する方向順序
ルーティング方法である。
ソースノードから目的ノードへの2つのノード間で使
用するための仮想パスを選択するために使用されるルー
ティング機構は、次のようになる: A.もしNC1仮想チャンネルの先頭とC1仮想チャンネルの
先頭とが両方ともに物理的通信リンクを要求すれば、C1
仮想チャンネルが物理的通信リンクへのアクセスが承認
される。
B.与えられた1つのパケットは、2つのノード間の予め
選択されたC1仮想チャンネルパスと、2つのノード間の
ある1つのNC1仮想チャンネルパスとを有し、上記予め
選択されたC1仮想チャンネルパスと上記ある1つのNC1
仮想チャンネルパスとの両方を要求うする。
C.上記ある1つのNC1仮想チャンネルパスは、ブロック
されず又はディスエーブルされない最も高い順序の方向
として選択される。
D.もし上記予め選択されたC1仮想チャンネルパスと上記
ある1つのNC1チャンネルパスに対する少なくとも1つ
の要求が承認されれば、承認された仮想パスの一部分が
選択される。上記予め選択されたC1仮想チャンネルパス
の要求と上記ある1つのNC1仮想チャンネルパスの要求
の両方が承認されれば、上記ある1つのNC1仮想チャン
ネルパスが選択される。
E.もし上記予め選択されたC1仮想チャンネルパスと上記
ある1つのNC1仮想チャンネルパスに対する2つの要求
のいずれもが承認されなければ、パケットは次のクロッ
クサイクルで両方の要求を再試行する。
上述のステップCにおいて、最も高い順序の方向が選
択され、その結果、適応的なNC1仮想チャンネルは、非
適応的なC1仮想チャンネルにおいて後にルーティングさ
れる方向にルーティングする。例えば、+X、+Y、+
Z、−X、−Y、−Zの優先順位を有するNC1チャンネ
ルの方向の順序に対して、最も低い順序の方向は+Xで
あり、最も高い順序の方向は−Zである。
上述のステップDにおいて、もし上記予め選択された
C1仮想チャンネルパスの要求と上記ある1つのNC1仮想
チャンネルパスの要求の両方が承認されれば、上記ある
1つの適応的なNC1仮想チャンネルパスが2つの理由の
ために選択される。まず第1に、もしパケットが上記NC
1仮想チャンネルを承認されれば、ステップAのため
に、他のC1仮想チャンネルはNC1仮想チャンネルによっ
て要求された物理チャンネルを要求しなかっただろう。
それゆえ、幾つかの他のパケットが与えられたパケット
の道に存在することはより起こりそうにない。第2の理
由は、最も高い順序がより輻輳されにくい傾向にあるこ
とである。最も高い順序の方向は、C1仮想チャンネルに
おいて順序付けする方向のために、より輻輳しにくい傾
向にある。輻輳は、最も高い順序から最も低い順序への
依存度のストリングのために、結果として生じる。方向
順序方法によって示されるように、ルートは、最も低い
順序の方向におけるC1仮想チャンネルに入る傾向があ
り、最も高い順序の方向におけるC1仮想チャンネル上の
ネットワークを出る傾向がある。
任意長のパケットのためのサポート 好ましいMPPシステム20は、キャッシュラインより少
し長いような最大のパケット長を有し、その結果、パケ
ットがNC1仮想チャンネルにルーティングする前に上記N
C1仮想チャンネルのバッファが上記全体のパケットのた
めの空間を有するという制限は、実行可能である。それ
にもかかわらず、本発明のもう1つの実施形態は、パケ
ットがNC1仮想チャンネルにルーティングする前に上記N
C1仮想チャンネルのバッファが上記全体のパケットのた
めの空間を有するという制限を除去することによって、
任意長のパケットを用いる適応ルーティングをサポート
する。本発明に係る適応ルーティング機構のこの実施形
態はまた、もしチャンネルバッファへの記憶が非常に制
限されれば有効であり、又はNC1仮想チャンネルバッフ
ァが全体のパケットを記憶する要求がある任意の他の場
合においては実行可能ではない。
この変形例の実施形態において、上記ルーティング機
構は、複数のNC1仮想チャンネル間のデッドロックを防
ぐために2つの方法のいずれかを使用する。この第1の
方法は、複数のパケットが同時にある1つのNC1仮想チ
ャンネルバッファ内に存在することができないというデ
ュアトの方法の制限を使用することである。第2の方法
は、各NC1仮想チャンネルバッファに入るべき最後のパ
ケットの先頭のトラックを保持して、そのパケットが上
記NC1仮想チャンネルバッファからある1つのC1仮想チ
ャンネルに排出されるようにイネーブルして、それの前
のパケットをバイパスするハードウェアを使用すること
である。これらの解決法のいずれかによって、複数のNC
1仮想チャンネル間の循環的依存状態は、ある1つのNC1
仮想チャンネルバッファからある1つのC1チャンネル内
に複数のパケットをルーティングすることによって壊さ
れることができる。
この実施形態において、NC1仮想チャンネルバッファ
は、もはや全体のパケットを記憶することを保証されな
い。従って、複数の間接依存状態は、幾つかの中間のNC
1仮想チャンネルを介する2つのC1仮想チャンネル間に
発生する。本発明に係る適応ルーティング機構のこの実
施形態は、NC1仮想チャンネルにおける複数のパケット
のルーティングでの余分な状態の情報を保持すること
と、上記NC1仮想チャンネルからC1仮想チャンネルに再
び入るときに使用する仮想チャンネルの選択を制限する
こととによって、三次元トーラストポロジにおけるC1仮
想チャンネルでのデッドロックの発生によるこれらの間
接依存状態を防止する。
C1仮想ネットワークは好ましくは、方向順序ルーティ
ングを使用するので、デッドロックを引き起こす間接依
存状態に対する唯一の方法は、パケットが方向iに移動
しているC1仮想チャンネルを離れて、NC1仮想チャンネ
ルにルーティングして、次いで、NC1仮想チャンネルに
再び入り、方向iでルーティングすることを続けること
である。この問題は、あるパケットがC1仮想チャンネル
を離れる前にそれが移動していた同一の方向に移動して
C1仮想チャンネルに再び入り、上記パケットが同一の仮
想チャンネル上で続けることを保証することと、与えら
れた方向におけるすべてのリングのデートラインを調整
することとによって解決される。
C1仮想チャンネルc上を方向dで移動しているある1
つのパケットがNC1ネットワークに入ると、仮想チャン
ネルcはパケットのヘッダにセーブされる。もし上記パ
ケットが方向dにおいて実行すべき付加的なルーティン
グを有すれば、ヘッダにおける(継続ビットと呼ばれ
る)1ビットはセットされる。上記パケットがNC1チャ
ンネルにおいてルーティングすると、もし方向dが満た
されれば継続ビットがクリアされる。C1仮想チャンネル
において使用される好ましい方向順序ルーティングアル
ゴリズムを与えられると、方向dはいつも最も低い順序
のあまり満たされない方向であり、よって、方向dはパ
ケットに明確にセーブされなくてもよい。もしパケット
がC1仮想チャンネルに再び入ればかつ入ったとき、もし
継続ビットがセットされれば、パケットは方向dにルー
ティングすることを継続し、セーブされたC1仮想チャン
ネルcが使用される。さもなければ、パケットは新しく
最も高い順序の方向において開始し、仮想チャンネルは
テーブルのルックアップによって選択される。
これの変形例の実施形態のルーティング機構は、ただ
1つのC1仮想チャンネルが与えられた方向におけるパケ
ットによるすべてのホップに対して使用されることを保
証する。複数の仮想チャンネルテーブルにおける複数の
デートラインが与えられた方向のすべてのリングに対し
て同一であるので、循環的依存状態はC1仮想チャンネル
間では生じない。
順序付けられたルーティングのためのサポート 適応ルーティング機構を有するある1つの相互結合網
における目的のノードに複数のパケットが伝送される順
序は、保証されていない。複数のパケットが適応ルーテ
ィングにおける複数のノード間の複数の代わりのパスの
いずれかを横断するので、第2のパケットはおそらく、
第2のパケットの前に同一のソースノードから送信され
たパケットの前の目的ノードに到達する。
応答パケットの伝送の順序がプログラムの正確性には
影響を与えないので、応答パケットはいつも、適応的に
ルーティングされることができる。さらに、MPPシステ
ム20は好ましくは、ほとんどの要求が任意の順序で伝送
されることができるための、緩和されたメモリ整合モデ
ルをサポートする。しかしながら、幾つかの場合におい
て、これは許容されない。例えば、同一プロセスによっ
て同一の遠隔のメモリ位置に記述する2つのものは、も
しプログラムの正確性が保護されるべきものであれば、
順序通りに伝送されなければならない。
パケット毎を基準とする順序付けられた複数の要求を
送信する機能は、MPPシステム20によってサポートされ
る。特別に順序付けられたビットは、パケットの適応ル
ーティングを防ぐために順序付けられた要求パケットに
セットされる。このように、順序付けられた複数の要求
パケットはいつも、いかなる2つの与えられたノードの
間の同一組の仮想チャンネルをも横断する。従って、順
序付けられた複数のパケットは相互結合網を互いに通過
することはできない。
たとえ特別に順序付けられたビットが、すべての要求
が順序付けられることを示すすべての要求パケットにお
いてセットされても、適応ルーティングは複数の応答パ
ケットと共に実行する。さらに、一般的なルールとし
て、メモリ要求の作業負荷は、書き込み要求より読み取
り要求の方をより多く含むので、よって、応答のトラヒ
ックは、ほとんどの場合において要求トラヒックよりも
重くなる傾向にある。
パケットのルーティング MPPシステム20は好ましくは、ソースノードから目的
ノードへの三次元すべてにおいて絶対的なアドレス指定
を使用する。あるいは代わって、MPPシステム20は異な
るアドレス指定を使用し、ここで、目的地のアドレスは
ソースノードで計算されて、それが目的ノードに到達す
ると0にデクリメント/インクリメントされる。
上述したように、C1仮想チャンネルは好ましくは、
(+X,+Y,+Z,−X,−Y,−Z)のような予め決められた
方向の優先順位を有する方向順序ルーティングを使用す
る。MPPシステム20の好ましい実施形態は、自由なホッ
プがデートラインに向かない限りは、ルートの最初のホ
ップが順序付けの6方向のうちの最初の3方向のいずれ
か1つにおける自由なホップであることを可能すること
によって、この予め決定された方向の優先順位の例外を
可能にする。特定の最初の自由なホップの後に、パケッ
トは、本発明の適応ルーティング機構によって指定され
たC1仮想チャンネル上の方向順序付け又はNC1仮想チャ
ンネルの適応的順序付けによって指示される上記6方向
のうちの残りの方向で通常にルーティングすることを可
能にされる。この“最初の”ホップは、与えられたパケ
ットのソースが最初のホップを達成するためにパケット
における余分なルーティング情報を全く含む必要がない
という意味において自由である。ソースノードのルータ
は単に、パケットを最初のホップの方向に送信して、ル
ーティングはそのホップの目的地で開始する。
最初の自由なホップに加えて、上記ルーティング機構
の好ましい実施形態は、もし最後のホップがルーティン
グ情報においてセットされれば、最も低い優先順序の方
向における最後のホップを実施することができる。この
最後のホップは部分的な平面へのより良いアクセスを可
能にする。最後のホップは自由ではなく、なぜなら、あ
る1つのビット(最後のホップビット)は、最後の方向
における1つのホップが取られるべきかどうかを示すこ
とを必要とされるからである。
図7を参照すると、MPPシステム20は好ましくは、部
分的なZ平面のような部分的な平面に対して可能である
ように形成される。部分的なZ平面はZ次元に垂直な平
面である。(+X,+Y,+Z,−X,−Y,−Z)の方向の優先
順位を与えられると、部分的なZ平面上に生じるパケッ
トのトラヒックは、部分的なZ平面に隣接した平面への
+Zにおける最初のホップを取ることができる。パケッ
トのトラヒックは、隣接する平面から生じるパケットの
トラヒックの対応するルーティングタグと同一である複
数のルーティングタグを有する隣接する平面からルーテ
ィングされる。部分的なZ平面上の目的ノードにルーテ
ィングされるべきパケットのトラヒックは、+Z方向に
おける上記部分的なZ平面に隣接する平面にルーティン
グされる。+Zの隣接する平面から、−Z方向における
最後のホップは部分的なZ平面に到達するために取られ
る。通常のルートが部分的なZ平面から又は部分的なZ
平面に存在しなければ、最初と最後のホップのみが取ら
れる。例えば、図7において、部分的なZ平面60からの
パケットルーティングは、完全なZ平面への最初のホッ
プを形成することができる。もし目的ノードが部分的な
Z平面60上にあれば、パケットは完全なZ平面62にルー
ティングすることができて、次いで、部分的なZ平面60
に到達するために−Z方向において最後のホップを取
る。
MPPシステム20のような非常に大きなシステムにおい
て複数の部分的なZ平面を有するのは2つの主要な理由
がある。第1に、MPPシステム20は好ましくは、複数の
余分なノードを含み、その結果、MPPシステム20は故障
したノードを余分なノードと置き換えて再形成されるこ
とができる。第2に、部分的なZ平面によって、MPPシ
ステム20は同時に1つのモジュールを更新されることが
できる。例えば、MPPシステム20のある1つの実施形態
において、ある1つのモジュールは液体で冷却されるシ
ステムにおいては8個の処理素子ノードを備え、空気で
冷却されるシステムにおいては4個の処理素子ノードを
備える。
図8を参照すると、本発明に係るルーティング機構は
最初と最後のホップを使用し、より短い別のルートを提
供する。さらに、最初と最後のホップによって、相互結
合網は他の方法では修復できない多くの複合的な故障部
の周囲に形成することができる。例えば、ある1つのパ
ケットのルーティングビットが−X、+Y、+Zのパス
を示す一方で、上記パケットは+Xの初期方向を与えら
れる。(+X,+Y,+Z,−X,−Y,−Z)の方向の優先順序
を与えられると、この例では、パケットは、+Y方向、
次いで+Z方向、最初に−X方向におけるルートを次に
行う、+X方向における単一の“最初のホップ”を生成
する。図8において、処理素子ノード66と処理素子ノー
ド68の間の+Yの物理的通信リンク64は壊される。図8
に図示されるように、パケットは+X方向における処理
素子ノード66から処理素子ノード70への最初の自由なホ
ップを取る。次いで、処理素子ノード70から、パケット
は処理素子ノード72に+Y方向においてルーティング
し、次いで、目的のノード68に−X方向においてルーテ
ィングして、それによって故障部の通信リンク64を回避
する。
最初の自由なホップはデートラインには生成されるこ
とはできず、それにもかかわらず、vc0からvc0への依存
状態はデートラインに沿って拡大される。最初のホップ
へのもう1つの制限は、デートラインは与えられた方向
に対して調整されなければならないことであり、それに
もかかわらずvc0からvc0への依存状態はデートラインに
沿って拡大される。
仮想チャンネルの割り当て 上述したように、要求又は応答の仮想チャンネルネッ
トワークのいずれかにおけるvc0とvc1との間の配置は、
正確性と同様に性能にも悪い影響を与える。ある1つの
物理的通信リンクを共有する複数の仮想チャンネルの使
用の平衡化は、ネットワークにおけるコンテンション
(競合)を減少し、通信の遅延を低下させ、ネットワー
クの帯域幅を増大する。複数の仮想チャンネル配置は、
デッドロックがC1ネットワークにおいて回避されること
を保証するために、各リング内でのサイクルを壊すこと
を実行されなければならない。
仮想チャンネルvc0及びvc1間の配置の1つの方法は、
横断時間の方法である。図9を参照すると、横断時間の
方法は仮想チャンネルvc0上ですべてのパケットを開始
する。リング上のある1つのノード(デートラインノー
ド74)は、リング上のデートラインノード74を通過する
いずれのパケットでも仮想チャンネルvc1上に転送す
る。パケットは仮想チャンネルvc0上のデートラインノ
ード74に入らずに出るので、サイクルはvc0のバッファ
間には形成されない。パケットは決してリングの周囲の
すべての道を移動しないので、パケットは決して仮想チ
ャンネルvc1上のデートラインノード74に入らず、従っ
て、サイクルはvc1のバッファ間には形成されない。さ
らに、パケットは決して仮想チャンネルvc1から仮想チ
ャンネルvc0にはルーティングしないので、サイクルはv
c0及びvc1のバッファの両方を含んで形成されない。パ
ケットは決して仮想チャンネルvc1からデートラインノ
ード74には入らないので、仮想チャンネルvc1上のデー
トラインを横断することを試みるいかなるパケットもハ
ードウェアによって包括され、エラーのフラグが立てら
れる。
仮想チャンネルvc0とvc1との間の配置のもう1つの方
法は、予想された横断の方法(predicted−crossing)
である。予想された横断の方法は仮想チャンネル間でパ
ケットを切り換える物理的デートラインノードを使用し
ない。代わりに、予想された横断の方法は論理デートラ
インノード又はリンクを使用してデッドロックを回避す
る。予想された横断の方法を使用する相互結合網におい
て、リング上のパケットのソースノードと目的ノードが
与えられた、論理デートラインノード又はリンクを横断
するいずれかのパケットは、仮想チャンネルvc0を使用
し、他では上記パケットは仮想チャンネルvc1を使用す
るというように、複数のパケットは予めスケジュールを
立てられる。パケットは与えられたリング上の仮想チャ
ンネルを切り換えない。論理デートラインに基づく予め
スケジュールを立てることは、複数のvc1バッファ間の
いかなるサイクルをも壊す。複数のvc0バッファ間にサ
イクルがないようにするために、パケットは予想された
横断の方法ではリングの周囲の中間点以上をルーティン
グしてはいけない。
従って、横断時間の方法においては、デートラインノ
ードによって、仮想チャンネル上のメッセージはもう1
つの仮想チャンネルに動的にスイッチすることができ
る。対照的に、予想された横断の方法においては、メッ
セージは仮想チャンネル上で予めスケジュールを立てら
れなければならず、その結果、メッセージは論理デート
ラインを横断しない。
横断時間の方法と予想された横断の方法の両方は、仮
想チャンネルを注意深く選択することによって改善され
ることが可能であり、パケットは上記仮想チャンネル上
における仮想チャンネル使用の平衡化のためにルーティ
ングされる。平衡化された横断時間の方法として参照さ
れるもう1つの仮想チャンネル配置方法において、与え
られたリング上の幾つかのソースノードは、仮想チャン
ネルvc0よりむしろ仮想チャンネルvc1上のそれらのパケ
ットを開始し、仮想チャンネルの使用を平衡化を行う。
もしこれらのパケットがデートラインを横断すれば、こ
れらのパケットは仮想チャンネルvc1上に残る。従っ
て、平衡化された横断時間の方法において、仮想チャン
ネルvc1上のそれらのパケットを開始するソースノード
を選択することは注意されなければならず、その結果、
デッドロックはこの最適化によってリングの複数のvc1
仮想チャンネル間には導入されない。
平衡化された予想された横断の方法は、デートライン
又は反対のデートラインのどちらも横断しないパケット
によって導入された柔軟性を利用する予想された横断の
方法のスーパーセット(superset)である。この“不定
の”状況において、仮想チャンネルはvc0とvc1とのトラ
ヒック間の平衡を最大にするために選択される。
平衡化された予想された横断の方法は、平衡化された
横断時間の方法より優れた平衡を達成することができ
る。しかしながら、平衡化された横断時間の方法はメッ
セージを予めスケジュールを立てることをしない。結果
として、平衡化された横断時間の方法においては、仮想
チャンネル割り当て情報は、パケットとは伝送されない
が、代わりに相互結合網それ自身に記憶される。対照的
に、平衡化された予想された横断の方法に要求される予
めスケジュールを立てることは典型的に、パケットと共
に伝送される。平衡化された横断時間の方法を用いて、
仮想チャンネル配置は、壊されたノード情報を再ロード
されず、なぜなら、デートラインノードは、仮想チャン
ネルvc0及びvc1間のメッセージを物理的に切り換えるか
らである。従って、平衡化された横断時間の方法におい
て、仮想チャンネル割り当ては典型的には、最適化され
た優良なマシンに基礎を置かれる。一方、論理デートラ
インノード又はリンクに要求される予めスケジュールを
立てることは典型的には、壊されたノード情報を考慮に
入れるためにパケットと共に再ロードされて伝送される
必要がある。
平衡化された横断時間の方法又は平衡化された予想さ
れた横断の方法のいずれかを用いて、すべての拘束され
ないルートを最適化する種々の方法が存在する。拘束さ
れないルートは、平衡化された横断時間の方法における
デートラインを横断しないパケットのルートと、平衡化
された予想された横断の方法におけるデートライン又は
反対のデートラインのいずれも横断しないパケットのル
ートである。すべての拘束されないルートを最適化する
好ましい方法は、上記で引用された、係属中であるステ
ィーブン・エル・スコットとグレゴリー・エム・トーソ
ンによって同日出願された米国特許出願の名称“並列処
理システムにおける最適化された仮想チャンネル配置
(OPTIMIZED VIRTUAL CHANNEL ALLOCATION IN PARALLEL
PROCESSING SYSYTEMS)”に詳細に説明される。
結論 本発明に係るルーティング機構は、いかなる次元のト
ーラス上でも完全に適応的なデッドロックフリーなルー
ティングを提供する。本発明のルーティング機構は5つ
の仮想チャンネルだけを必要とし:要求のための2つの
C1チャンネルと応答のための2つのC1チャンネルと1つ
のNC1チャンネルとである。物理又は仮想デートライン
のいずれかは、C1チャンネルにおけるデッドロックを回
避するために使用されることができる。ルーティング機
構は、必要なときにパケット毎の基準で順序付けられた
伝送を提供するために容易に変更されることができる。
最後に、本発明のルーティング機構は、もし任意長のパ
ケットがサポートされなければならないならば、変更さ
れた機構を使用することによって上述と同一機能を提供
することが可能である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 スコット,スティーブン・エル アメリカ合衆国54701ウィスコンシン州 オウ・クレアー、マッキンリー・アベ ニュー 211番 (56)参考文献 特開 平6−266684(JP,A) 米国特許4933933(US,A) J.Duato,A New The ory of Deadlock−Fr ee Adaptive Routin g in Wormhole Netw orks,IEEE Trans.on Parallel and Dist ributed Systems,米 国,Vol.4No.12,1320−1331 曽根猛、外3名,ハイパクロスバ・ネ ットワークにおけるvirtual c hannelの動的選択による適応ルー ティング,並列処理シンポジウムJSP P’95論文集,1995年 5月15日,P. 249−256 菅野伸一、外3名,超並列計算機TS /1のルーティング方式,電子情報通信 学会技術研究報告,1994年10月28日,V ol.94 No.318,p.7−13 Z.Liu et al,Group ing Virtual Channe ls for Deadlock−Fr ee Adaptive Wormho le Routing,PARLE’93 Parallel Architec tures and Language s Europe,5th Inter national PARLE Con ference Proceeding s,1993年 6月,p.254−265 L.Gravano et al,A daptive Deadlock−a nd Livelock−Free R outing With all Mi nimal Paths in Tor us Networks,IEEE T rans.on Parallel a nd Distributed Sys tems,1994年12月,Vol.5 N o.12,p.1233−1251 Y.M.Boura et al,E fficient Fully Ada ptive Wormhole Rou ting in n−Dimensio nal Meshes,Proceed ings International Conference on Dist ributed Computing Systems,1994年,p.589−596 D.H.Linder et al, An Adaptive and Fa ult Tolerant Wormh ole Routing Strate gy for k−ary n−cub es,IEEE Trans.on C omput.,1991年 1月,Vol. 40 No.1,p.2−12 M.Shumway,Deadloc k−Free Packet Netw orks,Transputer Re search and Applica tions 2,1990年,p.139−178 (58)調査した分野(Int.Cl.7,DB名) G06F 15/16 - 15/177

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】n次元にネットワーク化されたシステムに
    おける複数の処理素子ノード間で転送されるべきルーテ
    ィング情報を含む複数のパケットをルーティングするル
    ーティング機構であって、上記ルーティング機構は、 2つのタイプの仮想チャンネルバッファを有し、複数の
    処理素子ノード間の複数の決定的仮想パスに沿った上記
    複数のパケットを記憶する2つの非循環的非適応仮想チ
    ャンネル(50,52,54,56)と、 第3のタイプの仮想チャンネルバッファを有し、複数の
    処理素子ノード間の複数の非決定的仮想パスに沿った上
    記複数のパケットを記憶する適応仮想チャンネル(58)
    と、 上記ルーティング情報に基づいて、決定的仮想パスに沿
    った2つの処理素子ノード間の上記決定的仮想パスの一
    部分、又は非決定的仮想パスに沿った2つの処理素子ノ
    ード間の上記非決定的仮想パスの一部分のうちのいずれ
    かを選択する手段(36,37)とを備え、ここで、上記非
    決定的仮想パスの一部分に関連する第3のタイプの仮想
    チャンネルバッファが1つのパケット全体を記憶するた
    めに利用できる十分な空間を有しなければ、上記非決定
    的仮想パスの一部分は選択されず、 上記決定的仮想パスと上記非決定的仮想パスを含む複数
    の仮想パスの選択された複数の部分に沿った上記処理素
    子ノード間の上記複数のパケットをルーティングする手
    段(36)を備えたルーティング機構。
  2. 【請求項2】n次元にネットワーク化されたシステムに
    おける複数の処理素子ノード間で転送されるべき情報を
    含む複数のパケットをルーティングするルーティング機
    構であって、上記ルーティング機構は、 複数の処理素子ノード間の複数の決定的仮想パスに沿っ
    た上記複数のパケットを記憶するための2つのタイプの
    仮想チャンネルバッファを有する2つの非循環的非適応
    仮想チャンネル(50,52,54,56)と、 複数の処理素子ノード間の複数の非決定的仮想パスに沿
    った上記複数のパケットを記憶するための第3のタイプ
    の仮想チャンネルバッファを有する適応仮想チャンネル
    (58)と、 上記決定的仮想パスに沿った2つの処理素子ノード間の
    決定的仮想パスの一部分、又は上記非決定的仮想パスに
    沿った2つの処理素子ノード間の非決定的仮想パスの一
    部分のいずれかを選択する手段(36、37)とを備え、こ
    こで、上記非決定的仮想パスの一部分に関連する第3の
    タイプの仮想チャンネルバッファが空でなければ、上記
    非決定的仮想パスの一部分は選択されず、 上記パケットを選択されたパスに沿ってソース処理素子
    ノードから隣接する処理素子ノードへルーティングする
    手段(36)を備え、 上記ルーティングする手段(36)は、 パケットが1つの非決定的仮想パスに入ると当該パケッ
    トが移動しているパケットの進行方向及び決定的仮想パ
    スをパケット内に記録する手段と、 記録された進行方向における全ての転送が完了しなけれ
    ばパケット内の継続ビットをセットし、かつ記録された
    進行方向におけるすべての転送が完了すればパケット内
    の継続ビットをクリアする手段と、 パケットが1つの非決定的仮想パスから1つの決定的仮
    想パスに再び入るときに、パケットを記録された進行方
    向にかつ記録された決定的仮想パス上にルーティングす
    る手段とを含み、 ここで、1つの進行方向はn次元にネットワーク化され
    たシステムにおいて利用可能な2n個の進行方向のうちの
    1つであるルーティング機構。
  3. 【請求項3】n次元にネットワーク化されたシステムに
    おける複数の処理素子ノード間で転送されるべきルーテ
    ィング情報を含む複数のパケットをルーティング機構に
    よりルーティングする方法であって、 上記ルーティング機構は、 2つのタイプの仮想チャンネルバッファを有し、複数の
    処理素子ノード間の複数の決定的仮想パスに沿った上記
    複数のパケットを記憶する2つの非循環的非適応仮想チ
    ャンネル(50,52,54,56)と、 第3のタイプの仮想チャンネルバッファを有し、複数の
    処理素子ノード間の複数の非決定的仮想パスに沿った上
    記複数のパケットを記憶する適応仮想チャンネル(58)
    とを備え、 上記方法は、 上記ルーティング情報に基づいて、決定的仮想パスに沿
    った2つの処理素子ノード間の上記決定的仮想パスの一
    部分、又は非決定的仮想パスに沿った2つの処理素子ノ
    ード間の上記非決定的仮想パスの一部分のうちのいずれ
    かを選択するステップ(36,37)を含み、 上記選択するステップは、上記非決定的仮想パスの一部
    分に関連する第3のタイプの仮想チャンネルバッファが
    1つのパケット全体を記憶するために利用できる十分な
    空間を有しなければ、上記非決定的仮想パスの一部分を
    選択せず、 上記方法はさらに、 上記決定的仮想パスと上記非決定的仮想パスを含む複数
    の仮想パスの選択された複数の部分に沿った上記処理素
    子ノード間の上記複数のパケットをルーティングするス
    テップ(36)を含むことを特徴とする方法。
  4. 【請求項4】n次元にネットワーク化されたシステムに
    おける複数の処理素子ノード間で転送されるべき情報を
    含む複数のパケットをルーティング機構によりルーティ
    ングする方法であって、 上記ルーティング機構は、 複数の処理素子ノード間の複数の決定的仮想パスに沿っ
    た上記複数のパケットを記憶するための2つのタイプの
    仮想チャンネルバッファを有する2つの非循環的非適応
    仮想チャンネル(50,52,54,56)と、 複数の処理素子ノード間の複数の非決定的仮想パスに沿
    った上記複数のパケットを記憶するための第3のタイプ
    の仮想チャンネルバッファを有する適応仮想チャンネル
    (58)とを備え、 上記方法は、 上記決定的仮想パスに沿った2つの処理素子ノード間の
    決定的仮想パスの一部分、又は上記非決定的仮想パスに
    沿った2つの処理素子ノード間の非決定的仮想パスの一
    部分のいずれかを選択するステップ(36,37)を含み、 上記選択するステップは、上記非決定的仮想パスの一部
    分に関連する第3のタイプの仮想チャンネルバッファが
    空でなければ、上記非決定的仮想パスの一部分を選択せ
    ず、 上記方法はさらに、 上記パケットを選択されたパスに沿ってソース処理素子
    ノードから隣接する処理素子ノードへルーティングする
    ステップ(36)を含み、 上記ルーティングするステップ(36)は、 パケットが1つの非決定的仮想パスに入ると当該パケッ
    トが移動しているパケットの進行方向及び決定的仮想パ
    スをパケット内に記録するステップと、 記録された進行方向における全ての転送が完了しなけれ
    ばパケット内の継続ビットをセットし、かつ記録された
    進行方向におけるすべての転送が完了すればパケット内
    の継続ビットをクリアするステップと、 パケットが1つの非決定的仮想パスから1つの決定的仮
    想パスに再び入るときに、パケットを記録された進行方
    向にかつ記録された決定的仮想パス上にルーティングす
    るステップとを含み、 ここで、1つの進行方向はn次元にネットワーク化され
    たシステムにおいて利用可能な2n個の進行方向のうちの
    1つであることを特徴とする方法。
JP53098696A 1995-04-13 1995-11-29 トーラス相互結合網のための適応ルーティング機構 Expired - Lifetime JP3532574B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/421,566 1995-04-13
US08/421,566 US5701416A (en) 1995-04-13 1995-04-13 Adaptive routing mechanism for torus interconnection network
PCT/US1995/015483 WO1996032681A1 (en) 1995-04-13 1995-11-29 Adaptive routing mechanism for torus interconnection network

Publications (2)

Publication Number Publication Date
JPH10506736A JPH10506736A (ja) 1998-06-30
JP3532574B2 true JP3532574B2 (ja) 2004-05-31

Family

ID=23671085

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53098696A Expired - Lifetime JP3532574B2 (ja) 1995-04-13 1995-11-29 トーラス相互結合網のための適応ルーティング機構

Country Status (5)

Country Link
US (1) US5701416A (ja)
EP (1) EP0821816B1 (ja)
JP (1) JP3532574B2 (ja)
DE (1) DE69514550T2 (ja)
WO (1) WO1996032681A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009139024A1 (ja) 2008-05-15 2009-11-19 富士通株式会社 コンピュータを相互接続するネットワーク

Families Citing this family (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6055618A (en) * 1995-10-31 2000-04-25 Cray Research, Inc. Virtual maintenance network in multiprocessing system having a non-flow controlled virtual maintenance channel
GB9601692D0 (en) * 1996-01-27 1996-03-27 Newbridge Networks Corp Network with ring architecture
SE507118C2 (sv) * 1996-08-26 1998-03-30 Ericsson Telefon Ab L M Förfarande för att optimera ett huvudsakligen optiskt ATM- nätvärk
US5828858A (en) * 1996-09-16 1998-10-27 Virginia Tech Intellectual Properties, Inc. Worm-hole run-time reconfigurable processor field programmable gate array (FPGA)
US6289021B1 (en) 1997-01-24 2001-09-11 Interactic Holdings, Llc Scaleable low-latency switch for usage in an interconnect structure
KR100259276B1 (ko) 1997-01-27 2000-06-15 윤종용 대역폭확장이 가능한 상호연결망
US5881304A (en) * 1997-03-21 1999-03-09 International Business Machines Corporation Incidence graph based communications and operations method and apparatus for parallel processing architecture
US5903770A (en) * 1997-03-21 1999-05-11 International Business Machines Corporation Incidence graph based communications and operations method and apparatus for parallel processing architecture
US6456588B1 (en) * 1997-04-21 2002-09-24 At&T Corp. Hypercube routing and restoration in telecommunications networks
US5970064A (en) * 1997-06-12 1999-10-19 Northern Telecom Limited Real time control architecture for admission control in communications network
US6285679B1 (en) * 1997-08-22 2001-09-04 Avici Systems, Inc. Methods and apparatus for event-driven routing
US6370145B1 (en) * 1997-08-22 2002-04-09 Avici Systems Internet switch router
US6230252B1 (en) * 1997-11-17 2001-05-08 Silicon Graphics, Inc. Hybrid hypercube/torus architecture
US6101181A (en) * 1997-11-17 2000-08-08 Cray Research Inc. Virtual channel assignment in large torus systems
US7185113B1 (en) * 1997-12-31 2007-02-27 Mci Communications Corporation System and method for establishing a virtual circuit in an ATM network
US6216174B1 (en) 1998-09-29 2001-04-10 Silicon Graphics, Inc. System and method for fast barrier synchronization
KR20020015691A (ko) * 1999-05-21 2002-02-28 추후보정 플릿 캐쉬 방식의 패브릭 라우터
US7002958B1 (en) * 1999-09-10 2006-02-21 Pluris, Inc. Method for load-balancing with FIFO guarantees in multipath networks
US6674720B1 (en) 1999-09-29 2004-01-06 Silicon Graphics, Inc. Age-based network arbitration system and method
US6751698B1 (en) 1999-09-29 2004-06-15 Silicon Graphics, Inc. Multiprocessor node controller circuit and method
US6628615B1 (en) * 2000-01-18 2003-09-30 International Business Machines Corporation Two level virtual channels
US6826148B1 (en) 2000-07-25 2004-11-30 Sun Microsystems, Inc. System and method for implementing a routing scheme in a computer network using intention packets when fault conditions are detected
US6741561B1 (en) 2000-07-25 2004-05-25 Sun Microsystems, Inc. Routing mechanism using intention packets in a hierarchy or networks
US6925056B1 (en) 2000-07-25 2005-08-02 Sun Microsystems, Inc. System and method for implementing a routing scheme using intention packets in a computer network
US7401161B2 (en) 2000-12-18 2008-07-15 Sun Microsystems, Inc. High performance storage array interconnection fabric using multiple independent paths
US6718428B2 (en) 2000-12-18 2004-04-06 Sun Microsystems, Inc. Storage array interconnection fabric using a torus topology
KR100674329B1 (ko) * 2000-12-30 2007-01-24 주식회사 케이티 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의폭주 제어방법
US7072976B2 (en) * 2001-01-04 2006-07-04 Sun Microsystems, Inc. Scalable routing scheme for a multi-path interconnection fabric
US7225279B2 (en) * 2002-06-25 2007-05-29 Nvidia Corporation Data distributor in a computation unit forwarding network data to select components in respective communication method type
US6883108B2 (en) * 2001-05-07 2005-04-19 Sun Microsystems, Inc. Fault-tolerant routing scheme for a multi-path interconnection fabric in a storage network
US6909695B2 (en) * 2001-05-07 2005-06-21 Sun Microsystems, Inc. Fault-tolerant, self-healing routing scheme for a multi-path interconnection fabric in a storage network
US7007189B2 (en) * 2001-05-07 2006-02-28 Sun Microsystems, Inc. Routing scheme using preferred paths in a multi-path interconnection fabric in a storage network
US7000033B2 (en) * 2001-09-28 2006-02-14 Sun Microsystems, Inc. Mapping of nodes in an interconnection fabric
US7027413B2 (en) * 2001-09-28 2006-04-11 Sun Microsystems, Inc. Discovery of nodes in an interconnection fabric
US7080156B2 (en) * 2002-03-21 2006-07-18 Sun Microsystems, Inc. Message routing in a torus interconnect
US7154886B2 (en) 2002-07-22 2006-12-26 Qlogic Corporation Method and system for primary blade selection in a multi-module fiber channel switch
US7334046B1 (en) 2002-08-05 2008-02-19 Qlogic, Corporation System and method for optimizing frame routing in a network
US7577816B2 (en) 2003-08-18 2009-08-18 Cray Inc. Remote translation mechanism for a multinode system
US7397768B1 (en) 2002-09-11 2008-07-08 Qlogic, Corporation Zone management in a multi-module fibre channel switch
US7362717B1 (en) 2002-10-03 2008-04-22 Qlogic, Corporation Method and system for using distributed name servers in multi-module fibre channel switches
US7319669B1 (en) * 2002-11-22 2008-01-15 Qlogic, Corporation Method and system for controlling packet flow in networks
US7324564B2 (en) * 2003-02-20 2008-01-29 Sun Microsystems, Inc. Transmitting odd-sized packets over a double data rate link
US6950905B2 (en) * 2003-02-20 2005-09-27 Sun Microsystems, Inc. Write posting memory interface with block-based read-ahead mechanism
GB0306855D0 (en) * 2003-03-25 2003-04-30 Ideas Network Ltd Data communication network
US20040257993A1 (en) * 2003-03-26 2004-12-23 Olav Lysne Method and device for network reconfiguration
US7003594B2 (en) * 2003-05-12 2006-02-21 Sun Microsystems, Inc. Streaming protocol for storage devices
US7463646B2 (en) 2003-07-16 2008-12-09 Qlogic Corporation Method and system for fibre channel arbitrated loop acceleration
US7453802B2 (en) 2003-07-16 2008-11-18 Qlogic, Corporation Method and apparatus for detecting and removing orphaned primitives in a fibre channel network
US7620059B2 (en) 2003-07-16 2009-11-17 Qlogic, Corporation Method and apparatus for accelerating receive-modify-send frames in a fibre channel network
US7388843B2 (en) 2003-07-16 2008-06-17 Qlogic, Corporation Method and apparatus for testing loop pathway integrity in a fibre channel arbitrated loop
US7355966B2 (en) 2003-07-16 2008-04-08 Qlogic, Corporation Method and system for minimizing disruption in common-access networks
US7630384B2 (en) 2003-07-21 2009-12-08 Qlogic, Corporation Method and system for distributing credit in fibre channel systems
US7420982B2 (en) 2003-07-21 2008-09-02 Qlogic, Corporation Method and system for keeping a fibre channel arbitrated loop open during frame gaps
US7583597B2 (en) 2003-07-21 2009-09-01 Qlogic Corporation Method and system for improving bandwidth and reducing idles in fibre channel switches
US7684401B2 (en) 2003-07-21 2010-03-23 Qlogic, Corporation Method and system for using extended fabric features with fibre channel switch elements
US7430175B2 (en) 2003-07-21 2008-09-30 Qlogic, Corporation Method and system for managing traffic in fibre channel systems
US7894348B2 (en) 2003-07-21 2011-02-22 Qlogic, Corporation Method and system for congestion control in a fibre channel switch
US7580354B2 (en) 2003-07-21 2009-08-25 Qlogic, Corporation Multi-speed cut through operation in fibre channel switches
US7477655B2 (en) 2003-07-21 2009-01-13 Qlogic, Corporation Method and system for power control of fibre channel switches
US7522522B2 (en) 2003-07-21 2009-04-21 Qlogic, Corporation Method and system for reducing latency and congestion in fibre channel switches
US7525983B2 (en) 2003-07-21 2009-04-28 Qlogic, Corporation Method and system for selecting virtual lanes in fibre channel switches
US7792115B2 (en) 2003-07-21 2010-09-07 Qlogic, Corporation Method and system for routing and filtering network data packets in fibre channel systems
US7522529B2 (en) 2003-07-21 2009-04-21 Qlogic, Corporation Method and system for detecting congestion and over subscription in a fibre channel network
US7512067B2 (en) 2003-07-21 2009-03-31 Qlogic, Corporation Method and system for congestion control based on optimum bandwidth allocation in a fibre channel switch
US7447224B2 (en) 2003-07-21 2008-11-04 Qlogic, Corporation Method and system for routing fibre channel frames
US7646767B2 (en) 2003-07-21 2010-01-12 Qlogic, Corporation Method and system for programmable data dependant network routing
US20050027880A1 (en) * 2003-08-01 2005-02-03 Darel Emmot System and method for routing information in a nodal computer network
US7366873B1 (en) 2003-08-18 2008-04-29 Cray, Inc. Indirectly addressed vector load-operate-store method and apparatus
US7437521B1 (en) 2003-08-18 2008-10-14 Cray Inc. Multistream processing memory-and barrier-synchronization method and apparatus
US7334110B1 (en) 2003-08-18 2008-02-19 Cray Inc. Decoupled scalar/vector computer architecture system and method
US7379424B1 (en) 2003-08-18 2008-05-27 Cray Inc. Systems and methods for routing packets in multiprocessor computer systems
US20050201356A1 (en) * 2004-03-11 2005-09-15 Yasuyuki Miura Adaptive routing for hierarchical interconnection network
US7930377B2 (en) 2004-04-23 2011-04-19 Qlogic, Corporation Method and system for using boot servers in networks
US7340167B2 (en) 2004-04-23 2008-03-04 Qlogic, Corporation Fibre channel transparent switch for mixed switch fabrics
US7382721B2 (en) * 2004-04-27 2008-06-03 Hewlett-Packard Development Company, L.P. Nodal computer network
US7711878B2 (en) * 2004-05-21 2010-05-04 Intel Corporation Method and apparatus for acknowledgement-based handshake mechanism for interactively training links
US20050262184A1 (en) * 2004-05-21 2005-11-24 Naveen Cherukuri Method and apparatus for interactively training links in a lockstep fashion
US7209907B2 (en) * 2004-06-25 2007-04-24 Intel Corporation Method and apparatus for periodically retraining a serial links interface
US7404020B2 (en) 2004-07-20 2008-07-22 Qlogic, Corporation Integrated fibre channel fabric controller
US7380030B2 (en) 2004-10-01 2008-05-27 Qlogic, Corp. Method and system for using an in-line credit extender with a host bus adapter
US8295299B2 (en) 2004-10-01 2012-10-23 Qlogic, Corporation High speed fibre channel switch element
US7411958B2 (en) 2004-10-01 2008-08-12 Qlogic, Corporation Method and system for transferring data directly between storage devices in a storage area network
US7519058B2 (en) 2005-01-18 2009-04-14 Qlogic, Corporation Address translation in fibre channel switches
US7643477B2 (en) * 2005-08-24 2010-01-05 Intel Corporation Buffering data packets according to multiple flow control schemes
JP2007115223A (ja) * 2005-09-20 2007-05-10 Sharp Corp プロセッサおよびマルチプロセッサ構成方法
US7773617B2 (en) * 2006-11-08 2010-08-10 Sicortex, Inc. System and method for arbitration for virtual channels to prevent livelock in a richly-connected multi-processor computer system
US7765385B2 (en) * 2007-04-18 2010-07-27 International Business Machines Corporation Fault recovery on a parallel computer system with a torus network
US7830905B2 (en) * 2007-04-20 2010-11-09 Cray Inc. Speculative forwarding in a high-radix router
US7809006B2 (en) * 2007-08-16 2010-10-05 D. E. Shaw Research, Llc Routing with virtual channels
US7769891B2 (en) 2007-08-27 2010-08-03 International Business Machines Corporation System and method for providing multiple redundant direct routes between supernodes of a multi-tiered full-graph interconnect architecture
US7958183B2 (en) * 2007-08-27 2011-06-07 International Business Machines Corporation Performing collective operations using software setup and partial software execution at leaf nodes in a multi-tiered full-graph interconnect architecture
US8108545B2 (en) * 2007-08-27 2012-01-31 International Business Machines Corporation Packet coalescing in virtual channels of a data processing system in a multi-tiered full-graph interconnect architecture
US8140731B2 (en) * 2007-08-27 2012-03-20 International Business Machines Corporation System for data processing using a multi-tiered full-graph interconnect architecture
US7793158B2 (en) 2007-08-27 2010-09-07 International Business Machines Corporation Providing reliability of communication between supernodes of a multi-tiered full-graph interconnect architecture
US8185896B2 (en) * 2007-08-27 2012-05-22 International Business Machines Corporation Method for data processing using a multi-tiered full-graph interconnect architecture
US7769892B2 (en) 2007-08-27 2010-08-03 International Business Machines Corporation System and method for handling indirect routing of information between supernodes of a multi-tiered full-graph interconnect architecture
US7958182B2 (en) * 2007-08-27 2011-06-07 International Business Machines Corporation Providing full hardware support of collective operations in a multi-tiered full-graph interconnect architecture
US7809970B2 (en) 2007-08-27 2010-10-05 International Business Machines Corporation System and method for providing a high-speed message passing interface for barrier operations in a multi-tiered full-graph interconnect architecture
US7822889B2 (en) 2007-08-27 2010-10-26 International Business Machines Corporation Direct/indirect transmission of information using a multi-tiered full-graph interconnect architecture
US8014387B2 (en) 2007-08-27 2011-09-06 International Business Machines Corporation Providing a fully non-blocking switch in a supernode of a multi-tiered full-graph interconnect architecture
US7904590B2 (en) * 2007-08-27 2011-03-08 International Business Machines Corporation Routing information through a data processing system implementing a multi-tiered full-graph interconnect architecture
US8085659B2 (en) * 2007-08-28 2011-12-27 Universidad Politecnica De Valencia Method and switch for routing data packets in interconnection networks
US7827428B2 (en) * 2007-08-31 2010-11-02 International Business Machines Corporation System for providing a cluster-wide system clock in a multi-tiered full-graph interconnect architecture
US7921316B2 (en) * 2007-09-11 2011-04-05 International Business Machines Corporation Cluster-wide system clock in a multi-tiered full-graph interconnect architecture
JP5076768B2 (ja) * 2007-09-21 2012-11-21 日本電気株式会社 ネットワークシステム、ネットワーク管理装置、通信装置、パス設定方法及びプログラム
US8077602B2 (en) 2008-02-01 2011-12-13 International Business Machines Corporation Performing dynamic request routing based on broadcast queue depths
US7779148B2 (en) * 2008-02-01 2010-08-17 International Business Machines Corporation Dynamic routing based on information of not responded active source requests quantity received in broadcast heartbeat signal and stored in local data structure for other processor chips
KR101250666B1 (ko) 2009-01-30 2013-04-03 후지쯔 가부시끼가이샤 정보 처리 시스템, 정보 처리 장치, 정보 처리 장치의 제어 방법, 및 컴퓨터 판독 가능한 기록 매체
JP2010218364A (ja) * 2009-03-18 2010-09-30 Fujitsu Ltd 情報処理システム、通信制御装置および方法
US8139490B2 (en) 2009-12-21 2012-03-20 Google Inc. Deadlock prevention in direct networks of arbitrary topology
US9244880B2 (en) * 2012-08-30 2016-01-26 Netspeed Systems Automatic construction of deadlock free interconnects
CN102904806B (zh) * 2012-09-28 2015-04-15 清华大学 一种计算机系统的无死锁容错自适应路由方法
US9007962B2 (en) 2013-01-24 2015-04-14 International Business Machines Corporation Deadlock-free routing using edge-disjoint sub-networks
US9237093B2 (en) 2013-03-14 2016-01-12 Silicon Graphics International Corp. Bandwidth on-demand adaptive routing
WO2014209347A1 (en) * 2013-06-28 2014-12-31 Intel Corporation Mechanism to control resource utilization with adaptive routing
US9928204B2 (en) * 2015-02-12 2018-03-27 Netspeed Systems, Inc. Transaction expansion for NoC simulation and NoC design
US10237198B2 (en) 2016-12-06 2019-03-19 Hewlett Packard Enterprise Development Lp Shared-credit arbitration circuit
US10721185B2 (en) 2016-12-06 2020-07-21 Hewlett Packard Enterprise Development Lp Age-based arbitration circuit
US10452573B2 (en) 2016-12-06 2019-10-22 Hewlett Packard Enterprise Development Lp Scripted arbitration circuit
US10944694B2 (en) 2016-12-06 2021-03-09 Hewlett Packard Enterprise Development Lp Predictive arbitration circuit
US10474601B2 (en) 2017-02-06 2019-11-12 Oracle International Corporation Distributed fairness protocol for interconnect networks
US10498631B2 (en) 2017-08-15 2019-12-03 Hewlett Packard Enterprise Development Lp Routing packets using distance classes
US10374943B2 (en) 2017-08-16 2019-08-06 Hewlett Packard Enterprise Development Lp Routing packets in dimensional order in multidimensional networks
US10693811B2 (en) 2018-09-28 2020-06-23 Hewlett Packard Enterprise Development Lp Age class based arbitration

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE28577E (en) * 1969-03-21 1975-10-21 Channel reallocation system and method
US4814973A (en) * 1983-05-31 1989-03-21 Hillis W Daniel Parallel processor
JP2644718B2 (ja) * 1983-12-28 1997-08-25 株式会社日立製作所 コンピュータシステム
US4771391A (en) * 1986-07-21 1988-09-13 International Business Machines Corporation Adaptive packet length traffic control in a local area network
US4933933A (en) * 1986-12-19 1990-06-12 The California Institute Of Technology Torus routing chip
US4984235A (en) * 1987-04-27 1991-01-08 Thinking Machines Corporation Method and apparatus for routing message packets and recording the roofing sequence
US5170482A (en) * 1987-08-14 1992-12-08 Regents Of The University Of Minnesota Improved hypercube topology for multiprocessor computer systems
US5008882A (en) * 1987-08-17 1991-04-16 California Institute Of Technology Method and apparatus for eliminating unsuccessful tries in a search tree
US4868818A (en) * 1987-10-29 1989-09-19 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Fault tolerant hypercube computer system architecture
US5105424A (en) * 1988-06-02 1992-04-14 California Institute Of Technology Inter-computer message routing system with each computer having separate routinng automata for each dimension of the network
US5347450A (en) * 1989-01-18 1994-09-13 Intel Corporation Message routing in a multiprocessor computer system
JP2749098B2 (ja) * 1989-02-03 1998-05-13 株式会社日立製作所 通信回線切替・併用方式
JP3072646B2 (ja) * 1989-03-20 2000-07-31 富士通株式会社 並列計算機間通信制御方式
CA2032620C (en) * 1989-12-22 1995-08-15 Takafumi Chujo Method for searching for alternate path in communication network
US5280474A (en) * 1990-01-05 1994-01-18 Maspar Computer Corporation Scalable processor to processor and processor-to-I/O interconnection network and method for parallel processing arrays
US5218676A (en) * 1990-01-08 1993-06-08 The University Of Rochester Dynamic routing system for a multinode communications network
US5229990A (en) * 1990-10-03 1993-07-20 At&T Bell Laboratories N+K sparing in a telecommunications switching environment
US5239545A (en) * 1990-11-05 1993-08-24 Motorola, Inc. Channel access control in a communication system
US5313645A (en) * 1991-05-13 1994-05-17 International Business Machines Corporation Method for interconnecting and system of interconnected processing elements by controlling network density
US5175733A (en) * 1990-12-27 1992-12-29 Intel Corporation Adaptive message routing for multi-dimensional networks
DE69232828T2 (de) * 1991-06-19 2003-06-18 Fujitsu Ltd System zur übermittlung von unterscheidungsinformation von paketleitwegen
EP0552385B1 (en) * 1991-08-21 2001-02-14 International Business Machines Corporation Connectionless ATM data services
JP2861518B2 (ja) * 1991-09-03 1999-02-24 日本電気株式会社 適応多重化方式
JP3071007B2 (ja) * 1991-10-22 2000-07-31 富士通株式会社 通信ネットワーク制御方式
US5313628A (en) * 1991-12-30 1994-05-17 International Business Machines Corporation Component replacement control for fault-tolerant data processing system
EP0570729A3 (en) * 1992-05-22 1994-07-20 Ibm Apap i/o programmable router
US5333279A (en) * 1992-06-01 1994-07-26 Intel Corporation Self-timed mesh routing chip with data broadcasting
JPH06318951A (ja) * 1993-01-07 1994-11-15 Toshiba Corp セル転送方法およびセル転送システム
US5353283A (en) * 1993-05-28 1994-10-04 Bell Communications Research, Inc. General internet method for routing packets in a communications network
US5546549A (en) * 1994-06-01 1996-08-13 International Business Machines Corporation Multi-path channel (MPC) interface with user transparent, unbalanced, dynamically alterable computer input/output channels

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
D.H.Linder et al,An Adaptive and Fault Tolerant Wormhole Routing Strategy for k−ary n−cubes,IEEE Trans.on Comput.,1991年 1月,Vol.40 No.1,p.2−12
J.Duato,A New Theory of Deadlock−Free Adaptive Routing in Wormhole Networks,IEEE Trans.on Parallel and Distributed Systems,米国,Vol.4No.12,1320−1331
L.Gravano et al,Adaptive Deadlock−and Livelock−Free Routing With all Minimal Paths in Torus Networks,IEEE Trans.on Parallel and Distributed Systems,1994年12月,Vol.5 No.12,p.1233−1251
M.Shumway,Deadlock−Free Packet Networks,Transputer Research and Applications 2,1990年,p.139−178
Y.M.Boura et al,Efficient Fully Adaptive Wormhole Routing in n−Dimensional Meshes,Proceedings InternationalConference on Distributed Computing Systems,1994年,p.589−596
Z.Liu et al,Grouping Virtual Channels for Deadlock−Free Adaptive Wormhole Routing,PARLE’93 Parallel Architectures and Languages Europe,5th International PARLE Conference Proceedings,1993年 6月,p.254−265
曽根猛、外3名,ハイパクロスバ・ネットワークにおけるvirtual channelの動的選択による適応ルーティング,並列処理シンポジウムJSPP’95論文集,1995年 5月15日,P.249−256
菅野伸一、外3名,超並列計算機TS/1のルーティング方式,電子情報通信学会技術研究報告,1994年10月28日,Vol.94 No.318,p.7−13

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009139024A1 (ja) 2008-05-15 2009-11-19 富士通株式会社 コンピュータを相互接続するネットワーク
US8504731B2 (en) 2008-05-15 2013-08-06 Fujitsu Limited Network for interconnecting computers

Also Published As

Publication number Publication date
WO1996032681A1 (en) 1996-10-17
DE69514550T2 (de) 2000-09-21
EP0821816B1 (en) 2000-01-12
EP0821816A1 (en) 1998-02-04
DE69514550D1 (de) 2000-02-17
US5701416A (en) 1997-12-23
JPH10506736A (ja) 1998-06-30

Similar Documents

Publication Publication Date Title
JP3532574B2 (ja) トーラス相互結合網のための適応ルーティング機構
US5737628A (en) Multiprocessor computer system with interleaved processing element nodes
US5533198A (en) Direction order priority routing of packets between nodes in a networked system
Chiu The odd-even turn model for adaptive routing
EP0858633B1 (en) Virtual maintenance network in multiprocessing system
US5659796A (en) System for randomly modifying virtual channel allocation and accepting the random modification based on the cost function
Chen et al. A fault-tolerant routing scheme for meshes with nonconvex faults
Chen et al. Fault-tolerant routing algorithm for meshes without using virtual channels
KR101082701B1 (ko) 정보 처리 시스템, 통신 제어 장치 및 방법
JP4128447B2 (ja) 並列演算及び並列メモリーアクセスのためのスケーラブルなインターコネクト構造
US20050201356A1 (en) Adaptive routing for hierarchical interconnection network
Seydim Wormhole routing in parallel computers
Sivaram et al. Implementing multidestination worms in switch-based parallel systems: Architectural alternatives and their impact
Lu et al. A comparison of different wormhole routing schemes
Demaine et al. A novel routing algorithm for k-ary n-cube interconnection networks
Ashraf et al. Introduction to routing in multicomputer networks
Golota et al. A universal, dynamically adaptable and programmable network router for parallel computers
Adda A scalable multibus configuration for connecting transputer links
Lu et al. A fault-tolerant multistage combining network
Loh et al. Adaptive, fault-tolerant, deadlock-free and livelock-free interval routing in mesh networks
DEMAINE et al. A NOVEL ROUTING ALGORITHM FOR K-ATLY iV-CUBE INTERCONNECTION NETWORKS
Choi Simulation studies of routing algorithms for multicomputer systems
Agrawal et al. Adaptive routing techniques for high reliability in multiprocessor interconnection networks
Lee Design of a Parallel Computer Network Interface Controller
Ok et al. An alternate dimension-order collective communication scheme on packet-switched 2D-mesh network

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20031210

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040304

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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: 20090312

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090312

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100312

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100312

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110312

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120312

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120312

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140312

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term