-
Die
vorliegende Erfindung bezieht sich auf ein massiv paralleles Datenverarbeitungssystem
und ein skalierbares Verbindungsnetz zum Verbinden von Verarbeitungselementknoten
in einem solchen System.
-
Computersysteme
mit mehreren Prozessoren umfassen eine Anzahl von Verarbeitungselementknoten,
die über
ein Verbindungsnetz miteinander verbunden sind. Jeder Verarbeitungselementknoten
weist mindestens ein Verarbeitungselement aus. Das Verbindungsnetz überträgt Datenpakete oder
Nachrichten zwischen Verarbeitungselementknoten. Computersysteme
mit mehreren Prozessoren mit Hunderten oder Tausenden von Verarbeitungselementknoten
werden im Allgemeinen als massiv parallele Datenverarbeitungssysteme (MPP-Systeme)
bezeichnet. In einem typischen MPP-System mit mehreren Prozessoren
kann jedes Verarbeitungselement direkt den gesamten Speicher ansprechen,
einschließlich
des Speichers anderer (dezentraler) Verarbeitungselemente, ohne
den Prozessor in diesem Verarbeitungselement einschalten zu müssen. Anstatt
die Kommunikation zwischen einem Verarbeitungselement und einem
dezentralen Speicher als eine E/A-Operation zu behandeln, erfolgen
das Lesen oder Schreiben im Speicher eines anderen Verarbeitungselements
in derselben Weise wie das Lesen oder Schreiben im lokalen Speicher.
In solchen MPP-Systemen mit mehreren Prozessoren hat die Infrastruktur,
die die Kommunikation zwischen den verschiedenen Prozessoren unterstützt, wegen des
Umfangs der erforderlichen Kommunikation zwischen den Prozessoren
erheblichen Einfluss auf die Leistung des MPP-Systems.
-
Zur
Verbindung der verschiedenen Prozessoren in solchen MPP-Systemen
sind unterschiedliche Topologien vorgeschlagen worden, etwa Ring-, Stern-,
Maschennetz-, Hyperkubus- und Torus-Topologien. In einem herkömmlichen
Hyperkubus-Netz sind zum Beispiel mehrere Mikroprozessoren in einem
n-dimensionalen Kubus angeordnet, wobei die Anzahl der Knoten k
in dem Netz gleich 2n ist. In diesem Netz
ist jeder Knoten über
mehrere Kommunikationspfade mit jedem anderen Knoten verbunden. Der
Netzdurchmesser, das heißt
der längste
Kommunikationspfad von einem Knoten im Netz zu einem anderen Knoten,
beträgt
n Verbindungen.
-
Unabhängig von
der gewählten
Topologie besteht ein Nachteil gegenwärtiger Mehrprozessorsysteme
und insbesondere MPP-Systeme darin, dass zur Erweiterung des Systems
ein erheblicher Neukonfigurationsaufwand erforderlich ist. Die Neukonfiguration
umfasst oft das Entfernen und Wiederanschließen von Kabeln, was sehr zeitaufwändig ist. Außerdem erhöht sich
mit steigender Anzahl von Prozessoren in den Systemen auch die Anzahl
der zur Unterstützung
des Systems erforderlichen physikalischen Verbindungen beträchtlich,
was die Komplexität
des Systems erhöht.
-
Daher
ist es wünschenswert,
dass Systeme problemlos skaliert werden können, um die Anzahl der Prozessoren
mit minimaler Beeinträchtigung
der ursprünglichen
Systemkonfiguration zu erhöhen.
-
WO99/26429 beschreibt ein
System, dass den Vorteil mehrerer Topologien nutzt. Die in
WO99/26429 beschriebenen
Router können
Nachrichten in Hyperkubus-Topologien mit bis zu sechs Dimensionen
leiten und sind darüber
hinaus in der Lage, Nachrichten in mindestens einer n-dimensionalen
Torus- oder Maschennetz-Topologie zu leiten.
-
WO99/26429 zeigt Konfigurationen
mit Metaroutern (Element
642) in
30 bis
37. Die Metarouter-Konfigurationen sind
in
WO99/26429 wie folgt
beschrieben:
„Bei
der in
30 gezeigten Ausführungsform
enthalten die Systeme
20 mit mehr als 64 Prozessoren Metarouter
642,
um mehrere der 64 Prozessormodule
640 miteinander zu verbinden.
Bei einer Ausführungsform
sind die Metarouter
642 in derselben Schaltung gebildet
wie die lokalen Router, werden jedoch als zweite Ebene in der Netzhierarchie
angesehen.
-
Bei
einer Ausführungsform
sind die Metarouter 642 maschenförmig miteinander verbunden.
Die Maschen sind 2×1,
2×2, 2×4, 4×4 und 8×4 für Systeme
mit 128, 256, 512, 1.024 bzw. 2.048 Prozessoren. 31 bis 34 zeigen diese Konfigurationen. (Eine
Abbildung mit der gesamten Verkabelung wäre übermäßig kompliziert, weshalb nur
die Metarouter und deren zugehörige
Kabel gezeigt sind. Die kurzen dicken Abzweige von jedem Metarouter
deuten die Verbindungen zu den lokalen Router an.)
-
Bei
der gezeigten Ausführungsform
sind die Metarouter 642 in zweidimensionalen Maschen verbunden.
Die dicken Linien in den Diagrammen zeigen eine der acht zweidimensionalen
Metamaschen. Die eigentlichen Paare dieser vier Metanetze können als dreidimensionale
Netze angesehen werden, wobei ihre dritte Dimension, Radix 2, die
gestrichelten Verbindungen sind, die zwischen den Metaroutern gezeigt
sind. (Die gestrichelten Verbindungen befinden sich auf der Routerkarte
und können
im Falle von Metaroutern verwendet werden, um Blockierungen auf alternativen
Pfaden zu vermeiden. Diese gestrichelten Verbindungen sind praktisch
ein Nebeneffekt der Notwendigkeit einer dichten Packung.) 34 zeigt ein Modul mit 1.024 Prozessoren,
das zur Bildung von Systemen mit 2.048, 4.096 oder mehr Prozessoren
verwendet werden kann.
-
Wie
in den vorstehenden Beispielen können Expressverbindungen
verwendet werden, um die globale Bisektionsbandbreite zu erhöhen. 35 zeigt zum Beispiel, wie eine kleine
Anzahl von Kabeln 650 hinzugefügt werden kann, um die Bandbreite
in einem Prozessormodul mit 64 Prozessoren wie etwa Block 640 zu
verdoppeln. Darüber
hinaus kann die Anzahl der Metarouter verdoppelt werden, wie in 36 und 37 gezeigt,
um die globale Bisektionsbandbreite auf Kosten eines Drittels des
zusätzlichen
Netzes zu verdoppeln."
-
In
einem ersten Aspekt stellt die vorliegende Erfindung ein massiv
paralleles Datenverarbeitungssystem nach Anspruch 1 bereit.
-
In
einem weiteren Aspekt stellt die vorliegende Erfindung ein skalierbares
Verbindungsnetz nach Anspruch 32 bereit.
-
Kurzbeschreibung der Zeichnungen
-
1 zeigt
ein Blockdiagramm eines Computersystems mit mehreren Prozessoren.
-
2 zeigt
ein Blockdiagramm einer Schnittstelle zwischen einem skalierbaren
Verbindungsnetz und vier Verarbeitungselementknoten.
-
3 zeigt
ein Modell eines Mehrprozessor-Computersystems mit zweidimensionaler
(2D) Hyperkubus-Topologie, das nicht unter die beanspruchte Erfindung
fällt.
-
4 zeigt
ein Modell eines Mehrprozessor-Computersystems mit dreidimensionaler
(3D) Hyperkubus-Topologie, das nicht unter die beanspruchte Erfindung
fällt.
-
5 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Mehrprozessor-Computersysteme mit 129 bis 160 Prozessoren.
-
6 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Mehrprozessor-Computersysteme mit 161 bis 192 Prozessoren.
-
7 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Mehrprozessor-Computersysteme mit 193 bis 224 Prozessoren.
-
8 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Mehrprozessor-Computersysteme mit 225 bis 256 Prozessoren.
-
9 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Mehrprozessor-Computersysteme mit bis zu 288 Prozessoren.
-
10 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Mehrprozessor-Computersysteme mit bis zu 320 Prozessoren.
-
11 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Mehrprozessor-Computersysteme mit bis zu 352 Prozessoren.
-
12 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Mehrprozessor-Computersysteme mit bis zu 384 Prozessoren.
-
13 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Mehrprozessor-Computersysteme mit bis zu 416 Prozessoren.
-
14 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Mehrprozessor-Computersysteme mit bis zu 448 Prozessoren.
-
15 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Mehrprozessor-Computersysteme mit bis zu 480 Prozessoren.
-
16 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Mehrprozessor-Computersysteme mit bis zu 512 Prozessoren.
-
17 zeigt
eine beispielhafte Ausführungsform
eines Mehrprozessor-Computersystems mit 512 Prozessoren.
-
Beschreibung der bevorzugten Ausführungsformen
-
In
der nachstehenden ausführlichen
Beschreibung der bevorzugten Ausführungsformen wird auf die anliegenden
Zeichnungen verwiesen, die Bestandteil dieses Dokuments sind und
in denen zur Illustration bestimmte Ausführungsformen gezeigt sind,
wie die Erfindung angewendet werden kann. Dabei gilt als vereinbart,
dass auch andere Ausführungsformen
verwendet werden können
und dass strukturelle oder logische Änderungen vorgenommen werden
können,
ohne vom Umfang der vorliegenden Erfindung abzuweichen. Die nachstehende
ausführliche
Beschreibung ist daher nicht als einschränkend zu verstehen, und der
Umfang der vorliegenden Erfindung ist durch die anliegenden Ansprüche festgelegt.
-
Systemübersicht.
Ein repräsentatives
Computersystem mit mehreren Prozessoren nach der vorliegenden Erfindung
ist allgemein mit dem Bezugszeichen 20 in 1 ge zeigt.
Wie in 1 gezeigt, weist das Computersystem 20 mit
mehreren Prozessoren bis zu n Knoten auf zum Beispiel einen ersten
Knoten 22, einen zweiten Knoten 24 und einen n-ten
Knoten 26. Die Knoten sind durch ein skalierbares Verbindungsnetz 28 miteinander
verbunden, das ein Skalieren der Mehrprozessor-Computersysteme 20 von
Arbeitsplatzsystemen bis hin zu sehr großen Supercomputer-Konfigurationen
ermöglicht.
-
Wie
im Einzelnen für
den ersten Knoten 22 gezeigt, weist jeder Knoten in dem
Mehrprozessor-Computersystem 20 mindestens einen Prozessor
auf, zum Beispiel einen ersten Prozessor 30 und einen zweiten
Prozessor 32 für
den Knoten 22. Eine Schnittstellenschaltung 34 ist
mit dem skalierbaren Verbindungsnetz 28 verbunden und kommuniziert mit
einem Speicher und Verzeichnis 36 und einem Ein-/Ausgabe-Untersystem 38.
-
Obwohl
das in 1 gezeigte Mehrprozessor-Computersystem 20 eine
beispielhafte Umgebung zur Implementierung der nachstehend beschriebenen
Netztopologie nach der vorliegenden Erfindung bereitstellt, ist
die vorliegende Erfindung in keiner Weise auf diese bestimmte Anwendungsumgebung
beschränkt.
Faktisch können
viele alternative Umgebungen mit alternativen Knoten- und Schnittstellenschaltungskonfigurationen
verwendet werden. Die Netztopologie nach der vorliegenden Erfindung, wie
sie in dem skalierbaren Verbindungsnetz 28 implementiert
ist, ist weitgehend unabhängig
von der Komplexität
der Knoten wie zum Beispiel der Knoten 22, 24 und 26,
die nach dieser Topologie miteinander verbunden sind.
-
2 zeigt
ein Blockdiagramm einer Schnittstelle zwischen einem skalierbaren
Verbindungsnetz 128 und vier Knoten 122, 123, 124 und 125.
In diesem Fall weist das skalierbare Verbindungsnetz 128 einen
oder mehrere Router auf, zum Beispiel den in 2 gezeigten
Router 150. Der Router-Port 163 kommuniziert mit
einem ersten Knoten 122. Wie in der vergrößerten Ansicht
des ersten Knotens 122 gezeigt, kommuniziert der Router-Port 163 mit
dem ersten Knoten 122 über
einen Schnittstellen-Chip 134. In dem ersten Knoten 122 kommuniziert
der Schnittstellen-Chip 134 mit den Prozessoren 130, 131, 132 und 133.
In gleicher Weise kommuniziert der Router-Port 164 mit
einem zweiten Knoten 123, der Router-Port 165 mit
einem dritten Knoten 124 und der Router-Port 166 mit einem vierten
Knoten 125. Die Router-Ports 152, 154, 156 und 158 kommunizieren
mit anderen Routern in dem skalierbaren Verbindungsnetz 128 entsprechend
der nachstehenden Beschreibung. Bei dem in 2 gezeigten
Beispiel kommuniziert ein Router 150 direkt mit bis zu
sechzehn Prozessoren und bis zu vier weiteren Router in dem skalierbaren
Verbindungsnetz 128.
-
Das
skalierbare Verbindungsnetz 128 nutzt einen ersten Satz
von Router (zum Beispiel den Router 150 in 2)
zum Leiten von Nachrichten zwischen mehreren Verarbeitungselementknoten
(zum Beispiel den Knoten 122, 123, 124 und 125 in 2). In
einem Beispiel sind vier der acht Ports von jedem des ersten Satzes
von Router dediziert für
Verbindungen von den Router zu vier getrennten Knoten vorgesehen,
wie in 2 gezeigt. Wie nachstehend weiter beschrieben,
sind bei Ausführungsformen
der Erfindung, wie in 5 bis 16 gezeigt,
die übrigen
Ports mit dem ersten Satz von Router zum Leiten von Nachrichten
zwischen den Knoten und einem zweiten Satz von Router (nachstehend
als „Metarouter" bezeichnet) zum
Leiten von Nachrichten zwischen dem ersten Satz von Router verbunden.
Bei einer Ausführungsform
sind die nachstehend in 5 bis 16 gezeigten
Metarouter Multiport-Router mit mindestens vier Ports. Der Fachmann
wird erkennen, dass ein einzelner Multiport-Router oder eine beliebige
Kombination von Multiport-Routern in den in 5 bis 16 gezeigten
Konfigurationen verwendet werden können.
-
Wie
anhand der nachstehenden Diskussion besser verständlich wird, ist die Topologie
eines skalierbaren Verbindungsnetzes nach der vorliegenden Erfindung
problemlos skalierbar, weist eine höhere Flexibilität auf und
ermöglicht
die Durchführung
von Upgrades/Erweiterungen des Systems mit minimaler Beeinträchtigung
des Systems.
-
Beispiele
für Netztopologien.
Eine Gruppe von mehreren Verarbeitungselementknoten, mehreren physikalischen
Verbindungen (zum Beispiel Kabel) zum Verbinden mehrerer Verarbeitungselementknoten
und ein erster Satz von Router zum Leiten von Nachrichten zwischen
mehreren Verarbeitungselementknoten wird hier als ein „Cluster" bezeichnet. In einem
Mehrprozessorsystem nach der vorliegenden Erfindung ist jeder Cluster
mit jedem der anderen Cluster unter Verwendung eines oder mehrerer
Metarouter verbunden. Daher kann jeder Cluster direkt mit einem
anderen Cluster kommunizieren, ohne über einen dritten Cluster kommunizieren
zu müssen.
-
Die
Verarbeitungselementknoten und der erste Satz von Router können ein
oder mehrere zweidimensional Hyperkubus-Systeme bilden. Ein Beispiel
für ein
Mehrprozessor-Computersystem mit einer zweidimensionalen (2D) Hyperkubus-Topologie, das
nicht unter die beanspruchte Erfindung fällt, ist in 3 gezeigt.
In 3 sind die vier Router 150 mit 0 bis
3 nummeriert und als ein zweidimensionaler Hyperkubus mitein ander
verbunden. Bei einer Ausführungsform
umfasst der 2D-Hyperkubus bis zu 64 Prozessoren, weil jeder der
vier Router mit bis zu 16 Prozessoren kommuniziert, wie in 2 gezeigt.
In der nachstehenden ausführlichen
Beschreibung sind die Cluster nur zur Illustration in einem zweidimensionalen
Hyperkubus konfiguriert. Die Erfindung ist nicht auf die Anordnung
des ersten Satzes von Routern in einem zweidimensionalen Hyperkubus
beschränkt. Alternative
Ausführungsformen,
bei denen der erste Satz von Routern in unterschiedlichen Topologien gruppiert
ist, fallen ebenfalls unter den Umfang der Erfindung.
-
Bei
einem Beispiel, das nicht unter die beanspruchte Erfindung fällt, ist
ein Mehrprozessor-Computersystem ohne die Verwendung von Metaroutern mit
bis zu 128 Prozessoren aufgebaut. Ein solches Beispiel ist in 4 gezeigt,
in dem ein erster Cluster 400 und ein zweiter Cluster 402 als
zweidimensionale Hyperkuben angeordnet sind. Wie in 4 gezeigt,
sind die Router eines ersten Clusters 400 und eines zweiten
Clusters 402 miteinander verbunden, um einen dreidimensionalen
(3D) Hyperkubus zu bilden. Der 3D-Hyperkubus besteht aus acht Routern 150,
nummeriert von 0 bis 7. Jeder einzelne dieser Router kann ein Router
mit acht Ports sein, der mit vier Verarbeitungselementknoten verbunden
ist, wie der in 2 gezeigte Router. Bei Verarbeitungselementknoten
mit jeweils vier Prozessoren verbindet der 3D-Hyperkubus bis zu
128 Prozessoren.
-
Größere Systemkonfigurationen
und die entsprechenden logischen Topologien nach der Erfindung,
zum Beispiel Systeme mit 128 oder mehr Prozessoren, sind nachstehend
beschrieben. Die größeren Systeme
nach der Erfindung arbeiten mit einem zweiten Satz von Routern (nachstehend
als „Metarouter" bezeichnet) zur
Verbindung der Cluster. Die neuartigen Netztopologien nach der vorliegenden
Erfindung erlauben zwei Clustern die direkte Kommunikation, ohne
Nachrichten durch einen dritten Cluster leiten zu müssen. Anstatt
Nachrichten durch einen dritten Cluster zu leiten, sind die Router
in jedem Cluster über
die Metarouter mit allen anderen Cluster verbunden.
-
Wie
in 5 bis 16 gezeigt,
ist jeder Router entweder direkt mit einem Router eines anderen
Clusters verbunden oder er ist unter Verwendung von einem oder mehr
Metaroutern mit einem Router eines anderen Clusters verbunden. Bei
den in 5 bis 16 gezeigten
beispielhaften Ausführungsformen
sind die Verbindungen von einem einzelnen Router in einem Cluster
zu Routern in allen anderen Clustern durch bestimmte Linienstile
dargestellt. Die gestrichelten Linien in 5 bis 16 geben
die Ver bindungen von einem ersten Router in einem ersten Cluster
zu einem einzelnen Router in jedem der anderen Cluster an. Die durchgehenden
Linien in 5 bis 16 geben
die Verbindungen von einem zweiten Router in dem ersten Cluster
zu einem zweiten Router in jedem der anderen Cluster an. Die gepunkteten
Linien in 5 bis 16 geben
die Verbindungen von einem dritten Router in dem ersten Cluster
zu einem dritten Router in jedem der anderen Cluster an. Die Strichpunktlinien
in 5 bis 16 geben
die Verbindungen von einem vierten Router in einem ersten Cluster
zu einem vierten Router in jedem der anderen Cluster an.
-
5 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Systeme mit 129 bis 160 Prozessoren. Die logische Topologie umfasst drei
Cluster 502, 504 und 506, die mit zwei
Metaroutern 508 und 510 miteinander verbunden
sind. Ein erster Cluster 502 weist bei der beispielhaften
Ausführungsform
64 Prozessoren auf, und der zweite Cluster 504 weist ebenfalls
64 Prozessoren auf. Der dritte Cluster 506 kann eine beliebige
Anzahl von 1 bis 32 Prozessoren aufweisen, so dass insgesamt 129
bis 160 Prozessoren in dem in 5 gezeigten Mehrprozessor-Computersystem
erhalten werden.
-
Ein
Router in jedem der drei Cluster 502, 504 und 506 ist
mit einem anderen Router in jedem der anderen drei Cluster 502, 504 und 506 über die
Metarouter 508 und 510 verbunden. Gestrichelte
Linien geben die Verbindung zwischen einem ersten Router in einem
ersten Cluster und einem einzelnen Router in jedem der anderen Cluster
an. Der erste Router 512 in einem ersten Cluster 502 ist
mit einem ersten Router 520 in einem zweiten Cluster 504 über einen Metarouter 508 verbunden.
Der erste Router 512 in dem ersten Cluster 502 ist
außerdem
mit einem ersten Router 530 in einem dritten Cluster 506 über den Metarouter 508 verbunden.
-
In
gleicher Weise geben die durchgehenden Linien die Verbindung zwischen
einem zweiten Router in dem ersten Cluster und einem zweiten Router in
jedem der anderen Cluster an. Der zweite Router 514 in
dem ersten Cluster 502 ist mit einem zweiten Router 522 in
dem zweiten Cluster 504 über einen Metarouter 510 verbunden.
Der zweite Router 514 in dem ersten Cluster 502 ist
auch mit einem zweiten Router 532 in dem dritten Cluster 506 über den
Metarouter 510 verbunden. In gleicher Weise geben die gepunkteten
Linien die Verbindung zwischen einem dritten Router in dem ersten
Cluster und einem dritten Router in jedem der anderen Cluster an,
und die Strichpunktlinien in den Diagramm geben die Verbindung zwischen
einem vierten Router in dem ersten Cluster und einem vierten Router
in jedem der anderen Cluster an. Der dritte Router 516 und
der vierte Router 518 in dem ersten Cluster 502 sind
direkt mit einem dritten Router 524 und einem vierten Router 528 in
dem zweiten Cluster 504 verbunden. Bei dieser Konfiguration
fehlen in dem dritten Cluster 506 der dritte Router und
der vierte Router. Daher kommuniziert, wie in 5 gezeigt,
jeder der Router in einem Cluster mit einem Router in jedem der
anderen Cluster entweder über
eine direkte Verbindung oder über
einen oder mehrere Metarouter. Dies beseitigt die Abhängigkeit,
dass ein Cluster mit einem anderen Cluster über einen dritten Cluster kommunizieren muss,
wodurch ein flexibleres System entsteht. Die Topologien nach der
vorliegenden Erfindung ermöglichen
die direkte Kommunikation der Cluster miteinander ohne die Kommunikation über einen
dritten Cluster.
-
6 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Mehrprozessor-Computersysteme mit 161 bis 192 Prozessoren. Die logische
Topologie umfasst drei Cluster 602, 604 und 606,
die mit vier Metaroutern 608, 609, 610 und 611 miteinander
verbunden sind. Bei einer alternativen Ausführungsform werden zwei Multiport-Metarouter
anstelle der vier Metarouter 608, 609, 610 und 611 verwendet.
Ein erster Cluster 602 weist bei der in 6 gezeigten
beispielhaften Ausführungsform
64 Prozessoren auf, und ein zweite Cluster 604 weist ebenfalls
64 Prozessoren auf. Ein dritter Cluster 606 kann eine beliebige
Anzahl von 32 bis 64 Prozessoren aufweisen, so dass insgesamt 161
bis 192 Prozessoren in dem in 6 gezeigten
Mehrprozessor-Computersystem
erhalten werden.
-
Ein
Router in jedem der drei Cluster 602, 604 und 606 ist
mit einem anderen Router in jedem der anderen drei Cluster 602, 604 und 606 über die
Metarouter 608, 609, 610 und 611 verbunden.
Der erste Router 612 in einem ersten Cluster 602 ist
mit einem ersten Router 620 in einem zweiten Cluster 604 über einen
Metarouter 608 verbunden. Der erste Router 612 in
dem ersten Cluster 602 ist außerdem mit einem ersten Router 630 in
einem dritten Cluster 606 über den Metarouter 608 verbunden.
Die Verbindungen zwischen dem ersten Router 612 in dem
ersten Cluster 602 und jedem der anderen Cluster sind in 6 mit
gestrichelten Linien angegeben.
-
In
gleicher Weise ist der zweite Router 614 in dem ersten
Cluster 602 mit einem zweiten Router 622 in dem
zweiten Cluster 604 über
einen Metarouter 610 verbunden. Der zweite Router 614 in
dem ersten Cluster 602 ist auch mit einem zweiten Router 632 in
dem dritten Cluster 606 über den Metarouter 610 verbunden.
Die Verbindungen zwi schen dem zweiten Router 614 in dem
ersten Cluster 602 und jedem der anderen Cluster sind in 6 mit
durchgehenden Linien angegeben. In gleicher Weise geben die gepunkteten
Linien in 6 die Verbindungen zwischen
einem dritten Router 616 in dem ersten Cluster 602 und
jedem der anderen Cluster an. Der dritte Router 616 in
dem ersten Cluster 602 ist mit einem dritten Router 624 in
dem zweiten Cluster 604 über den Metarouter 609 verbunden.
Der dritte Router 616 in dem ersten Cluster 602 ist
auch mit einem dritten Router 634 in dem dritten Cluster 606 über den
Metarouter 609 verbunden. Darüber hinaus geben die Strichpunktlinien
in 6 die Verbindungen zwischen einem vierten Router 618 in
dem ersten Cluster 602 und jedem der anderen Cluster an.
Der vierte Router 618 in dem ersten Cluster 602 ist
mit einem vierten Router 628 in dem zweiten Cluster 604 über den
Metarouter 611 verbunden. Der vierte Router 618 in
dem ersten Cluster 602 ist auch mit einem vierten Router 636 in
dem dritten Cluster 606 über den Metarouter 611 verbunden.
Daher kommuniziert, wie in 6 gezeigt,
jeder der Router in einem Cluster mit einem Router in jedem der
anderen Cluster über
Metarouter.
-
7 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Mehrprozessor-Computersysteme mit 193 bis 224 Prozessoren. Die logische
Topologie umfasst vier Cluster 702, 704, 706 und 707,
die mit vier Metaroutern 708, 709, 710 und 711 miteinander
verbunden sind. Bei einer alternativen Ausführungsform werden zwei Multiport-Metarouter
anstelle der vier Metarouter 708, 709, 710 und 711 verwendet.
Bei der in 7 gezeigten beispielhaften Ausführungsform
weisen ein erster Cluster 702, ein zweiter Cluster 704 und
ein dritter Cluster 706 jeweils 64 Prozessoren auf. Ein
vierter Cluster 707 weist eine beliebige Anzahl von 1 bis
64 Prozessoren auf, so dass insgesamt 193 bis 224 Prozessoren in
dem in 7 gezeigten Mehrprozessor-Computersystem erhalten
werden.
-
Ein
Router in jedem der vier Cluster 702, 704, 706 und 707 ist
mit einem anderen Router in jedem der anderen vier Cluster 702, 704, 706 und 707 über einen
der Metarouter 708, 709, 710 und 711 verbunden.
Die Verbindungen zwischen dem ersten Router 712 in dem
ersten Cluster 702 und jedem der anderen Cluster sind in 7 mit
gestrichelten Linien angegeben. Der erste Router 712 in
einem ersten Cluster 702 ist mit einem ersten Router 720 in
einem zweiten Cluster 704 über einen Metarouter 708 verbunden.
Der erste Router 712 in dem ersten Cluster 702 ist
außerdem
mit einem ersten Router 730 in einem dritten Cluster 706 über den
Metarouter 708 verbunden. Wie in 7 gezeigt,
ist darüber
hinaus der erste Router 712 in dem ersten Cluster 702 mit
einem ersten Router 738 in einem vierten Cluster 707 über den
Metarouter 708 verbunden.
-
Die
Verbindungen zwischen dem zweiten Router 714 in dem ersten
Cluster 702 und jedem der anderen Cluster sind in 7 mit
durchgehenden Linien angegeben. Der zweite Router 714 in
dem ersten Cluster 702 ist mit einem zweiten Router 722 in dem
zweiten Cluster 704 über
einen Metarouter 710 verbunden. Der zweite Router 714 in
dem ersten Cluster 702 ist auch mit einem zweiten Router 732 in dem
dritten Cluster 706 über
den Metarouter 710 verbunden. Darüber hinaus ist in 7 der
zweite Router 714 in dem ersten Cluster 702 mit
einem zweiten Router 740 in einem vierten Cluster 707 über den Metarouter 708 verbunden.
-
In
gleicher Weise geben die gepunkteten Linien in 7 die
Verbindungen zwischen einem dritten Router 716 in dem ersten
Cluster 702 und jedem der anderen Cluster an. Der dritte
Router 716 in dem ersten Cluster 702 ist mit einem
dritten Router 724 in dem zweiten Cluster 704 über den
Metarouter 709 verbunden. Der dritte Router 716 in
dem ersten Cluster 702 ist auch mit einem dritten Router 734 in
dem dritten Cluster 706 über den Metarouter 709 verbunden.
In gleicher Weise geben die Strichpunktlinien in 7 die
Verbindungen zwischen einem vierten Router 718 in dem ersten
Cluster 702 und jedem der anderen Cluster an. Der vierte
Router 710 in dem ersten Cluster 702 ist mit einem
vierten Router 728 in dem zweiten Cluster 704 über den
Metarouter 711 verbunden. Der vierte Router 710 in
dem ersten Cluster 702 ist auch mit einem vierten Router 736 in
dem dritten Cluster 706 über den Metarouter 711 verbunden.
-
Daher
kommuniziert, wie in 7 gezeigt, jeder der Router
in einem Cluster mit einem Router in jedem der anderen Cluster über Metarouter.
Außerdem
lässt sich
das in 7 gezeigte System mit 224 Prozessoren problemlos
durch Erweitern des in 6 gezeigten Systems mit 192
Prozessoren einrichten. Zuerst wird das Mehrprozessorsystem in 7 durch
Hinzufügen
des vierten Clusters 707 gebildet. Danach werden die Verbindungen
von dem Metarouter 708 zu einem ersten Router 738 in
dem vierten Cluster 707 hinzugefügt. Als Drittes werden die
Verbindungen von dem Metarouter 710 zu dem zweiten Router 740 in
einem vierten Cluster 707 hinzugefügt. Auf diese Weise lässt sich
ein System mit 192 Prozessoren nach der vorliegenden Erfindung zu einem System
mit 224 Prozessoren erweitern, ohne den ersten, den zweiten und
den dritten Cluster 702, 704 und 706 neu
verkabeln zu müssen,
um die Konfiguration zu erweitern.
-
8 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Mehrprozessor-Computersysteme mit 225 bis 256 Prozessoren. Die logische
Topologie umfasst vier Cluster 802, 804, 806 und 807,
die mit vier Metaroutern 808, 809, 810 und 811 miteinander
verbunden sind. Bei der in 8 gezeigten
beispielhaften Ausführungsform weisen
ein erster Cluster 802, ein zweiter Cluster 804 und
ein dritter Cluster 806 jeweils 64 Prozessoren auf. Zusätzlich kann
ein vierter Cluster 807 zwischen 32 und 64 Prozessoren
aufweisen, so dass insgesamt 225 bis 256 Prozessoren in dem in 8 gezeigten
Mehrprozessor-Computersystem erhalten werden.
-
Ein
Router in jedem der vier Cluster 802, 804, 806 und 807 ist
mit einem anderen Router in jedem der anderen vier Cluster 802, 804, 806 und 807 über einen
der Metarouter 808, 809, 810 und 811 verbunden.
Die Verbindungen zwischen dem ersten Router 812 in dem
ersten Cluster 802 und jedem der anderen Cluster sind in 8 mit
gestrichelten Linien angegeben. Der erste Router 812 in
einem ersten Cluster 802 ist mit einem ersten Router 820 in
einem zweiten Cluster 804 über einen Metarouter 808 verbunden.
Der erste Router 812 in dem ersten Cluster 802 ist
außerdem
mit einem ersten Router 830 in einem dritten Cluster 806 über den
Metarouter 808 verbunden. Außerdem ist der erste Router 812 in
dem ersten Cluster 802 mit einem ersten Router 838 in
einem vierten Cluster 807 über den Metarouter 808 verbunden.
-
Die
Verbindungen zwischen dem zweiten Router 814 in dem ersten
Cluster 802 und jedem der anderen Cluster sind in 8 mit
durchgehenden Linien angegeben. Der zweite Router 814 in
dem ersten Cluster 802 ist mit einem zweiten Router 822 in dem
zweiten Cluster 804 über
einen Metarouter 810 verbunden. Der zweite Router 814 in
dem ersten Cluster 802 ist auch mit einem zweiten Router 832 in dem
dritten Cluster 806 über
den Metarouter 810 verbunden, und der zweite Router 814 in
dem ersten Cluster 802 ist mit einem zweiten Router 840 in
einem vierten Cluster 807 über den Metarouter 808 verbunden.
-
In
gleicher Weise geben die gepunkteten Linien in 8 die
Verbindungen zwischen einem dritten Router 816 in dem ersten
Cluster 802 und jedem der anderen Cluster an. Der dritte
Router 816 in dem ersten Cluster 802 ist mit einem
dritten Router 824 in dem zweiten Cluster 804 über den
Metarouter 809 verbunden. Der dritte Router 816 in
dem ersten Cluster 802 ist auch mit einem dritten Router 834 in
dem dritten Cluster 806 über den Metarouter 809 verbunden.
Darüber
hinaus lässt
sich das in 7 gezeigte System mit 224 Prozessoren
in 8 durch Hinzufügen
eines Verarbeitungselementknotens und eines dritten Routers 842 in
dem vierten Cluster 807 und Verbinden des dritten Routers 816 in
dem ersten Cluster 802 mit dem dritten Router 842 in
dem vierten Cluster 807 über den Metarouter 809 erweitern.
-
In
gleicher Weise geben die Strichpunktlinien in 8 die
Verbindungen zwischen einem vierten Router 818 in dem ersten
Cluster 802 und jedem der anderen Cluster an. Der vierte
Router 818 in dem ersten Cluster 802 ist mit einem
vierten Router 828 in dem zweiten Cluster 804 über den
Metarouter 811 verbunden. Der vierte Router 818 in
dem ersten Cluster 802 ist auch mit einem vierten Router 836 in
dem dritten Cluster 806 über den Metarouter 811 verbunden.
Darüber
hinaus lässt
sich das in 7 gezeigte System mit 224 Prozessoren
in 8 durch Hinzufügen
eines Verarbeitungselementknotens und eines vierten Routers 844 und
Verbinden des vierten Routers 818 in dem ersten Cluster 802 mit
dem vierten Router 844 in dem vierten Cluster 807 über den
Metarouter 811 erweitern.
-
Wie
in 8 gezeigt, kommuniziert wieder jeder der Router
in einem Cluster mit einem Router in jedem der anderen Cluster über Metarouter.
Außerdem
lässt sich
das in 8 gezeigte System mit 256 Prozessoren problemlos
durch Erweitern des in 7 gezeigten Systems mit 224
Prozessoren einrichten. Auf diese Weise lässt sich ein System mit 224
Prozessoren nach der vorliegenden Erfindung zu einem System mit
256 Prozessoren erweitern, indem lediglich Verarbeitungselementknoten,
Verbindungen und Router zu dem vierten Cluster 807 hinzugefügt werden.
Die Erweiterung des Systems erfordert keine Neukonfiguration oder
Neuverkabelung des ersten, des zweiten oder des dritten Clusters 702, 704 und 706 in 7.
-
9 bis 16 zeigen
beispielhafte Ausführungsformen
von Mehrprozessorsystemen mit mehr als 256 Prozessoren. Die in 9 bis 16 gezeigten
Mehrprozessorsysteme werden durch Erweiterung der in 8 gezeigten
Konfiguration mit bis zu 256 Prozessoren aufgebaut. Das in 8 gezeigte
System mit 256 Prozessoren weist vier Cluster auf, die als 2D-Hyperkuben
konfiguriert und über
Metarouter miteinander verbunden sind. Nach der vorliegenden Erfindung
werden Mehrprozessorsysteme mit mehr als 256 Prozessoren durch Hinzufügen von Cluster
zu der in 8 gezeigten Konfiguration und Verbinden
jedes der Cluster mit den anderen Cluster in der Konfiguration durch
einen oder mehrere Metarouter konfiguriert.
-
9 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Mehrprozessor-Computersysteme mit bis zu 288 Prozessoren. Das in 9 gezeigte
System mit 288 Prozessoren lässt
sich ohne weiteres durch Erweitern des in 8 gezeigten
Systems mit 256 Prozessoren einrichten. Ein fünfter Cluster 962 wird
zu dem Mehrprozessorsystem hinzugefügt, und zwei zusätzliche
Metarouter 950 und 952 werden ebenfalls zu dem
Mehrprozessorsystem hinzugefügt.
Verbindungen von dem Metarouter 950 zu einem ersten Router 970 in
dem fünften
Cluster 962 und zu einem weiteren Metarouter werden hinzugefügt. Außerdem werden
Verbindungen von dem Metarouter 952 zu einem zweiten Router 972 in
dem fünften
Cluster 962 und zu einem weiteren Metarouter hinzugefügt. Auf
diese Weise lässt sich
ein System mit 256 Prozessoren nach der vorliegenden Erfindung ohne
weiteres zu einem System mit 288 Prozessoren erweitern, ohne das
ursprüngliche
System mit 256 Prozessoren neu konfigurieren zu müssen.
-
10 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Mehrprozessor-Computersysteme mit bis zu 320 Prozessoren. Das in 10 gezeigte
System mit 320 Prozessoren lässt
sich ohne weiteres durch Erweitern des in 9 gezeigten
Systems mit 288 Prozessoren einrichten. Ein sechster Cluster 1064 wird
zu dem Mehrprozessorsystem hinzugefügt. Verbindungen von dem Metarouter 1050 zu
einem ersten Router 1078 in dem sechsten Cluster 1064 werden
hinzugefügt.
Außerdem
werden Verbindungen von dem Metarouter 1052 zu einem zweiten
Router 1080 in dem sechsten Cluster 1064 hinzugefügt. Wie
in 10 gezeigt, lässt
sich ein System mit 288 Prozessoren nach der vorliegenden Erfindung
ohne weiteres zu einem System mit 320 Prozessoren erweitern, ohne
das ursprüngliche
System mit 288 Prozessoren neu konfigurieren zu müssen.
-
11 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Mehrprozessor-Computersysteme mit bis zu 352 Prozessoren. Das in 11 gezeigte
System mit 352 Prozessoren lässt
sich ohne weiteres durch Erweitern des in 10 gezeigten
Systems mit 320 Prozessoren einrichten. Ein dritter Router 1174 (und
ein entsprechender Verarbeitungselementknoten) und ein vierter Router 1176 (und
ein entsprechender Verarbeitungselementknoten) werden zu dem fünften Cluster 1162 des
Mehrprozessorsystems hinzugefügt.
Verbindungen von dem Metarouter 1154 (der ebenfalls zu
dem Mehrprozessorsystem hinzugefügt
wird) zu dem dritten Router 1174 in dem fünften Cluster 1162 werden hinzugefügt. Außerdem werden
Verbindungen von dem Metarouter 1156 (der ebenfalls zu
dem System hinzugefügt
wird) zu dem vierten Router 1176 in dem fünften Cluster 1162 hinzugefügt. Die
neuen Metarouter 1154 und 1156 werden außerdem mit
den vorherigen Metaroutern verbunden. Wie in 11 gezeigt,
lässt sich
ein System mit 320 Prozessoren nach der vorliegenden Erfindung ohne
weiteres zu einem System mit 352 Prozessoren erweitern, ohne das
ursprüngliche
System mit 320 Prozessoren neu konfigurieren zu müssen.
-
12 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Mehrprozessor-Computersysteme mit bis zu 384 Prozessoren. Das in 12 gezeigte
System mit 384 Prozessoren lässt
sich ohne weiteres durch Erweitern des in 11 gezeigten
Systems mit 352 Prozessoren einrichten. Ein dritter Router 1282 und
ein vierter Router 1284 und die entsprechenden Verarbeitungselementknoten
werden zu dem sechsten Cluster 1264 des Mehrprozessorsystems
hinzugefügt.
Verbindungen von dem Metarouter 1254 zu dem dritten Router 1282 in
dem sechsten Cluster 1264 werden hinzugefügt. Außerdem werden
Verbindungen von dem Metarouter 1256 zu dem vierten Router 1284 in
dem sechsten Cluster 1264 hinzugefügt. Wie in 12 gezeigt,
lasst sich ein System mit 352 Prozessoren nach der vorliegenden
Erfindung ohne weiteres zu einem System mit 384 Prozessoren erweitern,
ohne das ursprüngliche
System mit 352 Prozessoren neu konfigurieren zu müssen.
-
13 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Mehrprozessor-Computersysteme mit bis zu 416 Prozessoren. Das in 13 gezeigte
System mit 416 Prozessoren lässt
sich ohne weiteres durch Erweitern des in 12 gezeigten
Systems mit 384 Prozessoren einrichten. Ein siebter Cluster 1386 mit
einem ersten Router 1388 und einem zweiten Router 1389 wird
zu dem Mehrprozessorsystem hinzugefügt. Zwei Metarouter 1355 und 1357 werden
ebenfalls hinzugefügt. Verbindungen
von dem Metarouter 1355 zu dem ersten Router 1388 in
dem siebten Cluster 1386 und zu einem der Metarouter werden
hinzugefügt.
Außerdem
werden Verbindungen von dem Metarouter 1357 zu dem zweiten
Router 1389 in dem siebten Cluster 1386 und zu
einem der anderen Metarouter hinzugefügt. Wie in 13 gezeigt,
lässt sich
ein System mit 384 Prozessoren nach der vorliegenden Erfindung ohne
weiteres zu einem System mit 416 Prozessoren erweitern, ohne das
ursprüngliche
System mit 384 Prozessoren neu konfigurieren zu müssen.
-
14 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Mehrprozessor-Computersysteme mit bis zu 448 Prozessoren. Das in 14 gezeigte System
mit 448 Prozessoren lässt
sich ohne weiteres durch Erweitern des in 13 gezeigten
Systems mit 416 Prozessoren einrichten. Ein achter Cluster 1487 mit
einem ersten Router 1492 (und einem entsprechenden Verarbeitungselementknoten)
und einem zweiten Router 1493 (und einem entsprechenden
Verarbeitungselementknoten) wird zu dem Mehrprozessorsystem hinzugefügt. Verbindungen
von dem Metarouter 1455 zu dem ersten Router 1492 in
dem achten Cluster 1487 werden hinzugefügt. Außerdem werden Verbindungen
von dem Metarouter 1457 zu dem zweiten Router 1493 in
dem achten Cluster 1487 hinzugefügt. Wie in 14 gezeigt,
lässt sich
ein System mit 416 Prozessoren nach der vorliegenden Erfindung ohne weiteres
zu einem System mit 448 Prozessoren erweitern, ohne das ursprüngliche
System mit 416 Prozessoren neu konfigurieren zu müssen.
-
15 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Mehrprozessor-Computersysteme mit bis zu 480 Prozessoren. Das in 15 gezeigte
System mit 480 Prozessoren lässt
sich ohne weiteres durch Erweitern des in 14 gezeigten
Systems mit 448 Prozessoren einrichten. Ein dritter Router 1590 und
ein vierter Router 1591 werden zu dem siebten Cluster 1586 des
Mehrprozessorsystems hinzugefügt.
Außerdem
werden zwei Metarouter 1558 und 1559 hinzugefügt, und Verbindungen
von den beiden Metaroutern 1558 und 1559 zu einem
weiteren Metarouter werden ebenfalls hinzugefügt. Verbindungen von dem Metarouter 1558 zu
dem dritten Router 1590 in dem siebten Cluster 1586 werden
hinzugefügt.
Außerdem
werden Verbindungen von dem Metarouter 1559 zu dem vierten
Router 1591 in dem siebten Cluster 1586 hinzugefügt. Wie
in 15 gezeigt, lässt
sich ein System mit 448 Prozessoren nach der vorliegenden Erfindung
ohne weiteres zu einem System mit 480 Prozessoren erweitern, ohne
das ursprüngliche
System mit 448 Prozessoren neu konfigurieren zu müssen.
-
16 zeigt
eine beispielhafte Ausführungsform
einer logischen Topologie für
Mehrprozessor-Computersysteme mit bis zu 512 Prozessoren. Das in 16 gezeigte
System mit 512 Prozessoren lässt
sich ohne weiteres durch Erweitern des in 15 gezeigten
Systems mit 480 Prozessoren einrichten. Ein dritter Router 1694 (und
ein entsprechender Verarbeitungselementknoten) und ein vierter Router 1695 (und
ein entsprechender Verarbeitungselementknoten) werden zu dem achten
Cluster 1687 des Mehrprozessorsystems hinzugefügt. Verbindungen
von dem Metarouter 1658 zu dem dritten Router 1694 in
dem achten Cluster 1687 werden hinzugefügt. Außerdem werden Verbindungen
von dem Metarouter 1659 zu dem vierten Router 1695 in
dem achten Cluster 1687 hinzugefügt. Wie in 16 gezeigt,
lässt sich
ein System mit 480 Prozessoren nach der vorliegenden Erfindung ohne
weiteres zu einem System mit 512 Prozessoren erweitern, ohne das
ursprüngliche
System mit 480 Prozessoren neu konfigurieren zu müssen.
-
17 zeigt
eine beispielhafte Ausführungsform
eines Systems nach 16. Jeder Router (19 und 27)
ist mit vier Computerknoten (C-Modul) verbunden. Die übrigen vier
Ports sind mit anderen Router verbunden. Der Router 38 stellt
die Verbindung zwischen Router, Router 27 und anderen Router 38 bereit.
-
Nach
der vorstehenden Beschreibung ermöglicht die vorliegende Erfindung
die Erweiterung kleinerer Systeme zu größeren Systemen mit einer minimalen
Beeinträchtigung
der ursprünglichen
Systemkonfiguration. Obwohl hier zur Beschreibung der bevorzugten
Ausführungsform
bestimmte Ausführungsformen
gezeigt und beschrieben worden sind, ist für den Fachmann ersichtlich,
dass eine Vielzahl von alternativen und/oder gleichwertigen Implementierungen,
berechnet zur Erzielung der gleichen Zwecke, anstelle der gezeigten
und beschriebenen bestimmten Ausführungsformen verwendet werden können, ohne
vom Umfang der vorliegenden Erfindung abzuweichen. Ein Fachmann
auf dem Gebiet der Mechanik, Elektromechanik, Elektrotechnik und Computertechnik
wird ohne weiteres erkennen, dass die vorliegende Erfindung in sehr
vielen verschiedenen Ausführungsformen
realisiert werden kann. Die vorliegende Anmeldung schließt etwaige
Adaptationen oder Variationen der hierin diskutierten bevorzugten
Ausführungsformen
ein. Daher ist ausdrücklich
festgelegt, dass die vorliegende Erfindung lediglich durch die Ansprüche und
deren Entsprechungen eingeschränkt
ist.