JPH05153163A - メツセージのルーテイング方法およびネツトワーク - Google Patents

メツセージのルーテイング方法およびネツトワーク

Info

Publication number
JPH05153163A
JPH05153163A JP31024191A JP31024191A JPH05153163A JP H05153163 A JPH05153163 A JP H05153163A JP 31024191 A JP31024191 A JP 31024191A JP 31024191 A JP31024191 A JP 31024191A JP H05153163 A JPH05153163 A JP H05153163A
Authority
JP
Japan
Prior art keywords
message
network
channel
routing
router
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.)
Pending
Application number
JP31024191A
Other languages
English (en)
Inventor
Steven F Nugent
ステイーブン・エフ・ヌージエント
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JPH05153163A publication Critical patent/JPH05153163A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/06Deflection routing, e.g. hot-potato routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 多次元ネットワークにおいて、各ノードでの
メッセージ・パケットのバッファリングを必要とせず
に、メッセージの受け渡し待ち時間を低減した並列処理
コンピュータ・システムを提供することである。 【構成】 多次元ネットワークAにおいて、情報を処理
する処理装置とメッセージをルーチングするルータとか
ら成る複数の処理ノードが接続している。ネットワーク
Aには、ルータの同じまたは冗長メッセージ受け渡し多
次元ネットワークBが接続している。各ルータは、メッ
セージを受け渡しする4つのタイプのチャネル、すなわ
ち、1)ルータとルータに接続したプロセッサの間で情
報を転送するチャネルと、2)X方向に情報を転送する
チャネルと、3)Y方向のチャネルと、4)Z方向のチ
ャネルから成っている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、多次元コンピュータ・
ネットワークの分野に関し、更に詳しくは、多次元ネッ
トワーク・トポロジにおける適応メッセージ・ルーティ
ング方法に関する。
【0002】
【従来の技術】多くの並列処理コンピュータ・システム
やメッセージのルーティング技術は従来技術において周
知である。一般に、このような並列処理システムでは、
数多くのプロセッサがネットワークにおいて相互接続さ
れている。また、このようなネットワークでは、各プロ
セッサは、命令を並列に実行しかつネットワークにおけ
る他のプロセッサにメッセージを転送することができ
る。発明者ヒリスによる米国特許第 4,598,400号には、
ノード・アレイが2つ以上の次元のパターンで相互接続
されているn−次元並列処理コンピュータ・システムが
示されている。ここではノード間の通信は、ノードの変
位を示すアドレスによって管理される。上記特許は、n
−次元ネットワークにおけるあるノードから他のノード
にメッセージ・パケットをルートするシステムについて
特に述べている。このメッセージ・パケットは、相対ア
ドレス情報とノード間で通信される情報から成ってい
る。
【0003】多くの周知の並列処理コンピュータ・シス
テムは、あるノードから他のノードにメッセージを通信
するための蓄積交換機構を用いている。上記特許は、こ
のような蓄積交換機構について述べている。このような
蓄積交換機構については、コンピュータ・ネットワー
ク,Vol.3,1979年の第267〜286頁に記載のカルマ
ニ他による「パルビッツ カルマニおよびレオナルドク
ラインロックのバーチャル・カット・スルー(Virtual C
ut-Through):新しいコンピュータ通信交換技術」にお
いてより詳細に示されている。ここでは、蓄積交換方式
を回線交換方式とは区別している。特に、回線交換方式
は、通信が開始する前に2つのノード間で通信するため
の完全ルートを供給する方式として示されている。した
がって、2つのノード間で通信している期間中、通信ル
ートは不通になる。一方、蓄積(またはメッセージ)交
換方式では、メッセージは、前もってルートを確立する
ことなくデスティネーション・ノードにルートされる。
このようなシステムでは、通常、ルートは、メッセージ
のアドレス情報に基いてメッセージの通信中に動的に確
立される。一般に、メッセージは、選択された次のノー
ドに送られる前に中間ノードに記憶される。上記カルマ
ニ他による論文は、パケット交換システムの概念につい
ても述べている。パケット交換システムにより、資源の
利用が改善され、かつメッセージをパケットと呼ばれる
さらに小さい単位に分割することにより、ネットワーク
・システムにおけるネットワーク遅延を低減することが
できる。このようなシステムでは、(メッセージの代り
に)各パケットは、それ自身のアドレシング情報を有し
ている。
【0004】上記カルマニ他による論文に示すように、
周知のシステムでは、メッセージが完全に受信される前
にはあるノードから次のノードにメッセージ(またはパ
ケット)を送ることが許されないので、余分な遅延を生
じてしまう。したがって、上記カルマニ他による論文に
おいて、通信ルートを確立するための“バーチャル・カ
ット・スルー”と呼ばれている概念が示されている。バ
ーチャル・カット・スルー・システムとは、メッセージ
が、メッセージ・パケットのルーティング情報を受け取
ると出力チャネルにおける伝送と出力チャネルの選択を
開始するという回線交換およびパケット交換の混成技術
である。このシステムでは、全中間チャネルがビジーで
ある場合、蓄積交換システムの場合と全く同じスループ
ット期間になってしまう。全中間チャネルがアイドルの
場合には、このシステムは、回線交換システムと同じく
らいのスループット期間になる。しかし、上記カルマニ
他による技術のシステムは、全チャネルがビジーの場
合、全メッセージを各ノードに記憶することができるの
に十分なバッファリングをなおも必要としている。
【0005】1986年3月のカリフォルニア技術学会
におけるコンピュータ・サイエンス部門テクニカル・リ
ポート5209、ダブリュ.ジェイ.デイリによる論文
「並行データ構造に関するVLSIアーキテクチャ」に
は、メッセージの受渡し待ち時間を減少するためのメッ
セージ受渡し並行アーキテクチャが示されている。ま
た、この論文の第3章は、平衡バイナリn−キューブ・
アーキテクチャについて述べている。第5章は、メッセ
ージの待ち時間を減少するアプリケーションについて述
べている。一般に、ここには、蓄積交換方法ではなく、
ウォームホール(wormhole)ルーティング方法の使用が
示されている。ウォームホール・ルーティング方法の特
徴は、次のノードへの伝送を開始する前に全パケットの
次の到着を待つのではなく、メッセージのバイトが到着
すると、ノードがメッセージの各バイトを次のノードに
送り始めることである。したがって、ウォームホール・
ルーティングのメッセージ待ち時間は、一方はメッセー
ジの長さLにより決まり、他方は通過する通信チャネル
の数Dにより決まる2つの期間の合計になる。蓄積交換
ルーティングの待ち時間は、上記LおよびDの積により
決まる(上記論文の第153頁参照)。ウォームホール
・ルーティング方法の別の利点は、通信により中間ノー
ドの使用可能メモリを使い切ってしまうことがないこと
である。上記デイリのシステムでは、パケットは、ルー
トに沿った中間ノードのメモリまたはプロセッサとは影
響し合わないが、それらがそのデスティネーションに到
着するまで、ルーティング・チップ・ネットワーク中に
しっかりと保持される。さらに、上記デイリの論文の第
154〜157頁には、相対XおよびYアドレス・フィ
ールドから成るメッセージ・パケットについて述べてい
る。大きさを変えることができるデータ・フィールド
は、複数の非ゼロ・データ・バイトとテイル・バイトか
ら成る。ウォームホール・ルーティング方法だけが、デ
ッドロックのないルーティング・システムをもたらすも
のではない。上記論文に示されているe3 アルゴリズム
は、デッドロックのないルーティングを提供するが、上
記論文の技術では、適応ルーティング・システムは得ら
れない。
【0006】過酷にロードされる多次元ネットワークに
おいて特有の過密状態を緩和しかつノード間でさらに有
効的にチャネルを使用することができるようにするた
め、適応ルーティング技術を開発する研究が重ねられて
きた。適応ルーティングは、マルチプロセッサまたは並
列処理コンピュータ・システムにおいて、あるレベルの
障害許容力を得るため様々のプロセッサを利用すること
もできる。これら適応ルーティング技術により、メッセ
ージは、ビジーまたは非動作チャネルに出会った場合に
は、別のルートを動的にとることができるが、代表的に
は、デッドロックおよびライブロックの両方を避けるた
め、中間ルーティング・エレメントにはメッセージ・パ
ケット・バッファが必要である。しかし、これらバッフ
ァにより、インプレメンテーションがかなり複雑にな
る。本発明の適応ルーティング技術は、中間ルーティン
グ・エレメントにパケット・バッファリングを必要とす
ることなく、デッドロックおよびライブロックの両方を
なくすことができる。
【0007】
【発明が解決しようとする課題】本発明の目的は、多次
元ネットワークにおけるノード間の通信方法を改善する
ことである。本発明の他の目的は、メッセージの受渡し
待ち時間を低減した並列処理コンピュータ・システムを
提供することである。本発明のさらに別の目的は、各ノ
ードにおけるメッセージ・パケットのバッファリングを
必要とすることなく、有効にしかも適応してメッセージ
を受渡しするシステムを提供することである。
【0008】
【課題を解決するための手段】本発明は、離散したマル
チプロセシング・システムを接続する多くの多次元ネッ
トワーク・トポロジにおける適応ルーティング技術を具
現する装置および方法を提供する。本発明の実施例にお
ける第1多次元ルーティング・ネットワークAは複数の
処理ノードから成っている。各ノードは、情報を処理す
る処理装置と、ネットワークにおけるノード間で情報
(たとえばメッセージ)をルーティングするルータから
成る。ネットワークAにおけるメッセージ受渡し構造の
効率を改善するため、ルータの第2多次元ルーティング
ネットワークBがネットワークAに接続されている。本
実施例では、各ルータは、各ネットワークにおいてX座
標とY座標を有している。ネットワークAの特定の座標
におけるルータは、Z−チャネルを介してネットワーク
Bの対応する座標においてルータに接続している。
【0009】本発明の実施例では、ネットワークAおよ
びBは、ノードの2次元デユアル・メッシュ接続で配置
されている。各ノードは、情報を通信するための4つの
タイプのチャネルから成るルータを含んでいる。第1チ
ャネルは、ルータとルータに接続したプロセッサ間で情
報を転送するのに使用される。第2チャネルは、X方向
においてルータ間で情報を転送するのに使用される。第
3チャネルは、Y方向においてルータ間で情報を転送す
るのに使用される。第4チャネルは、Z方向においてル
ータ間で情報を転送するのに使用される。ルートされて
いるメッセージが完全アドレシング情報を含んでいるか
または不完全アドレシング情報を含んでいるかによっ
て、Zチャネル接続には2つのケースが生じる。完全ア
ドレシングを含んでいるメッセージの場合、冗長ネット
ワークに完全に渡されるアドレス情報は、メッセージが
そのルートを経由した範囲を示している。絶対アドレシ
ングの場合には、この完全アドレス情報は、メッセージ
がそのルートを経由した範囲を意味している。不完全ア
ドレシング情報を含んでいるメッセージの場合、メッセ
ージがそのルートを経由した範囲を決定するため、メッ
セージとともに不十分な情報が冗長ネットワークに送ら
れる。
【0010】完全すなわち絶対メッセージ・アドレシン
グを用いた場合、各ルータは、冗長ネットワークに接続
した入力および出力Zチャネルを有している。不完全ア
ドレシングの場合、2つの出力および2つの入力Zチャ
ネル、すなわちXルーティングに関する1対とYルーテ
ィングに関する他の対が、冗長ネットワークに接続して
いる。この接続により、ネットワークAにおけるノード
間で、ネットワークBにおけるルータ間で、またはルー
タを介してネットワークAおよびネットワークB間でメ
ッセージを受渡すことができる。ルータは、処理装置か
らアドレス情報を受取り、起点ノードからデスティネー
ション・ノードへの情報の通信ルートを確立するようノ
ードからノードへアドレス情報を通信する。メッセージ
は、アドレシング情報とデータを含んでいる。情報通信
が完了すると、ルートは解放され、このルートにより使
用されたチャネルは、他のノード間の通信に使用できる
ようになる。
【0011】メッセージは、各メッセージに含まれてい
るルーティング情報を用いて従来技術のルーティング方
法と同様に先ずX次元において次にY次元においてルー
ティングすることによりネットワークAおよびネットワ
ークBにおいてルートされる。従来技術のルーティング
と同様に、XおよびY次元における2つのノード間のル
ートが唯一のルートとなる。しかし、従来技術とは異な
り、本発明は、XまたはY方向において使用不能なチャ
ネルに出会うと、適切な“Z”チャネルが使用可能であ
るならば、ネットワーク間で移る。使用不能なチャネル
とは、ビジーか、欠如しているか、または誤動作してい
るチャネルである。したがって、本発明では、メッセー
ジに含まれているルーティング情報は、XおよびY次元
における唯一のルートを定義するためだけに使用され
る。Z次元のルーティングは、変えることができで、ネ
ットワークにおいて出会う使用不能チャネルにより決ま
る。
【0012】XおよびY次元においてメッセージを転送
中に、あるチャネルがすぐには許可されない場合、Zチ
ャネルに対して要求が出される。XまたはYチャネルに
対する要求とZチャネルに対する要求は、一方の要求が
許可されるまで続けられる。その後、メッセージは、許
可されたチャネルにルートされ、他の要求は取下げられ
る。要求された(XまたはY)チャネルと要求された
“Z”チャネルが両方ともビジーの場合、メッセージは
止められ、“Z”チャネルにルートされない。ルータ
は、一方が使用可能になるまでチャネルのルーティング
を“コミット”しない。ノーマル・ルーティング・アド
レス・ヘッダは、Z次元を経由することにより変更され
ることはない。メッセージがデスティネーション・ルー
タに到着すると、メッセージはそれに関連したルータに
よりデスティネーション・プロセッサに供給される。こ
の適応ルーティング技術では、メッセージがデスティネ
ーション・ノードに到着したかどうかを決定するため、
ルータはルーティング・アドレスを調べなければならな
い。この調査はメッセージがZ次元を通過する度に行な
われる。第1ネットワークから第2ネットワークに移
り、かつ第2ネットワークの目標のチャネルが全て使用
不能な場合、メッセージは止められ、かつZチャネルで
第1ネットワークにルート・バックしない。
【0013】
【実施例】本発明は、多次元コンピュータ・ネットワー
クにおけるメッセージの適応ルーティング装置および方
法を提供する。以下の説明における様々な特定の記載
は、本発明の理解を助けるためのものであって、本発明
はこれら記載に限定されない。また、周知の技術につい
ての詳細な説明は、本発明を不明瞭にしないため省略す
る。本発明の実施例における第1多次元ルーティング・
ネットワークは、複数の処理ノードから成る。図1は、
ネットワークAとして構成されたノード10を示してい
る。図2は、ネットワークAにおけるこれらノードの代
表的な構成を示している。ネットワークAの各ノード
は、情報を処理する処理装置11とネットワークにおけ
るノード間で情報(たとえばメッセージ)をルーティン
グするルータ12から成っている。メッセージは、完全
アドレシング方法または不完全アドレシング方法のいず
れかを用いて、図2のネットワークにおいてルートされ
る。不完全アドレシングを用いた場合、メッセージに関
するデスティネーション・ノードは、メッセージがルー
ティングされている現在のノードからのX,Y変位によ
って定義される。特定の次元に関するデスティネーショ
ン変位の部分は、その次元のルーティングが完了した時
にメッセージから除去される。完全アドレシングを用い
た場合、デスティネーション・ノードの各次元における
絶対アドレス(または相対アドレス)は、それがデステ
ィネーション・ノードにルートされる時、メッセージに
関して保持される。なお、図1および2に示したノード
およびネットワークの構造や、完全および不完全アドレ
シングを用いてノード間でメッセージを受渡す方法は、
当業者には周知の概念である。
【0014】図1および2に示したネットワークAのメ
ッセージ受渡し機構の能力を改善するため、本発明は第
2多次元ルーティング・ネットワークBを提供する。ネ
ットワークBは、図3に示すようにネットワークAに接
続したルータの同じまたは冗長メッセージ受渡し多次元
ネットワークである。ネットワークBは、ネットワーク
Aと同様のトポロジと次元に構成されている。本発明の
実施例では、第1ネットワークAと第2ネットワークB
は、X次元とY次元を有するノードの2次元デュアル・
メッシュ接続で構成されている。接続されたネットワー
ク300の各ルータは、その各ネットワークにおいて関
連したXおよびY座標を有している。ネットワークAと
ネットワークBの各ノードは、X方向にメッセージをル
ートするXチャネルとY方向にメッセージをルートする
Yチャネルを有しているルータを含んでいる。Aネット
ワークにおいて、ルータは、XおよびY方向のチャネル
(第1ネット・ワークチャネル)を介して相互接続して
いる。同様に、Bネットワークにおいても、ルータは、
XおよびY方向のチャネル(第2ネットワーク・チャネ
ル)を介して相互接続している。ネットワークAの特定
の座標におけるルータは、Zチャネルを介してネットワ
ークBの対応する座標におけるルータに接続している。
【0015】図3は、本実施例のデュアル・メッシュ・
ネットワーク配列300を示している。ネットワークA
301とネットワークB302は、図示のように配置さ
れ相互に接続している。たとえば、ノード310は、ネ
ットワークAにおけるYチャネルを介して隣りのノード
311に接続しかつXチャネルを介してノード312に
接続している。さらに、ノード310は、Zチャネルを
介してネットワークB302のルータ320にも接続し
ている。本発明の実施例において、AおよびBネットワ
ークの各ルータは、情報を通信する4つのタイプのチャ
ネルから成っている。これらルータのチャネルは、完全
アドレシングを用いたシステムに関しては図4に、不完
全アドレシングを用いたシステムに関しては図5に示さ
れている。図4において、第1チャネル(PinおよびP
out )は、ルータとルータに接続したプロセッサ装置と
の間で情報を転送するのに使用される。この第1チャネ
ルは、AネットワークのルータをBネットワークの対応
するルータに接続するのにも使用される。第2チャネル
(±Xinおよび±Xout )は、ルータ間でX方向に情報
を転送するのに使用される。第3チャネル(±Yinおよ
び±Yout )は、ルータ間でY方向に情報を転送するの
に使用される。第4チャネル(±Zinおよび±Zout )
は、ルータ間でZ方向に情報を転送するのに使用され
る。
【0016】図4に示すように完全ノード・アドレシン
グを使用する場合、各ルータは、入力(Zin)チャネル
と冗長Bネットワークに接続する出力(Zout )チャネ
ルを有している。あるネットワークにおいてこれまで行
なわれていたルーティングのエクステントを定義する完
全情報は、メッセージ・ヘッダに含まれている情報によ
って冗長ネットワークに送られる。ルーティングの範囲
を定義する情報は、絶対デスティネーション・ノード・
アドレス、または各次元に関する相対ルーティング情報
が保持されている相対デスティネーション・ノード・ア
ドレスの形態をとっている。完全ルーティング情報はこ
の形のアドレシングに関してメッセージとともに送られ
るので、単一のZinチャネルおよびZout チャネルは、
ネットワークの全次元に対して適切に動作することがで
きる。何らかの形の相対アドレシングが使用された場
合、各次元に関する完全ルーティング情報は、メッセー
ジ・ヘッダにおいてメッセージと一緒には送られない。
これらタイプの不完全アドレシング・システムでは、特
定の次元に関するルーティング情報の範囲は、その特定
の次元におけるルーティングが完了するとともに、メッ
セージ・ヘッダから取り除かれる。この場合、2つの冗
長ネットワーク間でルーティング情報の範囲を転送する
ためには、各次元に関して別々のZチャネルが必要とさ
れる。本実施例では、図5に示すように各ルータは、2
つの出力(Z[X]out およびZ[Y]out )および2
つの入力(Z[X]inおよびZ[Y]in)チャネルを有
している。Z[X]チャネルは、Xルーティング用で、
Z[Y]チャネルは、冗長BネットワークとのYルーテ
ィング用である。
【0017】図6は、完全アドレシングを使用した本発
明のネットワークにおける2つのノードに関するチャネ
ル結合配置を示している。第1プロセッサ601は、A
ネットワークのルータ610とBネットワークのルータ
611に接続している。図示のように、プロセッサは、
チャネルPin602を介してルータ610にメッセージ
を供給することによって、メッセージ源すなわちオリジ
ネータとして動作する。Xチャネル603,604また
はYチャネル605,606を用いてメッセージをネッ
トワークAにルートすることができる。メッセージがル
ータ610のZout チャネル608からルータ611の
Zinチャネル618に転送された後、Xチャネル61
3,614またはYチャネル615,616を用いてメ
ッセージをネットワークBにルートすることもできる。
XまたはYチャネルがAネットワークにおいて使用不能
な場合、Zout チャネル608を用いてZ次元において
メッセージをBネットワークにルートすることができ
る。したがって、メッセージをルータ610のZout チ
ャネル608からルータ611のZinチャネル618に
ルートすることができる。同様に、XまたはYチャネル
がBネットワークにおいて使用不能な場合、ルータ61
1のZout チャネル619を用いてZ次元においてメッ
セージをAネットワークにルートすることができる。こ
のように、ルータ611のZout チャネル619からル
ータ610のZinチャネル609にメッセージをルート
することができる。しかし、通過した前のチャネルがZ
チャネルであった場合、メッセージは、Zチャネルにル
ート・バックされない。必要とされるXまたはYチャネ
ルが使用不能なので、メッセージがZチャネルを介して
冗長ネットワークにルートされる場合、メッセージは、
冗長ネットワークにおける必要なチャネルも使用不能な
らば、冗長ネットワーク・ルータで止められる。
【0018】メッセージがデスティネーション・ノード
に到達すると、メッセージはPoutチャネルによりデス
ティネーション・プロセッサにルートされる。図6に示
すように、メッセージがAネットワークのデスティネー
ション・ノードに到達すると、メッセージはPout ポー
ト607を介してBネットワークにルートされる。Bネ
ットワークのルータ611は、Pinポート612でメッ
セージを受け取り、メッセージをPout ポート630を
介してプロセッサ601にルートする。別の実施例で
は、ルータ610,611のPout ポートはプロセッサ
601に直結している。このようにして、別のネットワ
ークを通過しなくても、メッセージをデスティネーショ
ン・プロセッサに直接的にルートすることができる。不
完全アドレシングを用いている別の実施例では、Z方向
においてAおよびBネットワークの間でメッセージを転
送するのに、2つのZチャネルが必要である。図7は、
この実施例に関するチャネル結合配置を示している。図
7に示すように、このチャネル結合配置は、不完全アド
レシングを用いて両方向にAおよびBネットワークの間
でメッセージを転送するために、Z[X]チャネル(7
08,709)およびZ[Y]チャネル(718,71
9)がルータ710に設けられていることを除けば、図
6に示した配置と同じである。不完全アドレシングを用
いているさらに別の実施例では、冗長ネットワーク間で
のメッセージのルーティングを共用するため、各ルータ
のPin/Pout ポートが使用される。この実施例では、
1つのネットワークにおいてメッセージのルーティング
の一部を実行することができる。その後、メッセージ
は、Pin/Pout ポートを介して別のネットワークに移
される。そして、メッセージは別のネットワークのデス
ティネーションに続く。
【0019】図6および7の実施例に示すように、この
チャネル構造とノード接続により、ルータを介してネッ
トワークAおよびネットワークB間でメッセージを受渡
しすることができる。ルータは、メッセージに関するソ
ース・ノードとデスティネーション・ノード間に経路を
供給するため、各メッセージに含まれているルーティン
グ情報(たとえば、ルーティング・アドレス・ヘッダ)
を使用する。デッドロックを阻止するため、メッセージ
は、最初X次元に、次にY次元にルーティングすること
によりネットワークAおよびBにルートされる。デッド
・ロックは、2つのノードが、他のノードにより予約さ
れたチャネルを待機している時に生じる誤り状態であ
る。最初X次元に、次にY次元にルーティングすること
により、XおよびY次元における2つのノード間の経路
が唯一のものとなる。ソースおよびデスティネーション
・ノード間の経路は、最初X方向で次にY方向でソース
・ノードからデスティネーション・ノードにメッセージ
をルーティングするのに必要なチャネル・セットとして
定義される。XまたはY方向において必要とされるチャ
ネルに関しコンテンションが生じた場合、それに対応す
るZチャネルが使用可能である場合、AおよびBネット
ワーク間で移動が行なわれる。したがって、ルートされ
ているメッセージのヘッダに含まれるルーティング情報
は、XおよびY次元における唯一のルートを定めるため
だけに使用される。メッセージ・ルーティング情報は、
Z次元ルーティング情報を含まなくてもいい。したがっ
て、各メッセージに関して記憶された現ルーティング情
報を変更しないで、冗長Bネットワークを現Aネットワ
ークに加えることができる。Z次元のルーティングは変
えることができ、適応性があり、しかもAおよびBまた
はその一方のネットワークにおける過密状態しだいであ
る。
【0020】ある従来技術のネットワークは、特定の方
向のルーティングが終了するとルーティング情報の一部
が取り除かれるという、メッセージ・ルーティングに関
する相対アドレシング形式を使用している。しかし、こ
れら不完全メッセージ・アドレシング・システムでは、
完全相対ルーティング情報なしでメッセージが単一Zチ
ャネルを通過することができる場合に問題が生じる。こ
れは、完全XおよびY変位情報が一方のネットワークか
ら他のネットワークに移動する場合、それはメッセージ
の一部でなければならないからである。別のネットワー
クのルータは、完全アドレス・ヘッダから部分相対アド
レス・ヘッダを区別することができない。他のネットワ
ークは、絶対アドレシング能力を用いている。アドレス
・ヘッダにおいてメッセージとともにXおよびY変位を
送る代りに、デスティネーション・ノードの絶対アドレ
スがメッセージとともに送られる。ルータがメッセージ
を受け取ると、ルータはメッセージにおけるデスティネ
ーション・ノード・アドレスをルータ自身のアドレスに
比較する。この比較にしたがって、ルータは、メッセー
ジを次のルータに整列して転送する時にどのポート(チ
ャネル)を使用したらよいかを決定する。このように、
絶対アドレシングは、各ルータがネットワークにおいて
そのアドレスに気づく要件を発生する。これは、相対ア
ドレシングに関する場合とは異なる。$ 絶対アドレシ
ングを使用する時のアドレス・フォーマットは、ネット
ワークが2次元の場合には(X,Y)、ネットワークが
3次元の場合には(X,Y,Z)になる。X,Yは、ア
ドレス可能ルーティング・ネットワーク中のノードを指
定する直交座標に対応する。メッセージを受け取ると、
ルータは、その内部に記憶された絶対アドレスと、メッ
セージを伴なう絶対アドレスとを比較しなければならな
い。アドレスが同じである場合には、メッセージは、ル
ータのPout ポートからノード・プロセッサに送られ
る。アドレスが一致していない場合、XおよびY座標間
の差がそれぞれ計算される。各計算結果の符号は、ルー
タのどのチャネルが出ていくのか決定するのに使用され
る。第1の例では、ノードの絶対アドレスが(4,6)
で、メッセージとともに到着するアドレスが(2,8)
の場合、座標間の差は次のように計算される。X座標に
関して2−4=−2で、Y座標に関して8−6=+2と
なる。全XルーティングはYルーティングの前に行なわ
れなければならないので、これら結果は、メッセージが
−X方向にルートされなければならないことを示してい
る。この場合、X座標間の差はゼロではない。第2の例
では、ノードの絶対アドレスが(4,6)で、メッセー
ジとともに到着するアドレスが(4,8)の場合、計算
された差は(0,2)である。これは、X結果がゼロで
あるので、メッセージは+Y方向にルートされなければ
ならないことを示している。完全アドレシングを用いて
いるシステムでは、メッセージとともに送られるアドレ
スは、ルーティング中にルータによって取り除かれたり
または変更されたりしない。
【0021】第3図は、本発明のメッセージ・ルーティ
ング方法の一例を示している。ノード310は、メッセ
ージが発生されるアービタリ・ソース・ノードとして選
択される。ノード303は、メッセージ・ルーティング
が終結するデスティネーション・ノードとして選択され
る。最初、メッセージは、経路330に沿ってX方向で
ノード312にルートされる。メッセージは、経路が使
用可能である限りX方向に隣のノードに移動し続ける。
一旦、メッセージがデスティネーション・ノードのX座
標と同じX座標に到達すると、メッセージは、デスティ
ネーションに到達するまで、Y方向に移動し始める。デ
スティネーション・ルータに到達すると、メッセージは
ルータのPout チャネルからルートされ、デスティネー
ション・ノードのプロセッサによって受信される。しか
し、X,Yチャネルが、ルータによって要求された時す
ぐには許可されない場合(たとえば、チャネルが他の要
求に応じていてビジーであるか、または経路が誤動作し
ている)、要求が、対応するZ−チャネルに対して行な
われる。XまたはYチャネル要求およびZチャネル要求
は両方とも、一方の要求が許可されるまで保持される。
ルータは、チャネル要求が許可されるまで、特定チャネ
ルのルーティングをコミットしない。その後、メッセー
ジは、許可されたチャネルでルートされ、他のチャネル
要求は取り下られる。
【0022】図3において、ノード312からのXチャ
ネル331は、ビジーで、メッセージがノード313に
ルートされるのを阻止している。従来のネットワークで
は、メッセージは、経路331が使用可能になるまで止
められる。しかし、本発明では、ノード312のルータ
は、Xチャネル331に関する要求を、続いてZチャネ
ルに関する要求を行なっている。図3に示した例のよう
に、Zチャネルが使用可能であるならば、メッセージは
経路332に沿ってZ方向でBネットワークのルータ3
22にルートされる。そしてXチャネルに関する要求は
取り下られる。なお、メッセージに含まれているノーマ
ル・ルーティング・アドレス・ヘッダは、Z次元の通過
により変更されることはない。したがって、メッセージ
は、デスティネーション・ノードへの移動を継続するこ
とができるが、一方、従来のネットワークでのメッセー
ジ・ルーティングはノード312で停止する。
【0023】Bネットワークにルートした後、メッセー
ジは、メッセージがまだAネットワークでルートしてい
るかのように、X方向にルートされ続ける。ルーティン
グ・アドレス・ヘッダは、XおよびY次元のルーティン
グ情報を供給し続ける。メッセージは、メッセージがデ
スティネーション・ノードに対応するX座標に到達する
まで、X方向にルートされる。図3の例において、ノー
ド324は、デスティネーション・ノード303と同じ
X座標に位置している。したがって、一旦、メッセージ
がノード324に到達すると、Xルーティングは終結
し、Yルーティングが開始する。要求された冗長Xまた
はYチャネルがビジーであることを発見するだけのため
に、Zチャネルにおいてルータがメッセージを受取る
と、メッセージは止められ、要求されたXまたはYチャ
ネルを待たなければならない。この場合、メッセージを
Zチャネルでルート・バックすることはできない。図3
に示すように、メッセージは、ノード324から延びた
ビジーなYチャネル335に出会う。この場合、ノード
324から延びるZチャネル336に対する要求が行な
われ、一方、Yチャネル335に対する要求は未決のま
まである。Yチャネルの要求またはZチャネルの要求の
いずれかが許可されると、メッセージは許可されたチャ
ネルに続く。図3では、Zチャネル336は最初許可さ
れているものとして示されている。この場合、Yチャネ
ル335の要求は取り下られ、メッセージはネットワー
クAのノード314にルートされる。再び、メッセージ
は、Y方向でデスティネーション・ノードに向けてルー
トされる。メッセージが他のビジーYチャネル(たとえ
ば、経路340)に出会うと、メッセージは、デスティ
ネーション・ルータに最終的に到達するまで、再びZ方
向にルートされる。ルーティング・アドレスがデスティ
ネーション・ノード・アドレスに一致する、すなわち相
対次元変位がゼロの場合、メッセージはデスティネーシ
ョン・ルータのPout ポートから出る。
【0024】実施例のルーティング論理装置 本発明の適応ルータのルーティング論理装置は、ルーテ
ィング・オートマタを用いて具現化される。これらオー
トマタは、スイッチング、デクレメンティングおよび決
定エレメントを含んでいるハードウェア・エレメントで
ある。図8および9図は、ルータを介して流れているメ
ッセージに作用するルーティング・オートマタを示して
いる。図8は、相対変位を伴なう完全アドレシングを用
いている2次元ルータに関するルーティング論理装置を
示している。図9は、相対変位を伴なう不完全アドレシ
ングを用いている2次元ルータに関するルーティング論
理装置を示している。図10は、図8および図9の各実
施例に示すように、メッセージがマルチプレクサに移動
する時、接続点でメッセージの流れを制御するのに使用
されるアービタレーション論理装置の作用を示してい
る。
【0025】図8は、相対変位をともなう完全アドレシ
ングを用いている2次元ルータに関するルーティング論
理装置を示している。図8および図9に示した2つの各
実施例において、ルータは、6つの各入力チャネル:−
Xin,+Xin,−Yin,+Yin,Pin,Zin(図9の不
完全アドレシング例に関し、Z入力はZ(X)inおよび
Z(Y)inである)でメッセージを受け取る。これら各
チャネルでのルーティングは並列に行なわれる。これら
2次元例の各メッセージに関し、デスティネーションか
らのメッセージの相対変位は、メッセージにより2つの
部分で送られる。第1の部分(X disp.)はX方向の変
位を表し、第2の部分(Y disp.)はY方向の変位を表
している。図8に示した−Xinチャネルで受取ったメッ
セージに関し、X変位はゼロと比較される(決定コンポ
ーネント804)。X変位がゼロの場合(経路80
5)、このメッセージに関してX方向の移動は必要な
い。この場合、メッセージは、図8に示された決定コン
ポーネント884に移動する。決定コンポーネント88
4は、Y方向のメッセージの移動を処理する。絶対アド
レシング・ネットワーク・システムまたは別のタイプの
完全相対アドレシング・システムに関し、ルーティング
・アドレス・ヘッダは、この移動中、変更されない。
【0026】図8において、X変位が非ゼロの場合(経
路806)、メッセージはアービタレーション接続80
8に移動する。アービタレーション接続部808は、図
8および図9において使用されているアービタレーショ
ン・プロセスの第1例である。2つの実施例における各
アービタレーション接続部では、同様のアービタレーシ
ョン過程が実施される。わかりやすくするため、図8お
よび図9には、アービタレーション・プロセスを具現す
るハードウェアは示されていない。アービタレーション
・プロセスの作用は、使用可能チャネルのアクセスを得
ることである。各アービタレーション接続部は、入力経
路(この第1のケースでは経路806)と、2つの出力
経路(このケースでは経路885と経路886)を有し
ている。一方の出力経路は一次経路(経路885)とし
て設計され、他方の出力経路は二次経路(経路886)
として設計されている。図10は、各アービタレーショ
ン接続部において実施される過程を示している。
【0027】最初に、一次経路が要求される(過程81
1)。特定のチャネルを要求する方法は、当分野におい
ては周知である。一次経路に関する要求が許可されない
(経路814)場合、一次経路は、ビジーか、誤動作し
ているか、または何らかの理由で使用不能であるかのい
ずれかである。この場合、Z経路は、冗長ネットワーク
にメッセージを転送するよう要求される(過程81
7)。本発明がない場合には、メッセージはそこで止ま
り、ビジーな一次経路が使用可能になるのを待つ。Z経
路の要求も許可されない場合(経路819)、メッセー
ジは、要求されたチャネルの一方が許可されるまで、ア
ービタレーション接続部に留まる。この留められた状態
は、図10の過程812に戻る経路819によって示さ
れ、ここで一次経路が使用可能かどうかテストされる。
アービタレーション・プロセスのこの時点では、2つの
チャネル要求すなわち一次経路およびZ経路は、未決の
ままである。メッセージは、一次経路およびZ経路がビ
ジーである限り、アービタレーション接続部に止められ
たままである。なお、メッセージは、これらチャネルの
一方が使用可能になるまで一次経路またはZ経路のいず
れかをとるかコミットしない。
【0028】最初、一次経路が使用可能である場合、経
路813は過程815に進む。過程815において、Z
経路の要求は取り下げられる。次に、一次経路に接続し
たマルチプレクサは一次経路に切り替えられ(過程83
3)、メッセージは一次経路に沿ってルートされる。図
10の過程818において、一次経路の前にZ経路が使
用可能になると、経路820は過程821に進む。過程
821において、一次経路の要求は取り下げられる。次
に、Z経路に接続したマルチプレクサはZ経路に切り替
えられ(過程832)、メッセージはZ経路に沿ってル
ートされる。図8および図9の2つの実施例の設計にお
いて、アービタレーション接続部に出会う度に、前述し
たアービタレーション・プロセスと同様のプロセス過程
が実施される。図8のアービタレーション接続部808
において、一次経路885またはZ経路886に関する
アービタレーションが行なわれる。一次経路885が得
られた場合、ルーティングはX方向でマルチプレクサ8
87におよびデクレメンティング・コンポーネント88
9に続く。デクレメンティング・コンポーネント88
9、メッセージ・アドレスのX変位をデクレメントし、
それによりこのルータを介したルーティングが完了した
ことを示す。その後、メッセージは経路890において
ルータの−Xout ポートから出ていく。一次経路885
が得られないが、Zチャネルが得られた場合(経路88
6)、ルーティングは図8の丸Aに進む。丸Aは経路8
86をマルチプレクサ1000の入力に接続し、マルチプレ
クサ1000においてZout チャネルからのルーティングが
行なわれる。決定コンポーネント804においてX変位
がゼロの場合、経路805に進む。この場合、メッセー
ジは、経路805を介して決定コンポーネント884に
進む。決定コンポーネント884は、Y方向のメッセー
ジの移動を処理する。決定コンポーネント884におい
て、メッセージのY変位はゼロに比較される。Y変位が
ゼロより小さいと(経路891)、メッセージは経路8
91によりアービタレーション接続部897にルートさ
れる。一次経路が使用可能な場合(経路903)、メッ
セージはマルチプレクサ898を介しデクレメンティン
グ・コンポーネント901にルートされる。デクレメン
ティング・コンポーネント901は、メッセージ・アド
レスのY変位をデクレメントし、それによってこのルー
タを介したルーティングが完了したことを示す。その
後、メッセージは、経路905で−Yout ポートからル
ータを出る。
【0029】アービタレーション接続部897におい
て、一次経路903を得ることができないが、Zチャネ
ルを得ることができる場合(経路904)、ルーティン
グは図8の丸Fに続く。丸Fは、経路904をマルチプ
レクサ1000の入力に接続し、マルチプレクサ1000におい
て、Zout チャネルからのルーティングが行なわれる。
決定コンポーネント884において、メッセージのY変
位がゼロよりも大きい(経路892)場合、メッセージ
は経路892によりアービタレーション接続部896に
ルートされる。一次経路が使用可能な場合(経路90
6)、メッセージはマルチプレクサ900を介しデクレ
メンティング・コンポーネント902にルートされる。
デクレメンティング・コンポーネント902は、メッセ
ージ・アドレスのY変位をデクレメントし、それによっ
てこのルータを介したルーティングが完了したことを示
す。その後、メッセージは、経路902で+Yout ポー
トからルータを出る。アービタレーション接続部896
において、一次経路906を得ることはできないが、Z
チャネルを得ることができる場合(経路907)、ルー
ティングは図8の丸Mに続く。丸Mは、経路907をマ
ルチプレクサ1000の入力に接続し、マルチプレクサ1000
において、Zout チャネルからのルーティングが行なわ
れる。決定コンポーネント884において、メッセージ
のY変位がゼロの場合(経路893)、メッセージはマ
ルチプレクサ899にルートされる。XおよびY次元の
両方におけるルーティングが完了したので、メッセージ
は経路910でPoutポートからネットワークを出る。
図8に示した+Xinチャネルで受取ったメッセージに関
する処理は、−Xinチャネルに関して述べた処理と同様
である。最初、X変位がゼロに比較される(決定コンポ
ーネント814)。X変位がゼロの場合(経路81
5)、このメッセージに関してはX方向の移動は必要と
されない。この場合、メッセージは決定コンポーネント
874に移動する。決定コンポーネント874は、Y方
向のメッセージ移動を処理する。このコンポーネントに
ついては後述する。絶対アドレシング・ネットワーク・
システムまたは他のタイプの完全相対アドレシング・シ
ステムに関し、ルーティング・アドレス・ヘッダは変更
されない。図8の決定コンポーネント814において、
メッセージは、X変位がゼロでない場合(経路81
6)、アービタレーション接続部818に移動する。ア
ービタレーション接続部818は、本発明において使用
されるアービタレーション・プロセスの他の例である。
アービタレーション接続部818において実施される過
程は、図10に示したアービタレーション接続部808
において実施される過程と同様である。
【0030】図8のアービタレーション接続部818に
おいて、一次経路875またはZ経路876に関するア
ービタレーションが行なわれる。一次経路875が得ら
れる場合、ルーティングはX方向でマルチプレクサ87
7におよびデクレメンティング・コンポーネント879
に続く。デクレメンティング・コンポーネント879は
メッセージ・アドレスのX変位をデクレメントし、それ
によりこのルータを介したルーティングが完了したこと
を示す。その後、メッセージは経路880においてルー
タの+Xout ポートから出ていく。一次経路875を得
ることができないが、Zチャネルを得ることができる場
合(経路876)、ルーティングは図8の丸Dに続く。
丸Dは、経路876をマルチプレクサ1000の入力に接続
し、マルチプレクサ1000において、Zout チャネルから
のルーティングが行なわれる。決定コンポーネント81
4において、X移動がゼロの場合経路815に進む。こ
の場合、経路815はメッセージを決定コンポーネント
874にルートする。決定コンポーネント874は、Y
方向のメッセージ移動を処理する。決定コンポーネント
874において、メッセージのY変位はゼロに比較され
る。Y移動がゼロより小さいと(経路851)、メッセ
ージは経路851によりアービタレーション接続部85
7にルートされる。一次経路が使用可能な場合(経路8
63)、メッセージはマルチプレクサ898を介しデク
レメンティング・コンポーネント901にルートされ
る。デクレメンティング・コンポーネント901は、メ
ッセージ・アドレスのY変位をデクレメントし、それに
よってこのルータを介したルーティングが完了したこと
を示す。その後、メッセージは、経路905で−Yout
ポートからルータを出る。
【0031】アービタレーション接続部857におい
て、一次経路863を得ることができないが、Zチャネ
ルを得ることができる場合(経路864)、ルーティン
グは図8の丸Kに続く。丸Kは、経路864をマルチプ
レクサ1000の入力に接続し、マルチプレクサ1000におい
て、Zout チャネルからのルーティングが行なわれる。
【0032】決定コンポーネント874において、メッ
セージのY移動がゼロよりも大きい場合(経路85
2)、メッセージは経路852によりアービタレーショ
ン接続部856にルートされる。一次経路が使用可能な
場合(経路866)、メッセージはマルチプレクサ90
0を介しデクレメンティング・コンポーネント902に
ルートされる。デクレメンティング・コンポーネント9
02は、メッセージ・アドレスのY変位をデクレメント
し、それによって、このルータを介したルーティングが
完了したことを示す。その後、メッセージは、+Yout
ポートからルータを出る。アービタレーション接続部8
56において、一次経路866を得ることができない
が、Zチャネルを得ることができる場合(経路86
7)、ルーティングは図8の丸Pに続く。丸Pは、経路
867をマルチプレクサ1000の入力に接続し、マルチプ
レクサ1000において、Zout チャネルからのルーティン
グが行なわれる。決定コンポーネント874において、
メッセージのY変位がゼロの場合(経路853)、メッ
セージはマルチプレクサ899にルートされる。Xおよ
びY次元の両方におけるルーティングが完了したので、
メッセージは経路910でPoutポートからネットワー
クを出る。
【0033】このように、−Xおよび+Xチャネルにお
いてメッセージ入力を受取るルータによるメッセージ・
ルーティングについて述べてきた。−Yおよび+Yチャ
ネルにおいて受取ったメッセージのルーティングは、X
チャネルに関して述べてきた方法と同様に行なわれる。
主な違いは、X次元のルーティングが既に完了したこと
をY次元のルーティングが意味していることである。し
たがって、Yルーティングは図8の真ん中に示すように
決定コンポーネント840(−Yin)および841(+
Yin)で開始する。Xルーティングと同様に、Y変位
は、決定コンポーネント840(−Yin)および841
(+Yin)においてゼロと比較される。Y変位がゼロで
はなく(経路842,846)、Yout チャネルが使用
可能である場合、メッセージは、マルチプレクサ898
または900を介してYout チャネルにルートされる。
Y変位がゼロではなく(経路842,846)、しかも
Yout チャネルが使用可能でない場合、メッセージは、
丸EとQを介してZout チャネルおよびマルチプレクサ
1000を介してYout チャネルにルートされる。
【0034】決定コンポーネント840(−Yin)およ
び841(+Yin)において、Y変位がゼロの場合(経
路847,843)、XおよびY次元のメッセージ・ル
ーティングは完了している。したがって、メッセージ
は、マルチプレクサ899と、Pout チャネルが使用可
能であるならば、Pout チャネルとを介して決定プロセ
スにルートされる。メッセージを発生するプロセッサ
は、Pinチャネルを介してそのルータにメッセージを送
ることにより、メッセージをネットワーク・システムに
受け渡す。たった1つのネットワークがデスティネーシ
ョン・プロセスに直接的にPout 接続しているならば、
Pinチャネルは、1つのネットワークのPout チャネル
と冗長ネットワークのPout チャネルの間の経路を終結
するのにも使用される。Pinチャネルにおいてルータが
メッセージを受信すると、X変位を最初にテストするの
に決定コンポーネント410が使用される。メッセージ
のX変位がゼロより小さい場合(経路411)、メッセ
ージは、アービタレーション接続部412、マルチプレ
クサ887、デクレメンタ・コンポーネント889を介
して−X方向にルートされる。メッセージは、アービタ
レーション接続部412の一次チャネルが使用不能な場
合、丸Bとマルチプレクサ1000を介して冗長ネットワー
クに進む。メッセージのX変位がゼロより大きいと(経
路413)、メッセージは、アービタレーション接続部
414、マルチプレクサ877、デクレメンタ・コンポ
ーネント879を介して+X方向にルートされる。メッ
セージは、アービタレーション接続部414の一次チャ
ネルが使用不能な場合、丸Cとマルチプレクサ1000を介
して冗長ネットワークに進む。メッセージのX変位がゼ
ロの場合(経路425)、X方向のルーティングは必要
でない。したがって、メッセージは、Y変位をテストす
る決定コンポーネント420にルートされる。
【0035】決定コンポーネント420において、メッ
セージのY変位はゼロに比較される。Y変位がゼロより
小さいと、メッセージはアービタレーション接続部89
5にルートされる。一次経路が使用可能な場合、メッセ
ージはマルチプレクサ898を介してデクレメンティン
グ・コンポーネント901にルートされる。デクレメン
ティング・コンポーネント901は、メッセージ・アド
レスのY変位をデクレメントし、それによりこの経路を
介したルーティングが完了したことを示す。その後、メ
ッセージは経路905で−Yout ポートからルータを出
る。
【0036】アービタレーション接続部895におい
て、一次経路を得ることができないがZチャネルを得る
ことができる場合、ルーティングは図8の丸Hに続く。
丸Hは、経路をマルチプレクサ1000の入力に接続し、マ
ルチプレクサ1000においてZout チャネルからのルーテ
ィングが行なわれる。決定コンポーネント420におい
て、メッセージのY変位がゼロよりも大きく、Yチャネ
ルが使用可能な場合、メッセージはマルチプレクサ90
0を介してデクレメンティング・コンポーネント902
にルートされ、最終的には+Yout チャネルから出る。
メッセージのY変位がゼロよりも大きく、Yチャネルが
使用不能であるが、Zチャネルが得られる場合には、ル
ーティングは図8の丸Nに続く。丸Nは、経路をマルチ
プレクサ1000の入力に接続し、マルチプレクサ1000にお
いて、Zout チャネルからのルーティングが行なわれ
る。決定コンポーネント420において、メッセージの
Y変位がゼロの場合、メッセージはマルチプレクサ89
9にルートされる。XおよびY次元の両方におけるルー
ティングが完了したので、メッセージは経路910でP
out ポートからネットワークを出る。最後に、図8は、
Zinチャネルでルータにより受信されたメッセージに関
するルーティングを示している。Zinチャネルで受信さ
れたメッセージのX変位は、決定コンポーネント431
においてゼロとテストされる。メッセージのX変位がゼ
ロより小さい場合(経路432)、メッセージはマルチ
プレクサ887とデクレメンタ・コンポーネント889
を介して−X方向にルートされる。メッセージのX変位
がゼロより大きい場合(経路433)、メッセージはマ
ルチプレクサ877とデクレメンタ・コンポーネント8
79を介して+X方向にルートされる。メッセージのX
変位がゼロの場合(経路437)、X次元のルーティン
グは必要とされない。したがって、メッセージは、Y変
位がテストされる決定コンポーネント430にルートさ
れる。決定コンポーネント430において、メッセージ
のY変位は、ゼロに比較される。Y変位がゼロより小さ
い場合(経路434)、メッセージはマルチプレクサ8
98を介してデクレメンティング・コンポーネント90
1にルートされる。デクレメンティング・コンポーネン
ト901は、メッセージ・アドレスのY変位をデクレメ
ントし、それによりこの経路を介したルーティングが完
了したことを示す。その後、メッセージは、経路905
で−Yout ポートからルータを出る。決定コンポーネン
ト430において、メッセージのY変位がゼロよりも大
きい場合(経路435)、メッセージはマルチプレクサ
900を介してデクレメンティング・コンポーネント9
02にルートされ、最終的には+Yout チャネルから出
る。決定コンポーネント430において、メッセージの
Y変位がゼロの場合、メッセージはマルチプレクサ89
9にルートされる。XおよびY次元の両方におけるルー
ティングが完了したので、メッセージは経路910でP
out ポートからネットワークを出る。
【0037】このように、図8は、本発明の完全アドレ
シングのメッセージ・ルーティング論理装置を示してい
る。図9は、不完全アドレシングを用いているルーティ
ング・システムの別の実施例を示している。なお、アー
キテクチャは、ストリッピング・コンポーネント200
〜203の付加とマルチプレクサ1000を2つのマルチプ
レクサ1001,1002に置換えていること以外は同様であ
る。図9に示すように、メッセージは、完全アドレシン
グの単一Zinチャネルの代りに、2つのZチャネル(Z
(X)とZ(Y))でルータにより受信される。
【0038】図9の不完全アドレシングにおいて、決定
コンポーネント431はZ(X)in入力を受信し、決定
コンポーネント430はZ(Y)in入力を受信する。X
方向のルーティングが完了した後、メッセージのルーテ
ィング・アドレスのX変位を除去するため、ストリッピ
ング・コンポーネント200〜202が設けられてい
る。ストリッピング・コンポーネント203は、Y方向
のルーティングが完了した後、メッセージのルーティン
グ・アドレスのY変位を除去するため設けられている。
マルチプレクサ1000は、ここでは2つの別のマルチプレ
クサに分けられている。第1のマルチプレクサ1001は、
Z(X)out チャネルに関する入力を集める。第2のマ
ルチプレクサ1002は、Z(Y)out チャネルに関する入
力を集める。以上のように、本発明は、多次元ネットワ
ークにおいてメッセージを転送するのに有効的なルーテ
ィング装置および方法を提供する。
【0039】
【発明の効果】このように構成することにより、ネット
ワークA中のノード間、ネットワークB中のルータ間、
またはルータを介して受渡しすることによりネットワー
クAおよびネットワークB間でメッセージを受渡しする
ことができる。メッセージは、最初、X次元で、次にY
次元でルーティングすることによりネットワークAおよ
びBにおいてルートされる。本発明は、適切なZチャネ
ルが使用可能であるならば、コンテンションがXまたは
Y方向に生じた場合、AおよびBネットワーク間での移
行が行なわれる。XまたはYチャネルがすぐには許可さ
れない場合、Zチャネルに対して要求が出される。Xま
たはYチャネルに対する要求とZチャネルに対する要求
は、一方が許可されるまで続く。その後、メッセージ
は、許可されたチャネルにルートされ、他の要求は取り
下げられる。ルータは、一方のチャネルが使用可能にな
るまで特定のチャネルのルーティングをコミットしな
い。
【図面の簡単な説明】
【図1】 従来技術のネットワークにおけるノードの概
要図である。
【図2】 従来技術の2次元ネットワーク・アーキテク
チャの概要図である。
【図3】 本発明の実施例の2次元デュアル・メッシュ
・ネットワーク・アーキテクチャの概要図である。
【図4】 完全アドレシングを用いた本発明のルータの
概要図である。
【図5】 不完全アドレシングを用いた本発明のルータ
の概要図である。
【図6】 完全アドレシングを用いた本発明の2つのノ
ード間のチャネル接続の概要図である。
【図7】 不完全アドレシングを用いた本発明の2つの
ノード間のチャネル接続の概要図である。
【図8】 相対移動を伴なう完全アドレシングを用いた
2次元ルータのルーティング論理装置である。
【図9】 相対移動を伴なう不完全アドレシングを用い
た2次元ルータのルーティング論理装置である。
【図10】 図8および図9に示した各実施例のマルチ
プレクサへのメッセージの流れを制御するのに使用され
るアービタレーション論理のフローチャートである。
【符号の説明】
10 ノード 11,601,602 プロセッサ 12 ルータ 300 デュアル・メッシュ・ネットワーク 301 ネットワークA 302 ネットワークB 310 ノード 311 〃 312 〃 320,610,710 ルータ 420,430,814,840,841,874,8
84 決定コンポーネント 877,887,898,899,900,1000,100
1,1002 マルチプレクサ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 それぞれルータを有している複数のノー
    ドを有し、上記ノードはノード間でメッセージをルーテ
    ィングする第1ネットワーク・チャネルにより相互に接
    続されている第1ネットワークと、 それぞれルータを有している複数のノードを有し、上記
    ノードはノード間でメッセージをルーティングするため
    の第2ネットワーク・チャネルにより相互に接続され、
    かつ上記各ルータは各ネットワークのノード間でメッセ
    ージをルーティングするZチャネルにより上記第1ネッ
    トワークの少なくとも1つのルータに接続している、上
    記第1ネットワークと同じ次元である第2ネットワーク
    と、 上記第1ネットワークおよび第2ネットワークの上記各
    ルータ中に配置され、上記第1ネットワーク・チャネル
    と上記第2ネットワーク・チャネルを介してソース・ノ
    ードからデスティネーション・ノードにメッセージをル
    ーティングし、かつ必要とされる第1ネットワーク・チ
    ャネルまたは必要とされる第2ネットワーク・チャネル
    が使用不能な場合、上記Zチャネルにより上記第1ネッ
    トワークと上記第2ネットワーク間とでメッセージをル
    ーティングするメッセージ・ルーティング装置と、 から成ることを特徴とするメッセージのルーティング・
    ネットワーク。
  2. 【請求項2】 それぞれルータを有している複数のノー
    ドを有し、上記ノードはノード間でメッセージをルーテ
    ィングする第1ネットワーク・チャネルにより相互に接
    続されている第1ネットワークと、それぞれルータを有
    している複数のノードを有し、上記ノードはノード間で
    メッセージをルーティングするための第2ネットワーク
    ・チャネルにより相互に接続され、かつ上記各ルータは
    各ネットワークのノード間でメッセージをルーティング
    するZチャネルにより上記第1ネットワークの少なくと
    も1つのルータに接続している、上記第1ネットワーク
    と同じ次元である第2ネットワークとから成るネットワ
    ークにおけるメッセージのルーティング方法において、 上記第1ネットワーク・チャネルと上記第2ネットワー
    ク・チャネルを介してソース・ノードからデスティネー
    ション・ノードにメッセージをルーティングする過程か
    ら成り、上記メッセージは、必要とされる第1ネットワ
    ーク・チャネルまたは必要とされる第2ネットワーク・
    チャネルが使用不能な場合、上記Zチャネルにより上記
    第1ネットワークと上記第2ネットワーク間でルートさ
    れることを特徴とするメッセージのルーティング方法。
JP31024191A 1990-12-27 1991-10-30 メツセージのルーテイング方法およびネツトワーク Pending JPH05153163A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US634,415 1990-12-27
US07/634,415 US5175733A (en) 1990-12-27 1990-12-27 Adaptive message routing for multi-dimensional networks

Publications (1)

Publication Number Publication Date
JPH05153163A true JPH05153163A (ja) 1993-06-18

Family

ID=24543692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31024191A Pending JPH05153163A (ja) 1990-12-27 1991-10-30 メツセージのルーテイング方法およびネツトワーク

Country Status (5)

Country Link
US (1) US5175733A (ja)
JP (1) JPH05153163A (ja)
GB (1) GB2251356B (ja)
HK (1) HK56495A (ja)
SG (1) SG10695G (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005295236A (ja) * 2004-03-31 2005-10-20 Serukurosu:Kk 通信装置
EP2071780A1 (en) 2007-12-14 2009-06-17 Nec Corporation Network, node device, network redundancy method and recording medium
JP2010109555A (ja) * 2008-10-29 2010-05-13 Panasonic Electric Works Co Ltd 通信装置および通信方法ならびに通信システム
JP2010232890A (ja) * 2009-03-26 2010-10-14 Panasonic Electric Works Co Ltd 通信システム
JP2015535630A (ja) * 2012-11-21 2015-12-14 コーヒレント・ロジックス・インコーポレーテッド 多層相互接続による分散型プロセッサを有する処理システム

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU633352B2 (en) * 1989-09-18 1993-01-28 Fujitsu Limited Communication control system between parallel computers
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
IE920032A1 (en) * 1991-01-11 1992-07-15 Marconi Gec Ltd Parallel processing apparatus
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
US5715391A (en) * 1991-11-15 1998-02-03 International Business Machines Corporation Modular and infinitely extendable three dimensional torus packaging scheme for parallel processing
US5442797A (en) * 1991-12-04 1995-08-15 Casavant; Thomas L. Latency tolerant risc-based multiple processor with event driven locality managers resulting from variable tagging
US5922063A (en) * 1992-09-17 1999-07-13 International Business Machines Corporation Automatic hardware message header generator
US5345229A (en) * 1992-09-17 1994-09-06 International Business Machines Corporation Adaptive switching apparatus for multi-stage networks
US5533198A (en) * 1992-11-30 1996-07-02 Cray Research, Inc. Direction order priority routing of packets between nodes in a networked system
US5546596A (en) * 1993-08-24 1996-08-13 Intel Corporation Method and apparatus for integrated local and express routing in a multiprocessor
US5471589A (en) * 1993-09-08 1995-11-28 Unisys Corporation Multiprocessor data processing system having nonsymmetrical channel(x) to channel(y) interconnections
US5515510A (en) * 1994-01-14 1996-05-07 Consilium Overseas Limited Communications internetwork system connecting a client node array to a resource array
US5644714A (en) * 1994-01-14 1997-07-01 Elonex Plc, Ltd. Video collection and distribution system with interested item notification and download on demand
US5430729A (en) * 1994-04-04 1995-07-04 Motorola, Inc. Method and apparatus for adaptive directed route randomization and distribution in a richly connected communication network
US5513322A (en) * 1994-05-02 1996-04-30 Unisys Corporation Multi-path message routing without deadlocks
US5659686A (en) * 1994-09-22 1997-08-19 Unisys Corporation Method of routing a message to multiple data processing nodes along a tree-shaped path
US5606551A (en) * 1994-12-21 1997-02-25 Lucent Technologies Inc. Bidirectional mesh network
US5602838A (en) * 1994-12-21 1997-02-11 Lucent Technologies Inc. Global multi-satellite network
US5596722A (en) * 1995-04-03 1997-01-21 Motorola, Inc. Packet routing system and method for achieving uniform link usage and minimizing link load
US5701416A (en) * 1995-04-13 1997-12-23 Cray Research, Inc. Adaptive routing mechanism for torus interconnection network
US5659796A (en) * 1995-04-13 1997-08-19 Cray Research, Inc. System for randomly modifying virtual channel allocation and accepting the random modification based on the cost function
US5555478A (en) * 1995-06-07 1996-09-10 Zelikovitz, Deceased; Joseph Fiber optic information transmission system
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
KR0170493B1 (ko) * 1995-12-08 1999-03-30 양승택 다중 프로세서 시스템을 위한 논블록킹 결함허용 감마 연결망
US5778235A (en) * 1996-02-26 1998-07-07 Robertson; Paul Gordon Computer system and arbitrator utilizing a bus bridge that avoids livelock
US5734846A (en) * 1996-02-26 1998-03-31 International Business Machines Corporation Method for avoiding livelock on bus bridge
US5717876A (en) * 1996-02-26 1998-02-10 International Business Machines Corporation Method for avoiding livelock on bus bridge receiving multiple requests
US5864738A (en) * 1996-03-13 1999-01-26 Cray Research, Inc. Massively parallel processing system using two data paths: one connecting router circuit to the interconnect network and the other connecting router circuit to I/O controller
US5835925A (en) * 1996-03-13 1998-11-10 Cray Research, Inc. Using external registers to extend memory reference capabilities of a microprocessor
US5918021A (en) 1996-06-03 1999-06-29 Intel Corporation System and method for dynamic distribution of data packets through multiple channels
US5781546A (en) * 1996-06-25 1998-07-14 International Business Machines Corporation Route restrictions for deadlock free routing with increased bandwidth in a multi-stage cross point packet switch
US5812549A (en) * 1996-06-25 1998-09-22 International Business Machines Corporation Route restrictions for deadlock free routing with increased bandwidth in a multi-stage cross point packet switch
US5828858A (en) * 1996-09-16 1998-10-27 Virginia Tech Intellectual Properties, Inc. Worm-hole run-time reconfigurable processor field programmable gate array (FPGA)
KR100208949B1 (ko) * 1996-10-14 1999-07-15 윤종용 확장된 링-베니언 네트워크 및 그 경로 제어방법
US6044080A (en) * 1996-11-19 2000-03-28 Pluris, Inc. Scalable parallel packet router
US6141715A (en) * 1997-04-03 2000-10-31 Micron Technology, Inc. Method and system for avoiding live lock conditions on a computer bus by insuring that the first retired bus master is the first to resubmit its retried transaction
US6097727A (en) * 1997-04-29 2000-08-01 International Business Machines Corporation Methods, systems and computer program products for end-to-end route selection in compound wide/local area networks
US6101194A (en) * 1997-06-09 2000-08-08 International Business Machines Corporation Conflict resolution in multi-node communication network
US6195359B1 (en) 1997-10-16 2001-02-27 International Business Machines Corporation Intelligent router for remote internet access
US5970232A (en) * 1997-11-17 1999-10-19 Cray Research, Inc. Router table lookup mechanism
US6101181A (en) * 1997-11-17 2000-08-08 Cray Research Inc. Virtual channel assignment in large torus systems
US6085303A (en) * 1997-11-17 2000-07-04 Cray Research, Inc. Seralized race-free virtual barrier network
US6230252B1 (en) 1997-11-17 2001-05-08 Silicon Graphics, Inc. Hybrid hypercube/torus architecture
US6092219A (en) * 1997-12-03 2000-07-18 Micron Technology, Inc. Method for use of bus parking states to communicate diagnostic information
US6112316A (en) * 1997-12-03 2000-08-29 Micron Electronics, Inc. System for use of bus parking states to communicate diagnostic information
KR100250437B1 (ko) 1997-12-26 2000-04-01 정선종 라운드로빈 중재 및 적응 경로 제어를 수행하는경로제어 장치
US6216174B1 (en) 1998-09-29 2001-04-10 Silicon Graphics, Inc. System and method for fast barrier synchronization
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
KR100349671B1 (ko) * 1999-12-13 2002-08-22 한국전자통신연구원 3-링크 노드 상호연결 장치 및 그 방법과 그를 이용한 병렬처리 시스템
US6594261B1 (en) 1999-12-22 2003-07-15 Aztech Partners, Inc. Adaptive fault-tolerant switching network with random initial routing and random routing around faults
DE10001874A1 (de) * 2000-01-18 2001-07-19 Infineon Technologies Ag Multi-Master-Bus-System
US6961782B1 (en) * 2000-03-14 2005-11-01 International Business Machines Corporation Methods for routing packets on a linear array of processors
US6853635B1 (en) * 2000-07-24 2005-02-08 Nortel Networks Limited Multi-dimensional lattice network
US7221677B1 (en) * 2000-10-19 2007-05-22 Interactic Holdings, Llc Scalable apparatus and method for increasing throughput in multiple level minimum logic networks using a plurality of control lines
US7072976B2 (en) * 2001-01-04 2006-07-04 Sun Microsystems, Inc. Scalable routing scheme for a multi-path interconnection fabric
JP3871327B2 (ja) * 2001-02-24 2007-01-24 インターナショナル・ビジネス・マシーンズ・コーポレーション 最適化されたスケーラブル・ネットワーク・スイッチ
WO2002080108A1 (en) * 2001-04-02 2002-10-10 Koninklijke Philips Electronics N.V. Heart modeling using a template
US20030014516A1 (en) * 2001-07-13 2003-01-16 International Business Machines Corporation Recovery support for reliable messaging
US20030023775A1 (en) * 2001-07-13 2003-01-30 International Business Machines Corporation Efficient notification of multiple message completions in message passing multi-node data processing systems
US7412549B2 (en) * 2003-05-08 2008-08-12 Koninklijke Philips Electronics N.V. Processing system and method for communicating data
US20050027880A1 (en) * 2003-08-01 2005-02-03 Darel Emmot System and method for routing information in a nodal computer network
US7519771B1 (en) 2003-08-18 2009-04-14 Cray Inc. System and method for processing memory instructions using a forced order queue
US8307194B1 (en) 2003-08-18 2012-11-06 Cray Inc. Relaxed memory consistency model
US7334110B1 (en) 2003-08-18 2008-02-19 Cray Inc. Decoupled scalar/vector computer architecture system and method
US7735088B1 (en) 2003-08-18 2010-06-08 Cray Inc. Scheduling synchronization of programs running as streams on multiple processors
US7421565B1 (en) 2003-08-18 2008-09-02 Cray Inc. Method and apparatus for indirectly addressed vector load-add -store across multi-processors
US7437521B1 (en) 2003-08-18 2008-10-14 Cray Inc. Multistream processing memory-and barrier-synchronization method and apparatus
US7503048B1 (en) 2003-08-18 2009-03-10 Cray Incorporated Scheduling synchronization of programs running as streams on multiple processors
US7543133B1 (en) 2003-08-18 2009-06-02 Cray Inc. Latency tolerant distributed shared memory multiprocessor computer
US7379424B1 (en) 2003-08-18 2008-05-27 Cray Inc. Systems and methods for routing packets in multiprocessor computer systems
US7743223B2 (en) 2003-08-18 2010-06-22 Cray Inc. Decoupling of write address from its associated write data in a store to a shared memory in a multiprocessor system
US7366873B1 (en) 2003-08-18 2008-04-29 Cray, Inc. Indirectly addressed vector load-operate-store method and apparatus
US20050041654A1 (en) * 2003-08-20 2005-02-24 Lee Hee-Choul Multi-dimensional disconnected mesh switching network
US7478769B1 (en) 2005-03-09 2009-01-20 Cray Inc. Method and apparatus for cooling electronic components
US7765385B2 (en) * 2007-04-18 2010-07-27 International Business Machines Corporation Fault recovery on a parallel computer system with a torus network
US7958341B1 (en) 2008-07-07 2011-06-07 Ovics Processing stream instruction in IC of mesh connected matrix of processors containing pipeline coupled switch transferring messages over consecutive cycles from one link to another link or memory
US8131975B1 (en) * 2008-07-07 2012-03-06 Ovics Matrix processor initialization systems and methods
US8327114B1 (en) 2008-07-07 2012-12-04 Ovics Matrix processor proxy systems and methods
US8145880B1 (en) * 2008-07-07 2012-03-27 Ovics Matrix processor data switch routing systems and methods
US9077616B2 (en) * 2012-08-08 2015-07-07 International Business Machines Corporation T-star interconnection network topology

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4598400A (en) * 1983-05-31 1986-07-01 Thinking Machines Corporation Method and apparatus for routing message packets
US4731825A (en) * 1986-01-27 1988-03-15 Tellabs, Inc. Nonblocking switching system and method
US5040173A (en) * 1989-05-08 1991-08-13 At&T Bell Laboratories Network control arrangement based on topological equivalence

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005295236A (ja) * 2004-03-31 2005-10-20 Serukurosu:Kk 通信装置
EP2071780A1 (en) 2007-12-14 2009-06-17 Nec Corporation Network, node device, network redundancy method and recording medium
JP2010109555A (ja) * 2008-10-29 2010-05-13 Panasonic Electric Works Co Ltd 通信装置および通信方法ならびに通信システム
JP2010232890A (ja) * 2009-03-26 2010-10-14 Panasonic Electric Works Co Ltd 通信システム
JP2015535630A (ja) * 2012-11-21 2015-12-14 コーヒレント・ロジックス・インコーポレーテッド 多層相互接続による分散型プロセッサを有する処理システム
JP2019040641A (ja) * 2012-11-21 2019-03-14 コーヒレント・ロジックス・インコーポレーテッド 多層相互接続による分散型プロセッサを有する処理システム

Also Published As

Publication number Publication date
GB2251356A (en) 1992-07-01
GB9118652D0 (en) 1991-10-16
HK56495A (en) 1995-04-21
US5175733A (en) 1992-12-29
GB2251356B (en) 1994-08-31
SG10695G (en) 1995-09-01

Similar Documents

Publication Publication Date Title
JPH05153163A (ja) メツセージのルーテイング方法およびネツトワーク
US6304568B1 (en) Interconnection network extendable bandwidth and method of transferring data therein
US11640362B2 (en) Procedures for improving efficiency of an interconnect fabric on a system on chip
US6947433B2 (en) System and method for implementing source based and egress based virtual networks in an interconnection network
US7046633B2 (en) Router implemented with a gamma graph interconnection network
US7039058B2 (en) Switched interconnection network with increased bandwidth and port count
US6138185A (en) High performance crossbar switch
US5347450A (en) Message routing in a multiprocessor computer system
EP0410568B1 (en) Adaptive routing in networks
US20020156918A1 (en) Dynamic path selection with in-order delivery within sequence in a communication network
US8441933B2 (en) Deadlock prevention in direct networks of arbitrary topology
US7643477B2 (en) Buffering data packets according to multiple flow control schemes
US20090198956A1 (en) System and Method for Data Processing Using a Low-Cost Two-Tier Full-Graph Interconnect Architecture
JP2533223B2 (ja) 多段通信ネットワ―ク
JP2002510450A (ja) 高度統合多層スイッチ要素アーキテクチャ
JP2708354B2 (ja) マルチメディア・アナログ/デジタル/光交換装置
US9118586B2 (en) Multi-speed cut through operation in fibre channel switches
KR20030082598A (ko) 클래스 네트워크 라우팅
US5398317A (en) Synchronous message routing using a retransmitted clock signal in a multiprocessor computer system
JPH0338137A (ja) 高速デイジタル・パケット交換システム
JPH06214965A (ja) ディジタル・コンピュータ
JP3950048B2 (ja) 複数の制御回線を用いた多重最小論理網においてスループットを増大させる拡張可能な装置および方法
JPH07239835A (ja) 並列計算機のネットワーク内データ転送制御方式
JPH05233566A (ja) アレイプロセッサのルーティング方法
US20040098510A1 (en) Communicating between network processors