I. Was ist ein InfiniBand-Netzwerk?
InfiniBand, oft abgekürzt als "IB", ist ein Netzwerkkommunikationsstandard und eines der Protokolle, die die RDMA-Technologie (Remote Direct Memory Access) implementieren. Es nutzt eine differenzielle Hochgeschwindigkeitssignaltechnik und parallele Mehrkanal-Übertragungsmechanismen. Seine Hauptziele sind hohe Leistung, niedrige Latenzzeiten und hohe Zuverlässigkeit".
InfiniBand ist eine Verbindungstechnologie für das Hochleistungsrechnen (HPC) im Serverbereich. Sie zeichnet sich durch einen extrem hohen Durchsatz und eine außergewöhnlich geringe Latenz aus und wird für die Datenverbindung zwischen Computern (z. B. Replikation, verteilte Arbeitslasten) verwendet. InfiniBand wird auch als direkte oder geschaltete Verbindung zwischen Servern und Speichersystemen (wie SANs und Direct-Attached Storage) sowie zwischen den Speichersystemen selbst eingesetzt. Außerdem erleichtert es die Kommunikation zwischen Servern und Netzwerken (wie LANs, WANs und dem Internet). Sie ist in Rechenzentren und HPC/Speicherbereichen weit verbreitet. Mit dem Aufschwung der künstlichen Intelligenz wurde sie zur bevorzugten Netzwerkverbindungstechnologie für die Anbindung von GPU-Servern.
II. Die Entwicklungsgeschichte von InfiniBand
In den frühen 1990er Jahren leistete Intel Pionierarbeit bei der Einführung des PCI-Bus-Designs in die Standard-PC-Architektur, um die wachsende Zahl externer Geräte zu unterstützen. Da jedoch CPUs, Speicher, Festplatten und andere Komponenten schnell aufgerüstet wurden, wurde die langsamere Entwicklung des PCI-Busses zu einem Engpass für das gesamte System. Um dieses Problem anzugehen, gründeten die Giganten der IT-Branche, darunter Compaq, Dell, HP, IBM, Intel, Microsoft und Sun, gemeinsam mit über 180 anderen Unternehmen die **IBTA (InfiniBand Trade Association)**.
Der Zweck von IBTA war die Erforschung neuer alternativer Technologien, um PCI zu ersetzen und das Problem des Übertragungsengpasses zu lösen. Im Jahr 2000 wurde daher die **InfiniBand Architecture Specification Version 1.0** offiziell veröffentlicht. Sie führte das RDMA-Protokoll ein, das geringere Latenzzeiten, eine größere Bandbreite und höhere Zuverlässigkeit bietet und eine deutlich höhere E/A-Leistung ermöglicht, wodurch es sich als neuer Standard für die Systemverbindungstechnologie etablierte.
Wenn man von InfiniBand spricht, kommt man unweigerlich auf ein israelisches Unternehmen zu sprechen - **Mellanox** (chinesischer Name: , leicht zu merken als - "Schrauben verkaufen"). Mellanox wurde im Mai 1999 in Israel von mehreren ehemaligen Mitarbeitern von Intel und Galileo Technology gegründet und trat der InfiniBand-Industrieallianz kurz nach deren Gründung bei. Im Jahr 2001 brachte das Unternehmen sein erstes InfiniBand-Produkt auf den Markt.
Im Jahr 2002 kam es im InfiniBand-Lager zu einer großen Umwälzung. Intel "verließ das Schiff" und beschloss, seinen Entwicklungsschwerpunkt auf **PCI Express (PCIe)** zu verlagern, das 2004 eingeführt wurde. Ein weiterer Gigant, Microsoft, zog sich ebenfalls aus der InfiniBand-Entwicklung zurück. Obwohl sich Unternehmen wie Sun und Hitachi weiterhin engagierten, wurde die Zukunft von InfiniBand in den Schatten gestellt.
Ab 2003 wandte sich InfiniBand einem neuen Anwendungsbereich zu: "Computer-Cluster-Verbindungen". Im Jahr 2005 fand es eine weitere neue Anwendung: "Konnektivität von Speichergeräten". Nach 2012 erlebte die InfiniBand-Technologie, angetrieben durch das kontinuierliche Wachstum der Anforderungen im High-Performance Computing (HPC), einen enormen Aufschwung und konnte ihren Marktanteil stetig steigern.
Als die InfiniBand-Technologie allmählich an Bedeutung gewann, wuchs auch Mellanox und wurde der"Marktführer" in InfiniBand. Im Jahr 2010 fusionierte Mellanox mit Voltaire, sodass Mellanox (2019 von NVIDIA übernommen) und QLogic (2012 von Intel übernommen) die wichtigsten InfiniBand-Anbieter sind.
Im Jahr 2013 erwarb Mellanox das Silizium-Photonik-Technologieunternehmen Kotura und den Hersteller von Chips für parallele optische Verbindungen IPtronics und baute damit sein Branchenportfolio weiter aus.
Im Jahr 2015 war der Anteil der InfiniBand-Technologie am"TOP500" Supercomputern zum ersten Mal die 50 %-Marke überschritt. Damit überholte InfiniBand erstmals die Ethernet-Technologie und wurde zum"bevorzugte Cluster-Verbindungstechnologie für Supercomputer".
Im Jahr 2015 hielt Mellanox einen"80 % Anteil" des weltweiten InfiniBand-Marktes. Ihr Geschäftsfeld hatte sich von Chips auf das gesamte Spektrum ausgeweitet: Netzwerkadapter, Switches/Gateways, Fernkommunikationssysteme und Kabel/Module, wodurch sie sich als Netzwerkanbieter von Weltrang etablierten.
2019 unternahm NVIDIA einen bedeutenden Schritt und erwarb Mellanox für"6,9 Milliarden Dollar". Jensen Huang, CEO von NVIDIA, erklärte: "Dies ist der Zusammenschluss von zwei weltweit führenden Unternehmen im Bereich High-Performance-Computing. NVIDIA konzentriert sich auf beschleunigtes Computing, während Mellanox sich auf Interconnect und Storage konzentriert." Im Nachhinein betrachtet hat NVIDIA eine bemerkenswerte Weitsicht bewiesen: Das Training großer Modelle ist in hohem Maße auf Hochleistungs-Computing-Cluster angewiesen, und InfiniBand-Netzwerke sind die"optimaler Partner" für solche Cluster.
III. Wie InfiniBand funktioniert
Die Funktionsprinzipien von InfiniBand mögen für diejenigen, die nicht auf Netzwerke spezialisiert sind, komplex erscheinen. Anfänger können sich die Grundlagen aneignen oder diesen Abschnitt auslassen. Das InfiniBand-Protokoll verwendet außerdem ein"geschichtete Architektur"wobei jede Schicht unabhängig ist und Dienste für die darüber liegende Schicht bereitstellt.
Physikalische Schicht: Legt fest, wie Bitsignale auf der physischen Verbindung zu Symbolen und dann zu Rahmen, Datensymbolen und Datenfüllung zwischen Paketen zusammengesetzt werden. Sie beschreibt die Signalisierungsprotokolle für den Aufbau gültiger Pakete usw.
Verbindungsschicht: Definiert das Format von Datenpaketen und die Protokolle für Paketoperationen, wie Flusskontrolle, Routing, Kodierung, Dekodierung, usw.
Netzwerkschicht: Führt das Routing durch, indem sie dem Paket einen 40 Byte großen Global Route Header (GRH) hinzufügt. Während der Weiterleitung führen die Router nur eine variable CRC-Prüfung durch, um sicherzustellen"Integrität der End-to-End-Datenübertragung".
Transportschicht: Liefert Pakete an ein bestimmtes Warteschlangenpaar (QP) und weist das QP an, wie das Paket zu verarbeiten ist. Der InfiniBand-Netzwerktransport verwendet die Credit-Based Flow Control (CBFC)-Technologie, um die Zuverlässigkeit und Effizienz der Datenübertragung zu gewährleisten. Dieser Mechanismus verwaltet das Guthaben (das die Datenmenge darstellt, die der Empfänger akzeptieren kann) zwischen Sender und Empfänger, um Paketverluste und Staus zu vermeiden.

Das QP (Queue Pair) ist die grundlegende Kommunikationseinheit der RDMA-Technologie. Es besteht aus einem Paar von Warteschlangen: der SQ (Send Queue) und der RQ (Receive Queue). Wenn Benutzer APIs zum Senden oder Empfangen von Daten aufrufen, legen sie die Daten im Wesentlichen in der QP ab. Die Anfragen in der QP werden dann eine nach der anderen in einem Polling-Verfahren verarbeitet.
Die Vorteile von"CBFC" Technologie lassen sich in drei Hauptpunkten zusammenfassen:
1. Vermeidet Überlastungen: Durch dynamische Kreditanpassung und verlustfreie Übertragung verhindert CBFC wirksam Netzüberlastung und Paketverluste.
2. Verbessert die Effizienz: Der Absender kann kontinuierlich Daten übertragen, ohne auf Bestätigungen zu warten, bis das Guthaben aufgebraucht ist, wodurch die Effizienz der Datenübertragung erhöht wird.
3. automatische Konfiguration: Der Flusskontrollmechanismus wird bei der physischen Installation von InfiniBand-Geräten automatisch aktiviert und erfordert keine manuelle Konfiguration durch den Benutzer.
Wie ersichtlich, definiert InfiniBand seine eigenen Formate der Schichten 1-4 (Physical, Link, Network, Transport), die ein vollständiges Netzwerkprotokoll darstellen. Die Ende-zu-Ende-Flusskontrolle ist die Grundlage für das Senden und Empfangen von InfiniBand-Netzwerkpaketen und ermöglicht die Realisierung eines hocheffizienten verlustfreien Netzwerks.
Um das verlustfreie Hochgeschwindigkeitsnetzwerk von InfiniBand zu erreichen, sind natürlich auch Technologien und Funktionen wie Socket Direct, Adaptive Routing, Subnet Manager (SM) für die Subnetzverwaltung, Netzwerkpartitionierung und die SHARP-Engine (Scalable Hierarchical Aggregation and Reduction Protocol) für die Netzwerkoptimierung erforderlich. Zusammen sorgen diese Komponenten für eine hohe Leistung, niedrige Latenzzeiten und einfache Skalierbarkeit.