JPH1063630A - マルチステージ・クロスポイント・パケット交換におけるデッドロックのない経路指定のための経路制限セット・グループ - Google Patents

マルチステージ・クロスポイント・パケット交換におけるデッドロックのない経路指定のための経路制限セット・グループ

Info

Publication number
JPH1063630A
JPH1063630A JP9166941A JP16694197A JPH1063630A JP H1063630 A JPH1063630 A JP H1063630A JP 9166941 A JP9166941 A JP 9166941A JP 16694197 A JP16694197 A JP 16694197A JP H1063630 A JPH1063630 A JP H1063630A
Authority
JP
Japan
Prior art keywords
switch
path
network
switches
paths
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9166941A
Other languages
English (en)
Inventor
Seteyuu Harrish
ハリッシュ・セテュー
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 JPH1063630A publication Critical patent/JPH1063630A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17393Indirect interconnection networks non hierarchical topologies having multistage networks, e.g. broadcasting scattering, gathering, hot spot contention, combining/decombining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】マルチステージ・クロスポイント・パケット交
換において、デッドロックのない経路指定を確立する装
置を提供する。 【解決手段】ネットワークにおける各ソース・スイッチ
から経路制限の数を設定することによって、及びネット
ワークに対してすべてのソース・宛先のスイッチ・チッ
プの対の間の制限されずに残っている経路の数に関する
標準偏差が最小になるように各ソース・宛先のスイッチ
・チップの対の間の制限された経路の数を決定すること
によって、ソース、中間、及び宛先スイッチ・チップに
またがる制限された経路のセットのグループが決定され
る。その制限のセットのグループは、設定された1スイ
ッチ当たりの制限及び決定されたソース・宛先の対の制
限に応じたデッドロックのない経路制限を決定するため
にネットワークの第1部分を分析すること、しかる後、
ネットワーク残りの各スイッチ・チップを増分的に加え
ること、そしてその分析を反復することによって作成さ
れる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マルチステージ相
互接続クロスポイント・ベースのパケット交換(switc
h)においてデッドロックのないメッセージ経路指定を
確立するための装置及びそれに付随する方法に関するも
のである。本発明は、汎用性を失うことなく、高度並列
処理システムにおける高速パケット・ベースの交換ネッ
トワーク内に組み込むに適している。
【0002】
【従来の技術】並列計算システムは、大量のデータを管
理でき、しかも複雑な計算上の問題を高速に且つ効率的
に処理できるコンピュータ・システムを実現するため
に、処理速度を向上させるための便利な解決方法として
利用されている。従来技術では、数多くの並列又は分散
処理計算システムがよく知られている。
【0003】高度並列処理システムは、各処理エレメン
トがネットワーク上の個別のノードのように見える高速
度パケット・ネットワークより成る通信システムを通し
て相互接続された比較的多数の(時には、数百又は数千
もの)、しかし比較的単純な独立したマイクロプロセッ
サ・ベースの処理エレメントを含んでいる。パケットの
形をしたメッセージがそのネットワークを通してこれら
の処理エレメントの間で経路指定され、それらの間の通
信を可能にしている。各処理エレメントは、一般に、マ
イクロプロセッサと、ランダム・アクセス・メモリ(R
AM)及び読取専用メモリ(ROM)のような記憶回路
と、入出力回路と、その処理エレメントがネットワーク
とインターフェースすることを可能にする通信インター
フェース及び関連のハードウエア及びソフトウエアを含
む通信サブシステムとを含んでいる。
【0004】高度並列処理システムの全体的なパフォー
マンスは、一般に、そこで実施されるパケット・ネット
ワークのパフォーマンスに直接に関連する。処理エレメ
ント相互間でメッセージを効率的に転送するようには設
計されてないパケット・ネットワークはシステム・スル
ープットに悪影響を与え、従って、その高度並列処理シ
ステムを所与のアプリケーションにとって非実用的な設
計オプションにしてしまうことがある。
【0005】動作時には、高度並列処理システムにおけ
る各処理エレメントはアプリケーションの事前定義され
た粗粒部分を実行する。アプリケーションにおけるそれ
の事前定義された部分を実行する場合、その処理エレメ
ントがリモート処理エレメントにおいて実行中のアプリ
ケーション・プログラムからのデータを必要とすること
は一般的なことであり、更に、その処理エレメントがそ
の結果の処理済みデータを、他のリモート処理エレメン
トにおいて実行中の他のアプリケーション・プログラム
に供給することも一般的なことである。「宛先エレメン
ト」と呼ばれる処理エレメントは、「ソース・エレメン
ト」と呼ばれる他のそのようなエレメントからのデータ
をリクエストする。宛先エレメントは、ソース・エレメ
ントからの必要なデータを含むそのリクエストしたパケ
ットをそれが受け取るまで、このアプリケーションでは
アイドルしたままであろう。そのリクエスト・パケット
の受領時に、宛先エレメントはそれのアプリケーション
部分の処理を再開する。
【0006】データに対するリクエスト及び対応するパ
ケット転送がパケット・ネットワークを通して実施され
る時、パケット・ネットワーク上のメッセージ(パケッ
ト、即ち、ソース・エレメントに送られた宛先エレメン
トからのリクエストを含むパケット及びソース・エレメ
ントから宛先エレメントへの応答として逆方向に送られ
た対応するパケット)の伝送に対応した関連の有限の期
間が存在する。これは、宛先エレメントにおいて実行中
のアプリケーション部分の実行に或程度の待ち時間を付
加する。そのシステムにおけるほとんどの処理エレメン
トは、対応するソース・エレメントにおいて実行中のア
プリケーション部分に対する宛先エレメントとして機能
するので、この付加的な伝送待ち時間はシステム・スル
ープットをかなり減少させ、その結果、システム・パフ
ォーマンスを低下させることがある。更に、高度並列処
理システム及びその付随物に含まれるかなりの数の処理
エレメントが、これらのエレメントのうちの任意のもの
が、任意の時間に、任意の他のそのようなエレメントと
コミュニケートすることを必要とする場合、そのネット
ワークは、予測されるピーク負荷に対応して処理エレメ
ント相互間のかなり多くのパケットの経路指定を同時に
行うことができなければならない。
【0007】所望のパフォーマンス特性をもたらすパケ
ット交換ネットワークを高度並列処理システムに包括さ
せるように実施しようとすると、開発活動の遅れがこれ
らのシステムの急速な拡大及び利用の増加をかなり妨げ
ていることがわかった。
【0008】現在得ることができるパケット・ネットワ
ークの多様の利用可能な形式の中で、恐らく、最も伝統
的なアーキテクチャは、比較的小型のクロスポイント・
スイッチのマルチステージ相互接続構成を実施してい
る。その場合、各スイッチは、一般に、すべてのポート
がクロスポイント・マトリクスを通して内部的に相互接
続される8ポートの双方向ルータである。このネットワ
ークでは、そのネットワークの一方の側(いわゆる入力
側)で始まる1つのステージにおける各チップが固有の
パスを通して次ぎの後続ステージにおけるスイッチに相
互接続され、そして最後のステージがそのネットワーク
の反対側(いわゆる出力側)に達するまでそれを繰り返
す。その双方向ルータ・スイッチは、一般に、動作的に
非閉塞である比較的安価な単一集積回路(後述の「スイ
ッチ・チップ」)として入手可能であり、従って、スイ
ッチ・ベースのパケット・ネットワークの設計ではその
ようなスイッチ・チップを使用することが望ましい。そ
のようなスイッチ・チップは、P. Hochschild 他により
「デッドロック回避機構を有する中央共用待ち行列ベー
スの時間多重化パケット交換(A Central Shared Queue
Based Time Multiplexed Packet Switch With Deadloc
k Avoidance)」と題して1996年3月4日に出願され
そして現在未決である米国特許出願08/424,82
4号(本願の譲受人に譲渡された)に開示されている。
【0009】パケット交換ネットワークに対する上記の
トポロジは、比較的簡単であり、しかもそれのすべての
ポートの間で高い帯域幅を与えることができるけれど
も、経路指定デッドロックを受けやすい。経路指定デッ
ドロックは、同じステージにおける何れか2つのスイッ
チの間に複数の経路が存在する時に生じる。経路指定デ
ッドロックは上記のネットワークにおいて頻繁に起こる
ものではないけれども、後述するように、それの発生
は、影響を受けた各ポートをその交換ネットワークにお
ける参加から完全に排除し、実行中のアプリケーション
を停止させ、従って、システム・パフォーマンスをかな
り低下させる。
【0010】例えば、2つの相互接続されたステージの
形に編成された8個のスイッチ・チップの32ポート・
ネットワーク(4スイッチの入力ステージに後続して4
スイッチの出力ステージがあり、それらのスイッチ・チ
ップはすべて単一のスイッチ・ボード上に含まれる)を
考察することにする。この構成の場合、入力ステージに
おける異なるスイッチ・チップ上の任意の2つのポート
の間で移動するパケットは、ソース(入力)ポートを含
むその入力ステージにおけるスイッチ・チップを通して
出力ステージにおける4つのスイッチのうちのどれかに
経路指定される。一方、出力ステージにおけるスイッチ
・チップは、このパケットに対する宛先(出力)ポート
を含むその入力ステージにおけるスイッチ・チップにパ
ケットを返送する(即ち、それの向きを反転する)であ
ろう。スイッチ・チップ間の経路は、一般に、ネットワ
ークを流れるパケット・トラフィックをバランスさせる
ようにシステム初期設定時に事前定義されるので、各バ
イト関連のパスは比較的短い期間にわたってほぼ等しい
数のパケットを搬送するであろう。一旦これらの経路が
設定されると、スイッチ不良、パス不良、或いは保守条
件を課する場合以外は、それらは滅多に変更されること
はない。そこで、各処理エレメントとって利用可能な割
り当てられた経路が再びシステム初期設定時にローカル
・経路テーブルの形でそのエレメントに供給される。
【0011】動作時には、各処理エレメントがそのネッ
トワークを介して伝送するためにパケットを形成する
時、そのパケットの意図された宛先に基づいてそのエレ
メントはそれのローカル経路テーブルからその経路を読
み取り、その経路を適当な経路指定バイトの値としてパ
ケットのヘッダに挿入する。そこで、パケットはネット
ワーク上に送出され、そのパケットにおける経路指定バ
イトの対応する値によって指定されるように、入力ステ
ージ及び出力ステージにおける連続したスイッチ・チッ
プを通して送られる。パケットが特定のスイッチ・ステ
ージを移動する時、そのステージにおける最後のチップ
は対応する経路指定バイトをパケット・ヘッダから取り
除かれる。
【0012】過去においては、特に、小型の交換ネット
ワークでは、経路指定は、経路指定デッドロックの可能
性を考慮することなく、一般的に実施されていた。経路
指定デッドロックは、種々のスイッチ・チップからの対
応するパケットが、連続するステージにおけるスイッチ
・チップの対を接続する共通パスを通して同時に経路指
定されるのを待っている時に生じ得る。デッドロック状
態の発生時に、影響を受ける各スイッチ・チップは、実
際に、そのグループにおける他のスイッチ・チップがこ
れらの特定のパスを通してそれらのパケットを経路指定
するのを待つ。それらのスイッチのどれもネットワーク
を通してそれのパケットを中継することができないの
で、それらパケットはすべて単に待機するだけであり、
そしてその対応するパスはデッドロック状態になり、従
ってそのパス上でトラフィック・フローを生ずることは
ない。その結果、デッドロックが生じている間、そのデ
ッドロック・パケットの宛先となる処理エレメントは停
止され、そのパケットを待ち続ける。一方、それはそれ
らの処理スループットを停止する。従って、ネットワー
ク帯域幅は、それらの影響を受けない処理エレメントを
支援するためにスキューし、更にシステム・スループッ
トを低下させるワークロードの不均衡及びホット・スポ
ットを生じさせる。
【0013】デッドロックの発生を回避しようとするた
めの幾つかの技法が存在するが、それぞれが有利な特性
と共に好ましくない特性を有する。グローバル・アービ
トレーション技法は、例えば、経路指定デッドロックが
予測される場合に適用され、複数の交互の非デッドロッ
ク経路からの1つの選択に通じる。しかし、この技法
は、伝送されるべきすべてのパケットが潜在的な経路指
定デッドロックを予測して監視されなければならないこ
と、及び関連のアービトレーション・サイクルが実行さ
れなければならないことを必要とする。これを可能にす
るために必要な回路は複雑になり、それがスイッチ・チ
ップの各々に外部的に接続しなければならないので、禁
止的コストになりそうである。従って、そのような技法
は、ほとんどのアプリケーションにとって非実用的であ
るように思われる。
【0014】これとは別の技法として、二重スイッチ・
ボードを使用してパケット・ネットワークを形成するこ
とに関連するものがある。この技法は、例示的な32プ
ロセッサ・システムによって使用される場合、冗長スイ
ッチ・ボードの同じポートに対して第1スイッチボード
の16個のポート、例えば、ポート16−31を必要と
するであろう。各ボード上の残りのポート(即ち、0−
15)は32個の処理エレメントのうちの対応する処理
エレメントに接続されるであろう。共通スイッチ・ボー
ド上のソース・ポート及び宛先ポートの間のパケット転
送はそのスイッチ・ボード内だけで経路指定される。異
なるスイッチ・ボードにおけるソース・ポート及び宛先
ポートの間で経路指定されるべきパケットだけがそれら
のボード相互間で経路指定されるであろう。1つのスイ
ッチ・ボードにおいて流れるだけのパケットが他のスイ
ッチ・ボードにおいて同時に流れるだけのパケットと潜
在的に相互作用しないようにすることによって、この技
法はデッドロックを排除する。更に、この技法は伝送帯
域幅を低下させない。残念なことに、冗長性は高価な方
法である。それにも関わらず、1つのスイッチ・ボード
の二重化と関連した付加的コストは、簡単なシステムで
は禁止的ではないかもしれず、場合によっては(32プ
ロセッサ・システムのような)、デッドロック回避を実
現するための受容可能な設計的解決法となり得る。しか
し、任意のサイズのマルチプロセッサ・システムにおい
て費用効果的に実施可能である解決法を案出することが
望ましい。
【0015】これを達成する可能性を持った1つの解決
法は、単に或経路が使用されることを禁止することによ
って経路指定デッドロックを回避するものである。この
特定の技法によれば、同じステージにおける2つのスイ
ッチ・チップ相互間のすべての可能な経路の特定のサブ
セットだけが、それらの間でパケット・トラフィックを
搬送するために利用可能であるとして定義されるであろ
う。経路の禁止は、システムの経路指定テーブルから特
定の経路を排除することを意味する。システムの経路指
定テーブルに含まれた経路のサブセットを形成する経路
は、特に、経路指定デッドロックが生じないことを保証
するために選択されるであろう。各追加の経路が禁止さ
れる時、ネットワーク全体の帯域幅は低下する。従っ
て、そのような技法を実施する場合の目的は、できるだ
け少ない経路に制限しながらデッドロックのないネット
ワークを達成することであろう。
【0016】このいわゆる経路制限技法から生じるもう
1つの問題は、その結果生じた禁止されない経路がその
システムにおける処理ノードに関して対称的には分布さ
れないことが多いことである。従って、伝送帯域幅はネ
ットワーク全体を通して均等には減少せず、ネットワー
クにおける帯域幅の非対称性を生じる。その結果、伝送
帯域幅は、「ホット」部分において特に高くなりそして
その他の部分において本質的にゼロになる傾向がある、
いわゆる、「ホット・スポット」を発生する。従って、
処理のスループットは、これらの「ホット」ポートに対
応する処理エレメントに、他のそのようなポートを犠牲
にして便宜を図り易くするようにスキューされ、それに
よって、ネットワークを通したワークロード処理をアン
バランスにする。システム・パフォーマンスの低下が最
終的な結果である。実際に、経路がスイッチ・ボード内
だけで禁止された時、これまでは、ネットワーク全体を
通した受容可能な一定の帯域幅減少を結果として生じる
残りの禁止されないの経路結合が存在しなかった。
【0017】前述の問題にも関わらず、経路制限技法は
デッドロック回避を行うための魅力的な解決方法であ
る。それは、実施するのが簡単であり且つ非常にコスト
効果のあるものである。しかし、ネットワークを通して
対称的な帯域幅縮小を許容し得る程度に行う能力を除け
ば、マルチステージ・クロスポイント・パケット・ネッ
トワークにそのような技法を包含させることは非常に有
利であろう。
【0018】最近、対称的な帯域幅経路制限を可能にす
るための幾つかの解決方法が考案されている。例えば、
1995年9月26日に Sethu 他に付与された(本願
の譲受人に譲渡された)「マルチステージ・クロスポイ
ント・パケット交換を通してデッドロックのない経路指
定を行うための技法(Technique For AccomplishingDea
dlock Free Routing Through A Multi-Stage Cross-Poi
nt Packet Switch)」と題する米国特許第5,453,9
78号は、ネットワーク全体が効果的に区切られ、シス
テムの1つのパーティションにおいてスイッチに接続さ
れたノード相互間でしか流れないパケット・トラフィッ
クを、他のパーティションにおけるスイッチに接続され
たノード相互間でしか流れないパケット・トラフィック
から分離するために、経路が禁止されるという技法を教
示している。従って、同じパーティションにおけるノー
ド同士を接続するべき経路を選択する場合、他のシステ
ム・パーティションを通過するパスを含む経路は禁止さ
れるが、複数のシステム・パーティション内に置かれた
ノード相互間でメッセージを送ることを可能にするべく
経路を選択するためにそのような経路禁止が実施される
ことはない。しかし、対称的制限を作りながら経路制限
を実施するためにシステム・パーティション(又はシス
テム・ハーフ)を設定するという概念は、必ず、処理ノ
ード相互間の可能な経路の半分を禁止することに伴う。
従って、ネットワーク帯域幅を増大させるために、少な
い経路制限を必要とするだけで、パケット・ネットワー
クにわたってデッドロックのない経路指定を行い且つ制
限された経路の対称性を維持するという新規な経路制限
技法を提供することが依然として望ましい。
【0019】
【発明が解決しようとする課題】従って、大型の双方向
性マルチステージ相互接続クロスポイント・パケット交
換ネットワークでは、デッドロックが生じないようにす
る実用的な経路制限技法に対する必要性が存在する。そ
の技法は、実施するのが簡単で且つコスト効果のあるも
のでなければならず、しかも、処理ノードに対する対称
的なワークロード分散を維持しながら経路制限に起因す
る帯域幅の縮小をできるだけ少なくしなければならな
い。そのような技法は、512個又はそれ以上の多くの
プロセッサを含む処理システムの設計及び実施を大いに
促すであろう。従って、もしそうでなければ排除される
ようなアプリケーション処理の要求に対して、高度並列
処理システムが利用可能である。
【0020】
【課題を解決するための手段】大型の双方向性のマルチ
ステージ・クロスポイント・ベースのパケット交換にお
いてメッセージのデッドロックのない経路指定を実施す
るための装置及びそれに付随する方法を含む本発明によ
って、上記の問題点及び従来技術の欠点は克服され、更
なる利点が与えられる。本発明は、特に、排他的ではな
く、高度並列処理システムの高速ネットワークにおける
組込みに適している。
【0021】詳しく云えば、本発明を使用することによ
って、或経路は、パケット・ネットワークにおけるそれ
ぞれの独特なアクティブスイッチ回路(又はスイッチ・
チップ)の間の経路制限をその実施時にバランスさせる
経路指定ルールの派生的なセットに基づく経路テーブル
には含まれないであろう。禁止された経路は、それが使
用されない場合に閉ループ経路指定パターンを禁止し、
それによって、経路指定デッドロックの潜在的発生を回
避するものとして選択される。その経路指定ルールは、
パケット・ネットワークに対する制限された経路の仮定
の数を設定することによって得られる。なお、その数
は、1スイッチ・チップ当たりの経路制限の数の計算を
可能にするために、その中のアクティブなスイッチ・チ
ップの数によって均等に除することが可能である。更
に、制限された経路は、ソース・宛先スイッチ・チップ
の対のセットを定義するために、パケット・ネットワー
クにおけるちょうど3つのスイッチ・チップ、即ち、第
1スイッチ・ステージにおけるソース・スイッチ・チッ
プ、第2スイッチ・ステージにおける中間的スイッチ・
チップ、及び第1スイッチ・ステージにおける宛先スイ
ッチ・チップにまたがるものである。本発明の経路指定
ルールによれば、ソース、中間、宛先スイッチ・チップ
の経路をサポートすることができるスイッチ・チップの
各決定されたソース・宛先の対に対して、それらの間の
制限の数は、各ソース・スイッチ・チップからの制限さ
れた経路の数が1スイッチ・チップ当たりの経路制限の
数に等しいことを依然として保証すると共に、そのパケ
ット・ネットワークに対するスイッチ・チップのすべて
のソース・宛先の対の間の制限されずに残された経路の
数がほぼ等しくなるように決定される。
【0022】これらの経路制限の使用可能なセットを決
定する場合、そのネットワークの第1部分は、少なくと
もデッドロック状態を作るに十分なスイッチ・チップを
含むように選択される。ネットワークのこの第1部分で
は、決定された経路の各セットに対して、1つのソース
・宛先スイッチの対当たりの制限数が前に決定された数
と一致するように、そこに含まれたスイッチ・チップの
各ソース・宛先の対の間の制限され得るすべての可能な
経路のセットが決定され、それによって、各ソース・宛
先スイッチ・チップの対に対する制限された経路の数は
ほぼ等しくなる。そこで、これらの決定されたセットは
分析され、各セットに対して、制限されずに残された経
路におけるデッドロック状態がそれらの制限を課するこ
とによって生じるかどうかを決定する。デッドロックの
ない経路指定パターンが作られるセットはセットのグル
ープ内に保持される。
【0023】そこで、スイッチ・チップがネットワーク
の第1の選択された部分に加えられ、実行は、デッドロ
ックのない制限のセットのグループがネットワーク全体
に対して作られてしまうまで上記のように進行する。ネ
ットワークにおけるすべてのスイッチを含むこのグルー
プの完成時に、そこに含まれる各セットに対してスイッ
チ・チップの各ソース・宛先の対の間に少なくとも1つ
の制限されてない経路が存在するかどうかが決定され
る。少なくとも1つのそのような経路が存在しない場
合、その仮定の数がインクレメントされ、実行が新たに
始まる。
【0024】デッドロックのない経路制限のセットのグ
ループの作成が成功した時、パケット・ネットワーク上
のバランスしたパケット・トラフィックを与えるため
に、高度並列処理システムにおいて課するための制限の
セットのサブグループに達するべく種々の分析的ステッ
プが適用される。
【0025】パケット・ネットワークの一部分に対する
経路指定ルールを得ること及びそれを小片状に形成する
ことによって、少数の経路制限を有する対称的なデッド
ロックのないパケット・ネットワークを構成し、それに
よって、従来技術のデッドロック回避技法によってこれ
まで可能にされていたネットワークのための帯域幅より
も大きい帯域幅を得るための手段を与えることが可能と
なる。更に、その得られた経路指定ルールによるパケッ
ト・ネットワークの増分構成は制限された経路を選択す
るプロセスを大いに促進し、それによって、広範囲のア
プリケーションに役立つように多数の処理エレメントを
包含した商業化可能な並列処理システムの作成を更に実
現可能なものにする。
【0026】
【発明の実施の形態】特定のアプリケーションに関係な
い双方向マルチステージ相互接続クロスポイント・ベー
スのパケット交換を含むパケット・ネットワークが、本
願において開示されるタイプの経路指定デッドロックを
受けやすいということは、当業者が容易に認めるところ
である。従って、以下の説明を考察した後ならば、当業
者は、これらのデッドロックが小さな連続して生じる伝
送帯域幅の縮小のみによって生じるのを防ぐために、本
発明が教示したことがほとんどのそのようなパケット・
ネットワークに容易に且つコスト効果的に組込可能であ
ることを確実に実現するであろう。従って、本発明は、
広範囲の及び多様の範囲のパケット交換環境にわたって
使用することを目標にした本質的には任意のサイズのパ
ケット・ネットワークにおける即時使用を、それらが公
衆電話回線又は専用電話回線(例えば、ローカル、ワイ
ド、又は首都圏エリア・ネットワーク)或いは他の同様
のネットワークにおけるようなディジタル通信のための
ものであろうと、或いは、高度並列処理システムの通信
バックボーンのような特定のアプリケーションにおける
ものであろうと見い出すであろう。それにも関わらず、
以下の説明を簡単にするために、高度並列処理システム
における使用、特に、IBM社によって現在製造されて
いるIBM Scalable POWERparal
lel System(SP)のファミリにおいて使用
されているSP高パフォーマンス通信ネットワークにお
ける使用に関連して本発明を検討するすることにする。
(なお、「IBM」、「SP」、及び「POWERpa
rallel」は、本願の譲受人でもあるIBM社の商
標である)。
【0027】本発明の理解を高めるために、先ず、並列
処理システム、特に、そこで使用される双方向クロスポ
イント・ベースのパケット・ネットワークに関連するパ
ケット経路指定の種々の局面を検討し、しかる後、代表
的な経路指定デッドロック状況の説明に進み、最後に、
これらのデッドロックが生じるのを有益に防止する本発
明を詳しく説明する。
【0028】先ず、図1に示された通常の32プロセッ
サ並列処理システム5を考察する。このシステムは32
ノード・パケット交換装置(本願では、「パケット・ネ
ットワーク」又は単に「ネットワーク」とも呼ばれる)
100を含み、その交換装置には、32個の個別の、し
かし、ほぼ同様の処理エレメント110、詳しく云え
ば、1100、1101、...、11031 が、このネ
ットワークにより与えられる0から31までの対応して
番号を付された32個のノードの各々に接続される。各
エレメントはそのシステムの処理ノードを形成する。ネ
ットワーク100はこれらの処理ノードのうちの任意の
ものから他の任意のものへのパケットの高速度搬送を行
う。それらの処理エレメント自体は、それぞれ、マイク
ロプロセッサ・ベースのものであり、一般に、IBM社
によって製造されたRISC System/6000
マイクロプロセッサを使用する(RISC Syste
m/6000はIBM社の商標である)。本発明はこれ
らのエレメントのいずれのアーキテクチャ又は回路にも
関連を持たないので、当業者には容易に明らかであるこ
れらの局面をここで詳細に検討することはしない。それ
でも、以下で詳しく説明するように、本発明は、これら
の処理エレメントの1つおいて実行されるシステム初期
設定ソフトウエア及びこれらのエレメントの各々に記憶
される経路テーブルにおいて具体化される。従って、こ
れらの特定の局面に関しては詳しく後述することにす
る。
【0029】図示のように、ネットワーク100は、2
つの相互接続されたステージ、即ち、4つのスイッチ回
路1200、1201、1202、及び1203 を含む入
力ステージ及び4つのスイッチ回路1204、1205
1206、及び1207 を含む出力ステージに編成され
た8個の個別の8*8双方向スイッチ回路120を使用
して構成される。「入力」及び「出力」という名称は説
明のためには全く任意であり、実際には、そのネットワ
ークにおける任意のステージ又はポートが入力ステージ
又はポート、或いは出力ステージ又はポートとして働く
ことが可能である。これらのスイッチ回路の各々は、中
央待ち行列ベースの非ブロッキング8ウェイ・ルータ、
特に、1996年3月4日に出願の P. Hochschild 他
による「デッドロック回避機構を有する中央共用待ち行
列ベースの時間多重化パケット交換(A Central Shared
Queue Based Time Multiplexed Packet Switch With D
eadlock Avoidance)」と題した未決の米国特許出願0
8/424,824号(本願の譲受人に譲渡された)に
おいて開示されたものが望ましい。各スイッチ回路は単
一の集積回路、いわゆる「チップ」として都合よく集積
化されるので、そのようなスイッチ回路自体を「スイッ
チ・チップ」と呼ぶことにする。勿論、必ずしも各スイ
ッチ回路を単一のチップとしてのみ実施する必要はない
ことは当業者には明らかである。いずれの場合も、スイ
ッチ・チップそのものは本発明の一部分を形成するもの
ではないので、それに関する詳細を説明するつもりはな
い。この回路に関する更なる詳細はすべて前述の米国特
許出願08/424,824号を参照して欲しい。
【0030】図示のように、スイッチ・チップの各々
は、中央待ち行列、即ち、対応するスイッチ回路120
0、1201、1202、...、1027 に設けられた
待ち行列1300、1301、1302、...、1307
を含んでいる。本質的には、及びここで関連する範囲
に対して、各中央待ち行列の目的は、特に、入力妨害及
びデッドロックを改善するために、対応のスイッチ回路
を通る代替の経路を与えることである。デッドロック
は、入力ポート(特に、そこにおけるFIFOバッフ
ァ)及び逆のトラフィック(本発明が関連するものとは
異なる形式のデッドロック)によって満杯にされた待ち
行列によって生じさせられる。
【0031】ネットワークの入力ステージ及び出力ステ
ージは接続マトリクス140を通して相互接続される。
これらの接続の各々は、本質的には、バイト幅の物理的
リンク(ケーブル)であり、それらのうちの例示的リン
ク1400、1401、1402、及び1403 が特に番
号を付されている。このマトリクスを通して入力ステー
ジにおけるスイッチ・チップの各々におけるポートが、
出力ステージにおけるスイッチ・チップの各々の対応す
るポートに個別に且つ物理的に接続される。例えば、ポ
ート0−7を与えるスイッチ・チップ1200 は、それ
のポート4、5、6、及び7及び対応するケーブルを通
して出力ステージにおけるすべてのスイッチ・チップ1
204、1205、1206、及び1207 の各々におけ
るポート4に接続される。8個のスイッチ・チップを含
み、接続マトリクス140を含むパケット交換装置10
0は集合的に単一のスイッチ・ボードより成る。各スイ
ッチ・チップのポート0−3はスイッチ・ボードの外部
リンクに接続され、一方、そのような各チップのポート
4−7は接続マトリクス140におけるリンク(ケーブ
ル)に、従って、同じボードにおける他のそのようなス
イッチ・チップのポートに接続される。
【0032】1つの処理エレメントが他のエレメントか
らのデータをリクエストするというように或いは他のエ
レメントにデータを供給するというように、処理エレメ
ントが相互にコミュニケートするためには、それが実行
しようとするアプリケーション部分に基づいて「ソー
ス」処理エレメントが命令又はデータでもって適当なメ
ッセージを含むパケットを作り、そのパケットを「宛
先」処理エレメントに搬送するためにパケット交換装置
100へ送る。そこで、宛先処理エレメントはそのパケ
ットに含まれたデータ又は命令を処理し、適当な応答を
発生する。一方、その応答は、宛先処理エレメントにお
いて実行されるアプリケーション部分に基づいて他のパ
ケットに作り替えられ、そして、例えば、更なる処理の
ためにソース又は異なる処理エレメントに移送すべくネ
ットワークへ返送される。
【0033】そのネットワークを通したパケット搬送を
容易にするために、各パケットは特定の経路指定命令と
共にヘッダを経路指定バイトの形で含んでいる。後述す
るように、すべての経路が事前定義される。一旦ソース
処理エレメントがアセンブルしようとしている所与のパ
ケットに対する宛先をそのソース処理エレメントが決定
すると、その処理エレメントは、アドレスとして宛先処
理エレメントを有するそれの内部(ローカル)経路テー
ブルを単にアクセスし、そこにその経路を適当な経路指
定バイトの値の形で読み込む。これらの値は、単に、経
路指定バイトとしてパケットのヘッダに挿入されるだけ
である。
【0034】図2は、パケット・ネットワークを通して
搬送される代表的なパケット、即ち、パケット200の
編成を示す。個々のパケットは255バイトの長さのも
のでよい。図示のように、パケット200は一連のフィ
ールド、即ち、長さフィールド200、経路指定バイト
2201、2202、...、220n より成る経路指定
フィールド220、シーケンス番号フィールド230、
及びデータ・フィールド240を含む。長さフィールド
210は、パケットの長さをバイトで指定する8ビット
値を含む。経路指定フィールド220は、複数のフィー
ルド、特に、パケットがそれのソース・ノードからその
ネットワーク全体を通してそれの宛先ノードにたどるべ
き特定の且つ単一の経路(パス)を集合的に指定する経
路指定バイト2201、2202、...、220n を含
む。フィールド230は、ソース処理エレメントによっ
て与えられるシーケンス番号を保持する。このパケット
に対するソース処理エレメントによって指定され且つ宛
先処理エレメントによって使用されるこの番号は、所与
のシーケンスにおけるそのパケットの順序を識別する。
そのように、この番号は、シーケンス外のパケットの宛
先処理を防ぐためのチェックとして使用可能である。デ
ータ・フィールド240は、そのパケットによって宛先
ノードに搬送されるデータ(実際のデータ又は命令を含
む)を集合的に形成する一連のバイトを含む。フィール
ド210、220、及び230はパケット・ヘッダを集
合的に形成する。
【0035】経路指定フィールド220において現れる
経路指定バイトの数(n)は、そのパケットが中継する
スイッチ・ステージの数によって決定される。これに関
して、各経路指定バイトは2つの連続したスイッチ・チ
ップに対する経路指定命令を保持する。従って、パケッ
トが、宛先処理ノードに到達するために、図1に示され
るようなそのネットワークにおける2つの連続したステ
ージにおける2つのスイッチ・チップを通して中継する
ためだけのものである場合、フィールド220は、より
大きいネットワークにおいて使用される更なるスイッチ
・チップの対に対する経路指定バイト2201 等を含む
だけである。経路指定バイトはすべて同じフォーマット
を有する。これに関して、経路指定バイト(R[7:
0])は、1つの1ビット・フィールド・セレクタ(R
[7]−詳しくは示されない)及び2つの3ビット経路指
定フィールド(R[6:4]及びR[2:0]−両方とも詳
しくは示されない)より成る。ビットR[7]の値がゼロ
である場合、スイッチ・チップは、ビットR[6:4]の
バイナリ値によって指定されたそのチップ上の出力ポー
トにパケットを経路指定し、しかる後、ビットR[7]の
値を1にセットする。別の方法として、ビットR[7]の
値が1である場合、スイッチ・チップは、ビットR
[2:0]において指定されたそのチップ上の出力ポート
にパケットを経路指定し、そしてそれを行っている間、
この経路指定バイト全体を廃棄し、従って、パケットか
らの経路指定バイトを解析する。従って、各経路指定バ
イトは2つの連続したスイッチ・チップに経路指定命令
を与える。経路指定バイトを連結して経路指定フィール
ド220をつくることによって、各パケットは2nステ
ージのスイッチ・チップまで経路指定可能である。
【0036】まとめて云えば、パケットを受領するスイ
ッチ・チップは、その時そのパケットに存在する第1経
路指定バイトを調べ、そのバイトによって表されたポー
トにそのパケットを経路指定する。それを行う過程で、
そのパケットのパスにおける1つ置きのスイッチ・チッ
プがその経路指定バイト全体をパケットから切り離され
る(除去される)。一方、これは、経路指定フィールド
220における次に続く経路指定バイトを次のスイッチ
・チップ及びスイッチ・ステージに対する第1経路指定
バイトにする。パケットは、それが宛先処理ノードに到
着した時、経路指定バイトを含んでいないであろう。各
スイッチ・チップは、その時そのパケットによって搬送
された第1バイトの他のいずれの更なる経路指定バイト
も気付かず、その回路はそれの特定の経路指定を行う。
更に、各スイッチ・チップは、第1経路指定バイト以外
の任意の経路指定バイトと次に続く任意のデータ・バイ
トとの間を区別しない。
【0037】前述のように、経路指定は、パケットのア
センブル時に、そのパケットのその後の実際の経路指定
がソース及び宛先処理エレメントに関係なくそれらのバ
イトの各々の特定の値によってそのネットワークにおい
て行われ且つ命令される場合、事前定義された経路指定
バイトを先ずパケット・ヘッダに挿入することによって
達成される。
【0038】図3は、図1に示されたシステム5を含む
処理ノード110を示し、特に、パケット経路指定を達
成するためにこれらのノード内のメモリに存在する種々
のファイル及びテーブルを示す。パケット交換装置(ネ
ットワーク)100は時間多重化された2つのモード
で、即ち、スイッチ回路が単に着信パケットを経路指定
する実行フェーズ、及びプロセッサが初期設定され或い
はネットワークが監視され且つ回路交換を基準にして管
理されるサービス・フェーズで機能する。そのネットワ
ークに接続されたすべてに装置が、同期したロック・ス
テップを基準にしたモード相互間で移り変わる。実行フ
ェーズの時、或処理エレメントは或タスクに移される。
例えば、処理エレメント1100 及び1101 が、シス
テム5から他のネットワーク又は処理システムへのリン
クを設けるために、従って、それらの間で情報を転送す
るために、入出力(I/O)ノードとして専用化され
る。例示的なエレメント1102、1103、...、1
1031 のような他の処理エレメントはすべて実際のア
プリケーション処理のための計算ノードとして使用可能
である。処理エレメント11031 のようなそれら処理
エレメントの1つがサービス・フェーズ時の種々のネッ
トワーク・オペレーションを引き受けるサービス・プロ
セッサとして使用される。
【0039】希望されれば、実行モード時に、サービス
・プロセッサは計算ノードとしても機能することが可能
である。サービス・プロセッサは、ハードウエアの観点
からは、他のすべての処理エレメントと同じであるけれ
ども、そのサービス・プロセッサは、サービス・フェー
ズ時に実行する更なるソフトウエア、特に、初期設定ル
ーチン370をそれのメモリ(ここでは、メモリ34
0)内に含み、それを実行する。例えば、このフェーズ
は、初期設定、通信リンク同期化、グローバル・タイム
同期化、障害決定及び隔離、及びそのネットワークに接
続された他のすべての処理エレメントを含むすべてのス
イッチ回路及びすべての他の装置に対する種々の診断サ
ービスを行う。初期設定機能はここで関連するサービス
・フェーズの唯一の部分であるので、サービス・フェー
ズのこの部分だけを、特に、パケット経路指定及び本発
明に関連する局面だけを以下で説明することにする。初
期設定フェーズは、システムが如何なるアプリケーショ
ン処理を引き受ける前においても行われる。
【0040】サービス・プロセッサ11031 は、各装
置を集合的に定義する構造化されたエントリのデータベ
ース、特に、トポロジ・ファイル350をそれのメモリ
340に記憶する。そのデータベースは、ネットワーク
に接続されるすべての処理エレメント及びこれらの装置
をリンクするためにそのネットワークにおいて使用され
る特定の双方向の物理的接続(ケーブル)を含む(しか
し、それらに限定されない)。データベースを作成する
方法はここでは関係なく、従って、それは説明しないこ
とにする。トポロジ・ファイルでは、スイッチ回路及び
他の装置の最大数が装置エントリによって先ず識別さ
れ、しかる後、これらの回路のどれかとそれらの装置と
の間に存在する各物理的接続のエントリがそれに続く。
装置エントリは2つの数値フィールドを含み、それは
「装置の数(nd)」及び「スイッチ回路の数(ns)」
という形式のものである。これらの値が与えられると、
装置識別(id)番号付けは0からnd までの範囲にあ
るものと仮定され、スイッチ回路識別番号付けは0から
s までの範囲にあるものと仮定される。
【0041】16個の装置及び8個のスイッチ回路とい
う最大数を含むネットワークに対して、装置エントリ
は、単に、「16 8」となるであろう。各接続エント
リは6個のフィールドを有し、「装置1−タイプ」、
「装置1−id」、「装置1−ポート」、「装置2−タ
イプ」、「装置2−id」、「装置2−ポート」という
形式のものである。装置タイプの情報は装置の性質、即
ち、その装置が処理エレメントであるかどうか、その場
合、そのエレメントはサービス・プロセッサであるかど
うか、或いはそのエレメントはスイッチ回路であるかど
うかを指定する。例示の接続エントリは「tb0 14
0 s 3 6」であり、それは、「id14をラベル
付けされた処理エレメントがスイッチ回路3におけるそ
れのポート0から入力及び出力の両方のポート6まで全
二重形式で接続される」ことを表す。そのネットワーク
の配線は、通常、完全に規則的、明確且つ対称的なもの
である。しかし、実際には、或スイッチ・ボードは保守
のために電源遮断され、或いは、ケーブル又はスイッチ
回路(特に、そこで使用されるスイッチ・チップ)のよ
うな他のネットワーク・コンポーネントは障害状態の結
果として意図的に隔離されることがある。従って、任意
の時点におけるその結果のネットワーク・トポロジは全
く不規則なものとなることがある。
【0042】いずれの場合も、初期設定時、特に、初期
設定ルーチン370の実行時、サービス・プロセッサ1
1031 はトポロジ・ファイルを350をそのまま読み
取り、しかる後、テスト・メッセージのブロードキャス
ト及びそれに対する対応応答の受信を通してネットワー
クにおける各接続の状態及びそれに接続された各装置の
状態を物理的に決定する。これらの応答に基づいて、サ
ービス・プロセッサは、例えば、よく知られている幅優
先探索を使用して、そのネットワークの各(ソース)ノ
ードをそのネットワークの他とすべての(宛先)ノード
に接続するために使用し得るすべての利用可能な経路を
決定する。双方向マルチステージ・クロスポイント・ネ
ットワークにおいて固有のパス冗長性がある場合、一対
のソース・ノードと宛先ノードとを接続するために、種
々のスイッチ・ステージにおける種々のスイッチ回路を
通る幾つかの経路が存在することが多い。ソース・ノー
ドと宛先ノードの各共通の対の間の複数経路から見て、
サービス・プロセッサはこれらのノードの対の各々に対
してこれらの経路の1つを選択し、その経路をメモリ3
40におけるグローバル経路テーブル360に記憶す
る。これらの経路は、一般に、ネットワークにおけるト
ラフィック輻輳及びホットスポットを回避するために、
そのネットワークを通してパケット・トラフィックのほ
ぼ一様の分布を単位時間で得ることに適合した、主とし
て最短パスを基準に選択される。
【0043】ネットワーク100の利用可能なソース・
ノード及び宛先ノードの各対の間のパスを定義するため
に、一旦グローバル経路テーブル360が完全に構成さ
れると、サービス・プロセッサ10031 は、ローカル
経路テーブルとして記憶するために、そのテーブルの対
応する部分を、ネットワークを通して、それ自身を含む
個々の処理エレメントの各々に与える。その部分は、そ
の特定の処理エレメントをソース・ノードとしてリスト
する経路だけを含んでいる。従って、例えば、処理エレ
メント1100 はそれのメモリ310内にローカル経路
テーブル320を記憶し、サービス・プロセッサ110
31 はそれのメモリ340内にローカル経路テーブル3
80を記憶し、そして他の処理エレメントの各々に対し
ても同様である。前述のように、パケットの形成時に
は、各処理エレメントは単にそれのローカル経路テーブ
ルをアクセスするだけであり、その後アセンブルされる
パケットの宛先に基づいて、その宛先に対する経路指定
バイトの値をそのテーブルからそのパケットに対するヘ
ッダにコピーする。
【0044】上記のことを留意して、経路指定デッドロ
ックを説明するために図1に戻ることにする。
【0045】経路指定デッドロックは、相互に対応する
パケット(その各々が、例えば、スイッチ・チップの種
々のスイッチ・ステージにおける中央待ち行列に置かれ
ている)が連続するステージにおけるスイッチ・チップ
の対を接続する共通パスを通して同時に経路指定される
のを待っている時に生じることがある。従って、今、
「A」として示されたパケットがスイッチ・チップ12
0 の中央待ち行列にあり、円で囲まれた「A」(即
ち、サークルA)でもって表された破線のパスを介して
処理ノード1100 から処理ノード1104 に経路指定
されるのを待っていると仮定する。このパスを通して、
パケット「A」はスイッチ・チップ1200によりケー
ブル1400 を通してスイッチ・チップ1204 のポー
ト4に送られ、しかる後、この後者のチップのポート5
及びケーブル1401 を介して入力ステージに、特に、
処理ノード1104 に接続しているスイッチ・チップ1
201のポート0に経路指定される。
【0046】同様に、待ち行列1300 にあるパケット
「A」と同時に、「B」、「C」、及び「D」とラベル
された他の3つのパケットが、それぞれ、スイッチ・チ
ップ1204、1201、及び1205 における中央待ち
行列1304、1301、及び1305 に存在する。パケ
ット「B」は、スイッチ・チップ1204 のノード1に
接続された処理エレメント11017 から、サークルB
でもって表された破線のパスを通してスイッチ・チップ
1205 のノード3に接続された処理エレメント110
23 へ経路指定されるべきものである。同様に、パケッ
ト「C」は、スイッチ・チップ1201 のノード2に接
続された処理エレメント1106 から、サークルCでも
って表された破線のパスを通してスイッチ・チップ12
0 のノード2に接続された処理エレメント1102
経路指定されるべきものである。同様に、パケット
「D」は、スイッチ・チップ1205 のノード1に接続
された処理エレメント11021 から、サークルDでも
って表された破線のパスを通してスイッチ・チップ12
4 のノード0に接続された処理エレメント11016
経路指定されるべきものである。
【0047】図示のように、4つのパケットは、すべ
て、各経路がそれのケーブルを他の2つの経路を共用す
る場合、4つのケーブルの同じセット、特に、14
0、1401、1402、及び1403 を同時に争いそ
してそれらを引き継ぐ経路を持つであろう。従って、ス
イッチ・チップ1200、1201、1204、及び12
5の各々は、これらのパケットがそれらの対応する中
央待ち行列にある場合、これらのスイッチ・チップのう
ちの他のどれかがそれのパケットを最初に経路指定する
のを待つ。パケットの各々は、基本的には、スイッチ・
チップの1つにおいて(しかし、それにおける異なるポ
ートを通して)それの方向を反転する、即ち、「ターン
・アラウンド」するので、これらすべてのパケットが取
るべき経路は閉ループ・パターン(ローマ数字I−II
−III−IVによって表され、ここでは「サイクル」
と呼ばれる)を集合的に形成するであろう。
【0048】スイッチ・チップは、これらの特定のパケ
ットのうちのどれを最初に経路指定すべきかを簡単に決
定することはできないので、スイッチ・チップはすべて
ちょうど待ち状態になり、いずれのパケットも経路指定
されないであろう。そのように、そのサイクルにおける
4つのパケットの各々は残りの3つをブロックするであ
ろう。従って、経路指定デッドロックが生じる。このデ
ッドロックが残っている間、その対応するパスはパケッ
ト・トラフィックを搬送しない。従って、処理エレメン
ト1104、11023、1102、及び11016 は、そ
れらのパケットが単に到着するのを待つ場合、これらの
パケットを必要とするアプリケーション部分の処理を効
果的に中断させる。一方、これはシステム5の処理スル
ープットを不利に減少させる。一旦経路指定デッドブロ
ックが生じると、それが何らかの方法でクリアされるま
でそれは無期限に継続する。経路指定デッドロックは滅
多に生じるものではないけれども、並列処理システムの
サイズが増加するにつれて、これらのデッドロックが生
じる可能性も増加する。
【0049】上記の現象から見て、本発明は経路指定デ
ッドロックが生じないようにするための方法及び関連の
装置を提供する。都合のよいことに、本発明は、制限さ
れた経路の対称性を維持しながら、パケット・ネットワ
ークにわたってデッドロックのない経路指定を提供す
る。本発明は、ネットワーク帯域幅を増大させるために
従来の経路制限方法において伝統的に必要とされた経路
制限よりも少ない経路制限しか必要としない。
【0050】本発明によって、経路指定ルールの事前定
義されたセットの導入に基づいて、或経路はグローバル
経路指定テーブルに含まれることを禁止されるであろ
う。その経路指定ルールは、そのネットワークにおいて
制限されるべき3つのスイッチ・チップ(即ち、ソース
スイッチ・チップ、中間スイッチ・チップ、及び宛先ス
イッチ・チップ)を通過する経路の合計数を決定するこ
とを必要とする。その制限された経路の設定された数
は、パケット・ネットワークにおけるアクティブなスイ
ッチ・チップの数によって均等に除することが可能であ
るはずである。その並列システムに存在するがパケット
ネットワーク140には接続されてない如何なるスイッ
チ・チップも、この計算では考慮されない。
【0051】その制限された経路の数をそのパケット・
ネットワークにおけるアクティブなスイッチ・チップの
数で除することは、その結果として、パケット・ネット
ワークに対する1スイッチ当たりの経路制限数を生じ
る。これは、グローバル経路指定テーブルから排除され
るべき経路のセットに達するように経路指定ルールを実
施するために、各ソース・スイッチ・チップにおいて始
まるのを制限されるべきその3つのスイッチ・チップを
横切る経路の数である。
【0052】それらの経路のうちのどれがソース・スイ
ッチ・チップの各々において制限されるべきかを決定す
る場合、経路指定ルールは、その制限が課せられる前に
3つのスイッチ・チップにまたがる(即ち、ソース・ス
イッチ・チップから中間スイッチ・チップを通って宛先
スイッチ・チップまでの)1つの経路(又は、複数の経
路)を所持することができたソース・スイッチ・チップ
及び宛先スイッチ・チップと呼ばれる独特のスイッチ・
チップ(即ち、同じ処理エレメントに接続されていない
スイッチ・チップ)の如何なる対も、経路制限が課せら
れた後に少なくとも1つのそのような経路を所持しなけ
ればならないということを指令する。後述するように、
そのような経路禁止は、ユニークではないスイッチ・チ
ップの間では必要ない。それは、所与のスイッチ・チッ
プからアクセスされ得る処理エレメントに達するように
パケット・ネットワーク140を介してパケットを経路
指定する理由がないためである。これらの経路は、事実
上、当業者にはよく知られた最短パス経路選択方法に従
って経路指定テーブル内に含ませるようには考慮されて
ない。
【0053】この概念の1つの例として、図1を考察す
ると、スイッチ・チップ1200と同様のプロセッサ・
エレメントの接続を有するスイッチ・チップがパケット
交換装置に1208 (図示されていない)として加えら
れた場合、スイッチ回路1200 に結合されたプロセッ
サからスイッチ回路1208 に接続された同様のプロセ
ッサにパケットを経路指定することは必要ないであろ
う。それは、このパケット経路指定はスイッチ回路12
0 において達成可能であるためである。
【0054】これらの事前定義された経路指定ルールを
実施することによって、従来の経路制限技法の下で以前
に可能であったものよりも大きい伝送帯域幅を含むデッ
ドロックのないパケット交換ネットワークを提供するこ
とが可能である。スイッチ・チップの各々から制限され
るべき特定の経路を決定する場合、ネットワークを通し
て経路指定するバランスしたメッセージ・パターンの前
述の利点を得るように、ネットワークを通して対称的な
経路制限(従って、制限されない経路相互間の対称性)
を生じさせることが更に可能である。
【0055】512個の個別の処理エレメントを利用す
るシステムのような比較的大型の高度並列処理システム
において必要なプロセッサ間経路指定機能を与えるため
に、そのシステムは複数のスイッチ・ボードを使用す
る。その各々は上述のものと同じであり、2つの相互接
続されたステージのスイッチ・ボード、即ち、個々の処
理エレメントを接続するようなステージにおけるノード
・スイッチ・ボード(NSB)及びそれらNSBを相互
接続するために使用されるもう1つのステージにおける
中間スイッチ・ボード(ISB)に編成される。512
プロセッサ・システムは、一般に、NSBとして専用さ
れる32個のそのようなボード及びISBとして専用さ
れる16個の残りのボードを有する48個の個別のスイ
ッチ・ボードを使用する。各NSBは、16個の処理エ
レメントの各々に接続するための16個のポート及び1
6個のISBの各々における異なるポートに相互接続す
るための別の16個のポートを与える。この構成によっ
て、NSBはそれに接続された個々の処理エレメントか
らの及びそれら処理エレメントへのパケットを経路指定
し、ISBは、経路指定全体をすべてが前述のように指
定された場合、パケット・ヘッダに含まれたバイトを経
路指定することによって、種々のNSB相互間のパケッ
トを経路指定する。
【0056】例示の512プロセッサ・システムが図4
においてシステム400として示される。図示のよう
に、このシステムは、処理ノード410として集合的に
示された512個の異なる処理エレメント41
0、.....、41515、....、41
496、....、415511 を与え、それらは、物理
的観点からは、各々が16個の処理エレメントより成る
32個の物理的ラック、詳しくは、処理ラック41
0、....、41031 に編成される。一方、各ラッ
クは、それぞれのNSBにおける16個のポートに接続
される。システム400は、32個のNSB4400
4401、4402、4403、....、44031(N
SB0、NSB1等としても示される)を含む。各NS
Bの残りの16個のポートは、接続マトリクス450に
おける個々のケーブルを通して16個のISB460の
各々、詳しくは、ISB4600、4601、46
2、....、46015(ISB0、ISB1、IS
B2、....、ISB15としても示される)におけ
る対応するポートに相互接続される。例えば、図示のよ
うに、NSB4400(NSB0)における16個のポ
ートの各々は、NSB4400 がISBの各々にパケッ
トを経路指定し得るように、16個のISBの対応する
1つにおけるポート0に接続される。他のNSBは、図
示のように、同様の態様でISBの各々に相互接続され
る。ISB又はNSBであろうともそれらのスイッチ・
ボードはすべて相互に同じであるけれども、ISBは,
NSBとは異なって、接続マトリクス450の簡易な表
示を容易にする態様で示される。
【0057】図4では、及び中間スイッチ・ボード(又
は、同様のもの)の使用に依存する他の大型の高度並列
処理システムでは、それがデッドロック回避方法を持た
ない場合、パケットが2つの異なるNSBの間でISB
を通して経路指定される時に経路指定デッドロックが生
じ得ることが認識されている。パケットが2つの異なる
NSBの間で経路指定される時、パケット「A」及び
「C」が図1に示されたシステム5におけるスイッチ回
路1204 及び1205 においてそれらの方向を反転す
る(「ターン・アラウンド」される)のと同じ態様で、
パケットはISBにおいてそれの方向を反転する。図4
に示されるように、パケットはISBにおいて発生せ
ず、異なるNSBの間では滅多にそれらを通して経路指
定されないので、それらが生ずべき場合、閉ループ経路
指定パターンが必然的にISBまで拡張し、NSB内の
みに存在するように限定されない。従って、システム4
00における経路指定デッドロックは、何れか1つ又は
複数のNSBそのものに限定されないであろう。
【0058】本発明の技法によれば、図4に示されるよ
うな512プロセッサ・システムにおいてどの経路が制
限されるべきかを決定する場合、2つの異なるNSBの
間の各経路は、システム初期設定時に、グローバル経路
テーブルに含まれないという潜在的な制限が考えられ
る。別の方法で云えば、ISBにおいて方向転換する経
路及びソース/中間/宛先の経路であるような経路は潜
在的な制限が考えられる。本発明を理解するためにはそ
の詳細を必要としない数値的分析方法によって、24個
の制限された経路のセットは、デッドロックのない経路
指定を得るために図1に示された32ノード・パケット
交換装置(図示のISBのいずれに対しても一般的であ
る)のような8交換パケット・ネットワークにおいて課
せられる経路制限の最小セットであることが決定されて
いる。しかし、その結果のパケット・ネットワークは非
常に非対称的であり、実用性を限定されたものであり、
従って、ここでは、そのようなパケット交換ネットワー
クにおいて課せられる経路制限の最小セットが32個の
制限された経路を含むものと仮定する。
【0059】動作において、種々の理由で使用されるこ
とのない経路が所与のスイッチ・ボードに存在すること
がよくある。例えば、前述のように、2つのスイッチ・
チップがノードの同じセットに(又は、他のスイッチ・
ボードの同じセットに)接続される場合、これら2つの
非ユニークのスイッチ・チップの間の経路は必要ないで
あろう。図4に示された例示の512ノード・プロセッ
サでは、各ISBにおける32個のポートの各々がNS
Bの相異なる対応したものに接続するので、この状態は
存在しない。しかし、後述の256ノード・システムよ
うな他のシステムでは、そのような状態が存在するであ
ろうし、本発明の技法を通して課せられるべき経路制限
の合計数に達する場合にはそれが考慮されなければなら
ない。更に、特定のスイッチ・ボードにおけるスイッチ
・チップがアクティブでないという状態が存在すること
がある。
【0060】再び、図4に示された512ノード・プロ
セッサを考察すると、ISBの1つにおけるスイッチ・
チップがNSBに接続されてない場合、ネットワーク4
50上の経路指定されたパケットがそのスイッチ・チッ
プを通して入って来ない又は出ていかないことは明らか
であり、従って、そのスイッチ・チップは、ネットワー
クでは「非アクティブ」であろう。従って、これらのい
わゆる非アクティブ・スイッチ・チップは、それがその
システムに対する制限の合計数を決定する時に考慮され
る必要がないということになる。これらのスイッチ・チ
ップをソース・スイッチ又は宛先スイッチとして利用す
る経路は、実際には、それらの非アクティブ状態によっ
て制限される。しかし、前の定義の下では非アクティブ
と思われるスイッチ・チップが、依然として、アクティ
ブなISBソース・スイッチ・チップからアクティブI
SB宛先スイッチ・チップにパケットを経路指定するI
SB内の中間スイッチとして動作することに注意すべき
である。従って、そのパケット・ネットワークの実行時
のオペレーションにおいて使用されない経路の制限に関
する考察が、本発明によれば、制限されるべき経路の合
計数に達する場合に行われる。
【0061】一旦本発明によって制限されるべき経路の
この合計数が仮定されると、グローバル経路テーブルが
経路テーブル生成ルーチンに従って生成されつつある
時、後述のように、経路禁止が本発明の技法によって行
われる。この経路テーブル生成ルーチンと関連した本発
明の経路制限技法の処理は、そのように禁止されたすべ
ての経路が、サービス・プロセッサ11031 のグロー
バル経路指定テーブル360に含まれたネットワーク・
ノードの所与の対の間の定義された経路として選択され
ないようにする。
【0062】上記の経路指定禁止技法を詳細に考察する
前に、ISB内に含まれたスイッチ・チップのサブセッ
トが非ユニークである256プロセッサ・システムにお
ける本発明の実施を更に考察することは有益なことであ
ろう。
【0063】例示的な256プロセッサ・システムが、
図5において、システム500として示される。図示の
ように、そのシステムは256個の異なる処理エレメン
ト5150、....、51515、....、515255
を与える。それらの処理エレメントは処理ノード51
0として集合的に示され、物理的観点から、各々が16
個の処理エレメントより成る16個の物理的ラック(即
ち、処理ラック5100 乃至51015)に編成される。
一方、各ラックは対応するNSBにおける16個のポー
トに接続される。システム500は、16個のNSB5
400、....、54015(NSB0、....、N
SB15としても表される)を含む。各NSBの残りの
16個のポートは、8個のISB(詳しくは、ISB
0、....、ISB7又は5600、....、56
7)と相互接続される。理解を容易にするために、全
体としてとらえた場合には接続マトリクス550を形成
するこれらの相互接続のサブセットが示される。前述の
及び図4に示された512プロセッサ・システムとは対
照的に、所与のNSBにおける16個のポートの各々が
8個のISBのうちの相異なるものに接続するのではな
いことは明らかであり、従って、必然的に、NSBの同
じセットに接続するスイッチ・チップがISB上に存在
する。
【0064】例えば、ISB0(又は、5600)にお
けるスイッチ・チップ0及び1を考察することにする。
図示のように、スイッチ・チップ0及びスイッチ・チッ
プ1の両方ともNSB0、NSB1、NSB2、及びN
SB3にリンクされる。NSB0及びNSB3の間でパ
ケットが経路指定されるべきであり且つ最初にそのパケ
ットがNSB0におけるスイッチ・チップからリンク5
700 を通してISB0におけるスイッチ・チップ0に
搬送された場合、宛先NSB(即ち、NSB3)への最
短の経路は、ISB0におけるチップ0とNSB3にお
けるチップ4との間のリンク5701 を介する通過であ
る。パケットがISB0におけるチップ0からリンク5
800 を通してISB0におけるチップ5に、及びそこ
からリンク5801 を通してISB0におけるチップ1
に、そして最終的には、リンク5802 を通してNSB
3におけるチップ5に経路指定されるというISB0か
らISB3への代替経路が存在することは明らかであ
る。任意の2つのノードの間の最短のパスを定義するた
めに求められる如何なる経路選択技法も、後者の経路が
グローバル経路指定テーブルに含まれないようにし、そ
の結果、事実上の経路制限と見られるものを生じること
は当業者には容易に明らかなことであろう。更に、IS
B0、即ち、5600 におけるスイッチ・チップ0リン
クされた各NSBはそれにおけるスイッチ・チップ1に
もリンクされるので、これらの事実上の制限が中間スイ
ッチとしてスイッチ・チップ0又は1を通過するすべて
のソース/中間/宛先スイッチ・チップ経路に延びるこ
とは明らかである。従って、非ユニーク・スイッチの発
生は、本発明の技法を通して課せられる必要のある制限
の合計数に影響を与えるであろう。
【0065】次に、本発明の経路制限技法の考察に注意
を向けると、図6及び図7は、所与のネットワーク(図
1におけるパケット・ネットワーク100のような)に
対する経路制限セットのグループを決定するためのステ
ップを表す流れ図を示す。それらの経路制限セットか
ら、図4に示されたシステムのような並列システム(即
ち、パケット・ネットワーク100がISBにおけるそ
れらネットワークのうちの任意のものと一致する)にお
いてそれに課するための経路制限セットの特定のサブグ
ループが選択される。そのように選択された経路制限の
場合、前述の経路指定指令に従って、そのシステムにお
けるサービス・プロセッサによるグローバル経路テーブ
ルの生成が進行可能である。
【0066】経路制限ルーチン600に入ると、実行は
ステップ610に進む。そこでは、そのシステムにおけ
る所与のスイッチ・ボード(例えば、図4又は図5にお
けるISB0)における制限されるべき経路の合計数に
対応する仮定された数が与えられる。この仮定された数
は、ルーチンが反復プロセスである時には任意に到達可
能である。その反復プロセスは、終了時に、最小の経路
数がスイッチ・ボードから制限されることを可能にす
る。しかし、前述のように、図1に示されたような及び
各ISB(即ち、図4におけるISB0、....、I
SB15)によって表されるような8スイッチ・パケッ
ト・ネットワークにおける32個の経路制限が課された
結果、そのネットワークにおけるパケット・トラフィッ
クが適当にバランスし得るデッドロックのない経路指定
スキームが生じることが決っている。前にも述べたよう
に、スイッチ・ボード等において非ユニークなスイッチ
を含むことにより生じるような如何なる事実上制限され
た経路も、この技法によれば制限されないであろうし、
既に存在する制限と見なすことによってステップ610
に対する仮定された数を減少させることが可能である。
例えば、各ISBが非ユニークなスイッチ・チップを含
む図5に示された256プロセッサ・システムでは、こ
の仮定された経路制限数は16まで任意に減少可能であ
る。
【0067】ステップ611では、ステップ610から
の仮定の数が、考察のスイッチ・ボードにおけるアクテ
ィブなスイッチ・チップの数(例えば、図4及び図5に
おけるISB0では、これは8となるであろう)によっ
て除され、スイッチ・ボード当たりの制限されるべき経
路の数を得る。図4に示された512プロセッサ・シス
テムに対して仮定された32個の経路制限に対して、こ
れは4という1スイッチ当たりの経路制限数を生じるで
あろうし、16個の仮定された経路制限が存在した図5
における256プロセッサ・システムに対しては、1ス
イッチ当たりの経路制限の数は2である。次に、考察の
スイッチ・ボードにおけるソース及び宛先スイッチ・チ
ップの対(3つのスイッチ・チップ、即ち、第1(即
ち、入力又は出力)スイッチ・ステージからのソース・
スイッチ・チップ、第2スイッチ・ステージからの中間
スイッチ・チップ、及び第1スイッチ・ステージからの
宛先スイッチ・チップ、にまたがる経路が間に存在する
一対のスイッチ・チップ)に対するステップ612にお
いて、スイッチ・ボード上の各ソース及び宛先スイッチ
・チップの対に対する制限された経路の数がほぼ等しく
なるようにソース及び宛先スイッチ・チップの対の間の
禁止されるべき経路の数に対応した数が得られるであろ
う。
【0068】好適な実施例では、これは、各ソース及び
宛先スイッチ・チップの対における制限された経路の数
に対する標準偏差を最小にすることによって得られる。
便宜上、この数はソース・宛先の対経路制限数と呼ばれ
るが、任意の2つのそのようなソース・宛先の対のスイ
ッチ相互間の制限の数が等しい必要はなく、それらは、
全体としてとらえた時、これらの対の各々に対してほぼ
等しい数の制限された経路を与える必要があるだけであ
ると考えられる。更に、そのソース・宛先の対経路制限
数はその得られたスイッチ・チップ当たりの経路制限数
に対応するように決定され、従って、そのネットワーク
に対する各ソース・宛先の対のスイッチ・チップの間の
経路の数を制限することによって、必要な1スイッチ・
チップ当たりの制限数はそれにおける各スイッチ・チッ
プから制限される。
【0069】例として、図1に示された例示的スイッチ
・ボードを再び考察することにする。ステップ611に
おいて得られた1スイッチ・チップ当たりの経路制限数
が4である場合、ソース・スイッチ・チップ1200
ら生じるリンクを考察すると、1つの経路(第1スイッ
チ・ステージにおけるソース・スイッチ、第2スイッチ
・ステージにおける中間スイッチ、及び第1スイッチ・
ステージにおける宛先スイッチを特徴とする)がソース
及び宛先スイッチ・チップの対、即ち、1200 対12
1、1200 対1202、及び1200 対1203 の各
々の間で制限されるであろう。これはスイッチ・チップ
1200 から制限されるべき4つの必要な経路のうちの
3つにあたり、そしてソース及び宛先スイッチ・チップ
の対の間で課せられる経路制限がほぼ等しくなるよう
に、第4の制限は1200 と1201、1202、及び1
203 の何れかとの間で行われる。好適な実施例では、
第4の制限は、隣接のスイッチ・チップに接続されたノ
ードに対してより大きいネットワーク帯域幅を与えるよ
うに非隣接のスイッチ・チップ相互間で行われる。
【0070】ステップ613では、考察のスイッチ・チ
ップのセットの第1部分が選択される。その選択された
第1部分は、閉ループ経路指定パターン(及びデッドロ
ック)を形成するチップの最小数(即ち、4スイッチ・
チップ)からそのスイッチ・ボード上のスイッチ・チッ
プの合計数(図1における例示的スイッチ・ボードの場
合には8)までのスイッチ・チップの合計数という任意
のサブセットでよい。次に、ステップ614において経
路制限ルーチン600の実行は、各ソース・宛先の対に
対して、それらの間の経路制限の数が、第1スイッチ・
ステージにおけるソース・スイッチ・チップ、第2スイ
ッチ・ステージにおける中間スイッチ・チップ、及び前
述の第1スイッチ・ステージにおける宛先スイッチ・チ
ップによって特徴付けられた経路によって接続すること
ができるスイッチ・チップのいわゆる第1部分における
前述のスイッチ・チップの任意のソース・宛先の対相互
間のソース・宛先の対経路制限数(即ち、前述のような
ソース・宛先の対経路制限数が課せられる)に等しくな
るように、生じ得る経路制限の各セットを識別するよう
に進行する。
【0071】経路制限ルーチン600の実行におけるス
テップ615では、ステップ614におけるいわゆる経
路制限セットの各々が既知のデッドロック分析技法を使
用して分析され、その制限のセットを課した結果、経路
間のデッドロックのない経路指定が第1部分において制
限されずに残されることになるかどうかを識別する。第
1部分におけるデッドロックの発生を回避しないような
如何なる制限のセットも、その結果の経路制限グループ
に包含されないように廃棄される。別の方法として、い
わゆる制限のセットがデッドロックのないネットワーク
を作る場合、そのセットはデッドロックのない経路制限
セットのグループに加えられる(ステップ616)。次
にステップ617において、考察のスイッチ・ボードに
おける各スイッチ・チップが経路定義ステップ614に
含まれていたかどうかが決定される。それが否定される
場合、ステップ618において、スイッチ・チップがそ
のサブシステムに加えられ、ステップ619を通してス
テップ614乃至616の実行が繰り返される。ステッ
プ617において、考察のスイッチ・ボードにおける各
スイッチ・チップが経路定義ステップ614に含まれて
いた時、その結果の経路制限のセットのグループが作成
される(ステップ616)。
【0072】ステップ620では、その結果の経路制限
ルール・グループにおける経路制限ルールの各セットが
分析され、特定の経路制限を課する前に何らかのソー
ス、中間、宛先スイッチ・チップ経路(前に定義したよ
うな)を介して接続可能であったスイッチ・チップの各
ソース・宛先の対が、依然としてそれらの間の少なくと
も1つのそのような制限のない経路をサポートすること
ができるかどうか決定する。その結果のグループにおけ
るすべてのセットに対して、上記の決定が否定的である
場合、ステップ610において与えられた仮定の数がス
テップ621においてインクレメントされ、そのプロセ
スは、ステップ622におけるステップ611へのルー
プ・バックを介して繰り返される。その決定が肯定的で
ある場合、ステップ623において、その結果のグルー
プは、経路指定パターンが受容可能な程度の対称性を有
すると仮定して、考察のスイッチ・ボードにおいてデッ
ドロックのない経路指定を行う経路制限ルールのセット
を表す。
【0073】図4に示されたシステムのような512ノ
ード・プロセッサ・システムに対する経路制限ルーチン
600の上記実行ステップの適用によって、9312セ
ットの経路制限より成る経路制限グループが生成され
た。なお、各セットは、512プロセッサ・システムに
おけるすべてのISB上の各スイッチ・チップに対応し
た制限を有する。
【0074】実行ステップ624乃至628を含む図7
に示される経路制限ルーチン600のポスト処理セクシ
ョン601では、経路制限の上記生成されたグループに
おける制限の各セットが分析され、考察のスイッチ・ボ
ードにおけるリンク相互間のリンクの使用方法及びその
スイッチ・ボード上のスイッチ・チップ相互間の中間ス
イッチ・チップの使用方法はほぼ等しいことを保証す
る。一旦リンクの使用方法及び中間スイッチ・チップの
使用方法が特定のスイッチ・ボードに対してバランスし
ているセットのサブグループが決定されると、リンクの
使用方法及び中間スイッチがシステムにおける複数のス
イッチ・ボードの間でほぼバランスすることを保証する
ために、これらの経路制限のセットの数がそのように決
定されたそのバランスしたセットのサブグループの中か
ら選択される。例えば、後で詳しく説明するように、ス
イッチ・チップ0がそのシステムに対する平均的回数よ
りも多く中間スイッチ・チップとして作用することを経
路制限の特定の選択されたセットが要求する場合、別の
セットがそのシステムにおける別のボードに課せられ
る。その別のボードにおけるスイッチ・チップ0はその
システムに対する平均的な回数よりも少ない中間スイッ
チ・チップとして働き、それによって、システム全体に
おけるスイッチ・ボード上のスイッチ・チップ0の全体
の使用をバランスさせる。
【0075】経路制限のその得られたグループでもって
ステップ623から始まった実行はステップ624に進
む。そこでは、そのスイッチ・ボード(即ち、図4及び
図5に示されたシステムにおけるISBとして働く図1
の例示的スイッチ・ボードに対する合計32個のリン
ク)における各リンクに割り当てられた制限されない経
路の数(即ち、リンク率)に対する標準偏差が経路制限
の各セットに対して計算される。最も小さい計算された
標準偏差を有するセットがサブグループに保持され、経
路制限の他のすべてのセットがそのサブグループから廃
棄される。経路制限の所与のセットに対して、各リンク
が1つの経路において使用される回数がそのネットワー
クにおけるすべてのリンクに対してほぼ等しいことを保
証するという目的の場合、各リンクに割り当てられた制
限されない経路の数の標準偏差の計算以外の方法がここ
では使用可能であることは明らかであろう。次に、実行
はステップ625に進み、そこでは、各スイッチ・チッ
プが制限のない経路における中間スイッチ・チップとし
て参加する回数に対する標準偏差がステップ624に起
因するそのサブグループにおける経路制限の各セットに
対して計算される。最後に、最も低い標準偏差を持った
セットが結果グループとして保持され、経路制限のセッ
トの残りは廃棄される。再び、経路制限の所与のセット
に対して、各スイッチ・チップが中間スイッチ・チップ
として働く回数がそのネットワークにおけるすべてのス
イッチ・チップに対してほぼ等しいことを保証するとい
う目的の場合、各スイッチ・チップが制限のない経路に
おける中間スイッチ・チップとして参加する回数の標準
偏差の計算以外の方法がここでは使用可能であることは
明らかである。
【0076】ステップ626では、結果グループが分析
され、そこに含まれる経路制限のセットのうちのどれが
ネットワーク・システム(例えば、図4に示された51
2プロセッサ・システム)における使用に適しているか
を決定する。この決定を行う場合、結果グループからの
選択された数のセットに対して、所与の数のセットにお
けるすべてのリンクに対するリンク使用すべて(即ち、
図1における例示的スイッチ・ボードの場合には32)
及び所与の数のセットにおけるすべてのスイッチに対す
る中間スイッチ使用すべて(即ち、図1におけるスイッ
チ・ボードの場合には8)がほぼ等しいかどうかを決定
するために、数値的分析技法が実施される。例えば、後
で説明するように、3スイッチ・チップ(即ち、ソース
/中間/宛先スイッチ・チップ)パスが説明された図1
に示された例示的な8スイッチ・チップ・ネットワーク
では、各スイッチ・チップが12個の潜在的経路に対す
る中間スイッチ・チップとして働き得ることは明らかで
ある。
【0077】例えば、図1を参照すると、スイッチ・チ
ップ1204 は、そのスイッチ・チップ1204 が中間
スイッチ・チップとして働き得る合計12個の潜在的経
路に対して、スイッチ・チップ1200 からスイッチ・
チップ1201、1202、及び1203 に経路指定され
たパケットに対する中間スイッチ・チップとして、及び
スイッチ・チップ1201 からスイッチ・チップ120
0、1202、及び1203 に経路指定されたパケットに
対する中間スイッチ・チップとして、スイッチ・チップ
1202 からスイッチ・チップ1200、1201、及び
1203 に経路指定されたパケットに対する中間スイッ
チ・チップとして、及び、最後に、スイッチ・チップ1
203 からスイッチ・チップ1200、1201、及び1
202 に経路指定されたパケットに対する中間スイッチ
・チップとして働き得るものである。
【0078】512個のプロセッサを含む例示的システ
ムでは、所与のISBにおいて合計32個の経路を制限
すること(即ち、各スイッチ・チップから4つの制限)
が望ましいことが決定されたので、適正にバランスした
スイッチ・ボードにおける中間スイッチ・チップとして
各スイッチ・チップを横切ると考えられる平均的経路数
は8でなければならない(即ち、12(スイッチ・チッ
プが中間的スイッチ・チップである可能な経路)−4
(1スイッチ・チップ当たりの経路制限)=8)。従っ
て、その例示的システムに対して得られたグループから
の経路制限のセットの数を選択する場合、選択されたセ
ットにまたがるスイッチの各々に対する平均的な中間ス
イッチの使用が8であるセットの選択が試みられるべき
である。どのセットをそれらの間のリンク使用をバラン
スさせるために選択すべきかを決定する場合、本質的に
は、後で説明する分析と同じ分析が行われる。
【0079】そこで、ステップ627において、その結
果選択された経路制限のセット数が、それぞれ、実施さ
れるシステムにおけるISBに割り当てられる。1つの
ISB当たりの経路制限のセットを課することは、上記
プロセスによって定義されたその制限された経路を除く
グローバル経路テーブルのサービス・プロセッサ(図4
における415511 のような)による生成を可能にする
であろう。経路制限の選択されたセットをそのように課
する場合、ルーチン600−601は、ルーチン800
において使用すべく、ステップ628において、これら
の経路制限のセットを、例えば、サービス・プロセッサ
11031 に入力として供給することによって終了す
る。なお、ルーチン800は、後で説明するように、そ
のシステムのためのグローバル経路テーブル360を作
成する。その選択された経路制限のセットは、並列処理
システムに及びその中のサービス・プロセッサ11031
に読み込まれるディスケット、CD−ROM、磁気テ
ープを含むがそれらに限定されない任意の既知のコンピ
ュータ読取可能媒体を通してサービス・プロセッサ11
31 に供給可能である。
【0080】説明の便宜上、図4に示されたシステムの
ような512プロセッサ・システムのためのISBにお
ける実施のために選択された多数の制限のセットを表1
に示す。
【表1】経路制限セット1 スイッチ 0: 4(0000)-5(0011)-6(0101)-7(0110) スイッチ 1: 4(0010)-5(0000)-6(1000)-7(0000) スイッチ 2: 4(0101)-5(1001)-6(0000)-7(1100) スイッチ 3: 4(0010)-5(0000)-6(1000)-7(0000) スイッチ 4: 4(0111)-5(1000)-6(0000)-7(1000) スイッチ 5: 4(0000)-5(0001)-6(1000)-7(0100) スイッチ 6: 4(0010)-5(0010)-6(0101)-7(0010) スイッチ 7: 4(0000)-5(0001)-6(1000)-7(0100) 経路制限セット2 スイッチ 0: 4(0000)-5(0001)-6(0000)-7(0100) スイッチ 1: 4(0011)-5(0000)-6(1001)-7(1010) スイッチ 2: 4(0000)-5(0001)-6(0000)-7(0100) スイッチ 3: 4(0110)-5(1010)-6(1100)-7(0000) スイッチ 4: 4(0010)-5(0001)-6(1000)-7(0000) スイッチ 5: 4(0100)-5(1010)-6(0100)-7(0100) スイッチ 6: 4(0010)-5(0001)-6(1000)-7(0000) スイッチ 7: 4(0001)-5(0000)-6(0001)-7(1110) 経路制限セット3 スイッチ 0: 4(0111)-5(1000)-6(0000)-7(1000) スイッチ 1: 4(0000)-5(0001)-6(1000)-7(0100) スイッチ 2: 4(0010)-5(0010)-6(0101)-7(0010) スイッチ 3: 4(0000)-5(0001)-6(1000)-7(0100) スイッチ 4: 4(0000)-5(0011)-6(0101)-7(0110) スイッチ 5: 4(0010)-5(0000)-6(1000)-7(0000) スイッチ 6: 4(0101)-5(1001)-6(0000)-7(1100) スイッチ 7: 4(0010)-5(0000)-6(1000)-7(0000) 経路制限セット4 スイッチ 0: 4(0010)-5(0001)-6(1000)-7(0000) スイッチ 1: 4(0100)-5(1010)-6(0100)-7(0100) スイッチ 2: 4(0010)-5(0001)-6(1000)-7(0000) スイッチ 3: 4(0001)-5(0000)-6(0001)-7(1110) スイッチ 4: 4(0000)-5(0001)-6(0000)-7(0100) スイッチ 5: 4(0011)-5(0000)-6(1001)-7(1010) スイッチ 6: 4(0000)-5(0001)-6(0000)-7(0100) スイッチ 7: 4(0110)-5(1010)-6(1100)-7(0000)
【0081】本発明の好適な実施例では、汎用性を損な
うことなく、経路制限のリストされたセットの各々が、
例示の512プロセッサ・システムに存在する16個の
ISBのうちの4個に課せられる。それらのセットの各
々は、スイッチ・チップ上の各ポートに対して、そのポ
ートにおいて入ったパケットがどのポートから出て行く
かを詳述するスイッチ・チップ当たりの経路制限のリス
トを含んでいる。表1に示された例では、括弧付きのセ
ットにおける「1」の存在は、プレフィックスのポート
において入ったパケットがそのチップにおけるそのポー
トにおいて出て行かないことを表し、それにおける
「0」の存在は、そのパケットがそのポートにおいて出
て行くことを表す。更に、括弧内の数字の順序はポート
4、5、6、及び7を順番に示すものと読むべきであ
る。例えば、エントリ スイッチ 0: 4(0100)-5(0000)-6(1000)-7(0000) は、スイッチ0では、パケットがポート4において入り
そしてポート5において出ることを許容されず、同様
に、パケットがポート6において入りそしてポート4に
おいて出ることができないことを表す。一般に、X(a
bcd)は、パケットがそのリストされたスイッチ・チ
ップのポートXに入る時、a=1ならばポート4から、
b=1ならばポート5から、c=1ならばポート6か
ら、そしてd=1ならばポート7から出ることは許され
ないことを意味する。
【0082】図1に示されたスイッチ・ボードと同じ態
様で設計された512プロセッサ・システムにおける代
表的なISB700に対して、表1における経路制限セ
ット1に組み込まれたスイッチ・チップ0(7100
から発する経路に対する制限を表示したものが図8に示
される。理解を容易にするために、スイッチ・チップ内
の任意の2つのポート相互間の制限された経路はそれら
2つのポート相互間の矢印付きの線によって表される。
図8には、第2スイッチ・ステージ(即ち、スイッチ・
チップ4−7(7104−7107)より成るステージ)
における中間スイッチ・チップ740内の制限された経
路が示され、それは、これらが、第1スイッチ・ステー
ジ(即ち、スイッチ・チップ0−3(7100−71
3)より成るステージ)におけるソース・スイッチ・
チップ730から発する経路に対する経路制限を、同じ
第1スイッチ・ステージ(即ち、スイッチ・チップ0−
3(7100−7103)より成るステージ)における宛
先スイッチ・チップ750に結ばれた特定のスイッチ・
チップ0(7100)において作成する過程を示すもの
である。表1及び図8を参照することによって、スイッ
チ・チップ4(7104)を通る経路であるそのような
3つのスイッチ経路の1つ7200 は、ポート4におい
て入るパケット及びポート5において出るパケットの間
のスイッチ・チップ4(7104)によってスイッチ・
チップ0(7100)及びスイッチ・チップ1(71
1)の間で制限されることがわかる。
【0083】同様に、スイッチ・チップ4(7104
を通る単一経路7201 は、スイッチ・チップ4(71
4)におけるポート4及び7の間の制限によってスイ
ッチ・チップ0(7101)及びスイッチ・チップ3
(7103)の間で制限されることがわかる。スイッチ
・チップ0(7100)及びスイッチ・チップ2(71
2)の間には、2つのそのような制限された経路があ
る。第1の経路7202 は、スイッチ・チップ4(71
4)におけるポート4及び6の間の制限によってその
スイッチ・チップ4を通して制限され、第2の経路72
3 は、スイッチ・チップ6(7106)におけるポー
ト4及び6の間の制限によってそのスイッチ・チップ6
を通して制限される。同様に、経路制限セット1におい
て具体化された各経路制限を分析することによって、各
スイッチ・チップに課せられた4つの経路制限は、その
スイッチ・チップと3スイッチ・チップ(又は、ソース
/中間/宛先)経路を通してそれに接続可能な他の3つ
のスイッチ・チップの各々との間の単一経路を制限する
こと、及び1つの更なる経路がこれらの3つのスイッチ
・チップの1つの間で制限されることは明らかであろ
う。
【0084】図8に示された経路制限のセットにおい
て、第4の経路は、ソース・スイッチ・チップ730
と、1つの他の宛先スイッチ・チップ750によってそ
のソース・スイッチ・チップ730から位置的に分離さ
れている宛先スイッチ・チップ750との間で一様に制
限される。換言すれば、図示のように、スイッチ・チッ
プ0(7100)の場合、スイッチ・チップ0(71
0)及びスイッチ・チップ2(7102)の間で2つの
経路が制限される。スイッチ・チップ2(7102)の
場合、その逆も真である(即ち、スイッチ・チップ2
(7102)からスイッチ・チップ0(7100)への2
つの経路が制限される)。スイッチ・チップ1(710
1)の場合、そこからスイッチ・チップ3(7103)ま
での2つの経路が禁止され、スイッチ・チップ3がソー
ス・チップである場合の経路に対してはその逆も真であ
る。これはスイッチ・チップ7(7107)まですべて
同様である。
【0085】更に、表1の経路制限セット1における経
路制限を分析することによってこのパターンが確認でき
る。スイッチ・チップ0(7100)は、ポート4にお
いて潜在的中間スイッチ・チップ740の各々(即ち、
スイッチ・チップ4(7104)、スイッチ・チップ5
(7105)、スイッチ・チップ6(7106)、及びス
イッチ・チップ7(7107))に接続するので、スイ
ッチ・チップ0(7100)からのパケットはいつもポ
ート4を通して何れかの中間スイッチ・チップに入るで
あろう。従って、スイッチ・チップ0(7100)に対
する制限を決定するためには、ポート4において入るパ
ケットのためのスイッチ・チップ4、5、6、及び7に
対する制限を見る必要があるだけである。これは、表1
の経路制限セット1における括弧付き数字の第1列の下
半分より成る、表2に示されるような行プレフィックス
のスイッチ・チップ4から行プレフィックスのスイッチ
・チップ7までのサブセットに対応する。
【表2】 ポート 4 5 6 7 −−−−−−−−−−−−−− スイッチ 4: 4(0 1 1 1) スイッチ 5: 4(0 0 0 0) スイッチ 6: 4(0 0 1 0) スイッチ 7: 4(0 0 0 0)
【0086】このサブセットをポート4、5、6、及び
7に対応する列ヘッディングを持った4X4マトリクス
として調べることによって、ポート6に対応する列に2
つの「1」が存在することは容易に明らかである。それ
に対応して、スイッチ・チップ2は潜在的中間スイッチ
・チップ4−7の各々のポート6に接続するので(図1
の接続ネットワーク140参照)、経路制限の第1セッ
ト当たり、スイッチ・チップ0とスイッチ・チップ2と
の間に2つの経路制限が存在することは明らかである。
図1に示された経路制限の4つのセットの各々に関して
各スイッチ・チップに対する各制限パターンを同様に調
べることによって、上記の詳述した経路制限実施方法が
各経路制限セットに適合していることが確認されるであ
ろう。
【0087】経路制限のこのセットから、ルーチン60
0における制限された経路の仮定の数は32であったこ
と(即ち、各経路制限セットによって定義されたマトリ
クス内に32個の「1」が存在すること)、及びそれが
そのボード上のアクティブ・スイッチ・チップの数(即
ち、8)によって除される時、それは4つの経路の1ス
イッチ・チップ当たりの経路制限数を生じたことがわか
る。それらの4つの経路は、スイッチ・チップのソース
・宛先の対の各セットがそれらの間で1つの経路を制限
されたように、及びスイッチ・チップのソース・宛先の
対の1つがそれらの間で更に1つの経路を制限されたよ
うに制限されることを決定された。これらの経路制限
は、図6に示されるような経路制限ルーチン600の実
行ステップ612に示されたソース・宛先の対の間の経
路制限と適合する。
【0088】各スイッチ・チップを中間スイッチ・チッ
プとして使用する方法は、ルーチン600のステップ6
25による例示的ISBに対してもほぼ等しいことが表
1を参照すれば更に明らかである。所与の経路制限セッ
トにおける各行を参照することによって、その行におけ
る「0」の数をカウントすることにより特定のスイッチ
・チップを中間スイッチ・チップとして使用し得る経路
の数、換言すれば、所与のスイッチ・チップにおいて入
るパケットがそのスイッチ・チップから出ることができ
る経路の数(但し、同じポートにおいて入り且つ出る経
路に対応するものを除く。それは、そのような経路は使
用されず、従って、事実上制限されるためである)を決
定することが可能である。この数は、所与のポートにお
いてスイッチ・チップに入るパケットがソース・スイッ
チ・ポート以外の宛先スイッチ・ポートに達するために
異なるポートからそのスイッチポートを出る回数を表
す。前に決定されたように、32個の経路が制限されよ
うとしているISBにおける中間スイッチの平均使用数
は8である。経路制限セット1を分析することによっ
て、例えば、各スイッチ・チップが中間スイッチ・チッ
プとして使用される回数に対する標準偏差は1.58で
あることを示すことができる。
【0089】同様に、表1を分析することによって、ル
ーチン600のステップ624において示された例示の
ISBにおける均等化したリンク使用を保証するために
行われた標準偏差計算が確認される。表1を参照するこ
とによって、スイッチ・ボードにおいて利用可能な32
個のリンクの各々に対するリンク使用量を決定すること
が可能である。合計32個のリンク(即ち、8個のスイ
ッチ・ボードの各々から4つのリンクが出ている)を持
ったISBに対する例示のモデルによれば、各リンクが
等量のパケット・トラフィックをサポートすべき場合、
各リンクは、制限されるべき32個の経路のセットにお
いて一旦制限されそして同じリンクを2つの方向に横切
る経路の事実上の制限を通して制限され(例えば、図1
を参照すると、ソース・スイッチ1200 と宛先スイッ
チ1200 とを接続する間でリンク1400 を2回横切
る経路は事実上制限されるであろう)、或いは各リンク
が2つの経路をサポートするという別の方法を行う。
【0090】再び、経路制限セット1を考察することに
する。各リンクに割り当てられる経路の数をできるだけ
2に近く維持しようとする場合、本発明の技法は、各リ
ンクに割り当てられた経路の数において最小の標準偏差
を持った制限のセットを選択する。各物理的リンクはス
イッチ・ボード上の2つのスイッチ・チップを接続し、
そしてこれらの2つのスイッチ・チップに対応する各括
弧付きのエントリを調べることによって、各リンクによ
ってサポートされる経路の数を決定することが可能であ
る。例えば、経路制限セット1におけるスイッチ・チッ
プ0と関連した行を調べると、スイッチ0が中間スイッ
チ・チップとして働く場合に、「1」の数はスイッチ0
から発する4つのリンクにおける制限された経路を表す
ことは明らかである。ポート4から発するリンクは各括
弧付きセットにおける第1数字によって表され、ポート
5から発するリンクはそれにおける第2数字に対応し、
ポート6からのリンクは第3数字に対応し、そしてポー
ト7からのリンクはそれにおける第4数字に対応する。
スイッチ・チップ0におけるポート5から発するリンク
を考察することにする。
【0091】スイッチ0に対応する行の、しかも同じポ
ートおいて入り且つ出る経路に対応するエントリを除
く、各括弧付きセットにおける第2位置における0の数
は1(即ち、スイッチ0のポート4において入り、ポー
ト5において出る経路)である。これは、スイッチ0が
中間スイッチとして働く場合、スイッチ0のポート5か
らのリンクに割り当てられた経路の数である。スイッチ
0のポート5からスイッチ5のポート4への同じリンク
が、スイッチ0がソース・スイッチである場合にスイッ
チ・チップ5が中間スイッチとして働く経路においても
使用可能である。スイッチ5に対する制限と関連した行
において4のプレフィックスの括弧付きセットにおける
0の数は、スイッチ5が中間スイッチとして働く場合、
このリンク上の許された経路の数を表す。事実上制限さ
れる同じリンク通して入り且つ出る経路に対応したエン
トリを除けば、この数は、調査時には3である。従っ
て、スイッチ・チップ0からスイッチ・チップ5までの
このリンクに割り当てられた経路の合計数は、1+3=
4 となる。同様に、経路制限セットを実施した所与の
ボードにおける各スイッチ・チップからの各リンクに割
り当てられた経路の数を計算することが可能である。従
って、これらの数に対する標準偏差を計算すること、従
って、制限セットに対する標準偏差がルーチン600の
実行ステップ624に従って得られた9312制限セッ
トに対する最小標準偏差であることを確認することが可
能である。
【0092】最後に、表1において示されたセットすべ
てを考察することによって、リンク全体の使用及び中間
スイッチ全体の使用がルーチン600の実行ステップ6
26によってバランスしていることがわかる。例えば、
経路制限セット1及び2におけるスイッチ0を考察する
ことにする。スイッチ・チップが図8(32個の経路が
制限されることになっている)におけるような例示のス
イッチ・ボードにおける中間スイッチ・チップとして働
かなければならない回数が8であることを前に決定した
ことを想起して欲しい。経路制限セット1では、スイッ
チ・チップ0が合計6回も(即ち、スイッチ・チップ0
に対する同じポートにおける入出を除いてその行におけ
る6個の「0」)中間スイッチ・チップとして働くか、
或いは理想的にバランスしたスイッチ・ボードではそれ
よりも2回少なく利用されることは明らかである。経路
制限セット2では、スイッチ・チップ0が合計10回も
(即ち、スイッチ・チップ0に対する同じポートにおけ
る入出を除いてその行における14個の「0」)中間ス
イッチ・チップとして働くか、或いは理想的にバランス
したスイッチ・ボードではそれよりも2回多く利用され
ることが同様に明らかである。
【0093】従って、経路制限セット1及び2の間の中
間スイッチ・チップとしてのスイッチ・チップ0の使用
は、それらの経路制限セットが課せられる任意の2つの
スイッチ・ボードの間の中間スイッチ・チップとしての
スイッチ0の使用全体をバランスさせるように働くこと
がわかる。同様に、中間スイッチ・チップの使用は、表
1に示された4つの経路制限セットのためのスイッチ・
チップすべてをバランスさせることがわかる。使用のた
めに利用可能な経路制限の有限のセット数に基づいてで
きるだけ多くのリンクに対する複数のISBの間でリン
ク使用が同様にバランスすることを確認することが可能
である。
【0094】そのようにして得られた経路制限のセット
は、汎用性を損なうことなく、ディスケット、CD−R
OM、磁気テープ、或いはサービス・プロセッサ110
31に対する機械による使用のためにそのような情報を記
憶する他の既知の手段を含むがそれらに限定されない任
意の機械読取り可能な媒体上に設けることが可能であ
り、又、ルーチン600は、場合によっては、サービス
・プロセッサ110においても実行可能である。いずれ
にしても、結果の経路制限セットは後述の方法で経路テ
ーブル生成ルーチン800によって選択的に使用され
る。
【0095】図9を参照すると、本発明の技法に従って
パケット経路を定義するために、サービス・プロセッ
サ、例示的には、図4における並列システム400内に
設けられた処理エレメント415511 において実行され
る経路テーブル生成ルーチン800の高レベルの流れ図
が示される。そのルーチン800は、前述のように、サ
ービス・プロセッサにおいて実行される初期設定ルーチ
ンの一部分である。
【0096】図9に示されるように、ルーチン800に
入ると、実行は、先ず、ステップ810に進む。そのス
テップは、実行時に、トポロジ・ファイル及び付属の且
つ前述の経路指定指令を読み取る。デッドロック回避経
路指定を行うために、そのトポロジ・ファイルにはパケ
ット・ネットワークにおける各装置、例えば、スイッチ
回路(特に、その中で使用されるスイッチ・チップ)に
対して、その装置を通した経路指定が制限されるべきか
どうか、即ち、パケットがこの回路によって方向を反転
し得るかどうかを指示するというような適当な指令が含
まれなければならない。図1に示されたスイッチ・ボー
ドのようなネットワーク100を具体化するスイッチ・
ボードを考察することにする。前述のように、各スイッ
チ・チップのポート0−3はそのスイッチ・ボードの外
部のリンクに接続される。一方、各スイッチ・チップの
ポート4−7は接続マトリクス140におけるリンク
(ケーブル)に及びそれを通して同じボードにおける他
のスイッチ・チップのポートに接続される。特定のスイ
ッチ・チップに対する経路指定指令がトポロジ・ファイ
ルに存在しない場合、それはそのチップに関して経路指
定制限がないことを意味する。そのように、パケットは
このチップの8個のポートのうちの何れかにおいてこの
チップに入ることができ、そして他の何れかのポートに
おいてそのチップから出ることができる。この場合、パ
ケットはそのチップ内でそれの方向を反転(即ち、「タ
ーン・アラウンド」)することができる。
【0097】別の方法として、そのスイッチ・チップに
対する経路指定指令「X(abcd)」がトポロジ・フ
ァイルに存在する場合、何れのポートXに入るパケット
も、ポート0−3の何れかへ経路指定され、そして、詳
しく前述したように、そのセット(abcd)に対応す
るポート4−7のうちの、a、b、c、又はdが0に等
しいポートから出るように強いられるであろう。従っ
て、ポートXにおいて入るパケットはそのチップ内でそ
れの方向を反転すること及びポート4−7のうちの、そ
れに対応するa、b、c、又はdが1に等しいポートに
おいて出ることを禁止されるであろう。しかし、「X
(abcd)」指令は、スイッチ・チップ上の他の何れ
かのポートに経路指定され得るそのチップのポート0−
3のうちの何れかにパケットが到達することを制限しな
いであろう。デッドロック回避指令を有するトポロジ・
ファイルにおけるサンプル・ラインは次のようになる。
即ち、 aux route-restrict W(abcd)-X(abcd)-Y(abcd)-Z(abcd)
chip_id 1 chip_id 2..... 但し、"aux route-restrict" は、経路指定指令を有す
る補助ラインを意味する。 "chip_id 1 chip_id 2
....." は、トポロジ・ファイル内で使用されるフォー
マットで表された或スイッチ・チップに対する数字識別
子に対応する。"W(abcd)-X(abcd)-Y(abcd)-Z(abcd)"
は、トポロジ・ファイル内で使用されるフォーマットで
表されたその識別されたスイッチ・チップにおけるポー
ト出力制限のための数字識別子である。なお、W、X、
Y、及びZはパケットが入ってもよいスイッチ・チップ
上のポートに対応し、a、b、c、及びdはそのスイッ
チ・チップ上の同じポートにおける出力制限にそれぞれ
対応する。又、a、b、c、及びdはそのセットと関連
したポートW、X、Y、又はZにおける入力と関連した
出力制限に対応する。
【0098】ステップ810が完全に実行されると、実
行はステップ820に進む。そのステップは、トポロジ
・ファイルにおいて指定された各ケーブル(リンク)と
関連する重みをゼロに設定する。更に、ソース・ノード
・カウンタ、即ち、ノードiがゼロに初期設定される。
しかる後、実行はステップ830に進む。この特定のス
テップは、付属のデッドロック回避経路指定指令と共に
トポロジ・ファイルに含まれたデータを利用して、パケ
ット・ネットワークを通して一組の利用可能な経路を選
択し、現在のソース・ノード(ノードi)をそのシステ
ムにおける各宛先ノードと接続する。経路は、短い長さ
を持つ経路、即ち、最少の個別のリンク(ケーブル)を
有するが必ずしも最短の物理的長さを持たない経路とな
るように、周知の幅優先探索を通して選択される。
【0099】最短パスの経路セットの選択は、ステップ
840に示されるように、経路が現在のソース・ノード
からすべての宛先ノードに拡張されるまで、即ち、経路
が宛先ベースのものになるまで、ソース・ベースの基準
で生じる。その結果としてソース・ノードから宛先ノー
ドまでの唯一の最短長の経路が生じる場合、その経路は
それらの間で使用するために選択される。別の方法とし
て、複数のそのような経路がこのソース・ノードと共通
宛先ノードとの間で生じる場合には、1つの選択された
経路は最も低い重みを集合的に有するケーブル持った経
路である。重みベースの選択によって、トラフィック負
荷はパケット・ネットワーク全体を通して最小のケーブ
ル共用とバランスされ得る。一旦ソース・ノードと宛先
ノードとの間の特定の経路が選択されると、その経路に
おける各ケーブルと関連した重みが1だけインクレメン
トされる。ステップ830及び840は理解を高めるた
めに別個のステップとして示されているけれども、オペ
レーションは全体的に結合される。
【0100】一旦宛先ノードすべてに対する経路がすべ
て選択されてしまうと、実行はステップ850に進む。
そのステップは、選択された経路すべてをグローバル経
路テーブルに書き込み、それによって、現在のソース・
ノードに対する経路テーブルを形成するように実行され
る。しかる後、実行は判断ステップ860に進み、その
ネットワークにおけるすべてのノードに対する経路テー
ブルがグローバル経路テーブルに書き込まれてしまった
かどうかを決定する。すべてのノード対する経路テーブ
ルが書き込まれてしまったわけではない場合、判断ステ
ップ860は「ノー」のパス867を通してステップ8
70に実行を進める。このステップ870は、実行され
る時、ソース・ノード・カウンタiを1だけインクレメ
ントする。そこで、実行は、次に続くノードに対する経
路を決定及び書き込むために、パス875を通してステ
ップ830にループ・バックする。それとは別に、すべ
てのノードに対する経路テーブルが書き込まれてしまっ
た場合、実行は、判断ステップ860から発する「イエ
ス」のパス863を通してルーチン800から出る。こ
のルーチンの実行の後に且つ処置設定プロセスの完了前
に、サービス・プロセッサは、前述のように、個々の処
理エレメントの各々及びすべてに対するグローバル経路
テーブルの対応部分を、記憶するために及びその後ロー
カル経路テーブルとして使用するために、そのネットワ
ークを通して供給する(詳しくは、コピーする)であろ
う。その部分は、ソース・ノードである特定の処理エレ
メントのための選択された経路だけを含んでいる。
【0101】512個及び256個の個別の処理エレメ
ントを利用する高度並列処理システムによる使用と関連
して本発明の技法を述べたけれども、本発明がそのよう
に限定されるものではないことは当業者には明らかであ
ろう。実際に、本発明は、双方向マルチ・ステージ相互
接続クロスポイント・ベースのパケット・ネットワーク
を利用する実質的に任意のサイズの並列処理システムに
おいて経路指定デッドロックを除くように適用可能であ
る。その点に関して、本発明は64プロセッサ・システ
ム、別のサイズの同様のシステム、及び最終使用に関係
なくマルチステージ相互接続クロスポイント・パケット
・ネットワークを利用する他のシステムに容易に組込み
可能である。
【0102】同じシステム・パーティション内の2つの
スイッチの間でパケットを送るために、システム・パー
ティションを横切る経路の制限を考察するだけである S
ethu他による「マルチステージ・クロスポイント・パケ
ット交換を通してデッドロックのない経路指定を得るた
めの技法(Technique For Accomplishing Deadlock Fre
e Routing Through A Multi-Stage Cross-Point Packet
Switch)」と題した米国特許第5,453,978号に
開示された技法のような従来技術の経路制限技法とは対
照的に、本発明の技法は3つのクロスポイント・スイッ
チ(即ち、ソース・スイッチ、中間スイッチ、及び宛先
スイッチ)にまたがる経路を調べる必要がある。なお、
そのソース及び宛先スイッチは並列システムにおける第
1スイッチ・ステージ内にあり、中間スイッチは第2ス
イッチ・ステージ内にある。潜在的な経路制限に対する
すべてのそのような3スイッチ経路を考察することによ
って、本発明は、そのような経路の最少の可能なセット
の制限でデッドロックのない経路指定を得ることを可能
にし、制限された経路の非常に広範囲の分類を回避す
る。従って、図4に示された例示の512プロセッサ・
システムにおいて本発明の技法を適用することにより、
所与のISBにおいて32個の経路が制限される。一
方、従来技術の特許では、同じISBに対して48個も
の経路を制限する必要があり、それは約33%のネット
ワーク帯域幅の増加に相当する。
【0103】本願では好適な実施例を詳細に示し且つ説
明したけれども、現在及び将来とも、本発明の精神から
逸脱することなく種々の修正、追加、改良、及び拡張を
行い得ることは当業者には明らかであろう。
【0104】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)外部の複数のノードを集合的に相互接続するクロ
スポイント・スイッチの連続ステージより成る少なくと
も1つのパケット・ネットワークを有し、パケットが前
記ノードうちの2つの間で、前記ネットワークと前記ス
イッチの少なくとも1つとを通る規定の経路を通して搬
送され、前記スイッチの1つが前記スイッチのうちの他
のスイッチに関して前記複数のノードのうちの固有のサ
ブセットに結合される場合、そのように結合されたスイ
ッチは固有のスイッチであり、前記スイッチの各々はア
クティブ又は非アクティブとなるシステムにおいて、複
数の規定の経路において経路指定デッドロックが生じな
いように前記ネットワークを通る前記複数の規定の経路
の定義を使用可能にするためのコンピュータ読取可能媒
体上の経路制限セットのグループであって、該グループ
は、 A.前記ネットワークとそのネットワークにおける前記
スイッチのうちの3つとを通る経路であって前記パケッ
トの通過を許容することを制限されるべき経路の仮定の
数を設定するステップにして、前記仮定の数は前記ネッ
トワークにおけるアクティブ・スイッチの数によって均
等に除することが可能であり、前記ネットワークとそれ
における前記スイッチのうちの3つとを通る前記制限さ
れた経路における前記3つのスイッチのうちの第1スイ
ッチは前記クロスポイント・スイッチの連続ステージの
うちの第1ステージに含まれたソース・スイッチであ
り、前記3つのスイッチのうちの第2スイッチは前記ク
ロスポイント・スイッチの連続ステージのうちの第2ス
テージに含まれた中間スイッチであり、前記3つのスイ
ッチのうちの第3スイッチは前記クロスポイント・スイ
ッチの連続ステージのうちの第1ステージに含まれた宛
先スイッチであり、前記3つのスイッチを通るそのよう
な経路は前記スイッチのソース・宛先の対を定義するこ
とを含んで成るステップと、 B.前記ネットワークに対する1スイッチ当たりの経路
制限数を発生するために前記ネットワークにおける前記
アクティブ・スイッチの数によって前記仮定の数を除す
るステップと、 C.1スイッチ当たりの経路制限の数に等しい数の経路
が前記アクティブ・スイッチの各々から制限されるよう
に及び前記ネットワークにおけるスイッチのソース・宛
先の対の各々の間の制限された経路の数がほぼ等しくな
るように、前記ネットワークにおけるスイッチのソース
・宛先の対の各々の間の制限すべき経路のソース・宛先
の対の数を決定するステップと、 D.前記ネットワークに対する少なくとも1セットのデ
ッドロックのない経路制限のグループを生成するステッ
プにして、前記セットの各々に対して、各スイッチにお
ける制限された経路の数は1スイッチ当たりの経路制限
数に等しく、前記スイッチのソース・宛先の対の各々の
間の制限された経路の数はほぼ等しいこと、及び前記セ
ットの各々に対して、経路指定デッドロックは制限され
てない前記経路に対しては存在せず、前記スイッチのソ
ース・宛先の対の各々の間の少なくとも1つの経路は制
限されないことを含んで成るステップと、 E.前記少なくとも1セットのデッドロックのない経路
制限のグループから前記セットの少なくとも1つを選択
するステップにして、前記ネットワークとそのネットワ
ークにおける前記スイッチのうちの3つとを通る前記経
路のうちのどれが制限されるべきかを決定し、それによ
って、前記定義されるべき複数の規定の経路から前記選
択されたセットにおける経路を排除する場合に使用され
ることを含んで成るステップと、によって生成されるこ
とを特徴とする経路制限セットのグループ。 (2)前記ステップDは、 D1.前記ネットワークにおける前記スイッチの第1部
分を選択するステップと、 D2.選択された前記スイッチの第1部分における前記
ソース・宛先の対の各々に対して、前記ネットワークと
前記スイッチのうちの3つとを通る前記経路のうち、前
記選択された第1部分におけるスイッチのソース・宛先
の対の各々の間の制限された経路の数がほぼ等しくなる
ようにソース・スイッチから宛先スイッチまでの制限さ
れ得るすべての可能な経路のセットを決定するステップ
と、 D3.前記ステップD2において決定された経路制限の
セットの各々に対して、制限されてない経路におけるデ
ッドロックが前記スイッチの第1部分に前記決定された
経路制限のセットを課することによって生じるかどうか
を決定し、デッドロックが生じる経路制限のセットを廃
棄するステップにして、デッドロックが生じない経路制
限のセットは前記スイッチの第1部分に対するデッドロ
ックのない経路制限のセットのグループとして保持され
て成るステップと、 D4.少なくとも1つの前記固有のアクティブ・スイッ
チを前記スイッチの第1部分に加えてスイッチの新たな
選択された第1部分を作成し、前記ネットワークにおけ
る前記固有のアクティブ・スイッチがすべて前記選択さ
れた第1部分に含まれるまで前記ステップD2乃至D4
を繰り返すステップと、 D5.前記仮定の数をインクレメントし、前記グループ
における前記デッドロックのない経路制限のセットの各
々に対して、前記ネットワークにおけるスイッチのソー
ス・宛先の対の各々の間の少なくとも1つの前記経路が
制限されないことが決定されるまで前記ステップB乃至
Dを繰り返すステップと、を含むことを特徴とする上記
(1)に記載の経路制限セットのグループ。 (3)前記ネットワークにおけるスイッチのソース・宛
先の各対の間の制限すべき経路のソース・宛先の対の数
が前記ネットワークにおけるスイッチのソース・宛先の
すべての対の間の制限された経路の数の標準偏差を最少
にすることによって決定されることを特徴とする上記
(1)に記載の経路制限セットのグループ。 (4)前記システムは前記クロスポイント・スイッチの
連続ステージを通して相互接続された複数の同じネット
ワークを含み、前記経路のうちのどの経路が前記複数の
ネットワークの少なくとも1つに対して制限されるべき
であるかを決定するために、前記少なくとも1つのデッ
ドロックのない経路制限のセットのうちの何れかのセッ
トが前記グループから選択されることを特徴とする上記
(1)に記載の経路制限セットのグループ。 (5)前記グループから選択される少なくとも1つのデ
ッドロックのない経路制限のセットは、それぞれ、前記
複数の同じネットワークのうちの何れかのネットワーク
における各リンクにほぼ等しい数の制限されてない経路
を割り当てられることを特徴とする上記(4)に記載の
経路制限セットのグループ。 (6)前記グループから選択される少なくとも1つのデ
ッドロックのない経路制限のセットは、それぞれ、前記
複数の同じネットワークのうちの何れかのネットワーク
における前記スイッチの各々が中間スイッチであるよう
な前記スイッチに対するほぼ等しい数の制限されてない
経路を有することを特徴とする上記(4)に記載の経路
制限セットのグループ。 (7)前記少なくとも1つのデッドロックのない経路制
限のセットは、前記複数のネットワーク上の前記複数の
選択されたセットにおいて前記経路制限を課することが
前記システムにおけるバランスしたリンクの使用を生じ
させるように前記グループから選択されることを特徴と
する上記(4)に記載の経路制限セットのグループ。 (8)前記少なくとも1つのデッドロックのない経路制
限のセットは、前記複数のネットワーク上の前記複数の
選択されたセットにおいて前記経路制限を課することが
前記システムにおけるバランスした中間スイッチの使用
を生じさせるように前記グループから選択されることを
特徴とする上記(4)に記載の経路制限セットのグルー
プ。 (9)前記規定の経路は "aux route-restrict W(abcd)-X(abcd)-Y(abcd)-Z(abc
d) chip_id" の形式のものであって、前記"aux route-restrict"
は、コンピュータ読取可能な媒体にある前記グループに
おける経路制限のセットの補助ラインを意味し、前記"c
hip_id" は、前記スイッチのうちの幾つかに対する数字
識別子に対応し、前記"W(abcd)-X(abcd)-Y(abcd)-Z(abc
d)" は、識別されたスイッチ・チップにおけるポート出
力制限のための数字識別子であり、前記W、X、Y、及
びZは前記パケットの1つが入り得る識別されたスイッ
チ上のポートに対応し、前記a、b、c、及びdは前記
識別されたスイッチ上の同じポートにおける出力制限に
それぞれ対応し、前記a、b、c、及びdの各セットは
そのセットと関連した前記ポートW、X、Y、又はZに
おけるパケットの入力と関連した出力制限に対応するこ
とを特徴とする上記(1)に記載の経路制限セットのグ
ループ。
【0105】
【発明の効果】双方向マルチステージ相互接続クロスポ
イント・ベースのパケット交換において、特に、高度並
列処理システムの高速度パケット・ネットワークにおい
て排他的でなく使用されるデッドロックのない経路指定
を確立するための方法及び装置が得られる。
【図面の簡単な説明】
【図1】例示的に32個の尾別の処理エレメントを利用
する通常の並列処理システム5の高レベルのブロック図
を示す。
【図2】図1に示されたシステム5を通る例示的パケッ
ト300及びそれの構成フィールドを示す。
【図3】図1に示されたシステム5を構成する処理ノー
ド110を示し、特に、パケット経路指定を達成するた
めにこれらのノード内のメモリに存在する種々のフィー
ルド及びテーブルを示す。
【図4】例示的に512個の処理エレメントを含み、本
発明の教示するところを利用する並列処理システム40
0の高レベルのブロック図を示す。
【図5】例示的に256個の処理エレメントを含み、本
発明の教示するところを利用する並列処理システム50
0の高レベルのブロック図を示す。
【図6】本発明の教示するところに従ってパケット経路
を定義するために、経路指定テーブルの生成時に、図4
に示されたシステム400内に設けられたサービス・プ
ロセッサ、例示的には、処理エレメント415511 によ
って使用されるべき経路制限を定義するために本発明の
教示するところに従って実行される経路制限ルーチン6
00の高レベルのフローチャートを示す。
【図7】図6に示されたフローチャートの続きのフロー
チャートを示す。
【図8】図4に示されたような512プロセッサ・シス
テム400のための代表的な中間スイッチ・ボード(I
SB)に対する一組の経路制限の例示的部分を示す。
【図9】本発明の教示するところに従ってパケット経路
を定義するために、図4に示されたシステム400内に
設けられたサービス・プロセッサ、例示的には、処理エ
レメント415511 において実行される経路テーブル生
成ルーチン800の高レベルのフローチャートを示す。

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】外部の複数のノードを集合的に相互接続す
    るクロスポイント・スイッチの連続ステージより成る少
    なくとも1つのパケット・ネットワークを有し、パケッ
    トが前記ノードうちの2つの間で、前記ネットワークと
    前記スイッチの少なくとも1つとを通る規定の経路を通
    して搬送され、前記スイッチの1つが前記スイッチのう
    ちの他のスイッチに関して前記複数のノードのうちの固
    有のサブセットに結合される場合、そのように結合され
    たスイッチは固有のスイッチであり、前記スイッチの各
    々はアクティブ又は非アクティブとなるシステムにおい
    て、複数の規定の経路において経路指定デッドロックが
    生じないように前記ネットワークを通る前記複数の規定
    の経路の定義を使用可能にするためのコンピュータ読取
    可能媒体上の経路制限セットのグループであって、該グ
    ループは、 A.前記ネットワークとそのネットワークにおける前記
    スイッチのうちの3つとを通る経路であって前記パケッ
    トの通過を許容することを制限されるべき経路の仮定の
    数を設定するステップにして、前記仮定の数は前記ネッ
    トワークにおけるアクティブ・スイッチの数によって均
    等に除することが可能であり、前記ネットワークとそれ
    における前記スイッチのうちの3つとを通る前記制限さ
    れた経路における前記3つのスイッチのうちの第1スイ
    ッチは前記クロスポイント・スイッチの連続ステージの
    うちの第1ステージに含まれたソース・スイッチであ
    り、前記3つのスイッチのうちの第2スイッチは前記ク
    ロスポイント・スイッチの連続ステージのうちの第2ス
    テージに含まれた中間スイッチであり、前記3つのスイ
    ッチのうちの第3スイッチは前記クロスポイント・スイ
    ッチの連続ステージのうちの第1ステージに含まれた宛
    先スイッチであり、前記3つのスイッチを通るそのよう
    な経路は前記スイッチのソース・宛先の対を定義するこ
    とを含んで成るステップと、 B.前記ネットワークに対する1スイッチ当たりの経路
    制限数を発生するために前記ネットワークにおける前記
    アクティブ・スイッチの数によって前記仮定の数を除す
    るステップと、 C.1スイッチ当たりの経路制限の数に等しい数の経路
    が前記アクティブ・スイッチの各々から制限されるよう
    に及び前記ネットワークにおけるスイッチのソース・宛
    先の対の各々の間の制限された経路の数がほぼ等しくな
    るように、前記ネットワークにおけるスイッチのソース
    ・宛先の対の各々の間の制限すべき経路のソース・宛先
    の対の数を決定するステップと、 D.前記ネットワークに対する少なくとも1セットのデ
    ッドロックのない経路制限のグループを生成するステッ
    プにして、前記セットの各々に対して、各スイッチにお
    ける制限された経路の数は1スイッチ当たりの経路制限
    数に等しく、前記スイッチのソース・宛先の対の各々の
    間の制限された経路の数はほぼ等しいこと、及び前記セ
    ットの各々に対して、経路指定デッドロックは制限され
    てない前記経路に対しては存在せず、前記スイッチのソ
    ース・宛先の対の各々の間の少なくとも1つの経路は制
    限されないことを含んで成るステップと、 E.前記少なくとも1セットのデッドロックのない経路
    制限のグループから前記セットの少なくとも1つを選択
    するステップにして、前記ネットワークとそのネットワ
    ークにおける前記スイッチのうちの3つとを通る前記経
    路のうちのどれが制限されるべきかを決定し、それによ
    って、前記定義されるべき複数の規定の経路から前記選
    択されたセットにおける経路を排除する場合に使用され
    ることを含んで成るステップと、 によって生成されることを特徴とする経路制限セットの
    グループ。
  2. 【請求項2】前記ステップDは、 D1.前記ネットワークにおける前記スイッチの第1部
    分を選択するステップと、 D2.選択された前記スイッチの第1部分における前記
    ソース・宛先の対の各々に対して、前記ネットワークと
    前記スイッチのうちの3つとを通る前記経路のうち、前
    記選択された第1部分におけるスイッチのソース・宛先
    の対の各々の間の制限された経路の数がほぼ等しくなる
    ようにソース・スイッチから宛先スイッチまでの制限さ
    れ得るすべての可能な経路のセットを決定するステップ
    と、 D3.前記ステップD2において決定された経路制限の
    セットの各々に対して、制限されてない経路におけるデ
    ッドロックが前記スイッチの第1部分に前記決定された
    経路制限のセットを課することによって生じるかどうか
    を決定し、デッドロックが生じる経路制限のセットを廃
    棄するステップにして、デッドロックが生じない経路制
    限のセットは前記スイッチの第1部分に対するデッドロ
    ックのない経路制限のセットのグループとして保持され
    て成るステップと、 D4.少なくとも1つの前記固有のアクティブ・スイッ
    チを前記スイッチの第1部分に加えてスイッチの新たな
    選択された第1部分を作成し、前記ネットワークにおけ
    る前記固有のアクティブ・スイッチがすべて前記選択さ
    れた第1部分に含まれるまで前記ステップD2乃至D4
    を繰り返すステップと、 D5.前記仮定の数をインクレメントし、前記グループ
    における前記デッドロックのない経路制限のセットの各
    々に対して、前記ネットワークにおけるスイッチのソー
    ス・宛先の対の各々の間の少なくとも1つの前記経路が
    制限されないことが決定されるまで前記ステップB乃至
    Dを繰り返すステップと、 を含むことを特徴とする請求項1に記載の経路制限セッ
    トのグループ。
  3. 【請求項3】前記ネットワークにおけるスイッチのソー
    ス・宛先の各対の間の制限すべき経路のソース・宛先の
    対の数が前記ネットワークにおけるスイッチのソース・
    宛先のすべての対の間の制限された経路の数の標準偏差
    を最少にすることによって決定されることを特徴とする
    請求項1に記載の経路制限セットのグループ。
  4. 【請求項4】前記システムは前記クロスポイント・スイ
    ッチの連続ステージを通して相互接続された複数の同じ
    ネットワークを含み、前記経路のうちのどの経路が前記
    複数のネットワークの少なくとも1つに対して制限され
    るべきであるかを決定するために、前記少なくとも1つ
    のデッドロックのない経路制限のセットのうちの何れか
    のセットが前記グループから選択されることを特徴とす
    る請求項1に記載の経路制限セットのグループ。
  5. 【請求項5】前記グループから選択される少なくとも1
    つのデッドロックのない経路制限のセットは、それぞ
    れ、前記複数の同じネットワークのうちの何れかのネッ
    トワークにおける各リンクにほぼ等しい数の制限されて
    ない経路を割り当てられることを特徴とする請求項4に
    記載の経路制限セットのグループ。
  6. 【請求項6】前記グループから選択される少なくとも1
    つのデッドロックのない経路制限のセットは、それぞ
    れ、前記複数の同じネットワークのうちの何れかのネッ
    トワークにおける前記スイッチの各々が中間スイッチで
    あるような前記スイッチに対するほぼ等しい数の制限さ
    れてない経路を有することを特徴とする請求項4に記載
    の経路制限セットのグループ。
  7. 【請求項7】前記少なくとも1つのデッドロックのない
    経路制限のセットは、前記複数のネットワーク上の前記
    複数の選択されたセットにおいて前記経路制限を課する
    ことが前記システムにおけるバランスしたリンクの使用
    を生じさせるように前記グループから選択されることを
    特徴とする請求項4に記載の経路制限セットのグルー
    プ。
  8. 【請求項8】前記少なくとも1つのデッドロックのない
    経路制限のセットは、前記複数のネットワーク上の前記
    複数の選択されたセットにおいて前記経路制限を課する
    ことが前記システムにおけるバランスした中間スイッチ
    の使用を生じさせるように前記グループから選択される
    ことを特徴とする請求項4に記載の経路制限セットのグ
    ループ。
  9. 【請求項9】前記規定の経路は "aux route-restrict W(abcd)-X(abcd)-Y(abcd)-Z(abc
    d) chip_id" の形式のものであって、 前記"aux route-restrict" は、コンピュータ読取可能
    な媒体にある前記グループにおける経路制限のセットの
    補助ラインを意味し、 前記"chip_id" は、前記スイッチのうちの幾つかに対す
    る数字識別子に対応し、 前記"W(abcd)-X(abcd)-Y(abcd)-Z(abcd)" は、識別され
    たスイッチ・チップにおけるポート出力制限のための数
    字識別子であり、前記W、X、Y、及びZは前記パケッ
    トの1つが入り得る識別されたスイッチ上のポートに対
    応し、前記a、b、c、及びdは前記識別されたスイッ
    チ上の同じポートにおける出力制限にそれぞれ対応し、
    前記a、b、c、及びdの各セットはそのセットと関連
    した前記ポートW、X、Y、又はZにおけるパケットの
    入力と関連した出力制限に対応することを特徴とする請
    求項1に記載の経路制限セットのグループ。
JP9166941A 1996-06-25 1997-06-24 マルチステージ・クロスポイント・パケット交換におけるデッドロックのない経路指定のための経路制限セット・グループ Pending JPH1063630A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/673,706 US5781546A (en) 1996-06-25 1996-06-25 Route restrictions for deadlock free routing with increased bandwidth in a multi-stage cross point packet switch
US08/673706 1996-06-25

Publications (1)

Publication Number Publication Date
JPH1063630A true JPH1063630A (ja) 1998-03-06

Family

ID=24703785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9166941A Pending JPH1063630A (ja) 1996-06-25 1997-06-24 マルチステージ・クロスポイント・パケット交換におけるデッドロックのない経路指定のための経路制限セット・グループ

Country Status (2)

Country Link
US (1) US5781546A (ja)
JP (1) JPH1063630A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006279390A (ja) * 2005-03-29 2006-10-12 Nec Corp ノード間接続装置
JP2009542068A (ja) * 2006-06-23 2009-11-26 エアバス・フランス 保証された決定性の説明を有する、フレーム交換ネットワークにおける仮想リンクの経路指定のための方法
JP2011041017A (ja) * 2009-08-11 2011-02-24 Fujitsu Ltd 経路探索装置、経路探索方法および経路探索プログラム
JP2018200514A (ja) * 2017-05-26 2018-12-20 富士通株式会社 情報処理装置及びプログラム

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5928332A (en) * 1996-12-06 1999-07-27 Intel Corporation Communication network with reversible source routing that includes reduced header information being calculated in accordance with an equation
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
US6073182A (en) * 1998-04-30 2000-06-06 International Business Machines Corporation Method of resolving deadlocks between competing requests in a multiprocessor using global hang pulse logic
JP2000295279A (ja) * 1999-04-02 2000-10-20 Nec Corp パケットスイッチ
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
AUPQ070599A0 (en) * 1999-06-02 1999-06-24 Canon Kabushiki Kaisha Reconfigurable vliw processor
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
US6584073B1 (en) 1999-06-02 2003-06-24 Sun Microsystems, Inc. Network topologies
US6502190B1 (en) * 1999-11-02 2002-12-31 International Business Machines Corporation System and method for computer system initialization to maximize fault isolation using JTAG
FI108691B (fi) 2000-02-01 2002-02-28 Nokia Corp Keskuksen ohjausyhteyksien autokonfigurointi
US20020028656A1 (en) * 2000-02-02 2002-03-07 Yechiam Yemini Method and apparatus for providing forwarding and replication services on a dynamically addressed network
US6848017B2 (en) * 2000-10-26 2005-01-25 Emc Corporation Method and apparatus for determining connections in a crossbar switch
DE60211111T2 (de) * 2001-12-20 2006-08-31 Nortel Networks Ltd., St. Laurent Verfahren zur Berechnung der Wege in einer mehrstufigen Vermittlungsstelle mittels Ausnutzung der symmetrischen Verbindungen
CA2365963A1 (en) * 2001-12-20 2003-06-20 Nortel Networks Limited Technique for computing pathways in a multi-stage switch fabric through exploitation of symmetrical links
US7565657B1 (en) * 2005-04-19 2009-07-21 Sandia Corporation Allocating application to group of consecutive processors in fault-tolerant deadlock-free routing path defined by routers obeying same rules for path selection
US8018844B2 (en) * 2005-08-24 2011-09-13 International Business Machines Corporation Reliable message transfer over an unreliable network
JP4639223B2 (ja) * 2007-12-27 2011-02-23 株式会社日立製作所 ストレージサブシステム
US9007962B2 (en) 2013-01-24 2015-04-14 International Business Machines Corporation Deadlock-free routing using edge-disjoint sub-networks

Family Cites Families (12)

* 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
US5088091A (en) * 1989-06-22 1992-02-11 Digital Equipment Corporation High-speed mesh connected local area network
GB8915135D0 (en) * 1989-06-30 1989-08-23 Inmos Ltd Message routing
US5175733A (en) * 1990-12-27 1992-12-29 Intel Corporation Adaptive message routing for multi-dimensional networks
US5471623A (en) * 1991-02-26 1995-11-28 Napolitano, Jr.; Leonard M. Lambda network having 2m-1 nodes in each of m stages with each node coupled to four other nodes for bidirectional routing of data packets between nodes
US5321813A (en) * 1991-05-01 1994-06-14 Teradata Corporation Reconfigurable, fault tolerant, multistage interconnect network and protocol
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
US5444701A (en) * 1992-10-29 1995-08-22 International Business Machines Corporation Method of packet routing in torus networks with two buffers per edge
US5546391A (en) * 1993-03-04 1996-08-13 International Business Machines Corporation Central shared queue based time multiplexed packet switch with deadlock avoidance
US5453978A (en) * 1994-04-04 1995-09-26 International Business Machines Corporation Technique for accomplishing deadlock free routing through a multi-stage cross-point packet switch
US5513322A (en) * 1994-05-02 1996-04-30 Unisys Corporation Multi-path message routing without deadlocks

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006279390A (ja) * 2005-03-29 2006-10-12 Nec Corp ノード間接続装置
JP4604794B2 (ja) * 2005-03-29 2011-01-05 日本電気株式会社 ノード間接続装置
JP2009542068A (ja) * 2006-06-23 2009-11-26 エアバス・フランス 保証された決定性の説明を有する、フレーム交換ネットワークにおける仮想リンクの経路指定のための方法
JP2011041017A (ja) * 2009-08-11 2011-02-24 Fujitsu Ltd 経路探索装置、経路探索方法および経路探索プログラム
JP2018200514A (ja) * 2017-05-26 2018-12-20 富士通株式会社 情報処理装置及びプログラム

Also Published As

Publication number Publication date
US5781546A (en) 1998-07-14

Similar Documents

Publication Publication Date Title
JPH1063630A (ja) マルチステージ・クロスポイント・パケット交換におけるデッドロックのない経路指定のための経路制限セット・グループ
US5812549A (en) Route restrictions for deadlock free routing with increased bandwidth in a multi-stage cross point packet switch
JP2817770B2 (ja) パケットの経路指定デッドロック回避方法及び装置
US20210294762A1 (en) Procedures for improving efficiency of an interconnect fabric on a system on chip
US7558248B2 (en) Fanning route generation technique for multi-path networks
Silla et al. High-performance routing in networks of workstations with irregular topology
US20020156918A1 (en) Dynamic path selection with in-order delivery within sequence in a communication network
US20080069125A1 (en) Means and apparatus for a scalable congestion free switching system with intelligent control
Sancho et al. A new methodology to compute deadlock-free routing tables for irregular networks
US8085659B2 (en) Method and switch for routing data packets in interconnection networks
US6065063A (en) Deadlock avoidance method in a computer network
US20060268691A1 (en) Divide and conquer route generation technique for distributed selection of routes within a multi-path network
Flich et al. Improving routing performance in Myrinet networks
Owicki et al. Factors in the Performance of the AN1 Computer Network
Bogdanski Optimized routing for fat-tree topologies
Flich et al. Boosting the performance of Myrinet networks
Flich et al. Performance evaluation of a new routing strategy for irregular networks with source routing
US20080109586A1 (en) System and method for arbitration for virtual channels to prevent livelock in a richly-connected multi-processor computer system
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
JP2004511992A (ja) 複数の制御回線を用いた多重最小論理網においてスループットを増大させる拡張可能な装置および方法
Silla et al. Virtual channel multiplexing in networks of workstations with irregular topology
Qiao et al. Adaptive-trail routing and performance evaluation in irregular networks using cut-through switches
Cherkasova et al. Designing fibre channel fabrics
JP2007510379A (ja) ノンブロッキングで決定論的マルチキャストパケットスケジューリング

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040419

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060606

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060830

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060904

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070516