JPH10507015A - 適応性ルーターを使用するネットワーク通信装置 - Google Patents

適応性ルーターを使用するネットワーク通信装置

Info

Publication number
JPH10507015A
JPH10507015A JP8506602A JP50660296A JPH10507015A JP H10507015 A JPH10507015 A JP H10507015A JP 8506602 A JP8506602 A JP 8506602A JP 50660296 A JP50660296 A JP 50660296A JP H10507015 A JPH10507015 A JP H10507015A
Authority
JP
Japan
Prior art keywords
node
port
output port
route
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP8506602A
Other languages
English (en)
Other versions
JP3586281B2 (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23086669&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH10507015(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by エヌキューブ filed Critical エヌキューブ
Publication of JPH10507015A publication Critical patent/JPH10507015A/ja
Application granted granted Critical
Publication of JP3586281B2 publication Critical patent/JP3586281B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 パラレルプロセッサーネットワークはそれぞれのノードが多数のI/O ポートを含むプロセッサーを含めた多数のノードおよび、ローカルメモリーで構成される。通信パスは第1アドレスパケットのターゲットノードアドレスをノードのプロセッサーIDと比較することで、ノードを通して設定する。ノードアドレスがターゲットノードアドレスである場合、受信チャンネルは入力ポートに割り当てられ、route#ready コマンドは入力ポートと対となり、出力ポートに送信される。ノードアドレスがターゲットノードアドレスではない場合、第1非割当て出力ポートベクトルから選択され、アドレスパケットは選択された出力ポートの次のノードにフォワードされる。

Description

【発明の詳細な説明】 適応性ルーターを使用するネットワーク通信装置 関連する申請とのクロスリファレンス 係留中の申請番号07/587.237、タイトル“高性能コンピュータで使用されるネ ットワークコミュニケーションユニット”(Stephen R.Colley,et al.1990年 9月24日提出) 本発明の受託者かつnCUBE Corporationへ委託 発明の背景 発明分野 本発明はデータ処理システム、特に高性能並行処理システムに使われる通信メ カニズムに関するものである。 これまでの技術の説明 アメリカ合衆国特許5,113,523はプロセッサーとメモリを含む多数の処理ノー ド(結合点)から成る、パラレル・プロセッサーについて説いたものである。各 プロセッサーには実行構造、プロセッサーをメモリーと連結するメモリーに関係 するロジック、それからインターノード(結合点)通信メカニズムがある。イン ターノード(結合点)通信メカニズムはハイパーキューブ・トポロジーを持つオ ーダーnの第1配列を形成するように、ノード(結合点)をつなぐ。ハイパーキ ューブ・トポロジーに一緒に接続されているノード(結合点)を持つオーダーn の第2列は第1列と連結されてオーダーn+1列を形成する。並行プロセッサー システムがどんなナンバーのプロセッサーでも形成されるように、オーダーn+ 1列はオーダーnの第1および第2列でつくられる。I/O プロセッサーセットは I/O チャンネルを使用して、配列のノード(結合点)に接続する。インターノー ド(結合点)通信は全てのノード(結合点)に共通のクロックにより構成される シリアルデータチャンネルを含む。 上で参照された係留中である出願SN07/587,237は、固定ルーティング通信シス テム(fixed-routing communication system)を説いたものである。この固定ル ーティング通信システムの中では、アメリカ合衆国特許5,113,523で説明されて いるネットワークの各プロセッサーはただ1つのプロセッサーIDが割り当てら れている。ポートnを通して、お互いに接続した2個のプロセッサーのプロセッ サーIDは、n次ビットでのみ変化する。多数の入力ポートおよび出力ポートは それぞれのノードで提供される。ノードの入力ポートの一つの入力ポートの制御 手段は他のノードの出力ポートからカレントメッセージに関するアドレスパケッ ト受信する。データバスはある1つの入力ポートに受信されたメッセージが、あ る他の出力ポートにルートされるように一つのノードの入力・出力ポートに一緒 に接続する。比較ロジックは、第1アドレスパケットとノードのプロセッサーID の差のビットポジションを決定するため、第1アドレスパケット内のノードアド レスとノードのプロセッサーIDを比較する。比較ロジックは入力ポートにより データバスに置かれたメッセージパケットからn+1ビットから始まる第1の差 のビットポジションに対応するポートナンバーを持つ出力ポートヘ転送させる機 能を持つ(nはメッセージを受信したポートのナンバーである)。 上記で参照した出願SN07/589,237で説明されている固定ルーティング設計でフ ォワードでなければ、提供されたソースから提供された目的地までメッセージを 正確にしたルーターを取ることができ、中間ノードを通して経路が設定されるま で使用中のチャンネルから遮断される。決定した経路はディメンション・オーダ ー最小短の経路である。この設計は渋滞がなく、遮断されたり不完全なノード周 囲のメッセージをルートしない。 本発明の目的は並行プロセッサーで遮断されたり、不完全なノード周囲のメッ セージをルートする新しい通信メカニズムを提供するものである。 発明の要約 一言で言うならば、上記の目的は迷路適用性ルーティング(maze adaptive rou ting)メカニズムを整え、本発明を実現することで達成される。ノードAからノ ードBへ転送する迷路適応性ルーティング設計で、2個のノード間の全ての最小 短パスは空いている経路を探すために試された、シングル・パケット・スカウト によりサーチされる。 一番浅い(近そうな)パスから始めて、目的地までの空いているパスを順番に 調べていく。空いている最小短パスが発見されない場合、他の(最小短ではない )パスがサーチされるようになっている。(ソフトウェアがサーチを再開すると か、他のコマンドを実行できるように、中央処理装置の動作は中止される。) 本発明の特徴の一つは、目的地のノードに対するルートを発見して、設定する のに使用されたノードアドレスパケットは他の必須制御ビットおよびパラメータ ーを追加した目的地(ターゲット)ノードアドレスが提供される。 本発明はメカニズムが、遮断されていたり通過不能なノードを自動的に迂回す るというところにその特徴がある。 また迷路ルーター(maze router)はほとんどのメッセージミックスに、優れ た帯域幅制御と待機時間をしめしている。これはルートを探すために、徹底的か つ一つ一つ順序通りに調べていくためである。迷路ルーターは固定したルーティ ングワームホール設計の妨害を減らし、ルートサーチトラフィックを最小限に維 持する。 図面の簡単な説明 これまでに説明してきたり、またはこれから解説する、本発明の目的、特徴、 長点は、本発明の実行方法についての以下の詳細な記述や別に添付した図面を通 してはっきりすることと思う。 図1は本発明が実現される、通信装置の詳細なブロックであり、 図2は図1に示された受信チャンネルのブロック図、 図3は図1に示された送信チャンネルのブロック図、 図4は図1に示された出力ポートのブロック図 図5は図1に示された出力ポートのブロック図 図6は図1に示されたルーティングレジスターおよびロジックのブロック図 図7は8個のポートからネットワークディメンション3ハイパーキューブから の迷路ルーティング例を図示している。 図8は固定された適応性ルーティング用メッセージ待機時間対ネットワーク転 送データのパーセントのグラフ 図9はアドレスパケットの図面、 図10データパケットの図面 図11はコマンドパケットの図面 図12は転送動作のルーティング状態の流れ図 図13は入力ポート動作のルーティング状態の流れ図 図14はエンドトゥエンド肯定応答の図示 図15はリンクが遮断しない迷路発送タイミング図 図16はリンクが遮断された迷路ルートタイミング図である。 本件実行の説明 シグナルライン定義 次は図1に使用されるシグナルラインの略語を要約または定義したものである 。 CPU:中央処理装置 CUTB:コマンド、アドレスおよびデータがポートやチャンネルの間に通過する カットスルーバス IPINS:入力ピン MEMADR:メモリーアドレスバス MEMDAT:メモリーデータバス NODEID:ノード識別番号;ノードを他のノードと区別するため、それぞれのノ ードプロセッサーに該当する唯一のコードナンバー OPALL:18個のポート及び8個の受信チャンネルそれぞれに対する出力ポート 割当 OPBSY:出力ポート使用中;18個の出力ポートおよび8個の受信チャンネルの うち、対応する出力ポートまたはチャンネルが使用中であることを表示する一つ のライン OPINS:出力ピン OPSELV:出力ポートおよび受信チャンネル選択ベクトル;ルーティングロジッ クは選択された出力ポートおよびチャンネルを表示する PORTCUT:カットスルーに対するポート、転送チャンネルまたは受信チャンネ ルを表示するベクトル PORTRT:ルートを要請するエージェントからの候補ポートベクトル PRB:プロセッサーバス;中央処理装置からのデータバス RMAADR:受信DMA アドレス RDMADAT:受信DMA データ SDMAADR:送信DMA アドレス SDMADAT:送信DMA データ コマンド定義 ETE-ack-End-to-end acknowledge:転送が完了した時、バック・トラックはET E-ack ロジックがそのパスの全てのポートを割り当てないようにパスを復帰させ 、状態を発信転送チャンネルに伝達する時、転送ルートに従って反対方向に発生 する。 BOT:転送開始;転送命令による転送開始を表示する転送チャンネルに発生す るシグナル EOM:メッセージのエンドメッセージのエンドであることを表示するターゲッ トノードに伝達されたコマンドである。 EOT:転送のエンドはこの転送の最終パケットであることを表示するターゲッ トノードに伝達されたコマンドである。 ETE#ack:End-to-end肯定応答は転送がターゲットまでうまく転送されたこと を示すものである。これにはレシーバー側にあるソフトウェアによってセットア ップされたレシーブコードが含まれている。 ETE#nack:エンドトゥエンド非肯定応答コマンドはメッセージがターゲットノ ードに連続的に伝達しないことを表示し、パリティーエラーまたは受信カウント オーバーフローのような状態に復帰させる。 ETE#en:エンドトゥエンド・イネイブル・シグナル受信チャンネルからターゲ ットノードのエンドトゥエンド・ロジックが可能であることを表示するため、ア ドレスパケットに送信される。 Flush#path:これはターゲットノードに対するパスへの全てのポート及びチャ ンネルの割り当てを解除し、開放するフラッシュコマンド Rest#node:これはノードおよびこのポートおよびチャンネルを初期状態に再 設定するコマンドである。 Rest#CPU:Rest#CPUはノードからCPUを再設定するが、初期状態からポート及 びチャンネルを再設定しないコマンドである。 Rcv#rej:Receive Rejection は受信チヤンネルがターゲットノードで使用不 可能であることを表示する経路拒絶コマンドである。 Rcv#rdy:Receive Ready は受信チャンネルが転送を受けるための準備が整っ たことを示すコマンドである。 Route#rdy;Route Ready はターゲットノードおよび受信チャンネルが送信チ ャンネルからの転送用として獲得され、該当する送信チャンネルを表示するコマ ンドである。 Route#reject:これはターゲットノードに対する全てチェックした経路が遮断 されていることを示す経路拒絶コマンドである。 Rt#ack:Route acknowledge(ルート肯定応答)はターゲットノードに取られ たスカウトパケットが使用可能であり、割当(確保)られたことを示すパス肯定 応答コマンドである。 Send#rdy:Send Readyはメッセージ又は転送開始ができるように準備された送 信チャンネルを示すステータスレジスターである。 図1は本発明が実現した通信装置の詳細なブロック図である。ダイレクトメモ リーアクセス(DMA)バッファーとロジックブロック(10)はメモリアドレス(memad r)およびメモリーデータバスを通じてメインメモリー(図示しておらず)に接 続する。8個の受信(rcv)チャンネル(12)は8個の送信チャンネル(14)と対 となる。ルーティングレジスターおよびロジックブロック(16)はPortrtとOpse lvを通して送信チャンネルとOpselvを通じて受信チャンネルに接続する。カット スルーアービタ(arbiter)およびシグナル(18)、ルーティングアービタとシグ ナル(20)およびPortcut、CutbおよびPortsrc を通して送信及び受信チャンネ ルに接続する。プロセッサーバス(prb)は中央処理装置(図示しておらず)か ら受信チャンネル、送信チャンネル、ルーティングアービタおよびシグナルブロ ックおよび入力ピン(Ipins)を通じてオフチップに接続する。出力ポートはカ ットスルーアービタとシグナルブロック(18)および出力ピン(Opins)を通じて オフチップに接続される。 受信チャンネル 図2は図1に図示された8個の受信チャンネル(12)の中、一つのブロック図 である。それぞれの受信チャンネルは受信ダイレクトメモリーアクセスレジスタ ーRDMA(50)、受信ステータスレジスターRSTAT(52)、DMA 4ワードバッファー DMABUF(54)および受信ソースベクトルレジスターRSRCVEC(56)を含む。転送デ ータを通して受信チャンネルをカットする入力ポートは受信チャンネルがete-ac kコマンドを復帰させる時、PORTCUT に配置するRSRCVEC レジスターの内容によ り表示される。 アドレスパケットまたはデータパケットカットスルーCUTBの入力ポートから受 信される。データはメモリに記録される前に受信DMA バッファーDMA BUF(54) に受け取る。データを配置するためにメモリーに記述するアドレスおよび長さは 受信dma レジスター(50)に貯蔵される。データを受信する時、これはデータレ ジスターバスDWB からアドレスDADRおよびワードカウントDCNTと共にメモリコン トローラーに伝えられる。受信ソースベクトルレジスターRSRCVCはデータが送信 された入力ポートからの表示である。エンドトゥエンド(ETE)状態を持つエン ドトゥエンド(ETE)コマンドはRSTAT レジスター(52)から送信ポートに逆に 送信される。 送信チャンネル 図3は図1に図示された8個の送信チャンネル(14)の中の一つのブロック図 である。各送信チャンネルは送信バッファーDMA、SBDMA(58)、送信DMA レジス ターSMAD(60)、送信バッファーパスSBPTH(62)、送信パスレジスターSPTH(64 )、エンドトゥエンドバッファーETEB(66)、エンドトゥエンドレジスターETE( 68)、DMAバッファー(70)、送信ポートベクトルレジスターSPORTVEC(72)、送 信ポ ート選択レジスターSPORTSEL(74)および送信ポート代替レジスターSPORTALT( 72)を含む。 SDMAレジスター(60)はアドレスおよび長さがフィールドを貯蔵し、SBDMAレ ジスター(58)と二重キューになる。SPTHレジスター(64)は目的地(ターゲッ ト)ノードのポートベクトルおよびノードアドレスを貯蔵して、SBPTHレジスタ ーと二重キューとなる。転送の終わりにSBDMA レジスター(58)はSDMAレジスタ ー(60)にポップされ、SBPTH レジスター(62)はSPTHレジスター(64)にポッ プされる。メッセージの終わりにSBDMA のみがSDMAレジスターにポップされる。 ETE レジスター(68)はエンドトゥエンド(ETE)キューの上部に存在し、ETEB レジスター(66)はエンドトゥエンド(ETE)キューの底部に存在する。エンド トゥエンドETE はCUTBUSを通じて復帰され、ETEBレジスター(66)に貯蔵される 。ETEがあいていたり、使えない場合、ETEBはETEにポップされる。 CPU 命令はPRB バスを使用してレジスターにアクセスする。SDMAレジスターが 使用された場合、情報はバッファーSBDMA(58)に配置される。またSBDMA(58)がい っぱいに詰まっている時には、プラグはCPU に設定され、送信チャンネルが詰ま っていることを示す。(SPTHおよびSBPTH用も同一)。 送信ポートベクトルSPORTVEC(72)は分離パスに存在するが、SPTHレジスター は送信チャンネルに存在する。SPORTVEC(72)は転送がルートされる出力ポート を通じて表示するビットパターンを貯蔵する。ポートベクトルはポートルートPO RTRTバスを使用して、図6に図示されたルーティングロジックに通される。PORT SRC ラインはチャンネルまたはポートが新しいルートを要請することを表示する ように決められる。これが受け入れられる場合、ゼロフィールドから1ベクトル は出力ポート選択OPSEL を通事ルーティングロジックから送信ポート選択SPORTS ELレジスター(74)まで送信される。SPRTSEL レジスターは一つの選択された出 力ポートを表示する。送信チャンネルはアドレスパケットまたはDMABUF(70)か らのデータをカットスルーバス(CUTB)を通じ出力ポートに送信される。カット スルー用出力ポートはポートカットスルー選択バスPORTCUT のポート選択ベクト ルSPORTSEL(74)に配置されることで選択される。 SPORTVECベクトルは反転し、反転したベクトルは代替ポートベクトルレジスタ ーSPORTALTに配置される。全ての選択されたルートがSPORTSELレジスターを使用 して、失敗した場合、SPORTALTレジスターはSPORTSELに伝達され、代替ルート選 択をするように作動する。 入力ポート 図4は図1に示された入力ポートのブロック図である。各入力データレジスタ ーIDAT(78)、入力データバッファーIBUFDAT(80)、入力バッファーコマンドI BUFCMD(81)、入力バック・トラックデータレジスターIBAKDAT(82)、識別番号差 レジスターIDDIF(84)、入力ポートソースレジスターIPORTSRC(86)、入力ポー トベクトルレジスターIPORTVEC(88)および入力ポート選択レジスターIPORTSEL (90)を含む。 対応するハイパーキューブの隣のノードの出力ポートからシフトしたビット対 はIPINS の入力ポートコマンドIBUFCMD レジスター(81)にシフトされる。パケ ットの前面ではパケットの大きさを表示するパケット型がある。ショートパケッ トの場合、これはIBUFDAT レジスター(80)の中間にシフトする。バック・トラ ックコマンドである場合、これはノードのアドレスNODEIDと比較される。結果は IDDIF レジスター(84)にロードされた、異なるベクトルである。フォールディ ングが可能であれば、FOLDENラインが決められ、フォールドされたポートに対応 するIDビットは異なるベクトルIDDIF を変更するのに使われる。IDDIF レジスタ ーの内容はルートされるメッセージを通じて次の最小ルートポートを確認させる のに使われた入力ポートベクトルレジスターIPORTVEC(88)にロードされる。IP ORTVECはポートルートバスPORTRTを通して図6のルーティングロジックで送信さ れる。同時に、入力ポートはポートルーティングをもったルーティングロジック を通過したPORTSRC の対応するビットを決定する。 ルーティングロジックにより選択された出力ポートはIPORTSELレジスター内に 記録されたOPSELVバスに表示される。またPORTSRC 値は選択されたOPORT に対応 するIPORT で受信された場合、SRCVECはOPORT を選択し、バック・トラックデー タが送信される。ある時間データはCUTBバスに表示され、IPORTSELレジスター( 90)またはSRCVECレジスターの内容はPORTCUT バスに表示され、データを受信す るために出力ポートを選択する。 出力ポート 図5は図1に示された出力ポートのブロック図である。各出力ポートは出力デ ータレジスターODAT(92)、出力データバッファーOBUFDAT(94)、出力バック ・トラックデータレジスターOBAKDAT(96)および出力肯定応答データレジスタ ーOACKDAT(98)を含む。 アドレスまたはデータパケットはカットスルーバスCUTBの入力ポートまたは送信 チャンネルからつき、出力データODATレジスター(92)内にロードされる。使用 中でない場合、ODATレジスターは出力バッファーデータレジスター(94)内にポ ップされる。ODATがいっぱいに詰まるような場合、出力ポート使用中OPBSY ライ ンは決定される。出力バック・トラックデータOBAKDAT レジスター(96)はバッ ク・トラックコマンドを貯蔵する。出力肯定応答データOACKDAT レジスター(98 )はパケット肯定応答コマンドを貯蔵する。OBUFDAT レジスター(94)、OBAKDA Tレジスター(96)およびOACKDAT レジスター(98)はクロック周期当たり、2 個のピン(ビット)のクロック周期毎にOPINS からビットをシフトするシフトレ ジスターである。 ルーティングレジスターおよびロジック 図6は図1に示されたルーティングレジスター及びロジック(16)のブロック 図である。ルーティングレジスターはノード識別番号レジスターNODEID(100) 、終了レジスターTERMIN(102)、フォールドイネイブルレジスターFOLDEN(104)、 出力ポート割当てレジスターOPALL(108)、出力ポート使用中レジスターOPBSY( 110)、代替マスクレジスターALTMSK(112)、入力・出力マスクIOMSK(114)、入力 ・出力選択IOSEL(116)、OPRTEN(118)およびルーティングファインドファースト ワン(FFO)ロジック(120)を含む。 NODEIDレジスター(100)はこのプロセッサーのノードアドレスを含む。 端子レジスターTERMIN(102)は入力ポートが端子ポートであることを示す。端 子ポートはアドレスパケットをNODEIDと比較せず、このようなポートに到着した あるアドレスパケットはターゲットノードに到着した時に受け取られる。 フォールド・イネイブルレジスターFOLDEN(104)はポートがフォールドされ得る ことを示すベクトルを持っている。FOLDENはワームホールルーティングプロトコ ールを行なう時ルーティングFFO(120)により考慮されるために、第1ポートが 私用されていなかったり、迷路ルーティングプロトコールを行なう時、PORTRTポ ートのフォールディングパートナーは潜在的なルーティング候補として考慮され る。 送信チャンネルまたは入力ポートがパスを要請する時、PORTRTバスはXmission パスから次のリンクを形成するために選択されうるルーティングロジックから全 てのOPORT を示すベクトルを持つ。PORTRCは要請を行なうチャンネルを確認する ベクトルをもち、OPALL ベクトルは出力ポートが既に割り当てられたことを示す 。 ワームホールルーティングプロトコールで、ファインド・ファスト・ワン(FFO )はPORTRTベクトルのビットルーティングFFO(120)が行なわれ、要請が満たさ れた(PORTSRC バスの)ポートを超過するビット位置から始まって、必要な場合 (これは「螺旋系」サーチである。)を超過するビット位置0周囲をラップする 。第1‘1’ビットは取られなければならないルートの次のリンクを通した出力 ポートを表示する。フォールディングがこのポート(FOLDEN)用としてイネイブ ルされた場合、これに対応するフォールドした出力ポートはルーティング用に使 用可能となり、FFO の出力ベクトルに出力される。ベクトルはOPORTEN およびOP ALL がマスクされ、OPSELVバスの出力ポート選択ベクトルを形成する。OPSELVが 全部ゼロである場合、ルート選択は失敗し、すなわち次のリンクをルーとするよ うに要求した出力ポートは使用不可能であり、送信チャンネルまたはIOPORTは出 力ポートが使用可能な時までルーティングを再度繰り返す。 迷路ルーティングプロトコールで、PORTRTベクトルはFOLDENレジスターにより 、表示されるとき、あるフォールディングポートに対して、先に増加する。その 次に、FFO が行われる前に、OPALL およびOPORTEN がマスクされる。ワームホー ルの場合に対して、FFO 動作はPORTSRC バスに表示されたものを超過する第1ビ ットの位置から始まって、必要な時(‘螺旋形’サーチ)周囲をラップする。した がって、迷路ルーティングから、PORTRTベクトルからの第1使用可能な出力ポー トは選択され、OPSELVバスに配置される。PORTRTポートが使用する事かできない 場 合、OPSELVはゼロではありえず、ルート選択は失敗する。ルート要請が送信チャ ンネルからである場合、送信チャンネルはETE キューからルート拒絶上t愛を配 置して、CPU をインタラプトする事ができる。ルート要請が入力プロトコールで ある場合、ルート拒絶コマンドは要請する入力ポートと対となる出力ポートを通 じて、パスの移転逆に送受信されうる。 ルーティングアービタおよびシグナル 図1に示されたルーティングアービタおよび信号(20)はファインド・ファー スト・ワン(FFO)チェーンである。選択された最終ポートまたは送信チャンネ ルが求められる。サーチが行われる次の時間、サーチはまず位置の最終位置とラ ウンドロビン型が処理されることのほかにすぐに開始される。ポートまたは送信 チャンネルはXmissionパスに次のリンクを形成するために出力ポートを選択する ことができるルーティングロジック(16)からアクセスを形成するために出力ポ ートを選択できるルーティングロジック(16)からアクセスを得るためにルート 選択を調整する。その次に、カットスルーアービタおよびシグナルロジック(18 )は呼び出される。 カットスルーアービタおよびシグナル 図1に示されたカットスルーアービタおよびシグナル(18)はファインド・フ ァスト・ワン(FFO)チェーンである。カットスルーポート割当優先は07/587,23 7にて説明したものに類似しているが、ポート割当優先は配線によるものではな い。選択されたチャンネルの最終ポートが求められる。サーチが行なわれた次の 瞬間、サーチの最終ポジションおよびルートロビン型が処理したものの他に正確 に処理される。 迷路ルーティング 図7は8個のプロセッサーネットワークディメンション3ハイパーキューブの 迷路ルーティング例を図示した。ソース(src)ノード(000)は点線で表示されたル ートサーチパスに従ってスカウトパケットは表の“+”で示されたリンクと接 する。001 からソースノード(000)まで反対に直線で表示されている。その次に 、メッセージは太い直線で表示されているように、パスのターゲットノード(11 1)に送信される。 カットスルーハードウェア 多重パスルーティングを維持するために、受信および送信チャンネル(12、14 )は、ロジックで通信ポート(22)と別になっている。従って、各送信および受 信チャンネルは選択されたポートまたはポートからデータを操作するため、カッ トスルーロジックを必要とする。カットスルーロジックは18ポート、8送信と8 受信チャンネルのそれぞれ役割をするように模写されたSN07/587,237で説明され たものと類似している。 ルート拒絶ロジック スカウトパケットがパスを捜査する時、これが遮断または使用中チャンネルを 認識し、スカウトパケットパスのノードから各チャンネルを再度調査し、割当ら れていない拒絶パケットと反応しなければならない。エンドトゥエンド肯定応答 (ETE-ack)パケットに使用される同一のバック・トラックパスおよびロジック を使用して、再調査する。 迷路ルート選択および再調査ロジック パスに従うあるノードからのルートはノードIDと共にターゲットノードIDのイ クスクルーシブOR(XOF)を実行することで選択される。これはSN07/587.237に 説明されているように、固定ルーティング用カットスルーポート選択と全く同じ であるが、非割当てられたポートはルーティングロジックにより選択される。割 り当てられたパスからのポート拒絶は、対応するカットスルーセルを無効とし、 次に選択されたポートを試すことになる。効果的なポート選択が残っていない場 合、拒絶メッセージはパスの以前のノードまたは送信チャンネルに逆に通過する 。ターゲットノードに連続的に到着するスカウトは、次に使用可能な受信チャン ネルで操作された後、path#ackメッセージとしてパスを再度調査する。送信チャ ン ネルがpath#ackメッセージを受信した場合、これは選択されたパスに従い、要請 されたメッセージを転送して、開始することができる。全ての潜在的なパスが拒 絶された場合、CPU 動作は阻止され、時間任意待機と再調査はソフトウェアによ って呼び出される。 図8はメッセージ待機時間対ネットワーク転送データのパーセントのグラフで ある。適応性迷路ルーターは実線で表示し、固定性ワーム・ホールルーターは点 線で示した。3個のメッセージミックス;スモール(16パケット)、ミディアム (128パケット)、ラージ(1024パケット)が表示されている。垂直軸は第1パ ケットを伝達するためのパケット時間を表す、メッセージ待機時間である。水平 軸は転送データのネットワークのパーセント、即ちネットワーク帯域幅転送デー タのパーセントである。表1で示されたメッセージミックスは図8のグラフでは 、双ルーティングタイプとしてプロットされている。 図8のグラフに図示されているように、迷路ルーターは大部分の状況で固定さ れたワーム・ホールルートを実行する。 メッセージプロトコール End-to-End Reporting 転送はエンドトゥエンド(ETE)肯定応答がターゲットノードから、ソースノ ードに逆に受信されるまでパスを任意に維持することができる。ETE-ack、また はETE#nak は伝達された転送として同一のソースに従って、ターゲットパスに逆 に送信されるが、反対方向からはターゲットからソースまで転送される。ソース パスに対してターゲットはバック・トラックルーティングネットワークに従い、 他の方向に転送する相手のポートを使用する。 ETE#nak は“parity#error”、“rcv#count#overflow”、または“flushed” を表示するエラー状態を含む。ETE#ack は受信機エンドでソフトウェアにより、 設定された6ビット状態のフィールドを含む。ETE パケットは相手のパスに従っ て、他のメッセージ後にキューされないが、バック・トラックルーティングネッ トワークを使用して、正常メッセージパケットの間に挟み込まれる。ETE パケッ トはソースノードで、転送を初期化する送信チャンネルに伝えられる。 パケットフォーマット メッセージは他の形態のパケットを通じて伝えられる。全てのデータ転送は32 ビットアドレスパケットで始まり、次に64ビットのデータ、そして8ビットのパ ケットオーバーヘッドを含む72ビットデータパケットである。メッセージデータ はメモリー内に配列されたダブルワードでなければならない。コマンドは18ビッ トパケットに伝えられ、ハードウェアのみがその実行と停止を行なえる。 図9はアドレス(スカウト)パケット(32ビット)の図面である。 スタートビット −2 パケットタイプ −2 ノードアドレス −18 フォワードビット −1 ルーティングタイプ −3 リザーブド −2 肯定応答 −2 パリティー −2 図10はデータパケット(72ビット)の図面である。 スタートビット −2 パケットタイプ −2 データ −64 肯定応答 −2 パリティー −2 図11はコマンドパケット(18ビット)の図面である。 スタートビット −2 パケットタイプ −2 コマンド −4 ステータス −6 肯定応答 −2 パリティー −2 ルーティングタイプ: ビット0は“忘れっぽい”ルーティングを示す。つまり、ある連結ノードでの シングルルートをさす。非適応性 ビット1は“漸次的な”ルーティングを示す。つまり、アドレス後のデータワ ームホール、回路調査(スカウトパケット)はない。 ビット2は“代替”ルーティングを示す。つまり、遠くのルーティングが、と もかく遮断されている時は、非最小パスに隣接するミスルート 000 =“迷路”ルーティング:回路調査(スカウトパケット)を使用した徹底 したバック・トラック 001 =“螺旋系”ルーティング:回路調査を使用して、送信機から探されたn 最小パスの“忘れっぽい”ルート 010 =リザーブド 011 =忘れっぽいワームホールルーティング(唯一の非適応性rtタイプ) 100 =“alternate#maze”:ソースが完全に遮断されるまで迷路、その次に必 要に応じて隣接するノードを通じたルートと迷路 101 =“alternate#helix”:ソースが完全に遮断されるまでは螺旋、その次 に非最小パスに従いミスルートおよび螺旋 110 =“hydra”:全てのパスが遮断されるまで漸次的に迷路(ワームホール ・データの後に各中間ノードから第1使用可能な最小パスポートを取る)、その 次に遮断されたノードからミスルートおよび迷路 111 =“oblivious#hydra”:経路が遮断される時まで“忘れっぽい”ワーム ホール(ワームホールデータの後に、各中間ノードから唯一第1最小パスポート を取る)、その次に遮断されたノードからミスルート及び迷路 パケットタイプ 00=アドレス 01=データ 10=bak-trak routing#command(rt#rej、rcv#rej、fwd#rej、rt#ack、ETE#ac k、ETE#nak) 11=fwd#message#command(EOM、EOT、flush、reset) コマンド stat cmd --- --- xxxxxx 0000 = packet acknowledge xxxxxx 0001 = route ack(path ack) xxxxxx 0010 = route rejected(blocked)(path rejection) xxxxxx 0011 = reserved xxxxx0 0100 = rcv#channel rejected or hydra#route rejected xxxxx1 0100 = parity#err flushed back xxxxxx 0101 = forwarded route rejected ssssss 0110 = ETE ack(ssssss = rcv#code) ssrrrr 0111 = ETE nack(rrrr = error status; ss = rcv code) xxxxxx 1000 = EOM xxxxx0 1001 = E0T - no ETE requested xxxxx1 1001 = EOT - ETE requested xxxxxx 101x = reserved xxxxxx 1100 = reset#CPU xxxxxx 1101 = reset#node xxxxx1 1110 = parity#err flushed forward xxxxxx 1111 = reserved ノードアドレッシング プロセッサーIDおよびターゲットアドレスはシステムで256K可能なノードのう ち、一つのノードを特定する18ビットユニークバリューである。ターゲットノー ドの18ビット物理ノードアドレスは迷路ルートが設定される時の“スカウト”パ ケット(回路調査)の一部としてメッセージ転送の主位に、アドレスパケット内 に含まれる。新しい転送・送信物理ノードアドレス転換、ノードアドレスチェッ キングとport#vector 演算に対するロジックはシステムソフトウェアにより直接 的に行なわれる。 メッセージルーティング メッセージは上記パケットフォーマット部分のルーティングタイプ型テーブル に表示されたとおり、7つの方式中、あるものにルートされる事ができる。プロ グラマーは“Set#path”または“Send”コマンドのオペランドのルーティング型 フィールドを通した方法を選択する。 忘れっぽいワームホールは“固定された”ルーティング設計である。提供され たソースから提供された目的地までのメッセージは正確に一つの選定されたルー ティングパスを取る。一度取られたパスは最下次数アップヒル最小短パス(lowe st-order uphill minimum-length path)である。メッセージデータによる即時 につながれたノードアドレスであるメッセージはターゲットノード側にこの方式 を差し込み、パスが空いて最小でない場合はわからないが、これが接する時、使 用中のポートに遮断されて、使用中のポートが空いた時、続けられる。 本発明による迷路ルーティングは適応性ルーティング設計である。ノードA か らノードBまでのメッセージに対して、2個のノードの間の全ての最小短パスは 一つのパケットスカウトにより、同時に一括して調べられ(正確には、第1レッ グが非最小であるパスが任意に調査されうる),最下アップヒルパスを開始して 、ターゲットに対する空いたパスが発見される時まで、最下パスの幅の深さ−第 1螺旋系横断路を行なう。ターゲットからスカウトパケットの成功的な到着はパ スを設定する。その次に、path#acknowledgeパケットが逆に送信機で伝達される 時、確保されたパスはメッセージを転送するのに使用される。しかし、空いたパ スが見つからなければ、阻止されたソースノードに発生し、ソフトウェアは適合 する遅延後のパス調査を再度開始するか、代替ルーティング(または第1レッグ パスの、他のセットを使用する)を使うことができる。 迷路ルーティングプロトコール 迷路ルーターでソース(送信機)ノードからターゲットノードまでの転送は、 パスがソースノードの送信チャンネルからターゲットノードの受信チャンネルま で設定されるまで、達成されない。パスは次のように設定される。 送受信ノードで ソースの送信チャンネルは、それぞれ初期に調査されうるルーティングを通し て、送信機のノードの出力ポートを表示して、送信命令を通してソフトウェアに より提供されるsend#port#vector(SPRTVEC)に関係する。これらのポートは最 小短パスを開始することもしないこともできる。従って、この第1ホップは非最 小にルートすることができ、全てのサブシークエントホップは、最小パスのみを ターゲットに取ることができる。言い換えると迷路ルートはノードセットとター ゲットノードの間に最小パスの徹底したサーチを行い、ソースノードまたは所定 の首位中間アクセス可能な、隣接したノードを含めて設定される。 ターゲットノードのノードアドレスを含むスカウトパケットは、可能な空いて いるソースの選択された出力ポートの1番目に送信されるので、潜在的なパスか らターゲットノードに対する次のノードである、隣接したノードに伝達される。 path#rejection packet が対応する入力ポートに順次的に受信されない限り、送 信チャンネルから選択された出力ポートまでのパスは隠され、ペンディング転送 用として確保される。選択された出力ポートがpath#rejection packet を受信し た場合、次のノードを超過する全てのパスが遮断されるために、使用可能な場合 、send#port#vectorからの新しい出力ポートが選択されることができ、スカウト パケットはポートを送信する。多くのsend#port#vector出力ポートが使用不可能 な時、これらが遮断または拒絶されるために、“all#paths#blocked”状態は各 送信チャンネル用ETE キューにプッシュされ、CPU は阻止され、送信チャンネル は待機状態となり、クリアするためにソフトウェアを待つ。しかし、path#ackno wlege packetが受信される場合、これはサーチおよび今開始されたサブシークエ ント転送用として確保されたサーチおよび選択されたパスの残りを初期化するSe nd#DMA#Channelに逆に通過する。 ターゲットノードで 入力ポート中一つにスカウトパケットを受信するノードは、先にスカウトパケ ットからのターゲットノードアドレスを自分のノードIDと比較する。これらが一 致すれば、スカウトパケットはターゲットノードを発見する。受信チャンネルが 空いている場合、スカウトパケットは受信チャンネルに伝えられ、path#acknowl edge packet は逆に全ての方法を、ソース(送信機)、ノードに送信し、スカウ トパスの成功的なレッグを再び試みることになる。受信チャンネルが使用不可能 な時、“rvc#channel#unavailable”コマンドとしてエンコードされたpath#reje ction packet は設定されたパスを通じ、ソースノードに逆に送信され、入力ポ ートは空く。 中間ノードで 受信ノードのノードIDが、ターゲットアドレスと一致しない時、このノードは 中間ノードであり、スカウトパケットをターゲットノードに対する最小短パスに 従い、隣接するノードに伝達するように試みることができる。これらの間のハミ ング距離である、このノードのノードIDに対するターゲットノードアトルスのXO R は出力ポートが最小短に接続されたことをしめし、カットスルーベクトルとし て、IPORTVECレジスターにラッチされる。この入力ポートと一対となる出力ポ ート、即ちせいかくに逆に発生するスカウトからのノードの逆リンクはカットス ルーベクトルから反応がないので、非最小ルート(第1ホップで割当てられる) により、発生することができるあるサイクルを予防する。フォールディングが可 能な場合、カットスルーベクトルのフォールドされたバートナーに対応するビッ トが決定する。スカウトパケットはこの入力ポートを超過して始まり、可能とな った空いたカットスルー出力ポート中、第1番目に送信される。path#rejection packet が出力ポートの相手の入力ポートから受信されない限り、受信する時ま で入力ポートから選択された出力ポートまでのパスはペンディング転送用に確保 される。path#rejection packet が受信した時、次のノードを初期化する全ての パスは使用可能な場合、遮断され、新しいカットスルーポートは選択されること ができ、スカウトパケットはこのポートを送信する。多くのカットスルーポート がこのノードから使用不可能な時、path#rejection packet はここに獲得された スカウトパケット中、一つの以前のノードに送信され、入力ポートは空く。しか し、path#rejection packet が受信された時、設定されたバスとサブシークエン ト転送用として確保され、選択されたパスの残りを通してソースノードに逆に通 過する。 上記プロセッサーはターゲットに対する空いたパスが発生して、選択される時 までまたはソースノードからの全ての、願うパスが試され、失敗する時まで繰り 返される。 パスcmd パケット スカウトはpath#cmd packet を逆に送信することで、path#rejection状態を以 前のノードに復帰させたり、path#found状態をソースノードに復帰させる。path #cmdパケットはETE パケットと同一のパスの“状態”ポートを使用してパスに従 って逆に送信される。2種類のpath#cmdパケットがある。スカウトがパスをター ゲットノードに設定したことを示す“path#acknowledge”パケットは全ての方式 をソースに逆に伝達してサブシークエントの転送用として設定されたパスを通過 する。スカウトが中間ノードで完璧に遮断されたことを示す“path#reject”パ ケットはパスの以前のノードに伝達され、この方法に従ってパス(この最終ホッ プ)をクリアする。このノードからの新しいパスは今試みることができたり、新 しいパスがこのノードからオープン残さない場合、“path#rejection”パケット を先行ノードに順に転送することができる。これが先行ノードを持っていない場 合、即ちソースノードである場合、拒絶パケットはETE キューに配置され、送信 DMA チャンネルは待機状態となり、CPU は阻止される。 代替送信ポートベクトルを使用するルーティング再調査 ルーティングロジックが提供されるsend#port#vectorを使用するパスを発見す るのに失敗した場合、パスの代替セットはCPU を阻止する前に任意に試みること ができる。 代替ルーティングが可能である時と、初期セットが失敗した後、初期send#port# vectorは反転し、新しいsend#port#vectorを形成するためにalternate#port#mas k でAND される。その次に第2の調査は初期の調査に使用していない、隣接する ノードを通してファインディングからルートが形成される。また代替ルートが失 敗した場合、CPU は通常の方法から阻止される。 全てのルーティングが第1ホップの後に最小化するために、代替送信ポートを 通じた非最小パスは正確に最小よりもより大きい2ホップである。ソース及びタ ーゲットノードがjディメンションから分離した場合、最小パスの長さはjホッ プであり、代替パスの距離はj+2ホップである。 特に、代替ルートの調査は一番短いターゲットノードに対する転送用として重 要になり得る。例を挙げれば、全ての他の隣接するものを通してルートを調査す ることで、接続する隣に対してただ一つの最小短パスがあり、代替マスクにより 、説明したようにディメンションnでの任意の最も近い隣のノードに対するn唯 一のパスの集合がある。 単位ノード当たり一つのAlternate#Port#Maskがあるが、代替ルーティングは 単位転送ベーシス(SEND命令のパス設定オペランドでのビット)で可能である。 フォールディング フォールディングは最大の大きさではないシステムでメッセージをルートする のに使用可能な出力ポートの数を増加させる。ロウワー8出力ポートでnearest# neighborノードの対応する入力ポートまでの任意の接続は逆順序に同一のneares t#neighborノードにアッパー8出力ポートをコピーすることができる。言い換え れば、相互接続ネットワークの任意のサブセットは他に使用していないアッパー ポートにコピーすることができる。 フォールディングが可能である場合(図6のFOLDEN#register 参照)、ポート ベクトル(PORTVEC)は中間ノードで計算され、フォールドされたある選択され たポートはポートベクトルに選択されるように、これらがそれぞれ相対ポートを 可能にすることができる。 ワームホールルートのあるホップで、探そうとするディメンションに対するリン クをコピーする2つのフォールドのうち、一つは使用できる。従って、フォール ディングはワームホールルートの機会を多い区向上させるこの方法で、最小のタ ーゲットを発見したり、遮断したりしない。 迷路ルートで、フォールディングは各ホップで調査することのできる最小パス リンクの数を増加させることで、オープンパスを発見する機会を増加させる。 フォワーディング 迷路ルートはルートをフォールディングノードで発見し、パスを反転させた後 、次のアドレス(メッセージデータから採ってきたもの)をノードに転送し、ア ドレスはここで新しいノードまで迷路ルートされる。これは新しいアドレスがフ ォワードされる限り、反復されたり、全体パスが解決され、非割当された場合に 、ルートが発見されることがない時まで、“forward#route#rejected”コマンド は送信チャンネルETE キューに転送される。一方、最終ターゲットノードに対す る経路が設定された場合、メッセージデータはソースからターゲットまで正常的 に転送される。 通信ダイレクトメモリーアクセス(DMA)チャンネル メッセージはダブルワード(64ビット)増加し、送信機の物理メモリーの連続 的なブロックから受信機の物理メモリーの連続的なブロックへ転送される。メモ リーアクセスおよび転送の両方のエンドでのメッセージおよびパス制御を提供す るため、各プロセッサーでの8個の送信DMA チャンネルが存在する。 DMA チャンネルは適合するSENDまたはRECEIVE 命令が設定される。また、Set# DMA 命令はSENDまたはRECEIVE 命令のDMA オペレンドを設定することを助けるた めに提供された。SENDまたはRECIEVE オペレンドはDMA チャンネルおよびルーテ ィングロジック用としてパスを制御、メッセージパラメーター、アドレス等を提 供する。 DMA メモリーの帯域幅でページモード、ページブレーク制限を減少させるため に、各チャンネル、送信または受信はデータの32ビットまでバッファーされる。 これは4つの二重ワード(64ビット)メモリーアクセスに対応する。メッセージ は二重ワード境界に配置され、大きさは二重ワード倍数である。 送信DMA 各送信チャンネルはパスレジスターに貯蔵されたターゲットノードIDおよびse nd#port#vectorばかりではなく、DMA レジスターに貯蔵された物理メモリーアド ルスおよびメッセージの長さに関係する。送信チャンネルは二重バッファーとな るために、次のメッセージのDMA およびパス制御記述子(descriptor)を設定す ることができ、最近のものは転送される。通信ソフトウェアはメッセージオーバ ーヘッドを隠して、送信チェーニングを効果的に充足させる長点を使用すること ができる。 送信チャンネルが新しい転送用に設定された後、これはパスをターゲットノー ドに設定するためにルーティング状態を加入する。漸次的にルーティングする場 合、アドレスパケットが出力ポートに転送されるとき、または迷路をルーティン グする場合、path#acknowledge packet がチャンネルに受信される時、パスは設 定される。 ノードアドレスがフォワードである場合、送信チャンネルはフォワーディング 状態を加入して、最終アドレスパケットがフォワードとして表示されない時まで アドレスパケットをメッセージデータに転送する。迷路をルーティングする場合 、各アドレスが転送された後、チャンネルはpath#acknowledgeを待機する。 送信チャンネルがパスをターゲットノードに設定するとき、メモリーからメッ セージデータを判読し、パスに従ってターゲットノードに転送しはじめる。メッ セージデータがフェッチされるとき、長さのカウンターがゼロに到達する時まで 、メモリーアドレスは増加され、メッセージの長さは減少する。送信カウンター がゼロに到達する時、EOM(End-of-Message)またはEOT(End-of-Transmission )パケットはチャンネル設定のEOT 可能ビットに従って送信される。 これがEOM である場合、DMA レジスターはクリアされ、新しいものは送信バッ ファーからポップされる。EOT およびETE がイネイブルされない場合、DMA およ びパスレジスターは全てクリアされ、送信バッファーにリロードされる。EOT お よびETE がイネイブルな時、送信チャンネルはこの方式にクリアされず、ETE パ ケットを待つ。ETE パケットが到着する時、これはETE キュー内にプッシュされ 、送信チャンネル(両レジスター)はクリアされる。その後、送信チャンネルは 準備された場合、次の転送(送信バッファーをポップする)に直接移動する。送 信バッファーがEOM またはEOT 条件により、ポップされる時CPU は空いた送信チ ャンネルは使用できることを表示するようにインタラプトする。また、ETE はイ ンタラプトがイネイブルである時、インタラプトを発生させる。 また迷路ルーティングである時、ETE キューはルートがターゲットノードに発 見されることがない場合の状態情報にプッシュされる。この場合にpath#rdyビッ トはクリアされ、ETE インタラプトは高まり、DMA チャンネルはポップされず、 クリアされなかったり、リロードされない。プログラマーは対応するDMA レジス ターに記録されることで続けて送信チャンネルをクリアすることができる。進行 する送信転送はチャンネルDMA レジスターでDMA#rdy ビットをクリアすることで 、中止されうる。これは転送を中止するが、転送状態に残るようになる。DMA#rd yビットは送信チャンネルに対応して、Send#rdyレジスターの各ビットに1を記 録することでクリアされうる(送信チャンネル状態レジスターを参照)。 遮断されたり中止された送信転送は送信チャンネルに対応する、Send#transmi ssion#rdyレジスターの各ビットに1を記録することで、プッシュされる(送信 チャンネル状態レジスターを参照)。 メッセージがプッシュされる時、flush#cmd パケットは割り当てられたパスを横 切って、この後ろのパスをクリアして非割当する。 End-to-Endキュー ETE(End-to-End)キューである各送信チャンネルに対して、ターゲットノー ドの受信チャンネルからのETE 状態またはroute#rejection またはエラー状態は プッシュされる。状態がETE キューにプッシュされる時、ETE インタラプトが発 生する。キューは2エントリーの深さで、書く送信チャンネル中一つのプロセッ サーレジスターは両エントリーを含む、プログラマーはRDPR命令を通じて、サイ ド効果なく、ETE キューを判読することができる。その後、プログラマーはWRPR 命令(いっしょに判読されても、キュー内の各エントリーは個別に記録される) を通じてゼロをこの正当なビットに記録することで、ETE エントリーをクリアす ることができる。第1エントリーがこの方式からクリア(ポップ)される時、第 2エントリーは自動的にこの位置にコピーされ、クリアされる。送信チャンネル は新しい転送を開始することができず、ETE キューはみたされる。 送信動作 図12は送信動作の流れ図である。停止状態から、送信チャンネルはルーティ ング状態(200)に入る。第1非割当出力ポートは送信ポートベクトル(202)から選 択される。ポートが(204)から選択された場合、流れはブロック(206)に進行する 。送信チャンネルは選択されたポートを割当て、選択された出力ポート(208)か らアドレスパケットを送信する。その次に送信チャンネルはルートコマンド(210 )を通じて復帰されるようにルーティング状態を待つ。 ルートコマンドが到着する時、状態(212)は拒絶されたルートまたは設定され たルート中の一つである。ブロック(212)で状態が拒絶されたルートである場合 、送信チャンネルは送信ポートベクトルの対応するビットをクリアし、ポート選 択をクリアして、ブロック(206)から割り当てられた出力ポートを非割当てする 。送信ポートベクトルが今、0に減少した場合、代替ルーティングは(205)から イネイブルされるが、シークエンスを通じて、第1通過(207)が存在しない場合 、送信チャンネルはroute-rej 状態をETERキューにプッシュし、インタラプトが イ ネイブルである場合、送信チャンネルはCPU(218)をインタラプトする。その後、 送信チャンネルは停止状態(220)に入る。 ブロック(212)で、ルートが設定された場合、route#readyは(222)から設定さ れ、フォワードビットは(223)からチェックされる。フォワードビットが設定さ れた場合、フォワーディング状態は(225)に入る。そうでなければ、加入メッセ ージ転送状態は(224)に入る。メッセージカウントが0である時まで送信チャン ネルはデータをターゲットノードに転送する。 ブロック(204)で、ポートが選択されない場合、流れを決定するブロック(205) に進行する。代替ルーティングがイネイブルされ、流れのシークエンス(207)を 通じた第1通過である場合、SPORTVECは初期send#port ベクトル(209)の反転バ ージョンと同一に形成される。従って、全て初期に調査されたルートが初期SPOR TVECを使用して失敗した時、反転バージョンは流れがブロック(202)に進行する 時の代替ルート選択トライを提供する。第1非割当て出力ポートは、今、反転さ れた送信ポートベクトル(202)から選択される。ポートが(204)から選択される場 合、流れはブロック(206)に進行する。ポートが(204)から選択されない場合、 流れはブロック(205)に進行する。代替ルーティングは(205)でイネイブルされる が、シークエンスを通じた第1通過(207)が存在しないので、流れはブロック(21 8)に進行する。送信チャンネルはroute#rej 状態をETE キューにプッシュし、イ ンタラプトがイネイブルな場合、送信チャンネルはCPU(218)をインタラプトす る。その次に送信チャンネルは停止状態(220)に入る。 受信DMA 各受信チャンネルはそれぞれのDMA レジスターに貯蔵された物理メモリーアド レスおよびメッセージの長さ(また、受信カウントともいう)に関係する。また これはエラー状態および受信コードを含むrcv#statusレジスターを持つ。メッセ ージがチャンネルを通じて流れる時、長さが是のに到達したり、EOM/EJT パケッ トが受信する時までアドレスは増加し、メッセージの長さは減少する。 カウンターがゼロに到達する前または、これがゼロに到達した後、受信チャン ネルがEOM またはEOT を受信する場合、メッセージは連続的に完成して、チャン ネルは停止状態に復帰させ、dma#rdyをクリアする。受信エラーが受信時発生し ない場合、rcv#rdyインタラプトは高まる。そうでなければ、rcv#errインタラプ トは高まる。 例を挙げれば、パリティーエラーが転送パスに従って決定された場合、parity #err flush#messageは(送信機の送信チャンネルに逆に伝達されるばかりでなく )ターゲットの受信チャンネルにフォワードで伝達される。受信状態フィールド ではパリティーエラーまたはフラッシュビットは設定され、ターゲットCPU は受 信チャンネルにより、rcv#err インタラプトされる。受信カウンターがゼロに到 達する場合、メッセージは完成し、次のパ毛とはEOM またはEOT でありうる。そ うでない場合、受信状態フィールドでのrcv#count#overflowプラグは設定され、 またEOM またはEOT が受信されるまで、全てのパケットは無視、すなわち簡単に 忘却にシフトされ、この時点で、rcv#err インタラプトは形成される。カウンタ ーはラップされ、続けて減少するので(アドレスは増加しない)、プログラマー が氾濫するメッセージを計算する方法を提供する。 プログラマーはチャンネル関連するプロセッサーレジスターを簡単に判読する ので、いつでも受信状態、メッセージカウント等を判読することができる。 受信チャンネルでのスキャッター/ギャザー 受信機での早い“集める”機能を促進するため、プログラマーは提供された転 送用受信チャンネルで“ignore#EOM”プラグを任意に設定することができる(受 信命令説明を参照)。従って、送信機は個別メッセージとしてデータの解体バン ドル(disjoint bundles)を集めることができ、インタラプトを取り、全てのメ ッセージ後、新しいreceive#DMA を設定するよりも、ただDMA 動作で連続的にバ ンドルを貯蔵する。 “バラバラにする”機能を行なうために、プログラマーは受信チャンネルから “force#EOM”プログラムを任意に設定することができる。従って、送信機能は 一つのメッセージの連続するデータブロックを伝達することができ、受信機は転 送のサブパス用メッセージパスを得るように設定されることができるので、サブ ブロックないのデータをメモリーの他の領域に散らして置くことになる。受信チ ャンネルは到来したメッセージよりもっと短い長さに設定され、長さのカウント がゼロに成る時、受信チャンネルはEOM として扱い、新しいDMA パラメーターが プログラマーに設定されるまで、到来データを遮断する。これは物理メモリーペ ージを解体するように図示される仮想記憶ページ境界を通過するメッセージであ るDMA 用として使用する。 入力ポートからのルーティング 図13はアドレスパケット入力ポート動作を図示する流れである。入力ポートは アドレスパケット(300)を受信し、このノード(302)のノードIDを持つアドレスパ ケットないのアドレスのイクスクルーシブORを計算する。結果はID#diff である 。ID#diff が0であるか、入力ポートが端子として表示される場合、流れはブロ ック(322)に進む。そうでなければ、流れはブロック(306)に進行する。 ブロック(306)で、ポートベクトル(PortVec)は発生し、第1非割当出力ポート (308)を選択するのに使用される。 ブロック(310)で、ポートが選択されない時、入力ポートはこの入力ポート(33 5)と対となっている、出力ポートを通じてroute#rejectコマンドを送信し、新し いアドレスパケット(336)を待つ。 ポートが(31)から選択される場合、アドレスパケットは選択された出力ポー ト(312)を通じて次のノードにフォワードされ、ポートは割り当てられる。この ノードを通じて転送パスは、この瞬間に設定され、入力ポートは到来ルートコマ ンド(413)により、供給されることができるルーティング状態を待つ。ルートコ マンド(316)はルートが拒絶されたり、ルートが準備されたことを表示する事が できる。拒絶された場合、流れはブロック(318)に進行する。準備された場合、 流れはブロック(330)に進行する。 ブロック(318)で、受信チャンネルはポートベクトルで対応するビットをクリ アし、ポート選択をクリアして、ブロック(312)で割り当てられた出力ポートを 非割当てする。入力ポートは次の非割当て出力ポートをルーティングロジックを 通して、ポートベクトル(308)で選択し;流れは上述したのと同じく流れる。 決定ブロック(308)で、ノードIDがアドレスパケットないのアドレスと同一で あったり、このポートが端子である場合、このノードはターゲットノードであり 、流れはブロック(322)に進む。 ブロック(322)で、ポートベクトル(PortVec)は発生し、第1準備受信チャン ネル(324)を選択するのに使われる。チャンネルが(326)で選択された場合、入 力ポートはメッセージ(328)を受信するために、受信チャンネルを割り当てる。 入力ポートはこの入力ポート(330)と対となる出力ポートを通じてルート準備(ro ute#rdy)コマンドを送信し、(322)に到着するため、メッセージデータを待つ。 ブロック(326)で、チャンネルが選択されない場合、入力ポートはこの入力ポ ート(335)と対となった出力ポートを通じて、route#rejectコマンドを転送し、 新しいアドレスパケット(336)を待つ。 エンドトゥエンドリポーティング 図14はエンドトゥエンド肯定応答を図示した。ソースノード(350)で、送信チ ャンネルは出力ポート(352)からのメッセージパケットを入力ポート(354)からメ ッセージを受信する中間ノード(355)に送信する。メッセージは出力ポート(356) からの中間ノード(354)により、送信される。メッセージはターゲットノード(35 8)がメッセージパケットを受信するまで、ノードからノードまで移動する。受信 チャンネルは(362)で割当てられ、ETE#ack メッセージはパス[ポート(361、353 及び351)]の各入力ポートと対となる出力ポートを使用することで、同一パス から逆に送信される。ETE#ack がソースノードから受信され、状態がETE#ack に 復帰する時まで、メッセージパスは維持される。各送信チャンネルで、エンドト ゥエンド(ETE)キューが存在し、ETE 状態はプッシュされる。エンドトゥエンド 状態がETE キューにプッシュされる時、Send#rdy及びETE インタラプトはこの状 態に従って発生する。 図15は遮断されたリンクがない迷路ルートタイミング図である。 図16は遮断されたリンクがあり、バックトラッキングが呼び足した迷路ルート タイミング図である。 発明の詳細な説明の項ではなかった具体的な実施状態、また実施例はどこまでも 本発明の技術内容を明白にするもので、それと同じ具体例でのみ限定され、狭義 に解釈されなければならず、本発明の精神と次に記載する特許請求事項の範囲内 でいくつか変更して実施することができる。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AP(KE,MW,SD,SZ,UG), AM,AT,AU,BB,BG,BR,BY,CA,C H,CN,CZ,DE,DK,EE,ES,FI,GB ,GE,HU,JP,KE,KG,KP,KR,KZ, LK,LR,LT,LU,LV,MD,MG,MN,M W,MX,NO,NZ,PL,PT,RO,RU,SD ,SE,SI,SK,TJ,TT,UA,US,UZ, VN

Claims (1)

  1. 【特許請求の範囲】 1.唯一のプロセッサー識別番号(ID)がそれぞれ割り当てられたプロセッサー を含む相互に接続されたノードのネットワークで、上記ネットワークのノードを 通じて通信パスを設定する装置において、 多数の入力ポート; 多数の出力ポート; 上記ノードの上記入力ノードのうちの一つで、上記ノードのうち他のノードの 出力ポートから転送された、一番新しいメッセージに関連したアドレスパケット を受信する制御手段 上記の一つの入力ポートおよび上記出力ポートに接続したルーター 上記プロセッサー識別番号(ID)を記録するレジスター手段 パケット内のターゲットノードアドレスを上記レジスター手段に貯蔵した上記 ノードの上記プロセッサーIDと比較するための制御手段、および上記レジスター 手段に接続した比較手段を含み; 上記比較手段は上記IDがターゲットノードアドレスと同一であるものが提供さ れた第1条件およびその代りの上記IDが上記ターゲットノードアドレスと同一で ないものを提供する第2条件を形成する手段を含み; 上記ルーターに接続した多数の受信チャンネル; 上記ノードアドレスが上記ターゲットノードアドレスと同一な上記第1条件の 出現に従い、上記ノードの上記受信チャンネルは上記の一つの入力ノードに割り 当てられるため、上記比較手段および上記受信チャンネルに接続した割当て手段 ;および 上記第1条件の出現に従い、上記入力ポートと対をなす、上記出力ポートを通 じたroute#ready コマンドを送信するために、上記比較手段および上記制御手段 に接続した第1手段を含むものを特徴とするパス設定装置。 2.第1項において ポートベクトル; 上記ノードアドレスが上記ターゲットノードアドレスと同一でない場合、上記 第2条件の出現に伴い、上記ポートベクトルから第1出力ポートを選択するた め、上記比較手段および上記ルートに接続された第2手段;および 上記アドレスパケットを上記選択された第1非割当て出力ポートを通じ、次の ノードにフォワードするため、上記第2手段および上記入力ポートに接続された 第3手段を含む事を特徴とするパス設定装置。 3.第1項において 上記第ノードの第3非割当てノードに接続した第1非割当て出力ポートを選択 する手段;および 上記アドレスパケットを上記選択された第1出力ポートを通じた上記第3非割 当てノードにフォワードする手段を含む事を特徴とするパス設定装置。 4.第2項において 第3ノードに接続された第1非割当て出力ポートを選択する手段;および 上記アドレスパケットを上記選択された第1出力ポートを通じ、上記第3ノー ドにフォワードする手段を含む事を特徴とするパス設定装置。 5.唯一のプロセッサー識別番号(ID)がそれぞれ割り当てられたプロセッサー 、多数の入力ポートおよび多数の出力ポートをそれぞれ含み、上記入力ポート中 、一つの入力ポートは上記出力ポート中、対応する出力ポートと対となる、相互 接続ノードのネットワークで、上記ネットワークのノードを通じて、通信パスを 設定する方法において、 A.上記ノード中、第1ノードの入力ポートからターゲットノードアドレスを 持つ第1アドレスパケットを受信する段階へ、上記第1アドレスパケットを上記 ノード中、第2ノードの出力ポートから送信された、一番新しいメッセージに関 連して; B.上記第1ノードで、上記第1アドレスパケット内の上記ターゲットノード アドレスを上記第1ノードのプロセッサーIDと比較する段階; C.上記プロセッサーIDが上記ターゲットノードアドレスと同一な第1条件の 出力に従って、メッセージを受信するため、上記第1ノードの上記受信チャンネ ルを割り当てる段階;および D.route#rdy コマンドを上記第1ノードから上記入力ポートと対をなす、上 記出力ポートを通し、上記第2ノードに送信する段階を含む事を特徴とする方 法。 6.第5項において、 E.上記第1ノードの第3ノードに接続された第1出力ポートを選択する段階 ;および F.上記アドレスパケットを上記選択された第1出力ポートを通して上記第3 ノードにフォワードする段階を含む事を特徴とする方法。 7.第6項において G.ルートコマンドを受信する段階;および H.上記入力ポートと対となる上記出力ポートを通した、route#rejectコマン ドを送信する段階を含む事を特徴とする方法。 8.迷路ルーターメカニズム; 固定されたルーターメカニズム; 上記迷路ルートメカニズム、または上記固定されたルートメカニズム中の一つ を選択する為、上記迷路ルートメカニズムおよび上記固定されたルートメカニズ ムに接続する全ての選択手段;および ファインディングをイネイブルする制御情報を含むノードアドレスパケットを 受信し、ソースノードからターゲットノードに対するルートを設定するため、上 記迷路ルーターメカニズム、および上記固定されたルーターメカニズムに接続す る入力ポートを含む事を特徴とする装置。 9.メモリーアドレスバス; メモリーデータバス; 上記メモリーアドレスバスおよび上記メモリーデータバスに接続されたダイレ クトメモリーアクセスバッファー及びロジックブロック; 多数の受信チャンネル; 多数の送信チャンネル; 上記送信チャンネルおよび上記受信チャンネルに接続される多数のルーティン グレジスター; 上記多数の受信チャンネルおよび上記多数の送信チャンネルに接続されたカッ トスルーアービタ; 上記多数の送信チャンネルおよび上記ルーティングレジスターに接続するルー ティングアービタ; 中央処理装置で上記受信チャンネル、上記送信チャンネルおよび上記ルーティ ングレジスター及びロジックまで接続するプロセッサーバス; 多数の入力ポート; 多数の入力ピン; 上記多数の入力ポートは上記ルーティングアービタおよび上記入力ピンに接続 され; 多数の出力ポート;および 多数の出力ピンを含んで、 上記多数の出力ポートは上記カットスルーアービタおよび上記出力ピンに接続 され; 上記多数の入力ポート及び上記多数の出力ポートは上記カットスルーアービタ 、上記ルーティングアービタおよび上記送信と受信チャンネルに接続される事を 特徴とする通信装置。 10.第9項において 上記カットスルーアービタまたは上記ルーティングアービタのうち、一つを選 択するために上記カットスルーアービタと上記ルーティングアービタに接続する モード選択手段;および ファインディングをイネイブルする制御情報を含むノードアドレスパケットを 受信し、ソースノードからターゲットノードにルートを設定する手段を含む上記 入力ポート中、一つに入力ポートを含む事を特徴とする通信装置。 11.A.選択された出力ポートを提供するために、送信ポートベクトルから、第 1非割当て出力ポートを選択する段階; B.上記選択された出力ポートを送信チャンネルに割り当てる段階; C.上記選択された出力ポートからのアドレスパケットをターゲットポートに 送信する段階; D.上記送信チャンネルで、上記ターゲットポートから復帰したルーティング 状態を含むルートコマンドを受信する段階に、上記ルート状態は拒絶されたル ートまたは設定されたルート中の一つを言い; E.上記ルーティング状態が拒絶されたルートである条件で、上記送信ポート ベクトルの、上記選択された出力ポートに対応するビットをクリアする段階; F.上記送信チャンネルから、上記選択された出力ポートを非割当てする段階 を含む事を特徴とする方法。 12.第11項において、 G.上記段階Eが結果としてゼロに減少した、上記送信ポートベクトルとなる 条件でroute#rej 状態をエンドトゥエンド(ETE)キューにプッシュする段階を 含むことを特徴とする方法。 13.第11項において、上記アドレスパケットはフォワードビットを含み、 G.ルートが設定された条件でroute#ready 状態を設定する段階; H.上記フォワードビットが上記アドレスパケットに設定された条件で、フォ ワーディング状態を加入する段階;および I.上記フォワードビットが上記アドレスパケットに設定されない条件でメッ セージ転送状態を加入する段階を含む事を特徴とする方法。 14.A.入力ポートでアドレスパケットを受信する段階で、上記入力ポートはノ ードIDを持つノード部分であり、上記アドレスパケットはアドレスを含んでおり ; B.上記アドレスパケットで、上記アドレスのイクスクルーシブORを上記ノー ドIDと比較する段階で、上記イクスクルーシブORの結果はポートベクトルであり 、 C.上記結果がゼロではない条件では、選択された出力ポートを提供するため 、上記ポートベクトルに書かれた第1非割当てされた出力ポートを選択する段階 ; D.アドレスパケットを上記選択された出力ポートを通して、次のノードにフ ォワードする段階; E.上記受信チャンネルから入力ポートを通し、ルーティング状態を受信する 段階で、上記ルーティング状態は、到来ルートコマンドにより、供給され、上記 ルートコマンドはルートが拒絶されたり、上記ルートが準備されたものの中の一 つを表示し; F.ルートが拒絶されたことを上記ルートコマンドが表示する条件で、上記出 力ポートに対応する上記ポートベクトルのビットをクリアする段階;および G.上記入力ポートから上記出力ポートを非割当てする段階を含む事を特徴と する方法。 15.第14項において、 I.ルートが準備されたことを上記ルートコマンドが表示する条件で、上記入 力ポートと対となった出力ポートを通し、route#rdy コマンドを送信する段階を 含むことを特徴とする方法。 16.第14項において I.選択された出力ポートを提供するため、上記ポートベクトルに書かれた、 第1非割当て出力ポートを選択する寿機段階Cが結果として、選択されたポート がないこととなる条件では、上記入力ポートと対となる出力ポートを通してrout e#rejectコマンドを送信する段階を含む事を特徴とする方法。 17.第14項において、 I.上記結果がゼロである条件で、ポートベクトルを形成する段階; J.ポート選択ベクトルを提供するために、上記ポートベクトルを使用する第 1準備受信チャンネルを選択する段階; K.選択された出力ポートを提供するため、上記ポート選択ベクトルに詳述さ れた第1非割当て入力ポートを選択する段階; L.入力ポートが選択された条件で、メッセージを受信する上記第1準備受信 チャンネルを割り当てる段階;および M.上記入力ポートと対となる出力ポートを通し、route#rdy コマンドを送信 する段階を含む事を特徴とする方法。 18.第11項において、 G.上記ルーティング状態が拒絶されたルートである条件で、代替送信ポート ベクトルを提供するため、上記送信ポートベクトルを反転する段階;および H.上記選択された出力ポートを提供するために、上記代替送信ポートベクト ルから第1非割当て出力ポートを選択するため、上記代替送信ポートベクトルを 使用する段階を含む事を特徴とする方法。 19.ノードを通して、メッセージを転送する方法において、 A.フォールドイネイブルレジスターで、フォールドイネイブルベクトルを貯 蔵する段階で、上記フォールドイネイブルベクトルはポートがフォールドされた ポートであるように選択された識別番号ビットで表示し; B.上記ノードの入力p−とで、アドレスビットを含むメッセージパケットを 受信する段階; C.上記アドレスビットを入力ポートコマンドレジスターのアドレスフィール ドにシフトする段階; D.上記アドレスフィールドを結果として差ベクトルとなる、上記ノードの識 別番号アドレスと比較する段階; E.上記差ベクトルの識別番号差レジスターにロードする段階; F.フォールディングイネイブルされた条件で、FOLDENラインを決める段階; G.上記差ベクトルを上記フォールドされたポートに対応する上記識別番号ビ ットに変更する段階; H.上記識別番号差レジスターの上記内容を入力ポートベクトルレジスターに ローディングする段階; J.ルートされるメッセージを通して、次の最小パスポートを確認するため、 上記入力ポートベクトルレジスターの内容を使用する段階; J.中間ノードで、カットスルーベクトルを計算する段階;および K.カットスルーに対するポート、送信チャンネル、または受信チャンネルを 表示するポートカットベクトルを貯蔵する段階を含む事を特徴とする方法。 20.多数のノード間のメッセージ転送方法において、 A.各ノードで、多数の入力ポートそれぞれを各ノードの関連した出力ポート と対を成す段階; B.発信ノードから発信ノード送信チャンネルを割り当てる段階; C.上記発信ノード送信チャンネルにより選択された発信ノード出力ポートか らのメッセージパケットを上記発信ノード出力ポートに接続する第1中間ノード 入力ポートに送信する段階で、上記発信ノード出力ポートは発信ノード入力ポー トと対をなし; D.上記第1中間ノード入力ポートから上記メッセージを受信する段階で、上 記第1中間ノード入力ポートは第1中間ノード出力ポートと対を成し; E.第2中間ノード出力ポートを上記第1中間ノード入力ポートに接続する段 階で、上記第2中間ノード出力ポートは第2中間ノード入力ノードと対となり; F.上記第1中間ノード入力ポートを上記第2中間ノード出力ノードに接続す る段階; G.ターゲットノード入力ポートから上記第2中間ノード出力ポートに接続す る上記メッセージを受信する段階で、上記ターゲットノード入力ポートは上記第 2中間ノード入力ポートに接続されるターゲットノード出力ポートと対となり; H.上記ターゲットノードで、ターゲットノード受信チャンネルを割り当てる 段階; I.上記ターゲットノード受信チャンネルで、受信状態を含むend-to-end肯定 応答メッセージを構成する段階;および J.上記end-to-end肯定応答をメッセージ転送が完了される条件で、上記ター ゲットノード入力ポートと対となった上記ターゲット出力ポートに送信する段階 を含む事を特徴とする方法。 21.第20項において、 K.上記end-to-end肯定応答メッセージの受信で、上記第1中間ノード入力ポ ートから、上記第2中間ノード出力ポートに非接続する段階を含む事を特徴とす る方法。
JP50660296A 1994-08-01 1995-07-28 適応性ルーターを使用するネットワーク通信装置 Expired - Fee Related JP3586281B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/283,572 1994-08-01
US08/283,572 US5638516A (en) 1994-08-01 1994-08-01 Parallel processor that routes messages around blocked or faulty nodes by selecting an output port to a subsequent node from a port vector and transmitting a route ready signal back to a previous node
PCT/US1995/009474 WO1996004604A1 (en) 1994-08-01 1995-07-28 Network communication unit using an adaptive router

Publications (2)

Publication Number Publication Date
JPH10507015A true JPH10507015A (ja) 1998-07-07
JP3586281B2 JP3586281B2 (ja) 2004-11-10

Family

ID=23086669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50660296A Expired - Fee Related JP3586281B2 (ja) 1994-08-01 1995-07-28 適応性ルーターを使用するネットワーク通信装置

Country Status (9)

Country Link
US (1) US5638516A (ja)
EP (1) EP0774138B1 (ja)
JP (1) JP3586281B2 (ja)
KR (1) KR100244512B1 (ja)
AT (1) ATE173101T1 (ja)
AU (1) AU694255B2 (ja)
CA (1) CA2196567C (ja)
DE (1) DE69505826T2 (ja)
WO (1) WO1996004604A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6449730B2 (en) 1995-10-24 2002-09-10 Seachange Technology, Inc. Loosely coupled mass storage computer cluster
US5862312A (en) * 1995-10-24 1999-01-19 Seachange Technology, Inc. Loosely coupled mass storage computer cluster
US5761534A (en) * 1996-05-20 1998-06-02 Cray Research, Inc. System for arbitrating packetized data from the network to the peripheral resources and prioritizing the dispatching of packets onto the network
JP2993444B2 (ja) * 1996-10-25 1999-12-20 日本電気株式会社 Atm網におけるコネクション設定および復旧方式
US6230200B1 (en) * 1997-09-08 2001-05-08 Emc Corporation Dynamic modeling for resource allocation in a file server
US6064647A (en) * 1998-05-13 2000-05-16 Storage Technology Corporation Method and system for sending frames around a head of line blocked frame in a connection fabric environment
US6611874B1 (en) * 1998-09-16 2003-08-26 International Business Machines Corporation Method for improving routing distribution within an internet and system for implementing said method
CA2369437C (en) * 1999-03-31 2008-09-16 British Telecommunications Public Limited Company Progressive routing in a communications network
US6378014B1 (en) * 1999-08-25 2002-04-23 Apex Inc. Terminal emulator for interfacing between a communications port and a KVM switch
JP3667585B2 (ja) * 2000-02-23 2005-07-06 エヌイーシーコンピュータテクノ株式会社 分散メモリ型並列計算機及びそのデータ転送終了確認方法
CN1427974A (zh) * 2000-03-07 2003-07-02 英维尼特体系股份有限公司 库存控制系统和方法
US6996538B2 (en) 2000-03-07 2006-02-07 Unisone Corporation Inventory control system and methods
US6681250B1 (en) * 2000-05-03 2004-01-20 Avocent Corporation Network based KVM switching system
US7461150B1 (en) * 2000-07-19 2008-12-02 International Business Machines Corporation Technique for sending TCP messages through HTTP systems
US6738842B1 (en) * 2001-03-29 2004-05-18 Emc Corporation System having plural processors and a uni-cast/broadcast communication arrangement
WO2003001792A1 (en) * 2001-06-25 2003-01-03 Narad Networks, Inc. Delivering consumer entertainment services using virtual devices
US7899924B2 (en) * 2002-04-19 2011-03-01 Oesterreicher Richard T Flexible streaming hardware
US20040006635A1 (en) * 2002-04-19 2004-01-08 Oesterreicher Richard T. Hybrid streaming platform
US20040006636A1 (en) * 2002-04-19 2004-01-08 Oesterreicher Richard T. Optimized digital media delivery engine
TW200532454A (en) * 2003-11-12 2005-10-01 Gatechange Technologies Inc System and method for message passing fabric in a modular processor architecture
EP1782287A2 (en) * 2004-07-21 2007-05-09 Beach Unlimited LLC Distributed storage architecture based on block map caching and vfs stackable file system modules
CN101010959B (zh) * 2004-07-23 2012-01-25 海滩无极限有限公司 传送数据流的方法和系统
US8427489B2 (en) * 2006-08-10 2013-04-23 Avocent Huntsville Corporation Rack interface pod with intelligent platform control
US8009173B2 (en) * 2006-08-10 2011-08-30 Avocent Huntsville Corporation Rack interface pod with intelligent platform control
US8095769B2 (en) * 2008-08-19 2012-01-10 Freescale Semiconductor, Inc. Method for address comparison and a device having address comparison capabilities
JP2014092722A (ja) * 2012-11-05 2014-05-19 Yamaha Corp 音発生装置
US9514083B1 (en) * 2015-12-07 2016-12-06 International Business Machines Corporation Topology specific replicated bus unit addressing in a data processing system
JP2018025912A (ja) * 2016-08-09 2018-02-15 富士通株式会社 通信方法、通信プログラムおよび情報処理装置
JP2021157604A (ja) * 2020-03-27 2021-10-07 株式会社村田製作所 データ通信装置、データ通信モジュール

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5150464A (en) * 1990-06-06 1992-09-22 Apple Computer, Inc. Local area network device startup process
US5282270A (en) * 1990-06-06 1994-01-25 Apple Computer, Inc. Network device location using multicast
US5367636A (en) * 1990-09-24 1994-11-22 Ncube Corporation Hypercube processor network in which the processor indentification numbers of two processors connected to each other through port number n, vary only in the nth bit
EP0552288A1 (en) * 1990-10-03 1993-07-28 Thinking Machines Corporation Parallel computer system
US5471623A (en) * 1991-02-26 1995-11-28 Napolitano, Jr.; Leonard M. Lambda network having 2m-1 nodes in each of m stages with each node coupled to four other nodes for bidirectional routing of data packets between nodes
US5151900A (en) * 1991-06-14 1992-09-29 Washington Research Foundation Chaos router system
US5471589A (en) * 1993-09-08 1995-11-28 Unisys Corporation Multiprocessor data processing system having nonsymmetrical channel(x) to channel(y) interconnections

Also Published As

Publication number Publication date
US5638516A (en) 1997-06-10
WO1996004604A1 (en) 1996-02-15
CA2196567C (en) 2001-03-13
JP3586281B2 (ja) 2004-11-10
AU3150595A (en) 1996-03-04
ATE173101T1 (de) 1998-11-15
EP0774138A1 (en) 1997-05-21
DE69505826D1 (de) 1998-12-10
DE69505826T2 (de) 1999-05-27
KR100244512B1 (ko) 2000-02-01
EP0774138B1 (en) 1998-11-04
AU694255B2 (en) 1998-07-16
CA2196567A1 (en) 1996-02-15

Similar Documents

Publication Publication Date Title
JPH10507015A (ja) 適応性ルーターを使用するネットワーク通信装置
KR102459838B1 (ko) 복수의 프로세싱 엔진들을 상호접속하는 온-칩 라우터들의 매트릭스 및 이를 사용하여서 라우팅하는 방법
JP7457654B2 (ja) システムオンチップ上の相互接続ファブリック内でソースベースルーティングを実施するための手順
US5175733A (en) Adaptive message routing for multi-dimensional networks
US5367636A (en) Hypercube processor network in which the processor indentification numbers of two processors connected to each other through port number n, vary only in the nth bit
US5701416A (en) Adaptive routing mechanism for torus interconnection network
JPH0828742B2 (ja) パケット順次分配機能を持つ自己ル−ティングパケット交換ネットワ−ク
KR100259276B1 (ko) 대역폭확장이 가능한 상호연결망
WO2008057830A2 (en) Using a pool of buffers for dynamic association with a virtual channel
WO1987002157A1 (en) Mesh-based switching network
CN103081440B (zh) 信息处理系统、中继装置以及信息处理方法
CN109698788A (zh) 流量转发方法和流量转发装置
JPH08503799A (ja) マルチプロセッサ・システムにおける方向順ルーティング
JPH0365750A (ja) ネツトワークの宛先指定方法及び装置
JPH09153892A (ja) ワームホール・ネットワークにおけるメッセージ送達方法およびシステム
JP2005318495A (ja) 異なる仮想チャネルへのトランザクションの分離
JPH07282018A (ja) パケットの経路指定デッドロック回避方法及び装置
WO2011137813A2 (zh) 先进可扩展接口总线以及相应的数据传输方法
JPS6360579B2 (ja)
US5594866A (en) Message routing in a multi-processor computer system with alternate edge strobe regeneration
CN116915708A (zh) 路由数据包的方法、处理器及可读存储介质
CN118413478B (zh) 数据传输方法、装置、设备、交换芯片及存储介质
CN116701292A (zh) 用于芯片间通信的处理系统和通信方法
US20080107106A1 (en) System and method for preventing deadlock in richly-connected multi-processor computer system using dynamic assignment of virtual channels
US20080109586A1 (en) System and method for arbitration for virtual channels to prevent livelock in a richly-connected multi-processor computer system

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040324

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040611

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20040611

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040806

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080813

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090813

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100813

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees