DE60034470T2 - Massiv paralleles Datenverarbeitungssystem und skalierbares Verbindungsnetz für ein solches System - Google Patents

Massiv paralleles Datenverarbeitungssystem und skalierbares Verbindungsnetz für ein solches System Download PDF

Info

Publication number
DE60034470T2
DE60034470T2 DE60034470T DE60034470T DE60034470T2 DE 60034470 T2 DE60034470 T2 DE 60034470T2 DE 60034470 T DE60034470 T DE 60034470T DE 60034470 T DE60034470 T DE 60034470T DE 60034470 T2 DE60034470 T2 DE 60034470T2
Authority
DE
Germany
Prior art keywords
routers
router
level
cluster
clusters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE60034470T
Other languages
English (en)
Other versions
DE60034470D1 (de
Inventor
Martin M. Elberon DENEROFF
Gregory M. Altoona THORSON
Randal S. Chippewa Falls PASSINT
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.)
Graphics Properties Holdings Inc
Original Assignee
Silicon Graphics Inc
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 Silicon Graphics Inc filed Critical Silicon Graphics Inc
Publication of DE60034470D1 publication Critical patent/DE60034470D1/de
Application granted granted Critical
Publication of DE60034470T2 publication Critical patent/DE60034470T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/17306Intercommunication techniques
    • G06F15/17312Routing techniques specific to parallel machines, e.g. wormhole, store and forward, shortest path problem congestion
    • 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/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • G06F15/17343Direct connection machines, e.g. completely connected computers, point to point communication networks wherein the interconnection is dynamically configurable, e.g. having loosely coupled nearest neighbor architecture
    • 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/17381Two dimensional, e.g. mesh, torus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Landscapes

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

Description

  • 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.

Claims (32)

  1. Skalierbares Verbindungsnetz für ein massiv paralleles Datenverarbeitungssystem, aufweisend: mehrere Erstebenen-Router (512, 516, 518, 520, 522, 524, 530, 532), die jeweils zum Leiten von Nachrichten zwischen Verarbeitungselementknoten betreibbar sind und direkt mit mindestens einem Verarbeitungselementknoten und mindestens einem anderen Erstebenen-Router verbunden sind, so dass mehrere Cluster (502, 504, 510) von Erstebenen-Routern so gebildet sind, dass jeder Cluster von Erstebenen-Routern aus mehreren Erstebenen-Routern und einer Gruppe von Verarbeitungselementknoten, die durch jene miteinander verbunden sind, gebildet ist, und mehrere Metarouter (508, 510), die jeweils zum Leiten von Nachrichten zwischen Erstebenen-Routern betreibbar sind und die mehrere Sätze von Erstebenen-Routern bilden, die jeweils aus mehreren Erstebenen-Routern bestehen, die durch einen oder mehrere einzig für diesen Satz vorhandene Metarouter miteinander verbunden sind, so dass die Erstebenen-Router von verschiedenen Sätzen durch verschiedene Metarouter miteinander verbunden sind und sich die Erstebenen-Router, die sich im gleichen Satz von Erstebenen-Router befinden, in verschiedenen Cluster von Erstebenen-Routern befinden.
  2. Massiv paralleles Datenverarbeitungssystem mit mehreren Verarbeitungselementknoten (122, 123, 124, 125) und einem skalierbaren Verbindungsnetz nach Anspruch 1.
  3. System nach Anspruch 2, wobei die Cluster (502, 504, 510) jeweils einen zweidimensionalen Hyperkubus darstellen.
  4. System nach Anspruch 2, wobei die Cluster (502, 504, 510) jeweils einen n-dimensionalen Hyperkubus darstellen.
  5. System nach Anspruch 4, wobei n weniger als sieben ist.
  6. System nach Anspruch 2, wobei mindestens einer der Cluster (502, 504, 510) einen Hyperkubus von bis zu sechs Dimensionen darstellt.
  7. System nach Anspruch 2, wobei das skalierbare Verbindungsnetz 129 bis 160 Verarbeitungselementknoten (122, 123, 124, 125) verbindet.
  8. System nach Anspruch 2, wobei das skalierbare Verbindungsnetz 161 bis 192 Verarbeitungselementknoten (122, 123, 124, 125) verbindet.
  9. System nach Anspruch 2, wobei das skalierbare Verbindungsnetz 193 bis 224 Verarbeitungselementknoten (122, 123, 124, 125) verbindet.
  10. System nach Anspruch 2, wobei das skalierbare Verbindungsnetz 225 bis 256 Verarbeitungselementknoten (122, 123, 124, 125) verbindet.
  11. System nach Anspruch 2, wobei das skalierbare Verbindungsnetz bis zu 288 Verarbeitungselementknoten (122, 123, 124, 125) verbindet.
  12. System nach Anspruch 2, wobei das skalierbare Verbindungsnetz bis zu 320 Verarbeitungselementknoten (122, 123, 124, 125) verbindet.
  13. System nach Anspruch 2, wobei das skalierbare Verbindungsnetz bis zu 352 Verarbeitungselementknoten (122, 123, 124, 125) verbindet.
  14. System nach Anspruch 2, wobei das skalierbare Verbindungsnetz bis zu 384 Verarbeitungselementknoten (122, 123, 124, 125) verbindet.
  15. System nach Anspruch 2, wobei das skalierbare Verbindungsnetz bis zu 416 Verarbeitungselementknoten (122, 123, 124, 125) verbindet.
  16. System nach Anspruch 2, wobei das skalierbare Verbindungsnetz bis zu 448 Verarbeitungselementknoten (122, 123, 124, 125) verbindet.
  17. System nach Anspruch 2, wobei das skalierbare Verbindungsnetz bis zu 480 Verarbeitungselementknoten (122, 123, 124, 125) verbindet.
  18. System nach Anspruch 2, wobei das skalierbare Verbindungsnetz bis zu 512 Verarbeitungselementknoten (122, 123, 124, 125) verbindet.
  19. System nach Anspruch 2, wobei das skalierbare Verbindungsnetz mehr als 512 Verarbeitungselementknoten (122, 123, 124, 125) verbindet.
  20. System nach Anspruch 2, wobei die Erstebenen-Router (512, 514, 516, 518; 520, 522, 524, 528; 530, 532) die Verarbeitungselementknoten unter Bildung von drei Cluster (502, 504, 506) verbinden, von denen jeder Cluster einen ersten und einen zweiten Erstebenen-Router (512, 520, 530; 514, 522, 534) und zwei der Cluster (502, 504) auch einen dritten und einen vierten Erstebenen-Router (516, 518; 524, 528) aufweisen, wobei die ersten Erstebenen-Router der drei Cluster über einen ersten (508) von zwei Metaroutern, die zweiten Erstebenen-Router der drei Cluster über einen zweiten (510) von zwei Metaroutern, die beiden dritten Erstebenen-Router direkt miteinander und die beiden vierten Erstebenen-Router direkt miteinander verbunden sind.
  21. System nach Anspruch 2, wobei die Erstebenen-Router die Verarbeitungselementknoten unter Bildung von drei Cluster (602, 604, 606) verbinden, die jeweils die gleiche Anzahl an Erstebenen-Routern (612, 614, 616, 618; 620, 622, 624, 628; 630, 632, 634, 636) aufweisen, wie es Metarouter (608, 609, 610, 611) gibt, wobei entsprechende Erstebenen-Router in verschiedenen Cluster über einen entsprechenden Metarouter verbunden sind.
  22. System nach Anspruch 2, wobei die Erstebenen-Router die Verarbeitungselementknoten unter Bildung von vier Cluster (702, 706, 707, 604) verbinden, von denen jeder Cluster einen ersten (712, 720, 730, 738) und einen zweiten (714, 722, 732, 740) Erstebenen-Router und drei der Cluster auch einen dritten (716, 724, 734) und einen vierten (718, 728, 736) Erstebenen-Router aufweisen, wobei die ersten, die zweiten, die dritten und die vierten Erstebenen-Router entsprechenderweise mit einem ersten (708), einem zweiten (710), einem dritten (709) und einem vierten (711) Metarouter verbunden sind.
  23. System nach Anspruch 2, wobei die Erstebenen-Router die Verarbeitungselementknoten unter Bildung von vier Cluster (802, 804, 806, 807) verbinden, die jeweils die gleiche Anzahl an Erstebenen-Routern aufweisen, wie es Metarouter (808, 810, 809, 811) gibt, wobei entsprechende Erstebenen-Router in verschiedenen Cluster über einen entsprechenden Metarouter verbunden sind.
  24. System nach Anspruch 23, mit einem zusätzlichen Cluster (962) mit einer vorgegebenen Anzahl an Erstebenen-Routern (970, 972) und einem zusätzlichen Metarouter (950, 952) für jeden Erstebenen-Router im zusätzlichen Cluster, wobei jeder zusätzliche Metarouter mit einem entsprechenden der zusätzlichen Erstebenen-Router und mit einem entsprechenden der Metarouter verbunden ist.
  25. System nach Anspruch 23, mit drei zusätzlichen Cluster (1062, 1064), wobei für jeden zusätzlichen Cluster jeder Erstebenen-Router (1070, 1072, 1078, 1080) mit einem verschiedenen entsprechenden zusätzlichen Metarouter (1050, 1052) verbunden ist, entsprechende Erstebenen-Router in den verschiedenen zusätzlichen Cluster mit dem gleichen zusätzlichen Metarouter verbunden sind und jeder der zusätzlichen Metarouter mit einem entsprechenden der Metarouter verbunden ist.
  26. System nach Anspruch 25, wobei die zusätzlichen Cluster (1062, 1064; 962; 1162, 1164) jeweils zwei oder vier Erstebenen-Router aufweisen.
  27. System nach Anspruch 25 oder 26, wobei die zusätzlichen Cluster (1062, 1064) jeweils die gleiche Anzahl an Erstebenen-Router aufweisen.
  28. System nach Anspruch 25, 26 oder 27, mit einem weiteren Cluster (1386), wobei jeder Erstebenen-Router (1388, 1389) des weiteren Clusters mit einem entsprechenden weiteren Metarouter (1355, 1357) und jeder weitere Metarouter mit einem entsprechenden der zusätzlichen Metarouter verbunden ist.
  29. System nach Anspruch 25, 26 oder 27, mit zwei weiteren Cluster (1486, 1487), wobei für jeden weiteren Cluster jeder Erstebenen-Router (1488, 1489, 1492, 1493) mit einem entsprechenden weiteren Metarouter (1455, 1457) und jeder weitere Metarouter mit einem entsprechenden der zusätzlichen Metarouter verbunden ist.
  30. System nach Anspruch 28 oder 29, wobei jeder weitere Cluster (1486, 1487; 1586, 1587; 1686, 1687) entweder zwei oder vier Erstebenen-Router aufweist.
  31. System nach Anspruch 28, 29 oder 30, wobei jeder weitere Cluster (1686, 1687) die gleiche Anzahl an Erstebenen-Router aufweist.
  32. System nach Anspruch 2, wobei jeder direkt mit einem Erstebenen-Router verbundene Metarouter entweder mit einem anderen Metarouter oder keinem anderen Metarouter direkt verbunden ist und jeder nicht direkt mit einem Erstebenen-Router verbundene Metarouter mit entweder einem oder zwei anderen Metaroutern direkt verbunden ist.
DE60034470T 1999-09-29 2000-09-29 Massiv paralleles Datenverarbeitungssystem und skalierbares Verbindungsnetz für ein solches System Expired - Fee Related DE60034470T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US408972 1982-08-17
US09/408,972 US6973559B1 (en) 1999-09-29 1999-09-29 Scalable hypercube multiprocessor network for massive parallel processing
PCT/US2000/027024 WO2001024029A2 (en) 1999-09-29 2000-09-29 Network topology for a scalable multiprocessor system

Publications (2)

Publication Number Publication Date
DE60034470D1 DE60034470D1 (de) 2007-05-31
DE60034470T2 true DE60034470T2 (de) 2008-01-03

Family

ID=23618525

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60034470T Expired - Fee Related DE60034470T2 (de) 1999-09-29 2000-09-29 Massiv paralleles Datenverarbeitungssystem und skalierbares Verbindungsnetz für ein solches System

Country Status (5)

Country Link
US (5) US6973559B1 (de)
EP (1) EP1222557B1 (de)
JP (1) JP4480315B2 (de)
DE (1) DE60034470T2 (de)
WO (1) WO2001024029A2 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6973559B1 (en) * 1999-09-29 2005-12-06 Silicon Graphics, Inc. Scalable hypercube multiprocessor network for massive parallel processing
US7436775B2 (en) * 2003-07-24 2008-10-14 Alcatel Lucent Software configurable cluster-based router using stock personal computers as cluster nodes
US20050138324A1 (en) * 2003-12-19 2005-06-23 International Business Machines Corporation Processing unit having a dual channel bus architecture
US7486619B2 (en) * 2004-03-04 2009-02-03 International Business Machines Corporation Multidimensional switch network
US9990607B1 (en) * 2006-01-13 2018-06-05 Wensheng Hua Balanced network and method
US7826455B2 (en) * 2007-11-02 2010-11-02 Cisco Technology, Inc. Providing single point-of-presence across multiple processors
US7872990B2 (en) * 2008-04-30 2011-01-18 Microsoft Corporation Multi-level interconnection network
US8001310B2 (en) 2009-03-04 2011-08-16 Hewlett-Packard Development Company, L.P. Scalable computer node having an expansion module that is socket-compatible with a central processing unit
US9479358B2 (en) * 2009-05-13 2016-10-25 International Business Machines Corporation Managing graphics load balancing strategies
US8307116B2 (en) * 2009-06-19 2012-11-06 Board Of Regents Of The University Of Texas System Scalable bus-based on-chip interconnection networks
TWI410087B (zh) * 2010-12-20 2013-09-21 Ind Tech Res Inst 多核心晶片網路
IN2014CN02291A (de) 2011-10-26 2015-06-19 Ibm
US9294419B2 (en) * 2013-06-26 2016-03-22 Intel Corporation Scalable multi-layer 2D-mesh routers
JP6337606B2 (ja) 2014-05-15 2018-06-06 富士通株式会社 情報処理装置、経路決定方法及びプログラム
RU2635896C1 (ru) * 2016-07-07 2017-11-16 Акционерное общество "Научно-исследовательский институт вычислительных комплексов им. М.А. Карцева" (АО "НИИВК им. М.А. Карцева") Высокопроизводительная вычислительная платформа на базе процессоров с разнородной архитектурой
US10057334B2 (en) 2016-11-14 2018-08-21 Futurewei Technologies, Inc. Quad full mesh and dimension driven network architecture
RU2708794C2 (ru) * 2018-05-21 2019-12-11 Общество с ограниченной ответственностью "Центр инженерной физики при МГУ имени М.В. Ломоносова" Вычислительный модуль для многопотоковой обработки цифровых данных и способ обработки с использованием данного модуля
US11750531B2 (en) 2019-01-17 2023-09-05 Ciena Corporation FPGA-based virtual fabric for data center computing

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5113523A (en) * 1985-05-06 1992-05-12 Ncube Corporation High performance computer system
US4860201A (en) * 1986-09-02 1989-08-22 The Trustees Of Columbia University In The City Of New York Binary tree parallel processor
EP0275176B1 (de) 1987-01-12 1994-05-18 Fujitsu Limited Datenübertragungspufferschaltungen für Datenaustausch
JPS63172362A (ja) 1987-01-12 1988-07-16 Fujitsu Ltd プロセツサ間通信方式
US5187801A (en) * 1990-04-11 1993-02-16 Thinking Machines Corporation Massively-parallel computer system for generating paths in a binomial lattice
US5133073A (en) * 1990-05-29 1992-07-21 Wavetracer, Inc. Processor array of N-dimensions which is physically reconfigurable into N-1
US5765011A (en) 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
US5794059A (en) * 1990-11-13 1998-08-11 International Business Machines Corporation N-dimensional modified hypercube
US5625836A (en) * 1990-11-13 1997-04-29 International Business Machines Corporation SIMD/MIMD processing memory element (PME)
IE920032A1 (en) * 1991-01-11 1992-07-15 Marconi Gec Ltd Parallel processing apparatus
US5263124A (en) * 1991-02-27 1993-11-16 Neural Systems Corporation Method for producing a binary tree, pattern recognition and binary vector classification method using binary trees, and system for classifying binary vectors
US5471580A (en) * 1991-10-01 1995-11-28 Hitachi, Ltd. Hierarchical network having lower and upper layer networks where gate nodes are selectively chosen in the lower and upper layer networks to form a recursive layer
JPH05204876A (ja) 1991-10-01 1993-08-13 Hitachi Ltd 階層型ネットワークおよび階層型ネットワークを用いたマルチプロセッサシステム
IT1260848B (it) * 1993-06-11 1996-04-23 Finmeccanica Spa Sistema a multiprocessore
US5669008A (en) * 1995-05-05 1997-09-16 Silicon Graphics, Inc. Hierarchical fat hypercube architecture for parallel processing systems
US6041358A (en) * 1996-11-12 2000-03-21 Industrial Technology Research Inst. Method for maintaining virtual local area networks with mobile terminals in an ATM network
US6230252B1 (en) * 1997-11-17 2001-05-08 Silicon Graphics, Inc. Hybrid hypercube/torus architecture
US6334177B1 (en) * 1998-12-18 2001-12-25 International Business Machines Corporation Method and system for supporting software partitions and dynamic reconfiguration within a non-uniform memory access system
US6973559B1 (en) 1999-09-29 2005-12-06 Silicon Graphics, Inc. Scalable hypercube multiprocessor network for massive parallel processing

Also Published As

Publication number Publication date
WO2001024029A2 (en) 2001-04-05
JP4480315B2 (ja) 2010-06-16
US20060282648A1 (en) 2006-12-14
US8433816B2 (en) 2013-04-30
WO2001024029A3 (en) 2001-08-30
US6973559B1 (en) 2005-12-06
EP1222557B1 (de) 2007-04-18
US20130246653A1 (en) 2013-09-19
US20090113172A1 (en) 2009-04-30
EP1222557A2 (de) 2002-07-17
US20160337229A1 (en) 2016-11-17
US9514092B2 (en) 2016-12-06
DE60034470D1 (de) 2007-05-31
JP2003510720A (ja) 2003-03-18

Similar Documents

Publication Publication Date Title
DE60034470T2 (de) Massiv paralleles Datenverarbeitungssystem und skalierbares Verbindungsnetz für ein solches System
DE4425552C2 (de) Gatterarray
DE4417575C2 (de) Verbesserte Array-Architektur für programmierbare logische Zellen
DE69924486T2 (de) Spezielle schnittstellenarchitektur für eine hybride schaltung
DE2646296C3 (de) Elektronische assoziative Mehrrechner Schaltungsanordnung mit einem modularen Aufbau
DE60033624T2 (de) Rekonfigurierungsverfahren für ein gatter von identischen funktionselementen
DE69734927T2 (de) Digitalsignalverarbeitung
DE112017000855B4 (de) Energiesparender zeitlich gemultiplexter neurosynaptischer Kern zum Implementieren neuronaler Netze
DE102009053578A1 (de) Verfahren und Vorrichtung zum Durchführen eines parallelen Routens unter Verwendung einer Multithreaded-Routing-Prozedur
DE112009000899T5 (de) Verfahren und Vorrichtung zur hierarchischen Verkehrsführung in gitterbasierten Multiprozessorsystemen
DE602004009324T2 (de) Integrierte datenverarbeitungsschaltung mit mehreren programmierbaren prozessoren
WO2002029600A2 (de) Zellenarordnung mit segmentierterwischenzellstruktur
DE112014003287T5 (de) Dynamische Bildung von symmetrischen Multiprozessordomänen (SMP-Domänen)
DE19704044A1 (de) Verfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine
DE60012639T2 (de) Verbindungsressourcen für programmierbare logische integrierte schaltungen
DE19606629A1 (de) Mehrprozessor-Zentraleinheit
DE60022196T2 (de) Datenspeichersystem
DE69828890T2 (de) Konfigurierbare speichersteuerungsvorrichtung und verfahren hierfür
EP2249217B1 (de) Automatisierungsgerät und Automatisierungssystem
DE112017006045T5 (de) Übertragungsvorrichtung und verfahren zum hinzufügen einer route
DE102018219295A1 (de) System mit mehreren funktionsmodulen und adressierungsverfahren für die funktionsmodule
WO1999032988A1 (de) Vorrichtung zum hierarchischen verbinden einer mehrzahl von funktionseinheiten in einem prozessor
DE112018007537T5 (de) Zusammengepackte mehrebenen-netzwerke
DE60211111T2 (de) Verfahren zur Berechnung der Wege in einer mehrstufigen Vermittlungsstelle mittels Ausnutzung der symmetrischen Verbindungen
DE3707585C2 (de)

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee