(57)【特許請求の範囲】
【請求項１】
大型並列処理システムであって、
複数の処理要素ノードと、
スケーラブルな相互接続ネットワークとより成り、
相互接続ネットワークは、
複数の物理的通信リンクと、
複数の処理要素ノードをクラスタを形成するように相互接続するための複数の第１レベルルータと、
第１のクラスタの各ルータが１またはそれ以上のメタルータを介して他の全てのクラスタに接続されるように複数の第１レベルルータを相互接続する１またはそれ以上のメタルータとより成り、
１つのメタルータが複数の第１レベルルータのうちの１つの第１レベルルータに結合される場合はその１つのメタルータは２未満の他のメタルータにも結合され、そうでなければその１つのメタルータは２つのメタルータに結合されることを特徴とする大型並列処理システム。
【請求項２】
各クラスタは二次元ハイパーキューブである請求項１の大型並列処理システム。
【請求項３】
各メタルータは８ポートのルータである請求項１の大型並列処理システム。
【請求項４】
各メタルータは４ポートのルータである請求項１の大型並列処理システム。
【請求項５】
各処理要素ノードは４個のプロセッサより成る請求項１の大型並列処理システム。
【請求項６】
大型並列処理システムであって、
複数のプロセッサと、
複数のプロセッサを二次元ハイパーキューブとして相互接続する第１組のルータと、
第１組のルータを相互接続する第２組のルータとより成り、
ハイパーキューブは、システムが拡張されてもそのままの状態を維持し、
第２組のルータのうち全部のルータより少ないルータが第１組のルータのうちの１つのルータに結合されていることを特徴とする大型並列処理システム。
【請求項７】
第２組のルータの各ルータは８ポートのルータである請求項６の大型並列処理システム。
【請求項８】
第２組のルータの各ルータは４ポートのルータである請求項６の大型並列処理システム。
【請求項９】
各処理要素ノードは４個のプロセッサより成る請求項６、７または８の大型並列処理システム。
【請求項１０】
複数の処理要素ノードを接続するスケーラブルなマルチプロセッサネットワークであって、
複数のプロセッサを二次元ハイパーキューブとして相互接続する第１の手段と、
第１の手段を相互接続する第２の手段とより成り、
ハイパーキューブの構成は、マルチプロセッサネットワークにさらに別の処置要素ノードが付加されてもそのままの状態を維持し、
全部より少ない第２の手段が第１の手段の１つのルータに結合されていることを特徴とするスケーラブルなマルチプロセッサネットワーク。
【請求項１１】
スケーラブルなマルチプロセッサネットワークは１２９乃至１６０個の処理要素ノードを接続する請求項１０のスケーラブルなマルチプロセッサネットワーク。
【請求項１２】
スケーラブルなマルチプロセッサネットワークは１６１乃至１９２個の処理要素ノードを接続する請求項１０のスケーラブルなマルチプロセッサネットワーク。
【請求項１３】
スケーラブルなマルチプロセッサネットワークは１９３乃至２２４個の処理要素ノードを接続する請求項１０のスケーラブルなマルチプロセッサネットワーク。
【請求項１４】
スケーラブルなマルチプロセッサネットワークは２２５乃至２５６個の処理要素ノードを接続する請求項１０のスケーラブルなマルチプロセッサネットワーク。
【請求項１５】
スケーラブルなマルチプロセッサネットワークは最大２８８個の処理要素ノードを接続する請求項１０のスケーラブルなマルチプロセッサネットワーク。
【請求項１６】
スケーラブルなマルチプロセッサネットワークは最大３２０個の処理要素ノードを接続する請求項１０のスケーラブルなマルチプロセッサネットワーク。
【請求項１７】
スケーラブルなマルチプロセッサネットワークは最大３５２個の処理要素ノードを接続する請求項１０のスケーラブルなマルチプロセッサネットワーク。
【請求項１８】
スケーラブルなマルチプロセッサネットワークは最大３８４個の処理要素ノードを接続する請求項１０のスケーラブルなマルチプロ  セッサネットワーク。
【請求項１９】
スケーラブルなマルチプロセッサネットワークは最大４１６個の処理要素ノードを接続する請求項１０のスケーラブルなマルチプロセッサネットワーク。
【請求項２０】
スケーラブルなマルチプロセッサネットワークは最大４４８個の処理要素ノードを接続する請求項１０のスケーラブルなマルチプロセッサネットワーク。
【請求項２１】
スケーラブルなマルチプロセッサネットワークは最大４８０個の処理要素ノードを接続する請求項１０のスケーラブルなマルチプロセッサネットワーク。
【請求項２２】
スケーラブルなマルチプロセッサネットワークは最大５１２個の処理要素ノードを接続する請求項１０のスケーラブルなマルチプロセッサネットワーク。
【請求項２３】
スケーラブルなマルチプロセッサネットワークは５１２個より多い処理要素ノードを接続する請求項１０のスケーラブルなマルチプロセッサネットワーク。
【請求項２４】
複数の処理要素ノードを接続するスケーラブルなマルチプロセッサネットワークであって、 
複数の処理要素ノードをn次元ハイパーキューブとして相互接続する第１組のルータと、 
第１組のルータを相互接続する第２組のルータとより成り、
n次元ハイパーキューブの構成は、マルチプロセッサネットワークにさらに別の処置要素ノードが付加されてもそのままの状態を維持し、
第１組のルータのうちの任意の１つに直接結合された第２組のルータのうちの１つのルータは第２組のルータのうちの２未満の他のルータにも直接結合され、第１組のルータのうちの任意の１つに直接結合されていない第２組のルータのうちの別の１つのルータは第２組のルータのうちの３未満のルータに直接結合されていることを特徴とするスケーラブルなマルチプロセッサネットワーク。
【発明の詳細な説明】
【０００１】
【発明の分野】
本発明は、一般的に、高速デジタルデータ処理システムの分野に関し、さらに詳細には、マルチプロセッサコンピュータシステムの処理要素ノードを相互接続する相互接続トポロジーに関する。
【０００２】
【発明の背景】
マルチプロセッサコンピュータシステムは、多数の処理要素ノードが相互接続ネットワークにより接続されたものである。各処理要素ノードは、少なくとも１つの処理要素を有する。相互接続ネットワークは、情報またはメッセージのパケットを処理要素ノード間で伝送する。最大で数百または数千個の処理要素ノードを有するマルチプロセッサコンピュータシステムは、通常、大型並列処理（ＭＰＰ）システムと呼ばれる。典型的なマルチプロセッサＭＰＰシステムでは、各処理要素は、別の（遠隔の）処理要素のメモリを含む全てのメモリに対して、その処理要素のプロセッサを関与させずに、直接アドレスすることができる。別の処理要素のメモリからの読み出しまたは書き込みは、処理要素から遠隔のメモリへの通信を入出力動作として取り扱わないで、ローカルメモリからの読み出しまたは書き込みと同じように行われる。かかるマルチプロセッサＭＰＰシステムでは、種々のプロセッサ間の通信をサポートするインフラストラクチャがＭＰＰシステムの性能に大きな影響を与えるが、その理由は、プロセッサ間で必要とされる通信レベルのためである。
【０００３】
リング、スター、メッシュ、ハイパーキューブまたはトーラストポロジーのような幾つかの異なるトポロジーが、かかるＭＰＰシステムの種々のプロセッサを相互接続するために提案されている。例えば、従来型ハイパーキューブネットワークでは、複数のマイクロプロセッサがｎ次元キューブの形に配列されるが、そのネットワークのノードの数ｋは２ｎに等しい。このネットワークでは、各ノードが複数の通信経路を介して他の各ノードに接続される。ネットワーク上の任意の１つのノードから他の任意のノードへの最長通信経路であるネットワーク直径は、ｎリンクである。
【０００４】
現在のマルチプロセッサシステム、特にＭＰＰシステムの欠点の１つは、選択されるトポロジーとは無関係に、システムの拡張にかなりの規模の構成の変更を必要とすることである。構成変更にはケーブルの取り外し・交換を要することが多いが、これは非常に時間のかかる作業である。また、システムのプロセッサの数が増加するにつれて、そのシステムをサポートするに必要な物理的接続の数が有意に増加するため、システムの複雑性が増加する。
【０００５】
従って、プロセッサ数の増加によるシステムの拡張を、元のシステム構成に対する破壊を最小限に抑えながら容易に行えることが望ましい。
【０００６】
【発明の概要】
本発明によると、大型並列処理システムであって、複数の処理要素ノードと、スケーラブルな相互接続ネットワークとより成り、相互接続ネットワークは、複数の物理的通信リンクと、複数の処理要素ノードをクラスタを形成するように相互接続するための複数の第１レベルルータと、第１のクラスタの各ルータが１またはそれ以上のメタルータを介して他の全てのクラスタに接続されるように複数の第１レベルルータを相互接続する１またはそれ以上のメタルータとより成り、１つのメタルータが複数の第１レベルルータのうちの１つの第１レベルルータに結合される場合はその１つのメタルータは２未満の他のメタルータにも結合され、そうでなければその１つのメタルータは２つのメタルータに結合されることを特徴とする大型並列処理システムが提供される。
【０００７】
【好ましい実施例の詳細な説明】
本発明の以下の詳細な説明において、本願の一部であり、本発明の特定の実施例を例示する添付図面を参照する。これらの実施例は、当業者が本発明を実施できるように十分に詳しく記載されている。他の実施例も可能であり、本発明の範囲から逸脱することなく論理的、機械的、電気的及び他の変形又は設計変更を行うことができる。従って、以下の詳細の説明は限定的な意味でとらえるべきではない。
【０００８】
【システムの概観】
図１は、本発明による代表的なマルチプロセッサコンピュータシステムを、総括的に番号２０で示す。図１に示すように、マルチプロセッサ２０は、第１のノード２２、第２のノード２４及びｎ番目のノード２６により示すように、最大ｎ個のノードを有する。これらのノードはスケーラブルな相互接続ネットワーク２８により相互接続されるが、これにより、マルチプロセッサコンピュータシステム２０の構成をデスクサイドシステムから大型スーパーコンピュータに拡張することが可能となる。
【０００９】
第１のノード２２を詳述すると、マルチプロセッサコンピュータシステム２０の各ノードは、ノード２２の第１のプロセッサ３０及び第２のプロセッサ３２のような少なくとも１つのプロセッサを有する。インターフェイス回路３４は、スケーラブルな相互接続ネットワーク２８とインターフェイスし、メモリ／ディレクトリ３６及び入出力サブシステム３８と通信する。
【００１０】
図１に示すマルチプロセッサコンピュータシステム２０は以下に述べる本発明のネットワークトポロジーを実現するための１つの例示的な環境を与えるが、本発明は、如何なる意味においても、この特定の環境に限定されない。事実、別のノード及びインターフェイス回路の構成を用いる他の多くの環境を利用できる。スケーラブルな相互接続ネットワーク２８により実現されるような、本発明のネットワークトポロジーは、そのトポロジーにより相互接続されるノード２２、２４、２６のようなノードの複雑さとは概ね無関係である。
【００１１】
図２は、スケーラブルな相互接続ネットワーク１２８と、４個のノード１２２、１２３、１２４、１２５との間のインターフェイスの一例を示すブロック図である。この実施例において、スケーラブルな相互接続ネットワーク１２８は、図２に示す実施例のルータ１５０のような１またはそれ以上のルータを有する。ルータポート１６３は、第１のノード１２２と通信する。第１のノード１２２の拡大図に示すように、ルータのポート１６３はインターフェイスチップ１３４を介して第１のノード１２２と通信する。第１のノード１２２では、インターフェイスチップ１３４は、プロセッサ１３０、１３１、１３２、１３３と通信する。同様に、ルータのポート１６４は第２のノード１２３と通信し、ルータのポート１６５は第３のノード１２４と通信し、ルータのポート１６６は第４のノード１２５と通信する。ルータのポート１５２、１５４、１５６、１５８は、以下に述べるように、拡縮性を有する相互接続ネットワーク１２８の他のルータと通信する。図２に示す実施例では、１つのルータ１５０は、スケーラブルな相互接続ネットワーク１２８の最大１６個のプロセッサ及び最大４個の他のルータと直接通信する。
【００１２】
スケーラブルな本発明の相互接続ネットワーク１２８は、複数の処理要素ノード（図２に示すノード１２２、１２３、１２４、１２５）の間でメッセージの経路指定をするための第１組のルータ（例えば、図２のルータ１５０）を使用する。本発明の１つの実施例において、第１組のルータの各々の８個のポートのうち４個は、図２に示すように、そのルータから４個の別個のノードへの接続専用である。以下においてさらに述べるように、残りのポートは、それらのノード間でメッセージの経路指定を行う第１組のルータと、第１組のルータ間でメッセージの経路指定を行う第２組のルータ（メタルータと呼ぶ）とに接続される。１つの実施例において、図５−１６に示すメタルータは、少なくとも４個のポートを有するマルチポートルータである。当業者は、図５−１６に示す構成に単一のマルチポートルータかまたは任意の組み合わせのマルチポートルータを使用できることがわかるであろう。
【００１３】
以下の説明を読めばわかるように、スケーラブルな本発明の相互接続ネットワークのトポロジーは、拡張及び収縮が容易であり、柔軟性が高く、システムの更新／拡張をシステムの破壊を最小限に抑えながら行うことを可能にする。
【００１４】
【ネットワークトポロジーの例】
複数の処理要素ノード、複数の処理要素ノードを接続する複数の物理的相互接続手段（例えば、ケーブル）及び複数の処理要素ノード間でメッセージの経路指定を行う第１組のルータの集合体を、「クラスタ」と呼ぶ。本発明のマルチプロセッサシステムでは、各クラスタは、１またはそれ以上のメタルータにより他の各クラスタに接続されている。従って、各クラスタは他のクラスタと直接通信できるが、その際、第３のクラスタを経由することは不要である。
【００１５】
１つの実施例において、処理要素ノードと、第１組のルータとは、１またはそれ以上の二次元ハイパーキューブシステムを形成する。図３は、一例としての二次元（２Ｄ）ハイパーキューブトポロジーのマルチプロセッサコンピュータシステムを示す。図３において、４個のルータ１５０に番号０乃至３を付したが、これらは、２Ｄハイパーキューブとして相互接続されている。１つの実施例において、２Ｄハイパーキューブは最大６４個のプロセッサより成るが、これは、図２に示すように、４個のルータがそれぞれ最大１６個のプロセッサと通信するからである。以下の詳細な説明では、クラスタは、例示の目的のみで、二次元ハイパーキューブの構成である。本発明は、第１組のルータを二次元ハイパーキューブに構成することに限定されない。第１組のルータを種々のトポロジーに構成する他の実施例も、本発明の範囲に含まれる。
【００１６】
１つの実施例では、マルチプロセッサコンピュータシステムは、メタルータを用いずに最大１２８個のプロセッサで構成される。図４に示すかかる実施例では、第１のクラスタ４００と、第２のクラスタ４０２とがそれぞれ二次元ハイパーキューブとして構成されている。図４に示すように、第１のクラスタ４００及び第２のクラスタ４０２のルータは、三次元（３Ｄ）ハイパーキューブを構成するように相互接続されている。３Ｄハイパーキューブは、番号０乃至７を付した８個のルータ１５０より成る。この実施例では、各ルータは、図２に示すルータのような、４個の処理要素ノードに接続された８ポートのルータである。それぞれ４個のルータを有する処理要素ノードにおいて、３Ｄハイパーキューブは、最大１２８個のプロセッサを相互接続する。
【００１７】
例えば、１２８個以上のプロセッサを有するシステムのような大規模なシステム構成と、対応の論理トポロジーについて以下に述べる。大規模なシステムでは、クラスタを相互接続するために第２組のルータ（「メタルータ」と呼ぶ）を用いる。本発明の新規なネットワークトポロジーによると、２つのクラスタが、第３のクラスタを経由するメッセージの経路指定を行うことなく直接通信することができる。各クラスタのルータは、第３のクラスタを経由するメッセージの経路指定をせずに、メタルータを介して他の全てのクラスタに接続される。
【００１８】
図５−１６に示すように、各ルータは、別のクラスタのルータに直接接続されるか、あるいは１またはそれ以上のメタルータにより別のクラスタのルータに接続される。図５−１６に示す実施例では、１つのクラスタの１つのルータから他の全てのクラスタのルータへの接続を、特定の種類の線で表わす。図５−１６の破線は、第１のクラスタの第１のルータから他の各クラスタの１つのルータへの接続を表わす。図５−１６の実線は、第１のクラスタの第２のルータから他の各クラスタの第２のルータへの接続を表わす。図５−１６の点線は、第１のクラスタの第３のルータから他の各ルータの第３のルータへの接続を表わす。図５−１６の一点鎖線は、第１のクラスタの第４のルータから他の各クラスタの第４のルータへの接続を表わす。
【００１９】
図５は、１２９乃至１６０個のプロセッサを備えたシステムに用いる論理トポロジーの実施例を示す。この論理トポロジーは、３つのクラスタ５０２、５０４、５０６が２つのメタルータ５０８、５１０により相互接続されたものである。別の実施例では、２つのメタルータ５０８、５１０の代わりに単一のマルチポートメタルータが使用される。この実施例では、第１のクラスタ５０２は６４個のプロセッサを有し、また第２のクラスタ５０４も６４個のプロセッサを有する。第３のクラスタ５０６は、１個から３２個までの任意の数のプロセッサを含むことができるが、これにより、図５に示すマルチプロセッサコンピュータシステムのプロセッサの合計は１２９個乃至１６０個となる。
【００２０】
３つのクラスタ５０２、５０４、５０６の各々内のルータは、メタルータ５０８、５１０を介して他の３つのクラスタ５０２、５０４、５０６の各々内の別のルータに接続される。破線は、第１のクラスタの第１のルータと、他の各ルータの１つのルータとの間の接続を表わす。第１のクラスタ５０２の第１のルータ５１２は、メタルータ５０８を介して第２のクラスタ５０４の第１のルータ５２０に接続される。第１のクラスタ５０２の第１のルータ５１２は、メタルータ５０８を介して第３のクラスタ５０６の第１のルータ５３０にも接続される。
【００２１】
同様に、実線は、第１のクラスタの第２のルータと、他の各クラスタの第２のルータとの接続を表わす。第１のクラスタ５０２の第２のルータ５１４は、メタルータ５１０を介して第２のクラスタ５０４の第２のルータ５２２に接続される。第１のクラスタ５０２の第２のルータ５１４もまた、メタルータ５１０を介して第３のクラスタ５０６の第２のルータ５３２に接続される。同様に、点線は、第１のクラスタの第３のルータと、他の各クラスタの第３のルータとの接続を表わし、一点鎖線は、第１のクラスタの第４のルータと他の各クラスタの第４のルータとの接続を表わす。第１のクラスタの第３のルータ５１６及び第４のルータ５１８は、第２のクラスタ５０４の第３のルータ５２４及び第４のルータ５２８に直接接続される。この構成では、第３のクラスタ５０６に第３のルータ及び第３のルータがない。従って、図５に示すように、１つのクラスタの各ルータは、他の各クラスタの１つのルータと、直接接続によるかあるいは１またはそれ以上のメタルータを介して通信する。これにより、１つのクラスタが別のクラスタと、第３のクラスタを経由しなければ通信できないという従属性がなくなり、さらに柔軟性のあるシステムが得られる。本発明のトポロジーによると、クラスタは第３のクラスタを経由せずに互いに直接通信することができる。
【００２２】
図６は、１６１乃至１９２個のプロセッサを備えたマルチプロセッサコンピュータシステムに用いる論理トポロジーの実施例である。この論理トポロジーは、３つのクラスタ６０２、６０４、６０６が４個のメタルータ６０８、６０９、６１０、６１１により相互接続されたものである。別の実施例では、２つのマルチポートメタルータを、４個のメタルータ６０８、６０９、６１０、６１１の代わりに使用する。図６に示す実施例では、第１のクラスタ６０２は６４個のプロセッサより成り、第２のクラスタ６０４も６４個のプロセッサより成る。第３のクラスタ６０６は、３３個から６４個までの任意の数のプロセッサを含むことができるため、図６に示すマルチプロセッサコンピュータシステムのプロセッサの合計は１６１乃至１９２個になる。
【００２３】
３つのクラスタ６０２、６０４、６０６の各クラスタのルータは、メタルータ６０８、６０９、６１０、６１１を介して他の３つのクラスタ６０２、６０４、６０６の各クラスタの別のルータに接続される。第１のクラスタ６０２の第１のルータ６１２は、メタルータ６０８を介して第２のクラスタ６０４の第１のルータ６２０に接続される。第１のクラスタ６０２の第１のルータ６１２は、メタルータ６０８を介して第３のクラスタ６０６の第１のルータ６３０に接続される。第１のクラスタ６０２の第１のルータ６０２と、他の各クラスタとの接続は、図６の破線で示す。
【００２４】
同様に、第１のクラスタ６０２の第２のルータ６１４は、メタルータ６１０を介して第２のクラスタ６０４の第２のルータ６２２に接続される。第１のクラスタ６０２の第２のルータ６１４は、メタルータ６１０を介して第３のクラスタ６０６の第２のルータ６３２にも接続される。第１のクラスタ６０２の第２のルータ６１４と、他の各クラスタとの間の接続は、図６で実線により示す。同様に、図６の点線は、第１のクラスタ６０２の第３のルータ６１６と他の各クラスタとの間の接続を表わす。第１のクラスタ６０２の第３のルータ６１６は、メタルータ６０９を介して第２のクラスタ６０４の第３のルータ６２４と接続される。第１のクラスタ６０２の第３のルータ６１６は、メタルータ６０９を介して第３のクラスタ６０６の第３のルータ６３４にも接続される。さらに、図６の一点鎖線は、第１のクラスタ６０２の第４のルータ６１８と、他の各クラスタとの接続を表わす。第１のクラスタ６０２の第４のルータ６１８は、メタルータ６１１を介して第２のクラスタ６０４の第４のルータ６２８と接続される。第１のクラスタ６０２の第４のルータ６１８は、メタルータ６１１を介して第３のクラスタ６０６の第４のルータ６３６にも接続される。このようにして、図６に示すように、１つのクラスタの各ルータは、メタルータを介して他の各クラスタの１つのルータと通信する。
【００２５】
図７は、１９３乃至２２４個のプロセッサを備えたマルチプロセッサコンピュータシステムに用いる論理トポロジーの実施例である。この論理トポロジーは、４個のクラスタ７０２、７０４、７０６、７０７が４個のメタルータ７０８、７０９、７１０、７１１により相互接続されたものである。別の実施例では、４個のメタルータ７０８、７０９、７１０、７１１の代わりに２個のマルチポートメタルータを用いる。図７に示す実施例では、第１のクラスタ７０２、第２のクラスタ７０４及び第３のクラスタ７０６がそれぞれ、６４個のプロセッサより成る。第４のクラスタ７０７は、１個から最大３２個までの任意の数のプロセッサを含むため、図７に示すマルチプロセッサコンピュータシステムのプロセッサ合計は１９３乃至２２４個である。
【００２６】
４つのクラスタ７０２、７０４、７０６、７０７の各クラスタのルータは、メタルータ７０８、７０９、７１０、７１１のうちの１つを介して他の４つのクラスタ７０２、７０４、７０６、７０７の各クラスタの別のルータに接続される。第１のクラスタ７０２の第１のルータ７１２と、他のクラスタとの接続は、図７で破線により示す。第１のクラスタ７０２の第１のルータ７１２は、メタルータ７０８を介して第２のクラスタ７０４の第１のルータ７２０に接続される。第１のクラスタ７０２の第１のルータ７１２は、メタルータ７０８を介して第３のクラスタ７０６の第１のルータ７３０にも接続される。さらに、図７に示すように、第１のクラスタ７０２の第１のルータ７１２は、メタルータ７０８を介して第４のクラスタ７０７の第１のルータ７３８とも接続される。第１のクラスタ７０２の第２のルータ７１４と、他の各クラスタとの間の接続は、図７で実線により示す。第１のクラスタ７０２の第２のルータ７１４は、メタルータ７１０を介して第２のクラスタ７０４の第２のルータ７２２と接続される。第１のクラスタ７０２の第２のルータ７１４は、メタルータ７１０を介して第３のルータ７０６の第２のルータ７３２とも接続される。さらに、図７では、第１のクラスタ７０２の第２のルータ７１４が、メタルータ７０８を介して第４のクラスタ７０７の第２のルータ７４０にも接続されている。
【００２７】
同様に、図７の点線は、第１のクラスタ７０２の第３のルータ７１６と、他の各クラスタとの間の接続を表わす。第１のクラスタ７０２の第３のルータ７１６は、メタルータ７０９を介して第２のクラスタ７０４の第３のルータ７２４と接続される。第１のクラスタ７０２の第３のルータ７１６はまた、メタルータ７０９を介して第３のクラスタ７０６の第３のルータ７３４と接続される。同様に、図７の一点鎖線は、第１のクラスタ７０２の第４のルータ７１８と、他の各クラスタとの間の接続を表わす。第１のクラスタ７０２の第４のルータ７１８は、メタルータ７１１を介して第２のクラスタ７０４の第４のルータ７２８と接続される。第１のクラスタ７０２の第４のルータ７１８はまた、メタルータ７１１を介して第３のクラスタ７０６の第４のルータ７３６と接続される。
【００２８】
かくして、図７に示すように、１つのクラスタの各ルータは、メタルータを介して他の各クラスタのルータと通信する。さらに、図７に示す２２４個のプロセッサより成るシステムは、図６に示す１９２個のプロセッサより成るシステムの拡張により容易に構成される。図７に示すマルチプロセッサシステムを形成するために、まず、第４のクラスタ７０７を付加する。第２に、メタルータ７０８と、第４のクラスタ７０７の第１のルータ７３８との相互接続手段を付加する。第３に、メタルータ７１０から第４のクラスタ７０７の第２のルータ７４０への相互接続手段を付加する。このようにすると、１９２個のプロセッサを有する本発明のシステムは、拡張のために第１、第２及び第３のクラスタ７０２、７０４、７０６の配線を変更することなしに、２２４個のプロセッサを有するシステムに拡張することができる。
【００２９】
図８は、２２５乃至２５６個のプロセッサを備えたマルチプロセッサコンピュータに用いる論理トポロジーの実施例である。この論理トポロジーは、４個のクラスタ８０２、８０４、８０６、８０７が４個のメタルータ８０８、８０９、８１０、８１１により相互接続されたものである。図８に示す実施例では、第１のクラスタ８０２、第２のクラスタ８０４及び第３のクラスタ８０６はそれぞれ、６４個のプロセッサを有する。さらに、第４のクラスタ８０７は３３個から最大６４個のプロセッサを含むことが可能であり、図８に示すマルチプロセッサコンピュータシステムのプロセッサ合計は２２５乃至２５６個となる。
【００３０】
４個のクラスタ８０２、８０４、８０６、８０７の各クラスタのルータは、メタルータ８０８、８０９、８１０、８１１の１つにより他の４つのクラスタ８０２、８０４、８０６、８０７の各クラスタの別のルータに接続される。第１のクラスタ８０２の第１のルータ８１２と、他の各クラスタとの間の接続を、図８で破線により示す。第１のクラスタ８０２の第１のルータ８１２は、メタルータ８０８を介して第２のクラスタ８０４の第１のルータ８２０に接続される。第１のクラスタ８０２の第１のルータ８１２はまた、メタルータ８０８を介して第３のクラスタ８０６の第１のルータ８３０に接続される。第１のクラスタ８０２の第１のルータ８１２は、メタルータ８０８を介して第４のクラスタ８０７の第１のルータ８３８にも接続される。
【００３１】
第１のクラスタ８０２の第２のルータ８１４と、他の各ルータとの間の接続を、図８で実線により示す。第１のクラスタ８０２の第２のルータ８１４は、メタルータ８１０を介して第２のクラスタ８０４の第２のルータ８２２に接続される。第１のクラスタ８０２の第２のルータ８１４はまた、メタルータ８１０を介して第３のクラスタ８０６の第２のルータ８３２に接続され、またこのメタルータ８１０を介して第４のクラスタ８０７の第２のルータ８４０に接続される。
【００３２】
同様に、図８の点線は、第１のクラスタ８０２の第３のルータ８１６と、他の各クラスタとの間の接続を表わす。第１のクラスタ８０２の第３のルータ８１６は、メタルータ８０９を介して第２のクラスタ８０４の第３のルータ８２４に接続される。第１のクラスタ８０２の第３のルータ８１６はまた、メタルータ８０９を介して第３のクラスタ８０６の第３のルータ８３４に接続される。さらに、図７に示す２２４個のプロセッサを有するシステムの拡張は、図８に示すように、第４のクラスタ８０７の処理要素ノード及び第３のルータ８４２を付加し、第１のクラスタ８０２の第３のルータ８１６をメタルータ８０９を介して第４のクラスタ８０７の第３のルータ８４０に接続することにより行われる。
【００３３】
同様に、図８の一点鎖線は、第１のクラスタ８０２の第４のルータ８１８と、他の各クラスタとの間の接続を表わす。第１のクラスタ８０２の第４のルータ８１８は、メタルータ８１１を介して第２のクラスタ８０４の第４のルータ８２８と接続される。第１のクラスタ８０２の第４のルータ８１８はまた、メタルータ８１１を介して第３のクラスタ８０６の第４のルータ８３６と接続される。さらに、図７の２２４個のプロセッサのシステムは、図８に示すように、処理要素ノードと第４のルータ８４４を付加し、第１のクラスタ８０２の第２のルータ８１８をメタルータ８１１を介して第４のクラスタ８０７の第４のルータ８４４に接続することによりさらに拡張される。
【００３４】
再び、図８に示すように、１つのクラスタの各ルータは、メタルータを介して他の各クラスタのルータと通信する。さらに、図８に示す２５６個のプロセッサのシステムは、図７に示す２２４個のプロセッサのシステムを拡張することにより容易に構成される。従って、本発明の２２４個のプロセッサのシステムは、処理要素ノード、相互接続手段及びルータを第４のクラスタ８０７に付加するだけで、２５６個のプロセッサのシステムに拡張することができる。システムの拡張は、図７の第１、第２及び第３のクラスタ７０２、７０４、７０６の構成または配線の変更を必要としない。
【００３５】
図９は、最大２８８個のプロセッサを備えたマルチプロセッサコンピュータシステムに用いる論理トポロジーの実施例である。図９に示す２８８個のプロセッサのシステムは、図８に示す２５６個のプロセッサのシステムを拡張することにより容易に構成される。このマルチプロセッサシステムに第５のクラスタ９６２を付加し、また２つの別のメタルータ９５０、９５２を付加する。メタルータ９５０から第５のクラスタ９６２の第１のルータ９７０及び別のメタルータへの相互接続手段を付加する。メタルータ９５２から第５のクラスタ９６２の第２のルータ９７２及び別のメタルータへの相互接続手段も付加する。このようにすると、本発明の２５６個のプロセッサのシステムを、元の２５６個のプロセッサのシステムを再構成することなく、２８８個のプロセッサのシステムに容易に拡張することが可能である。
【００３６】
図１０は、最大３２０個のプロセッサを備えたマルチプロセッサコンピュータシステムに用いる論理トポロジーの実施例である。図１０に示す３２０個のプロセッサのシステムは、図９に示す２８８個のプロセッサのシステムを拡張することにより容易に構成される。このマルチプロセッサシステムに、第６のクラスタ１０６４を付加する。メタルータ１０５０から第６のクラスタ１０６４の第１のルータ１０７８への相互接続手段を付加する。メタルータ１０５２から第６のクラスタ１０６４の第２のルータ１０８０への相互接続手段も付加する。図１０に示すように、本発明の２８８個のプロセッサのシステムは、元の２８８個のプロセッサシステムを再構成することなく、３２０個のプロセッサのシステムに容易に拡張可能である。
【００３７】
図１１は、最大３５２個のプロセッサを備えたマルチプロセッサコンピュータシステムに用いる論理トポロジーの実施例である。図１１に示すこの３５２個のプロセッサシステムは、図１０に示す３２０個のプロセッサシステムを拡張することにより容易に構成される。マルチプロセッサシステムの第５のクラスタ１１６２に、第３のルータ１１７４（及び対応のプロセッサ要素ノード）及び第４のルータ１１７６（及び対応のプロセッサ要素ノード）を付加する。メタルータ１１５４（マルチプロセッサシステムにも付加される）から第５のクラスタ１１６２の第３のルータ１１７４への相互接続手段を付加する。メタルータ１１５６（システムにも付加される）から第５のクラスタ１１６２の第４のルータ１１７６への相互接続手段も付加する。新しいメタルータ１１５４、１１５６も、前のメタルータと相互接続する。図１１に示すように、本発明の３２０個のプロセッサのシステムは、この元のシステムを再構成することなく３５２個のプロセッサのシステムに容易に拡張可能である。
【００３８】
図１２は、最大３８４個のプロセッサを備えたマルチプロセッサコンピュータシステムに用いる論理トポロジーの実施例である。図１２に示す３８４個のプロセッサシステムは、図１１の３５２個のプロセッサのシステムを拡張することにより容易に構成される。マルチプロセッサシステムの第６のクラスタ１２６４に、第３のルータ１２８２、第４のルータ１２８４及び対応の処理要素ノードを付加する。メタルータ１２５４から第６のクラスタ１２６４の第３のルータ１２８４への相互接続手段を付加する。メタルータ１２５６から第６のクラスタ１２６４の第４のルータ１２８４への相互接続手段も付加する。図１２に示すように、本発明の３５２個のプロセッサのシステムは、このシステムを再構成することなく３８４個のプロセッサのシステムに容易に拡張可能である。
【００３９】
図１３は、最大４１６個のプロセッサを備えたマルチプロセッサコンピュータシステムに用いる論理トポロジーの実施例である。図１３に示す４１６個のプロセッサのシステムは、図１２に示す３８４個のプロセッサのシステムを拡張することにより容易に構成される。第１のルータ１３８８及び第２のルータ１３８９を有する第７のクラスタ１３８６を、マルチプロセッサシステムに付加する。２つのメタルータ１３５５及び１３５７も付加する。メタルータ１３５５から第７のクラスタ１３８６の第１のルータ１３８８及びメタルータの１つへの相互接続手段を付加する。メタルータ１３５７から第７のクラスタ１３８６の第２のルータ１３８９及び他のルータのうちの１つへの相互接続手段も付加する。図１３に示すように、本発明の３８４個のプロセッサのシステムは、このシステムを再構成することなく４１６個のプロセッサのシステムに容易に拡張することができる。
【００４０】
図１４は、最大４４８個のプロセッサを備えたマルチプロセッサコンピュータシステムに用いる論理トポロジーの実施例である。図１４に示す４４８個のプロセッサのシステムは、図１３に示す４１６個のプロセッサのシステムを拡張することにより容易に構成される。第１のルータ１４９２（及び対応の処理要素ノード）及び第２のルータ１４９３（及び対応の処理要素ノード）を有する第８のクラスタ１４８７を、マルチプロセッサシステムに付加する。メタルータ１４５５から第８のクラスタ１４８７の第１のクラスタ１４９２への相互接続手段を付加する。メタルータ１４５７から第８のクラスタ１４８７の第２のルータ１４９３への相互接続手段も付加する。図１４に示すように、本発明の４１６個のプロセッサのシステムは、このシステムを再構成することなく４４８個のプロセッサのシステムに容易に拡張可能である。
【００４１】
図１５は、最大４８０個のプロセッサを備えたマルチプロセッサコンピュータシステムに用いる論理トポロジーの実施例である。図１５に示すこの４８０個のプロセッサのシステムは、図１４に示す４４８個のプロセッサのシステムを拡張することにより容易に構成される。第３のルータ１５９０及び第４のルータ１５９１を、マルチプロセッサシステムの第７のクラスタ１５８６に付加する。２つのメタルータ１５５８、１５５９も付加し、２つのメタルータ１５５８、１５５９から別のメタルータへの相互接続手段を付加する。メタルータ１５５８から第７のクラスタ１５８６の第３のルータ１５９０への相互接続手段を付加する。メタルータ１５５９から第７のクラスタ１５８６の第４のルータ１５９１への相互接続手段も付加する。図１５に示すように、本発明の４４８個のプロセッサのシステムは、そのシステムを再構成することなく４８０個のプロセッサのシステムに容易に拡張できる。
【００４２】
図１６は、最大５１２個のプロセッサを備えたマルチプロセッサコンピュータシステムに用いる論理トポロジーの実施例である。図１６に示すこの５１２個のプロセッサのシステムは、図１５の４８０個のプロセッサのシステムを拡張することにより容易に構成される。マルチプロセッサの第８のクラスタ１６８７に、第３のルータ１６９４（及び対応の処理要素ノード）及び第４のルータ１６９５（及び対応の処理要素ノード）を付加する。メタルータ１６５８から第８のクラスタ１６８７の第３のルータ１６９４への相互接続手段を付加する。メタルータ１６５９から第８のクラスタ１６８７の第４のルータ１６９５への相互接続手段も付加する。図１６に示すように、本発明の４８０個のプロセッサのシステムは、この元のシステムを再構成することなく５１２個のプロセッサのシステムに容易に拡張可能である。
【００４３】
図１７は、図１６のシステムの一例である。各ルータ（１９、２７）は、４個の計算ノード（Ｃブリッック）に接続されている。残り４つのポートは、他のルータに接続されている。ルータ３８は、ルータ２７と、他のルータ３８との間の通信を可能にする。
【００４４】
上述したように、本発明によると、元のシステム構成に対する破壊を最小限に抑えて小型のシステムを大型のシステムに拡張できる。本発明の特定の実施例を例示のため図示説明したが、当業者は、本発明の範囲から逸脱することなく、図示説明した特定の実施例を、同一目的を達成するように構成された多種多様な別のまたは等価的実施例に置き換え可能であることがわかるであろう。機械、電気機械、電気及びコンピュータ技術の分野の当業者は、本発明を多種多様な実施例により実現できることがわかるであろう。本願は、ここに説明した好ましい実施例の任意の変形例及び設計変更を包含するものと意図されている。従って、本発明は頭書の特許請求の範囲及びその均等物のみによって限定される。
【図面の簡単な説明】
【図１】  図１は、マルチプロセッサコンピュータシステムのブロック図である。
【図２】  図２は、スケーラブルな相互接続ネットワークと、４つの処理要素ノードとの間のインターフェイスの１つの実施例を示すブロック図である。
【図３】  図３は、二次元（２Ｄ）ハイパーキューブトポロジーを有するマルチプロセッサコンピュータシステムのモデルである。
【図４】  図４は、三次元（３Ｄ）ハイパーキューブトポロジーを有するマルチプロセッサコンピュータシステムのモデルである。
【図５】  図５は、１２９乃至１６０個のプロセッサを備えたマルチプロセッサコンピュータシステムに用いる論理トポロジーの一例を示す。
【図６】  図６は、１６１乃至１９２個のプロセッサを備えたマルチプロセッサコンピュータシステムに用いる論理トポロジーの一例を示す。
【図７】  図７は、１９３乃至２２４個のプロセッサを備えたマルチプロセッサコンピュータシステムに用いる論理トポロジーの一例を示す。
【図８】  図８は、２２５乃至２５６個のプロセッサを備えたマルチプロセッサコンピュータシステムに用いる論理トポロジーの一例を示す。
【図９】  図９は、最大２８８個のプロセッサを備えたマルチプロセッサコンピュータシステムに用いる論理トポロジーの一例を示す。
【図１０】  図１０は、最大３２０個のプロセッサを備えたマルチプロセッサコンピュータシステムに用いる論理トポロジーの一例を示す。
【図１１】  図１１は、最大３５２個のプロセッサを備えたマルチプロセッサコンピュータシステムに用いる論理トポロジーの一例を示す。
【図１２】  図１２は、最大３８４個のプロセッサを備えたマルチプロセッサコンピュータシステムに用いる論理トポロジーの一例を示す。
【図１３】  図１３は、最大４１６個のプロセッサを備えたマルチプロセッサコンピュータシステムに用いる論理トポロジーの一例を示す。
【図１４】  図１４は、最大４４８個のプロセッサを備えたマルチプロセッサコンピュータシステムに用いる論理トポロジーの一例を示す。
【図１５】  図１５は、最大４８０個のプロセッサを備えたマルチプロセッサコンピュータシステムに用いる論理トポロジーの一例を示す。
【図１６】  図１６は、最大５１２個のプロセッサを備えたマルチプロセッサコンピュータシステムに用いる論理トポロジーの一例を示す。
【図１７】  図１７は、５１２個のプロセッサを備えたマルチプロセッサコンピュータシステムの実施例を示す。
【図１】
0004480315.tif 000002
【図２】
0004480315.tif 000003
【図３】
0004480315.tif 000004
【図４】
0004480315.tif 000005
【図５】
0004480315.tif 000006
【図６】
0004480315.tif 000007
【図８】
0004480315.tif 000008
【図９】
0004480315.tif 000009
【図１０】
0004480315.tif 000010
【図１１】
0004480315.tif 000011
【図１２】
0004480315.tif 000012
【図１３】
0004480315.tif 000013
【図１４】
0004480315.tif 000014
【図１５】
0004480315.tif 000015
【図１６】
0004480315.tif 000016
【図１７】
0004480315.tif 000017
【図７】
0004480315.tif 000018