DE102012112676A1 - Hochleistungsnetzwerk mit Nächster-Nachbar-Kommunikation - Google Patents

Hochleistungsnetzwerk mit Nächster-Nachbar-Kommunikation Download PDF

Info

Publication number
DE102012112676A1
DE102012112676A1 DE102012112676.3A DE102012112676A DE102012112676A1 DE 102012112676 A1 DE102012112676 A1 DE 102012112676A1 DE 102012112676 A DE102012112676 A DE 102012112676A DE 102012112676 A1 DE102012112676 A1 DE 102012112676A1
Authority
DE
Germany
Prior art keywords
switching
units
switching unit
switching units
processor
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.)
Ceased
Application number
DE102012112676.3A
Other languages
English (en)
Inventor
Simon Heybrock
Tilo Wettig
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.)
Universitaet Regensburg
Original Assignee
Universitaet Regensburg
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 Universitaet Regensburg filed Critical Universitaet Regensburg
Priority to DE102012112676.3A priority Critical patent/DE102012112676A1/de
Priority to PCT/EP2013/074580 priority patent/WO2014095235A1/de
Publication of DE102012112676A1 publication Critical patent/DE102012112676A1/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • 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/17387Three dimensional, e.g. hypercubes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules

Landscapes

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

Abstract

Eine Netzwerkkonfiguration für eine Nächste-Nachbar-Kommunikation weist einzelnen Schalteinheiten bzw. Prozessoreinheiten lokal eigene Adressräume zu und ermöglicht die Verbindung benachbarter Prozessoreinheiten über jeweils wenige Komponenten. Ein solches Netzwerk ist beliebig skalierbar und ermöglicht eine geringe Latenz bei hoher Bandbreite. Es lässt sich beispielsweise vollständig als PCI-Express-Netzwerk bzw. mit PCI-Express-Standardkomponenten betreiben.

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf eine Netzwerkkonfiguration für eine Nächste-Nachbar-Kommunikation, insbesondere für Anwendungen in Supercomputern.
  • Hintergrund und Stand der Technik
  • Supercomputer spielen auf vielen Gebieten der Grundlagenforschung und der industriellen Anwendung eine zentrale Rolle. Viele Berechnungen bzw. Simulationen im Bereich der Quantenphysik (z. B. Quantenfeldtheorie oder Festkörperphysik), molekularen Modellierung, Fluiddynamik (z. B. Turbulenz und Flugzeugdesign), Klimaforschung, Wettervorhersage oder Finanzwissenschaft wären ohne moderne Supercomputer nicht möglich.
  • Moderne Supercomputer bestehen im Allgemeinen aus Zehntausenden oder Hunderttausenden Prozessoreinheiten, von denen jede einzelne den Prozessoreinheiten, die auch in konventionellen PCs verwendet werden, ähnlich ist. Die Rechenleistung des Supercomputers ergibt sich durch eine geschickte Verteilung der Berechnung auf die einzelnen Einheiten. Dem Netzwerk, welches die Prozessoreinheiten miteinander verbindet, kommt deshalb eine entscheidende Rolle zu. Es soll sowohl eine hohe Bandbreite, d. h. eine hohe Datenübertragungskapazität, als auch eine niedrige Latenz, d. h. eine niedrige Übertragungszeit zum Senden einer Nachricht zwischen zwei Prozessoreinheiten, aufweisen.
  • Die meisten gegenwärtig verwendeten Netzwerktopologien beruhen auf einem hierarchischen Ansatz. Die Knoten des Netzwerks sind Platinen, die jeweils eine oder wenige Prozessoreinheiten umfassen. Innerhalb eines Knotens wird üblicherweise PCI-Express oder ein anderes schnelles Busprotokoll für die Kommunikation zwischen den einzelnen Prozessoreinheiten eingesetzt. Die Kommunikation mit anderen Knoten erfordert die Übersetzung dieses Protokolls in ein Routing-Netzwerkprotokoll, beispielsweise Ethernet oder Infiniband. Die einzelnen Knoten sind dabei über Schalter bzw. Switches verbunden. Diese Konfiguration hat mehrere Nachteile:
    • – Die Latenz des Netzwerks ist unnötig hoch, weil die Daten auf ihrem Weg vorn Sender zum Empfänger zu viele Komponenten queren müssen.
    • – Die Bandbreite des Netzwerks ist typischerweise niedriger als die Bandbreite zwischen den Komponenten innerhalb des Knotens. In einem geswitchten Netzwerk muss die Bandbreite zwischen den Schaltern darüber hinaus viel größer sein als die Bandbreite zwischen einem Knoten und einem Schalter.
    • – Die große Zahl der Komponenten im Netzwerk führt zu einer entsprechend großen Leistungsaufnahme. Elektrische Leistung ist mittlerweile einer der größten Kostentreiber beim Betrieb von Supercomputern. Eine hohe Leistungsaufnahme führt auch zu großem Aufwand für die Kühlung.
  • Eine größere Bandbreite und eine niedrige Latenz können unter Verwendung anwendungsspezifischer integrierter Schaltungen (ASIC) oder feldprogrammierbarer Gatteranordnungen (Field Programmable Gate Array, FPGA) erreicht werden. Solche Lösungen sind jedoch teuer und aufwendig, da nicht auf Standardkomponenten zurückgegriffen werden kann.
  • Es besteht daher Bedarf nach einer verbesserten Netzwerkkonfiguration, welche eine hohe Bandbreite und geringe Latenz ermöglicht und gleichzeitig weitestgehend mit Standardkomponenten realisierbar und beliebig skalierbar ist.
  • Übersicht über die Erfindung
  • Diese Aufgabe wird durch eine Netzwerkkonfiguration mit den Merkmalen der unabhängigen Ansprüche 1 und 11 gelöst. Die abhängigen Ansprüche beziehen sich auf vorteilhafte Weiterbildungen.
  • Eine erfindungsgemäße Netzwerkkonfiguration für eine Nächste-Nachbar-Kommunikation gemäß einem ersten Aspekt der Erfindung umfasst mehrere erste Schalteinheiten, welche gemeinsam eine D-dimensionale Netzwerktopologie bilden, wobei D ≥ 2 und jeder der ersten Schalteinheiten ein Adressraum zugeordnet ist, sowie mehrere zweite Schalteinheiten, wobei jede der zweiten Schalteinheiten mindestens zwei Anschlüsse umfasst und über diese Anschlüsse mit mindestens zwei der ersten Schalteinheiten verbunden ist, wobei zumindest eine der Anschlüsse dazu eingerichtet ist, zwischen unterschiedlichen Adressräumen zu übertragen, und wobei die Anzahl der Anschlüsse pro zweiter Schalteinheit, welche dazu eingerichtet sind, zwischen unterschiedlichen Adressräumen zu übertragen, kleiner als D ist. Die Netzwerkkonfiguration umfasst auch mehrere Prozessoreinheiten, wobei jede Prozessoreinheit mit einer zweiten Schalteinheit verbunden ist und wobei zumindest an einer ersten Teilmenge der Prozessoreinheiten je zwei in der D-dimensionalen Netzwerktopologie benachbarte Prozessoreinheiten bzw. zweite Schalteinheiten über höchstens eine der ersten Schalteinheiten miteinander verbunden sind.
  • Die Erfinder haben erkannt, dass in Supercomputer-Anwendungen der weitaus überwiegende Teil des Datenaustausches üblicherweise zwischen den in der Netzwerktopologie benachbarten Prozessoreinheiten erfolgt. Der effizienten Ausgestaltung der Nächste-Nachbar-Kommunikation kommt daher für die Gesamtleistungsfähigkeit des Netzwerks eine entscheidende Rolle zu. Die erfindungsgemäße Netzwerkkonfiguration ermöglicht einen effizienten Datenaustausch zwischen Prozessoreinheiten, welche in der Netzwerktopologie benachbart sind, indem jede Prozessoreinheit mit einer zweiten Schalteinheit verbunden ist, welche über eine verhältnismäßig geringe Anzahl größerer erster Schalteinheiten an die benachbarten Prozessoreinheiten bzw. zweiten Schalteinheiten ankoppelt. Die Anzahl der Anschlüsse pro erster Schalteinheit kann dabei größer sein als die Anzahl der Anschlüsse pro zweiter Schalteinheit. Die ersten Schalteinheiten bilden dabei die zentralen Knoten des Netzwerks, denen jeweils ein eigener Adressraum zugeordnet ist. Insbesondere kann jeder der ersten Schalteinheiten eineindeutig ein eigener Adressraum zugeordnet sein. Jedem dieser Adressräume können dann mehrere zweite Schalteinheiten bzw. mit ihnen verbundene Prozessoreinheiten zugeordnet werden. Um den Datenaustausch zwischen Prozessoreinheiten, die unterschiedlichen Adressräumen zugeordnet sind, zu ermöglichen, umfasst jede der zweiten Schalteinheiten mindestens einen Anschluss, welcher dazu eingerichtet ist, Nachrichten als nicht-transparente Brücke oder nicht-transparenter Anschluss zwischen unterschiedlichen Adressräumen zu übertragen. Je zwei benachbarte Prozessoreinheiten können dabei über höchstens eine der ersten Schalteinheiten und vorzugsweise über höchstens zwei der zweiten Schalteinheiten miteinander verbunden sein. Diese Kombination mehrerer großer erster Schalteinheiten mit mehreren kleinen zweiten Schalteinheiten ermöglicht auch in zwei- oder höherdimensionalen Netzwerken eine effiziente Nächste-Nachbar-Kommunikation, obwohl die Anzahl der Anschlüsse pro zweite Schalteinheit, welche zwischen unterschiedlichen Adressräumen übertragen, kleiner als die Dimension ist.
  • Die erfindungsgemäße Konfiguration erlaubt auf diese Weise eine Nächste-Nachbar-Kommunikation mit einer verhältnismäßig geringen Anzahl von Komponenten. Die Leistungsaufnahme ist daher vergleichsweise gering. Gleichzeitig können eine geringe Latenz und eine hohe Bandbreite erreicht werden.
  • Die zweiten Schalteinheiten bzw. die mit ihnen verbundenen Prozessoreinheiten können ein (hyper-)kubisches Gitter bilden.
  • Die erfindungsgemäße Netzwerkkonfiguration lässt sich beispielsweise vollständig als PCI-Express-Netzwerk ausbilden. Die ersten Schalteinheiten und die zweiten Schalteinheiten sind dann PCI-Express-Schalter. Anschlüsse von PCI-Express-Schaltern, welche den Wechsel zwischen unterschiedlichen Adressräumen ermöglichen, werden als sogenannte nicht-transparente Anschlüsse (NT-Anschlüsse, NT-Ports) bezeichnet. Anschlüsse, welche nicht dazu eingerichtet sind, zwischen unterschiedlichen Adressräumen zu wechseln, werden zur Abgrenzung als transparente Anschlüsse bezeichnet. In der erfindungsgemäßen Konfiguration brauchen nur die zweiten Schalteinheiten mit NT-Anschlüssen ausgebildet sein, wobei deren Anzahl kleiner als die Dimension der Netzwerktopologie sein kann. Auf diese Weise lassen sich mit kommerziell erhältlichen Standardkomponenten beliebig große höherdimensionale Netzwerke ausbilden, insbesondere auch als Torus geschlossene Netzwerke. Die Übersetzung des PCI-Express-Protokolls in ein Ethernet- oder Infiniband-Protokoll ist nicht mehr erforderlich, wodurch die Bandbreite zusätzlich erhöht und die Latenz zusätzlich herabgesetzt wird. Ein Routing-Netzwerk (wie Ethernet oder Infiniband) kann aber zusätzlich bereitgestellt werden, um ein effizientes Routing zwischen nicht-nächsten Nachbarn zu ermöglichen.
  • In einer bevorzugten Ausführungsform sind alle benachbarten Prozessoreinheiten bzw. zweiten Schalteinheiten in der D-dimensionalen Netzwerktopologie über höchstens eine der ersten Schalteinheiten miteinander verbunden.
  • In einer Weiterbildung der Erfindung sind zumindest in der ersten Teilmenge je zwei in der D-dimensionalen Netzwerktopologie benachbarte Prozessoreinheiten über höchstens einen Anschluss einer zweiten Schalteinheit, welcher dazu eingerichtet ist, zwischen unterschiedlichen Adressräumen zu übertragen, miteinander verbunden. Vorzugsweise sind alle in der D-dimensionalen Netzwerktopologie benachbarten Prozessoreinheiten über höchstens einen solchen Anschluss miteinander verbunden. Die Latenz lässt sich dadurch weiter herabsetzen.
  • In einer bevorzugten Ausführungsform sind zumindest in der ersten Teilmenge je zwei in der D-dimensionalen Netzwerktopologie benachbarte Prozessoreinheiten bzw. zweite Schalteinheiten über genau eine der ersten Schalteinheiten und/oder über genau einen Anschluss einer zweiten Schalteinheit, welcher dazu eingerichtet, zwischen unterschiedlichen Adressräumen zu übertragen, miteinander verbunden.
  • In einer Weiterbildung der Erfindung sind zumindest in einer zweiten Teilmenge der Prozessoreinheiten zwei in der D-dimensionalen Netzwerktopologie benachbarte Prozessoreinheiten direkt miteinander verbunden, insbesondere nicht über eine erste Schalteinheit und/oder nicht über einen Anschluss einer zweiten Schalteinheit, welche dazu eingerichtet ist, zwischen unterschiedlichen Adressräumen zu übertragen, miteinander verbunden.
  • Eine „direkte” Verbindung im Sinne der Erfindung schließt jedoch nicht aus, dass die Verbindung über Anschlüsse von PCI-Express-Schaltern, insbesondere transparente Anschlüsse, erfolgt. Mit einer direkten Verbindung ist in einer Ausführungsform der Erfindung insbesondere keine Kopplung der Prozessoreinheiten gänzlich ohne zwischengeschaltete Schalteinheiten oder Schaltelemente gemeint.
  • Eine direkte Kopplung zwischen benachbarten Prozessoreinheiten der zweiten Teilmenge ohne Umweg über erste Schalteinheiten oder NT-Anschlüsse ermöglicht eine weitere Herabsetzung der Latenz. Die Erfinder haben erkannt, dass sich eine direkte Verbindung ohne Umweg über erste Schalteinheiten beispielsweise in einer Hybridtopologie erreichen lässt, in welche mehrere (D – 1)-dimensionale erfindungsgemäße Netzwerkkonfigurationen Hyperebenen einer D-dimensionalen erfindungsgemäßen Netzwerkkonfiguration bilden, wobei die Verbindung zwischen benachbarten Hyperebenen jeweils nicht über erste Schalteinheiten erfolgt. Die Verbindung zwischen den Hyperebenen kann beispielsweise über Anschlüsse der zweiten Schalteinheiten, welche zwischen unterschiedlichen Adressräumen übertragen, erfolgen.
  • In einer solchen Hybridtopologie kann jede der zweiten Schalteinheiten mindestens zwei Anschlüsse aufweisen, welche dazu eingerichtet sind, zwischen unterschiedlichen Adressräumen zu übertragen, wobei die zweite Schalteinheit über einen ersten dieser Anschlüsse und eine erste Schalteinheit mit einer in der D-dimensionalen Netzwerktopologie benachbarten zweiten Schalteinheit verbunden ist und über einen zweiten dieser Anschlüsse mit einer in der D-dimensionalen Netzwerktopologie benachbarten weiteren zweiten Schalteinheit direkt verbunden ist, insbesondere nicht über eine erste Schalteinheit verbunden ist.
  • Zusätzlich oder alternativ können in der erfindungsgemäßen Netzwerkkonfiguration benachbarte Prozessoreinheiten auch weder über eine erste Schalteinheit noch über einen NT-Anschluss einer zweiten Schalteinheit miteinander verbunden sein. Eine solche Konfiguration ermöglicht beispielsweise die Ausbildung von Subnetzwerken von Prozessoreinheiten, welche jeweils einer zweiten Schalteinheit zugeordnet sind und direkt mit der zweiten Schalteinheit verbunden sind.
  • In einer Weiterbildung der Erfindung umfasst die Netzwerkkonfiguration (N + 1)/2n erste Schalteinheiten pro zweiter Schalteinheit, wobei N die Anzahl der Anschlüsse pro zweiter Schalteinheit ist, welche dazu eingerichtet sind, zwischen unterschiedlichen Adressräumen zu übertragen, und n = 2 × D/(N + 1).
  • In dem D-dimensionalen Netzwerk sind in dieser Konfiguration nur verhältnismäßig wenige große erste Schalteinheiten bzw. verhältnismäßig wenige unterschiedliche Adressräume notwendig, so dass sich hohe Bandbreiten erzielen lassen.
  • In einer Weiterbildung der Erfindung weist jede der ersten Schalteinheiten mindestens 2n Anschlüsse auf, wobei n = 2 × D/(N + 1).
  • Eine erfindungsgemäße Netzwerkkonfiguration für eine Nächste-Nachbar-Kommunikation gemäß einem zweiten, unabhängigen Aspekt der Erfindung umfasst mehrere Schalteinheiten, welche eine D-dimensionale Netzwerktopologie bilden, wobei jeder der Schalteinheiten ein Adressraum zugeordnet ist, sowie mehrere Prozessoreinheiten, wobei jede Prozessoreinheit mit einer Schalteinheit verbunden ist. Jede der Schalteinheiten weist mindestens 2 × D Anschlüsse auf, über welche sie mit den in der D-dimensionalen Netzwerktopologie jeweils benachbarten Schalteinheiten verbunden ist, wobei eine erste Teilmenge von mindestens D Anschlüssen dazu eingerichtet sind, zwischen unterschiedlichen Adressräumen zu übertragen, und eine zweite Teilmenge von D Anschlüssen nicht dazu eingerichtet sind, zwischen unterschiedlichen Adressräumen zu übertragen, wobei ein Anschluss der ersten Teilmenge einer ersten Schalteinheit jeweils mit einem Anschluss der zweiten Teilmenge einer zweiten Schalteinheit verbunden ist.
  • Die Erfinder haben erkannt, dass sich in einer D-dimensionalen Netzwerktopologie ein effizientes und schnelles Netzwerk mit geringer Latenz und hoher Bandbreite auch ohne erste Schalteinheiten erreichen lässt, wenn die Anzahl der Anschlüsse pro Schalteinheit, welche dazu eingerichtet sind, zwischen unterschiedlichen Adressräumen zu übertragen, mindestens der Dimension D der Netzwerktopologie entspricht. Jeder der Schalteinheiten kann dabei ein eigener Adressraum eineindeutig zugeordnet sein. Die Übertragung der Datenpakete zwischen unterschiedlichen Adressräumen erfolgt daran über die Anschlüsse der ersten Teilmenge.
  • Vorzugsweise umfasst jede der Schalteinheiten eine Mehrzahl von Schaltelementen, wobei die Schaltelemente zusammengenommen mindestens D Anschlüsse aufweisen, welche dazu eingerichtet sind, zwischen unterschiedlichen Adressräumen zu übertragen, und zusammengenommen D Anschlüsse aufweisen, welche nicht dazu eingerichtet sind, zwischen unterschiedlichen Adressräumen zu übertragen. Beispielsweise kann jede der Schalteinheiten D Schaltelemente umfassen, die jeweils einen transparenten Anschluss und einen nicht-transparenten Anschluss aufweisen.
  • In einer bevorzugten Ausführungsform ist die Netzwerktopologie zweidimensional, und jede der Schalteinheiten umfasst zwei Schaltelemente, welche jeweils einen ersten Anschluss und einen zweiten Anschluss aufweisen, wobei der erste Anschluss dazu eingerichtet ist, zwischen unterschiedlichen Adressräumen zu übertragen, und der zweite Anschluss nicht dazu eingerichtet ist, zwischen unterschiedlichen Adressräumen zu übertragen.
  • In dieser Ausführungsform lässt sich durch Kombination zweier Schaltelemente mit jeweils einem NT-Anschluss ein Schaltelement mit zwei NT-Anschlüssen bereitstellen, welches in einer zweidimensionalen Netzwerkkonfiguration ein symmetrisches PCI-Express-Netzwerk mit hoher Bandbreite und geringer Latenz ermöglicht.
  • Die Schalteinheiten bzw. Schaltelemente können PCI-Express-Schalter sein, welche eine PCI-Express-Verbindung zwischen je zwei Anschlüssen bereitstellen.
  • Auch gemäß dem zweiten Aspekt der Erfindung lässt sich auf diese Weise ein beliebig erweiterbares, gegebenenfalls zu einem Torus geschlossenes Netzwerk auf Grundlage allein des PCI-Express-Protokolls bereitstellen.
  • Beschreibung bevorzugter Ausführungsformen
  • Die Merkmale und zahlreichen Vorteile der erfindungsgemäßen Netzwerkkonfiguration lassen sich am besten anhand einer detaillierten Beschreibung bevorzugter Ausführungsbeispiele unter Bezugnahme auf die anliegenden Zeichnungen verstehen, in denen:
  • 1 eine erfindungsgemäße zweidimensionale Netzwerkkonfiguration gemäß einer ersten Ausführungsform der Erfindung veranschaulicht;
  • 2 die Schaltverbindungen in der zweidimensionalen Netzwerkkonfiguration der 1 veranschaulicht;
  • 3 schematisch eine dreidimensionale Netzwerkkonfiguration gemäß einer Ausführungsform der Erfindung veranschaulicht;
  • 4a bis 4c Querschnitte durch drei benachbarte Ebenen einer dreidimensionalen Netzwerkkonfiguration gemäß 3 darstellen;
  • 5 eine schematische Seitenansicht der dreidimensionalen Netzwerkkonfiguration gemäß 3 zeigt;
  • 6 ein Beispiel einer dreidimensionalen Netzwerkkonfiguration gemäß einer Ausführungsform der Erfindung zeigt, bei welcher der zweiten Schalteinheit mehrere Prozessoreinheiten zugeordnet sind;
  • 7 eine dreidimensionale Netzwerkkonfiguration gemäß einer weiteren Ausführungsform der Erfindung zeigt, bei welcher jede der zweiten Schalteinheiten zwei NT-Anschlüsse umfasst;
  • 8 ein eindimensionale Netzwerkkonfiguration gemäß einer Ausführungsform der Erfindung veranschaulicht; und
  • 9 eine zweidimensionale Netzwerkkonfiguration gemäß einer Ausführungsform der Erfindung veranschaulicht.
  • Die Erfindung wird im Folgenden am Beispiel eines PCI-Express-Netzwerks beschrieben. PCI-Express wurde als Erweiterungsstandard zur Verbindung von Peripheriegeräten mit dem Chipsatz eines Hauptprozessors entwickelt und stellt serielle Punkt-zu-Punkt-Verbindungen bereit, bei welchen einzelne Komponenten über Schalter bzw. Switches verbunden werden. Wie mit Bezug auf den Stand der Technik beschrieben wurde, wird PCI-Express in Netzwerkkonfigurationen für Supercomputer gegenwärtig bereits für lokale Subnetze verwendet, welche einige wenige Prozessoren koppeln. Seine Wirkungsweise und Funktionalitäten sind daher wohlbekannt, so dass hier auf eine detaillierte Beschreibung verzichtet wird.
  • Die Erfindung ist nicht auf PCI-Express-Netzwerke beschränkt, sondern lässt sich mit jedem geeigneten Netzwerkprotokoll realisieren, welches Punkt-zu-Punkt-Verbindungen über Schalter ermöglicht und Adressräume sowie die Übersetzung zwischen unterschiedlichen Adressräumen vorsieht.
  • Gemäß einer ersten Ausführungsform der Erfindung sieht das Netzwerk drei Arten von Komponenten vor:
    • (1) Mehrere Prozessoreinheiten, welche eine PCI-Express-Schnittstellen aufweisen und als PCI-Express-Endpunkt wirken können. Sie umfassen Zentralprozessoreinheiten (CPUs) oder Graphikprozessoren (GPUs) oder jeden anderen Prozessortyp, welcher in einem Netzwerk, insbesondere in einem Netzwerk eines Supercomputers, Verwendung findet. Die einzelnen Prozessoreinheiten im Netzwerk müssen auch nicht alle vom gleichen Typ sein. Oftmals stellt nicht der Prozessor selbst die PCI-Express-Schnittstelle bereit, sondern ein mit ihm verbundener Chipsatz. Auch diese Kombination eines Prozessors mit einem Chipsatz und gegebenenfalls weiteren Komponenten ist eine Prozessoreinheit im Sinne der Erfindung. Eine erfindungsgemäße Prozessoreinheit kann auch mehrere Prozessoren, gegebenenfalls Prozessoren unterschiedlichen Typs, umfassen.
    • (2) Mehrere erste Schalteinheiten, welche eine D-dimensionale Netzwerktopologie bilden, wobei D ≥ 2 und jeder der ersten Schalteinheiten ein eigener Adressraum zugeordnet ist.
    • (3) Mehrere zweite Schalteinheiten, welche typischerweise weniger Anschlüsse als die ersten Schalteinheiten aufweisen, d. h. kleiner als die ersten Schalteinheiten sind, wobei die zweiten Schalteinheiten jeweils mit einer oder mehreren Prozessoreinheiten verbunden sind und mindestens einen nicht-transparenten Anschluss (NT-Anschluss bzw. NT-Brücke) aufweisen, welcher dazu eingerichtet ist, Datenpakete zwischen unterschiedlichen Adressräumen zu übertragen.
  • Ausführungsformen mit einem NT-Anschluss pro zweitem Schaltelement
  • Mit Bezug auf die 1 bis 6 werden zunächst Ausführungsformen beschrieben, bei welchen die zweiten Schalteinheiten jeweils einen NT-Anschluss aufweisen. 1 veranschaulicht eine zweidimensionale Netzwerktopologie. Jede Prozessoreinheit 10 stellt einen Endpunkt des PCI-Express-Netzwerks dar und ist über eine Datenverbindung mit einem ersten Anschluss 14 einer zweiten Schalteinheit 16 verbunden. Der erste Anschluss 14 ist vorzugsweise ein transparenter Anschluss, welcher nicht dazu eingerichtet ist, zwischen unterschiedlichen Adressräumen zu übertragen. Die Prozessoreinheiten 10 bzw. die zugehörigen zweiten Schalteinheiten 16 bilden in der Netzwerktopologie ein logisches hyperkubisches Gitter.
  • Die zweiten Schalteinheiten 16 sind über Datenverbindungen 18 jeweils mit ersten Schalteinheiten 20 verbunden, welche jeweils im Zentrum der von den zweiten Schalteinheiten 16 ausgebildeten Hyperkuben angeordnet sind. Nicht jedem der Hyperkuben ist jedoch eine erste Schaltereinheit 20 zugeordnet. Ausgehend von einem (beliebig gewählten) ersten Hyperkubus mit einer ersten Schalteinheit 20 liegen weitere erste Schalteinheiten 20 nur in all denjenigen Hyperkuben, die von dem ersten Hyperkubus aus entlang der Hyperdiagonalen (Diagonalen in zwei Dimensionen, Raumdiagonalen in drei Dimensionen usw.) angeordnet sind. Jede erste Schalteinheit 20 ist dabei mit allen zweiten Schalteinheiten 16 verbunden, welche in den Ecken des zugehörigen Hyperkubus angeordnet sind. Auf jeweils 2D-1 zweite Schalteinheiten 16 bzw. Prozessoreinheiten 10 kommt daher jeweils eine erste Schalteinheit 20. Jede erste Schalteinheit 20 ist also mit 2D zweiten Schalteinheiten 16 verbunden. Die ersten Schalteinheiten 20 und die zweiten Schalteinheiten 16 sind dabei derart im Netzwerk angeordnet, dass die Hälfte der 2D Anschlüsse der ersten Schalteinheit 20 mit transparenten Anschlüssen 22 verbunden sind, die andere Hälfte mit nicht-transparenten Anschlüssen 24. Jeder ersten Schalteinheit 20 ist ein eigener Adressraum zugeordnet.
  • Jede zweite Schalteinheit 16 ist also in der zweidimensionalen Konfiguration der 1 mit zwei ersten Schalteinheiten 20 verbunden, und zwar in einer ersten Richtung über einen zweiten transparenten Anschluss 22, welcher nicht dazu eingerichtet ist, zwischen unterschiedlichen Adressräumen zu wechseln, und in einer zweiten Richtung über einen dritten, nicht-transparenten Anschluss 24 (NT-Anschluss), welcher dazu eingerichtet ist, zwischen unterschiedlichen Adressräumen zu wechseln. Jeder ersten Schalteinheit 20 ist daher ein eigener Adressraum zugeordnet, zu dem in der zweidimensionalen Konfiguration der 1 zwei zweite Schalteinheiten 16, 16' mit zugehörigen Prozessoreinheiten 10, 10' gehören, welche über die transparenten Anschlüsse 22, 22' angeschlossen sind. Wie in 1 gezeigt ist, kann jeder der ersten Schalteinheiten 20 bzw. jedem der Adressräume ein Verwaltungsprozessor 26 zugeordnet sein, welcher mit einem Anschluss der ersten Schalteinheit 20 verbunden ist und die Baumstruktur des Adressraums verwaltet.
  • In 1 sind aus Gründen der Übersichtlichkeit nur die Elemente eines Hyperkubus mit Bezugszeichen versehen, d. h. eine erste Schalteinheit 20 mit vier über Datenverbindungen 18, 18', 18'', 18''' angeschlossenen zweiten Schalteinheiten 16, 16', 16'', 16''' mit jeweils zugehörigen Prozessoreinheiten 10, 10', 10'', 10''', die über Datenverbindungen 14, 14', 14'', 14''' mit den zweiten Schalteinheiten 16, 16', 16'', 16''' verbunden sind. Die in 1 nicht-bezeichneten Elemente entsprechen in Aufbau und Funktion den vorangehend beschriebenen Elementen. Das Netzwerk kann in jede Raumrichtung entsprechend periodisch fortgesetzt werden und insbesondere auch zu einem Torus geschlossen werden.
  • Jede Baumstruktur des Adressraums hat in der zweidimensionalen Konfiguration der 1 sechs Endpunkte: zwei Prozessoreinheiten 10, 10' und vier nicht-transparente Anschlüsse 24, 24', 24'', 24'''. Zwei in der gezeigten Netzwerktopologie benachbarte Prozessoreinheiten 10 sind daher jeweils über zwei zweite Schalteinheiten 16 und eine erste Schalteinheit 20 miteinander verbunden, wobei jeweils genau ein nicht-transparenter Anschluss 24 gequert werden muss. Beispielsweise sind die benachbarten Prozessoreinheiten 10, 10'' über die zweite Schalteinheit 16, deren transparenten Anschluss 22, die erste Schalteinheit 20 und den nicht-transparenten Anschluss 24'' der zweiten Schalteinheit 16'' miteinander verbunden.
  • 2 zeigt schematisch die Verbindung der zweiten Schalteinheit 16 bzw. der mit ihr verbundenen Prozessoreinheit 10 (in 2 aus Gründen der Übersichtlichkeit nicht gezeigt) mit ihren vier nächsten Nachbarn 16a bis 16d. Die geschwärzten Kästchen veranschaulichen dabei jeweils einen nicht-transparenten Anschluss 24, 24a24d der zweiten Schalteinheit 16 bzw. 16a16d, während die weißen Kästchen einen transparenten Anschluss 22, 22a22d veranschaulichen.
  • Die Datenverbindung zwischen den Prozessoreinheiten 10, den zweiten Schalteinheiten 16 und den ersten Schalteinheiten 20 erfolgt jeweils über PCI-Express-Lanes, deren Anzahl im Rahmen der Erfindung ein freier Parameter ist, welcher allein durch die Prozessoreinheiten 10 und die verfügbaren Schalteinheiten beschränkt ist. Unter der Annahme, dass die Prozessoreinheiten jeweils 2 × M Lanes aufweisen, benötigt jede zweite Schalteinheit 16 einen ersten transparenten Anschluss 14 mit 2 × M Lanes. Die Anschlüsse 22, 24 der zweiten Schalteinheit 16 sowie alle Anschlüsse der ersten Schalteinheit 20 benötigen dagegen nur M Lanes pro Anschluss, weil der Datenverkehr bei den zweiten Schalteinheiten 16 jeweils in zwei Anteile aufgespalten wird.
  • Eine beispielhafte Konfiguration mit acht bzw. sechzehn Lanes ist in 1 gezeigt, wobei die Ziffer neben jeder Datenverbindung die entsprechende Anzahl von Lanes wiedergibt.
  • Optional können neben den in 1 und 2 gezeigten Verbindungen die zweiten Schalteinheiten 16 und die ersten Schalteinheiten 20 jeweils mit einem Ethernet-Netzwerk oder Infiniband-Netzwerk verbunden sein, welches als Routing-Netzwerk den Datentransfer zwischen nicht-benachbarten Prozessoreinheiten 10 ermöglicht.
  • Eine dreidimensionale Netzwerkkonfiguration gemäß einer zweiten Ausführungsform ist schematisch in 3 gezeigt. Ähnlich wie 2 zeigt 3 aus Gründen der Übersichtlichkeit jeweils nur die ersten Schalteinheiten 20, 20', 20'' und die zweiten Schalteinheiten 16, 16a16f. Mit jeder der zweiten Schalteinheiten 16, 16a16f ist mindestens eine Prozessoreinheit 10 verbunden, welche in 3 aus Gründen der Übersichtlichkeit nicht dargestellt ist. Die Verbindung zwischen den zweiten Schalteinheiten 16, 16a16f und den zugehörigen Prozessoreinheiten 10 erfolgt jeweils über erste transparente Anschlüsse 14. Jede der zweiten Schalteinheiten 16, 16a16f weist darüber hinaus zur Verbindung mit den ersten Schalteinheiten 20, 20', 20'' je mindestens zwei weitere Anschlüsse auf, von denen ein Anschluss 22, 22a22f transparent und ein Anschluss 24, 24a24f nicht-transparent ist. Wie in 2 sind auch in 3 die nicht-transparenten Anschlüsse 24, 24a24f durch schwarze Kästchen, die transparenten Anschlüsse 22 durch weiße Kästchen bezeichnet.
  • In einem dreidimensionalen Netzwerk weist jede zweite Schalteinheit 16 bzw. jede Prozessoreinheit 10 sechs nächste Nachbarn auf. Für die zweite Schalteinheit 16 sind die sechs nächsten Nachbarn in 3 mit 16a bis 16f bezeichnet. Die zweiten Schalteinheiten 16b bis 16e liegen mit der Schalteinheit 16 in einer gemeinsamen Ebene L. Die Schalteinheit 16a liegt in einer darüber liegenden Ebene K, die Schalteinheit 16f liegt in einer darunter liegenden Ebene M. Wie aus der Darstellung der 3 hervorgeht, sind zwei beliebige nächste Nachbarn wie in der vorangehend beschriebenen Ausführungsform über jeweils eine erste Schalteinheit 20 bzw. 20' und über genau einen nicht-transparenten Anschluss 24, 24a24f miteinander verbunden. Jede der ersten Schalteinheiten 20, 20' umfasst acht Anschlüsse zu den umgebenden zweiten Schalteinheiten. Zusätzlich kann jede erste Schalteinheit 20, 20' über weitere Anschlüsse mit einem Verwaltungsprozessor (in 3 nicht gezeigt) verbunden sein, welcher jeweils einen Adressbaum verwaltet.
  • Jeder der ersten Schalteinheiten 20, 20', 20'' ist also ein eigener Adressraum zugeordnet, welcher jeweils eine erste Schalteinheit und vier zweite Schalteinheiten umfasst.
  • In der Netzwerkkonfiguration der 3 sind die zweiten Schalteinheiten 16 jeweils in zweidimensionalen Hyperebenen angeordnet, welche übereinander gestapelt sind, wobei die ersten Schalteinheiten 20 jeweils zwischen zwei Ebenen angeordnet sind und diese Ebenen verbinden. In 3 sind drei Ebenen K, L, M gezeigt.
  • Die 4a bis 4c zeigen Ansichten der drei Ebenen K, L und M und ihre jeweiligen zweiten Schalteinheiten 16. Die unterhalb der jeweiligen Ebenen liegenden ersten Schalteinheiten 20 sind in den 4a bis 4c jeweils weit gestrichelt, die darüber liegenden ersten Schalteinheiten 20 jeweils eng gestrichelt angedeutet.
  • 5 zeigt eine schematische Seitenansicht der Ebenenstruktur der 3 und 4a bis 4c, wobei die Ebenen K, L, M der Übersichtlichkeit halber nur als horizontale Linien gezeichnet sind.
  • Die erfindungsgemäße Konfiguration weist gegenüber dem Stand der Technik eine Reihe wichtiger Vorteile auf:
    • (1) Die Netzwerkkonfiguration benötigt ausschließlich Standardkomponenten und kommt mit einer relativ geringen Anzahl davon aus. Die Kosten sind daher im Vergleich zu einer speziell entwickelten Netzwerkkonfiguration deutlich geringer. Zudem ist das Netzwerk beliebig skalierbar.
    • (2) Die Bandbreite des Systems wird allein durch die verfügbaren PCI-Express-Komponenten beschränkt und ist daher deutlich größer als bei konventionellen Netzwerkkonfigurationen, welche auf Ethernet-Verbindungen oder Infiniband-Verbindungen zurückgreifen. Unter der Annahme eines dreidimensionalen Netzwerks mit sechzehn Lanes gemäß PCIe 3.0 stehen 16 GB/s zur Verfügung. Sie werden in den zweiten Schalteinheiten 16 jeweils in zwei gleiche Hälften aufgespalten, wobei jede Hälfte eine Verbindung mit drei nächsten Nachbarn herstellt. Damit stehen pro Richtung und nächstem Nachbarn 2,67 GB/s zur Verfügung (falls alle Prozessoreinheiten 10 zur gleichen Zeit senden und empfangen). Falls die Kommunikation nur mit einem nächsten Nachbarn erfolgt, stehen sogar 8 GB/s zur Verfügung.
    • (3) Die Netzwerklatenz wird nur durch die Anzahl von PCI-Express-Schalteinheiten im Datenpfad zwischen dem Sender und dem Empfänger beschränkt. In den beschriebenen Ausführungsformen liegen zwischen nächsten Nachbarn jeweils drei PCI-Express-Schalteinheiten. Bei einer angenommenen Latenz von 130 ns pro Schalter für PCIe 3.0 beträgt die Gesamtlatenz nur ca. 400 (3 × 130 = 390) ns.
    • (4) Die Leistungsaufnahme des Netzwerks ist ebenfalls geringer als bei konventionellen Lösungen. Die Leistungsaufnahme hängt in der erfindungsgemäßen Konfiguration von der Anzahl der Schalteinheiten und der Anzahl der verwendeten Lanes ab. Unter der Annahme, dass jede Prozessoreinheit über 16 Lanes angebunden ist, benötigen die zweiten Schalteinheiten 16 jeweils 32 Lanes, während die ersten Schalteinheiten 20 8 × 2D + X Lanes benötigen, wobei X die Anzahl der Lanes bezeichnet, welche für die Verbindung zum Verwaltungsprozessor 26 und/oder gegebenenfalls zu einem Ethernet- oder Infiniband-Adapter benötigt werden. Unter der Annahme eines dreidimensionalen Netzwerks, welches handelsübliche 32-Lane-Schalter mit 3 W Leistungsaufnahme und handelsübliche erste Schalteinheiten mit 80 Lanes und 9 W Leistungsaufnahme verwendet, ergibt sich als gesamte Leistungsaufnahme 3 W + ¼ × 9 W = 5,25 W pro Knoten. Gegenüber der Leistungsaufnahme der Prozessoreinheiten 10, welche typischerweise ca. 200 W pro Prozessoreinheit 10 beträgt, ist die Leistungsaufnahme des Netzwerks also sehr gering.
  • Lokale Subnetzwerke
  • In einer Weiterbildung der Erfindung können mit jeder der zweiten Schalteinheiten 16 jeweils mehrere Prozessoreinheiten 10 verbunden sein und Subnetzwerke bilden. Eine solche Konfiguration ist beispielhaft in 6 gezeigt, aus Gründen der Übersichtlichkeit jedoch nur für einen Hyperwürfel. Die globale Struktur ist mit derjenigen der 3 identisch.
  • In der Darstellung der 6 ist jede zweite Schalteinheit 16 mit vier Prozessoreinheiten 10a, 10b, 10c, 10d verbunden, doch in anderen Ausführungsformen können auch weniger oder mehr Prozessoreinheiten pro zweiter Schalteinheit 16 vorgesehen sein. Aus Gründen der Übersichtlichkeit sind nur die Prozessoreinheiten zweier Untergruppen mit Bezugszeichen versehen. Die Datenverbindung innerhalb der Untergruppe der Prozessoreinheiten 10a bis 10d erfolgt dann jeweils nur über eine zweite Schalteinheit 16, d. h. je zwei ihrer transparenten Anschlüsse. Zwischen den unterschiedlichen Untergruppen erfolgt die Nächste-Nachbar-Kommunikation über die ersten Schalteinheiten 20.
  • Die Ausbildung von Unternetzwerken, wie sie in 6 gezeigt sind, reduziert die Anzahl der notwendigen Schalteinheiten und führt daher zu einer geringeren Latenz und zu geringeren Netzwerkkosten. Die Anzahl der erforderlichen Anschlüsse und Lanes pro Schalteinheit steigt jedoch. Beispielsweise sind bei Untergruppen mit jeweils zwei Prozessoreinheiten in einem dreidimensionalen Netzwerk pro zweiter Schalteinheit 16 zwei Anschlüsse mit je 2 × M Lanes und zwei Anschlüsse mit jeweils 5/3 × M Lanes erforderlich. Die erste Schalteinheit 20 erfordert acht Anschlüsse mit je 5/3 × M Lanes. Bei Untergruppen mit jeweils vier Prozessoreinheiten, wie sie in 6 gezeigt sind, sind pro zweiter Schalteinheit 16 vier Anschlüsse mit je 2 × M Lanes und zwei Anschlüsse mit je 8/3 × M Lanes erforderlich. Die erste Schalteinheit 20 erfordert dann acht Anschlüsse mit je 8/3 × M Lanes.
  • Allgemein sind in einer D-dimensionalen Netzwerkkonfiguration, bei welcher jeder zweiten Schalteinheit 16 ein Subnetzwerk mit C Prozessoreinheiten 10 zugeordnet ist, für jede zweite Schalteinheit 16 C Anschlüsse mit je 2 × M Lanes und zwei Anschlüsse mit je (2 × D-log2(C))/(2 × D) × C × M Lanes (darunter ein nicht-transparenter Anschluss) erforderlich.
  • Aufgrund der großen Anzahl erforderlicher Lanes kann es zweckmäßig sein, die ersten Schalteinheiten 20 in erste und zweite Schaltelemente 20a und 20b aufzuspalten, wobei jedes der Schaltelemente 20a und 20b einen PCI-Express-Schalter umfasst, wie in 6 gezeigt ist.
  • Um (bei angenommener Gleichverteilung der Nächsten-Nachbar-Kommunikation zwischen einzelnen Prozessoreinheiten) die Bandbreitenanforderung für die Kommunikation zwischen den Schaltelementen 20a und 20b zu minimieren, kann es dabei zweckmäßig sein, die Aufspaltung in die Schaltelemente 20a und 20b und die Topologie der Untergruppen aufeinander abzustimmen. Die Verbindung zwischen den Schaltelementen 20a und 20b sollte dabei vorzugsweise entlang einer Richtung (hier z) erfolgen, in welcher möglichst wenig Nächste-Nachbar-Kommunikation zwischen zweiten Schalteinheiten zu erwarten ist. In der Konfiguration der 6 sind die Untergruppen entlang der Ebene yz ausgebildet, so dass die meiste Nächste-Nachbar-Kommunikation zwischen zweiten Schalteinheiten in Richtung x zu erwarten ist. Die relativen Anteile dieser Nächster-Nachbar-Kommunikation entlang der Richtungen x, y und z sind in 6 jeweils durch Doppelpfeile veranschaulicht.
  • 6 zeigt weiterhin einen Verwaltungsprozessor 26, welcher mit dem ersten Schaltelement 20a verbunden ist, sowie mit dem ersten Schaltelement 20a und dem zweiten Schaltelement 20b verbundene Routing-Netzwerk-Adapter 28a bzw. 28b, beispielsweise für die Verbindung mit einem Ethernet- oder Infiniband-Netzwerk. Für jede der Komponenten 26, 28a und 28b ist an dem ersten Schaltelement 20a bzw. dem zweiten Schaltelement 20b ein zusätzlicher transparenter Anschluss erforderlich.
  • Ausführungsformen mit mehr als einem nicht-transparenten Anschluss pro zweiter Schalteinheit
  • Den vorangehend beschriebenen Ausführungsformen ist gemein, dass jede der zweiten Schalteinheiten 16 über nur einen nicht-transparenten Anschluss verfügt. Erfindungsgemäße Netzwerktopologien können jedoch auch zwei oder mehr nicht-transparente Anschlüsse pro zweiter Schalteinheit vorsehen.
  • Eine erste beispielhafte Möglichkeit besteht darin, eine D-dimensionale Netzwerkstruktur durch Stapeln (D – 1)-dimensionaler erfindungsgemäßer Netzwerkstrukturen zu erhalten. Jede der (D – 1)-dimensionalen Netzwerkstrukturen kann dabei eine erfindungsgemäße Netzwerkstruktur mit jeweils einem ersten nicht-transparenten Anschluss pro zweiter Schalteinheit sein, wie sie vorangehend mit Bezug auf die 1 bis 6 beschrieben wurden. Diese (D – 1)-dimensionalen Netzwerkstrukturen sind Hyperebenen der D-dimensionalen Netzwerkstruktur, wobei benachbarte Hyperebenen jeweils direkt über je einen zweiten nicht-transparenten Anschluss der zweiten Schalteinheiten 16 miteinander verbunden sind. Die Verbindung zwischen den zweiten Schaltelementen benachbarter Hyperebenen kann dabei in einer Richtung, beispielsweise aufwärts, über einen nicht-transparenten Anschluss, in der entgegengesetzten Richtung, beispielsweise abwärts, über einen transparenten Anschluss erfolgen.
  • Stehen mehr als zwei nicht-transparente Anschlüsse pro zweiter Schalteinheit 16 zur Verfügung, kann das Netzwerk auch in weiteren Raumrichtungen in dieser Weise erweitert werden.
  • Die direkten Verbindungen zwischen zweiten Schalteinheiten 16 benachbarter Hyperebenen führen zu einer geringeren Latenz, da die nächsten Nachbarn entlang dieser Richtung über nur jeweils zwei zweite Schalteinheiten 16 erreicht werden, d. h. ohne zwischengeschaltete erste Schalteinheiten 20.
  • Neben der vorangehend beschriebenen Hybridlösung umfasst die Erfindung weitere Ausführungsformen mit beliebiger Anzahl nicht-transparenter Anschlüsse pro zweiter Schalteinheit. Beispielsweise können alle bis auf einen Anschluss der zweiten Schalteinheit nicht-transparent sein. Ebenso wie in den vorangehend beschriebenen Ausführungsformen ist es dann möglich, den PCI-Express-Baum an jedem zweiten Schaltelement zu terminieren.
  • In D Dimensionen weist jeder Netzwerkknoten 2 × D nächste Nachbarn auf. Alle diese nächsten Nachbarn sollen vorzugsweise über eine erste Schalteinheit erreicht werden. Wenn NNT die Anzahl der nicht-transparenten Anschlüsse pro zweiter Schalteinheit bezeichnet, kann jede zweite Schalteinheit mit p = NNT + 1 ersten Schalteinheiten verbunden werden. Auf diese Weise kann eine Trennung der Adressräume erreicht werden. Vorzugsweise sollte das Netz symmetrisch sein, so dass jede erste Schalteinheit für jede verbundene zweite Schalteinheit Verbindungen mit derselben Anzahl nächster Nachbarn bereitstellt. Daraus folgt, dass p als ein Faktor von 2 × D gewählt werden sollte. Die sich aus dieser Bedingung ergebenden möglichen Werte p sind in der nachfolgenden Tabelle dargestellt. Tabelle 1:
    D 2D mögliche p NNT
    1 2 = 2 2 1
    2 4 = 2·2 2 1
    3 6 = 2·3 2, 3 1, 2
    4 8 = 2·2·2 2, 4 1, 3
    5 10 = 2·5 2, 5 1, 4
    6 12 = 2·2·3 2, 3, 4, 6 1, 2, 3, 5
    7 14 = 2·7 2, 7 1, 6
    8 16 = 2·2·2·2 2, 4, 8 1, 3, 7
    9 18 = 2·3·3 2, 3, 6, 9 1, 2, 5, 8
    10 20 = 2·2·5 2, 4, 5, 10 1, 3, 4, 9
  • Die 2 × D nächsten Nachbarn werden unter p angeschlossenen ersten Schalteinheiten aufgeteilt, so dass jede erste Schalteinheit eine Verbindung mit n = 2 × D/p nächsten Nachbarn herstellt. Dies ist auch die Dimension des Hyperkubus, welcher jeder ersten Schalteinheit zugeordnet ist. In jeder Ecke dieses Hyperkubus ist eine zweite Schalteinheit angeordnet. Die Anordnung der Hyperkuben erfolgt derart, dass alle Nachbarn auf nur eine Weise erreicht werden. Im Folgenden werden zur Veranschaulichung drei Beispiele dargestellt:
    D = 3 mit zwei NT-Anschlüssen: Eine zweite Schalteinheit ist jeweils mit drei ersten Schalteinheiten verbunden, so dass n = 2. Diese Konfiguration ergibt eine planare Baumstruktur, d. h. Quadrate. Die zweiten Schalteinheiten sind an den Ecken der Quadrate angeordnet, in deren Zentrum sich jeweils eine erste Schalteinheit befindet. Die Quadrate können so angeordnet werden, dass in jeder der Richtungen x, y und z Vorwärts- und Rückwärtsverbindungen möglich sind. In drei Dimensionen gibt es drei mögliche Orientierungen xy, xz und yz für die Ebenen. Da auch p = 3 ist, können die Quadrate derart angeordnet werden, dass jede zweite Schalteinheit in jeder dieser Ebenen eine Verbindung zu einem Quadrat aufweist. Diese Konfiguration ist schematisch in 7 gezeigt. Jede Kachel bzw. jedes Quadrat stellt in der Darstellung der 7 eine erste Schalteinheit dar. Die drei verschiedenen Orientierungen werden durch unterschiedliche Schraffur bzw. Einfärbung dargestellt (schraffiert, kariert und ausgefüllt). An jedem Eckpunkt treffen sich genau drei Kacheln, d. h. jede zweite Schalteinheit weist drei Verbindungen auf. Jede Verbindung zu einem nächsten Nachbarn wird durch genau eine Kachel realisiert.
  • D = 4 mit drei NT-Anschlüssen: Eine zweite Schalteinheit ist mit vier ersten Schalteinheiten verbunden, d. h. n = 2. Die Baumstrukturen sind daher wiederum zweidimensional, d. h. Quadrate. Die Quadrate können derart orientiert werden, dass Verbindungen in Richtung x1, x2, x3, x4 möglich sind. Gegenüber dem vorangehend beschriebenen Beispiel bestehen für die Orientierung einer Ebene im vierdimensionalen Hyperraum mehr Möglichkeiten als Verbindungen pro Knoten, so dass eine Auswahl getroffen werden kann. Jedes Quadrat einer ersten Schalteinheit deckt zwei Richtungen i und j ab. Da jede der vier Richtungen nach vorwärts und nach rückwärts erreicht werden soll, wird jede Richtung zwei Mal benötigt. In vier Dimensionen gibt es sechs mögliche Ebenen (12), (13), (14), (23), (24) und (34), wobei (ij) die durch die Richtungen xi und xj aufgespannte Ebene bezeichnet. Daraus können vier Ebenen ausgewählt werden, so dass jedes i in genau zwei Ebenen auftaucht (einmal für die Vorwärtsrichtung, einmal für die Rückwärtsrichtung). Eine mögliche Wahl ist (12), (13), (24) und (34). Wiederum können Quadrate verwendet werden, um diese Ebenen abzudecken, wobei jede Kante wiederum genau einmal abgedeckt wird.
  • Eine zweite Möglichkeit ist (12), (12), (34), (34). In dieser entarteten Lösung kann die erste Schalteinheit (12) die Vorwärtsverbindungen in den Richtungen x1 und x2 bereitstellen, während die zweite Schalteinheit (12) die entsprechenden Rückwärtsverbindungen bereitstellt. Auch die vorangehend beschriebenen Topologien mit nur einem NT-Anschluss pro zweiter Schalteinheit sind eine solche entartete Lösung: Die beiden ersten Schalteinheiten, welche mit einem Knoten verbunden sind, sind Hyperkuben mit denselben Koordinatenpaaren. In D = 3 haben beispielsweise beide erste Schalteinheiten die Koordinaten (123).
  • D = 6 mit drei NT-Anschlüssen: Eine zweite Schalteinheit ist mit vier ersten Schalteinheiten verbunden, so dass n = 3. In sechs Dimensionen gibt es zwanzig verschiedene dreidimensionale Hyperkuben, welche mit (ijk) bezeichnet werden können. Wiederum sind vier Hyperkuben erforderlich, um Verbindungen mit allen zwölf nächsten Nachbarn bereitzustellen. Zwei mögliche Wahlen sind (123), (456), (234) und (156) oder die entartete Lösung (123), (123), (456) und (456).
  • Aus der Dimension n = 2 × D/p der Hyperkuben ergibt sich für diese Ausführungsformen auch die Anzahl der Lanes pro Schalteinheit. Jede Prozessoreinheit hat N Lanes. Jede zweite Schalteinheit teilt den Datenverkehr gleichmäßig unter seinen Nachbarn auf, so dass die Anzahl der Lanes pro Anschluss, welche die Verbindung zu den ersten Schalteinheiten darstellen, NLane = N/p beträgt. Dies ist dann auch die Anzahl der Lanes pro Anschluss in der ersten Schalteinheit. Die Gesamtzahl der Anschlüsse pro erste Schalteinheit beträgt NPort = 2n, da die erste Schalteinheit Verbindungen zu Knoten in jeder Ecke des zugehörigen Hyperkubus bereitstellt. Die Anzahl der ersten Schalteinheiten pro zweite Schalteinheit beträgt daher p/NPort = p/2n.
  • Die nachfolgende Tabelle 2 zeigt mögliche Optionen bis D = 10 auf. Die Tabelle umfasst auch die erforderliche Anzahl der Lanes, wobei von Prozessoreinheiten mit jeweils 16 Lanes ausgegangen wird. Werte in Klammern sind die sich rechnerisch ergebenden Werte, welche auf die nächstfolgende Zweierpotenz aufgerundet wurden (dies ist eine rein technische Einschränkung durch den PCI Express Standard). Tabelle 2:
    Erste Schalteinheit
    D p NNT n Lanes pro Anschluss pro zweiter Schalteinheit Anschlüsse Lanes
    2 2 1 2 8 1/2 4 32
    3 3 2 3 1 2 3 2 8 (5,34)8 1/4 3/4 8 4 64 (21,34)32
    4 4 2 4 1 3 4 2 8 4 1/8 1 16 4 128 16
    5 5 2 5 1 4 5 2 8 (3,2)4 1/16 5/4 32 4 256 (12,8)16
    6 6 6 6 2 3 4 6 1 2 3 5 6 4 3 2 8 (5,34)8 4 (2,67)4 1/32 3/16 1/2 3/2 64 16 8 4 512 (85,34)128 32 (10,67)16
    7 7 2 7 1 6 7 2 8 (2,29)4 1/64 7/4 128 4 1024 (9,14)16
    8 8 8 2 4 8 1 3 7 8 4 2 8 4 2 1/128 1/4 2/1 256 16 4 2048 64 8
    9 9 9 9 2 3 6 9 1 2 5 8 9 6 3 2 8 (5,34)8 (2,67)4 (1,78)2 1/256 3/64 3/4 9/4 512 64 8 4 4096 (341,34)512 (21,34)32 (7,1)8
    10 10 10 10 2 4 5 10 1 3 4 9 10 5 4 2 8 4 (3,2)4 (1,6)2 1/512 1/8 5/16 5/2 1024 32 16 4 8192 128 (51,2)64 (6,4)8
  • Im Folgenden wird ein Algorithmus zur Aufteilung des D-dimensionalen Raumes in n-dimensionale Hyperkuben beschrieben, so dass jede Verbindung genau einmal abgedeckt ist. Zunächst werden einige Definitionen und allgemeine Erklärungen gegeben:
    • – Ein Knoten besteht aus einem Endpunkt, d. h. einer Prozessoreinheit oder einem Subnetz bzw. einer Untergruppe von Prozessoreinheiten, und einer zweiten Schalteinheit. Jede zweite Schalteinheit weist p Anschlüsse zur Verbindung mit dem Netzwerk auf, darunter p – 1 NT-Anschlüsse und ggf. weitere transparente Anschlüsse für weitere Netzwerkkomponenten sowie zusätzliche Anschlüsse zur Verbindung mit den Prozessoreinheiten. Im Folgenden wird jeder Knoten als Punkt mit p Verbindungen zum Netzwerk beschrieben und als Vertex bezeichnet.
  • Die Vertices bilden zusammen ein uniformes hyperkubisches Gitter, welches von den orthonormalen Einheitsvektoren {e1, ..., eD} aufgespannt wird. Die Koordinaten eines Vertex werden als (x1, ..., xD) dargestellt.
    • – Verbindungen zwischen nächsten Nachbarn sind Verbindungen zwischen Vertices, welche sich in genau einer Koordinatenkomponente unterscheiden.
    • – In D Dimensionen gibt es in dem hyperkubischen Gitter 2 × D nächste Nachbarn, d. h. die Anzahl der Verbindungen zu jedem Vertex beträgt 2 × D. Jeder Vertex ist mit p ersten Schalteinheiten verbunden, so dass jede erste Schalteinheit Verbindungen zu n = 2 × D/p nächsten Nachbarn bereitstellt. Jeder ersten Schalteinheit entspricht daher ein Hyperkubus, welcher durch diese Verbindungen aufgespannt wird. Die erste Schalteinheit befindet sich im Zentrum dieses Hyperkubus. Die Kombination aus einem solchen Hyperkubus, der ersten Schalteinheit in dessen Zentrum sowie elektrische Verbindungen oder Leiterbahnen von der ersten Schalteinheit zu den Vertices an den Ecken des Hyperkubus wird im Folgenden als „Kachel” bezeichnet. Die Position einer Kachel kann durch die Koordinaten ihres Ursprungs angegeben werden. Im Folgenden wird der Ursprung dadurch definiert, dass dort jede der Koordinaten minimal ist.
    • – Ein vollständiges Netzwerk erfordert eine Überdeckung des D-dimensionalen Raumes (bzw. des Torus im Fall eines geschlossenen Netzwerks) mit Kacheln, so dass jeder Vertex genau p Kacheln berührt und jede Verbindung eine Kante genau einer Kachel ist.
    • – Kacheln können eine unterschiedliche Orientierung aufweisen, so dass jede Richtung im D-dimensionalen Raum genau zweimal abgedeckt wird, einmal für die Vorwärtsverbindungen und einmal für die Rückwärtsverbindungen. In einem D-dimensionalen Raum gibt es ( D / n) verschiedene euklidische Unterräume der Dimension n, welche durch eine Teilmenge der Einheitsvektoren {e1, ..., eD} aufgespannt werden. Aus diesen Unterräumen können p Unterräume ausgewählt werden, so dass jeder Koordinatenvektor ei in genau zwei der euklidischen Unterräume liegt. Diese Unterräume werden im Folgenden mit Sα bezeichnet, α ∊ {1, ..., p}.
    • – Das Wählen solcher Kombinationen entspricht der Wahl von n × p = 2 × D Elementen aus der Menge {1, ... D}. Jedes Element muss dabei genau zweimal auftauchen.
  • Die Aufteilung des D-dimensionalen Raumes in Kacheln kann nun wie folgt vorgenommen werden:
    • 1. Setze α = 1.
    • 2. Beginne mit
      Figure DE102012112676A1_0002
      Fülle den D-dimensionalen Raum mit Kacheln aus, welche parallel zu S1 orientiert sind, wobei eine Kachel an jedem Vertex (x1, ..., xD) positioniert wird, wobei xi ∊ 2
      Figure DE102012112676A1_0003
      falls i ∊ {k α / 1, ..., k α / n}, sonst xi
      Figure DE102012112676A1_0004
    • 3. Erhöhe α um 1.
    • 4. Fülle den D-dimensionalen Raum mit Kacheln parallel zu Sα aus, wobei eine Kachel an jedem Vertex (x1, ..., xD) positioniert wird, so dass die folgenden Bedingungen gelten:
    • – für i ∊ {k α / 1, ..., k α / n}: falls
      Figure DE102012112676A1_0005
      ∊ Sβ für β < α, ist die gerade Koordinate schon durch Kacheln in Sβ besetzt, so dass xi ∊ 2
      Figure DE102012112676A1_0006
      + 1 gesetzt wird. Sonst setze xi ∊ 2
      Figure DE102012112676A1_0007
    • – Für alle Koordinaten, welche nicht in Sα sind, setze xi
      Figure DE102012112676A1_0008
    • 5. Falls α < p, gehe zu Schritt 3.
  • Der vorangehend beschriebene Algorithmus stellt sicher, dass jede Verbindung genau einmal abgedeckt wird, wobei die Verbindungen mit geraden Koordinaten im ersten Schritt und die Verbindungen mit ungeraden Koordinaten im zweiten Schritt abgedeckt werden.
  • Im Folgenden werden in Tabelle 3 zur Übersicht die vorangehend beschriebenen Ausführungsformen für D = 3 miteinander verglichen, wobei von 16 Lanes pro Endpunkt ausgegangen wird. Tabelle 3:
    Erste Schalteinheit
    Typ p Lanes pro zweite Schalteinheit pro zweite Schalteinheit Anschlüsse Lanes
    1 NT-Anschluss 2 16 + 8 + 8 1/4 8 64
    Hybridlösung (gestapelte zweidimensionale Netzwerke) 4 16 + 16/3 + 16/3 + 16/6 + 16/6 1/2 4 (21.34)32
    2 NT-Anschlüsse 3 16 + 16/3 + 16/3 + 16/3 3/4 4 (21.34)32
  • In der Hybridlösung mit p = 4 gilt NNT = 2, da zweidimensionale Netzwerke gestapelt werden und dafür pro zweiter Schalteinheit ein zusätzlicher NT-Anschluss erforderlich ist.
  • Ausführungsformen mit NNT = D
  • Die vorangehend beschriebenen Ausführungsformen betreffen Konfigurationen, bei welchen die Anzahl der nicht-transparenten Anschlüsse pro zweiter Schalteinheit kleiner als die Dimensionen der Netzwerktopologie ist. Die Erfinder haben erkannt, dass sich eine vereinfachte Netzwerkkonfiguration, welche allein mit einer Art von Schalteinheiten auskommt, angeben lässt, wenn die Anzahl der verfügbaren NT-Anschlüsse mindestens mit der Dimension der Netzwerktopologie übereinstimmt. Darin liegt ein unabhängiger Aspekt der Erfindung.
  • Ausführungsformen gemäß dieses zweiten Aspekts beruhen auf der Idee, jeder Prozessoreinheit eine Schalteinheit zuzuweisen, und die Prozessoreinheit über diese Schalteinheit mit allen nächsten Nachbarn in dem D-dimensionalen Hyperkubus zu verbinden. Das Netzwerk kann dabei über NT-Anschlüsse in getrennte PCI-Express-Adressräume aufgeteilt werden, wenn jede Schalteinheit D NT-Anschlüsse aufweist.
  • 8 zeigt zur Veranschaulichung eine eindimensionale Konfiguration, in welcher die Schalteinheiten 16a, 16b, 16c, 16d in Reihe angeordnet sind. Mit jeder der Schalteinheiten 16a bis 16d sind eine oder mehrere Prozessoreinheiten verbunden, welche in 8 aus Gründen der Übersichtlichkeit nicht gezeigt sind. Jede der Schalteinheiten 16a bis 16d umfasst neben den Anschlüssen zur Verbindung mit den Prozessoreinheiten (nicht gezeigt) zwei Anschlüsse 22, 24 zur Verbindung mit den benachbarten Schalteinheiten, und zwar jeweils einen Anschluss 24a bis 24d, welcher dazu eingerichtet ist, zwischen unterschiedlichen Adressräumen zu übertragen, und einen Anschluss 22a bis 22d, welcher nicht dazu eingerichtet ist, zwischen unterschiedlichen Adressräumen zu übertragen. In 8 sind die transparenten Anschlüsse 22a bis 22d wiederum durch weiße Kästchen, die nicht-transparenten Anschlüsse 24a bis 24d durch schwarze Kästchen dargestellt.
  • Die Verbindung zwischen benachbarten Schalteinheiten erfolgt über Datenverbindungen 18a, 18b, 18c, wobei die Schalteinheiten 16a bis 16d derart zueinander angeordnet sind, dass jeweils ein transparenter Anschluss über eine Datenverbindung mit einem nicht-transparenten Anschluss verbunden ist. Jeder Schalteinheit 16a bis 16d ist damit ein eigener Adressraum zugeordnet.
  • 8 zeigt eine Konfiguration mit vier Schalteinheiten 16a bis 16d. Das eindimensionale Netzwerk kann jedoch beliebig viele Schalteinheiten umfassen und auch zu einem Torus (Kreis) geschlossen sein.
  • 9 zeigt eine zweidimensionale Netzwerkkonfiguration mit neun Schalteinheiten 16a bis 16i. Jeder der Schalteinheiten 16a bis 16i sind eine oder mehrere Prozessoreinheiten zugeordnet, welche aus Gründen der Übersichtlichkeit in 9 nicht gezeigt sind. Die Schalteinheiten 16a bis 16i weisen Anschlüsse zur Verbindung mit diesen Prozessoreinheiten und gegebenenfalls weiterer Netzwerkkomponenten (nicht gezeigt) auf sowie zusätzlich jeweils vier Anschlüsse zur Verbindung mit den benachbarten Schalteinheiten. Von diesen vier Anschlüssen sind jeweils zwei Anschlüsse 22a bis 22i und 22a' bis 22i' transparente Anschlüsse, welche nicht dazu eingerichtet sind, zwischen unterschiedlichen Adressräumen zu übertragen, und jeweils zwei Anschlüsse 24a bis 24i und 24a' bis 24i' sind nicht-transparente Anschlüsse, welche dazu eingerichtet sind, Datenpakete zwischen unterschiedlichen Adressräumen zu übertragen. Die Verbindung zwischen den Schalteinheiten 16a bis 16i erfolgt paarweise zwischen nächsten Nachbarn über Datenverbindungen 18a bis 18f entlang der Richtung x bzw. 18a' bis 18f' entlang der Richtung y. Die Schalteinheiten 16a bis 16i sind dabei so zueinander orientiert, dass jede Datenverbindung 18a bis 18f bzw. 18a' bis 18f' jeweils einen transparenten Anschluss 22a bis 22i bzw. 22a' bis 22i' mit einem nicht-transparenten Anschluss 24a bis 24i bzw. 24a' bis 24i' einer benachbarten Schalteinheit verbindet und umgekehrt. Jeder Schalteinheit 16a bis 16i ist daher wiederum ein eigener Adressraum zugeordnet.
  • Jede der Schalteinheiten 16a bis 16i kann aus jeweils zwei Schaltelementen mit einem nicht-transparenten Anschluss ausgebildet sein. Solche Schaltelemente sind als PCI-Express-Schaltelemente von mehreren Anbietern zu geringen Stückkosten erhältlich.
  • 9 zeigt eine Konfiguration mit neun Schaltelementen 16a bis 16i, welche jedoch in jede Raumrichtung beliebig fortgesetzt werden und auch zu einem Torus geschlossen werden kann.
  • Vorteile der bevorzugten Ausführungsformen
  • Die vorangehend beschriebenen Ausführungsformen erlauben die Ausbildung beliebig großer, auch geschlossener Netzwerkkonfigurationen allein auf Grundlage des PCI-Express-Protokolls bzw. unter Verwendung von PCI-Express-Schalteinheiten. Die Netzwerkkonfiguration lässt sich allein mit Standardkomponenten realisieren, so dass die erfindungsgemäße Lösung preisgünstig und beliebig skalierbar ist.
  • Aufgrund der verhältnismäßig geringen Anzahl an Komponenten, welche zudem jeweils verhältnismäßig energieeffizient sind, ist die Gesamtleistungsaufnahme niedrig. Dadurch können auch die Anforderungen an die Kühlung des Netzwerks entsprechend herabgesetzt werden.
  • Die Netzwerkkonfiguration erlaubt eine sehr effiziente und schnelle Nächste-Nachbar-Kommunikation. Aufgrund der geringen Latenz der PCI-Express-Schalter und der geringen Anzahl von Komponenten ist die Latenz der Nächste-Nachbar-Kommunikation insgesamt sehr niedrig. Die Bandbreite kann über die Anzahl der verwendeten PCI-Express-Lanes gesteuert werden und kann daher bei Bedarf sehr hoch gewählt werden.
  • Die erfindungsgemäße Lösung ist nicht auf eine bestimmte PCI-Express-Generation beschränkt, sondern ist für beliebige Netzwerkprotokolle geeignet, welche serielle Punkt-zu-Punkt-Verbindungen bereitstellen und die Trennung von lokalen Adressräumen sowie die Übertragung von Datenpaketen zwischen benachbarten Adressräumen über nicht-transparente Schalteinheiten ermöglichen.
  • Die vorangehend beschriebenen Ausführungsbeispiele und die Zeichnungen dienen allein der Veranschaulichung der Erfindung und sollen die Erfindung nicht beschränken. Der Umfang der Erfindung ergibt sich allein aus den nachfolgenden Ansprüchen.
  • Bezugszeichenliste
  • 10, 10', 10'', 10'''
    Prozessoreinheit
    10a–10d
    Prozessoreinheiten
    12, 12', 12'', 12'''
    Datenverbindung
    14, 14', 14'', 14'''
    erster (transparenter) Anschluss der zweiten Schalteinheit 16
    16, 16', 16'', 16'''
    zweite Schalteinheit
    16a–16i
    zweite Schalteinheit
    18, 18', 18'', 18'''
    Datenverbindung
    18a–18f, 18a'–18f'
    Datenverbindungen
    20, 20', 20''
    erste Schalteinheiten
    20a. 20b
    erste und zweite Schaltelemente
    22, 22'
    zweiter (transparenter) Anschluss der zweiten Schalteinheit 16
    22a–22i, 22a'–22i'
    zweite (transparente) Anschlüsse der zweiten Schalteinheiten 16a16f
    24, 24', 24'', 24'''
    dritter (nicht-transparenter) Anschluss der zweiten Schalteinheit 16
    24a–24i, 24a'–24i'
    dritte (nicht-transparente) Anschlüsse der zweiten Schalteinheiten 16a16f
    26
    Verwaltungsprozessor
    28a, 28b
    Routing-Adapter

Claims (13)

  1. Netzwerkkonfiguration für eine Nächste-Nachbar-Kommunikation mit: mehreren ersten Schalteinheiten (20, 20', 20''), welche eine D-dimensionale Netzwerktopologie bilden, wobei D ≥ 2 und jeder der ersten Schalteinheiten (20, 20', 20'') ein Adressraum zugeordnet ist; mehreren zweiten Schalteinheiten (16, 16', 16'', 16'''; 16a16i), wobei jede der zweiten Schalteinheiten (16, 16', 16'', 16'''; 16a16i) über mindestens zwei Anschlüsse (22, 22', 22'', 22''', 22a22i; 24, 24', 24'', 24''', 24a24i) der zweiten Schalteinheiten (16, 16', 16'', 16'''; 16a16i) mit mindestens zwei der ersten Schalteinheiten (20, 20', 20'') verbunden ist, wobei zumindest einer der Anschlüsse (24, 24', 24'', 24''', 24a24i) dazu eingerichtet ist, zwischen unterschiedlichen Adressräumen zu übertragen, und wobei die Anzahl der Anschlüsse (24, 24', 24'', 24''', 24a24i) pro zweiter Schalteinheit (16, 16', 16'', 16'''; 16a16i), welche dazu eingerichtet sind, zwischen unterschiedlichen Adressräumen zu übertragen, kleiner als D ist; und mehreren Prozessoreinheiten (10, 10', 10'', 10'''; 10a10d), wobei jede Prozessoreinheit (10, 10', 10'', 10'''; 10a10d) mit einer zweiten Schalteinheit (16, 16', 16'', 16'''; 16a16i) verbunden ist; wobei zumindest in einer ersten Teilmenge der Prozessoreinheiten (10, 10', 10'', 10'''; 10a10d) je zwei in der D-dimensionalen Netzwerktopologie benachbarte Prozessoreinheiten (10, 10', 10'', 10'''; 10a10d) über höchstens eine der ersten Schalteinheiten (20, 20', 20'') miteinander verbunden sind.
  2. Netzwerkkonfiguration nach Anspruch 1, bei welcher zumindest in der ersten Teilmenge je zwei in der D-dimensionalen Netzwerktopologie benachbarte Prozessoreinheiten (10, 10', 10'', 10'''; 10a10d) über höchstens einen Anschluss (24, 24', 24'', 24''', 24a24i) einer zweiten Schalteinheit (16, 16', 16'', 16'''; 16a16i), welcher dazu eingerichtet ist, zwischen unterschiedlichen Adressräumen zu übertragen, miteinander verbunden sind.
  3. Netzwerkkonfiguration nach Anspruch 1 oder 2, bei welcher zumindest in der ersten Teilmenge je zwei in der D-dimensionalen Netzwerktopologie benachbarte Prozessoreinheiten (10, 10', 10'', 10'''; 10a10d) über genau eine der ersten Schalteinheiten (20, 20', 20'') und/oder über genau einen Anschluss (24, 24', 24'', 24''', 24a24i) einer zweiten Schalteinheit (16, 16', 16'', 16'''; 16a16i), welcher dazu eingerichtet ist, zwischen unterschiedlichen Adressräumen zu übertragen, miteinander verbunden sind.
  4. Netzwerkkonfiguration nach einem der vorangehenden Ansprüche, bei welcher zumindest in einer zweiten Teilmenge der Prozessoreinheiten zwei in der D-dimensionalen Netzwerktopologie benachbarte Prozessoreinheiten (10, 10', 10'', 10'''; 10a10d) direkt miteinander verbunden sind, insbesondere nicht über eine erste Schalteinheit (20, 20', 20'') und/oder nicht über einen Anschluss (24, 24', 24'', 24''', 24a24i) einer zweiten Schalteinheit (16, 16', 16'', 16'''; 16a16i), welcher dazu eingerichtet ist, zwischen unterschiedlichen Adressräumen zu übertragen, miteinander verbunden sind.
  5. Netzwerkkonfiguration nach einem der Ansprüche 1 bis 3, bei welcher zumindest in einer zweiten Teilmenge der Prozessoreinheiten zwei in der D-dimensionalen Netzwerktopologie benachbarte Prozessoreinheiten (10, 10', 10'', 10'''; 10a10d) über einen Anschluss (24, 24', 24'', 24''', 24a24i) einer zweiten Schalteinheit (16, 16', 16'', 16'''; 16a16i), welcher dazu eingerichtet ist, zwischen unterschiedlichen Adressräumen zu übertragen, direkt miteinander verbunden sind, insbesondere nicht über eine erste Schalteinheit (20, 20', 20'') miteinander verbunden sind.
  6. Netzwerkkonfiguration nach einem der vorangehenden Ansprüche mit D ≥ 3, bei welcher jede der zweiten Schalteinheiten (16, 16', 16'', 16'''; 16a16i) mindestens zwei Anschlüsse (24, 24', 24'', 24''', 24a24i) aufweist, welche dazu eingerichtet sind, zwischen unterschiedlichen Adressräumen zu übertragen, wobei die zweite Schalteinheit (16, 16', 16'', 16'''; 16a16i) über einen ersten der Anschlüsse (24, 24', 24'', 24''', 24a24i) und über eine erste Schalteinheit (20, 20', 20'') mit einer in der D-dimensionalen Netzwerktopologie benachbarten zweiten Schalteinheit (16, 16', 16'', 16'''; 16a16i) verbunden ist und über einen zweiten der Anschlüsse (24, 24', 24'', 24''', 24a24i) mit einer in der D-dimensionalen Netzwerktopologie benachbarten weiteren zweiten Schalteinheit (16, 16', 16'', 16'''; 16a16i) direkt verbunden ist, insbesondere nicht über eine erste Schalteinheit (20, 20', 20'') verbunden ist.
  7. Netzwerkkonfiguration nach einem der vorangehenden Ansprüche, bei welcher in zumindest einer Teilmenge von zweiten Schalteinheiten (16, 16', 16'', 16'''; 16a16i) jeder zweiten Schalteinheit (16, 16', 16'', 16'''; 16a16i) mehrere Prozessoreinheiten (10, 10', 10'', 10'''; 10a10d) zugeordnet sind, welche mit der jeweiligen zweiten Schalteinheit (16, 16', 16'', 16'''; 16a16i) direkt verbunden sind und jeweils ein Subnetzwerk bilden.
  8. Netzwerkkonfiguration nach einem der vorangehenden Ansprüche, welche (N + 1)/2n erste Schalteinheiten (20, 20', 20'') pro zweiter Schalteinheit (16, 16', 16'', 16'''; 16a16i) umfasst, wobei N die Anzahl der Anschlüsse pro zweiter Schalteinheit (16, 16', 16'', 16'''; 16a16i), welche dazu eingerichtet sind, zwischen unterschiedlichen Adressräumen zu übertragen, bezeichnet und n = 2 × D/(N + 1).
  9. Netzwerkkonfiguration nach einem der vorangehenden Ansprüche, bei welcher jede der ersten Schalteinheiten (20, 20', 20'') mindestens 2n Anschlüsse aufweist, wobei n = 2 × D/(N + 1).
  10. Netzwerkkonfiguration nach einem der vorangehenden Ansprüche, bei welcher die ersten Schalteinheiten (20, 20', 20'') und die zweiten Schalteinheiten (16, 16', 16'', 16'''; 16a16i) PCI-Express-Schalter sind, welche eine PCI-Express-Verbindung zwischen je zwei Anschlüssen bereitstellen.
  11. Netzwerkkonfiguration für eine Nächste-Nachbar-Kommunikation mit: mehreren Schalteinheiten (16, 16', 16'', 16'''; 16a16i), welche eine D-dimensionale Netzwerktopologie bilden, wobei jeder der Schalteinheiten (16, 16', 16'', 16'''; 16a16i) ein Adressraum zugeordnet ist; mehreren Prozessoreinheiten (10, 10', 10'', 10'''; 10a10d), wobei jede Prozessoreinheit (10, 10', 10'', 10'''; 10a10d) mit einer Schalteinheit (16, 16', 16'', 16'''; 16a16i) verbunden ist; wobei jede der Schalteinheiten (16, 16', 16'', 16'''; 16a16i) 2 × D Anschlüsse (22, 22', 22'', 22''', 22a22i, 22a'22i'; 24, 24', 24'', 24''', 24a24i, 24a'24i') aufweist, über welche sie mit den in der D-dimensionalen Netzwerktopologie jeweils benachbarten Schalteinheiten (16, 16', 16'', 16'''; 16a16i) verbunden ist; wobei eine erste Teilmenge von Anschlüssen D Anschlüsse (24, 24', 24'', 24''', 24a24i, 24a'24i') umfasst, welche dazu eingerichtet sind, zwischen unterschiedlichen Adressräumen zu übertragen, und eine zweite Teilmenge von Anschlüssen D Anschlüsse (22, 22', 22'', 22''', 22a22i, 22a'22i') umfasst, welche nicht dazu eingerichtet sind, zwischen unterschiedlichen Adressräumen zu übertragen; wobei ein Anschluss (24, 24', 24'', 24''', 24a24i, 24a'24i') der ersten Teilmenge einer ersten Schalteinheit (16, 16', 16'', 16'''; 16a16i) jeweils mit einem Anschluss (22, 22', 22'', 22''', 22a22i, 22a'22i') der zweiten Teilmenge einer zweiten Schalteinheit (16, 16, 16'', 16'''; 16a16i) verbunden ist.
  12. Netzwerkkonfiguration nach Anspruch 11, bei welcher D = 2 und jede der Schalteinheiten (16, 16', 16'', 16'''; 16a16i) zwei Schaltelemente umfasst, welche jeweils einen ersten Anschluss (24, 24', 24'', 24''', 24a24i, 24a'24i') und einen zweiten Anschluss aufweisen, wobei der erste Anschluss (24, 24', 24'', 24''', 24a24i, 24a'24i') dazu eingerichtet ist, zwischen unterschiedlichen Adressräumen zu übertragen, und der zweite Anschluss (22, 22', 22'', 22''', 22a22i, 22a'22i') nicht dazu eingerichtet ist, zwischen unterschiedlichen Adressräumen zu übertragen.
  13. Netzwerkkonfiguration nach Anspruch 11 oder 12, wobei die Schalteinheiten (16, 16', 16'', 16'''; 16a16i) bzw. Schaltelemente PCI-Express-Schalter sind, welche eine PCI-Express-Verbindung zwischen je zwei Anschlüssen (22, 22', 22'', 22''', 22a22i, 22a'22i'; 24, 24', 24'', 24''', 24a24i, 24a'24i') bereitstellen.
DE102012112676.3A 2012-12-19 2012-12-19 Hochleistungsnetzwerk mit Nächster-Nachbar-Kommunikation Ceased DE102012112676A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102012112676.3A DE102012112676A1 (de) 2012-12-19 2012-12-19 Hochleistungsnetzwerk mit Nächster-Nachbar-Kommunikation
PCT/EP2013/074580 WO2014095235A1 (de) 2012-12-19 2013-11-25 Hochleistungsnetzwerk mit nächster-nachbar-kommunikation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102012112676.3A DE102012112676A1 (de) 2012-12-19 2012-12-19 Hochleistungsnetzwerk mit Nächster-Nachbar-Kommunikation

Publications (1)

Publication Number Publication Date
DE102012112676A1 true DE102012112676A1 (de) 2014-06-26

Family

ID=49726712

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012112676.3A Ceased DE102012112676A1 (de) 2012-12-19 2012-12-19 Hochleistungsnetzwerk mit Nächster-Nachbar-Kommunikation

Country Status (2)

Country Link
DE (1) DE102012112676A1 (de)
WO (1) WO2014095235A1 (de)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5224100A (en) * 1991-05-09 1993-06-29 David Sarnoff Research Center, Inc. Routing technique for a hierarchical interprocessor-communication network between massively-parallel processors
US7251698B2 (en) * 2002-05-28 2007-07-31 Newisys, Inc. Address space management in systems having multiple multi-processor clusters

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BOLTEN, Matthias [et al]: Implementation of Multigrid on QPACE. 2011 IEEE International Conference on Cluster Computing (CLUSTER), 2011, S.371-377. IEEE Xplore [online]. DOI: 10.1109/CLUSTER.2011.48, In: IEEE *
PIVANTI, Marcello; SCHIFANO, Sebastiano Fabio; SIMMA, Hubert: An FPGA-based torus communication network. arXiv preprint arXiv:1102.2346, 2010. URL: http://arxiv.org/abs/1102.2346 [abgerufen am 25.7.2013] *
RINKE, S.; HOMBERG, W.: QPACE: Energy-Efficient High Performance Computing. 2010. URL: http://www.prace-ri.eu/IMG/pdf/07_qpace_wh.pdf [abgerufen am 30.7.2013] *

Also Published As

Publication number Publication date
WO2014095235A1 (de) 2014-06-26

Similar Documents

Publication Publication Date Title
DE60310431T2 (de) Verfahren zum erzeugen eines computerlesbaren modelles
DE69933525T2 (de) Architekturen für programmierbare logische Vorrichtungen
DE60030737T2 (de) Hochleistungs-Vermittlungselement und -Vermittlungssystem
DE69837335T2 (de) Vielfach-array-prozessor und verbindungssystem
DE112009000899B4 (de) Verfahren und Vorrichtung zur hierarchischen Verkehrsführung in gitterbasierten Multiprozessorsystemen
DE112017000855B4 (de) Energiesparender zeitlich gemultiplexter neurosynaptischer Kern zum Implementieren neuronaler Netze
DE102016012739A1 (de) Fabric-Zusammenschaltungen für Speicherbänke basierend auf Netzwerkchip-Methodologie
DE60034470T2 (de) Massiv paralleles Datenverarbeitungssystem und skalierbares Verbindungsnetz für ein solches System
DE112018001156T5 (de) Skalierbare rechenzentrums-netzwerktopologie auf verteilter vermittlungseinheit
DE2916065C2 (de) Datenverarbeitungseinrichtung
DE112010003810B4 (de) Verfahren, Programm und paralleles Computersystem für die Planung einer Vielzahl von Berechnungsverfahren einschließlich All-to-All Kommunikation (A2A) zwischen einer Vielzahl von Knoten (Prozessoren), die ein Netzwerk formen
DE69918338T2 (de) Mikroelektronischer chip
DE102021213414A1 (de) Routing mit einem switch mit festen zuordnungen
DE112016002891T5 (de) Eine skalierbare Kreuzschienenvorrichtung und ein Verfahren zum Anordnen von Kreuzschienenschaltungen
DE102012112676A1 (de) Hochleistungsnetzwerk mit Nächster-Nachbar-Kommunikation
EP1099153B1 (de) Speichereinrichtung und verfahren zum betreiben der speichereinrichtung
DE10341565A1 (de) Bedarfsbasiertes Filtern für eine schnelle Auswahl von Geräten in einem Baumtopologie-Netzwerk
DE2831526C2 (de) Monopulsantenne zur Erzeugung voneinander unabhängig bestimmbarer Summen-, Azimut- und Elecationsantennendiagramme
DE3616821A1 (de) Netzwerke von n-dimensionalen wuerfeln und prismen fuer die informationstechnik
EP2159959B1 (de) Verfahren zur Ermittlung einer Topologie, Netzwerkkomponente und Zentraleinheit
EP3036979B1 (de) Intelligente peripheriekopplungsbaugruppe nebst computergestützten verfahren zu ihrer erstellung oder herstellung, sowie computergestütztes verfahren zur konfiguration eines datennetzwerkbasierten systems zur steuerung und/oder regelung und/oder überwachung von zumindest einem peripheriegerät mittels datenübertragung zwischen teilnehmern eines datennetzwerks
DE112017004036T5 (de) Massenspeichereinheiten-pakete und softwaredefinierte anordnungen von derartigen paketen
DE202023105124U1 (de) Ein System zur orts- und routenbasierten Partitionierung in 3D-integrierten Schaltungen
EP2478672A1 (de) Hierarchisches netzwerk mit dezentraler verwaltung
EP1563418A2 (de) Layout-orientierte erfassung von automatisierungsinformationen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final