JPH07282018A - パケットの経路指定デッドロック回避方法及び装置 - Google Patents
パケットの経路指定デッドロック回避方法及び装置Info
- Publication number
- JPH07282018A JPH07282018A JP7012797A JP1279795A JPH07282018A JP H07282018 A JPH07282018 A JP H07282018A JP 7012797 A JP7012797 A JP 7012797A JP 1279795 A JP1279795 A JP 1279795A JP H07282018 A JPH07282018 A JP H07282018A
- Authority
- JP
- Japan
- Prior art keywords
- route
- network
- packet
- node
- path
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【目的】 大規模双方向マルチステージ相互接続クロス
ポイント・スイッチ・ベース・パケット・ネットワーク
におけるデッドロックの無い経路指定を確立する装置及
び方法を提供する。 【構成】 システム内の経路テーブルに含まれる経路の
選択において、システムのある区分、例えばシステムの
半分503内のノード間をもっぱら流れるパケット・ト
ラフィックを、他の区分、例えばシステムの別の半分5
07内のノード間を流れるパケット・トラフィックから
分離するために、特定の経路を禁止するように、ネット
ワーク全体が効果的に区分される。この点に関し、シス
テムの共通区分内のノード間を通過するパケットの経路
を抽出するために、他のシステム区分を通過するパス5
24、544を含む経路が禁止される。複数のシステム
区分、例えばシステムの異なる半分に含まれるノード間
でパケットを伝搬する経路の選択においては、こうした
経路の禁止は発生しない。
ポイント・スイッチ・ベース・パケット・ネットワーク
におけるデッドロックの無い経路指定を確立する装置及
び方法を提供する。 【構成】 システム内の経路テーブルに含まれる経路の
選択において、システムのある区分、例えばシステムの
半分503内のノード間をもっぱら流れるパケット・ト
ラフィックを、他の区分、例えばシステムの別の半分5
07内のノード間を流れるパケット・トラフィックから
分離するために、特定の経路を禁止するように、ネット
ワーク全体が効果的に区分される。この点に関し、シス
テムの共通区分内のノード間を通過するパケットの経路
を抽出するために、他のシステム区分を通過するパス5
24、544を含む経路が禁止される。複数のシステム
区分、例えばシステムの異なる半分に含まれるノード間
でパケットを伝搬する経路の選択においては、こうした
経路の禁止は発生しない。
Description
【0001】
【産業上の利用分野】本発明はマルチステージ相互接続
クロスポイント・ベースのパケット交換を確立するため
の装置及び方法に関する。特に本発明は、大容量並列処
理システム内で使用される高速パケット・ネットワーク
内に組込むのに適するが、それに限るものではない。
クロスポイント・ベースのパケット交換を確立するため
の装置及び方法に関する。特に本発明は、大容量並列処
理システム内で使用される高速パケット・ネットワーク
内に組込むのに適するが、それに限るものではない。
【0002】
【従来の技術】強力で知能的で比較的安価なマイクロプ
ロセッサの継続的な進歩及び市場での可用性により、大
容量並列処理が、これまで従来式のメインフレーム・コ
ンピュータにより処理されてきた広範なアプリケーショ
ン、例えばトランザクション処理、シミュレーション及
び構造解析などを処理するために、益々魅力的な手段に
成りつつある。
ロセッサの継続的な進歩及び市場での可用性により、大
容量並列処理が、これまで従来式のメインフレーム・コ
ンピュータにより処理されてきた広範なアプリケーショ
ン、例えばトランザクション処理、シミュレーション及
び構造解析などを処理するために、益々魅力的な手段に
成りつつある。
【0003】大容量並列処理システムでは、しばしば数
百または数千にも上る相当数の比較的単純なマイクロプ
ロセッサを基本とする別々の処理要素が、一般に高速パ
ケット・ネットワークから形成される通信構造を介して
相互接続され、各こうした処理要素がネットワーク上の
別々のポートとして現れる。この構造はパケット形式の
構造経路メッセージを、これらの処理要素の任意の1つ
から他へ経路指定し、それらの間の通信を提供する。こ
れらの各々の処理要素は、通常、別々のマイクロプロセ
ッサ及びその関連支援回路を含み、後者はとりわけ、一
時記憶用のランダム・アクセス・メモリ(RAM)及び
永久記憶用の読出し専用メモリ(ROM)、及び入出力
回路により代表される。各処理要素は更に通信サブシス
テムを含み、これは適切な通信インタフェース及び他の
ハードウェア、並びにこの要素をパケット・ネットワー
クにインタフェースするように集合的に機能する制御ソ
フトウェアにより形成される。
百または数千にも上る相当数の比較的単純なマイクロプ
ロセッサを基本とする別々の処理要素が、一般に高速パ
ケット・ネットワークから形成される通信構造を介して
相互接続され、各こうした処理要素がネットワーク上の
別々のポートとして現れる。この構造はパケット形式の
構造経路メッセージを、これらの処理要素の任意の1つ
から他へ経路指定し、それらの間の通信を提供する。こ
れらの各々の処理要素は、通常、別々のマイクロプロセ
ッサ及びその関連支援回路を含み、後者はとりわけ、一
時記憶用のランダム・アクセス・メモリ(RAM)及び
永久記憶用の読出し専用メモリ(ROM)、及び入出力
回路により代表される。各処理要素は更に通信サブシス
テムを含み、これは適切な通信インタフェース及び他の
ハードウェア、並びにこの要素をパケット・ネットワー
クにインタフェースするように集合的に機能する制御ソ
フトウェアにより形成される。
【0004】一般に、大容量並列処理システムの全体性
能は、そこで使用される根元的なパケット・ネットワー
クの性能により制限される。その点でパケット・ネット
ワークが余りに遅く、特に全体システム・スループット
に悪影響を及ぼす程度に遅いと、結果的な低下は著し
く、所与のアプリケーションにおいて大容量並列処理シ
ステムを使用する効果が低減する。
能は、そこで使用される根元的なパケット・ネットワー
クの性能により制限される。その点でパケット・ネット
ワークが余りに遅く、特に全体システム・スループット
に悪影響を及ぼす程度に遅いと、結果的な低下は著し
く、所与のアプリケーションにおいて大容量並列処理シ
ステムを使用する効果が低減する。
【0005】特に、大容量並列処理システムにおいて、
各処理要素はアプリケーションの予め定められた細分化
部分を実行する。その対応するアプリケーション部分の
実行において、各要素は一般に、例えば異なる要素上で
実行されるアプリケーション部分からデータを要求し、
処理結果データを例えば、更に別の処理要素上で実行さ
れる別のアプリケーション部分に提供する。全ての要素
間における処理の相互依存の性質により、各処理要素
は、その時これらの各々の要素において実行されるアプ
リケーション部分からの要求により、データを別のこう
した要素に転送できなければならない。一般に処理要
素、例えば"宛先"要素が、別のこうした要素、例えば"
出所"要素または"発信元"要素に対してデータを要求す
ると、宛先要素は少なくともこの特定のアプリケーショ
ン部分に関し、その要素が出所要素により伝送される必
要データを含むパケットを受信するまで遊休状態を維持
する。パケットを受信すると、宛先要素は再度このアプ
リケーション部分の処理を開始する。パケット・ネット
ワークを通じて宛先からの要求を含むパケットを出所処
理要素に移送し、次に要求データを含む応答パケットを
反対方向に移送するためには、有限量の時間が必要であ
る。この時間は、宛先要素において実行されるそのアプ
リケーション部分に、ある程度の待ち時間を不可避に挿
入する。システム内のほとんどの処理要素が、出所要素
において実行されるアプリケーション部分に対応する宛
先要素として機能するので、この通信により誘導される
待ち時間が余りに長いと、システム・スループットが顕
著に低下する。結果的に、このことは全体システム性能
を著しく低下させることになる。これを回避するために
パケット・ネットワークは各パケットを任意の2つの通
信処理要素間で、この待ち時間を低減するように、可能
な限り速く移送しなければならない。更に、典型的な大
容量並列処理システムにおいて一般に使用される相当数
の処理要素、及びこのシステム内の任意のある要素が、
任意の時刻において、他のこうした要素と通信するため
に必要な付随のニーズを考慮すると、ネットワークは相
当に大きな数、例えば予測されるピーク負荷のパケット
を処理要素間で同時に経路指定できなければならない。
各処理要素はアプリケーションの予め定められた細分化
部分を実行する。その対応するアプリケーション部分の
実行において、各要素は一般に、例えば異なる要素上で
実行されるアプリケーション部分からデータを要求し、
処理結果データを例えば、更に別の処理要素上で実行さ
れる別のアプリケーション部分に提供する。全ての要素
間における処理の相互依存の性質により、各処理要素
は、その時これらの各々の要素において実行されるアプ
リケーション部分からの要求により、データを別のこう
した要素に転送できなければならない。一般に処理要
素、例えば"宛先"要素が、別のこうした要素、例えば"
出所"要素または"発信元"要素に対してデータを要求す
ると、宛先要素は少なくともこの特定のアプリケーショ
ン部分に関し、その要素が出所要素により伝送される必
要データを含むパケットを受信するまで遊休状態を維持
する。パケットを受信すると、宛先要素は再度このアプ
リケーション部分の処理を開始する。パケット・ネット
ワークを通じて宛先からの要求を含むパケットを出所処
理要素に移送し、次に要求データを含む応答パケットを
反対方向に移送するためには、有限量の時間が必要であ
る。この時間は、宛先要素において実行されるそのアプ
リケーション部分に、ある程度の待ち時間を不可避に挿
入する。システム内のほとんどの処理要素が、出所要素
において実行されるアプリケーション部分に対応する宛
先要素として機能するので、この通信により誘導される
待ち時間が余りに長いと、システム・スループットが顕
著に低下する。結果的に、このことは全体システム性能
を著しく低下させることになる。これを回避するために
パケット・ネットワークは各パケットを任意の2つの通
信処理要素間で、この待ち時間を低減するように、可能
な限り速く移送しなければならない。更に、典型的な大
容量並列処理システムにおいて一般に使用される相当数
の処理要素、及びこのシステム内の任意のある要素が、
任意の時刻において、他のこうした要素と通信するため
に必要な付随のニーズを考慮すると、ネットワークは相
当に大きな数、例えば予測されるピーク負荷のパケット
を処理要素間で同時に経路指定できなければならない。
【0006】しかしながら、実際には、大容量並列処理
システムで使用される必要性能、特に伝送帯域幅を所有
するパケット交換ネットワークは、様々な理由から、そ
の開発が極めて困難であることがわかっており、そのた
めにこうしたシステムの急速な普及及び使用の増加があ
る程度阻止されてきた。
システムで使用される必要性能、特に伝送帯域幅を所有
するパケット交換ネットワークは、様々な理由から、そ
の開発が極めて困難であることがわかっており、そのた
めにこうしたシステムの急速な普及及び使用の増加があ
る程度阻止されてきた。
【0007】パケット・ネットワークの様々な形態が今
日存在するが、1つの共通のアーキテクチャとしては、
比較的小さなクロスポイント・スイッチのマルチステー
ジ相互接続構成を使用する。各スイッチは、通常、8ポ
ート双方向ルータであり、全てのポートがクロスポイン
ト・マトリックスを通じて内部的に相互接続される。こ
うしたネットワークでは、1ステージ内の各スイッチは
ネットワークの片側(すなわち、いわゆる"入力")にお
いて開始し、特定の対応するパス(典型的にはバイト幅
物理接続)を通じて、次の続くステージ内のスイッチに
相互接続され、このようにして、ネットワークの反対側
(すなわち、いわゆる"出力")の最後のステージに到達
するまで継続される。こうしたスイッチは、今日、動作
的には非ブロッキング(non-blocking)の比較的安価な
単一の集積回路(以降では"スイッチ・チップ"として参
照される)として調達可能であるので、これらのスイッ
チ・チップが好まれて使用される。実際に、中央キュー
の使用に頼る非ブロッキング8ウェイ・ルータとして実
現されるこうしたスイッチ・チップが、P.Hochschild
らによる係属中の米国特許出願第027906号"A Cen
tral Shared QueueBased Time Multiplexed Packet Swi
tch with Deadlock Avoidance"(1993年3月4日出
願)に述べられている(本願の出願人に権利譲渡され
る)。
日存在するが、1つの共通のアーキテクチャとしては、
比較的小さなクロスポイント・スイッチのマルチステー
ジ相互接続構成を使用する。各スイッチは、通常、8ポ
ート双方向ルータであり、全てのポートがクロスポイン
ト・マトリックスを通じて内部的に相互接続される。こ
うしたネットワークでは、1ステージ内の各スイッチは
ネットワークの片側(すなわち、いわゆる"入力")にお
いて開始し、特定の対応するパス(典型的にはバイト幅
物理接続)を通じて、次の続くステージ内のスイッチに
相互接続され、このようにして、ネットワークの反対側
(すなわち、いわゆる"出力")の最後のステージに到達
するまで継続される。こうしたスイッチは、今日、動作
的には非ブロッキング(non-blocking)の比較的安価な
単一の集積回路(以降では"スイッチ・チップ"として参
照される)として調達可能であるので、これらのスイッ
チ・チップが好まれて使用される。実際に、中央キュー
の使用に頼る非ブロッキング8ウェイ・ルータとして実
現されるこうしたスイッチ・チップが、P.Hochschild
らによる係属中の米国特許出願第027906号"A Cen
tral Shared QueueBased Time Multiplexed Packet Swi
tch with Deadlock Avoidance"(1993年3月4日出
願)に述べられている(本願の出願人に権利譲渡され
る)。
【0008】こうした双方向マルチステージ・パケット
交換ネットワークは、他のパケット交換ネットワーク・
トポロジと比較して比較的単純であり、その全てのポー
ト間で高い伝送帯域幅を提供するが、残念ながらこのタ
イプのネットワークは、経路指定デッドロックを受け易
い。これらのデッドロックは稀にしか発生しないが、同
一ステージ内の任意の2つのスイッチ間に複数の経路が
存在するために、実際に発生する。
交換ネットワークは、他のパケット交換ネットワーク・
トポロジと比較して比較的単純であり、その全てのポー
ト間で高い伝送帯域幅を提供するが、残念ながらこのタ
イプのネットワークは、経路指定デッドロックを受け易
い。これらのデッドロックは稀にしか発生しないが、同
一ステージ内の任意の2つのスイッチ間に複数の経路が
存在するために、実際に発生する。
【0009】この点に関し、8個のこうしたスイッチ・
チップが2つの相互接続ステージに編成される単純な3
2ポート・ネットワークについて考えてみよう。すなわ
ち、4個のスイッチによる入力ステージの後に、4個の
スイッチによる出力ステージが続き、これらの全てのス
イッチ・チップが単一のスイッチ・ボード上に含まれ
る。この構成では、入力ステージにおいて、異なるスイ
ッチ・チップ上の任意の2つのポート間を通過するパケ
ットは、出所("入力")ポートを含む入力ステージ内の
スイッチ・チップを通過して、出力ステージの4個のス
イッチ・チップの1個に経路指定される。次に、この後
者のスイッチ・チップが、パケットをこのパケットの宛
先("出力")ポートを含む入力ステージ内のスイッチに
逆経路指定する(すなわち、その方向を反転する)。ス
イッチ・チップ間の経路は、通常、比較的短い時間に渡
り、各バイト・ワイズ(byte-wise)・パスがほぼ等し
い数のパケットを伝搬し、ネットワーク全体を通じての
トラフィック・フローを平均化するように、システム初
期化の間に予め定義される。これらの経路が設定される
と、スイッチ・チップまたはパス故障或いは保守状態以
外では経路は稀にしか変更されない。各処理要素が使用
可能な割当てられた経路が、次に再度システム初期化の
間に(局所)経路テーブルの形式でその要素に提供され
る。引続きルーチンのオペレーションの間に、各処理要
素がパケットを形成すると、その要素はこのパケットの
宛先にもとづきその経路テーブルから経路を読出し、単
にその経路をパケットのヘッダ内に適切な経路バイトの
値として挿入する。パケットが次にネットワーク内に送
出され、パケット内の対応する経路バイトの値により指
定される継続するスイッチ・チップ(及び交換ステー
ジ)を経由して、経路指定される。パケットが交換ステ
ージを経由して横断すると(すなわち、ここでは同一ス
テージの2個のスイッチ・チップを通過する)、ステー
ジ内の最後のスイッチ・チップがパケット・ヘッダから
対応する経路バイトを切捨てる。
チップが2つの相互接続ステージに編成される単純な3
2ポート・ネットワークについて考えてみよう。すなわ
ち、4個のスイッチによる入力ステージの後に、4個の
スイッチによる出力ステージが続き、これらの全てのス
イッチ・チップが単一のスイッチ・ボード上に含まれ
る。この構成では、入力ステージにおいて、異なるスイ
ッチ・チップ上の任意の2つのポート間を通過するパケ
ットは、出所("入力")ポートを含む入力ステージ内の
スイッチ・チップを通過して、出力ステージの4個のス
イッチ・チップの1個に経路指定される。次に、この後
者のスイッチ・チップが、パケットをこのパケットの宛
先("出力")ポートを含む入力ステージ内のスイッチに
逆経路指定する(すなわち、その方向を反転する)。ス
イッチ・チップ間の経路は、通常、比較的短い時間に渡
り、各バイト・ワイズ(byte-wise)・パスがほぼ等し
い数のパケットを伝搬し、ネットワーク全体を通じての
トラフィック・フローを平均化するように、システム初
期化の間に予め定義される。これらの経路が設定される
と、スイッチ・チップまたはパス故障或いは保守状態以
外では経路は稀にしか変更されない。各処理要素が使用
可能な割当てられた経路が、次に再度システム初期化の
間に(局所)経路テーブルの形式でその要素に提供され
る。引続きルーチンのオペレーションの間に、各処理要
素がパケットを形成すると、その要素はこのパケットの
宛先にもとづきその経路テーブルから経路を読出し、単
にその経路をパケットのヘッダ内に適切な経路バイトの
値として挿入する。パケットが次にネットワーク内に送
出され、パケット内の対応する経路バイトの値により指
定される継続するスイッチ・チップ(及び交換ステー
ジ)を経由して、経路指定される。パケットが交換ステ
ージを経由して横断すると(すなわち、ここでは同一ス
テージの2個のスイッチ・チップを通過する)、ステー
ジ内の最後のスイッチ・チップがパケット・ヘッダから
対応する経路バイトを切捨てる。
【0010】経路は従来、経路指定デッドロックの潜在
性を考慮すること無く定義されてきた。従って、各々が
例えば異なるスイッチ・チップのグループの中央キュー
内に存在する対応するパケットが、連続ステージ内のス
イッチ・チップ対を接続する共通パス上を同時に経路指
定されるのを待機する度に、経路指定デッドロックが発
生する。こうした状態が発生すると、これらの各々のス
イッチ・チップは、グループ内の他のスイッチ・チップ
がそれらのパケットをこれらの特定のパス上に経路指定
するのを待機する。このグループのどのパケットも、こ
のグループの任意の1つのパケットが経路指定されるま
で、その関連する中央キューを通過することができない
ので、これら全てのパケットがひたすら待機し、対応す
るパスがデッドロック状態となり、その上をトラフィッ
ク・フローが生じなくなる。その結果、デッドロックが
発生すると、これらのパケットが宛先指定される処理要
素についても、これらのパケットを待機し続けることに
なり、それらの処理のスループットを停止させる。結果
的にネットワークの帯域幅はデッドロックにより影響さ
れない残りの処理要素だけを優遇するようになり、処理
の作業負荷が著しく偏り、システム・スループットを多
大に低下させることになる。
性を考慮すること無く定義されてきた。従って、各々が
例えば異なるスイッチ・チップのグループの中央キュー
内に存在する対応するパケットが、連続ステージ内のス
イッチ・チップ対を接続する共通パス上を同時に経路指
定されるのを待機する度に、経路指定デッドロックが発
生する。こうした状態が発生すると、これらの各々のス
イッチ・チップは、グループ内の他のスイッチ・チップ
がそれらのパケットをこれらの特定のパス上に経路指定
するのを待機する。このグループのどのパケットも、こ
のグループの任意の1つのパケットが経路指定されるま
で、その関連する中央キューを通過することができない
ので、これら全てのパケットがひたすら待機し、対応す
るパスがデッドロック状態となり、その上をトラフィッ
ク・フローが生じなくなる。その結果、デッドロックが
発生すると、これらのパケットが宛先指定される処理要
素についても、これらのパケットを待機し続けることに
なり、それらの処理のスループットを停止させる。結果
的にネットワークの帯域幅はデッドロックにより影響さ
れない残りの処理要素だけを優遇するようになり、処理
の作業負荷が著しく偏り、システム・スループットを多
大に低下させることになる。
【0011】デッドロックを回避する問題に直面して、
当業者は最初に経路指定デッドロックを予測するため
に、特定のタイプの大域アービトレーション手法が使用
可能であると考え、多数の非デッドロック状態のパスの
いずれかを選択し、その上でパケットを伝送し、デッド
ロックを回避することを期待するであろう。この手法
は、潜在的な経路指定デッドロックを検出し、それに従
い調停するために全ての中央キューを通過する全てのパ
ケットがモニタされることを必要とする。残念ながら、
これらの機能を達成する回路は極めて複雑であり、全て
の各スイッチ回路の外部に配置されて、それらの各々と
接続される必要がある。これはパケット交換ネットワー
クのサイズ、複雑度、従ってコストを押し上げることに
なる。この手法自体は、極めて非現実的である。
当業者は最初に経路指定デッドロックを予測するため
に、特定のタイプの大域アービトレーション手法が使用
可能であると考え、多数の非デッドロック状態のパスの
いずれかを選択し、その上でパケットを伝送し、デッド
ロックを回避することを期待するであろう。この手法
は、潜在的な経路指定デッドロックを検出し、それに従
い調停するために全ての中央キューを通過する全てのパ
ケットがモニタされることを必要とする。残念ながら、
これらの機能を達成する回路は極めて複雑であり、全て
の各スイッチ回路の外部に配置されて、それらの各々と
接続される必要がある。これはパケット交換ネットワー
クのサイズ、複雑度、従ってコストを押し上げることに
なる。この手法自体は、極めて非現実的である。
【0012】こうしたことを考慮して、当業者は2重の
スイッチ・ボードを有するパケット・ネットワークを形
成するなどの別の手法に注目するであろう。この手法を
32プロセッサ・システムと共に使用することにより、
1つのスイッチ・ボードのポート16乃至31で表され
る16個のポートが、別のスイッチ・ボードの同じポー
トに接続される。両方のボード上の残りの各ポート0乃
至15は、32個の別々の処理要素の対応する1つに接
続される。オペレーションにおいて、共通のスイッチ・
ボードに接続される出所ポートと宛先ポートとの間を通
過するパケットが、もっぱらその1つのスイッチ・ボー
ド内に経路指定され、他のスイッチ・ボード内に含まれ
るスイッチ・チップに影響を及ぼすことはない。異なる
スイッチ・ボード上の出所ポートと宛先ポートとの間を
経路指定されるパケットだけがボード間を経路指定され
る。片方のスイッチ・ボード内だけを流れるパケットを
他のスイッチ・ボード内だけを同時に流れるパケットと
潜在的に相互作用しないように分離することにより、こ
の手法はデッドロックを排除する。更にこの手法は伝送
帯域幅を悪化させない。残念なことにこの手法は2重の
スイッチ・ボード及び関連回路を必要とすることにより
高価である。それにも関わらず、スイッチ・ボード及び
関連回路を2重化する追加のコストが32プロセッサ・
システムにおいては許容可能である。この手法自体が、
32プロセッサ・システムにおけるデッドロックを回避
するために使用される。実際に32プロセッサ・システ
ムでは、1つのスイッチ・ボードだけではパケット・ネ
ットワークの形成を妨げる十分なデッドロックの潜在性
が存在する。しかしながら、このコスト的な欠点は、例
えば512プロセッサ・システムなどのように、ネット
ワーク内で必要とされる最小16個のスイッチボードに
加え、追加の16個のスイッチ・ボードを必要とする大
規模システムの場合に、高額でより付けないに過ぎな
い。
スイッチ・ボードを有するパケット・ネットワークを形
成するなどの別の手法に注目するであろう。この手法を
32プロセッサ・システムと共に使用することにより、
1つのスイッチ・ボードのポート16乃至31で表され
る16個のポートが、別のスイッチ・ボードの同じポー
トに接続される。両方のボード上の残りの各ポート0乃
至15は、32個の別々の処理要素の対応する1つに接
続される。オペレーションにおいて、共通のスイッチ・
ボードに接続される出所ポートと宛先ポートとの間を通
過するパケットが、もっぱらその1つのスイッチ・ボー
ド内に経路指定され、他のスイッチ・ボード内に含まれ
るスイッチ・チップに影響を及ぼすことはない。異なる
スイッチ・ボード上の出所ポートと宛先ポートとの間を
経路指定されるパケットだけがボード間を経路指定され
る。片方のスイッチ・ボード内だけを流れるパケットを
他のスイッチ・ボード内だけを同時に流れるパケットと
潜在的に相互作用しないように分離することにより、こ
の手法はデッドロックを排除する。更にこの手法は伝送
帯域幅を悪化させない。残念なことにこの手法は2重の
スイッチ・ボード及び関連回路を必要とすることにより
高価である。それにも関わらず、スイッチ・ボード及び
関連回路を2重化する追加のコストが32プロセッサ・
システムにおいては許容可能である。この手法自体が、
32プロセッサ・システムにおけるデッドロックを回避
するために使用される。実際に32プロセッサ・システ
ムでは、1つのスイッチ・ボードだけではパケット・ネ
ットワークの形成を妨げる十分なデッドロックの潜在性
が存在する。しかしながら、このコスト的な欠点は、例
えば512プロセッサ・システムなどのように、ネット
ワーク内で必要とされる最小16個のスイッチボードに
加え、追加の16個のスイッチ・ボードを必要とする大
規模システムの場合に、高額でより付けないに過ぎな
い。
【0013】最後に、当業者は、特定の経路の使用を単
に禁止することにより、経路指定デッドロックを回避す
る手法を考慮するであろう。この特定の手法により、同
一ステージ内の2個のスイッチ・チップ間の全ての経路
の特定のサブセットだけが、それらの間のパケット・ト
ラフィックの伝搬に使用可能と定義され、経路テーブル
内に含まれる。1度選択されると、これらの経路は保守
状態または故障状態以外では変化しない。サブセットを
形成する経路は、特に経路指定デッドロックが発生しな
いように選択される。各追加の経路が禁止されるとネッ
トワーク帯域幅が低下するので、この手法の目標はでき
る限り少ない経路を禁止することである。
に禁止することにより、経路指定デッドロックを回避す
る手法を考慮するであろう。この特定の手法により、同
一ステージ内の2個のスイッチ・チップ間の全ての経路
の特定のサブセットだけが、それらの間のパケット・ト
ラフィックの伝搬に使用可能と定義され、経路テーブル
内に含まれる。1度選択されると、これらの経路は保守
状態または故障状態以外では変化しない。サブセットを
形成する経路は、特に経路指定デッドロックが発生しな
いように選択される。各追加の経路が禁止されるとネッ
トワーク帯域幅が低下するので、この手法の目標はでき
る限り少ない経路を禁止することである。
【0014】しかし残念ながら、経路が禁止されると"
禁止されない"経路がシステム内の全てのノードに関し
て、対称でないことが知られている。その結果、伝送帯
域幅がネットワーク全体に渡り均等に低減されず、ネッ
トワーク全体に渡って帯域幅の非対称が生じる。これら
の非対称の結果、ネットワークは伝送帯域幅が特定の"
ホット"・ポートにおいて非常に高くなる傾向にあり、
他では実質的に0となる、いわゆる"ホット・スポット"
を発展させる傾向を示す。これは次に、他のポートを犠
牲にして"ホット"・ポートに関連する処理要素を優遇す
るように処理スループットを偏らせ、ネットワーク全体
に渡る作業負荷処理の平衡を失わせる。結果的にシステ
ム性能の低下が生じる。実際に、経路がもっぱらスイッ
チ・ボード内で禁止されると、ネットワーク全体に渡り
一定の帯域幅の低下をもたらす残りの禁止されない経路
の任意の組合わせを見い出すことができないことが判明
した。
禁止されない"経路がシステム内の全てのノードに関し
て、対称でないことが知られている。その結果、伝送帯
域幅がネットワーク全体に渡り均等に低減されず、ネッ
トワーク全体に渡って帯域幅の非対称が生じる。これら
の非対称の結果、ネットワークは伝送帯域幅が特定の"
ホット"・ポートにおいて非常に高くなる傾向にあり、
他では実質的に0となる、いわゆる"ホット・スポット"
を発展させる傾向を示す。これは次に、他のポートを犠
牲にして"ホット"・ポートに関連する処理要素を優遇す
るように処理スループットを偏らせ、ネットワーク全体
に渡る作業負荷処理の平衡を失わせる。結果的にシステ
ム性能の低下が生じる。実際に、経路がもっぱらスイッ
チ・ボード内で禁止されると、ネットワーク全体に渡り
一定の帯域幅の低下をもたらす残りの禁止されない経路
の任意の組合わせを見い出すことができないことが判明
した。
【0015】経路を禁止する手法は、単に各処理要素に
対応する経路テーブル内に含むための特定のエントリの
選択を要求するだけなので、この手法は、具体化が非常
に単純で高度にコスト有効である。従ってこの手法は、
ネットワーク全体に渡り対称的な帯域幅の低下を生成不
能でない限り、マルチステージ・クロスポイント・パケ
ット・ネットワークに取り入れられることが望まれる。
対応する経路テーブル内に含むための特定のエントリの
選択を要求するだけなので、この手法は、具体化が非常
に単純で高度にコスト有効である。従ってこの手法は、
ネットワーク全体に渡り対称的な帯域幅の低下を生成不
能でない限り、マルチステージ・クロスポイント・パケ
ット・ネットワークに取り入れられることが望まれる。
【0016】相互接続双方向マルチステージ・クロスポ
イント・ベースのネットワークを、大容量並列処理シス
テムの通信中枢として使用する関心にも関わらず、これ
らのネットワークにおけるデッドロックの潜在性の増
加、並びに特に大規模ネットワークにおける現実的なソ
ルーションの欠如が少なくとも今日まで、32をはるか
に越えるプロセッサを有するこうしたネットワークを使
用する大容量並列処理システムの市場での使用可能性を
抑制してきており、特定の大規模処理アプリケーション
におけるこれらのシステムの使用を妨げてきた。
イント・ベースのネットワークを、大容量並列処理シス
テムの通信中枢として使用する関心にも関わらず、これ
らのネットワークにおけるデッドロックの潜在性の増
加、並びに特に大規模ネットワークにおける現実的なソ
ルーションの欠如が少なくとも今日まで、32をはるか
に越えるプロセッサを有するこうしたネットワークを使
用する大容量並列処理システムの市場での使用可能性を
抑制してきており、特定の大規模処理アプリケーション
におけるこれらのシステムの使用を妨げてきた。
【0017】従って、大規模双方向マルチステージ相互
接続クロスポイント交換ネットワークにおいて、特に、
大規模大容量並列処理システムにおいて、デッドロック
の発生を防止する現実的な手法が必要とされる。こうし
た手法は具体化が単純であり、高度にコスト有効である
べきであり、ネットワーク帯域幅が結果的に低減される
場合、ネットワーク全体に渡り、実質的に対称で受諾可
能なレベルの帯域幅の低減を提供するべきである。こう
した手法がこうしたシステム内に含まれると、これらの
システムは市販されると32をはるかに上回る、例えば
512或いはそれ以上の別々のプロセッサに拡張され
る。従って、こうしたシステムは従来不可能であった追
加のアプリケーション処理のニーズに応えることができ
る。
接続クロスポイント交換ネットワークにおいて、特に、
大規模大容量並列処理システムにおいて、デッドロック
の発生を防止する現実的な手法が必要とされる。こうし
た手法は具体化が単純であり、高度にコスト有効である
べきであり、ネットワーク帯域幅が結果的に低減される
場合、ネットワーク全体に渡り、実質的に対称で受諾可
能なレベルの帯域幅の低減を提供するべきである。こう
した手法がこうしたシステム内に含まれると、これらの
システムは市販されると32をはるかに上回る、例えば
512或いはそれ以上の別々のプロセッサに拡張され
る。従って、こうしたシステムは従来不可能であった追
加のアプリケーション処理のニーズに応えることができ
る。
【0018】
【発明が解決しようとする課題】本発明により、大規模
双方向マルチステージ相互接続クロスポイント・スイッ
チ・ベース・パケット・ネットワークにおいて、経路指
定デッドロックの発生を防止するための、従来技術に固
有の欠点を有利に克服する単純でコスト有効な手法が提
供される。この手法は、理想的には大規模大容量並列処
理システムの通信中枢を形成するこうしたパケット・ネ
ットワークにおいて使用される。
双方向マルチステージ相互接続クロスポイント・スイッ
チ・ベース・パケット・ネットワークにおいて、経路指
定デッドロックの発生を防止するための、従来技術に固
有の欠点を有利に克服する単純でコスト有効な手法が提
供される。この手法は、理想的には大規模大容量並列処
理システムの通信中枢を形成するこうしたパケット・ネ
ットワークにおいて使用される。
【0019】
【課題を解決するための手段】特に本発明により、特定
の予め定義された経路が経路テーブルの形成の間に、こ
れらのノードを使用するネットワーク内における特定の
ノード、例えば処理要素の相対ロケーションにもとづき
考慮から除外される。禁止された経路は、もしそれらが
使用されなければ、閉ループ経路指定パターン、従って
経路指定デッドロックの発生を防止する経路として選択
される。経路テーブルに含まれる経路の選択においてシ
ステムのある区分、例えばシステムの半分内のノード間
をもっぱら流れるパケット・トラフィックを別の区分、
例えばシステムの他の半分内のノード間を流れるパケッ
ト・トラフィックから分離するために経路が禁止され
る。この点に関し、システムの共通区分内のノード間を
通過するパケットの経路を抽出するために、システムの
別の区分を通過するパス(ケーブルなど)を含む経路が
禁止される。複数のシステム区分、例えばシステムの異
なる半分に含まれるノード間でパケットを伝搬する経路
の選択においては、こうした経路の禁止は発生しない。
の予め定義された経路が経路テーブルの形成の間に、こ
れらのノードを使用するネットワーク内における特定の
ノード、例えば処理要素の相対ロケーションにもとづき
考慮から除外される。禁止された経路は、もしそれらが
使用されなければ、閉ループ経路指定パターン、従って
経路指定デッドロックの発生を防止する経路として選択
される。経路テーブルに含まれる経路の選択においてシ
ステムのある区分、例えばシステムの半分内のノード間
をもっぱら流れるパケット・トラフィックを別の区分、
例えばシステムの他の半分内のノード間を流れるパケッ
ト・トラフィックから分離するために経路が禁止され
る。この点に関し、システムの共通区分内のノード間を
通過するパケットの経路を抽出するために、システムの
別の区分を通過するパス(ケーブルなど)を含む経路が
禁止される。複数のシステム区分、例えばシステムの異
なる半分に含まれるノード間でパケットを伝搬する経路
の選択においては、こうした経路の禁止は発生しない。
【0020】例えば、8×8のスイッチ回路(ここで
は"スイッチ・チップ"としても参照される)の使用にお
いて、多数の同一の320ポート・スイッチ・ボードを
有する512プロセッサ・システムが構成され、これら
が2つの相互接続ステージ、すなわち、個々の処理要素
に接続されるノード・スイッチ・ボード(NSB)及び
ノード・スイッチ・ボード自身を相互接続するために使
用される中間スイッチ・ボード(ISB)に編成され
る。各NSBは16個のそれぞれ異なる処理要素に接続
される16ポートと、16個の各ISB上の異なるポー
トに相互接続される別の16ポートを提供する。
は"スイッチ・チップ"としても参照される)の使用にお
いて、多数の同一の320ポート・スイッチ・ボードを
有する512プロセッサ・システムが構成され、これら
が2つの相互接続ステージ、すなわち、個々の処理要素
に接続されるノード・スイッチ・ボード(NSB)及び
ノード・スイッチ・ボード自身を相互接続するために使
用される中間スイッチ・ボード(ISB)に編成され
る。各NSBは16個のそれぞれ異なる処理要素に接続
される16ポートと、16個の各ISB上の異なるポー
トに相互接続される別の16ポートを提供する。
【0021】このシステムにおいて禁止される経路を決
定するために、16個の連続的なNSB(例えばNSB
0乃至15、及び16乃至31)及び256個の連続的
な処理要素が各半分を構成するように、システムが半分
に分割されて効果的に考慮される。第1の8個のISB
が一方の半分に含まれ、残りの8個のISBが他の半分
に含まれる。システムの共通の半分内に配置される処理
要素間を通過するパケットに対して、システムのその半
分内に完全に含まれるISBポートを含む使用可能経路
だけが許可され他の経路は禁止される。従って、システ
ム初期化の間に、後者の任意の経路は、これらの処理要
素を接続する大域経路テーブル内に含まれない。或いは
システムの異なる半分内に配置される処理ノード間を通
過するパケットに対しては、こうした経路は禁止されな
い。従ってこの場合には、大域経路テーブル内に結果的
に含まれる経路の選択は、システムの半分にもとづく制
限無しに、使用可能な全ての経路の中から実施される。
定するために、16個の連続的なNSB(例えばNSB
0乃至15、及び16乃至31)及び256個の連続的
な処理要素が各半分を構成するように、システムが半分
に分割されて効果的に考慮される。第1の8個のISB
が一方の半分に含まれ、残りの8個のISBが他の半分
に含まれる。システムの共通の半分内に配置される処理
要素間を通過するパケットに対して、システムのその半
分内に完全に含まれるISBポートを含む使用可能経路
だけが許可され他の経路は禁止される。従って、システ
ム初期化の間に、後者の任意の経路は、これらの処理要
素を接続する大域経路テーブル内に含まれない。或いは
システムの異なる半分内に配置される処理ノード間を通
過するパケットに対しては、こうした経路は禁止されな
い。従ってこの場合には、大域経路テーブル内に結果的
に含まれる経路の選択は、システムの半分にもとづく制
限無しに、使用可能な全ての経路の中から実施される。
【0022】システムの各区分例えば半分を、他の任意
の区分例えば他の半分内に含まれる処理要素対間をもっ
ぱら流れるパケット・トラフィックから分離することに
より、これらのパケットの相互作用により生じる経路指
定デッドロックが有利に防止される。これにより市販の
並列処理システムは、より多くの処理要素を含むように
容易に拡張され、従来可能であった以上に広範な様々な
アプリケーション処理ニーズに応えることができる。
の区分例えば他の半分内に含まれる処理要素対間をもっ
ぱら流れるパケット・トラフィックから分離することに
より、これらのパケットの相互作用により生じる経路指
定デッドロックが有利に防止される。これにより市販の
並列処理システムは、より多くの処理要素を含むように
容易に拡張され、従来可能であった以上に広範な様々な
アプリケーション処理ニーズに応えることができる。
【0023】
【実施例】当業者には容易に理解されるように、双方向
マルチステージ相互接続クロスポイント・ベース・パケ
ット・スイッチを含むパケット・ネットワークは、それ
らの特定のアプリケーションに関係無く、ここで指摘さ
れるタイプの経路指定デッドロックの影響を受け易い。
従って次の説明を考慮した後に、当業者においては、本
発明の教示がほとんどのこうしたパケット・ネットワー
クに容易且つ高度にコスト有効に組込まれ、これらのデ
ッドロックの発生を伝送帯域幅の僅かな低減により、防
止することが理解されよう。従って、本発明は実質的に
任意のサイズのパケット・ネットワークにおいて即刻使
用され、公衆または専用電話回線(例えば局所、広域ま
たは首都圏ネットワーク)または他の類似のネットワー
クなどのデジタル通信、或いは大容量並列処理システム
の通信中枢などの特殊アプリケーションに関わり無く、
広範且つ様々な範囲のパケット交換環境に渡って使用さ
れる。しかしながら、後述の説明を単純化するために、
本発明は大容量並列処理システム、そして特に、IBM
により今日製造されるスケーラブル並列処理システムの
SPファミリにおいて使用されるIBM9076 SP-1高性能通
信ネットワークにおいて使用されるように述べられる。
マルチステージ相互接続クロスポイント・ベース・パケ
ット・スイッチを含むパケット・ネットワークは、それ
らの特定のアプリケーションに関係無く、ここで指摘さ
れるタイプの経路指定デッドロックの影響を受け易い。
従って次の説明を考慮した後に、当業者においては、本
発明の教示がほとんどのこうしたパケット・ネットワー
クに容易且つ高度にコスト有効に組込まれ、これらのデ
ッドロックの発生を伝送帯域幅の僅かな低減により、防
止することが理解されよう。従って、本発明は実質的に
任意のサイズのパケット・ネットワークにおいて即刻使
用され、公衆または専用電話回線(例えば局所、広域ま
たは首都圏ネットワーク)または他の類似のネットワー
クなどのデジタル通信、或いは大容量並列処理システム
の通信中枢などの特殊アプリケーションに関わり無く、
広範且つ様々な範囲のパケット交換環境に渡って使用さ
れる。しかしながら、後述の説明を単純化するために、
本発明は大容量並列処理システム、そして特に、IBM
により今日製造されるスケーラブル並列処理システムの
SPファミリにおいて使用されるIBM9076 SP-1高性能通
信ネットワークにおいて使用されるように述べられる。
【0024】本発明の理解を容易にするために、最初に
並列処理システムのパケット経路指定の様々な態様、特
に、そこで使用される双方向クロスポイント方式パケッ
ト・ネットワークに関する態様について述べ、次に典型
的な経路指定デッドロック状況について、そして最後
に、これらのデッドロックの発生を有利に防止する本発
明について詳細に述べることにする。
並列処理システムのパケット経路指定の様々な態様、特
に、そこで使用される双方向クロスポイント方式パケッ
ト・ネットワークに関する態様について述べ、次に典型
的な経路指定デッドロック状況について、そして最後
に、これらのデッドロックの発生を有利に防止する本発
明について詳細に述べることにする。
【0025】最初に、図1に示される従来の32プロセ
ッサ並列処理システム5について考えてみる。このシス
テムは32個のノード・パケット・スイッチ100(こ
こでは"パケット・ネットワーク"または単に"ネットワ
ーク"としても参照される)を含み、各ノードには32
個の別々の(しかしながら一般には同一の)処理要素1
10(特に処理要素1100、1101、...、110
31)が接続される。各要素はシステムの処理ノードを形
成する。ネットワークはこれらの処理ノードの1つから
他のノードへの高速伝送を提供する。処理要素自身はそ
れぞれマイクロプロセッサを基本とし、通常、IBMに
より製造されるRS6000 RISCマイクロプロセッサを使用
する。本発明は任意のこれらの要素のアーキテクチャま
たは回路には無関係であるので、当業者には容易に明ら
かとなろうこれらの態様については詳細には述べない。
しかしながら、本発明は後に詳述されるように、これら
の処理要素の1つにおいて実行されるシステム初期化ソ
フトウェア、及びこれらの各々の要素内に記憶される経
路テーブル内において実現される。従って、これらの特
定の態様については、特に後述される。
ッサ並列処理システム5について考えてみる。このシス
テムは32個のノード・パケット・スイッチ100(こ
こでは"パケット・ネットワーク"または単に"ネットワ
ーク"としても参照される)を含み、各ノードには32
個の別々の(しかしながら一般には同一の)処理要素1
10(特に処理要素1100、1101、...、110
31)が接続される。各要素はシステムの処理ノードを形
成する。ネットワークはこれらの処理ノードの1つから
他のノードへの高速伝送を提供する。処理要素自身はそ
れぞれマイクロプロセッサを基本とし、通常、IBMに
より製造されるRS6000 RISCマイクロプロセッサを使用
する。本発明は任意のこれらの要素のアーキテクチャま
たは回路には無関係であるので、当業者には容易に明ら
かとなろうこれらの態様については詳細には述べない。
しかしながら、本発明は後に詳述されるように、これら
の処理要素の1つにおいて実行されるシステム初期化ソ
フトウェア、及びこれらの各々の要素内に記憶される経
路テーブル内において実現される。従って、これらの特
定の態様については、特に後述される。
【0026】図示のように、ネットワーク100は8個
の別々の8×8双方向スイッチ回路120により構成さ
れ、これらは2つの相互接続ステージ、すなわち4個の
スイッチ回路1200、1201、1202及び1203を
含む"入力"ステージと、4個のスイッチ回路1204、
1205、1206及び1207を含む"出力"ステージと
に編成される。"入力"及び"出力"の指定は、純粋に説明
の都合において任意であり、実際には、ネットワーク上
のステージまたはポートは入力または出力ステージ或い
はポートとして機能する。これらの各々のスイッチ回路
は、好適には、中央キュー・ベースの非ブロッキング8
ウェイ・ルータである。各スイッチ回路は単一の集積回
路として、すなわち、いわゆる"チップ"として集積化さ
れ、ここでは各こうしたスイッチ回路自身を"スイッチ
・チップ"として参照する。もちろん当業者には理解さ
れるように、各スイッチ回路は単一のチップとしてだけ
具体化される必要はない。いずれの場合にも、スイッチ
・チップ自身は本発明の1部を形成しないので、これに
ついては詳細には述べないことにして、この回路のその
他の詳細に関して述べることとする。図示のように、各
スイッチ・チップは中央キューを含み、これらは対応す
るスイッチ回路1200、1201、1202、...、
1207内のキュー1300、1301、13
02、...、1307として表される。基本的に各中央
キューの目的は、とりわけ入力阻止及びデッドロックを
改良するために、対応するスイッチ回路を通過する別の
経路を提供することであり、後者すなわちデッドロック
は、入力ポート(特に内部のFIFOバッファ)及び逆
のトラフィックにより充填されたキューに起因する(こ
れは本発明が対象とするのとは異なる形態のデッドロッ
クである)。
の別々の8×8双方向スイッチ回路120により構成さ
れ、これらは2つの相互接続ステージ、すなわち4個の
スイッチ回路1200、1201、1202及び1203を
含む"入力"ステージと、4個のスイッチ回路1204、
1205、1206及び1207を含む"出力"ステージと
に編成される。"入力"及び"出力"の指定は、純粋に説明
の都合において任意であり、実際には、ネットワーク上
のステージまたはポートは入力または出力ステージ或い
はポートとして機能する。これらの各々のスイッチ回路
は、好適には、中央キュー・ベースの非ブロッキング8
ウェイ・ルータである。各スイッチ回路は単一の集積回
路として、すなわち、いわゆる"チップ"として集積化さ
れ、ここでは各こうしたスイッチ回路自身を"スイッチ
・チップ"として参照する。もちろん当業者には理解さ
れるように、各スイッチ回路は単一のチップとしてだけ
具体化される必要はない。いずれの場合にも、スイッチ
・チップ自身は本発明の1部を形成しないので、これに
ついては詳細には述べないことにして、この回路のその
他の詳細に関して述べることとする。図示のように、各
スイッチ・チップは中央キューを含み、これらは対応す
るスイッチ回路1200、1201、1202、...、
1207内のキュー1300、1301、13
02、...、1307として表される。基本的に各中央
キューの目的は、とりわけ入力阻止及びデッドロックを
改良するために、対応するスイッチ回路を通過する別の
経路を提供することであり、後者すなわちデッドロック
は、入力ポート(特に内部のFIFOバッファ)及び逆
のトラフィックにより充填されたキューに起因する(こ
れは本発明が対象とするのとは異なる形態のデッドロッ
クである)。
【0027】ネットワークの入力及び出力ステージは、
接続マトリックス140を介して相互接続され、これら
の各々の接続は実質的にバイト幅物理リンク(ケーブ
ル)であり、特にそれらの内のリンク1400、14
01、1402及び1403が番号付けされて示される。
このマトリックスを介して、入力ステージ内のそれぞれ
のスイッチ・チップのポートが別々にまた物理的に出力
ステージ内のあらゆるスイッチ・チップの対応するポー
トに接続される。例えば、スイッチ・チップ1200は
ポート0乃至7を備え、そのポート4乃至7を通じ、対
応するケーブルを介して、各スイッチ・チップ12
04、1205、1206及び1207上のポート4に接続
される。8個のスイッチ・チップ及び接続マトリックス
140を含むパケット・スイッチ100は、集合的に単
一のスイッチ・ボードを含む。各スイッチ・チップのポ
ート0乃至3はスイッチ・ボード外のリンクに接続さ
れ、各スイッチ・チップのポート4乃至7は、接続マト
リックス140内のリンク(ケーブル)に接続され、そ
れを介して同一ボード内の別のスイッチ・チップのポー
トに接続される。
接続マトリックス140を介して相互接続され、これら
の各々の接続は実質的にバイト幅物理リンク(ケーブ
ル)であり、特にそれらの内のリンク1400、14
01、1402及び1403が番号付けされて示される。
このマトリックスを介して、入力ステージ内のそれぞれ
のスイッチ・チップのポートが別々にまた物理的に出力
ステージ内のあらゆるスイッチ・チップの対応するポー
トに接続される。例えば、スイッチ・チップ1200は
ポート0乃至7を備え、そのポート4乃至7を通じ、対
応するケーブルを介して、各スイッチ・チップ12
04、1205、1206及び1207上のポート4に接続
される。8個のスイッチ・チップ及び接続マトリックス
140を含むパケット・スイッチ100は、集合的に単
一のスイッチ・ボードを含む。各スイッチ・チップのポ
ート0乃至3はスイッチ・ボード外のリンクに接続さ
れ、各スイッチ・チップのポート4乃至7は、接続マト
リックス140内のリンク(ケーブル)に接続され、そ
れを介して同一ボード内の別のスイッチ・チップのポー
トに接続される。
【0028】ある要素が別の要素からデータを要求した
り、データを供給したりするなど処理要素が互いに通信
するために、"出所"処理要素は自身が実行するアプリケ
ーション部分にもとづき、命令またはデータと共に適切
なメッセージを含むパケットを形成し、そのパケット
を"宛先"処理要素に伝送するためにパケット・スイッチ
100に送信する。宛先要素はパケット内に含まれるデ
ータまたは命令を処理し、適切な応答を生成する。応答
は次に、宛先処理要素において実行されるアプリケーシ
ョン部分にもとづき、別のパケットに形成され、例えば
出所または異なる処理要素に伝送して処理するためにネ
ットワークに返送される。
り、データを供給したりするなど処理要素が互いに通信
するために、"出所"処理要素は自身が実行するアプリケ
ーション部分にもとづき、命令またはデータと共に適切
なメッセージを含むパケットを形成し、そのパケット
を"宛先"処理要素に伝送するためにパケット・スイッチ
100に送信する。宛先要素はパケット内に含まれるデ
ータまたは命令を処理し、適切な応答を生成する。応答
は次に、宛先処理要素において実行されるアプリケーシ
ョン部分にもとづき、別のパケットに形成され、例えば
出所または異なる処理要素に伝送して処理するためにネ
ットワークに返送される。
【0029】ネットワークを介するパケット伝送を容易
にするために、各パケットは経路バイト形式の特定の経
路指定命令を有するヘッダを含む。後述のように、全て
の経路が予め定義される。出所処理要素がアセンブル中
の任意のパケットの宛先を決定すると、その要素は単
に、宛先処理要素をアドレスとして有するその内部(局
所)経路テーブルをアクセスし、適切な経路バイト値の
形式で経路を読出す。この値が単に経路バイトとしてパ
ケットのヘッダに挿入される。
にするために、各パケットは経路バイト形式の特定の経
路指定命令を有するヘッダを含む。後述のように、全て
の経路が予め定義される。出所処理要素がアセンブル中
の任意のパケットの宛先を決定すると、その要素は単
に、宛先処理要素をアドレスとして有するその内部(局
所)経路テーブルをアクセスし、適切な経路バイト値の
形式で経路を読出す。この値が単に経路バイトとしてパ
ケットのヘッダに挿入される。
【0030】図2はパケット・ネットワークを通じて伝
送される典型的なパケット、すなわちパケット200の
構成を示す。個々のパケットは例えば255バイト長で
ある。図示のように、パケット200は連続するフィー
ルド、すなわち長さフィールド210、経路フィールド
220(それ自身経路バイト2201、22
02、...、220nを含む)、シーケンス番号フィー
ルド230及びデータ・フィールド240を含む。長さ
フィールド210は、パケット長をバイトで指定する8
ビット・ボリュームを含む。経路フィールド220は複
数のバイト、特に経路バイト2201、22
02、...、220nを含み、これらは集合的にパケッ
トがネットワーク全体を通じてその出所ノードから宛先
ノードに至る特定の単一の経路(パス)を指定する。フ
ィールド230は出所処理要素により提供されるシーケ
ンス番号を保持する。この番号は、このパケットに対応
して出所処理要素により割当てられ、宛先処理要素によ
り使用され、所与のシーケンスにおけるパケットの順番
を識別する。この番号自体は、宛先におけるシーケンス
外のパケットの処理の防止のためのチェックに使用され
る。データ・フィールド240は連続するバイトを含
み、これらは集合的にパケットにより宛先処理ノードに
伝搬されるデータ(実際のデータまたは命令を含む)を
形成する。フィールド210、220及び230は集合
的にパケット・ヘッダを形成する。
送される典型的なパケット、すなわちパケット200の
構成を示す。個々のパケットは例えば255バイト長で
ある。図示のように、パケット200は連続するフィー
ルド、すなわち長さフィールド210、経路フィールド
220(それ自身経路バイト2201、22
02、...、220nを含む)、シーケンス番号フィー
ルド230及びデータ・フィールド240を含む。長さ
フィールド210は、パケット長をバイトで指定する8
ビット・ボリュームを含む。経路フィールド220は複
数のバイト、特に経路バイト2201、22
02、...、220nを含み、これらは集合的にパケッ
トがネットワーク全体を通じてその出所ノードから宛先
ノードに至る特定の単一の経路(パス)を指定する。フ
ィールド230は出所処理要素により提供されるシーケ
ンス番号を保持する。この番号は、このパケットに対応
して出所処理要素により割当てられ、宛先処理要素によ
り使用され、所与のシーケンスにおけるパケットの順番
を識別する。この番号自体は、宛先におけるシーケンス
外のパケットの処理の防止のためのチェックに使用され
る。データ・フィールド240は連続するバイトを含
み、これらは集合的にパケットにより宛先処理ノードに
伝搬されるデータ(実際のデータまたは命令を含む)を
形成する。フィールド210、220及び230は集合
的にパケット・ヘッダを形成する。
【0031】経路指定フィールド220に現れる経路バ
イトの数(n)は、パケットが通過する交換ステージの
数により決定される。その点に関し、各経路バイトは2
つの連続スイッチ・チップに対応する経路指定命令を保
持する。従って、パケットが宛先処理ノードに達するま
でに、図1に示されるように、ネットワーク内の2つの
連続ステージ内の2個のスイッチ・チップを通過するだ
けであれば、フィールド220は経路バイト2201だ
けを含むことになる。レイヤ・ネットワーク(layer ne
twork)においては、追加の対のスイッチ・チップが使
用される。全ての経路バイトが同一の形式を有する。こ
の点に関し、経路バイト(R[7:0])は1ビットの
フィールド選択子(R[7]、図示せず)、及び2つの
3ビットの経路フィールド(R[6:4]及びR[2:
0]、両者共に図示せず)を含む。ビットR[7]の値
が0の場合、スイッチ・チップはパケットを2進値R
[6:4]により指定されるそのチップ上の出力ポート
に経路指定し、次にビットR[7]の値を1に設定す
る。或いはビットR[7]の値が1の場合、スイッチ・
チップはパケットをビットR[2:0]で指定されるそ
のチップ上の出力ポートに経路指定し、その間に、この
完全な経路バイトを廃棄する。このようにして、パケッ
トから経路バイトを解析する。従って、各経路バイトは
2つの連続スイッチ・チップに対する経路指定命令を提
供する。n個の経路バイトを経路フィールド220内に
連結することにより、各パケットはスイッチ・チップの
最大2nのステージを通じて経路指定される。
イトの数(n)は、パケットが通過する交換ステージの
数により決定される。その点に関し、各経路バイトは2
つの連続スイッチ・チップに対応する経路指定命令を保
持する。従って、パケットが宛先処理ノードに達するま
でに、図1に示されるように、ネットワーク内の2つの
連続ステージ内の2個のスイッチ・チップを通過するだ
けであれば、フィールド220は経路バイト2201だ
けを含むことになる。レイヤ・ネットワーク(layer ne
twork)においては、追加の対のスイッチ・チップが使
用される。全ての経路バイトが同一の形式を有する。こ
の点に関し、経路バイト(R[7:0])は1ビットの
フィールド選択子(R[7]、図示せず)、及び2つの
3ビットの経路フィールド(R[6:4]及びR[2:
0]、両者共に図示せず)を含む。ビットR[7]の値
が0の場合、スイッチ・チップはパケットを2進値R
[6:4]により指定されるそのチップ上の出力ポート
に経路指定し、次にビットR[7]の値を1に設定す
る。或いはビットR[7]の値が1の場合、スイッチ・
チップはパケットをビットR[2:0]で指定されるそ
のチップ上の出力ポートに経路指定し、その間に、この
完全な経路バイトを廃棄する。このようにして、パケッ
トから経路バイトを解析する。従って、各経路バイトは
2つの連続スイッチ・チップに対する経路指定命令を提
供する。n個の経路バイトを経路フィールド220内に
連結することにより、各パケットはスイッチ・チップの
最大2nのステージを通じて経路指定される。
【0032】要約すると、パケットを受信するスイッチ
・チップは、そのパケット内にその時、存在する第1の
経路バイトを調査し、そのパケットをそのバイトにより
示されるポートに経路指定する。そうする間に、そのパ
ケットのパス内のあらゆる別のスイッチ・チップは、そ
の完全な経路バイトをパケットから切り取る(除去す
る)。これは次に、経路フィールド220内の次に続く
経路バイトを、次のスイッチ・チップ及び交換ステージ
に対応する第1の経路バイトとして形成する。宛先処理
ノードに到来する時、パケットは経路バイトを含んでい
ない。各スイッチ・チップはその時パケットにより伝搬
される第1バイト以後の追加の経路バイトを意識せず、
第1バイトに対してその回路は、その特定の経路指定を
実行する。更に各スイッチ・チップは第1バイト以外の
経路バイトと、続くデータ・バイトとを区別しない。
・チップは、そのパケット内にその時、存在する第1の
経路バイトを調査し、そのパケットをそのバイトにより
示されるポートに経路指定する。そうする間に、そのパ
ケットのパス内のあらゆる別のスイッチ・チップは、そ
の完全な経路バイトをパケットから切り取る(除去す
る)。これは次に、経路フィールド220内の次に続く
経路バイトを、次のスイッチ・チップ及び交換ステージ
に対応する第1の経路バイトとして形成する。宛先処理
ノードに到来する時、パケットは経路バイトを含んでい
ない。各スイッチ・チップはその時パケットにより伝搬
される第1バイト以後の追加の経路バイトを意識せず、
第1バイトに対してその回路は、その特定の経路指定を
実行する。更に各スイッチ・チップは第1バイト以外の
経路バイトと、続くデータ・バイトとを区別しない。
【0033】上述のように、経路指定はパケット・アセ
ンブリの間に最初に予め定義された経路バイトをパケッ
ト・ヘッダに挿入し、次にそのパケットの実際の経路指
定が導かれ指令されることにより、出所処理要素及び宛
先処理要素に関係なく、これらの各々のバイトの特定の
値によりネットワーク内において達成される。
ンブリの間に最初に予め定義された経路バイトをパケッ
ト・ヘッダに挿入し、次にそのパケットの実際の経路指
定が導かれ指令されることにより、出所処理要素及び宛
先処理要素に関係なく、これらの各々のバイトの特定の
値によりネットワーク内において達成される。
【0034】図3は、図1に示されるシステム5を構成
する処理ノード110を示し、特に、これらのノードの
メモリ内に存在してパケット経路指定を実行する様々な
ファイル及びテーブルを示す。パケット・スイッチ(ネ
ットワーク)100は時分割の2つのモードで機能す
る。それらの一方は実行フェーズであり、この間、スイ
ッチ回路は単に入来パケットを経路指定する。他はサー
ビス・フェーズであり、この間、プロセッサは初期化さ
れるか、ネットワークが回線交換方式でモニタ及び管理
される。ネットワークに接続される全てのスイッチが、
モード間で同期化ロック・ステップ方式で転送する。実
行フェーズの間、特定の処理要素は特定のタスクを任せ
られる。例えば、処理要素1100及び1101は、シス
テム5から他のネットワークへの、または処理システム
へのリンクを提供し、それらの間で情報を転送するため
の入出力ノードとして指定される。他の処理要素、例え
ば処理要素1102、1103、...、11031は、全
て実際のアプリケーション処理のための計算ノードとし
て使用される。処理要素の1つ、例えば処理要素110
31は、サービス・フェーズの間の様々なネットワークオ
ペレーションを引受けるサービス・プロセッサとして使
用される。必要に応じて実行フェーズの間、サービス・
プロセッサは計算ノードとしても機能することができ
る。サービス・プロセッサはハードウェア的見地から
は、他の全ての処理要素と同一であるが、サービス・プ
ロセッサはそのメモリ(ここではメモリ340)内に、
サービス・フェーズの間に実行される追加のソフトウェ
ア、とりわけ初期化ルーチン370を含み、これを実行
する。例えばこのフェーズは全てのスイッチ回路及びネ
ットワークに接続される全ての他の装置(全ての他の処
理要素を含む)に対して、初期化、通信リンク同期、大
域時間同期、故障判断、及び分離、及び様々な診断サー
ビスを提供する。初期化機能はサービス・フェーズの1
部に過ぎないのでサービス・フェーズのこの部分、特に
パケット経路指定及び本発明に関連する観点についての
み、以降で述べることにする。初期化フェーズは、シス
テムが任意のアプリケーション処理を請け負う以前に、
請け負わされる。
する処理ノード110を示し、特に、これらのノードの
メモリ内に存在してパケット経路指定を実行する様々な
ファイル及びテーブルを示す。パケット・スイッチ(ネ
ットワーク)100は時分割の2つのモードで機能す
る。それらの一方は実行フェーズであり、この間、スイ
ッチ回路は単に入来パケットを経路指定する。他はサー
ビス・フェーズであり、この間、プロセッサは初期化さ
れるか、ネットワークが回線交換方式でモニタ及び管理
される。ネットワークに接続される全てのスイッチが、
モード間で同期化ロック・ステップ方式で転送する。実
行フェーズの間、特定の処理要素は特定のタスクを任せ
られる。例えば、処理要素1100及び1101は、シス
テム5から他のネットワークへの、または処理システム
へのリンクを提供し、それらの間で情報を転送するため
の入出力ノードとして指定される。他の処理要素、例え
ば処理要素1102、1103、...、11031は、全
て実際のアプリケーション処理のための計算ノードとし
て使用される。処理要素の1つ、例えば処理要素110
31は、サービス・フェーズの間の様々なネットワークオ
ペレーションを引受けるサービス・プロセッサとして使
用される。必要に応じて実行フェーズの間、サービス・
プロセッサは計算ノードとしても機能することができ
る。サービス・プロセッサはハードウェア的見地から
は、他の全ての処理要素と同一であるが、サービス・プ
ロセッサはそのメモリ(ここではメモリ340)内に、
サービス・フェーズの間に実行される追加のソフトウェ
ア、とりわけ初期化ルーチン370を含み、これを実行
する。例えばこのフェーズは全てのスイッチ回路及びネ
ットワークに接続される全ての他の装置(全ての他の処
理要素を含む)に対して、初期化、通信リンク同期、大
域時間同期、故障判断、及び分離、及び様々な診断サー
ビスを提供する。初期化機能はサービス・フェーズの1
部に過ぎないのでサービス・フェーズのこの部分、特に
パケット経路指定及び本発明に関連する観点についての
み、以降で述べることにする。初期化フェーズは、シス
テムが任意のアプリケーション処理を請け負う以前に、
請け負わされる。
【0035】サービス・プロセッサ11031はそのメモ
リ340内に、ネットワークに接続される全ての処理要
素を含むそれぞれの及びあらゆる装置、及びこれらの装
置をリンクするためにネットワーク内において使用され
る特定の双方向物理接続(ケーブル)を集合的に定義す
る構造化エントリのデータベース、特にトポロジ・ファ
イル350を記憶する。データベースが生成される方法
は本発明には関連しないので、ここでは触れないことに
する。トポロジ・ファイルにおいて、スイッチ回路及び
他の装置の最大数が装置エントリにより最初に識別さ
れ、任意のこれらの回路及び装置間に存在する各物理接
続のエントリがそれに続く。装置エントリは2つの数値
フィールドを含み、これらは"装置番号(nv);スイッ
チ回路番号(ns)"の形式を取る。これらの値が提供さ
れると装置識別(id)の番号付けが0乃至nvの範囲
において、またスイッチ回路idの番号付けが0乃至n
sの範囲において仮定される。最大16個の装置及び8
個のスイッチ回路を含むネットワークでは、装置エント
リは単に"16 8"である。各接続エントリは6つのフィー
ルドを有し、これは"装置1タイプ;装置1id;装置
1ポート;装置2タイプ;装置2id;装置2ポート"
の形式を取る。装置タイプ情報は装置の性質、すなわち
その装置が処理要素かどうかを指定し、そうであれば、
その要素がサービス・プロセッサかどうか、或いはスイ
ッチ回路かどうかを指定する。接続エントリの例は"tb0
14 0 s 3 6"であり、これは"id14の処理要素が全
2重方式で、そのポート0からスイッチ回路3の入出力
両ポート6に接続される"ことを意味する。ネットワー
クの配線は、通常、極めて規則的であり、良好に定義さ
れ対称的である。しかしながら、実際には幾つかのスイ
ッチ・ボードは、保守状態或いは故障状態の結果とし
て、故意に分離される他のネットワーク・コンポーネン
ト、例えばケーブル、スイッチ回路(特に使用されるス
イッチ・チップ)または処理要素のために、パワー・ダ
ウン状態の可能性がある。従って、任意の瞬間における
ネットワーク・トポロジは極めて不規則であったりす
る。
リ340内に、ネットワークに接続される全ての処理要
素を含むそれぞれの及びあらゆる装置、及びこれらの装
置をリンクするためにネットワーク内において使用され
る特定の双方向物理接続(ケーブル)を集合的に定義す
る構造化エントリのデータベース、特にトポロジ・ファ
イル350を記憶する。データベースが生成される方法
は本発明には関連しないので、ここでは触れないことに
する。トポロジ・ファイルにおいて、スイッチ回路及び
他の装置の最大数が装置エントリにより最初に識別さ
れ、任意のこれらの回路及び装置間に存在する各物理接
続のエントリがそれに続く。装置エントリは2つの数値
フィールドを含み、これらは"装置番号(nv);スイッ
チ回路番号(ns)"の形式を取る。これらの値が提供さ
れると装置識別(id)の番号付けが0乃至nvの範囲
において、またスイッチ回路idの番号付けが0乃至n
sの範囲において仮定される。最大16個の装置及び8
個のスイッチ回路を含むネットワークでは、装置エント
リは単に"16 8"である。各接続エントリは6つのフィー
ルドを有し、これは"装置1タイプ;装置1id;装置
1ポート;装置2タイプ;装置2id;装置2ポート"
の形式を取る。装置タイプ情報は装置の性質、すなわち
その装置が処理要素かどうかを指定し、そうであれば、
その要素がサービス・プロセッサかどうか、或いはスイ
ッチ回路かどうかを指定する。接続エントリの例は"tb0
14 0 s 3 6"であり、これは"id14の処理要素が全
2重方式で、そのポート0からスイッチ回路3の入出力
両ポート6に接続される"ことを意味する。ネットワー
クの配線は、通常、極めて規則的であり、良好に定義さ
れ対称的である。しかしながら、実際には幾つかのスイ
ッチ・ボードは、保守状態或いは故障状態の結果とし
て、故意に分離される他のネットワーク・コンポーネン
ト、例えばケーブル、スイッチ回路(特に使用されるス
イッチ・チップ)または処理要素のために、パワー・ダ
ウン状態の可能性がある。従って、任意の瞬間における
ネットワーク・トポロジは極めて不規則であったりす
る。
【0036】いずれにしても、初期化及び特に初期化ル
ーチン370の実行の間、サービス・プロセッサ110
31はその時存在するトポロジ・ファイル350を読出
し、次にテスト・メッセージを同報し、それに対応する
応答を受信することにより、ネットワークに接続される
各装置と同様、ネットワーク内の各接続の状態を物理的
に判断する。これらの応答にもとづき、サービス・プロ
セッサは、例えば既知のブレッドス・ファースト探索
(breadth-first search)により、ネットワークの各
(出所)ノードをネットワークのあらゆる他の(宛先)
ノードに接続するための全ての使用可能な経路を判断す
る。双方向マルチステージ・クロスポイントネットワー
クに固有のパス冗長性により、異なるスイッチ・ステー
ジ内の異なるスイッチ回路を通過して、1対の出所ノー
ド及び宛先ノードを接続する複数の経路がしばしば存在
する。各共通の出所/宛先ノード対間の複数の経路を鑑
み、サービス・プロセッサは次にこれらの各々のノード
対に対応するこれらの経路の1つを選択し、その経路を
メモリ340内の大域経路テーブル360に記憶する。
これらの経路はネットワーク内におけるトラフィック渋
滞及びホット・スポットを回避するために単位時間に渡
り、ネットワーク全体を通じてパケット・トラフィック
の実質的に一様な分布を達成するように、主に最短パス
にもとづき選択される。
ーチン370の実行の間、サービス・プロセッサ110
31はその時存在するトポロジ・ファイル350を読出
し、次にテスト・メッセージを同報し、それに対応する
応答を受信することにより、ネットワークに接続される
各装置と同様、ネットワーク内の各接続の状態を物理的
に判断する。これらの応答にもとづき、サービス・プロ
セッサは、例えば既知のブレッドス・ファースト探索
(breadth-first search)により、ネットワークの各
(出所)ノードをネットワークのあらゆる他の(宛先)
ノードに接続するための全ての使用可能な経路を判断す
る。双方向マルチステージ・クロスポイントネットワー
クに固有のパス冗長性により、異なるスイッチ・ステー
ジ内の異なるスイッチ回路を通過して、1対の出所ノー
ド及び宛先ノードを接続する複数の経路がしばしば存在
する。各共通の出所/宛先ノード対間の複数の経路を鑑
み、サービス・プロセッサは次にこれらの各々のノード
対に対応するこれらの経路の1つを選択し、その経路を
メモリ340内の大域経路テーブル360に記憶する。
これらの経路はネットワーク内におけるトラフィック渋
滞及びホット・スポットを回避するために単位時間に渡
り、ネットワーク全体を通じてパケット・トラフィック
の実質的に一様な分布を達成するように、主に最短パス
にもとづき選択される。
【0037】ネットワーク100の使用可能な各出所/
宛先ノード対間のパスを定義する大域経路テーブル36
0が完全に構成されると、サービス・プロセッサ110
31は次にネットワークを通じ、そのテーブルの対応部分
を自身を含む各個々の処理要素に局所経路テーブルとし
て、そこに記憶するために提供する。この部分は、その
特定の処理要素を出所ノードとしてリストする経路だけ
を含む。従って、例えば処理要素1100はそのメモリ
310内に、局所経路テーブル320を記憶し、サービ
ス・プロセッサ11031はそのメモリ340内に、局所
経路テーブル380を記憶する。他の処理要素について
も同様である。パケット形成の間、上述のように、各処
理要素は単にその局所経路テーブルをアクセスするだけ
で、その時アセンブルされるパケットの宛先にもとづ
き、その宛先の経路指定バイトの値をテーブルからその
パケットのヘッダにコピーする。
宛先ノード対間のパスを定義する大域経路テーブル36
0が完全に構成されると、サービス・プロセッサ110
31は次にネットワークを通じ、そのテーブルの対応部分
を自身を含む各個々の処理要素に局所経路テーブルとし
て、そこに記憶するために提供する。この部分は、その
特定の処理要素を出所ノードとしてリストする経路だけ
を含む。従って、例えば処理要素1100はそのメモリ
310内に、局所経路テーブル320を記憶し、サービ
ス・プロセッサ11031はそのメモリ340内に、局所
経路テーブル380を記憶する。他の処理要素について
も同様である。パケット形成の間、上述のように、各処
理要素は単にその局所経路テーブルをアクセスするだけ
で、その時アセンブルされるパケットの宛先にもとづ
き、その宛先の経路指定バイトの値をテーブルからその
パケットのヘッダにコピーする。
【0038】上述の説明を考慮して、経路指定デッドロ
ックを表す図1を再度参照することにする。
ックを表す図1を再度参照することにする。
【0039】経路指定デッドロックは、各々が例えばス
イッチ・チップの異なる交換ステージ内の中央キューに
存在する対応パケットが、連続するステージ内のスイッ
チ・チップ対を接続する共通パス上における経路指定を
同時に待機する度に発生する。従って、ここで"A"と記
されるパケットがスイッチ・チップ1200の中央キュ
ー1300に内在し、処理ノード1100から"丸A"で示
される破線のパスを介して、処理ノード1104に経路
指定されるのを待機しているものと仮定する。このパス
を通じ、パケット"A"はスイッチ・チップ1200によ
り、ケーブル1400を介してスイッチ・チップ1204
のポート4に導かれ、次にこの後者のチップのポート5
及びケーブル1401を介して、入力ステージ特に処理
ノード1104に接続されるスイッチ・チップ1201の
ポート0に経路指定されて戻される。同様にキュー13
00に内在するパケット"A"と同時に、スイッチ・チッ
プ1204、1201及び1205のそれぞれの中央キュ
ー1304、1301及び1305に、3つの他のパケッ
ト"B"、"C"及び"D"が内在するものと仮定する。パケ
ット"B"はスイッチ・チップ1204のノード1に接続
される処理要素11017から、"丸B"で示される破線の
パスを介して、スイッチ・チップ1205のノード3に
接続される処理要素11021に経路指定される。同様に
パケット"C"は、スイッチ・チップ1201のノード2
に接続される処理要素1106から、"丸C"で示される
破線のパスを介して、スイッチ・チップ1200のノー
ド2に接続される処理要素1102に経路指定される。
同様にパケット"D"は、スイッチ・チップ1205のノ
ード1に接続される処理要素11021から、"丸D"で示
される破線のパスを介して、スイッチ・チップ1204
のノード0に接続される処理要素11016に経路指定さ
れる。
イッチ・チップの異なる交換ステージ内の中央キューに
存在する対応パケットが、連続するステージ内のスイッ
チ・チップ対を接続する共通パス上における経路指定を
同時に待機する度に発生する。従って、ここで"A"と記
されるパケットがスイッチ・チップ1200の中央キュ
ー1300に内在し、処理ノード1100から"丸A"で示
される破線のパスを介して、処理ノード1104に経路
指定されるのを待機しているものと仮定する。このパス
を通じ、パケット"A"はスイッチ・チップ1200によ
り、ケーブル1400を介してスイッチ・チップ1204
のポート4に導かれ、次にこの後者のチップのポート5
及びケーブル1401を介して、入力ステージ特に処理
ノード1104に接続されるスイッチ・チップ1201の
ポート0に経路指定されて戻される。同様にキュー13
00に内在するパケット"A"と同時に、スイッチ・チッ
プ1204、1201及び1205のそれぞれの中央キュ
ー1304、1301及び1305に、3つの他のパケッ
ト"B"、"C"及び"D"が内在するものと仮定する。パケ
ット"B"はスイッチ・チップ1204のノード1に接続
される処理要素11017から、"丸B"で示される破線の
パスを介して、スイッチ・チップ1205のノード3に
接続される処理要素11021に経路指定される。同様に
パケット"C"は、スイッチ・チップ1201のノード2
に接続される処理要素1106から、"丸C"で示される
破線のパスを介して、スイッチ・チップ1200のノー
ド2に接続される処理要素1102に経路指定される。
同様にパケット"D"は、スイッチ・チップ1205のノ
ード1に接続される処理要素11021から、"丸D"で示
される破線のパスを介して、スイッチ・チップ1204
のノード0に接続される処理要素11016に経路指定さ
れる。
【0040】図示のように、全ての4つのパケットは同
時に衝突する経路を有し、同一セットの4つのケーブル
を介する。各経路はそのケーブルを他の2つの経路と共
用する。結果的に、各スイッチ・チップ1200、12
01、1204及び1205は、対応する中央キューに内
在するこれらのパケットと共に、これらのスイッチ・チ
ップの任意の他の1つが最初にそのパケットを経路指定
するのを待機することになる。各パケットは基本的にス
イッチ・チップの1つにおいて(但し、異なるポートを
通じて)その方向を反転する、すなわち"ターン・アラ
ウンド"するので、これらの全てのパケットにより取ら
れる経路は、集合的に閉ループ・パターン(番号I−I
I−III−IVで示され、ここでは"サイクル"として
参照される)を形成することになる。スイッチ・チップ
はこれらのどの特定のパケットを最初に経路指定するか
を決定できないので、全てのスイッチ・チップは単に待
機し、いずれのパケットも経路指定されない。サイクル
内の4つの各々のパケット自身が、残りの3つのパケッ
トを妨害することになる。結果的に、経路指定デッドロ
ックが発生する。このデッドロックが持続する間、対応
するパスはパケット・トラフィックを伝搬しない。従っ
て、処理要素1104、11023、1102及び11016
は単にパケットの到来を待機し、これらのパケットを要
求するアプリケーション部分の処理が延期される。これ
はすなわち、システム5の処理スループットを低下させ
ることになる。経路指定デッドロックが発生すると、こ
の状態は何らかの手段により解決されるまで無期限に継
続する。経路指定デッドロックは比較的稀にしか発生し
ないが、並列処理システムの規模が増大すると、これら
のデッドロックの発生の潜在性も増加する。
時に衝突する経路を有し、同一セットの4つのケーブル
を介する。各経路はそのケーブルを他の2つの経路と共
用する。結果的に、各スイッチ・チップ1200、12
01、1204及び1205は、対応する中央キューに内
在するこれらのパケットと共に、これらのスイッチ・チ
ップの任意の他の1つが最初にそのパケットを経路指定
するのを待機することになる。各パケットは基本的にス
イッチ・チップの1つにおいて(但し、異なるポートを
通じて)その方向を反転する、すなわち"ターン・アラ
ウンド"するので、これらの全てのパケットにより取ら
れる経路は、集合的に閉ループ・パターン(番号I−I
I−III−IVで示され、ここでは"サイクル"として
参照される)を形成することになる。スイッチ・チップ
はこれらのどの特定のパケットを最初に経路指定するか
を決定できないので、全てのスイッチ・チップは単に待
機し、いずれのパケットも経路指定されない。サイクル
内の4つの各々のパケット自身が、残りの3つのパケッ
トを妨害することになる。結果的に、経路指定デッドロ
ックが発生する。このデッドロックが持続する間、対応
するパスはパケット・トラフィックを伝搬しない。従っ
て、処理要素1104、11023、1102及び11016
は単にパケットの到来を待機し、これらのパケットを要
求するアプリケーション部分の処理が延期される。これ
はすなわち、システム5の処理スループットを低下させ
ることになる。経路指定デッドロックが発生すると、こ
の状態は何らかの手段により解決されるまで無期限に継
続する。経路指定デッドロックは比較的稀にしか発生し
ないが、並列処理システムの規模が増大すると、これら
のデッドロックの発生の潜在性も増加する。
【0041】この現象を鑑み、本発明は比較的大規模な
大容量並列処理システムにおいて、経路指定デッドロッ
クの発生を防止する手法を提供する。本手法は具体化が
非常に単純で高度にコスト有効であり、パケット・ネッ
トワークにおける伝送帯域幅の適度で受諾可能な低減を
強要するに過ぎない。
大容量並列処理システムにおいて、経路指定デッドロッ
クの発生を防止する手法を提供する。本手法は具体化が
非常に単純で高度にコスト有効であり、パケット・ネッ
トワークにおける伝送帯域幅の適度で受諾可能な低減を
強要するに過ぎない。
【0042】本手法により、特定の予め定義された経路
が、大域経路テーブルの形成の間にこれらの経路を使用
する特定の処理要素(ネットワーク・ノード)の相対ロ
ケーションにもとづき考慮から除外される。禁止された
経路は、もしそれらが使用されないと、閉ループ経路指
定パターン、従って経路指定デッドロックの発生を防止
する経路として選択される。経路テーブルに含まれる経
路の選択において、システムのある区分、例えばシステ
ムの半分内のノード間をもっぱら流れるパケット・トラ
フィックを別の区分、例えばシステムの他の半分内のノ
ード間を流れるパケット・トラフィックから分離するた
めに経路が禁止される。この点に関し、システムの共通
区分内のノード間を通過するパケットの経路を抽出する
ために、システムの別の区分を通過するパス(ケーブル
など)を含む経路が禁止される。複数のシステム区分、
例えばシステムの異なる半分内のノード間でパケットを
伝搬する経路の選択においては、こうした経路の禁止は
発生しない。システムの各区分、例えば半分を他の区
分、例えばシステムの他の半分内の処理要素対間をもっ
ぱら流れるパケット・トラフィックから分離することに
より、これらのパケットの相互作用により生じる経路指
定デッドロックが有利に防止される。
が、大域経路テーブルの形成の間にこれらの経路を使用
する特定の処理要素(ネットワーク・ノード)の相対ロ
ケーションにもとづき考慮から除外される。禁止された
経路は、もしそれらが使用されないと、閉ループ経路指
定パターン、従って経路指定デッドロックの発生を防止
する経路として選択される。経路テーブルに含まれる経
路の選択において、システムのある区分、例えばシステ
ムの半分内のノード間をもっぱら流れるパケット・トラ
フィックを別の区分、例えばシステムの他の半分内のノ
ード間を流れるパケット・トラフィックから分離するた
めに経路が禁止される。この点に関し、システムの共通
区分内のノード間を通過するパケットの経路を抽出する
ために、システムの別の区分を通過するパス(ケーブル
など)を含む経路が禁止される。複数のシステム区分、
例えばシステムの異なる半分内のノード間でパケットを
伝搬する経路の選択においては、こうした経路の禁止は
発生しない。システムの各区分、例えば半分を他の区
分、例えばシステムの他の半分内の処理要素対間をもっ
ぱら流れるパケット・トラフィックから分離することに
より、これらのパケットの相互作用により生じる経路指
定デッドロックが有利に防止される。
【0043】比較的大規模な大容量並列処理システム、
例えば512の別々の処理要素を使用するシステムにお
いて必要なプロセッサ間経路指定機能を提供するため
に、システムは多数のスイッチ・ボードを使用する。各
スイッチ・ボードは上述されたように同一であり、2つ
の相互接続ステージ、すなわち個々の処理要素に接続さ
れるノード・スイッチ・ボード(NSB)、及びノード
・スイッチ・ボード自身を相互接続するために使用され
る中間スイッチ・ボード(ISB)に編成される。51
2プロセッサ・システムは、通常、48個の別々のスイ
ッチ・ボードを使用し、これらの内の32個のボードは
NSB専用であり、残りの16個のボードはISB専用
である。各NSBは16個のそれぞれ異なる処理要素に
接続される16ポートと、16個の各ISB上の異なる
ポートに相互接続される別の16ポートを提供する。こ
の構成では、NSBはパケットを自身が接続される個々
の処理要素との間で経路指定し、ISBはパケットを異
なるNSB間で経路指定し、全ての完全な経路が、上述
のようにパケット・ヘッダに含まれる経路指定バイトに
より指定される。
例えば512の別々の処理要素を使用するシステムにお
いて必要なプロセッサ間経路指定機能を提供するため
に、システムは多数のスイッチ・ボードを使用する。各
スイッチ・ボードは上述されたように同一であり、2つ
の相互接続ステージ、すなわち個々の処理要素に接続さ
れるノード・スイッチ・ボード(NSB)、及びノード
・スイッチ・ボード自身を相互接続するために使用され
る中間スイッチ・ボード(ISB)に編成される。51
2プロセッサ・システムは、通常、48個の別々のスイ
ッチ・ボードを使用し、これらの内の32個のボードは
NSB専用であり、残りの16個のボードはISB専用
である。各NSBは16個のそれぞれ異なる処理要素に
接続される16ポートと、16個の各ISB上の異なる
ポートに相互接続される別の16ポートを提供する。こ
の構成では、NSBはパケットを自身が接続される個々
の処理要素との間で経路指定し、ISBはパケットを異
なるNSB間で経路指定し、全ての完全な経路が、上述
のようにパケット・ヘッダに含まれる経路指定バイトに
より指定される。
【0044】512プロセッサ・システムの例が、図4
にシステム400として示される。図示のように、この
システムは集合的に処理ノード410として示される5
12の異なる処理要素4150、...、41
515、...415496、...415511を提供し、物
理的見地から16個の処理要素を含む32個の物理ラッ
ク、特に処理ラック4100、...41031に編成さ
れる。各ラックはそれぞれのNSBの16ポートに接続
される。システム400は32個のNSB4400、4
401、4402、4403、4404、44
05、...、44030及び44031(NSB0、NS
B1などとしても指定される)を含む。各NSBの残り
の16ポートは、接続マトリックス450内の個々のケ
ーブルを介して、16個のISB460、特にISB4
600、4601、4602、...、46015(ISB
0、ISB1などとしても指定される)の各々の対応す
るポートに相互接続される。例えば、NSB440
0(NSB0)上の16個の各ポートは、16個のIS
Bの対応する異なる1つのポート0に接続されるように
示され、それによりNSB4400は各ISBにパケッ
トを経路指定できる。他のNSBについても図示のよう
に、あらゆるISBに同様に相互接続される。ISBで
あろうとNSBであろうと、全てのスイッチ・ボードは
互いに同一であるが、接続マトリックス450を明瞭に
表す都合上、ISBはNSBと異なるように示される。
にシステム400として示される。図示のように、この
システムは集合的に処理ノード410として示される5
12の異なる処理要素4150、...、41
515、...415496、...415511を提供し、物
理的見地から16個の処理要素を含む32個の物理ラッ
ク、特に処理ラック4100、...41031に編成さ
れる。各ラックはそれぞれのNSBの16ポートに接続
される。システム400は32個のNSB4400、4
401、4402、4403、4404、44
05、...、44030及び44031(NSB0、NS
B1などとしても指定される)を含む。各NSBの残り
の16ポートは、接続マトリックス450内の個々のケ
ーブルを介して、16個のISB460、特にISB4
600、4601、4602、...、46015(ISB
0、ISB1などとしても指定される)の各々の対応す
るポートに相互接続される。例えば、NSB440
0(NSB0)上の16個の各ポートは、16個のIS
Bの対応する異なる1つのポート0に接続されるように
示され、それによりNSB4400は各ISBにパケッ
トを経路指定できる。他のNSBについても図示のよう
に、あらゆるISBに同様に相互接続される。ISBで
あろうとNSBであろうと、全てのスイッチ・ボードは
互いに同一であるが、接続マトリックス450を明瞭に
表す都合上、ISBはNSBと異なるように示される。
【0045】システム400において、中間スイッチ・
ボードなどの使用に頼る他の大規模大容量並列処理シス
テムと同様、本発明を使用しないと、経路指定デッドロ
ックが発生することが理解される。なぜなら、パケット
が異なるNSB間で経路指定される時、図1に示される
システム5のスイッチ1204及び1205内で、パケッ
ト"A"及び"C"がそれらの方向を反転("ターン・アラ
ウンド")する時のように、その方向をISB内で反転
するからである。図4に示されるように、パケットはI
SB内においては生成されず、単にそれを通じて別々の
NSB間で経路指定されるだけなので、閉ループ経路指
定パターンがもしも発生すると、それらはISBに延び
る必要があり、NSB内だけに存在するとは限らなくな
る。システム400内の経路指定デッドロックは、任意
の1つまたは複数のNSB自身だけに制約されない。
ボードなどの使用に頼る他の大規模大容量並列処理シス
テムと同様、本発明を使用しないと、経路指定デッドロ
ックが発生することが理解される。なぜなら、パケット
が異なるNSB間で経路指定される時、図1に示される
システム5のスイッチ1204及び1205内で、パケッ
ト"A"及び"C"がそれらの方向を反転("ターン・アラ
ウンド")する時のように、その方向をISB内で反転
するからである。図4に示されるように、パケットはI
SB内においては生成されず、単にそれを通じて別々の
NSB間で経路指定されるだけなので、閉ループ経路指
定パターンがもしも発生すると、それらはISBに延び
る必要があり、NSB内だけに存在するとは限らなくな
る。システム400内の経路指定デッドロックは、任意
の1つまたは複数のNSB自身だけに制約されない。
【0046】本発明の教示によれば、禁止する経路を決
定するために、システム400は例証的に半分に区分さ
れる。この場合、16個の連続するNSB(例えばNS
B0乃至15、及びNSB16乃至31)、及び256
個の連続する処理要素(例えばそれぞれ要素41
50、...、415255及び415256、...、41
5511)は各半分に割当てられる。また最初の8個のI
SBが片方の半分に含まれ、残りの8個のISBが他の
半分に含まれる。この点に関し、図5を参照すると、図
4のシステム400を構成する全てのNSB並びにIS
B460が示される。図示のように、システムは503
と507のそれぞれ半分に区分される。32個の各NS
B上のポート0などの共通ポート(ラベル付けされてい
ない)が、別々の対応するパス(ケーブル)を介して、
単一のISB上の32個のポートの対応する1つに接続
される。全てのNSB上の残りの各ポート及び他のIS
Bについても同様である。システムの半分503は、N
SB4400乃至44015及びISB4600乃至460
15を含む。ここではNSB4400乃至44015は、パ
ス5100、0、5101、0、...、51015、0を介し
て、単一のISBの16個の連続するポート(特にそれ
らの3つだけが示されている)、ここではISB460
0の特にスイッチ・チップ5300乃至5303に接続さ
れるように示される。残りのシステムの半分507は、
NSB44017乃至44031、及びISB4608乃至
46015を含む。同様にこれらの特定のNSBはパス5
1016、15、51017、15、...、51031、15を介し
て、単一のISBの対応するポート、ここではISB4
6015の特にスイッチ・チップ5404乃至5407に接
続されるように示される。
定するために、システム400は例証的に半分に区分さ
れる。この場合、16個の連続するNSB(例えばNS
B0乃至15、及びNSB16乃至31)、及び256
個の連続する処理要素(例えばそれぞれ要素41
50、...、415255及び415256、...、41
5511)は各半分に割当てられる。また最初の8個のI
SBが片方の半分に含まれ、残りの8個のISBが他の
半分に含まれる。この点に関し、図5を参照すると、図
4のシステム400を構成する全てのNSB並びにIS
B460が示される。図示のように、システムは503
と507のそれぞれ半分に区分される。32個の各NS
B上のポート0などの共通ポート(ラベル付けされてい
ない)が、別々の対応するパス(ケーブル)を介して、
単一のISB上の32個のポートの対応する1つに接続
される。全てのNSB上の残りの各ポート及び他のIS
Bについても同様である。システムの半分503は、N
SB4400乃至44015及びISB4600乃至460
15を含む。ここではNSB4400乃至44015は、パ
ス5100、0、5101、0、...、51015、0を介し
て、単一のISBの16個の連続するポート(特にそれ
らの3つだけが示されている)、ここではISB460
0の特にスイッチ・チップ5300乃至5303に接続さ
れるように示される。残りのシステムの半分507は、
NSB44017乃至44031、及びISB4608乃至
46015を含む。同様にこれらの特定のNSBはパス5
1016、15、51017、15、...、51031、15を介し
て、単一のISBの対応するポート、ここではISB4
6015の特にスイッチ・チップ5404乃至5407に接
続されるように示される。
【0047】システムの共通半分、例えば半分503内
に配置される処理要素間を通過するパケットに対して
は、システムのその半分内に完全に含まれるISBを含
む使用可能な経路(NSB4400と44015間の経路
522、及びNSB44031と44016間の経路524
など)だけが許可され、他の経路(NSB4400と4
4015間の破線で示される経路534、及びNSB44
031と44016間の破線で示される経路532)は禁止
される。従って、後者の任意の経路はシステム初期化の
間に、これらの処理要素を接続する大域経路テーブル内
に含まれない。禁止された経路はまた、その経路上の"
X"により示される。或いはシステムの異なる半分内に
配置される処理要素間を通過するパケットに対して、こ
うした経路が禁止されなくてもよい。この場合、経路選
択は大域経路テーブル内に結果的に含むものに対して、
システムの半分にもとづく制限無しに、NSB4400
と44016間のその時使用可能な全ての経路(1つの場
合もある(特に図示せず))の中から実施される。
に配置される処理要素間を通過するパケットに対して
は、システムのその半分内に完全に含まれるISBを含
む使用可能な経路(NSB4400と44015間の経路
522、及びNSB44031と44016間の経路524
など)だけが許可され、他の経路(NSB4400と4
4015間の破線で示される経路534、及びNSB44
031と44016間の破線で示される経路532)は禁止
される。従って、後者の任意の経路はシステム初期化の
間に、これらの処理要素を接続する大域経路テーブル内
に含まれない。禁止された経路はまた、その経路上の"
X"により示される。或いはシステムの異なる半分内に
配置される処理要素間を通過するパケットに対して、こ
うした経路が禁止されなくてもよい。この場合、経路選
択は大域経路テーブル内に結果的に含むものに対して、
システムの半分にもとづく制限無しに、NSB4400
と44016間のその時使用可能な全ての経路(1つの場
合もある(特に図示せず))の中から実施される。
【0048】経路の禁止は後述されるように、大域経路
テーブルが生成される間に、特定の経路指定指示を処理
することにより実行される。この処理は、全ての禁止経
路がネットワーク・ノードの所与の対間で定義される経
路として選択されることを防止する。
テーブルが生成される間に、特定の経路指定指示を処理
することにより実行される。この処理は、全ての禁止経
路がネットワーク・ノードの所与の対間で定義される経
路として選択されることを防止する。
【0049】自身の内部処理要素間で発生するパケット
・トラフィックに対応して、システムの各半分を分離
し、それにより他の半分に含まれる処理要素間を通過す
るパケットとの相互作用を排除することにより、経路指
定デッドロックが有利に防止される。
・トラフィックに対応して、システムの各半分を分離
し、それにより他の半分に含まれる処理要素間を通過す
るパケットとの相互作用を排除することにより、経路指
定デッドロックが有利に防止される。
【0050】驚くことに、上述のように512ポート交
換ネットワークの多数の分析の結果、ネットワークを通
過する期待されるトラフィック・パターンに関し、本発
明の手法によれば、ネットワークの最大伝送帯域幅が支
障無い程度に減少するだけであることが判明した。この
点に関し、本発明の使用は、ネットワークにおいて使用
可能な最大帯域幅のほぼ74%を確保し、これは期待し
た約50%を大きく上回るものである。従って、経路指
定デッドロックを回避するための本手法の使用による不
利益は、特に獲得される利点を鑑みれば、極めて受諾可
能と言える。
換ネットワークの多数の分析の結果、ネットワークを通
過する期待されるトラフィック・パターンに関し、本発
明の手法によれば、ネットワークの最大伝送帯域幅が支
障無い程度に減少するだけであることが判明した。この
点に関し、本発明の使用は、ネットワークにおいて使用
可能な最大帯域幅のほぼ74%を確保し、これは期待し
た約50%を大きく上回るものである。従って、経路指
定デッドロックを回避するための本手法の使用による不
利益は、特に獲得される利点を鑑みれば、極めて受諾可
能と言える。
【0051】上述の説明を鑑み、図6は、図4に示され
るシステム400内に配置されるサービス・プロセッサ
(例として処理要素415511)内で実行される、本発
明の教示によりパケット経路を定義する経路テーブル発
生器ルーチン600のハイレベル流れ図を示す。ルーチ
ン600は、上述のようにサービス・プロセッサ内で実
行される初期化ルーチンの1部である。
るシステム400内に配置されるサービス・プロセッサ
(例として処理要素415511)内で実行される、本発
明の教示によりパケット経路を定義する経路テーブル発
生器ルーチン600のハイレベル流れ図を示す。ルーチ
ン600は、上述のようにサービス・プロセッサ内で実
行される初期化ルーチンの1部である。
【0052】図6に示されるように、ルーチン600へ
のエントリに際し、実行は最初にブロック610に移行
し、トポロジ・ファイル及び付随する経路指定指示を読
出す。デッドロック回避経路指定を提供するために、パ
ケット・ネットワーク内の各装置、例えばスイッチ回路
(または特にそこで使用されるスイッチ・チップ)に対
応する適切な指示、すなわちその装置を通過する経路指
定が制限されているか否か、換言すると、パケットがこ
の回路を通じて方向を反転可能か否かを示す指示が、ト
ポロジ・ファイル内に含まれなければならない。ネット
ワーク100を実現する図1に示されるスイッチ・ボー
ドについて考えてみる。上述のように、各スイッチ・チ
ップのポート0乃至3は、スイッチ・ボードの外部のリ
ンクに接続され、各スイッチ・チップのポート4乃至7
は接続マトリックス140内のリンク(ケーブル)に接
続され、それを通じて、同一ボード内の別のスイッチ・
チップのポートに接続される。トポロジ・ファイル内に
おいて特定のスイッチ・チップに対して指定される経路
指定指示"nr"は、そのチップに関し、経路指定制限が
存在しないことを意味する。パケットはこのチップ上の
任意の8個のポートに入力することができ、チップ上の
他のポートから去ることができる。この例では、パケッ
トはチップ内でその方向を反転("ターン・アラウン
ド")することができる。或いはスイッチ・チップに対
して、トポロジ・ファイル内に経路指定指示"n-i-t"が
存在すると、ポート4乃至7に入力するパケットは、チ
ップ上のポート0乃至3からだけ出力するようにその経
路指定が制限される。すなわち、そのパケットはチップ
内で方向を反転することを禁止される。しかしなが
ら、"n-i-t"指示は、スイッチ・チップの任意のポート
0乃至3に到来するパケットに対しては制限せず、これ
はそのチップ上の任意の他のポートに経路指定される。
デッドロック回避指示を有するトポロジ・ファイル内の
サンプル行は次の通りである。
のエントリに際し、実行は最初にブロック610に移行
し、トポロジ・ファイル及び付随する経路指定指示を読
出す。デッドロック回避経路指定を提供するために、パ
ケット・ネットワーク内の各装置、例えばスイッチ回路
(または特にそこで使用されるスイッチ・チップ)に対
応する適切な指示、すなわちその装置を通過する経路指
定が制限されているか否か、換言すると、パケットがこ
の回路を通じて方向を反転可能か否かを示す指示が、ト
ポロジ・ファイル内に含まれなければならない。ネット
ワーク100を実現する図1に示されるスイッチ・ボー
ドについて考えてみる。上述のように、各スイッチ・チ
ップのポート0乃至3は、スイッチ・ボードの外部のリ
ンクに接続され、各スイッチ・チップのポート4乃至7
は接続マトリックス140内のリンク(ケーブル)に接
続され、それを通じて、同一ボード内の別のスイッチ・
チップのポートに接続される。トポロジ・ファイル内に
おいて特定のスイッチ・チップに対して指定される経路
指定指示"nr"は、そのチップに関し、経路指定制限が
存在しないことを意味する。パケットはこのチップ上の
任意の8個のポートに入力することができ、チップ上の
他のポートから去ることができる。この例では、パケッ
トはチップ内でその方向を反転("ターン・アラウン
ド")することができる。或いはスイッチ・チップに対
して、トポロジ・ファイル内に経路指定指示"n-i-t"が
存在すると、ポート4乃至7に入力するパケットは、チ
ップ上のポート0乃至3からだけ出力するようにその経
路指定が制限される。すなわち、そのパケットはチップ
内で方向を反転することを禁止される。しかしなが
ら、"n-i-t"指示は、スイッチ・チップの任意のポート
0乃至3に到来するパケットに対しては制限せず、これ
はそのチップ上の任意の他のポートに経路指定される。
デッドロック回避指示を有するトポロジ・ファイル内の
サンプル行は次の通りである。
【数1】aux routing n-i-t 330 331 332 333 ここで、"aux routing"は、経路指定指示を有する補助
行を意味する。そして、"330 331 332 333"は、トポロ
ジ・ファイル内で使用されるフォーマットの特定のスイ
ッチ回路の数値識別子である。
行を意味する。そして、"330 331 332 333"は、トポロ
ジ・ファイル内で使用されるフォーマットの特定のスイ
ッチ回路の数値識別子である。
【0053】ブロック610が完全に実行されると、実
行はブロック620に移行し、トポロジ・ファイル内で
指定される各ケーブル(リンク)に関連する重みを0に
設定する。更に出所ノード・カウンタに相当するノード
iが0に初期化される。その後、実行はブロック630
に移行する。この特定のブロックはトポロジ・ファイル
内に含まれるデータと付随するデッドロック回避経路指
定指示とを一緒に使用することにより、パケット・ネッ
トワークを通じて現出所ノード(ノードi)をシステム
内のあらゆる宛先ノードに接続するために使用可能な経
路のセットを抽出する。具体的には、既知のブレッドス
・ファースト探索(breadth-first search)により、最
短長を有する経路、すなわち必ずしも物理的に最短長を
有するわけではないが、最少の個々のリンク(ケーブ
ル)を有する経路が選択される。上述された各スイッチ
回路に関連するデッドロック回避経路選択を表す擬似コ
ードを次に示す。
行はブロック620に移行し、トポロジ・ファイル内で
指定される各ケーブル(リンク)に関連する重みを0に
設定する。更に出所ノード・カウンタに相当するノード
iが0に初期化される。その後、実行はブロック630
に移行する。この特定のブロックはトポロジ・ファイル
内に含まれるデータと付随するデッドロック回避経路指
定指示とを一緒に使用することにより、パケット・ネッ
トワークを通じて現出所ノード(ノードi)をシステム
内のあらゆる宛先ノードに接続するために使用可能な経
路のセットを抽出する。具体的には、既知のブレッドス
・ファースト探索(breadth-first search)により、最
短長を有する経路、すなわち必ずしも物理的に最短長を
有するわけではないが、最少の個々のリンク(ケーブ
ル)を有する経路が選択される。上述された各スイッチ
回路に関連するデッドロック回避経路選択を表す擬似コ
ードを次に示す。
【数2】case of routing_directive is { "nr":total_permissible_oports=8; /*スイッチ・チップ上の全出力ポート*/ "n-i-t":if(input_port<4) total_permissible_oports=8; else total_permissible_oports=4; } i=0; while(i<total_permissible_oports) do { permissible_oport[i]=i i=i+1 }
【0054】最短パス経路のセットの選択は、ブロック
640に示されるように、経路が現出所ノードから全て
の宛先ノードに延びるまで、すなわち経路が宛先ベース
になるまで出所ベースで発生する。1つの最短長経路だ
けが出所ノードから宛先ノードに生じる場合、その経路
が選択されて使用される。或いは複数のこうした経路が
この出所ノードと共通宛先ノード間で生じる場合、集合
的に最低の重みのケーブルを有する経路が選択される。
重みベースの選択により、パケット・ネットワーク全体
を通じて最小のケーブルの共用を維持するように、トラ
フィック負荷が平衡される。出所ノードと宛先ノードの
間で特性の経路が選択されると、その経路内の各ケーブ
ルに関連する重みが1だけ増分される。ブロック630
及び640は、理解を容易にするために別個のブロック
として示されるが、オペレーションは一般に結合され
る。
640に示されるように、経路が現出所ノードから全て
の宛先ノードに延びるまで、すなわち経路が宛先ベース
になるまで出所ベースで発生する。1つの最短長経路だ
けが出所ノードから宛先ノードに生じる場合、その経路
が選択されて使用される。或いは複数のこうした経路が
この出所ノードと共通宛先ノード間で生じる場合、集合
的に最低の重みのケーブルを有する経路が選択される。
重みベースの選択により、パケット・ネットワーク全体
を通じて最小のケーブルの共用を維持するように、トラ
フィック負荷が平衡される。出所ノードと宛先ノードの
間で特性の経路が選択されると、その経路内の各ケーブ
ルに関連する重みが1だけ増分される。ブロック630
及び640は、理解を容易にするために別個のブロック
として示されるが、オペレーションは一般に結合され
る。
【0055】全ての宛先ノードに対応して全ての経路が
選択されると、実行はブロック650に移行し、全ての
選択経路を大域経路テーブルに書込む。これにより現出
所ノードに対する経路テーブルが形成される。その後、
実行は判断ブロック660に移行し、ネットワーク内の
あらゆるノードに対して、経路テーブルが大域経路テー
ブルに書込まれたかどうかを判断する。経路テーブルが
あらゆるノードに対して書込まれていない場合には、判
断ブロック660は実行を否定パス667を介して、ブ
ロック670に移行させる。この後者のブロックの実行
により、出所ノード・カウンタiが1増分される。実行
は次にパス675を介して、ブロック630へループし
て戻り、次に続くノードの経路を判断しそれを書込む。
或いは経路テーブルが全てのノードについて書込まれる
と、実行は判断ブロック660からの肯定パス663を
介して、ルーチン600を終了する。このルーチンの実
行の後、初期化処理の完了に先立ち、上述のサービス・
プロセッサはネットワークを通じ、大域経路テーブルの
対応部分を、自身を含む各々の及びあらゆる個々の処理
要素に提供する(特にコピーする)。そして、こうして
記憶されたものが、後に局所経路テーブルとして使用さ
れる。この部分は、その特定の処理要素が出所ノードの
時に選択される経路を含むだけである。
選択されると、実行はブロック650に移行し、全ての
選択経路を大域経路テーブルに書込む。これにより現出
所ノードに対する経路テーブルが形成される。その後、
実行は判断ブロック660に移行し、ネットワーク内の
あらゆるノードに対して、経路テーブルが大域経路テー
ブルに書込まれたかどうかを判断する。経路テーブルが
あらゆるノードに対して書込まれていない場合には、判
断ブロック660は実行を否定パス667を介して、ブ
ロック670に移行させる。この後者のブロックの実行
により、出所ノード・カウンタiが1増分される。実行
は次にパス675を介して、ブロック630へループし
て戻り、次に続くノードの経路を判断しそれを書込む。
或いは経路テーブルが全てのノードについて書込まれる
と、実行は判断ブロック660からの肯定パス663を
介して、ルーチン600を終了する。このルーチンの実
行の後、初期化処理の完了に先立ち、上述のサービス・
プロセッサはネットワークを通じ、大域経路テーブルの
対応部分を、自身を含む各々の及びあらゆる個々の処理
要素に提供する(特にコピーする)。そして、こうして
記憶されたものが、後に局所経路テーブルとして使用さ
れる。この部分は、その特定の処理要素が出所ノードの
時に選択される経路を含むだけである。
【0056】これまでの説明から当業者には理解される
ように、本発明は512の別々の処理要素を有する大容
量並列処理システムに関連して述べられてきたが、もち
ろんこれに限るものではない。実際に、本発明は実質的
に双方向マルチステージ相互接続クロスポイント・ベー
ス・パケット・ネットワークを使用する任意のサイズの
並列処理システムにおける、経路指定デッドロックの回
避にも適用される。その点に関し、本発明は64プロセ
ッサ・システム、256プロセッサ・システム、及び他
のサイズの類似のシステム、並びにマルチステージ相互
接続クロスポイント・パケット・ネットワークを使用す
る他のシステムにそれらの最終利用に関係無く、容易に
組込むことが可能である。
ように、本発明は512の別々の処理要素を有する大容
量並列処理システムに関連して述べられてきたが、もち
ろんこれに限るものではない。実際に、本発明は実質的
に双方向マルチステージ相互接続クロスポイント・ベー
ス・パケット・ネットワークを使用する任意のサイズの
並列処理システムにおける、経路指定デッドロックの回
避にも適用される。その点に関し、本発明は64プロセ
ッサ・システム、256プロセッサ・システム、及び他
のサイズの類似のシステム、並びにマルチステージ相互
接続クロスポイント・パケット・ネットワークを使用す
る他のシステムにそれらの最終利用に関係無く、容易に
組込むことが可能である。
【0057】更に、本発明の教示はパケット・ネットワ
ークを2つの別々の半分に区分し、それらの間の経路指
定を制限する状況において述べられたが、こうしたネッ
トワークは本発明により任意の数の別々の区分に分割さ
れ、これらの各区分内だけをもっぱら通過するパケット
・トラフィックを分離するように編成される。もちろ
ん、区分数が増加すると、それに伴い区分化を達成する
ために必要となる禁止経路の数も増加する。残念なが
ら、禁止経路の数が増えるとパケット・トラフィックを
伝搬する使用可能な経路が減少し、従って、ネットワー
クの伝送帯域幅が減少する。支障の無い帯域幅の減少を
鑑みると、達成されるパケット分離及びデッドロック回
避の点から、2つの区分が優れたトレードオフを提供す
ることが判明した。
ークを2つの別々の半分に区分し、それらの間の経路指
定を制限する状況において述べられたが、こうしたネッ
トワークは本発明により任意の数の別々の区分に分割さ
れ、これらの各区分内だけをもっぱら通過するパケット
・トラフィックを分離するように編成される。もちろ
ん、区分数が増加すると、それに伴い区分化を達成する
ために必要となる禁止経路の数も増加する。残念なが
ら、禁止経路の数が増えるとパケット・トラフィックを
伝搬する使用可能な経路が減少し、従って、ネットワー
クの伝送帯域幅が減少する。支障の無い帯域幅の減少を
鑑みると、達成されるパケット分離及びデッドロック回
避の点から、2つの区分が優れたトレードオフを提供す
ることが判明した。
【0058】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0059】(1)パケット・ネットワークの外部の複
数のノードを集合的に相互接続するクロスポイント・ス
イッチの連続ステージを含む前記ネットワークを有する
装置において、パケットが前記ネットワーク及び少なく
とも1つの前記スイッチを介して、規定経路上を第1の
前記ノードから第2の前記ノードに伝搬されるものにお
いて、前記ネットワーク内における経路指定デッドロッ
クの発生を回避する実質的な方法であって、パケットが
前記複数のノード内の個々のノードから、異なる対応す
る前記経路を介して、前記複数のノードのあらゆる他の
ノードに伝搬されるように、前記ネットワークを介する
複数の規定経路を第1に定義するステップであって、前
記の各定義経路が少なくとも1つのリンクに伸び、第1
のネットワーク区分だけに接続される第1及び第2の前
記ノード間を通過するパケットが、第2のネットワーク
区分に伸びるリンクを有する経路上で伝搬されないよう
に、前記ネットワークを前記第1及び前記第2のネット
ワーク区分に分割するように前記規定経路を定義する、
前記第1の定義ステップと、全ての前記規定経路を結果
の経路テーブルに記憶するステップとを含む、方法。 (2)前記第1の定義ステップが、前記第1及び前記第
2のネットワーク区分にそれぞれ接続される第3及び第
4のノード間を通過するパケットが、前記第1及び前記
第2のネットワーク区分間に伸びる少なくとも1つのリ
ンクを有する経路上で伝搬されるように、前記複数の規
定経路を定義する第2の定義ステップを含む、前記
(1)記載の方法。 (3)前記ネットワーク内において出所ノードから宛先
ノードに経路指定されるパケットをアセンブルする際
に、前記第3及び前記第4の両ノード内において、前記
パケットの結果的経路を生成するために、前記経路テー
ブルをアクセスするステップと、前記結果的経路を前記
パケットにコピーするステップと、前記パケットを前記
結果的経路上で前記ネットワークを介して経路指定する
ステップとを含む、前記(2)記載の方法。 (4)前記経路テーブルの異なる部分を、前記複数の各
ノードに対応する別々の局所経路テーブルにダウンロー
ドするステップであって、前記の各経路テーブル部分が
前記各ノードを出所ノードとして有する全ての前記規定
経路を指定する、前記ダウンロード・ステップを含み、
前記経路コピー・ステップが、前記出所ノードから前記
宛先ノードに伝搬されるパケットの前記結果的経路を生
成するために、前記パケットの前記宛先ノードにもとづ
き、前記出所ノードの前記局所経路テーブルをアクセス
するステップを含む、前記(3)記載の方法。 (5)前記の各パケットが少なくとも1つの経路バイト
を含む経路フィールドを有するヘッダを含み、前記経路
フィールドが前記各パケットが前記ネットワークを伝わ
る経路を集合的に指定し、各個々の前記経路バイトが前
記各パケットが対応する前記クロスポイント・スイッチ
の1つを横断する経路を定義し、前記結果的経路のコピ
ー・ステップが前記結果的経路内の各連続する前記経路
バイトの値を前記ヘッダ内の別々の対応する連続経路バ
イトにコピーするステップを含む、前記(4)記載の方
法。 (6)各ネットワーク区分が前記ネットワークの異なる
半分を構成する、前記(5)記載の方法。 (7)前記装置をサービス・フェーズ及び実行フェーズ
で動作させるステップであって、前記第1の定義ステッ
プ及び前記規定経路記憶ステップを前記サービス・フェ
ーズの間に実行し、前記結果的経路アクセス・ステッ
プ、前記結果的経路コピー・ステップ及び前記パケット
経路指定ステップを前記実行フェーズの間に実行する前
記動作ステップを含む、前記(5)記載の方法。 (8)前記第1の定義ステップが、トポロジ・ファイル
内のネットワーク装置及び相互接続データに応答して、
出所ノードとしての前記の各ノードから、宛先ノードと
してのあらゆる他の使用可能な前記ノードの1つへの全
ての使用可能な最短パス経路を決定するステップであっ
て、前記トポロジ・ファイル内に含まれるある前記装置
に対するデッドロック回避指示により禁止される前記装
置を通過するパスを有する経路を、前記最短パス経路か
ら除外する、前記決定ステップと、ある前記出所ノード
とある前記宛先ノード間で1つの前記最短パス経路が存
在する場合、前記最短パス経路を前記経路テーブルに、
前記出所ノードと前記宛先ノード間の規定経路として書
込むステップと、ある前記出所ノードとある前記宛先ノ
ード間で複数の最短パス経路が存在する場合、前記最短
パス経路の中から、集合的に最小の重みを有する1つの
前記最短パス経路を、前記出所ノードと前記宛先ノード
間の前記規定経路として選択するステップと、前記規定
経路内の各リンクに対応する別々の重みを、予め定義さ
れた量だけ増分するステップとを含む、前記(5)記載
の方法。 (9)前記全ての使用可能な経路の決定ステップが、前
記全ての使用可能な最短パス経路を突き止めるブレッド
ス・ファースト探索を実行するステップを含む、前記
(8)記載の方法。 (10)前記装置をサービス・フェーズ及び実行フェー
ズで動作させるステップであって、前記第1の定義ステ
ップ及び前記規定経路記憶ステップを前記サービス・フ
ェーズの間に実行し、前記結果的経路アクセス・ステッ
プ、前記結果的経路コピー・ステップ及び前記パケット
経路指定ステップを前記実行フェーズの間に実行する前
記動作ステップを含む、前記(9)記載の方法。 (11)各ネットワーク区分が前記ネットワークの異な
る半分を構成する、前記(10)記載の方法。 (12)パケット・ネットワークの外部の複数のノード
を集合的に相互接続するクロスポイント・スイッチの連
続ステージを含む前記ネットワークを有するシステムに
おいて、パケットが前記ネットワーク及び少なくとも1
つの前記スイッチを介して、規定経路上を第1の前記ノ
ードから第2の前記ノードに伝搬されるものにおいて、
前記ネットワーク内における経路指定デッドロックの発
生を回避する装置であって、パケットが前記複数のノー
ド内の個々のノードから、異なる対応する前記経路を介
して、前記複数のノードのあらゆる他のノードに伝搬さ
れるように、前記ネットワークを介する複数の規定経路
を定義する第1の手段であって、前記の各定義経路が少
なくとも1つのリンクに伸び、第1のネットワーク区分
だけに接続される第1及び第2の前記ノード間を通過す
るパケットが、第2のネットワーク区分に伸びるリンク
を有する経路上で伝搬されないように、前記ネットワー
クを前記第1及び前記第2のネットワーク区分に分割す
るように前記規定経路を定義する、前記第1の定義手段
と、全ての前記規定経路を結果の経路テーブルに記憶す
る手段とを含む装置。 (13)前記第1の定義手段が、前記第1及び前記第2
のネットワーク区分にそれぞれ接続される第3及び第4
のノード間を通過するパケットが、前記第1及び前記第
2のネットワーク区分間に伸びる少なくとも1つのリン
クを有する経路上で伝搬されるように、前記複数の規定
経路を定義する、前記(12)記載の装置。 (14)前記ネットワーク内において出所ノードから宛
先ノードに経路指定されるパケットをアセンブルする間
に、前記第3及び前記第4の両ノード内において、前記
パケットの結果的経路を生成するために、前記経路テー
ブルをアクセスし、前記結果的経路を前記パケットにコ
ピーし、前記パケットを前記結果的経路上で前記ネット
ワークを介して経路指定する手段を含む、前記(13)
記載の装置。 (15)前記経路テーブルの異なる部分がダウンロード
される前記複数の各ノードに対応する別々の局所経路テ
ーブルであって、前記の各経路テーブル部分が前記各ノ
ードを出所ノードとして有する全ての前記規定経路を指
定する、前記局所経路テーブルと、前記出所ノードから
前記宛先ノードに伝搬されるパケットの前記結果的経路
を生成するために、前記パケットの前記宛先ノードにも
とづき、前記出所ノードの前記局所経路テーブルをアク
セスする手段とを含む、前記(14)記載の装置。 (16)前記の各パケットが少なくとも1つの経路バイ
トを含む経路フィールドを有するヘッダを含み、前記経
路フィールドが前記各パケットが前記ネットワークを伝
わる経路を集合的に指定し、各個々の前記経路バイトが
前記各パケットが対応する前記クロスポイント・スイッ
チの1つを横断する経路を定義し、前記結果的経路内の
各連続する前記経路バイトの値を、前記ヘッダ内の別々
の対応する連続経路バイトにコピーする、前記(15)
記載の装置。 (17)各ネットワーク区分が前記ネットワークの異な
る半分を構成する、前記(16)記載の装置。 (18)前記第1の定義手段が、トポロジ・ファイル内
のネットワーク装置及び相互接続データに応答して、出
所ノードとしての前記の各ノードから、宛先ノードとし
てのあらゆる他の使用可能な前記ノードの1つへの全て
の使用可能な最短パス経路を決定する手段であって、前
記トポロジ・ファイル内に含まれるある前記装置に対す
るデッドロック回避指示により禁止される前記装置を通
過するパスを有する経路を、前記最短パス経路から除外
する、前記決定手段と、ある前記出所ノードとある前記
宛先ノード間で1つの前記最短パス経路が存在する場
合、前記最短パス経路を前記経路テーブルに、前記出所
ノードと前記宛先ノード間の規定経路として書込む手段
と、ある前記出所ノードとある前記宛先ノード間で複数
の最短パス経路が存在する場合、前記最短パス経路の中
から、集合的に最小の重みを有する1つの前記最短パス
経路を、前記出所ノードと前記宛先ノード間の前記規定
経路として選択する手段と、前記規定経路内の各リンク
に対応する別々の重みを、予め定義された量だけ増分す
る手段とを含む、前記(16)記載の装置。 (19)前記システムが並列処理システムであり、前記
の各ノードが別々の処理要素を含む、前記(16)記載
の装置。 (20)前記並列処理システムが512個の別々の処理
要素を含み、前記スイッチが32ポート・スイッチ・ボ
ードに編成され、前記システムが32個のノード・スイ
ッチ・ボード(NSB)と16個の中間スイッチ・ボー
ド(ISB)による複数のスイッチ・ボードを含み、前
記ISBが、前記の各NSB上の16ポートのそれぞれ
が、異なる対応するリンクを介して、前記の各NSB上
の同一の対応するポートに接続されるように、また前記
の各NSB上の残りの16ポートが16個の異なる連続
する前記処理要素に接続されるように、全ての前記NS
Bを集合的に相互接続する、前記(19)記載の装置。
数のノードを集合的に相互接続するクロスポイント・ス
イッチの連続ステージを含む前記ネットワークを有する
装置において、パケットが前記ネットワーク及び少なく
とも1つの前記スイッチを介して、規定経路上を第1の
前記ノードから第2の前記ノードに伝搬されるものにお
いて、前記ネットワーク内における経路指定デッドロッ
クの発生を回避する実質的な方法であって、パケットが
前記複数のノード内の個々のノードから、異なる対応す
る前記経路を介して、前記複数のノードのあらゆる他の
ノードに伝搬されるように、前記ネットワークを介する
複数の規定経路を第1に定義するステップであって、前
記の各定義経路が少なくとも1つのリンクに伸び、第1
のネットワーク区分だけに接続される第1及び第2の前
記ノード間を通過するパケットが、第2のネットワーク
区分に伸びるリンクを有する経路上で伝搬されないよう
に、前記ネットワークを前記第1及び前記第2のネット
ワーク区分に分割するように前記規定経路を定義する、
前記第1の定義ステップと、全ての前記規定経路を結果
の経路テーブルに記憶するステップとを含む、方法。 (2)前記第1の定義ステップが、前記第1及び前記第
2のネットワーク区分にそれぞれ接続される第3及び第
4のノード間を通過するパケットが、前記第1及び前記
第2のネットワーク区分間に伸びる少なくとも1つのリ
ンクを有する経路上で伝搬されるように、前記複数の規
定経路を定義する第2の定義ステップを含む、前記
(1)記載の方法。 (3)前記ネットワーク内において出所ノードから宛先
ノードに経路指定されるパケットをアセンブルする際
に、前記第3及び前記第4の両ノード内において、前記
パケットの結果的経路を生成するために、前記経路テー
ブルをアクセスするステップと、前記結果的経路を前記
パケットにコピーするステップと、前記パケットを前記
結果的経路上で前記ネットワークを介して経路指定する
ステップとを含む、前記(2)記載の方法。 (4)前記経路テーブルの異なる部分を、前記複数の各
ノードに対応する別々の局所経路テーブルにダウンロー
ドするステップであって、前記の各経路テーブル部分が
前記各ノードを出所ノードとして有する全ての前記規定
経路を指定する、前記ダウンロード・ステップを含み、
前記経路コピー・ステップが、前記出所ノードから前記
宛先ノードに伝搬されるパケットの前記結果的経路を生
成するために、前記パケットの前記宛先ノードにもとづ
き、前記出所ノードの前記局所経路テーブルをアクセス
するステップを含む、前記(3)記載の方法。 (5)前記の各パケットが少なくとも1つの経路バイト
を含む経路フィールドを有するヘッダを含み、前記経路
フィールドが前記各パケットが前記ネットワークを伝わ
る経路を集合的に指定し、各個々の前記経路バイトが前
記各パケットが対応する前記クロスポイント・スイッチ
の1つを横断する経路を定義し、前記結果的経路のコピ
ー・ステップが前記結果的経路内の各連続する前記経路
バイトの値を前記ヘッダ内の別々の対応する連続経路バ
イトにコピーするステップを含む、前記(4)記載の方
法。 (6)各ネットワーク区分が前記ネットワークの異なる
半分を構成する、前記(5)記載の方法。 (7)前記装置をサービス・フェーズ及び実行フェーズ
で動作させるステップであって、前記第1の定義ステッ
プ及び前記規定経路記憶ステップを前記サービス・フェ
ーズの間に実行し、前記結果的経路アクセス・ステッ
プ、前記結果的経路コピー・ステップ及び前記パケット
経路指定ステップを前記実行フェーズの間に実行する前
記動作ステップを含む、前記(5)記載の方法。 (8)前記第1の定義ステップが、トポロジ・ファイル
内のネットワーク装置及び相互接続データに応答して、
出所ノードとしての前記の各ノードから、宛先ノードと
してのあらゆる他の使用可能な前記ノードの1つへの全
ての使用可能な最短パス経路を決定するステップであっ
て、前記トポロジ・ファイル内に含まれるある前記装置
に対するデッドロック回避指示により禁止される前記装
置を通過するパスを有する経路を、前記最短パス経路か
ら除外する、前記決定ステップと、ある前記出所ノード
とある前記宛先ノード間で1つの前記最短パス経路が存
在する場合、前記最短パス経路を前記経路テーブルに、
前記出所ノードと前記宛先ノード間の規定経路として書
込むステップと、ある前記出所ノードとある前記宛先ノ
ード間で複数の最短パス経路が存在する場合、前記最短
パス経路の中から、集合的に最小の重みを有する1つの
前記最短パス経路を、前記出所ノードと前記宛先ノード
間の前記規定経路として選択するステップと、前記規定
経路内の各リンクに対応する別々の重みを、予め定義さ
れた量だけ増分するステップとを含む、前記(5)記載
の方法。 (9)前記全ての使用可能な経路の決定ステップが、前
記全ての使用可能な最短パス経路を突き止めるブレッド
ス・ファースト探索を実行するステップを含む、前記
(8)記載の方法。 (10)前記装置をサービス・フェーズ及び実行フェー
ズで動作させるステップであって、前記第1の定義ステ
ップ及び前記規定経路記憶ステップを前記サービス・フ
ェーズの間に実行し、前記結果的経路アクセス・ステッ
プ、前記結果的経路コピー・ステップ及び前記パケット
経路指定ステップを前記実行フェーズの間に実行する前
記動作ステップを含む、前記(9)記載の方法。 (11)各ネットワーク区分が前記ネットワークの異な
る半分を構成する、前記(10)記載の方法。 (12)パケット・ネットワークの外部の複数のノード
を集合的に相互接続するクロスポイント・スイッチの連
続ステージを含む前記ネットワークを有するシステムに
おいて、パケットが前記ネットワーク及び少なくとも1
つの前記スイッチを介して、規定経路上を第1の前記ノ
ードから第2の前記ノードに伝搬されるものにおいて、
前記ネットワーク内における経路指定デッドロックの発
生を回避する装置であって、パケットが前記複数のノー
ド内の個々のノードから、異なる対応する前記経路を介
して、前記複数のノードのあらゆる他のノードに伝搬さ
れるように、前記ネットワークを介する複数の規定経路
を定義する第1の手段であって、前記の各定義経路が少
なくとも1つのリンクに伸び、第1のネットワーク区分
だけに接続される第1及び第2の前記ノード間を通過す
るパケットが、第2のネットワーク区分に伸びるリンク
を有する経路上で伝搬されないように、前記ネットワー
クを前記第1及び前記第2のネットワーク区分に分割す
るように前記規定経路を定義する、前記第1の定義手段
と、全ての前記規定経路を結果の経路テーブルに記憶す
る手段とを含む装置。 (13)前記第1の定義手段が、前記第1及び前記第2
のネットワーク区分にそれぞれ接続される第3及び第4
のノード間を通過するパケットが、前記第1及び前記第
2のネットワーク区分間に伸びる少なくとも1つのリン
クを有する経路上で伝搬されるように、前記複数の規定
経路を定義する、前記(12)記載の装置。 (14)前記ネットワーク内において出所ノードから宛
先ノードに経路指定されるパケットをアセンブルする間
に、前記第3及び前記第4の両ノード内において、前記
パケットの結果的経路を生成するために、前記経路テー
ブルをアクセスし、前記結果的経路を前記パケットにコ
ピーし、前記パケットを前記結果的経路上で前記ネット
ワークを介して経路指定する手段を含む、前記(13)
記載の装置。 (15)前記経路テーブルの異なる部分がダウンロード
される前記複数の各ノードに対応する別々の局所経路テ
ーブルであって、前記の各経路テーブル部分が前記各ノ
ードを出所ノードとして有する全ての前記規定経路を指
定する、前記局所経路テーブルと、前記出所ノードから
前記宛先ノードに伝搬されるパケットの前記結果的経路
を生成するために、前記パケットの前記宛先ノードにも
とづき、前記出所ノードの前記局所経路テーブルをアク
セスする手段とを含む、前記(14)記載の装置。 (16)前記の各パケットが少なくとも1つの経路バイ
トを含む経路フィールドを有するヘッダを含み、前記経
路フィールドが前記各パケットが前記ネットワークを伝
わる経路を集合的に指定し、各個々の前記経路バイトが
前記各パケットが対応する前記クロスポイント・スイッ
チの1つを横断する経路を定義し、前記結果的経路内の
各連続する前記経路バイトの値を、前記ヘッダ内の別々
の対応する連続経路バイトにコピーする、前記(15)
記載の装置。 (17)各ネットワーク区分が前記ネットワークの異な
る半分を構成する、前記(16)記載の装置。 (18)前記第1の定義手段が、トポロジ・ファイル内
のネットワーク装置及び相互接続データに応答して、出
所ノードとしての前記の各ノードから、宛先ノードとし
てのあらゆる他の使用可能な前記ノードの1つへの全て
の使用可能な最短パス経路を決定する手段であって、前
記トポロジ・ファイル内に含まれるある前記装置に対す
るデッドロック回避指示により禁止される前記装置を通
過するパスを有する経路を、前記最短パス経路から除外
する、前記決定手段と、ある前記出所ノードとある前記
宛先ノード間で1つの前記最短パス経路が存在する場
合、前記最短パス経路を前記経路テーブルに、前記出所
ノードと前記宛先ノード間の規定経路として書込む手段
と、ある前記出所ノードとある前記宛先ノード間で複数
の最短パス経路が存在する場合、前記最短パス経路の中
から、集合的に最小の重みを有する1つの前記最短パス
経路を、前記出所ノードと前記宛先ノード間の前記規定
経路として選択する手段と、前記規定経路内の各リンク
に対応する別々の重みを、予め定義された量だけ増分す
る手段とを含む、前記(16)記載の装置。 (19)前記システムが並列処理システムであり、前記
の各ノードが別々の処理要素を含む、前記(16)記載
の装置。 (20)前記並列処理システムが512個の別々の処理
要素を含み、前記スイッチが32ポート・スイッチ・ボ
ードに編成され、前記システムが32個のノード・スイ
ッチ・ボード(NSB)と16個の中間スイッチ・ボー
ド(ISB)による複数のスイッチ・ボードを含み、前
記ISBが、前記の各NSB上の16ポートのそれぞれ
が、異なる対応するリンクを介して、前記の各NSB上
の同一の対応するポートに接続されるように、また前記
の各NSB上の残りの16ポートが16個の異なる連続
する前記処理要素に接続されるように、全ての前記NS
Bを集合的に相互接続する、前記(19)記載の装置。
【0060】
【発明の効果】以上説明したように、本発明によれば、
大規模双方向マルチステージ相互接続クロスポイント・
スイッチ・ベース・パケット・ネットワークにおいて、
デッドロックの無い経路指定を確立する単純でコスト・
パフォーマンスの良い装置及び方法が提供される。
大規模双方向マルチステージ相互接続クロスポイント・
スイッチ・ベース・パケット・ネットワークにおいて、
デッドロックの無い経路指定を確立する単純でコスト・
パフォーマンスの良い装置及び方法が提供される。
【図1】32個の別々の処理要素を使用する従来の並列
処理システム5のハイレベル・ブロック図である。
処理システム5のハイレベル・ブロック図である。
【図2】図1に示されるシステム5を通過するパケット
300及びその構成フィールドを表す図である。
300及びその構成フィールドを表す図である。
【図3】図1に示されるシステム5を構成する処理ノー
ド110、及び特にこれらのノードのメモリ内に存在し
てパケット経路指定を達成する様々なファイル及びテー
ブルを示す図である。
ド110、及び特にこれらのノードのメモリ内に存在し
てパケット経路指定を達成する様々なファイル及びテー
ブルを示す図である。
【図4】512の処理要素を含み、本発明の教示を使用
する並列処理システム400のハイレベル・ブロック図
である。
する並列処理システム400のハイレベル・ブロック図
である。
【図5】システム400内に配置される中間スイッチ・
ボード(ISB)及びそれらの相互接続ノード・スイッ
チ・ボード(NSB)を示し、パケット経路の例が本発
明の教示により決定される。
ボード(ISB)及びそれらの相互接続ノード・スイッ
チ・ボード(NSB)を示し、パケット経路の例が本発
明の教示により決定される。
【図6】サービス・プロセッサ内で実行される経路テー
ブル発生器ルーチン600のハイレベル流れ図であり、
図4に示される処理要素415511が、本発明の教示に
よりパケット経路を定義するためにシステム400内に
配置される。
ブル発生器ルーチン600のハイレベル流れ図であり、
図4に示される処理要素415511が、本発明の教示に
よりパケット経路を定義するためにシステム400内に
配置される。
5、400 32プロセッサ並列処理システム 100 ノード・パケット・スイッチ 110 処理要素、処理ノード 120 8×8双方向スイッチ回路 140、450 接続マトリックス 200 パケット 210 長さフィールド 220 経路指定フィールド 230 シーケンス番号フィールド 240 データ・フィールド 320、380 局所経路テーブル 340 メモリ 350 トポロジ・ファイル 360 大域経路テーブル 370 初期化ルーチン 460 IBS 600 経路テーブル発生器ルーチン 667 否定パス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロバート・フレデリック・スタッケ アメリカ合衆国12477、ニューヨーク州ソ ガティーズ、リッジ・ロード 14 (72)発明者 クレイグ・ブライアン・スタンケル アメリカ合衆国06801、コネチカット州ベ スル、グリーン・パスチャー・ロード 10
Claims (20)
- 【請求項1】パケット・ネットワークの外部の複数のノ
ードを集合的に相互接続するクロスポイント・スイッチ
の連続ステージを含む前記ネットワークを有する装置に
おいて、パケットが前記ネットワーク及び少なくとも1
つの前記スイッチを介して、規定経路上を第1の前記ノ
ードから第2の前記ノードに伝搬されるものにおいて、
前記ネットワーク内における経路指定デッドロックの発
生を回避する実質的な方法であって、 パケットが前記複数のノード内の個々のノードから、異
なる対応する前記経路を介して、前記複数のノードのあ
らゆる他のノードに伝搬されるように、前記ネットワー
クを介する複数の規定経路を第1に定義するステップで
あって、前記の各定義経路が少なくとも1つのリンクに
伸び、第1のネットワーク区分だけに接続される第1及
び第2の前記ノード間を通過するパケットが、第2のネ
ットワーク区分に伸びるリンクを有する経路上で伝搬さ
れないように、前記ネットワークを前記第1及び前記第
2のネットワーク区分に分割するように前記規定経路を
定義する、前記第1の定義ステップと、 全ての前記規定経路を結果の経路テーブルに記憶するス
テップと、 を含む、方法。 - 【請求項2】前記第1の定義ステップが、前記第1及び
前記第2のネットワーク区分にそれぞれ接続される第3
及び第4のノード間を通過するパケットが、前記第1及
び前記第2のネットワーク区分間に伸びる少なくとも1
つのリンクを有する経路上で伝搬されるように、前記複
数の規定経路を定義する第2の定義ステップを含む、請
求項1記載の方法。 - 【請求項3】前記ネットワーク内において出所ノードか
ら宛先ノードに経路指定されるパケットをアセンブルす
る際に、前記第3及び前記第4の両ノード内において、
前記パケットの結果的経路を生成するために、前記経路
テーブルをアクセスするステップと、 前記結果的経路を前記パケットにコピーするステップ
と、 前記パケットを前記結果的経路上で前記ネットワークを
介して経路指定するステップと、 を含む、請求項2記載の方法。 - 【請求項4】前記経路テーブルの異なる部分を、前記複
数の各ノードに対応する別々の局所経路テーブルにダウ
ンロードするステップであって、前記の各経路テーブル
部分が前記各ノードを出所ノードとして有する全ての前
記規定経路を指定する、前記ダウンロード・ステップを
含み、 前記経路コピー・ステップが、前記出所ノードから前記
宛先ノードに伝搬されるパケットの前記結果的経路を生
成するために、前記パケットの前記宛先ノードにもとづ
き、前記出所ノードの前記局所経路テーブルをアクセス
するステップを含む、請求項3記載の方法。 - 【請求項5】前記の各パケットが少なくとも1つの経路
バイトを含む経路フィールドを有するヘッダを含み、前
記経路フィールドが前記各パケットが前記ネットワーク
を伝わる経路を集合的に指定し、各個々の前記経路バイ
トが前記各パケットが対応する前記クロスポイント・ス
イッチの1つを横断する経路を定義し、前記結果的経路
のコピー・ステップが前記結果的経路内の各連続する前
記経路バイトの値を前記ヘッダ内の別々の対応する連続
経路バイトにコピーするステップを含む、請求項4記載
の方法。 - 【請求項6】各ネットワーク区分が前記ネットワークの
異なる半分を構成する、請求項5記載の方法。 - 【請求項7】前記装置をサービス・フェーズ及び実行フ
ェーズで動作させるステップであって、前記第1の定義
ステップ及び前記規定経路記憶ステップを前記サービス
・フェーズの間に実行し、前記結果的経路アクセス・ス
テップ、前記結果的経路コピー・ステップ及び前記パケ
ット経路指定ステップを前記実行フェーズの間に実行す
る前記動作ステップを含む、請求項5記載の方法。 - 【請求項8】前記第1の定義ステップが、 トポロジ・ファイル内のネットワーク装置及び相互接続
データに応答して、出所ノードとしての前記の各ノード
から、宛先ノードとしてのあらゆる他の使用可能な前記
ノードの1つへの全ての使用可能な最短パス経路を決定
するステップであって、前記トポロジ・ファイル内に含
まれるある前記装置に対するデッドロック回避指示によ
り禁止される前記装置を通過するパスを有する経路を、
前記最短パス経路から除外する、前記決定ステップと、 ある前記出所ノードとある前記宛先ノード間で1つの前
記最短パス経路が存在する場合、前記最短パス経路を前
記経路テーブルに、前記出所ノードと前記宛先ノード間
の規定経路として書込むステップと、 ある前記出所ノードとある前記宛先ノード間で複数の最
短パス経路が存在する場合、前記最短パス経路の中か
ら、集合的に最小の重みを有する1つの前記最短パス経
路を、前記出所ノードと前記宛先ノード間の前記規定経
路として選択するステップと、 前記規定経路内の各リンクに対応する別々の重みを、予
め定義された量だけ増分するステップと、 を含む、請求項5記載の方法。 - 【請求項9】前記全ての使用可能な経路の決定ステップ
が、前記全ての使用可能な最短パス経路を突き止めるブ
レッドス・ファースト探索を実行するステップを含む、
請求項8記載の方法。 - 【請求項10】前記装置をサービス・フェーズ及び実行
フェーズで動作させるステップであって、前記第1の定
義ステップ及び前記規定経路記憶ステップを前記サービ
ス・フェーズの間に実行し、前記結果的経路アクセス・
ステップ、前記結果的経路コピー・ステップ及び前記パ
ケット経路指定ステップを前記実行フェーズの間に実行
する前記動作ステップを含む、請求項9記載の方法。 - 【請求項11】各ネットワーク区分が前記ネットワーク
の異なる半分を構成する、請求項10記載の方法。 - 【請求項12】パケット・ネットワークの外部の複数の
ノードを集合的に相互接続するクロスポイント・スイッ
チの連続ステージを含む前記ネットワークを有するシス
テムにおいて、パケットが前記ネットワーク及び少なく
とも1つの前記スイッチを介して、規定経路上を第1の
前記ノードから第2の前記ノードに伝搬されるものにお
いて、前記ネットワーク内における経路指定デッドロッ
クの発生を回避する装置であって、 パケットが前記複数のノード内の個々のノードから、異
なる対応する前記経路を介して、前記複数のノードのあ
らゆる他のノードに伝搬されるように、前記ネットワー
クを介する複数の規定経路を定義する第1の手段であっ
て、前記の各定義経路が少なくとも1つのリンクに伸
び、第1のネットワーク区分だけに接続される第1及び
第2の前記ノード間を通過するパケットが、第2のネッ
トワーク区分に伸びるリンクを有する経路上で伝搬され
ないように、前記ネットワークを前記第1及び前記第2
のネットワーク区分に分割するように前記規定経路を定
義する、前記第1の定義手段と、 全ての前記規定経路を結果の経路テーブルに記憶する手
段と、 を含む装置。 - 【請求項13】前記第1の定義手段が、前記第1及び前
記第2のネットワーク区分にそれぞれ接続される第3及
び第4のノード間を通過するパケットが、前記第1及び
前記第2のネットワーク区分間に伸びる少なくとも1つ
のリンクを有する経路上で伝搬されるように、前記複数
の規定経路を定義する、請求項12記載の装置。 - 【請求項14】前記ネットワーク内において出所ノード
から宛先ノードに経路指定されるパケットをアセンブル
する間に、前記第3及び前記第4の両ノード内におい
て、前記パケットの結果的経路を生成するために、前記
経路テーブルをアクセスし、前記結果的経路を前記パケ
ットにコピーし、前記パケットを前記結果的経路上で前
記ネットワークを介して経路指定する手段を含む、請求
項13記載の装置。 - 【請求項15】前記経路テーブルの異なる部分がダウン
ロードされる前記複数の各ノードに対応する別々の局所
経路テーブルであって、前記の各経路テーブル部分が前
記各ノードを出所ノードとして有する全ての前記規定経
路を指定する、前記局所経路テーブルと、 前記出所ノードから前記宛先ノードに伝搬されるパケッ
トの前記結果的経路を生成するために、前記パケットの
前記宛先ノードにもとづき、前記出所ノードの前記局所
経路テーブルをアクセスする手段と、 を含む、請求項14記載の装置。 - 【請求項16】前記の各パケットが少なくとも1つの経
路バイトを含む経路フィールドを有するヘッダを含み、
前記経路フィールドが前記各パケットが前記ネットワー
クを伝わる経路を集合的に指定し、各個々の前記経路バ
イトが前記各パケットが対応する前記クロスポイント・
スイッチの1つを横断する経路を定義し、前記結果的経
路内の各連続する前記経路バイトの値を、前記ヘッダ内
の別々の対応する連続経路バイトにコピーする、請求項
15記載の装置。 - 【請求項17】各ネットワーク区分が前記ネットワーク
の異なる半分を構成する、請求項16記載の装置。 - 【請求項18】前記第1の定義手段が、 トポロジ・ファイル内のネットワーク装置及び相互接続
データに応答して、出所ノードとしての前記の各ノード
から、宛先ノードとしてのあらゆる他の使用可能な前記
ノードの1つへの全ての使用可能な最短パス経路を決定
する手段であって、前記トポロジ・ファイル内に含まれ
るある前記装置に対するデッドロック回避指示により禁
止される前記装置を通過するパスを有する経路を、前記
最短パス経路から除外する、前記決定手段と、 ある前記出所ノードとある前記宛先ノード間で1つの前
記最短パス経路が存在する場合、前記最短パス経路を前
記経路テーブルに、前記出所ノードと前記宛先ノード間
の規定経路として書込む手段と、 ある前記出所ノードとある前記宛先ノード間で複数の最
短パス経路が存在する場合、前記最短パス経路の中か
ら、集合的に最小の重みを有する1つの前記最短パス経
路を、前記出所ノードと前記宛先ノード間の前記規定経
路として選択する手段と、 前記規定経路内の各リンクに対応する別々の重みを、予
め定義された量だけ増分する手段と、 を含む、請求項16記載の装置。 - 【請求項19】前記システムが並列処理システムであ
り、前記の各ノードが別々の処理要素を含む、請求項1
6記載の装置。 - 【請求項20】前記並列処理システムが512個の別々
の処理要素を含み、前記スイッチが32ポート・スイッ
チ・ボードに編成され、前記システムが32個のノード
・スイッチ・ボード(NSB)と16個の中間スイッチ
・ボード(ISB)による複数のスイッチ・ボードを含
み、前記ISBが、前記の各NSB上の16ポートのそ
れぞれが、異なる対応するリンクを介して、前記の各N
SB上の同一の対応するポートに接続されるように、ま
た前記の各NSB上の残りの16ポートが16個の異な
る連続する前記処理要素に接続されるように、全ての前
記NSBを集合的に相互接続する、請求項19記載の装
置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US222284 | 1994-04-04 | ||
| US08/222,284 US5453978A (en) | 1994-04-04 | 1994-04-04 | Technique for accomplishing deadlock free routing through a multi-stage cross-point packet switch |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07282018A true JPH07282018A (ja) | 1995-10-27 |
| JP2817770B2 JP2817770B2 (ja) | 1998-10-30 |
Family
ID=22831629
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7012797A Expired - Fee Related JP2817770B2 (ja) | 1994-04-04 | 1995-01-30 | パケットの経路指定デッドロック回避方法及び装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5453978A (ja) |
| EP (1) | EP0676703B1 (ja) |
| JP (1) | JP2817770B2 (ja) |
| DE (1) | DE69518782D1 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006236362A (ja) * | 2006-03-13 | 2006-09-07 | Handotai Rikougaku Kenkyu Center:Kk | マルチプロセッサシステム装置 |
| US7203816B2 (en) | 2001-03-01 | 2007-04-10 | Semiconductor Technology Academic Research Center | Multi-processor system apparatus allowing a compiler to conduct a static scheduling process over a large scale system of processors and memory modules |
| US11855913B2 (en) | 2018-10-31 | 2023-12-26 | Hewlett Packard Enterprise Development Lp | Hierarchical switching device with deadlockable storage and storage partitions |
Families Citing this family (55)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3512866B2 (ja) * | 1994-09-19 | 2004-03-31 | 富士通株式会社 | ネットワーク内ノードのグループ化およびデータ転送方法 |
| US5721820A (en) * | 1995-09-11 | 1998-02-24 | International Business Machines Corporation | System for adaptively routing data in switching network wherein source node generates routing message identifying one or more routes form switch selects |
| 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 |
| US5737318A (en) * | 1995-12-27 | 1998-04-07 | Philips Electronics North America Corporation | Method for initializing a wireless, packet-hopping network |
| 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 |
| 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 |
| US6031835A (en) * | 1997-04-04 | 2000-02-29 | International Business Machines Corporation | Method for deadlock free and and reliable routing in a packet switched network |
| US5884090A (en) * | 1997-07-17 | 1999-03-16 | International Business Machines Corporation | Method and apparatus for partitioning an interconnection medium in a partitioned multiprocessor computer system |
| US6021442A (en) * | 1997-07-17 | 2000-02-01 | International Business Machines Corporation | Method and apparatus for partitioning an interconnection medium in a partitioned multiprocessor computer system |
| US5887184A (en) * | 1997-07-17 | 1999-03-23 | International Business Machines Corporation | Method and apparatus for partitioning an interconnection medium in a partitioned multiprocessor computer system |
| US5970232A (en) * | 1997-11-17 | 1999-10-19 | Cray Research, Inc. | Router table lookup mechanism |
| 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 |
| US6065063A (en) * | 1998-01-29 | 2000-05-16 | International Business Machines Corp. | Deadlock avoidance method in a computer network |
| US6247077B1 (en) | 1998-02-06 | 2001-06-12 | Ncr Corporation | Highly-scalable parallel processing computer system architecture |
| US6216174B1 (en) | 1998-09-29 | 2001-04-10 | Silicon Graphics, Inc. | System and method for fast barrier synchronization |
| JP2000295279A (ja) * | 1999-04-02 | 2000-10-20 | Nec Corp | パケットスイッチ |
| US6567856B1 (en) * | 1999-06-02 | 2003-05-20 | Sun Microsystems, Inc. | Deadlock-free routing |
| US6603742B1 (en) | 1999-06-02 | 2003-08-05 | Sun Microsystems, Inc. | Network reconfiguration |
| US6791939B1 (en) | 1999-06-02 | 2004-09-14 | Sun Microsystems, Inc. | Dynamic generation of deadlock-free routings |
| US6631421B1 (en) | 1999-06-02 | 2003-10-07 | Sun Microsystems, Inc. | Recursive partitioning of networks |
| US6584073B1 (en) | 1999-06-02 | 2003-06-24 | Sun Microsystems, Inc. | Network topologies |
| US6606326B1 (en) * | 1999-07-02 | 2003-08-12 | International Business Machines Corporation | Packet switch employing dynamic transfer of data packet from central shared queue path to cross-point switching matrix path |
| US6751698B1 (en) | 1999-09-29 | 2004-06-15 | Silicon Graphics, Inc. | Multiprocessor node controller circuit and method |
| US6674720B1 (en) | 1999-09-29 | 2004-01-06 | Silicon Graphics, Inc. | Age-based network arbitration system and method |
| US6381643B1 (en) | 1999-11-08 | 2002-04-30 | International Business Machines Corporation | Mechanism and procedure for detecting switch mis-cabling |
| US7075896B1 (en) * | 2000-03-16 | 2006-07-11 | Hewlett-Packard Development Company, L.P. | Method for automatic layout of switched network topologies |
| US7921188B2 (en) | 2001-08-16 | 2011-04-05 | Newisys, Inc. | Computer system partitioning using data transfer routing mechanism |
| US6992988B2 (en) * | 2001-08-20 | 2006-01-31 | Sun Microsystems, Inc. | System and method for deadlock-free routing on arbitrary network topologies |
| US7152113B2 (en) * | 2001-10-19 | 2006-12-19 | Sun Microsystems, Inc. | Efficient system and method of node and link insertion for deadlock-free routing on arbitrary topologies |
| US7110389B2 (en) * | 2001-11-19 | 2006-09-19 | International Business Machines Corporation | Fanning route generation technique for multi-path networks |
| US7200117B2 (en) * | 2002-01-31 | 2007-04-03 | Sun Microsystems, Inc. | Method of optimizing network capacity and fault tolerance in deadlock-free routing |
| US7675909B2 (en) * | 2004-12-15 | 2010-03-09 | Tellabs Operations, Inc. | Method and apparatus for horizontally slicing a multi-stage switch fabric |
| US20060268691A1 (en) * | 2005-05-31 | 2006-11-30 | International Business Machines Corporation | Divide and conquer route generation technique for distributed selection of routes within a multi-path network |
| US7978719B2 (en) * | 2005-06-10 | 2011-07-12 | International Business Machines Corporation | Dynamically assigning endpoint identifiers to network interfaces of communications networks |
| US7925728B2 (en) * | 2005-09-08 | 2011-04-12 | International Business Machines Corporation | Facilitating detection of hardware service actions |
| US8347143B2 (en) | 2006-01-30 | 2013-01-01 | International Business Machines Corporation | Facilitating event management and analysis within a communications environment |
| US7853639B2 (en) * | 2006-09-12 | 2010-12-14 | International Business Machines Corporation | Performing process migration with allreduce operations |
| US7835284B2 (en) * | 2006-10-06 | 2010-11-16 | International Business Machines Corporation | Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by routing through transporter nodes |
| US7680048B2 (en) * | 2006-10-06 | 2010-03-16 | International Business Machiens Corporation | Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by dynamically adjusting local routing strategies |
| US8031614B2 (en) * | 2006-10-06 | 2011-10-04 | International Business Machines Corporation | Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by dynamic global mapping of contended links |
| US7839786B2 (en) * | 2006-10-06 | 2010-11-23 | International Business Machines Corporation | Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by semi-randomly varying routing policies for different packets |
| US8423987B2 (en) * | 2007-01-30 | 2013-04-16 | International Business Machines Corporation | Routing performance analysis and optimization within a massively parallel computer |
| US8370844B2 (en) * | 2007-09-12 | 2013-02-05 | International Business Machines Corporation | Mechanism for process migration on a massively parallel computer |
| US8055879B2 (en) * | 2007-12-13 | 2011-11-08 | International Business Machines Corporation | Tracking network contention |
| US9225545B2 (en) | 2008-04-01 | 2015-12-29 | International Business Machines Corporation | Determining a path for network traffic between nodes in a parallel computer |
| US8949453B2 (en) | 2010-11-30 | 2015-02-03 | International Business Machines Corporation | Data communications in a parallel active messaging interface of a parallel computer |
| CN102204184B (zh) * | 2011-05-17 | 2014-10-08 | 华为技术有限公司 | Kvm数据传输的方法、业务板及系统 |
| US8949328B2 (en) | 2011-07-13 | 2015-02-03 | International Business Machines Corporation | Performing collective operations in a distributed processing system |
| US8930962B2 (en) | 2012-02-22 | 2015-01-06 | International Business Machines Corporation | Processing unexpected messages at a compute node of a parallel computer |
| CN103577379B (zh) * | 2013-10-17 | 2016-04-13 | 中国人民解放军国防科学技术大学 | 一种检测片上网络中死锁的方法 |
| JP6623939B2 (ja) * | 2016-06-06 | 2019-12-25 | 富士通株式会社 | 情報処理装置、通信手順決定方法、および通信プログラム |
| US11218401B2 (en) | 2017-08-10 | 2022-01-04 | Arista Networks, Inc. | Computer network device, a computer internetwork and a method for computer networking |
| US10938751B2 (en) | 2018-04-18 | 2021-03-02 | Hewlett Packard Enterprise Development Lp | Hierarchical switching devices |
| US10757038B2 (en) | 2018-07-06 | 2020-08-25 | Hewlett Packard Enterprise Development Lp | Reservation-based switching devices |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0332253A (ja) * | 1989-06-22 | 1991-02-12 | Digital Equip Corp <Dec> | 高速網状接続特定区域内情報通信網のための経路指定装置及び方法 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4763247A (en) * | 1984-12-26 | 1988-08-09 | Vmei "Lenin" | Multiprocessor system formed by microprocessor matrix |
| US4766534A (en) * | 1986-10-16 | 1988-08-23 | American Telephone And Telegraph Company, At&T Bell Laboratories | Parallel processing network and method |
| JPH01126760A (ja) * | 1987-11-11 | 1989-05-18 | Toshiba Corp | 並列計算機システム |
| JPH0291755A (ja) * | 1988-09-29 | 1990-03-30 | Toshiba Corp | メッセージ通信方式 |
| JP3072646B2 (ja) * | 1989-03-20 | 2000-07-31 | 富士通株式会社 | 並列計算機間通信制御方式 |
| WO1992003792A1 (en) * | 1990-08-10 | 1992-03-05 | Syracuse University | Method and apparatus for routing and partitioning a multistage interconnection network and for determining network passability |
| EP0471256A3 (en) * | 1990-08-10 | 1993-08-04 | Hitachi, Ltd. | Atm switch and atm multiplexer |
| CA2048717A1 (en) * | 1990-08-17 | 1992-02-18 | Tsutomu Tanaka | Growable interconnect fabric cell switch module |
| US5224100A (en) * | 1991-05-09 | 1993-06-29 | David Sarnoff Research Center, Inc. | Routing technique for a hierarchical interprocessor-communication network between massively-parallel processors |
| US5313649A (en) * | 1991-05-28 | 1994-05-17 | International Business Machines Corporation | Switch queue structure for one-network parallel processor systems |
-
1994
- 1994-04-04 US US08/222,284 patent/US5453978A/en not_active Expired - Fee Related
-
1995
- 1995-01-25 EP EP95100957A patent/EP0676703B1/en not_active Expired - Lifetime
- 1995-01-25 DE DE69518782T patent/DE69518782D1/de not_active Expired - Lifetime
- 1995-01-30 JP JP7012797A patent/JP2817770B2/ja not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0332253A (ja) * | 1989-06-22 | 1991-02-12 | Digital Equip Corp <Dec> | 高速網状接続特定区域内情報通信網のための経路指定装置及び方法 |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7203816B2 (en) | 2001-03-01 | 2007-04-10 | Semiconductor Technology Academic Research Center | Multi-processor system apparatus allowing a compiler to conduct a static scheduling process over a large scale system of processors and memory modules |
| JP2006236362A (ja) * | 2006-03-13 | 2006-09-07 | Handotai Rikougaku Kenkyu Center:Kk | マルチプロセッサシステム装置 |
| US11855913B2 (en) | 2018-10-31 | 2023-12-26 | Hewlett Packard Enterprise Development Lp | Hierarchical switching device with deadlockable storage and storage partitions |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2817770B2 (ja) | 1998-10-30 |
| US5453978A (en) | 1995-09-26 |
| EP0676703A3 (en) | 1996-02-07 |
| EP0676703B1 (en) | 2000-09-13 |
| EP0676703A2 (en) | 1995-10-11 |
| DE69518782D1 (de) | 2000-10-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH07282018A (ja) | パケットの経路指定デッドロック回避方法及び装置 | |
| US5812549A (en) | Route restrictions for deadlock free routing with increased bandwidth in a multi-stage cross point packet switch | |
| US5781546A (en) | Route restrictions for deadlock free routing with increased bandwidth in a multi-stage cross point packet switch | |
| US6847647B1 (en) | Method and apparatus for distributing traffic over multiple switched fiber channel routes | |
| KR100219350B1 (ko) | 분산된 노드 사이 스위칭과 분리된 데이터/제어 메시지 처리를 갖는 다중 노드 네트워크 | |
| US5701416A (en) | Adaptive routing mechanism for torus interconnection network | |
| US5175733A (en) | Adaptive message routing for multi-dimensional networks | |
| US5898826A (en) | Method and apparatus for deadlock-free routing around an unusable routing component in an N-dimensional network | |
| EP0197103B1 (en) | Load balancing for packet switching nodes | |
| US6031835A (en) | Method for deadlock free and and reliable routing in a packet switched network | |
| US6065063A (en) | Deadlock avoidance method in a computer network | |
| CN1004965B (zh) | 电信网络和方法 | |
| US20130242731A1 (en) | Deadlock prevention in direct networks of arbitrary topology | |
| JPS61214694A (ja) | データ伝送のスイッチング装置 | |
| EP0448049B1 (en) | Packet transfer regulating apparatus | |
| KR20020015691A (ko) | 플릿 캐쉬 방식의 패브릭 라우터 | |
| JP2000013408A (ja) | 交換システム | |
| EP0653866B1 (en) | Resolution of race conditions in cascaded switches | |
| JP3950048B2 (ja) | 複数の制御回線を用いた多重最小論理網においてスループットを増大させる拡張可能な装置および方法 | |
| CA2152637A1 (en) | Network for Transferring Consecutive Packets Between Processor and Memory with a Reduced Blocking Time | |
| US6389017B1 (en) | Resource scheduling algorithm in packet switched networks with multiple alternate links | |
| Flich et al. | Improving the performance of regular networks with source routing | |
| JP2535874B2 (ja) | パケット交換網のル−ティング制御方式 | |
| Cherkasova et al. | Designing fibre channel fabrics | |
| KR102853775B1 (ko) | 비정형 토폴로지 기반 네트워크 온 칩(NoC)의 멀티캐스트 라우팅 방법 및 장치 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |