JP2817770B2 - パケットの経路指定デッドロック回避方法及び装置 - Google Patents

パケットの経路指定デッドロック回避方法及び装置

Info

Publication number
JP2817770B2
JP2817770B2 JP7012797A JP1279795A JP2817770B2 JP 2817770 B2 JP2817770 B2 JP 2817770B2 JP 7012797 A JP7012797 A JP 7012797A JP 1279795 A JP1279795 A JP 1279795A JP 2817770 B2 JP2817770 B2 JP 2817770B2
Authority
JP
Japan
Prior art keywords
packet
path
network
route
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP7012797A
Other languages
English (en)
Other versions
JPH07282018A (ja
Inventor
ハリシ・セス
ロバート・フレデリック・スタッケ
クレイグ・ブライアン・スタンケル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH07282018A publication Critical patent/JPH07282018A/ja
Application granted granted Critical
Publication of JP2817770B2 publication Critical patent/JP2817770B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はマルチステージの相互接
続されたクロスポイント・ベースのパケット交換を確立
するための装置及び方法に関する。特に本発明は、大容
量並列処理システム内で使用される高速パケット・ネッ
トワーク内に組込むのに適するが、それに限るものでは
ない。
【0002】
【従来の技術】強力で知能的で比較的安価なマイクロプ
ロセッサの継続的な進歩及び市場での可用性により、大
容量並列処理が、これまで従来式のメインフレーム・コ
ンピュータにより処理されてきた広範なアプリケーショ
ン、例えばトランザクション処理、シミュレーション及
び構造解析などを処理するために、益々魅力的な手段に
成りつつある。
【0003】大容量並列処理システムでは、しばしば数
百または数千にも上る相当数の比較的単純なマイクロプ
ロセッサを基本とする別々の処理要素が、一般に高速パ
ケット・ネットワークから形成される通信構造を介して
相互接続され、各こうした処理要素がネットワーク上の
別々のポートとして現れる。この構造はパケット形式の
構造経路メッセージを、これらの処理要素の任意の1つ
から他へ経路指定し、それらの間の通信を提供する。こ
れらの各々の処理要素は、通常、別々のマイクロプロセ
ッサ及びその関連支援回路を含み、後者はとりわけ、一
時記憶用のランダム・アクセス・メモリ(RAM)及び永久
記憶用の読出し専用メモリ(ROM)、及び入出力回路によ
り代表される。各処理要素は更に通信サブシステムを含
み、これは適切な通信インタフェース及び他のハードウ
ェア、並びにこの要素をパケット・ネットワークにイン
タフェースするように集合的に機能する制御ソフトウェ
アにより形成される。
【0004】一般に、大容量並列処理システムの全体性
能は、そこで使用される根元的なパケット・ネットワー
クの性能により制限される。その点でパケット・ネット
ワークが余りに遅く、特に全体システム・スループット
に悪影響を及ぼす程度に遅いと、結果的な低下は著し
く、所与のアプリケーションにおいて大容量並列処理シ
ステムを使用する効果が低減する。
【0005】特に、大容量並列処理システムにおいて、
各処理要素はアプリケーションの予め定められた細分化
部分を実行する。その対応するアプリケーション部分の
実行において、各要素は一般に、例えば異なる要素上で
実行されるアプリケーション部分からデータを要求し、
処理結果データを例えば、更に別の処理要素上で実行さ
れる別のアプリケーション部分に提供する。全ての要素
間における処理の相互依存の性質により、各処理要素
は、その時これらの各々の要素において実行されるアプ
リケーション部分からの要求により、データを別のこう
した要素に転送できなければならない。一般に処理要
素、例えば"宛先"要素が、別のこうした要素、例えば"
出所"要素または"発信元"要素に対してデータを要求す
ると、宛先要素は少なくともこの特定のアプリケーショ
ン部分に関し、その要素が出所要素により伝送される必
要データを含むパケットを受信するまで遊休状態を維持
する。パケットを受信すると、宛先要素は再度このアプ
リケーション部分の処理を開始する。パケット・ネット
ワークを通じて宛先からの要求を含むパケットを出所処
理要素に移送し、次に要求データを含む応答パケットを
反対方向に移送するためには、有限量の時間が必要であ
る。この時間は、宛先要素において実行されるそのアプ
リケーション部分に、ある程度の待ち時間を不可避に挿
入する。システム内のほとんどの処理要素が、対応する
出所要素において実行されるアプリケーション部分に対
する宛先要素として機能するので、この通信により誘導
される待ち時間が余りに長いと、システム・スループッ
トが顕著に低下する。結果的に、このことは全体システ
ム性能を著しく低下させることになる。これを回避する
ためにパケット・ネットワークは各パケットを任意の2
つの通信処理要素間で、この待ち時間を低減するよう
に、可能な限り速く移送しなければならない。更に、典
型的な大容量並列処理システムにおいて一般に使用され
る相当数の処理要素、及びこのシステム内の任意のある
要素が、任意の時刻において、他のこうした要素と通信
するために必要な付随のニーズを考慮すると、ネットワ
ークは相当に大きな数、例えば予測されるピーク負荷の
パケットを処理要素間で同時に経路指定できなければな
らない。
【0006】しかしながら、実際には、大容量並列処理
システムで使用される必要性能、特に伝送帯域幅を所有
するパケット交換ネットワークは、様々な理由から、そ
の開発が極めて困難であることがわかっており、そのた
めにこうしたシステムの急速な普及及び使用の増加があ
る程度阻止されてきた。
【0007】パケット・ネットワークの様々な形態が今
日存在するが、1つの共通のアーキテクチャとしては、
比較的小さなクロスポイント・スイッチのマルチステー
ジ相互接続構成を使用する。各スイッチは、通常、8ポ
ート双方向ルータであり、全てのポートがクロスポイン
ト・マトリックスを通じて内部的に相互接続される。こ
うしたネットワークでは、1ステージ内の各スイッチは
ネットワークの片側(すなわち、いわゆる"入力")におい
て開始し、特定の対応するパス(典型的にはバイト幅物
理接続)を通じて、次の続くステージ内のスイッチに相
互接続され、このようにして、ネットワークの反対側
(すなわち、いわゆる"出力")の最後のステージに到達す
るまで継続される。こうしたスイッチは、今日、動作的
には非ブロッキング(non-blocking)の比較的安価な単一
の集積回路(以降では"スイッチ・チップ"として参照さ
れる)として調達可能であるので、これらのスイッチ・
チップが好まれて使用される。
【0008】こうした双方向マルチステージ・パケット
交換ネットワークは、他のパケット交換ネットワーク・
トポロジと比較して比較的単純であり、その全てのポー
ト間で高い伝送帯域幅を提供するが、残念ながらこのタ
イプのネットワークは、経路指定デッドロックを受け易
い。これらのデッドロックは稀にしか発生しないが、同
一ステージ内の任意の2つのスイッチ間に複数の経路が
存在するために、実際に発生する。
【0009】この点に関し、8個のこうしたスイッチ・
チップが2つの相互接続されたステージに編成される単
純な32ポート・ネットワークについて考えてみよう。す
なわち、4個のスイッチによる入力ステージの後に、4個
のスイッチによる出力ステージが続き、これらの全ての
スイッチ・チップが単一のスイッチ・ボード上に含まれ
る。この構成では、入力ステージにおいて、異なるスイ
ッチ・チップ上の任意の2つのポート間を通過するパケ
ットは、出所(入力)ポートを含む入力ステージ内のスイ
ッチ・チップを通過して、出力ステージの4個のスイッ
チ・チップの1個に経路指定される。次に、この後者の
スイッチ・チップが、パケットをこのパケットの宛先
(出力)ポートを含む入力ステージ内のスイッチに逆経路
指定する(すなわち、その方向を反転する)。スイッチ・
チップ間の経路は、通常、比較的短い時間に亘り、各バ
イト・ワイズ(byte-wise)・パスがほぼ等しい数のパケ
ットを伝搬し、ネットワーク全体を通じてのトラフィッ
ク・フローを平均化するように、システム初期化の間に
予め定義される。これらの経路が設定されると、スイッ
チ・チップまたはパス故障或いは保守状態以外では経路
は稀にしか変更されない。各処理要素が使用可能な割当
てられた経路が、次に再度システム初期化の間に(局所)
経路テーブルの形式でその要素に提供される。引続きル
ーチンのオペレーションの間に、各処理要素がパケット
を形成すると、その要素はこのパケットの宛先にもとづ
きその経路テーブルから経路を読出し、単にその経路を
パケットのヘッダ内に適切な経路バイトの値として挿入
する。パケットが次にネットワーク内に送出され、パケ
ット内の対応する経路バイトの値により指定される継続
するスイッチ・チップ(及び交換ステージ)を経由して、
経路指定される。パケットが交換ステージを経由して横
断すると(すなわち、ここでは同一ステージの2個のスイ
ッチ・チップを通過する)、ステージ内の最後のスイッ
チ・チップがパケット・ヘッダから対応する経路バイト
を切捨てる。
【0010】従来、経路は経路指定デッドロックの潜在
性を考慮することなく定義されてきた。従って、各々が
例えば異なるスイッチ・チップのグループの中央キュー
内に存在する対応するパケットが、連続ステージ内のス
イッチ・チップ対を接続する共通パス上を同時に経路指
定されるのを待機する度に、経路指定デッドロックが発
生する。こうした状態が発生すると、これらの各々のス
イッチ・チップは、グループ内の他のスイッチ・チップ
がそれらのパケットをこれらの特定のパス上に経路指定
するのを待機する。このグループのどのパケットも、こ
のグループの任意の1つのパケットが経路指定されるま
で、その関連する中央キューを通過することができない
ので、これら全てのパケットがひたすら待機し、対応す
るパスがデッドロック状態となり、その上をトラフィッ
ク・フローが生じなくなる。その結果、デッドロックが
発生すると、これらのパケットが宛先指定される処理要
素についても、これらのパケットを待機し続けることに
なり、それらの処理のスループットを停止させる。結果
的にネットワークの帯域幅はデッドロックにより影響さ
れない残りの処理要素だけを優遇するようになり、処理
の作業負荷が著しく偏り、システム・スループットを多
大に低下させることになる。
【0011】デッドロックを回避する問題に直面して、
当業者は最初に経路指定デッドロックを予測するため
に、特定のタイプの大域アービトレーション手法が使用
可能であると考え、多数の非デッドロック状態のパスの
いずれかを選択し、その上でパケットを伝送し、デッド
ロックを回避することを期待するであろう。この手法
は、潜在的な経路指定デッドロックを検出し、それに従
い調停するために全ての中央キューを通過する全てのパ
ケットがモニタされることを必要とする。残念ながら、
これらの機能を達成する回路は極めて複雑であり、全て
の各スイッチ回路の外部に配置されて、それらの各々と
接続される必要がある。これはパケット交換ネットワー
クのサイズ、複雑度、従ってコストを押し上げることに
なる。この手法自体は、極めて非現実的である。
【0012】こうしたことを考慮して、当業者は2重の
スイッチ・ボードを有するパケット・ネットワークを形
成するなどの別の手法に注目するであろう。この手法を
32プロセッサ・システムと共に使用することにより、1
つのスイッチ・ボードのポート16乃至31で表される16個
のポートが、別のスイッチ・ボードの同じポートに接続
される。両方のボード上の残りの各ポート0乃至15は、3
2個の別々の処理要素の対応する1つに接続される。オペ
レーションにおいて、共通のスイッチ・ボードに接続さ
れる出所ポートと宛先ポートとの間を通過するパケット
が、もっぱらその1つのスイッチ・ボード内に経路指定
され、他のスイッチ・ボード内に含まれるスイッチ・チ
ップに影響を及ぼすことはない。異なるスイッチ・ボー
ド上の出所ポートと宛先ポートとの間を経路指定される
パケットだけがボード間を経路指定される。片方のスイ
ッチ・ボード内だけを流れるパケットを他のスイッチ・
ボード内だけを同時に流れるパケットと潜在的に相互作
用しないように隔離することにより、この手法はデッド
ロックを排除する。更にこの手法は伝送帯域幅を悪化さ
せない。残念なことにこの手法は2重のスイッチ・ボー
ド及び関連回路を必要とすることにより高価である。そ
れにも拘わらず、スイッチ・ボード及び関連回路を2重
化する追加のコストが32プロセッサ・システムにおいて
は許容可能である。この手法自体が、32プロセッサ・シ
ステムにおけるデッドロックを回避するために使用され
る。実際に32プロセッサ・システムでは、1つのスイッ
チ・ボードだけではパケット・ネットワークの形成を妨
げる十分なデッドロックの潜在性が存在する。しかしな
がら、このコスト的な欠点は、例えば512プロセッサ・
システムなどのように、ネットワーク内で必要とされる
最小16個のスイッチボードに加え、追加の16個のスイッ
チ・ボードを必要とする大規模システムの場合に、高額
でより付けないに過ぎない。
【0013】最後に、当業者は、特定の経路の使用を単
に禁止することにより、経路指定デッドロックを回避す
る手法を考慮するであろう。この特定の手法により、同
一ステージ内の2個のスイッチ・チップ間の全ての経路
の特定のサブセットだけが、それらの間のパケット・ト
ラフィックの伝搬に使用可能と定義され、経路テーブル
内に含まれる。1度選択されると、これらの経路は保守
状態または故障状態以外では変化しない。サブセットを
形成する経路は、特に経路指定デッドロックが発生しな
いように選択される。各追加の経路が禁止されるとネッ
トワーク帯域幅が低下するので、この手法の目標はでき
る限り少ない経路を禁止することである。
【0014】しかし残念ながら、経路が禁止されると"
禁止されない"経路がシステム内の全てのノードに関し
て、対称でないことが知られている。その結果、伝送帯
域幅がネットワーク全体に亘り均等に低減されず、ネッ
トワーク全体に亘って帯域幅の非対称が生じる。これら
の非対称の結果、ネットワークは伝送帯域幅が特定の"
ホット"・ポートにおいて非常に高くなる傾向にあり、
他では実質的に0となる、いわゆる"ホット・スポット"
を発展させる傾向を示す。これは次に、他のポートを犠
牲にして"ホット"・ポートに関連する処理要素を優遇す
るように処理スループットを偏らせ、ネットワーク全体
に亘る作業負荷処理の平衡を失わせる。結果的にシステ
ム性能の低下が生じる。実際に、経路がもっぱらスイッ
チ・ボード内で禁止されると、ネットワーク全体に亘り
一定の帯域幅の低下をもたらす残りの禁止されない経路
の任意の組合わせを見い出すことができないことが判明
した。
【0015】経路を禁止する手法は、単に各処理要素に
対する経路テーブル内に含むための特定のエントリの選
択を要求するだけなので、この手法は、具体化が非常に
単純で高度にコスト有効である。従ってこの手法は、ネ
ットワーク全体に亘り対称的な帯域幅の低下を生成不能
でない限り、マルチステージ・クロスポイント・パケッ
ト・ネットワークに取り入れられることが望まれる。
【0016】相互接続された双方向の、マルチステージ
の、クロスポイント・ベースのネットワークを、大容量
並列処理システムの通信中枢として使用する関心にも拘
わらず、これらのネットワークにおけるデッドロックの
潜在性の増加、並びに特に大規模ネットワークにおける
現実的なソルーションの欠如が少なくとも今日まで、32
をはるかに越えるプロセッサを有するこうしたネットワ
ークを使用する大容量並列処理システムの市場での使用
可能性を抑制してきており、特定の大規模処理アプリケ
ーションにおけるこれらのシステムの使用を妨げてき
た。
【0017】従って、大規模な、双方向の、マルチステ
ージの、相互接続されたクロスポイント交換ネットワー
クにおいて、特に、大規模大容量並列処理システムにお
いて、デッドロックの発生を防止する現実的な手法が必
要とされる。こうした手法は具体化が単純であり、高度
にコスト有効であるべきであり、ネットワーク帯域幅が
結果的に低減される場合、ネットワーク全体に亘り、実
質的に対称で許容可能なレベルの帯域幅の低減を提供す
るべきである。こうした手法がこうしたシステム内に含
まれると、これらのシステムは市販されると32をはるか
に上回る、例えば512或いはそれ以上の別々のプロセッ
サに拡張される。従って、こうしたシステムは従来不可
能であった追加のアプリケーション処理のニーズに応え
ることができる。
【0018】
【発明が解決しようとする課題】本発明により、大規模
な、双方向の、マルチステージの、相互接続されたクロ
スポイント・スイッチ・ベースのパケット・ネットワー
クにおいて、経路指定デッドロックの発生を防止するた
めの、従来技術に固有の欠点を克服する単純でコスト有
効な手法が提供される。この手法は、理想的には大規模
大容量並列処理システムの通信中枢を形成するこうした
パケット・ネットワークにおいて使用される。
【0019】
【課題を解決するための手段】具体的には、本発明によ
り、経路テーブルの形成の間、いくつかの予め定義され
た経路が本来ならこれらの経路を使用するであろうネッ
トワーク内の特定のノード、例えば処理要素の相対的ロ
ケーションにもとづき、考慮対象とするのを禁止され
る。禁止される経路は、使用しなければ閉ループ経路指
定パターン、従って経路指定デッドロックの発生を防止
することになるような経路である。経路テーブルに含ま
れる経路の選択においてシステムのある区分、例えばシ
ステムの半分内のノード間をもっぱら流れるパケット・
トラフィックを別の区分、例えばシステムの他の半分内
のノード間を流れるパケット・トラフィックから隔離す
るために経路が禁止される。この点に関し、システムの
共通区分内のノード間を通過するパケットの経路を抽出
するために、システムの別の区分を通過するパス(ケー
ブルなど)を含む経路が禁止される。複数のシステム区
分、例えばシステムの異なる半分に含まれるノード間で
パケットを伝搬する経路の選択においては、こうした経
路の禁止は発生しない。
【0020】例えば、8×8のスイッチ回路(ここでは"ス
イッチ・チップ"としても参照される)の使用において、
多数の同一の320ポート・スイッチ・ボードを有する512
プロセッサ・システムが構成され、これらが2つの相互
接続されたステージ、すなわち、個々の処理要素に接続
されるノード・スイッチ・ボード(NSB)及びノード・ス
イッチ・ボード自身を相互接続するために使用される中
間スイッチ・ボード(ISB)に編成される。各NSBは16個の
それぞれ異なる処理要素に接続される16ポートと、16個
の各ISB上の異なるポートに相互接続される別の16ポー
トを提供する。
【0021】このシステムにおいて禁止される経路を決
定するために、16個の連続的なNSB(例えばNSB 0乃至1
5、及び16乃至31)及び256個の連続的な処理要素が各半
分を構成するように、システムが半分に分割されると考
える。第1の8個のISBが一方の半分に含まれ、残りの8個
のISBが他の半分に含まれる。システムの共通の半分内
に配置される処理要素間を通過するパケットに対して、
システムのその半分内に完全に含まれるISBポートを含
む使用可能経路だけが許可され他の経路は禁止される。
従って、システム初期化の間に、後者の任意の経路は、
これらの処理要素を接続する大域経路テーブル内に含ま
れない。或いはシステムの異なる半分内に配置される処
理ノード間を通過するパケットに対しては、こうした経
路は禁止されない。従ってこの場合には、大域経路テー
ブル内に最終的に含まれる経路の選択は、システムの半
分にもとづく制限なしに、使用可能な全ての経路の中か
ら実施される。
【0022】システムの各区分例えば半分を、他の任意
の区分例えば他の半分内に含まれる処理要素対間をもっ
ぱら流れるパケット・トラフィックから隔離することに
より、これらのパケットの相互作用により生じる経路指
定デッドロックが防止される。これにより市販の並列処
理システムは、より多くの処理要素を含むように容易に
拡張され、従来可能であった以上に広範な様々なアプリ
ケーション処理ニーズに応えることができる。
【0023】
【実施例】当業者には容易に理解されるように、双方向
の、マルチステージの、相互接続されたクロスポイント
・ベースのパケット・スイッチを含むパケット・ネット
ワークは、それらの特定のアプリケーションに関係な
く、ここで指摘されるタイプの経路指定デッドロックの
影響を受け易い。従って以下の説明を考慮すれば、当業
者においては、本発明の教示がほとんどのこうしたパケ
ット・ネットワークに容易且つ高度にコスト効率的に組
込まれ、これらのデッドロックの発生を伝送帯域幅の僅
かな低減により、防止することが理解されよう。従っ
て、本発明は実質的に任意のサイズのパケット・ネット
ワークにおいて即刻使用され、公衆または専用電話回線
(例えば局所、広域または首都圏ネットワーク)または他
の類似のネットワークなどのデジタル通信、或いは大容
量並列処理システムの通信中枢などの特殊アプリケーシ
ョンに拘わりなく、広範且つ様々な範囲のパケット交換
環境に亘って使用される。しかしながら、後述の説明を
単純化するために、本発明は大容量並列処理システム、
そして特に、IBMにより今日製造されるスケーラブル並
列処理システムのSPファミリにおいて使用されるIBM907
6 SP-1高性能通信ネットワークにおいて使用されるもの
として説明される。
【0024】本発明の理解を容易にするために、最初に
並列処理システムのパケット経路指定の様々な態様、特
に、そこで使用される双方向クロスポイント方式パケッ
ト・ネットワークに関する態様について述べ、次に典型
的な経路指定デッドロック状況について、そして最後
に、これらのデッドロックの発生を防止する本発明につ
いて詳細に述べることにする。
【0025】最初に、図1に示される従来の32プロセッ
サ並列処理システム5について考えてみる。このシステ
ムは32個のノード・パケット・スイッチ100(ここでは"
パケット・ネットワーク"または単に"ネットワーク"と
しても参照される)を含み、各ノードには32個の別々の
(しかしながら一般には同一の)処理要素110(特に処理要
素1100、1101、...、11031)が接続される。各要素は
システムの処理ノードを形成する。ネットワークはこれ
らの処理ノードの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、12
02、...、1207内のキュー1300、1301、13
02、...、1307として表される。基本的に各中央キュ
ーの目的は、とりわけ入力阻止及びデッドロックを改良
するために、対応するスイッチ回路を通過する別の経路
を提供することであり、後者すなわちデッドロックは、
入力ポート(特に内部のFIFOバッファ)及び逆のトラフィ
ックにより充填されたキューに起因する(これは本発明
が対象とするのとは異なる形態のデッドロックであ
る)。
【0027】ネットワークの入力及び出力ステージは、
接続マトリックス140を介して相互接続され、これらの
各々の接続は実質的にバイト幅物理リンク(ケーブル)で
あり、特にそれらの内のリンク1400、1401、1402及び14
03が番号付けされて示される。このマトリックスを介し
て、入力ステージ内のそれぞれのスイッチ・チップのポ
ートが別々にまた物理的に出力ステージ内のあらゆるス
イッチ・チップの対応するポートに接続される。例え
ば、スイッチ・チップ1200はポート0乃至7を備え、その
ポート4乃至7を通じ、対応するケーブルを介して、各ス
イッチ・チップ1204、1205、1206及び1207上のポート4
に接続される。8個のスイッチ・チップ及び接続マトリ
ックス140を含むパケット・スイッチ100は、集合的に単
一のスイッチ・ボードを含む。各スイッチ・チップのポ
ート0乃至3はスイッチ・ボード外のリンクに接続され、
各スイッチ・チップのポート4乃至7は、接続マトリック
ス140内のリンク(ケーブル)に接続され、それを介して
同一ボード内の別のスイッチ・チップのポートに接続さ
れる。
【0028】ある要素が別の要素からデータを要求した
り、データを供給したりするなど処理要素が互いに通信
するために、"出所"処理要素は自身が実行するアプリケ
ーション部分にもとづき、命令またはデータと共に適切
なメッセージを含むパケットを形成し、そのパケット
を"宛先"処理要素に伝送するためにパケット・スイッチ
100に送信する。宛先要素はパケット内に含まれるデー
タまたは命令を処理し、適切な応答を生成する。応答は
次に、宛先処理要素において実行されるアプリケーショ
ン部分にもとづき、別のパケットに形成され、例えば出
所または異なる処理要素に伝送して処理するためにネッ
トワークに返送される。
【0029】ネットワークを介するパケット伝送を容易
にするために、各パケットは経路バイト形式の特定の経
路指定命令を有するヘッダを含む。後述のように、全て
の経路が予め定義される。出所処理要素がアセンブル中
の任意のパケットの宛先を決定すると、その要素は単
に、宛先処理要素をアドレスとして有するその内部(局
所)経路テーブルをアクセスし、適切な経路バイト値の
形式で経路を読出す。この値が単に経路バイトとしてパ
ケットのヘッダに挿入される。
【0030】図2はパケット・ネットワークを通じて伝
送される典型的なパケット、すなわちパケット200の構
成を示す。個々のパケットは例えば255バイト長であ
る。図示のように、パケット200は連続するフィール
ド、すなわち長さフィールド210、経路フィールド220
(それ自身経路バイト2201、2202、...、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 network)にお
いては、追加の対のスイッチ・チップが使用される。全
ての経路バイトが同一の形式を有する。この点に関し、
経路バイト(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バ
イト以外の経路バイトと、続くデータ・バイトとを区別し
ない。
【0033】上述のように、経路指定はパケット・アセ
ンブリの間に最初に予め定義された経路バイトをパケッ
ト・ヘッダに挿入し、次にそのパケットの実際の経路指
定が導かれ指令されることにより、出所処理要素及び宛
先処理要素に関係なく、これらの各々のバイトの特定の
値によりネットワーク内において達成される。
【0034】図3は、図1に示されるシステム5を構成す
る処理ノード110を示し、特に、これらのノードのメモ
リ内に存在してパケット経路指定を実行する様々なファ
イル及びテーブルを示す。パケット・スイッチ(ネット
ワーク)100は時分割の2つのモードで機能する。それら
の一方は実行フェーズであり、この間、スイッチ回路は
単に入来パケットを経路指定する。他はサービス・フェ
ーズであり、この間、プロセッサは初期化されるか、ネ
ットワークが回線交換方式でモニタ及び管理される。ネ
ットワークに接続される全てのスイッチが、モード間で
同期化ロック・ステップ方式で転送する。実行フェーズ
の間、特定の処理要素は特定のタスクを任せられる。例
えば、処理要素1100及び1101は、システム5から他のネ
ットワークへの、または処理システムへのリンクを提供
し、それらの間で情報を転送するための入出力ノードと
して指定される。他の処理要素、例えば処理要素1102
1103、...、11031は、全て実際のアプリケーション
処理のための計算ノードとして使用される。処理要素の
1つ、例えば処理要素11031は、サービス・フェーズの間
の様々なネットワークオペレーションを引受けるサービ
ス・プロセッサとして使用される。必要に応じて実行フ
ェーズの間、サービス・プロセッサは計算ノードとして
も機能することができる。サービス・プロセッサはハー
ドウェア的見地からは、他の全ての処理要素と同一であ
るが、サービス・プロセッサはそのメモリ(ここではメ
モリ340)内に、サービス・フェーズの間に実行される追
加のソフトウェア、とりわけ初期化ルーチン370を含
み、これを実行する。例えばこのフェーズは全てのスイ
ッチ回路及びネットワークに接続される全ての他のデバ
イス(全ての他の処理要素を含む)に対して、初期化、通
信リンク同期、大域時間同期、故障判断、及び分離、及
び様々な診断サービスを提供する。初期化機能はサービ
ス・フェーズの1部に過ぎないのでサービス・フェーズ
のこの部分、特にパケット経路指定及び本発明に関連す
る観点についてのみ、以降で述べることにする。初期化
フェーズは、システムが任意のアプリケーション処理を
請け負う以前に、請け負わされる。
【0035】サービス・プロセッサ11031はそのメモリ3
40内に、ネットワークに接続される全ての処理要素を含
むそれぞれの及びあらゆるデバイス、及びこれらのデバ
イスをリンクするためにネットワーク内において使用さ
れる特定の双方向物理接続(ケーブル)を集合的に定義す
る構造化エントリのデータベース、特にトポロジ・ファ
イル350を記憶する。データベースが生成される方法は
本発明には関連しないので、ここでは触れないことにす
る。トポロジ・ファイルにおいて、スイッチ回路及び他
のデバイスの最大数がデバイス・エントリにより最初に
識別され、任意のこれらの回路及びデバイス間に存在す
る各物理接続のエントリがそれに続く。デバイス・エン
トリは2つの数値フィールドを含み、これらは"デバイス
番号(nv);スイッチ回路番号(ns)"の形式を取る。これ
らの値が提供されるとデバイス識別(id)の番号付けが0
乃至nvの範囲において、またスイッチ回路idの番号付け
が0乃至nsの範囲において仮定される。最大16個のデバ
イス及び8個のスイッチ回路を含むネットワークでは、
デバイス・エントリは単に"16 8"である。各接続エント
リは6つのフィールドを有し、これは"デバイス1タイ
プ;デバイス1id;デバイス1ポート;デバイス2タイ
プ;デバイス2id;デバイス2ポート"の形式を取る。デ
バイス・タイプ情報はデバイスの性質、すなわちそのデ
バイスが処理要素かどうかを指定し、そうであれば、そ
の要素がサービス・プロセッサかどうか、或いはスイッ
チ回路かどうかを指定する。接続エントリの例は"tb0 1
4 0 s 3 6"であり、これは"id14の処理要素が全2重方式
で、そのポート0からスイッチ回路3の入出力両ポート6
に接続される"ことを意味する。ネットワークの配線
は、通常、極めて規則的であり、良好に定義され対称的
である。しかしながら、実際には幾つかのスイッチ・ボ
ードは、保守状態或いは故障状態の結果として、故意に
隔離される他のネットワーク・コンポーネント、例えば
ケーブル、スイッチ回路(特に使用されるスイッチ・チ
ップ)または処理要素のために、パワー・ダウン状態の
可能性がある。従って、任意の瞬間におけるネットワー
ク・トポロジは極めて不規則であったりする。
【0036】いずれにしても、初期化及び特に初期化ル
ーチン370の実行の間、サービス・プロセッサ11031はそ
の時存在するトポロジ・ファイル350を読出し、次にテ
スト・メッセージを同報し、それに対する応答を受信す
ることにより、ネットワークに接続される各デバイスと
同様、ネットワーク内の各接続の状態を物理的に判断す
る。これらの応答にもとづき、サービス・プロセッサ
は、例えば既知のブレッドス・ファースト探索(breadth
-first search)により、ネットワークの各(出所)ノード
をネットワークのあらゆる他の(宛先)ノードに接続する
ための全ての使用可能な経路を判断する。双方向マルチ
ステージ・クロスポイントネットワークに固有のパス冗
長性により、異なるスイッチ・ステージ内の異なるスイ
ッチ回路を通過して、1対の出所ノード及び宛先ノード
を接続する複数の経路がしばしば存在する。各共通の出
所/宛先ノード対間の複数の経路を鑑み、サービス・プ
ロセッサは次にこれらの各々のノード対に対するこれら
の経路の1つを選択し、その経路をメモリ340内の大域経
路テーブル360に記憶する。これらの経路はネットワー
ク内におけるトラフィック渋滞及びホット・スポットを
回避するために単位時間に亘り、ネットワーク全体を通
じてパケット・トラフィックの実質的に一様な分布を達
成するように、主に最短パスにもとづき選択される。
【0037】ネットワーク100の使用可能な各出所/宛
先ノード対間のパスを定義する大域経路テーブル360が
完全に構成されると、サービス・プロセッサ11031は次
にネットワークを通じ、そのテーブルの対応部分を自身
を含む各個々の処理要素に局所経路テーブルとして、そ
こに記憶するために提供する。この部分は、その特定の
処理要素を出所ノードとしてリストする経路だけを含
む。従って、例えば処理要素1100はそのメモリ310内
に、局所経路テーブル320を記憶し、サービス・プロセ
ッサ11031はそのメモリ340内に、局所経路テーブル380
を記憶する。他の処理要素についても同様である。パケ
ット形成の間、上述のように、各処理要素は単にその局
所経路テーブルをアクセスするだけで、その時アセンブ
ルされるパケットの宛先にもとづき、その宛先の経路指
定バイトの値をテーブルからそのパケットのヘッダにコ
ピーする。
【0038】上述の説明を考慮して、経路指定デッドロ
ックを表す図1を再度参照することにする。
【0039】経路指定デッドロックは、各々が例えばス
イッチ・チップの異なる交換ステージ内の中央キューに
存在する対応パケットが、連続するステージ内のスイッ
チ・チップ対を接続する共通パス上における経路指定を
同時に待機する度に発生する。従って、ここで"A"と記
されるパケットがスイッチ・チップ1200の中央キュー13
00に内在し、処理ノード1100から"丸A"で示される破線
のパスを介して、処理ノード1104に経路指定されるのを
待機しているものと仮定する。このパスを通じ、パケッ
ト"A"はスイッチ・チップ1200により、ケーブル1400
介してスイッチ・チップ1204のポート4に導かれ、次に
この後者のチップのポート5及びケーブル1401を介し
て、入力ステージ特に処理ノード1104に接続されるスイ
ッチ・チップ1201のポート0に経路指定されて戻され
る。同様にキュー1300に内在するパケット"A"と同時
に、スイッチ・チップ1204、1201及び1205のそれぞれの
中央キュー1304、1301及び1305に、3つの他のパケット"
B"、"C"及び"D"が内在するものと仮定する。パケット"
B"はスイッチ・チップ1204のノード1に接続される処理
要素11017から、"丸B"で示される破線のパスを介して、
スイッチ・チップ1205のノード3に接続される処理要素1
10 23 に経路指定される。同様にパケット"C"は、スイッ
チ・チップ1201のノード2に接続される処理要素1106
ら、"丸C"で示される破線のパスを介して、スイッチ・
チップ1200のノード2に接続される処理要素1102に経路
指定される。同様にパケット"D"は、スイッチ・チップ1
205のノード1に接続される処理要素11021から、"丸D"で
示される破線のパスを介して、スイッチ・チップ1204
ノード0に接続される処理要素11016に経路指定される。
【0040】図示のように、全ての4つのパケットは同
時に衝突する経路を有し、同一セットの4つのケーブル
を介する。各経路はそのケーブルを他の2つの経路と共
用する。結果的に、各スイッチ・チップ1200、1201、12
04及び1205は、対応する中央キューに内在するこれらの
パケットと共に、これらのスイッチ・チップの任意の他
の1つが最初にそのパケットを経路指定するのを待機す
ることになる。各パケットは基本的にスイッチ・チップ
の1つにおいて(但し、異なるポートを通じて)その方向
を反転する、すなわち"ターン・アラウンド"するので、
これらの全てのパケットにより取られる経路は、集合的
に閉ループ・パターン(番号I-II-III-IVで示され、ここ
では"サイクル"として参照される)を形成することにな
る。スイッチ・チップはこれらのどの特定のパケットを
最初に経路指定するかを決定できないので、全てのスイ
ッチ・チップは単に待機し、いずれのパケットも経路指
定されない。サイクル内の4つの各々のパケット自身
が、残りの3つのパケットを妨害することになる。結果
的に、経路指定デッドロックが発生する。このデッドロ
ックが持続する間、対応するパスはパケット・トラフィ
ックを伝搬しない。従って、処理要素1104、11023、110
2及び11016は単にパケットの到来を待機し、これらのパ
ケットを要求するアプリケーション部分の処理が延期さ
れる。これはすなわち、システム5の処理スループット
を低下させることになる。経路指定デッドロックが発生
すると、この状態は何らかの手段により解決されるまで
無期限に継続する。経路指定デッドロックは比較的稀に
しか発生しないが、並列処理システムの規模が増大する
と、これらのデッドロックの発生の潜在性も増加する。
【0041】この現象を鑑み、本発明は比較的大規模な
大容量並列処理システムにおいて、経路指定デッドロッ
クの発生を防止する手法を提供する。本手法は具体化が
非常に単純で高度にコスト有効であり、パケット・ネッ
トワークにおける伝送帯域幅の適度で許容可能な低減を
強要するに過ぎない。
【0042】本手法により、大域経路テーブルの形成の
間、いくつかの予め定義された経路が、これらの経路を
使用する特定の処理要素(ネットワーク・ノード)の相対
的ロケーションにもとづき、考慮対象とするのを禁止さ
れる。禁止される経路は、使用しなければ閉ループ経路
指定パターン、従って経路指定デッドロックの発生を防
止することになるような経路である。経路テーブルに含
まれる経路の選択において、システムのある区分、例え
ばシステムの半分内のノード間をもっぱら流れるパケッ
ト・トラフィックを別の区分、例えばシステムの他の半
分内のノード間を流れるパケット・トラフィックから隔
離するために経路が禁止される。この点に関し、システ
ムの共通区分内のノード間を通過するパケットの経路を
抽出するために、システムの別の区分を通過するパス
(ケーブルなど)を含む経路が禁止される。複数のシステ
ム区分、例えばシステムの異なる半分内のノード間でパ
ケットを伝搬する経路の選択においては、こうした経路
の禁止は発生しない。システムの各区分、例えば半分を
他の区分、例えばシステムの他の半分内の処理要素対間
をもっぱら流れるパケット・トラフィックから隔離する
ことにより、これらのパケットの相互作用により生じる
経路指定デッドロックが防止される。
【0043】比較的大規模な大容量並列処理システム、
例えば512の別々の処理要素を使用するシステムにおい
て必要なプロセッサ間経路指定機能を提供するために、
システムは多数のスイッチ・ボードを使用する。各スイ
ッチ・ボードは上述されたように同一であり、2つの相
互接続されたステージ、すなわち個々の処理要素に接続
されるノード・スイッチ・ボード(NSB)、及びノード・
スイッチ・ボード自身を相互接続するために使用される
中間スイッチ・ボード(ISB)に編成される。512プロセッ
サ・システムは、通常、48個の別々のスイッチ・ボード
を使用し、これらの内の32個のボードはNSB専用であ
り、残りの16個のボードはISB専用である。各NSBは16個
のそれぞれ異なる処理要素に接続される16ポートと、16
個の各ISB上の異なるポートに相互接続される別の16ポ
ートを提供する。この構成では、NSBはパケットを自身
が接続される個々の処理要素との間で経路指定し、ISB
はパケットを異なるNSB間で経路指定し、全ての完全な
経路が、上述のようにパケット・ヘッダに含まれる経路
指定バイトにより指定される。
【0044】512プロセッサ・システムの例が、図4にシ
ステム400として示される。図示のように、このシステ
ムは集合的に処理ノード410として示される512の異なる
処理要素4150、...、41515、...415496、...4
15511を提供し、物理的見地から16個の処理要素を含む3
2個の物理ラック、特に処理ラック4100、...41031
編成される。各ラックはそれぞれのNSBの16ポートに接
続される。システム400は32個のNSB 4400、4401、44
02、4403、4404、4405、...、44030及び44031(NSB
0、NSB 1などとしても指定される)を含む。各NSBの残り
の16ポートは、接続マトリックス450内の個々のケーブ
ルを介して、16個のISB460、特にISB4600、4601、46
02、...、46015(ISB0、ISB1などとしても指定され
る)の各々の対応するポートに相互接続される。例え
ば、NSB 4400(NSB 0)上の16個の各ポートは、16個のISB
の対応する異なる1つのポート0に接続されるように示さ
れ、それによりNSB 4400は各ISBにパケットを経路指定
できる。他のNSBについても図示のように、あらゆるISB
に同様に相互接続される。ISBであろうとNSBであろう
と、全てのスイッチ・ボードは互いに同一であるが、接
続マトリックス450を明瞭に表す都合上、ISBはNSBと異
なるように示される。
【0045】システム400において、中間スイッチ・ボ
ードなどの使用に頼る他の大規模大容量並列処理システ
ムと同様、本発明を使用しないと、経路指定デッドロッ
クが発生することが理解される。なぜなら、パケットが
異なるNSB間で経路指定される時、図1に示されるシステ
ム5のスイッチ1204及び1205内で、パケット"A"及び"C"
がそれらの方向を反転("ターン・アラウンド")する時の
ように、その方向をISB内で反転するからである。図4に
示されるように、パケットはISB内においては生成され
ず、単にそれを通じて別々のNSB間で経路指定されるだ
けなので、閉ループ経路指定パターンがもしも発生する
と、それらはISBに延びる必要があり、NSB内だけに存在
するとは限らなくなる。システム400内の経路指定デッ
ドロックは、任意の1つまたは複数のNSB自身だけに制約
されない。
【0046】本発明の教示によれば、禁止する経路を決
定するために、システム400は例証的に半分に区分され
る。この場合、16個の連続するNSB(例えばNSB 0乃至1
5、及びNSB 16乃至31)、及び256個の連続する処理要素
(例えばそれぞれ要素4150、...、415255及び41
5256、...、415511)は各半分に割当てられる。また
最初の8個のISBが片方の半分に含まれ、残りの8個のISB
が他の半分に含まれる。この点に関し、図5を参照する
と、図4のシステム400を構成する全てのNSB並びにISB46
0が示される。図示のように、システムは503と507のそ
れぞれ半分に区分される。32個の各NSB上のポート0など
の共通ポート(ラベル付けされていない)が、別々の対応
するパス(ケーブル)を介して、単一のISB上の32個のポ
ートの対応する1つに接続される。全てのNSB上の残りの
各ポート及び他のISBについても同様である。システム
の半分503は、NSB 4400乃至44015及びISB 4600乃至4607
を含む。ここではNSB 4400乃至44015は、パス5100 0、5
101 0、...、51015 0を介して、単一のISBの16個の
連続するポート(特にそれらの3つだけが示されてい
る)、ここではISB 4600の特にスイッチ・チップ5300
至5303に接続される。残りのシステムの半分507は、NSB
44016乃至44031、及びISB4608乃至46015を含む。同様
にこれらの特定のNSBはパス51016 15、51
017 15、...、51031 15を介して、単一のISBの対応
するポート、ここではISB 46015の特にスイッチ・チッ
プ5404乃至5407に接続される。
【0047】システムの共通半分、例えば半分503内に
配置される処理要素間を通過するパケットに対しては、
システムのその半分内に完全に含まれるISBを含む使用
可能な経路(NSB 4400と44015間の経路522、及びNSB 440
31と44016間の経路524など)だけが許可され、他の経路
(NSB 4400と44015間の破線で示される経路534、及びNSB
44031と44016間の破線で示される経路532)は禁止され
る。従って、後者の任意の経路はシステム初期化の間、
これらの処理要素を接続する大域経路テーブル内に含ま
れない。禁止された経路はまた、その経路上の"X"によ
り示される。逆にシステムの異なる半分内に配置される
処理要素間を通過するパケットに対して、こうした経路
が禁止されない。この場合、経路選択は大域経路テーブ
ル内に最終的に含まれるものに対して、システムの半分
にもとづく制限なしに、NSB 4400と44016間のその時使
用可能な全ての経路(1つの場合もある(特に図示せず))
の中から実施される。
【0048】経路の禁止は後述されるように、大域経路
テーブルが生成される間に、特定の経路指定指示を処理
することにより実行される。この処理は、全ての禁止経
路がネットワーク・ノードの所与の対間で定義される経
路として選択されることを防止する。
【0049】自身の内部処理要素間で発生するパケット
・トラフィックに対してシステムの各半分を隔離し、そ
れにより他の半分に含まれる処理要素間を通過するパケ
ットとの相互作用を排除することにより、経路指定デッ
ドロックが防止される。
【0050】NSB4400乃至44015及びNSB 44016乃至44031
の間の通信に対しては、どの経路も禁止されない。この
通信はデッドロックを生起しないので、すべての利用可
能な経路を使用できる。例えば、処理要素4150が処理要
素415511と通信する際に使用される経路の一例は、4150
→4400→5300→5307→44031→415511である。
【0051】また、同一のシステム半分内の任意の2個
のNSB間の複数の通信経路はISB内にいかなる新たなトラ
フィック・パターンも生起しない。図1に示すようなデ
ッドロックを生起するすべてのトラフィック・パターン
はすでに本発明により回避されている。例えば、図5
で、処理要素4150が415255とも通信する場合、本発明に
よりまだ回避されていないデッドロックの生起は存在し
ない。
【0052】驚くことに、上述のように512ポート交換
ネットワークの多数の分析の結果、ネットワークを通過
する期待されるトラフィック・パターンに関し、本発明
の手法によれば、ネットワークの最大伝送帯域幅が支障
ない程度に減少するだけであることが判明した。この点
に関し、本発明の使用は、ネットワークにおいて使用可
能な最大帯域幅のほぼ74%を確保し、これは期待した約
50%を大きく上回るものである。従って、経路指定デッ
ドロックを回避するための本手法の使用による不利益
は、特に獲得される利点を鑑みれば、極めて許容可能と
言える。
【0053】上述の説明を鑑み、図6は、図4に示される
システム400内に配置されるサービス・プロセッサ(例と
して処理要素415511)内で実行される、本発明の教示に
よりパケット経路を定義する経路テーブル発生器ルーチ
ン600のハイレベル流れ図を示す。ルーチン600は、上述
のようにサービス・プロセッサ内で実行される初期化ル
ーチンの1部である。
【0054】図6に示されるように、ルーチン600へのエ
ントリに際し、実行は最初にブロック610に移行し、ト
ポロジ・ファイル及び付随する経路指定指示を読出す。
デッドロック回避経路指定を提供するために、パケット
・ネットワーク内の各デバイス、例えばスイッチ回路
(または特にそこで使用されるスイッチ・チップ)に対応
する適切な指示、すなわちそのデバイスを通過する経路
指定が制限されているか否か、換言すると、パケットが
この回路を通じて方向を反転可能か否かを示す指示が、
トポロジ・ファイル内に含まれなければならない。ネッ
トワーク100を実現する図1に示されるスイッチ・ボード
について考えてみる。上述のように、各スイッチ・チッ
プのポート0乃至3は、スイッチ・ボードの外部のリンク
に接続され、各スイッチ・チップのポート4乃至7は接続
マトリックス140内のリンク(ケーブル)に接続され、そ
れを通じて、同一ボード内の別のスイッチ・チップのポ
ートに接続される。トポロジ・ファイル内において特定
のスイッチ・チップに対して指定される経路指定指示"n
r"は、そのチップに関し、経路指定制限が存在しないこ
とを意味する。パケットはこのチップ上の任意の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"は、トポロ
ジ・ファイル内で使用されるフォーマットの特定のスイ
ッチ回路の数値識別子である。
【0055】ブロック610が完全に実行されると、実行
はブロック620に移行し、トポロジ・ファイル内で指定
される各ケーブル(リンク)に関連する重みを0に設定す
る。更に出所ノード・カウンタに相当するノードiが0に
初期化される。その後、実行はブロック630に移行す
る。この特定のブロックはトポロジ・ファイル内に含ま
れるデータと付随するデッドロック回避経路指定指示と
を一緒に使用することにより、パケット・ネットワーク
を通じて現出所ノード(ノードi)をシステム内のあらゆ
る宛先ノードに接続するために使用可能な経路のセット
を抽出する。具体的には、既知のブレッドス・ファース
ト探索(breadth-first search)により、最短長を有する
経路、すなわち必ずしも物理的に最短長を有するわけで
はないが、最少の個々のリンク(ケーブル)を有する経路
が選択される。上述された各スイッチ回路に関連するデ
ッドロック回避経路選択を表す擬似コードを次に示す。
【数2】
【0056】最短パス経路のセットの選択は、ブロック
640に示されるように、経路が現出所ノードから全ての
宛先ノードに延びるまで、すなわち経路が宛先ベースに
なるまで出所ベースで発生する。1つの最短長経路だけ
が出所ノードから宛先ノードに生じる場合、その経路が
選択されて使用される。或いは複数のこうした経路がこ
の出所ノードと共通宛先ノード間で生じる場合、集合的
に最低の重みのケーブルを有する経路が選択される。重
みベースの選択により、パケット・ネットワーク全体を
通じて最小のケーブルの共用を維持するように、トラフ
ィック負荷が平衡される。出所ノードと宛先ノードの間
特定の経路が選択されると、その経路内の各ケーブル
に関連する重みが1だけ増分される。ブロック630及び64
0は、理解を容易にするために別個のブロックとして示
されるが、オペレーションは一般に結合される。
【0057】全ての宛先ノードに対して全ての経路が選
択されると、実行はブロック650に移行し、全ての選択
経路を大域経路テーブルに書込む。これにより現出所ノ
ードに対する経路テーブルが形成される。その後、実行
は判断ブロック660に移行し、ネットワーク内のあらゆ
るノードに対して、経路テーブルが大域経路テーブルに
書込まれたかどうかを判断する。経路テーブルがあらゆ
るノードに対して書込まれていない場合には、判断ブロ
ック660は実行を否定パス667を介して、ブロック670に
移行させる。この後者のブロックの実行により、出所ノ
ード・カウンタiが1増分される。実行は次にパス675を
介して、ブロック630へループして戻り、次に続くノー
ドの経路を判断しそれを書込む。或いは経路テーブルが
全てのノードについて書込まれると、実行は判断ブロッ
ク660からの肯定パス663を介して、ルーチン600を終了
する。このルーチンの実行の後、初期化処理の完了に先
立ち、上述のサービス・プロセッサはネットワークを通
じ、大域経路テーブルの対応部分を、自身を含む各々の
及びあらゆる個々の処理要素に提供する(特にコピーす
る)。そして、こうして記憶されたものが、後に局所経
路テーブルとして使用される。この部分は、その特定の
処理要素が出所ノードの時に選択される経路を含むだけ
である。
【0058】これまでの説明から当業者には理解される
ように、本発明は512の別々の処理要素を有する大容量
並列処理システムに関連して述べられてきたが、もちろ
んこれに限るものではない。実際に、本発明は実質的に
双方向の、マルチステージの、相互接続されたクロスポ
イント・ベースのパケット・ネットワークを使用する任
意のサイズの並列処理システムにおける、経路指定デッ
ドロックの回避にも適用される。その点に関し、本発明
は64プロセッサ・システム、256プロセッサ・システ
ム、及び他のサイズの類似のシステム、並びにマルチス
テージの、相互接続されたクロスポイント・ベースのパ
ケット・ネットワークを使用する他のシステムにそれら
の最終利用に関係なく、容易に組込むことが可能であ
る。
【0059】更に、本発明の教示はパケット・ネットワ
ークを2つの別々の半分に区分し、それらの間の経路指
定を制限する状況において述べられたが、こうしたネッ
トワークは本発明により任意の数の別々の区分に分割さ
れ、これらの各区分内だけをもっぱら通過するパケット
・トラフィックを隔離するように編成される。もちろ
ん、区分数が増加すると、それに伴い区分化を達成する
ために必要となる禁止経路の数も増加する。残念なが
ら、禁止経路の数が増えるとパケット・トラフィックを
伝搬する使用可能な経路が減少し、従って、ネットワー
クの伝送帯域幅が減少する。支障のない帯域幅の減少を
鑑みると、達成されるパケット隔離及びデッドロック回
避の点から、2つの区分が優れたトレードオフを提供す
ることが判明した。
【0060】
【発明の効果】以上説明したように、本発明によれば、
大規模な、双方向の、マルチステージの、相互接続され
たクロスポイント・スイッチ・ベースのパケット・ネッ
トワークにおいて、デッドロックのない経路指定を確立
する単純でコスト・パフォーマンスの良い装置及び方法
が提供される。
【図面の簡単な説明】
【図1】32個の別々の処理要素を使用する従来の並列処
理システム5のハイレベル・ブロック図である。
【図2】図1に示されるシステム5を通過するパケット30
0及びその構成フィールドを表す図である。
【図3】図1に示されるシステム5を構成する処理ノード
110、及び特にこれらのノードのメモリ内に存在してパ
ケット経路指定を達成する様々なファイル及びテーブル
を示す図である。
【図4】512の処理要素を含み、本発明の教示を使用す
る並列処理システム400のハイレベル・ブロック図であ
る。
【図5】システム400内に配置される中間スイッチ・ボ
ード(ISB)及びそれらの相互接続されたノード・スイッ
チ・ボード(NSB)を示し、パケット経路の例が本発明の
教示により決定される。
【図6】サービス・プロセッサ内で実行される経路テー
ブル発生器ルーチン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 ISB 600 経路テーブル発生器ルーチン 667 否定パス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロバート・フレデリック・スタッケ アメリカ合衆国12477、ニューヨーク州 ソガティーズ、リッジ・ロード 14 (72)発明者 クレイグ・ブライアン・スタンケル アメリカ合衆国06801、コネチカット州 ベスル、グリーン・パスチャー・ロード 10 (56)参考文献 特開 平3−32253(JP,A) 特表 平8−503799(JP,A) 特表 平6−502033(JP,A) IBM Technical Dis closure Bulletin,V ol.35,No.7 (Decembe r 1992),P.232−233 IEEE Transactions on Computers,Vol. 40,No.1 (January 1991),P.2−12 SIAM Journal on C omputing,Vol.10,No. 4 (November 1981),P. 702−712 (58)調査した分野(Int.Cl.6,DB名) G06F 15/16 G06F 15/163 G06F 15/173 G06F 15/177

Claims (18)

    (57)【特許請求の範囲】
  1. 【請求項1】パケット・ネットワーク外部の複数のノー
    ドを集合的に相互接続するクロスポイント・スイッチの
    連続ステージで構成されたパケット・ネットワーク、及
    び前記複数のノード内の個々のノードからそれぞれ対応
    する経路を介して前記複数のノードの自己ノード以外の
    各ノードに至る前記ネットワークを介する複数の規定経
    路を記憶するための経路テーブルを有し、前記経路テー
    ブルに記憶された規定経路に従ってパケットが前記ネッ
    トワーク及び少なくとも1つの前記クロスポイント・ス
    イッチを介して、規定経路上を1つのノードから他のノ
    ードに伝搬される装置において前記ネットワーク内にお
    ける経路指定デッドロックの発生を実質的に回避する方
    法であって、 パケットが前記複数のノード内の個々のノードからそれ
    ぞれ対応する経路を介して前記複数のノードの自己ノー
    ド以外の各ノードに伝搬されるように、前記ネットワー
    クを介する複数の規定経路を定義する第1の定義ステッ
    プと、 前記第1の定義ステップで定義された全ての規定経路を
    前記経路テーブルに記憶する規定経路記憶ステップと、 を含み、 各定義された規定経路が少なくとも1つのリンク上を延
    びており、 前記ネットワークは前記ノードの第1及び第2のグルー
    プにそれぞれ接続された第1及び第2のネットワーク区
    分に分割されるものと定義され、 前記定義された規定経路は、前記第1のネットワーク区
    分のみに接続されかつ前記第1のグループ内にある第1
    及び第2のノード間を通過するパケットが第2のネット
    ワーク区分に延びているリンクを有する経路上で伝搬さ
    れないように定義されていることを特徴とする方法。
  2. 【請求項2】前記第1の定義ステップは、前記第1及び
    第2のネットワーク区分にそれぞれ接続された第3及び
    第4のノード間を通過するパケットが、前記第1及び第
    2のネットワーク区分間に延びている少なくとも1つの
    リンクを有する経路上で伝搬されるように、前記複数の
    規定経路を定義する第2の定義ステップを含む、請求項
    1記載の方法。
  3. 【請求項3】前記ネットワーク内において出所ノードか
    ら宛先ノードに経路指定されるパケットをアセンブルす
    る際に、前記第3及び第4のノード内において前記パケ
    ットの規定経路を生成するために、前記経路テーブルを
    アクセスする経路アクセス・ステップと、 前記規定経路を前記パケットにコピーする経路コピー・
    ステップと、 前記パケットを前記規定経路上で前記ネットワークを介
    して経路指定する経路指定ステップと、 を含む、請求項2記載の方法。
  4. 【請求項4】前記経路テーブルの異なる部分を、前記複
    数のノード各々に対応する別々の局所経路テーブルにダ
    ウンロードするステップを含み、 前記経路テーブル部分の各々が各ノードを出所ノードと
    して有する全ての前記規定経路を指定し、 前記経路コピー・ステップは、前記出所ノードから前記
    宛先ノードに伝搬されるパケットの前記規定経路を生成
    するために、前記パケットの前記宛先ノードにもとづき
    前記出所ノードの前記局所経路テーブルをアクセスする
    ステップを含む、請求項3記載の方法。
  5. 【請求項5】前記パケットの各々は、少なくとも1つの
    経路バイトを含む経路フィールドを有するヘッダを含
    み、 前記経路フィールドは、各パケットが前記ネットワーク
    を伝わる経路を集合的に指定し、 個々の経路バイトは、各パケットが対応する前記クロス
    ポイント・スイッチの1つを横断する経路を定義し、 前記経路コピー・ステップは、前記規定経路内の連続す
    る経路バイトの値を前記ヘッダ内の別々の対応する連続
    経路バイトにコピーするステップを含む、請求項4記載
    の方法。
  6. 【請求項6】各ネットワーク区分は、全ノードの半分が
    接続されているパケット・ネットワーク部分を構成す
    る、請求項5記載の方法。
  7. 【請求項7】前記装置をサービス・フェーズ及び実行フ
    ェーズで動作させ、前記第1の定義ステップ及び前記規
    定経路記憶ステップを前記サービス・フェーズの間に実
    行し、前記経路アクセス・ステップ、前記経路コピー・
    ステップ及び前記経路指定ステップを前記実行フェーズ
    の間に実行する動作ステップを含む、請求項5記載の方
    法。
  8. 【請求項8】前記第1の定義ステップは、 ネットワーク・デバイス及びトポロジ・ファイル内の相
    互接続データに応答して、出所ノードとしての前記の各
    ノードから宛先ノードとしての、自己ノード以外の各使
    用可能なノードへ至る全ての使用可能な最短パス経路
    を、前記トポロジ・ファイル内に含まれる前記デバイス
    の1つに対するデッドロック回避指示により禁止される
    前記1つのデバイスを通過するパスを有する経路を除外
    して、決定する経路決定ステップと、 前記出所ノード及び前記宛先ノード間に1つの最短パス
    経路が存在する場合、前記最短パス経路を前記経路テー
    ブルに、前記出所ノード及び前記宛先ノード間の規定経
    路として書込むステップと、 前記出所ノード及び前記宛先ノード間に複数の最短パス
    経路が存在する場合、前記最短パス経路の中から集合的
    に最小の重みを有する1つの前記最短パス経路を前記出
    所ノード及び前記宛先ノードの間の規定経路として選択
    するステップと、 前記規定経路内の各リンクに関連する別々の重みを、予
    め定義された量だけ増分するステップと、 を含む、請求項5記載の方法。
  9. 【請求項9】前記経路決定ステップは前記全ての使用可
    能な最短パス経路を突き止めるブレッドス・ファースト
    探索を実行するステップを含む、請求項8記載の方法。
  10. 【請求項10】前記装置をサービス・フェーズ及び実行
    フェーズで動作させ、前記第1の定義ステップ及び前記
    規定経路記憶ステップを前記サービス・フェーズの間に
    実行し、前記経路アクセス・ステップ、前記経路コピー
    ・ステップ及び前記経路指定ステップを前記実行フェー
    ズの間に実行する前記動作ステップを含む、請求項9記
    載の方法。
  11. 【請求項11】前記ネットワーク区分の各々は全ノード
    の半分が接続されているパケット・ネットワーク部分を
    構成する、請求項10記載の方法。
  12. 【請求項12】パケット・ネットワーク外部の複数のノ
    ードを集合的に相互接続するクロスポイント・スイッチ
    の連続ステージで構成されたパケット・ネットワーク、
    及び前記複数のノード内の個々のノードからそれぞれ対
    応する経路を介して前記複数のノードの自己ノード以外
    の各ノードに至る前記ネットワークを介する複数の規定
    経路を記憶するための経路テーブルを有し、前記経路テ
    ーブルに記憶された規定経路に従ってパケットが前記ネ
    ットワーク及び少なくとも1つの前記クロスポイント・
    スイッチを介して、規定経路上を1つのノードから他の
    ノードに伝搬される装置において前記ネットワーク内に
    おける経路指定デッドロックの発生を実質的に回避する
    装置であって、 パケットが前記複数のノード内の個々のノードからそれ
    ぞれ対応する経路を介して前記複数のノードの自己ノー
    ド以外の各ノードに伝搬されるように、前記ネットワー
    クを介する複数の規定経路を定義する第1の定義手段
    と、 前記第1の定義ステップで定義された全ての規定経路を
    前記経路テーブルに記憶する規定経路記憶手段と、 を含み、 各定義された規定経路が少なくとも1つのリンク上を延
    びており、 前記ネットワークは前記ノードの第1及び第2のグルー
    プにそれぞれ接続された第1及び第2のネットワーク区
    分に分割されるものと定義され、 前記定義された規定経路は、前記第1のネットワーク区
    分のみに接続されかつ前記第1のグループ内にある第1
    及び第2のノード間を通過するパケットが第2のネット
    ワーク区分に延びているリンクを有する経路上で伝搬さ
    れないように定義されていることを特徴とする装置。
  13. 【請求項13】前記第1の定義手段は、前記第1及び第
    2のネットワーク区分にそれぞれ接続された第3及び第
    4のノード間を通過するパケットが、前記第1及び第2
    のネットワーク区分間に延びている少なくとも1つのリ
    ンクを有する経路上で伝搬されるように、前記複数の規
    定経路を定義する、請求項12記載の装置。
  14. 【請求項14】前記ネットワーク内において出所ノード
    から宛先ノードに経路指定されるパケットをアセンブル
    する際に、前記第3及び第4のノード内において前記パ
    ケットの規定経路を生成するために、前記経路テーブル
    をアクセスし、前記規定経路を前記パケットにコピー
    し、前記パケットを前記規定経路上で前記ネットワーク
    を介して経路指定する手段を含む、請求項13記載の装
    置。
  15. 【請求項15】前記経路テーブルの異なる部分がダウン
    ロードされる、前記複数のノード各々に関連する別々の
    局所経路テーブルと、 前記出所ノードから前記宛先ノードに伝搬されるパケッ
    トの前記規定経路を生成するために、前記パケットの前
    記宛先ノードにもとづき前記出所ノードの前記局所経路
    テーブルをアクセスする手段を含み、 前記経路テーブルの異なる部分の各々が各ノードを出所
    ノードとして有する全ての前記規定経路を指定する、請
    求項14記載の装置。
  16. 【請求項16】前記パケットの各々は少なくとも1つの
    経路バイトを含む経路フィールドを有するヘッダを含
    み、 前記経路フィールドは各パケットが前記ネットワークを
    伝わる経路を集合的に指定し、 個々の経路バイトは各パケットが対応する前記クロスポ
    イント・スイッチの1つを横断する経路を定義し、 前記規定経路内の連続する経路バイトの各値が前記ヘッ
    ダ内の別々の対応する連続経路バイトにコピーされる、
    請求項15記載の装置。
  17. 【請求項17】各ネットワーク区分は全ノードの半分が
    接続されているパケット・ネットワーク部分を構成す
    る、請求項16記載の装置。
  18. 【請求項18】前記第1の定義手段は、 ネットワーク・デバイス及びトポロジ・ファイル内の相
    互接続データに応答して、出所ノードとしての前記の各
    ノードから宛先ノードとしての、自己ノード以外の各使
    用可能なノードへ至る全ての使用可能な最短パス経路
    を、前記トポロジ・ファイル内に含まれる前記デバイス
    の1つに対するデッドロック回避指示により禁止される
    前記1つのデバイスを通過するパスを有する経路を除外
    して、決定する手段と、 前記出所ノード及び前記宛先ノード間に1つの最短パス
    経路が存在する場合、前記最短パス経路を前記経路テー
    ブルに、前記出所ノード及び前記宛先ノード間の規定経
    路として書込む手段と、 前記出所ノード及び前記宛先ノード間に複数の最短パス
    経路が存在する場合、前記最短パス経路の中から集合的
    に最小の重みを有する1つの前記最短パス経路を前記出
    所ノード及び前記宛先ノードの間の規定経路として選択
    する手段と、 前記規定経路内の各リンクに関連する別々の重みを、予
    め定義された量だけ増分する手段と、 を含む、請求項16記載の装置。
JP7012797A 1994-04-04 1995-01-30 パケットの経路指定デッドロック回避方法及び装置 Expired - Fee Related JP2817770B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
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
US222284 1994-04-04

Publications (2)

Publication Number Publication Date
JPH07282018A JPH07282018A (ja) 1995-10-27
JP2817770B2 true 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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020092767A1 (en) * 2018-10-31 2020-05-07 Hewlett Packard Enterprise Development Lp Hierarchical switching device with deadlockable storage and storage partitions
US10757038B2 (en) 2018-07-06 2020-08-25 Hewlett Packard Enterprise Development Lp Reservation-based switching devices
US10938751B2 (en) 2018-04-18 2021-03-02 Hewlett Packard Enterprise Development Lp Hierarchical switching devices

Families Citing this family (55)

* Cited by examiner, † Cited by third party
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
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
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
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
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
US6085303A (en) * 1997-11-17 2000-07-04 Cray Research, Inc. Seralized race-free virtual barrier network
US5970232A (en) * 1997-11-17 1999-10-19 Cray Research, Inc. Router table lookup mechanism
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 パケットスイッチ
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
US6567856B1 (en) * 1999-06-02 2003-05-20 Sun Microsystems, Inc. Deadlock-free routing
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
JP2002259352A (ja) * 2001-03-01 2002-09-13 Handotai Rikougaku Kenkyu Center:Kk マルチプロセッサシステム装置
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
JP2006236362A (ja) * 2006-03-13 2006-09-07 Handotai Rikougaku Kenkyu Center:Kk マルチプロセッサシステム装置
US7853639B2 (en) * 2006-09-12 2010-12-14 International Business Machines Corporation Performing process migration with allreduce operations
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
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
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
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
EP2557736B1 (en) * 2011-05-17 2017-11-15 Huawei Technologies Co., Ltd. Method, service board and system for transmitting keyboard, video, mouse data
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 富士通株式会社 情報処理装置、通信手順決定方法、および通信プログラム
WO2019028521A1 (en) * 2017-08-10 2019-02-14 Metamako General Pty Ltd In Its Capacity As General Partner Of Metamako Technology Lp COMPUTER NETWORK DEVICE, COMPUTER INTERRENSE AND COMPUTER NETWORK METHOD

Family Cites Families (11)

* Cited by examiner, † Cited by third party
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 富士通株式会社 並列計算機間通信制御方式
CA2011399C (en) * 1989-06-22 1998-05-19 Lawrence C. Stewart Routing apparatus and method for high-speed mesh connected local area network
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

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
IBM Technical Disclosure Bulletin,Vol.35,No.7 (December 1992),P.232−233
IEEE Transactions on Computers,Vol.40,No.1 (January 1991),P.2−12
SIAM Journal on Computing,Vol.10,No.4 (November 1981),P.702−712

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
WO2020092767A1 (en) * 2018-10-31 2020-05-07 Hewlett Packard Enterprise Development Lp Hierarchical switching device with deadlockable storage and storage partitions
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
DE69518782D1 (de) 2000-10-19
EP0676703A3 (en) 1996-02-07
EP0676703B1 (en) 2000-09-13
US5453978A (en) 1995-09-26
EP0676703A2 (en) 1995-10-11
JPH07282018A (ja) 1995-10-27

Similar Documents

Publication Publication Date Title
JP2817770B2 (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
JP5623550B2 (ja) 任意のトポロジーの直接ネットワークにおけるデッドロック防止
US10282338B1 (en) Configuring routing in mesh networks
US5797035A (en) Networked multiprocessor system with global distributed memory and block transfer engine
US6031835A (en) Method for deadlock free and and reliable routing in a packet switched network
US5701416A (en) Adaptive routing mechanism for torus interconnection network
US7159017B2 (en) Routing mechanism for static load balancing in a partitioned computer system with a fully connected network
US6065063A (en) Deadlock avoidance method in a computer network
US5659796A (en) System for randomly modifying virtual channel allocation and accepting the random modification based on the cost function
JP3365705B2 (ja) 分散型データ処理システム
Scott et al. Optimized routing in the Cray T3D
Sancho et al. A new methodology to compute deadlock-free routing tables for irregular networks
Silla et al. Efficient adaptive routing in networks of workstations with irregular topology
JP2533223B2 (ja) 多段通信ネットワ―ク
JPH05153163A (ja) メツセージのルーテイング方法およびネツトワーク
KR19980066621A (ko) 대역폭확장이 가능한 상호연결망
Owicki et al. Factors in the Performance of the AN1 Computer Network
Koibuchi et al. Descending layers routing: A deadlock-free deterministic routing using virtual channels in system area networks with irregular topologies
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
Arango et al. Staged circuit switching
Chen et al. A hybrid interconnection network for integrated communication services
Sethu et al. IBM RS/6000 SP interconnection network topologies for large systems

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees