Laden...

Netzwerk-Topologien

Interconnect-Optionen
Viele HPC-Anwendungen und Codes nutzen die Vorteile paralleler Berechnungsmethoden und verwenden hierfür das Message Passing Interface (MPI) Application Programming Interface (API) als primäre Kommunikations-Methode zwischen Prozessen auf demselben oder verschiedenen Knoten im Cluster. Parallel arbeitende Jobs sind in besonderem Maße auf Hochgeschwindigkeitsinterfaces mit extrem geringen Latenzzeiten angewiesen, welche die Laufzeiten der Jobs erheblich reduzieren können. Eine Investition in Hochgeschwindigkeitsinterfaces kann die Anzahl der einzusetzenden Knoten, bei gleicher oder höherer Clusterleistung, erheblich reduzieren, was zu einer erheblichen Energiekostenersparnis führen kann.

Neben den Parallelanwendungen gibt es serielle Anwendungen, bei denen eine ganze Berechnung als ein einziger Prozess läuft. Auch serielle Anwendungen können speziellen Daten- oder Verarbeitungs-Anforderungen unterliegen, welche den Einsatz von Hochgeschwindigkeitsinterfaces rechtfertigen.

Gigabit Ethernet
Gigabit Ethernet bietet Vollduplex-Kommunikation bei 1Gb/s (oder 1000 Mbit/s) und Latenzen von ~ 4 bis ~ 300 microsec. Jedoch erfordern viele Codes höhere Bandbreite oder niedriger Latenz als Standard-Gigabit-Ethernet-Schnittstellen und -Switches bieten, um effizient zu arbeiten. In diesen Fällen werden häufig, anstelle von Ethernet, Infiniband- oder Myrinet- Netztechnologien eingesetzt.

In den meisten Fällen werden heutige HPC-Cluster mit drei internen Netzwerken konfiguriert. Das erste ist ein Gigabit Ethernet Netzwerk, welches mit dem ersten On-Board Network Interface (NIC) der Knoten verbunden wird und für Job-Scheduling, Node-Maintenance und Daten-Sharing eingesetzt wird. Das zweite interne Netzwerk wird ist für den Computational Verkehr zuständig, und sorgt dafür, dass der kritische Computational-Verkehr nicht von anderem Datenverkehr behindert wird, der hinsichtlich Bandbreite und Latenz weniger kritisch ist. Die dritte Schnittstelle dient der Remote-Administration und -Überwachung und wird mit der IPMI-Schnittstelle des Base Boards verbunden.

Das 2. interne Cluster Netzwerk kann, bei entsprechendem Leistungsbedarf, auch als Infiniband-Netzwerk realisiert werden. Die Ethernet-Option hat aber einen Kostenvorteil, da die meisten Systeme für HPC Verarbeitung über zwei On-Board-Gigabit-Ethernet- und eine zusätzliche IPMI-Schnittstelle(n) verfügen, so dass nur zusätzliche  Kosten für Switch-Ports und Verkabelung anfallen. Für MPI-basierten Code (s), empfiehlt Sysgen das zweite interne Gigabit Ethernet-Netzwerk, für MPI- oder Applikations-Processing-Verkehr als Minimum.

Infiniband
Wie Fibre Channel, PCI Express, Serial ATA, und viele andere moderne Verbindungen (Interconnects), bietet Infiniband bidirektionale, serielle Punkt-zu-Punkt-Verbindungen für die Interprozeß-Kommunikation von Prozessen, die auf, über das Netz verbundenen, Servern laufen, für den entfernten, direkten Zugriff auf Memory anderer Server (Remote Direct Memory Access (RDMA) und den Anschluss von Prozessoren mit High-Speed-Peripheriegeräte wie Festplatten. Zusätzlich zur Punkt zu Punkt-Funktionalität, unterstützt Infiniband auch den Multicast-Betrieb, verfügt über mehrere Übertragungsraten und ermöglicht, wie bei PCI Express, das Bündeln mehrerer Links (Bonding) zum Erzielen höherer Datenraten.

  • Signalraten
    Infiniband gibt es zurzeit in 4 Übertragungsklassen, SDR (Single Data Rate), DDR (Double Data Rate), QDR (Quad Data Rate) und FDR und EDR. Die Übertragungsrate für serielles SDR liegt bei 2,5 Gigabit pro Sekunde (Gbit/s) in beiden Richtungen je Einzelverbindung (Lane). DDR liegt bei 5 Gbit/s, QDR bei 10 Gbit/s, FDR bei 14,0625 Gbit/s und EDR bei 25.78125Gbit/s pro Lane.

    Für SDR, DDR und QDR, nutzen die Verbindungen (Links) eine 8B/10B-Kodierung - von 10 gesendeten Bits /RAW Data) stehen den Prozessen 8 Bits zur Verfügung, d.h., die effektive Datenrate beträgt 4/5 der Roh-Rate. Deshalb verfügen SDR-, DDR- und QDR-Verbindungen (Lanes) über effektive Datenraten von 2, 4 und 8 Gbit/s. Für FDR- und EDR-Verbindungen wird eine 64B/66B-Kodierung eingesetzt, d.h. aller gesendeten 66 Bit-Übertragungsblöcke tragen 64bits Nutzdaten. Diese Berechnungen berücksichtigen nicht den zusätzlichen physikalischen Layer- Overhead für Komma-Zeichen oder Protokoll-Anforderungen wie StartOfFrame und EndOfFrame).

    Hersteller von Infiniband Fabrics können Links in Einheiten von 4 oder 12 aggregieren, welche als 4X und 12X bezeichnet werden. Ein 12X QDR Link verfügt somit über Übertragungsraten von 120 Gbit/s Roh-entsprechend 96 Gbit/s Nutzdaten. Seit 2009 verwenden die meisten Systeme Aggregate von 4X mit 10 Gbit/s (SDR), 20 Gbit/s (DDR) bzw. 40 Gbit/s (QDR)-Verbindungen. Größere Systeme mit 12x Links werden in der Regel für Cluster - und Supercomputer-Verbindungen sowie Inter-Switch-Verbindungen eingesetzt.

    Die zukünftige Infiniband-Roadmap sieht zusätzlich "HDR" (High Data Rate) bis 2014, und "NDR" (Next Data Rate) (noch kein Einführungsdatum) vor. GenaueEine Spezifikation der liegt aber noch nicht vor.
  • Latency
    SDR Switch-Chips verfügen über eine Latenz von 200 Nanosekunden, bei DDR-Chips liegt die  Latenz bei 140 Nanosekunden (nsec) und bei QDR-Chips bei 100 nsec. Die End-to-End MPI-Latenzzeit reicht von 1,07 Mikrosekunden (Mellanox ConnectX QDR HCAs), 1,29 Mikrosekunden (Qlogic InfiniPath HCAs), 2,6 Mikrosekunden (Mellanox InfiniHost DDR III HCAs). Seit 2009 werden verschiedene Infiniband Host Channel Adapter (HCA) angeboten, die über unterschiedliche Latenz- und Bandbreiten-Eigenschaften verfügen. Infiniband bietet auch RDMA Funktionalität (Remote Direct Memory Access), um den CPU-Overhead abzusenken. Die Latenzzeit für RDMA Operationen unter 1 Mikrosekunde (Mellanox ConnectX HCAs).
  • Topologie
    Im Gegensatz zu traditionellen, hierarchisch geschalteten (switched) Netzwerken, wie Ethernet-Architekturen, nutzt Infiniband eine Switched-Fabric-Topologie. Obwohl „Emerging Ethernet Fabric-Architekturen“ viele Vorteile besitzen, welche Infiniband ersetzen könnte. Die meisten Netzwerk-Topologien basieren auf den Fat-Tree (Clos), Mesh-oder 3D-Torus Modellen. Neuere Veröffentlichungen (ISCA'10) zeigen auch Schmetterling Topologien.

    Wie im Channel-Modell, welches in den meisten Mainframe-Computern eingesetzt wird, starten und enden alle Übertragungen an einem Channel-Adapter. Jeder Prozessor verfügt über einen Host Channel Adapter (HCA) und jedes Peripheriegerät verfügt über einen Target-Channel-Adapter (TCA). Diese Adapter können auch Informationen bezüglich Sicherheit und Quality of Service (QoS) austauschen.
  • Nachrichten
  • Infiniband überträgt Daten in Paketen von bis zu 4 KB, die zu einer Nachricht (Message) zusammengefasst werden. Eine Nachricht kann sein:
     
    • ein direkter Speicherzugriff zum Lesen von oder Schreiben auf, einen entfernten Knoten (RDMA)
    • ein Kanal send (senden) oder receive (empfangen)
    • eine Transaktions-basierte Operation (welche rückgängig gemacht werden kann)
    • eine Multicast-Übertragung.
    • eine „atomic“ Operation
  • Programmierung
    Die Infiniband-Spezifikation verfügt über keine Standard-Programmier-API. Der Standard listet nur eine Reihe von "Verbs"; Funktionen, welche vorhanden sein müssen. Die Syntax dieser Funktionen wird den Anbietern überlassen. Als bis heute gültiger De-Facto-Standard hat sich die Syntax der OpenFabrics Alliance durchgesetzt, der von den meisten Infiniband-Anbietern für Linux, FreeBSD und Windows angenommen wurde. Der, von der OpenFabrics Alliance entwickelte Infiniband-Software-Stack wurde als "OpenFabrics Enterprise Distribution (OFED)", unter einer Auswahl von zwei Lizenzen (GPL2 oder BSD-Lizenz für Linux und FreeBSD), und "WinOF" als BSD-Lizenz für Windows frei gegeben.

Es gibt keine Artikel unter dieser Kategorie