(57)【要約】【課題】　処理要素ノードとそれら処理要素ノードをｎ次元のトポロジィにおいて、相互に接続する物理通信リンクを含むマルチプロセッサコンピュータシステムを提供する。【解決手段】　マルチプロセッサコンピュータシステムは、ｎ次元のトポロジィに従って相互に物理通信リンクによって接続された処理要素ノードを含む。フロー制御された仮想チャネルは、処理要素ノード間において転送されるべき情報を含むパケットを格納するため、各物理通信リンクに対して割当てられた仮想チャネルバッファを有する。フロー制御されない仮想メンテナンスチャネルは、処理要素ノード間において転送されるべきメンテナンス情報のパケットを格納するため、各物理通信リンクに対して割当てられたメンテナンスチャネルバッファを有する。各メンテナンスチャネルは、物理通信リンクをアクセスするについて、フロー制御された仮想チャネルより高い優先度が与えられる。【選択図】図１
2004118855.tif 000002
【特許請求の範囲】
【請求項１】
　ｎ次元のトポロジイにおいて物理通信リンク（４４,４６,４８）で相互接続された複数の処理要素ノード（２２）を含むマルチプロセッサコンピュータシステム（２０）を保全する方法であって、更に、マルチプロセッサコンピュータシステム（２０）は、該方法を行うために該複数の処理要素ノード（２２）上で実行されるソフトウェアを含んでおり、
該方法は：
　上記複数の処理要素ノード間で転送されるべき通常のトラヒック情報を含むパケットを格納するために、通常仮想チャネルバッファを有する少なくとも１つのフロー制御された仮想チャネル（５０，５２，５４，５６，５８）を指定するステップと； 
　各物理通信リンクに対して、上記少なくとも１つのフロー制御された仮想チャネルを割当てるステップと；
　上記複数の処理要素ノード間で転送されるべきメンテナンス情報のパケットを格納するために、メンテナンスチャネルバッファを有するフロー制御されない仮想メンテナンスチャネル（６０）を指定するステップと；
　各物理通信リンクに対して、上記フロー制御されない仮想メンテナンスチャネルを割当てるステップとを有しており、
　上記フロー制御されない仮想メンテナンスチャネルには、上記物理通信リンクをアクセスするについて、上記少なくとも一つのフロー制御された仮想チャネルより高い優先度を与える方法。
【請求項２】
　上記マルチプロセッサコンピュータシステムで稼動するシステムソフトウェアにより、上記フロー制御されない仮想メンテナンスチャネルをアクセスする、請求項１の方法。
【請求項３】
　上記フロー制御されない仮想メンテナンスチャネルに対するアクセスが、上記処理要素ノードのいずれからも実行可能である、請求項１の方法。
【請求項４】
　ある処理要素ノードが、上記フロー制御されない仮想メンテナンスチャネルによってアクセスされるのを阻止する、請求項１の方法。
【請求項５】
　上記フロー制御されない仮想メンテナンスチャネルにおいて、レスポンスパケットが、該レスポンスパケットに対応するリクエストパケットによって採用された経路と同じ経路を追従するのを可能とされる、請求項１の方法。
【請求項６】
　上記フロー制御されない仮想メンテナンスチャネル内に採用される経路を、所定の処理要素ノードから他の処理要素ノードまでの変位であるデルタ値を用いて規定する、請求項１の方法。
【請求項７】
　上記デルタ値を、各次元において一次及び二次のデルタ値を含むように規定する、請求項６の方法。
【請求項８】
　上記フロー制御されない仮想メンテナンスチャネルを介して、ある処理要素ノードにおいて選択されたリード／ライトレジスタに対して読み書きすることにより、選択された経路が有効であることを検証する、請求項１の方法。
【請求項９】
　上記各物理通信リンクに対して、上記少なくとも一つのフロー制御された仮想チャネルを割当てるステップが、各物理通信リンクに対して、第１の型式の仮想チャネルバッファ，第２の型式の仮想チャネルバッファ及び第３の型式の仮想チャネルバッファを割当てるステップを備え、
　また、上記少なくとも１つのフロー制御された仮想チャネルを指定するステップが、
　ルーティング情報に基づいてソースノードから行先ノードへの決定された仮想経路に沿って通常のトラヒックパケットを格納するために、第１及び第２の仮想チャネルバッファを利用することができる２つの非サイクリック非適合仮想チャネルを指定するステップと；
　上記ルーティング情報に基づいてソースノードから行先ノードへの決定されていない複数の仮想経路に沿って通常のトラヒックパケットを格納するために、上記第３の型式の仮想チャネルバッファを利用することができる適合仮想チャネルを指定するステップとを備えた、請求項１の方法。
【請求項１０】
　ソースノードから行先ノードへ上記フロー制御されていない仮想メンテナンスチャネルを通してメンテナンスパケットをルーティングする初期経路を選択し、
　上記メンテナンスパケットが選択された時間の後に選択された初期経路上で成功裡にルート付けされない場合には、ソースノードから行先ノードへ上記フロー制御されない仮想メンテナンスチャネルを通して上記メンテナンスパケットをルーティングする代替経路を選択する、請求項７の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は、一般的には、高速デジタルデータ処理システムの分野に関し、より詳しくは同じ物理通信リンクを他の仮想ルーティングチャネルと共用する仮想メンテナンスチャネルを有するマルチプロセッサコンピュータシステムに関する。
【背景技術】
【０００２】
　マルチプロセッサコンピュータシステムは、相互接続ネットワークによって互いに接続された処理要素ノードを有する。相互接続ネットワークは、ノード間において情報のパケットを伝送する。パケットは多重物理転送ユニット（ｐｈｉｔ以下フィットという）からなる。あるフィットは処理要素ノード間のネットワークの物理通信リンクもしくは物理チャネルの幅である。相互接続ネットワークは、通常、ノーマルトラヒックとメンテナンストラヒックを実行する。通常のトラヒックパケット内に含まれる情報の例は、メッセージ、共有メモリの操作、もしくは種々の形式のデータである。メンテナンストラヒックは、一方、システムの初期化、システム構成、診断、ハードウエアモニタ、エラーモニタ、挙動モニタ及びその種のメンテナンス等の課題のために使用される。従来のマルチプロセッサコンピュータシステムでは、メンテナンストラヒックはそれ自身の物理メンテナンスネットワーク上を移動し、このメンテナンスネットワークは通常の通信トラヒックによって使用されない物理通信リンクを含んでいる。実際、通常のトラヒックによって使用される物理通信リンクは物理メンテナンスネットワークとは完全に分離されている。換言すれば、従来の相互接続ネットワークはメンテナンストラヒックを実行するための一つの配線セットおよび通常のトラヒックを実行するための異なる配線セットを含んでいた。
【０００３】
　相互接続ネットワークの通常のトラヒックの部分は典型的にはパケットが単一のユニットとして、ソースから行先までの経路に沿ってノードからノードへと転送されるフロー制御された格納、送達機構である。各ノードは、パケットの最後のフィットが受信されるまでパケットのヘッドを次のノードに通過させるのを待つ。より最近のマルチプロセッサシステムは通常のトラヒックパケットの流れを制御するため、ウォームホール（wormhole）ルーティングの形式を用いた通常トラヒックの相互接続ネットワークを利用する。ウォームホールルーティング相互接続ネットワークは、パケットの尾端がそのノードで受信される以前に、パケットのヘッドをそのノードからルート化する。パケットは、１もしくはそれ以上のフィットであり得るフロー制御ユニット（flit）と呼ばれる、より小さい多数のメッセージパケットに分割される。ヘッダフリットは、ルーティング情報を含む。ヘッダフリットがある処理要素ノードによって受信され、その行先が判断される。ヘッダフリットは、ルーティングアルゴリズムによって指示された次のノードに送られる。残りのフリットはヘッダフリットの後に列車のような方法で追随する。ノード間のフロー制御は、格納及び前進相互接続ネットワークにおけるパケット単位というよりは、フリットベースの単位で実行される。かくして、ウォームホールルーティングではパケットは物理通信リンクを通して部分的に送信され、受信ノードにおけるバッファスペースの不足によってブロックされることがある。
【０００４】
　ウォームホールルーティングは、リンク上でパケットを送信するための時間（パケットのフィット数×クロック周期）はホップ当たり１回というよりは、ネットワーク横断につき、１回にのみ抑えられるので軽い負荷のネットワークにおいてパケットの潜伏を大幅に減少することができる。ウォームホールルーティングは、また、ノードがパケットの全体をバッファするよう要求されないので、ネットワークのバッファ要求を大幅に減少することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
　しかしながら、ウォームホールルーティングの問題は、ヘッダフリットがブロックされると残りのフリットはヘッダの背後で立往生することである。これらの残りのフリットはネットワークの多重リンク及びノードを横断することができるかもしれない。ブロックされたパケットは他のパケットをそれらパケットが上記ヘッダフリットがブロックされたノードを介してルート付けることを望まないにも拘わらず処理されるのを阻止してしまう。このことは、特に均一でない通信パターンが存在する場合には、重大なネットワークの性能低下をもたらす。
【０００６】
　通常のトラヒック相互接続ネットワークの第３の形式は仮想カットスルー（cut-through）ネットワークである。仮想カットスルー相互接続ネットワークはあるパケットがバッファをブロックしたときにそのバッファはパケットの全体を常に受け入れなければならないという点を除いて、ウォームホールルーティングネットワークと同様である。このようにして、仮想カットスルールーティングはウォームホールルーティングにおいて、固有に生ずるブロック減少の問題を回避することができるが、ブロックされたパケットの全てをバッファするために必要な付加的なハードウエアのコストがかかる。
【０００７】
　全ての関連するバッファが満杯になり、ブロックしてしまうようなサイクリックな依存性がチャネルバッファのセットにおいて生ずる時にデッドロックが発生する。相互接続ネットワーク及び対応するルーティングアルゴリズムの設計に際して、まず最初に考えなければならないことはデッドロックを回避することである。デッドロックの状況は、チャネル依存性グラフを介して各ノードがネットワークチャネルを表わし、そのアークがチャネル間の依存性を表わすような方向付けグラフに定式化される。
【０００８】
　あるパケットがチャネルｘからチャネルｙに直接にルート化できる場合には、チャネルｘとチャネルｙとの間にはあるアークが存在する。そのチャネル依存性グラフが非サイクリックであれば、ネットワークはデッドロックフリーであることが証明される。しかしながら、健全なネットワークがデッドロックフリーであると証明された場合にも、ネットワーク内の結果によってデッドロックは依然として生じ得る。
【０００９】
　デッドロックを回避する一つの簡単な方法は、サイクリックなバッファの依存性の可能性を除去するため、相互接続ネットワーク上で処理要素ノード間にパケットをルート付けするために使用される相互接続ネットワークのトポロジィ及び／又はルーティング機能を制限することである。
【００１０】
　例えば、２次の超立方体（hypercube）トポロジィは、ルーティング機能が各次元がｅ−キューブ（e-cube）もしくは次元順位ルーティングアルゴリズムを用いて順位が増大する方向にトラバースされるように制限されている場合には、デッドロックフリーである。最大一つのホップが次元ごとに作成され、いかなるパケットも下位の次元にはルート付けされないので、いかなるサイクリックなバッファ依存性の可能性はない。ｅ−キューブルーティングアルゴリズムは各次元における対向する流れのトラヒックはバッファの異なるセットを用いるとともに次元は順位が増大する方向にトラバースされるので、デッドロックフリーがｎ次元の網目トポロジィを作成するのに用いることができる。トーラストポロジィは、トーラストポロジィ内のラップアラウンド（wrap-around）リンクが単一のリングを形成するようなサイクリックなバッファ依存性を与えるので、ｅ−キューブルーティングに制限された場合には、デッドロックフリーではない。
【００１１】
　更に、網目構造においてもリクエスト及びレスポンスパケット間の依存性によってはデッドロックが発生する。ノードはそのノードが先のリクエストのためのレスポンスパケットを送信するまで、より以上のリクエストパケットを受け入れることができないので、ネットワーク内においてレスポンスパケットがリクエストパケットの後ろで待機するように作成されている場合にはデッドロックが発生し得る。リクエストとレスポンスパケット間のこの依存性の問題に対する高価な解決法はリクエストとレスポンスの物理ネットワークを分離して使用することである。
【００１２】
　仮想チャネルがデッドロックを回避するとともに、通常のトラヒックのネットワーク錯綜を減少させるために使用されてきた。各分離チャネルは１もしくはそれ以上の仮想チャネルに分割される。各仮想チャネルは仮想経路に沿ってパケットを格納するための仮想チャネルバッファを含む。仮想チャネルは共通の物理チャネルを横断して多重化されているが、相互に独立に動作する。このように、共通の物理チャネルを横断して、多重化された第１の仮想チャネル上でブロックされたパケットは、共通の物理チャネル上で多重化された第２の仮想チャネルの背後でパケットを記録することはない。
【課題を解決するための手段】
【００１３】
　本発明は、処理要素ノードとそれら処理要素ノードをｎ次元のトポロジィにおいて、相互に接続する物理通信リンクを含むマルチプロセッサコンピュータシステムを提供するものである。少なくとも、一つのフロー制御された仮想チャネルは処理要素ノード間において転送されるべき通常のトラヒック情報を含むパケットを格納するため、各物理通信リンクに対して割当てられた仮想のチャネルバッファを含む。フロー制御されない仮想メンテナンスチャネルは、複数の処理要素ノード間において、転送されるべきメンテナンス情報のパケットを格納するため、各物理通信リンクに割当てられたメンテナンスチャネルバッファを含む。メンテナンスチャネルは物理通信リンクをアクセスするについて、少なくとも一つのフロー制御された仮想チャネルより高い優先度が割当てられる。
【００１４】
　フロー制御されない仮想メンテナンスチャネルは、好ましくはマルチプロセッサコンピュータシステム上で稼動するシステムソフトウェアにより処理要素ノードのいずれからもアクセスできることが好ましい。しかしながら、本発明の一つの実施例においては、システムソフトウェアはある処理要素ノードをフロー制御されない仮想メンテナンスチャネルによってアクセスすることを阻止することもできる。
【００１５】
　本発明によるマルチプロセッサコンピュータシステムの好ましい実施例において、フロー制御されない仮想メンテナンスチャネル内のルートの経路はデルタ値で規定される。フロー制御されないメンテナンスチャネル内において経路を選択するのに、より大きいフレキシビリティを可能にするためには、デルタ値は好ましくは各次元において１次と２次のデルタ値を有するように定義されることが好ましい。レスポンスパケットは典型的には、フロー制御されない仮想メンテナンスチャネル内において、対応するリクエストパケットによって選ばれたと同じ経路に追随する。
【００１６】
　マルチプロセッサコンピュータシステムは好ましくは各処理要素ノードにおいて、リード／ライトレジスタを含み、それらのレジスタはシステム動作に影響を与えない。この方法で、リード／ライトレジスタは、フロー制御されない仮想メンテナンスチャネルを介してあるルートが有効であることを検証するために、書込み及び読出しが行われる。
【００１７】
　マルチプロセッサコンピュータシステムの一つの実施例において、少なくとも一つのフロー制御された仮想チャネルは、２つの非サイクリック非適合仮想チャネルと一つの適合仮想チャネルを含む。２つの非サイクリック、非適合仮想チャネルはルーティング情報に基づいて、複数の処理要素ノード間の決定的仮想経路に沿って、通常のトラヒックパケットを格納するため各物理通信リンクに割当てられた第１および第２の形式の仮想チャネルバッファを含む。適合仮想チャネルは、ルーティング情報に基づいた複数の処理要素ノード間の決定的でない仮想経路に沿って通常のトラヒックパケットを格納するため、各通信リンクに割当てられた第３の形式の仮想チャネルバッファを含む。
【発明を実施するための最良の形態】
【００１８】
　好ましい実施例の以下の詳細な記述において、記述の一部をなすとともに本発明が実施される特定の実施例を図示する添付の図面が参照される。他の実施例も実用化できること、および構造的又は論理的な変更は本発明の範囲を逸脱することなしになしうることが理解されるべきである。それ故、以下の詳細な記述は限定的に解釈されるべきでなく、本発明の範囲は添付の請求項によって定義されている。
【００１９】
ＭＰＰシステム
　図１は全体が２０で示された大量並列処理（massively parallel processing：ＭＰＰ）システムの要素の簡略化されたモデルを図示している。ＭＰＰシステム２０は典型的には数百及至数千の処理要素ノード２２の如き処理要素ノードからなる。相互接続ネットワーク２４はＭＰＰシステム２０内の処理要素ノード間の通信経路を提供する。図１に示されたシステム２０のモデルにおいて、相互接続ネットワーク２４は矢印２６で示すようにｘ，ｙおよびｚ次元において処理要素ノードを接続する３次元の経路マトリックスを形成する。相互接続ネットワーク２４は処理要素ノードをＩ／Ｏゲートウエイ２８にも接続する。Ｉ／Ｏゲートウエイ２８は、ホストシステム（図示せず）又はＩ／Ｏサブシステム（図示せず）とＭＰＰシステム２０との間でシステムデータおよび制御情報を転送する。
【００２０】
　ホストシステムはＭＰＰシステム２０用のソフトウェアコンパイラを稼動させる。ＭＰＰシステム２０について書かれた全てのソフトウェアプログラムはホストシステム上でコンパイルされるが、ＭＰＰシステム２０内によって稼動される。単一のキャビネット構成において、ホストシステムはＭＰＰシステム２０の如き同一のキャビネット内に存在する。多キャビネット構成では、ホストシステムはＭＰＰシステム２０にケーブル接続された分離されたキャビネット内に存在する。
【００２１】
　図２は処理要素ノード２２と処理要素ノード２２の相互接続ネットワーク２４への接続のより詳細な図示である。処理要素ノード２２の如き各処理要素ノードは、典型的には処理要素３０、オプションとしてのブロック転送エンジン３２およびネットワークインターフェース３４を備える。処理要素ノード２２は１より多い処理要素３０を備えることができる。
【００２２】
　図３に示されるように、各処理要素３０はマイクロプロセッサ３８、ローカルメモリ４０および支援回路４２を備える。
【００２３】
　ＭＰＰシステム２０は、各処理要素がローカルメモリを含むので、物理的に分散されたメモリを含む。しかしながら、ＭＰＰシステムメモリは論理的には共有されてもよい。システムメモリは、ある一つの処理要素内のマイクロプロセッサがいま一つの処理要素のメモリをその処理要素内のマイクロプロセッサを巻込むことなくアクセスすることができる。
【００２４】
　ローカルメモリ４０は、好ましくはシステムデータを格納するためダイナミックランダムアクセスメモリ（ＤＲＡＭ）からなる。低潜在性の高帯域データ経路が処理要素３０内においてマイクロプロセッサをローカルメモリに接続する。
【００２５】
　支援回路４２は好ましくはマイクロプロセッサ３８の制御およびアドレス機能を拡張する。支援回路４２はデータ転送をローカルメモリ４０に対して行う。
【００２６】
　図２に戻って、オプションとしてのブロック転送エンジン（ＢＬＴ）３２はシステムデータを再分配する非同期の直接メモリアクセスコントローラである。ＢＬＴ３２は、ある処理要素３０内のローカルメモリと遠隔処理要素内のローカルメモリとの間でシステムデータを再分配する。ＢＬＴ３２は処理要素３０及至遠隔処理要素を中断させることなしにデータの再分配を可能とする。ＭＰＰシステム２０の他の好ましい実施例では、オプションとしてのＢＬＴ３２を含んでおらず、その代わりに処理要素のローカルメモリ間のデータブロックの移動を制御するシステムソフトウェアに依存する。
【００２７】
　ネットワークインターフェース３４は相互接続ネットワーク２４を介していま一つの処理要素ノード又はＩ／Ｏゲートウエイ２８に送られるべき情報をフォーマット化する。ネットワークインターフェース３４は他の処理要素ノード又はＩ／Ｏゲートウエイ２８からの入力情報を受信し、その情報を処理要素３０に仕向ける。
【００２８】
　相互接続ネットワーク２４は、データ通信，バリア／ユーレカ（ｅｕｒｅｋａ）同期、システム構成およびメンテナンスの目的のため全ての処理要素ノードを互いに接続する。ネットワーク挙動のモニタのための仕様は、相互接続ネットワーク２４内に組込むこともできる。データのルーティングは３つの仮想要素に分解されており、非サイクリック仮想ネットワーク、適合仮想ネットワークおよび非ブロック型仮想メンテナンスネットワークを含む。通常のデータトラヒックは非サイクリックおよび適合ネットワーク上で伝送される。以下で詳細に記述するように、非サイクリックネットワークはデッドロックを回避することについて責任をもち、適合ネットワークは適合ルーティングを許容する。非サイクリックネットワーク内の可能なサイクルは以下に述べるように、指向順ルーティングと仮想チャネルの組合せによって壊される。メンテナンストラヒックは仮想メンテナンスネットワーク上を移動する。
【００２９】
　相互接続ネットワーク２４は図２に示したネットワークルータ３６の如き複数のネットワークルータを備える。ブート時において、すべてのルータは保全ワークステーションもしくは他のブート装置に接続された処理要素ノードにおいて開始される成長プロセスを介して構成され、初期化されなければならない。更に、相互接続ネットワーク２４は各次元の各方向に物理通信リンクを備える。Ｘ次元通信リンク４４はＸ次元のノードを接続する。Ｙ次元通信リンク４６は、ｙ次元のノードを接続する。Ｚ次元通信リンク４８はｚ次元における処理要素ノードを接続する。各次元における代表的な通信リンクが図１に示されている。図２にも−Ｘ方向の通信リンク４４ａ，＋Ｘ方向の通信リンク４４ｂ、−Ｙ方向の通信リンク４６ａ，＋Ｙ方向の通信リンク４６ｂ、−Ｚ方向の通信リンク４８ａおよび＋Ｚ方向の通信リンク４８ｂを示している。
【００３０】
　通信リンク４４，４６および４８は相互接続ネットワーク内のネットワークルータ間にデータおよび制御情報を転送する。通信リンクは典型的には２つの単一方向チャネルを備える。リンク内の各チャネルは好ましくはデータ，物理ユニット（ｐｈｉｔ）型式、仮想チャネル選択および仮想チャネル認識の諸信号を含む。データ信号は好ましくはリクエスト情報もしくはレスポンス情報のいずれか一方を担持する。リクエスト情報は、あるノードにある動作を実行することを要求する情報を含む。例えば、ソースノードは行先ノード内のメモリからデータを読み出すために行先ノードへのリクエストを送る。このリクエストは通信リンク内のあるチャネルを介して送られる。レスポンスはある動作の結果である情報を含む。例えば、データを読むリクエストを受信した後、行先ノードはソースノードに対してレスポンスを返送する。そのレスポンスは読み出されたデータを含む。リクエストとレスポンスは好ましくはデッドロックを避けるため、論理的に分離されている。リクエストとレスポンスの論理的分離は以下に記述される。
【００３１】
　相互接続ネットワーク２４は好ましくは２方向トーラスに処理要素ノードを接続する。図４はｘ，ｙおよびｚ次元における３次元トーラスネットワークを有するＭＰＰシステム２０の好ましい実施例を示す。３−Ｄトーラス内の各処理要素ノードはｘ，ｙおよびｚ次元の＋および−の両方向に通信リンクを有する。本明細書における他のダイヤグラムのいくつかは３次元ネットワーク接続を示している。明瞭化のため、これらの他のダイヤグラムでは各次元におけるトーラスを完成する通信リンクは図示されていない。
【００３２】
　トーラストポロジイにおいて、リングが各次元において形成され、ここで情報は一つのノードから同じ次元の全てのノードを通って最初のノードに転送される。トーラスネットワークは情報の転送のスピードを増加する等のネットワーク通信のための幾つかの利点を提供する。トーラスネットワークのいま一つの利点はネットワーク回りの長い経路に情報を送ることによって悪い通信リンクを回避する能力である。
【００３３】
　情報は通信リンク上の処理要素ノード間において、パケットの型式で転送される。各パケットは好ましくはヘッダを有する。このヘッダはネットワークを介してパケットの方向付けを行うルーティング情報、どの処理要素がパケットを受け取るべきかを指示する行先情報およびパケットを受信した処理要素にある動作を実行することを指示する制御情報を含む。ヘッダは、また、どの処理要素がパケットを生成したかを示すソース情報を含むとともに、メモリアドレスの情報を含むことができる。パケットはオプションとしてボディを備える。パケットのボディは典型的には処理要素ノード間で転送されるべきデータ、もしくはホストシステムからあるいはホストシステムへのシステムデータを含む。
【００３４】
　各処理要素ノードにおけるネットワークルータ３６の如きネットワークルータは、各パケットの各ヘッダに含まれるルーティング情報に基づいて相互接続ネットワーク２４内の通信リンクを通して、通常トラヒックのパケットを転送する。ヘッダとボディは可変のリンクを有し、１回に１フィット（ｐｈｉｔ）を通信リンクを介して転送する。ＭＰＰシステム２０は本明細書の発明の背景において説明した如きウォームホールルーティングを使用し、そこではルーティング情報はヘッダフリットに含まれており、残りのフリットはノーマルトラヒックの流れを制御するために、列車のようにその後に続く。ノード間の通常トラヒックのフロー制御はパケット対パケットのベースというよりは、フリット対フリットベースで達成され、従って受信処理要素ノード内のバッファスペースの不足により、パケットがリンクを横切って部分的に伝送されるとともにブロックされることが可能となる。上記したように本発明の好ましい実施例は、双方向３Ｄトーラスネットワークであり、このネットワークはデッドロック状況を更に複雑化する。
【００３５】
ノーマルトラヒックについての適合ルーティング構造
共通の物理通信リンクを横断して多重化された仮想チャネルを利用する非サイクリック適合仮想ネットワーク上に相互接続ネットワーク２４を介して、通常データトラヒックのパケットをルーティングする好ましい適合ルーティング構造は、“トーラス相互接続ネットワークのための適合ルーティング構造”と題する１９９５年４月１３日に出願され、現在、継続中でかつ本願と同じく譲渡された米国特許出願番号０８／４４１，５６６に詳細に記述されている。ＭＭＰシステム２０は好ましくは仮想チャネルＣ１の第１のサブセットを用いた通常のトラヒックのための適合ルーティング構造を利用する。Ｃ１仮想チャネルは全てのノードの間に非適合デッドロックフリーのルーティングを備える。Ｃ１仮想チャネルが相互接続ネットワーク２４の非サイクリック仮想ネットワーク要素を形成する。
【００３６】
　仮想チャネルの第２の型式はＮＣ１仮想チャネルである。ＮＣ１チャネルは最小の完全な適合ルーティングを備える。ＮＣ１仮想チャネルは相互接続ネットワーク２４の適合仮想ネットワーク要素を形成する。ＮＣ１仮想チャネルはパケットがＮＣ１チャネル内で自由にルート付けされるので、そのチャネルに依存する図形においてサイクルをもつことができる。ＮＣ１仮想チャネル内において、デッドロックであるという決定が任意の時刻になされたならば、パケットはあるＣ１仮想チャネルへジャンプすることができなければならない。
【００３７】
　図５は各ネットワークの物理チャネルもしくは物理通信リンクについて利用される仮想チャネルを示している。２つの仮想チャネル５０と５２がＣ１仮想リクエストネットワークとして使用される。仮想チャネル５０はｖｃ０型式の仮想チャネルであり、仮想チャネル５２はｖｃ１型式の仮想チャネルである。同様に、レスポンスＣ１仮想ネットワークは２つの仮想チャネル５４と５６を備える。仮想チャネル５４はｖｃ０型式の仮想チャネルであり、仮想チャネル５６はｖｃ１型式の仮想チャネルである。第３の仮想チャネルｖｃは適合ＮＣ１仮想チャネル５８であり、リクエストおよびレスポンスの両方のネットワークにおける適合ルーティングを提供する。図５に示された好ましい実施例は一つのＮＣ１チャネルを使用しているが、個別のＮＣ１チャネルを両方のリクエストおよびレスポンス仮想ネットワークとして使用することもできる。通常トラヒックとして使用される仮想チャネルに加えて、仮想メンテナンスチャネル６０がメンテナンストラヒックを搬送するために使用される。仮想メンテナンスチャネル６０は相互接続ネットワーク２４の非ブロック型仮想メンテナンスネットワーク部分を形成し、それについては以下に詳細に記述される。
【００３８】
　図６を参照して、各ノードはローカルな処理要素（ＰＥ）と同様６方向（＋Ｘ，−Ｘ，＋Ｙ，−Ｙ，＋Ｚ，−Ｚ）の各々について入力と出力を有する。図６のブロックダイヤグラムは仮想チャネルを用いた３ＤリクエストまたはレスポンスＣ１ネットワークにおける切り替えを示している。仮想チャネルのバッファは物理通信リンクの受信端における処理ノードの入力に位置する。各物理通信リンク上の送信ノードは反対方向のリンク上に送られるフロー制御情報を用いて受信処理要素ノードにおける各仮想チャネルについての利用可能なバッファスペースのトラックを維持する。
【００３９】
　いずれの時にもＣ１仮想チャネル内のパケットはそのパケットをその目的地により近付けるように（最小限）移動させるパケットの現在のノードにおけるＮＣ１仮想チャネルのいずれに入れてもルート化できる。ＮＣ１仮想チャネル内のパケットはその現在ノードにおけるいかなるＮＣ１チャネルへも最小限ルート化することができる。ＮＣ１チャネル内のパケットはいつの時にでもＣ１チャネルへルート化できる。Ｃ１仮想チャネルネットワークに再侵入するに際して、現在ノードの仮想チャネルのルックアップテーブルを用いて決定的Ｃ１ルーティングアルゴリズムに従ってある物理的かつ仮想のチャネル上にルート化する。リクエストもしくはレスポンスＣ１仮想チャネルネットワークのいずれか一方において、ｖｃ０仮想チャネルもしくはｖｃ１仮想チャネル上でパケットのルートを開始するために選択し、かつパケットのルートの間、仮想チャネルを変えることの決定は正確性と挙動性の両方に影響する。まず、第１に考慮すべきものは正確性である（すなわち、ｖｃ０とｖｃ１の間の仮想チャネルの割当てはデッドロックを防がなければならない）。
【００４０】
　Ｃ１仮想チャネル内におけるデッドロックを防ぐために以下の３つのステップが実行される。第１にリクエストおよびレスポンスパケットは仮想チャネルの分離したセット上にルート化される。このことはリクエストおよびレスポンストラヒック間のいかなるサイクルをも分断する。第２に方向順ルーティングが多重方向を含むいかなるサイクルをも分断するために、好ましくは使用される。換言すれば、パケットは所定の方向順位、例えば（＋Ｘ，＋Ｙ，＋Ｚ，−Ｘ，−Ｙ，−Ｚ）のようにルート化される。例えば、上記のように決められた方向順序を用いると＋Ｘ，−Ｙ，＋Ｚの目的地のためのルートは最初に＋Ｘ、次いで＋Ｚ、そして−Ｙのようにルート化される。方向順ルーティングは“マルチプロセッシングシステムにおける方向順ルーティング”と題する米国特許第５，５３３，１９８に詳細に記述されている。
【００４１】
　デッドロックを防ぐ第３のステップは各リング内におけるサイクルを分断するため、２つの仮想チャネル（ｖｃ０とｖｃ１）の使用である。この第３のステップは挙動を最適化するため種々の方法で達成することができる。仮想チャネル割当ての好ましい方法は“平行処理システムにおける最適化仮想チャネル割当て”と題する１９９５年４月１３日に出願され、現在継続中で共通に譲渡された米国特許出願番号０８／４２２，０７２に詳細に記述されている。ｖｃ０もしくはｖｃ１仮想チャネルはリング上のパケットの行先（対応する次元における行先ノードの座標）に基づいて仮想チャネルルックアップテーブル３７（図２に示される）に格納されたルーティング情報を返してパケットがあるリング上にルーティングされ始めた時に選択される。各処理要素ノードはその６方向の各々について小さいシステムで形成可能な仮想チャネルルックアップテーブル３７を有する。上記した“トーラス相互接続ネットワークのための適合ルーティング構造”と題する上記の現在継続中で共通に譲渡された米国特許出願番号０８／４４１，５６６に詳細に記述されたＣ１とＮＣ１との間のルーティングのための好ましいルーティング構造はＮＣ１チャネルについて以下の制限を設けている：
【００４２】
　そのチャネルのバッファが全体のパケットを保持する余地をもたない限り、いかなるパケットもＮＣ１チャネルに入ることはできない。この制限はいかなるパケットもＮＣ１チャネル内において異なるチャネルバッファのヘッドをその後部でブロックすることができないため、ＮＣ１チャネル内におけるデッドロックの発生を防止する。あるＮＣ１チャネルバッファの全部にそのヘッドが位置するパケットはＣ１仮想チャネル内にいつでもルート化することができるのでＮＣ１仮想ネットワークのデッドロックは不可能である。更にこの制限はＣ１チャネル間における間接的な依存性を排除する。ＮＣ１に侵入するいかなるパケットもそのチャネルのバッファがパケット全体を保持する余地を持たない限り、いかなるパケットもＮＣ１仮想チャネルに入ることができないため、第１のＮＣ１チャネルバッファによってその全体が受け入れられる。それ故、パケットはＣ１からＮＣ１およびその逆のルート化はできず、従って第１のＣ１チャネルバッファにおけるバッファスペースを消費するパケットの後部でブロックすることができない。その結果好ましいルーティング構造は任意の相互接続ネットワークトポロジイを通してパケットをルート化するのに用いることができ、そのトポロジイについてデッドロックフリーの決定的ルーティングアルゴリズムがＣ１チャネル上に構成される。好ましくは上記したようにデッドロックフリーの決定的ルーティングアルゴリズムはリクエストネットワークとして割当てられた２つの仮想チャネルおよびレスポンスネットワークとして割当てられた２つの仮想チャネルを有する方向順ルーティングスキームである。
【００４３】
　ＭＰＰシステム２０はノーマルトラヒックについてソースから行先ノードへ３次元全てにおける絶対アドレス付けを用いる。あるいは、ＭＰＰシステム２０はノーマルトラヒックについて差分アドレス付けを使用することができ、その場合、行先アドレスはソースノーマルにおいて計算され、それが行先ノードに到達したときに０にデクリメントあるいはインクリメントされる。
【００４４】
仮想メンテナンスネットワーク
上記したようにＭＰＰシステム２０は通常のトラヒックを実行するために使用される非サイクリック適合型仮想ネットワークに加えて、メンテナンストラヒックを実行するため図５に示されたようなフロー制御されない仮想メンテナンスチャネル６０を備えた非ブロック型仮想メンテナンスネットワークを利用する。図５に示された実施例において、通常トラヒックを実行するための５つの仮想チャネルと仮想メンテナンスチャネル６０が各ネットワークの物理通信リンクに割当てられている。この方法で、仮想メンテナンスチャネル６０は通常のトラヒックを遂行する仮想チャネルと同じ物理通信リンク（すなわち、配線）を共有する。
【００４５】
　仮想メンテナンスチャネル６０はあるネットワークのレジスタを初期化するといったシステムの初期化動作のために利用される。仮想メンテナンスチャネル６０はＭＰＰシステム２０を構成するために利用される。ＭＰＰシステム２０の不具合のあるネットワークの故障の同定の如き診断は仮想メンテナンスチャネル６０を通じて行われる。更に、ハードウエアモニタリング、エラー監視、及び挙動モニタの如きモニタ機能は仮想メンテナンスチャネル６０上で行われる。
【００４６】
　通常のデータトラヒックを遂行する仮想チャネルのバッファはＲＡＭセル内に存在する。対照的に仮想メンテナンスチャネル６０のバッファは通常のトラヒックの上記適合型ルーティングに使用されるＲＡＭセルから完全に分離されたフリップフロップレジスタ内に典型的に設けられる。このようにして、メンテナンストラヒックは通常のデータトラヒックを破壊することはない。
【００４７】
　システムソフトウェアは仮想メンテナンスチャネル６０によって形成される仮想メンテナンスネットワークを通してメンテナンストラヒックをルーティングするための特殊なルーティング機構を用いる。第１に仮想メンテナンスチャネル６０は通常のトラヒックを遂行する全ての仮想チャネルより高い優先度が与えられる。その結果、メンテナンスデータパケットと通常のデータパケットの間に衝突が存在する時には、メンテナンス操作が物理通信リンクへのアクセスが常に与えられる。第２に特定のルーティングはフロー制御されておらず、従ってメンテナンストラヒックのパケットを送信するのに先立つバッファ問題の可能性について何らのチェックが実行されることはない。もしも、２つのメンテナンストラヒックデータパケットが衝突した場合、メンテナンスデータパケットの一方は他方のメンテナンスデータパケットに上書きされる。このようにして、フロー制御されない仮想メンテナンスチャネル６０ではソフトウェアは衝突を生ずるようなトラヒックが送られることはないことを保証しなければならない。メンテナンスパケット間の可能な衝突のソフトウェア制御は上記のメンテナンス操作によって、解決されるべき重要な挙動は一般には存在しないので、深刻な問題をもたらすことはない。
【００４８】
　このフロー制御されないトラヒックの利点は、メンテナンストラヒックがフロー制御されないとすると、トラヒックは可能なバッファ問題をチェックすることなく、行先ノードに単に送られるだけであるので依存性における変化は何ら存在しないため、デッドロックは発生し得ないということである。換言すれば、特定のルーティング構造は非ブロック型ネットワークを通してメンテナンスパケットを転送する。非ブロック型ネットワークは可能なデッドロック条件からフリーであるが、もしも２つのメンテナンス情報のパケットが同時に同じネットワークルータ部にアクセスした場合、１つのパケットは他方のパケットに上書きされるであろう。
【００４９】
　仮想メンテナンスチャネル６０内において使用される特定のルーティングは、相互接続ネットワークを通して情報のパケットをルート付けするために、デルタ値を利用する。デルタ値は、システムソフトウェアが、物理処理要素ノードへ、その処理要素ノードに対して物理ノード数が割当てられるのに先立って、情報を送ることを可能とする。
【００５０】
　仮想メンテナンスネットワークの一つの実施例では特殊なルーティングが特殊なゲット（ＳＧＥＴ）コマンドを用いることによって実行され、その特殊なルーティングはある特定のルーティングレジスタからプロセッサのレジスタへデータを転送する。ＭＰＰシステム２０内の特殊ルーティング用レジスタはルーティングルックアップテーブル、リセットスイッチ、レジスタ支援回路、特別なリード／ライトレジスタシステムのステート／制御レジスタ等を含む。本発明の一つの実施例では、図３に示されるマイクロプロセッサ３８の如きマイクロプロセッサそれ自身の中に含まれている。いま一つの実施例では、プロセッサレジスタは、マイクロプロセッサの外部であって、図３に示す支援回路４２の如き処理要素支援回路内のスタティックＲＡＭ（ＳＲＡＭ）のセル内に設けられる。
【００５１】
　ＳＧＥＴコマンドに加えて特殊ルーティングは、あるプロセッサレジスタから特殊ルーティング用レジスタの一つにデータを転送するのに使用される特殊プット（ＳＰＵＴ）コマンドを使用する。本発明による仮想メンテナンスネットワークの好ましい実施例においては、６個のデルタ値が特殊ルートの経路を規定する。各デルタ値は正か負である。この６個のデルタ値は以下の通りである：
　　　　　１．１次ΔＸ値
　　　　　２．１次ΔＹ値
　　　　　３．１次ΔＺ値
　　　　　４．２次ΔＸ値
　　　　　５．２次ΔＹ値
　　　　　６．２次ΔＺ値
【００５２】
　相互接続ネットワーク２４において、ある通信リンクを介する情報の転送はホップ（ｈｏｐ）と呼ばれる。仮想メンテナンスネットワーク内の特殊ルーティング経路を追従する場合、メンテナンス情報は、デルタ値と同じ数のホップを作る。
【００５３】
　例えば、１次デルタＸ値が＋３に設定されている場合、メンテナンス情報は正のＸ方向に３つのホップを生成する。更に、特殊ルーティング経路を追従する場合、メンテナンス情報は上記のリストに示された順序で各次元を移動する。
【００５４】
　図７は、３６ノードのＭＰＰシステムにおいて、ソースノードから行先ノードに相互接続ネットワーク２４を通る複数の可能な特殊ルーティング経路の一つを示している。明瞭化のため図７はＭＰＰシステム内の通信リンクの全てを示すものではない。この図示された例について、デルタ値は以下の如くに設定されている。
　　　　　１次ΔＸ値＝０
　　　　　１次ΔＹ値＝＋２
　　　　　１次ΔＺ値＝＋１
　　　　　２次ΔＸ値＝＋１
　　　　　２次ΔＹ値＝−１
　　　　　２次ΔＺ値＝＋１
【００５５】
　図７に図示された特殊ルーティング経路は、ソースノード７０から行先ノード８０へのものである。第１に、１次ΔＸ値が０であるので、パケットは最初Ｘ次元において移動しない。１次ΔＹ値が＋２であるので、メンテナンスパケットはＹ次元において＋２だけ移動し、ノード７２に至る。１次ΔＺ値は＋１であるのでメンテナンスパケットはＺ次元において＋１だけ移動してノード７４に至る。２次ΔＸ値は＋１であるので、メンテナンスパケットはＸ方向において＋１だけ移動し、ノード７６に至る。２次ΔＹ値は−１であるので、メンテナンスパケットはＹ次元において−１移動し、ノード７８に至る。最後に、２次ΔＺ値は＋１であるので、メンテナンスパケットはＺ次元において＋１移動し、行先ノード８０に達する。
【００５６】
　各次元における２次Δ値はシステムソフトウェアに対してより可能性のある経路を与える。この方法でシステムソフトウェアにはある与えられた特殊ルート経路を選択するに際して十分なフレキシビリティが与えられる。仮想メンテナンスネットワークの好ましい実施例において、リクエストとレスポンスは同じ経路上にある。その結果、あるリクエスト経路が特定され、更に承認されると対応するレスポンス経路も特定され、かつ、承認される。上に述べた如く、特殊ルーティング用レジスタは好ましくはシステムメンテナンス、システムステート又はシステム制御条件を指示するのには使用されないリード／ライトレジスタを含む。これらのリード／ライトレジスタは、ＭＰＰシステム内において２つのノード間の選択された接続経路が存在することを検証するために使用される。換言すれば、あるリード／ライトレジスタの状態はＭＰＰシステム２０に何ら影響を与えないが、そのリード／ライトレジスタには特殊ルーティング経路が完成されたことを検証するために書き込まれ、次いで読み出される。
【００５７】
　仮想メンテナンスネットワークは、システム内のいかなる処理要素ノードからもシステムソフトウェアを介してアクセスすることができる。しかしながら、その処理要素ノードが誤動作した時には、その処理要素ノードを除外することを許容する特殊な仕様が含まれている。
【００５８】
　以下には、ソースノードが行先ノードのネットワークルータＳＧＥＴリターンレジスタにある値を書き込むための特殊ルーティングの一例が示され、行先ノードは上記ＳＧＥＴリターンレジスタ内に格納された値をＳＧＥＴレスポンスパケットについてのデルタ値として利用する。まず、ソースノード内の処理要素は行先ノードのＳＧＥＴリターンレジスタについての値をソースプロセッサレジスタに格納する。次に、ソースノード内の処理要素はＳＰＵＴコマンドを発する。ＳＰＵＴコマンドを発行する一方、ソースノードの処理要素はＳＰＵＴコマンドパケットのルーティングのためのデルタ値、ＳＧＥＴリターンレジスタのアドレス及びソースプロセッサレジスタ数を生成する。更に、ソースノード内のネットワークルータはＳＰＵＴコマンドパケットを生成し、そのＳＰＵＴパケットを非ブロック型仮想メンテナンスネットワークを介して行先ノードに送信する。次いで、行先ノードのネットワークルータはＳＰＵＴパケットを受信し、ＳＧＥＴリターンレジスタ内にデルタ値を格納する。
【００５９】
　特殊ルーティングのいま一つの実施例では、ソースノードが行先ノードのネットワークルータソフトウェアレジスタから値を読み取る。システムソフトウェアは、ＭＰＰシステムのノード形状を決定する一方、ソフトウェアレジスタに値を書き込む。システムソフトウェアは、システムハードウエアに影響を与えることなく、ソフトウェアレジスタにいかなる値をも書き込むことができる。
【００６０】
　第１に、ソースノード内の処理要素がＳＧＥＴコマンドを発行する。ＳＧＥＴコマンドを発行する一方、ソースノード内の処理要素はＳＧＥＴコマンドパケットを行先ノードに対してルーティングするためのデルタ値、ソフトウェアレジスタのアドレス及びソースノード内の行先プロセッサレジスタ番号を生成する。第２に、ソースノード内のネットワークルータはＳＧＥＴリクエストパケットを生成し、そのＳＧＥＴリクエストパケットを非ブロック型仮想メンテナンスネットワークを介して、行先ノードに送信する。第３に、行先ノード内のネットワークルータはソフトウェアレジスタから値を読み取って、ＳＧＥＴレスポンスパケットを生成するため、ＳＧＥＴリターンレジスタ内にその値を格納する。第４に、ネットワークルータ及び行先ノードは非ブロック型仮想メンテナンスネットワークを介してＳＧＥＴレスポンスパケットをソースノードに送信する。第５に、ソースノードはソフトウェアレジスタからの値をソースノード内の行先プロセッサレジスタに格納する。
【００６１】
　上記した本発明の仮想メンテナンスネットワークは、仮想メンテナンスネットワークの非ブロック型の性質の故にデッドロックを回避することができる。仮想メンテナンスネットワークはいかなる背圧も作用しないので、非ブロック性である。従って、仮想メンテナンスネットワーク上の衝突は、パケットの喪失をもたらす。しかしながら、このような衝突は仮想メンテナンスネットワーク上で共通なメンテナンスパケットを含む。上に述べたように、仮想メンテナンスネットワークは通常のトラヒックパケットをバッファするためのＲＡＭから分離されたメンテナンスパケットバッファ用のフリップフロップレジスタを用い、かくしてシステムソフトウェアは衝突するトラヒックがメンテナンス仮想ネットワークを介して送られないことを保証することのみが必要である。更に、通常の操作は仮想メンテナンスネットワークが同じ物理通信リンクをフロー制御された仮想ネットワークとして利用する場合にも、通常のトラヒックフロー制御された仮想ネットワーク上で仮想メンテナンスネットワーク上で実行されるメンテナンス操作と同時に実行される。
【００６２】
　上に述べたように、１次および２次のデルタ値がある与えられたソースノードからある与えられた行先ノードへメンテナンスパケットをルーティングするための数多くの可能な経路を提供する。典型的には、システムソフトウェアはフロー制御されない仮想メンテナンスチャネルを介してメンテナンスパケットをソースノードから行先ノードにルーティングする初期経路を選択する。ある選択された時間の後、パケットが初期選択された経路上で成功裡にルート付けされないときには、別の経路がフロー制御されない仮想メンテナンスチャネル６０を介してソースノードから行先ノードにそのメンテナンスパケットをルート化するためのシステムソフトウェアによって選択される。この再試構造がメンテナンスパケットを未発見の破断の物理通信リンクを迂回してルート付けするのに利用することができる。
【００６３】
結論
　本発明によるＭＰＰシステム２０は、システムの初期化、診断及び他のメンテナンス機能を実行するため、非ブロック型、フロー制御されない仮想メンテナンスネットワークを含む。この特殊な非ブロック型仮想メンテナンスネットワークは、通常のトラヒックを遂行するフロー制御された仮想チャネルと同じ物理通信リンクを共有する非ブロック型仮想メンテナンスチャネルはフロー制御された仮想チャネルより高い優先度が与えられている。この方法では、メンテナンス機能のためだけに用いられる特殊な物理通信リンク（すなわち、配線）は、消去することができる。分離されたバッファが仮想メンテナンスチャネルとして使用されるので、メンテナンス操作は通常のトラヒック操作と同時に実行することができる。更に、本発明の好ましい実施例においては、ＭＰＰシステムが構成されていない場合にも仮想メンテナンスネットワークを介して、経路を選択する際の優れたフレキシビリティを与えるために仮想メンテナンスネットワーク内において、特殊なルーティング経路を指定するのに、一次及び二次のデルタ値が使用される。更に、レスポンスメンテナンスパケットがその対応するリクエストメンテナンスパケットと同じルートを追随することができるように用意がなされている。
【００６４】
　好ましい実施例の記述の目的で、特定の実施例が図示され、かつ、記述されたが、当業者において、同じ目的を達成するべく計算された種々の代替的もしくは等価な装置は本発明の範囲から逸脱することなくここに図示され、かつ、記述された特別の実施例に代えることができる、ということが理解されるべきである。
【００６５】
　機械的、電気機械的、電気的及びコンピュータ技術に係る当業者は本発明を極めて広い種々の実施例として実行することができるということが理解される。この出願は、ここに議論された好ましい実施例のいかなる好適化、若しくは変更をカバーするものとして意図されている。従って、この発明は請求の範囲及びその均等物によってのみ制限されるものとして意図されている。
【図面の簡単な説明】
【００６６】
【図１】図１は、大量平行処理（ＭＰＰ）システムのダイヤグラムである。
【図２】図２は、図１のＭＰＰシステムについて処理要素ノードと相互接続ネットワーク要素のダイヤグラムである。
【図３】図３は、図１のＭＰＰシステムについての処理要素構成のダイヤグラムである。
【図４】図４は、３次元のトーラスネットワークトポロジィを有するＭＰＰシステムのダイヤグラムである。
【図５】図５は、図１のＭＰＰシステムの好ましい実施例の各ネットワーク物理通信リンク又はチャネルについて通常のトラヒックとメンテナンストラヒックに利用される仮想チャネルを示すダイヤグラムである。
【図６】図６は、仮想チャネルを用いた３−Ｄネットワークにおける切り替え構造のブロックダイヤグラムである。
【図７】図７は、仮想メンテナンスネットワーク上の例示的な特別ルートを示すＭＰＰシステムのダイヤグラムである。
【符号の説明】
【００６７】
　２０…ＭＰＰシステム
　２２…処理要素ノード
　２６…相互接続ネットワーク
　２８…Ｉ／Ｏゲートウエイ
　３０…処理要素
　３２…ブロック転送エンジン
　３４…ネットワークインターフェース
　３８…マイクロプロセッサ
　４０…ローカルメモリ
　４２…支援回路
　４４…Ｘ次元通信リンク
　４６…Ｙ次元通信リンク
　４８…Ｚ次元通信リンク
【図１】
2004118855.tif 000003
【図２】
2004118855.tif 000004
【図３】
2004118855.tif 000005
【図４】
2004118855.tif 000006
【図５】
2004118855.tif 000007
【図６】
2004118855.tif 000008
【図７】
2004118855.tif 000009