Deutsch

Überblick zum Netzwerk und zur Architektur von InfiniBand

Veröffentlicht am 30. Dez 2023 by
216

Mit der rasanten Entwicklung der aktuellen Rechenleistung steigt die Nachfrage nach Rechenzentren und High-Performance-Computing weiter an. Vor diesem Hintergrund hat die InfiniBand-Architektur als Hochleistungsnetzwerklösung große Aufmerksamkeit erlangt. Dieser Artikel befasst sich mit den Konzepten und Merkmalen von InfiniBand und untersucht dessen stetiges Wachstum sowie die Entwicklung im Rahmen der Rechenleistung. Wir konzentrieren uns auf die Hauptkomponenten von InfiniBand-Netzwerken, vergleichen sie mit dem herkömmlichen TCP/IP und zeigen ihre Vorteile im High-Performance-Computing auf. Durch eine Analyse der verschiedenen Schichten der InfiniBand-Architektur, einschließlich der oberen Schicht, der Transportschicht, der Vermittlungsschicht und der Bitübertragungsschicht, werden wir ein umfassendes Verständnis für die Rolle von InfiniBand beim Aufbau effizienter Datenübertragungsnetze mit niedriger Latenz gewinnen.

Grundlagen der InfiniBand-Architektur

InfiniBand (IB) ist eine Kommunikationstechnik für den Datenfluss zwischen Prozessoren und I/O-Geräten (Input/Output) und unterstützt bis zu 64.000 adressierbare Geräte. InfiniBand Architecture (IBA) ist die Industriestandardspezifikation, die ein Punkt-zu-Punkt-Switching-Eingangs-/Ausgangs-Framework definiert, das in der Regel für die Verbindung von Servern, Kommunikationsinfrastrukturen, Speichergeräten und eingebetteten Systemen verwendet wird. InfiniBand zeichnet sich durch universelle Einsetzbarkeit, niedrige Latenz, hohe Bandbreite und niedrige Verwaltungskosten aus, was es zu einem idealen Verbindungsnetzwerk für mehrere Datenströme (Clustering, Kommunikation, Speicherung, Verwaltung) macht, wobei die miteinander verbundenen Knoten bis zu Tausende sein können.

InfiniBand-Netzwerke nutzen eine Punkt-zu-Punkt-Verbindung, bei der jeder Knoten über dedizierte Kanäle direkt mit anderen Knoten kommuniziert, wodurch die Überlastung des Netzwerks verringert und die Gesamtleistung verbessert wird. Diese Architektur unterstützt Remote Direct Memory Access (RDMA), was eine direkte Datenübertragung zwischen Speichern ohne Beteiligung der Host-CPU ermöglicht, was die Übertragungseffizienz weiter erhöht.

Die kleinste vollständige Einheit in der InfiniBand-Architektur ist ein Subnetz. Mehrere Subnetze werden durch Router verbunden, um ein großes InfiniBand-Netzwerk zu bilden. Jedes Subnetz besteht aus Endknoten, Switches, Links und Subnetz-Managern. InfiniBand-Netzwerke werden in Rechenzentren, Cloud Computing, High-Performance-Computing (HPC), maschinelles Lernen und künstliche Intelligenz eingesetzt. Zu den wichtigsten Zielen gehören die Maximierung der Netzwerkauslastung, der CPU-Auslastung und der Anwendungsleistung.

Datenübertragung über InfiniBand

In klassischen vernetzten Fabrics ist das Betriebssystem der alleinige Eigentümer der gemeinsam genutzten Netzwerkressourcen, was bedeutet, dass Anwendungen nicht direkt auf das Netzwerk zugreifen können. Stattdessen müssen sich die Anwendungen auf das Betriebssystem verlassen, um Daten aus dem virtuellen Puffer der Anwendung an den Netzwerkstack und die Leitungen zu übertragen.

InfiniBand ermöglicht es Anwendungen, Daten direkt über das Netzwerk auszutauschen, ohne das Betriebssystem direkt einzubeziehen. Dieser anwendungszentrierte Ansatz ist ein wesentliches Unterscheidungsmerkmal zwischen InfiniBand-Netzen und herkömmlichen Netzen und genau darin liegen die Vorteile des InfiniBand-Netzes.

InfiniBand-Architektur im Vergleich zu TCP/IP

Die InfiniBand-Architektur ist in fünf Schichten gegliedert, ähnlich wie das klassische TCP/IP-Modell. Es gibt jedoch viele Unterschiede zwischen ihnen.

Im Bereich der verteilten Speicherung wird IB häufig im Speicher-Front-End-Netzwerk von DPC-Szenarien (Distributed Parallel Computing) eingesetzt. Andererseits wird TCP/IP üblicherweise in Unternehmensnetzwerken eingesetzt.

Der Grund dafür ist, dass die bestehende TCP/IP-Software- und Hardware-Architektur den Anforderungen von Anwendungen mit hoher Synchronität und geringer Latenz nicht gerecht wird. Die herkömmliche TCP/IP-Netzwerkkommunikation beinhaltet die Übertragung von Nachrichten durch den Kernel, was hohe Kosten für die Datenübertragung und Datenreplikation verursacht. Die RDMA-Technologie, einschließlich RoCE und InfiniBand, beseitigt die Verzögerung bei der serverseitigen Datenverarbeitung während der Netzwerkübertragung. Sie ermöglicht den direkten Zugriff auf Speicherdaten über die Netzwerkschnittstelle, ohne dass der Kernel eingreifen muss, was einen hohen Durchsatz und eine Netzwerkkommunikation mit geringer Latenz ermöglicht. Dadurch eignet sich RDMA besonders für große parallele Computer-Cluster.

Architektur-Schichten von InfiniBand

Die InfiniBand-Architektur besteht aus den folgenden Schichten:

Obere Schicht: Die obere Schicht umfasst Protokolle und Dienste wie SCSI (Small Computer System Interface), IPoIB (IP over InfiniBand) usw., die verschiedene Anwendungen und Dienste unterstützen.

Transportschicht: Die Transportschicht bietet Ende-zu-Ende-Kommunikationsdienste, einschließlich zuverlässiger Datenübertragung, Datenflusssteuerung und Fehlerbehandlung. Sie verwaltet die Reihenfolge, Integrität und Zuverlässigkeit der Datenübertragung.

Vermittlungsschicht: Die Vermittlungsschicht ist für die Ende-zu-Ende-Kommunikation und das Routing zuständig und gewährleistet die korrekte Übertragung von Datenpaketen von den Quellknoten zu den Zielknoten. Sie definiert die Adressen und Routing-Regeln für Knoten im InfiniBand-Subnetz.

Bitübertragungsschicht: Die Bitübertragungsschicht definiert die Hardwarespezifikationen von InfiniBand-Verbindungen, einschließlich Kabel, Glasfasern, Steckverbinder und Schnittstellen.

Sicherungsschicht: Die Sicherungsschicht ist für die Fehlererkennung und Fehlerkorrektur, die Verwaltung des Datenpaketflusses und die Einkapselung und Entkapselung von Datenrahmen auf der Bitübertragungsschicht zuständig.

Obere Schicht

Einige der unterstützten Protokolle der oberen Schicht sind:

SCSI-Protokoll (Small Computer System Interface): Ein Standard-Schnittstellenprotokoll für die Datenübertragung zwischen Computern und externen Geräten, das Geräte wie Festplattenlaufwerke, Drucker und andere Zusatzgeräte unterstützt.

IPoIB-Protokoll (IP over InfiniBand): Ein Protokoll, das die IP-Datenübertragung über das InfiniBand-Netz ermöglicht. Außerdem ermöglicht es InfiniBand, TCP/IP-Protokollstacks zu unterstützen.

SDP-Protokoll (Sockets Direct Protocol): Ein Protokoll, das für die Socket-Kommunikation über das InfiniBand-Netzwerk verwendet wird und eine leistungsstarke Datenübertragung mit geringer Latenz ermöglicht.

MPI (Message Passing Interface): Ein Standardprotokoll für die Kommunikation zwischen Prozessen bei der parallelen Datenverarbeitung, das häufig in HPC-Anwendungen verwendet wird.

Transportschicht

Der InfiniBand-Transportdienst unterscheidet sich von TCP/IP bezüglich der Transportschicht.

InfiniBand verwendet die RDMA-Technologie (Remote Direct Memory Access), die eine direkte Datenübertragung zwischen Netzwerkadaptern unter Umgehung des Hostspeichers ermöglicht. Mit diesem Ansatz werden niedrige Latenzen und ein hoher Durchsatz erreicht.

TCP/IP verwendet einen Ende-zu-Ende-Transportmechanismus, der Verbindungen zwischen sendenden und empfangenden Hosts für die Datenübertragung herstellt. Dieser Mechanismus kann zusätzliche Übertragungslatenz und System-Overhead verursachen.

Transportschicht-Verbindungen in der Hardware

In der Transportschicht wird ein „virtueller Kanal“ eingerichtet, um zwei Anwendungen miteinander zu verbinden, sodass sie in völlig getrennten Adressräumen kommunizieren können. Bei der Nachrichtenübertragung nutzt dieses Design die direkte Hardware-Datenübertragung und trägt so zu einer verbesserten Kommunikationseffizienz und Leistung bei.

Die Nachricht wird direkt über die Hardware übertragen, ohne dass ein Eingreifen des Host-Prozessors erforderlich ist. Folglich wird die Nachricht beim Erreichen der Empfangsseite direkt an den Puffer der empfangenden Anwendung geliefert, ohne dass zusätzliche Verarbeitungsschritte erforderlich sind.

Netzwerkschicht

Das InfiniBand-Netzwerk ist in mehrere Subnetze unterteilt, die typischerweise jeweils durch einen oder mehrere InfiniBand-Switches verbunden sind. Ein Subnetz ist eine unabhängige Kommunikationsdomäne mit eigener Topologie und Konfiguration. Router und Switches werden zum Weiterleiten und Vermitteln von Paketen zwischen verschiedenen Subnetzen eingesetzt. Router sind für die Verbindung verschiedener Subnetze verantwortlich, während Switches die Paketvermittlung innerhalb desselben Subnetzes übernehmen.

Sicherungsschicht

Local Identifier(LID)

Alle Geräte in einem Subnetz haben einen Local Identifier (LID), eine 16-Bit-Adresse, die vom Subnetz-Manager zugewiesen wird. Alle innerhalb eines Subnetzes gesendeten Pakete verwenden den LID als Zieladresse für die Weiterleitung und Vermittlung von Paketen auf der Sicherungsschicht.

In einem InfiniBand-Netzwerk unterhält jeder Switch eine Weiterleitungstabelle, die die Zuordnung zwischen seinen angeschlossenen Ports und des zugehörigen Local Identifiers (LID) aufzeichnet. Solche Weiterleitungstabellen werden vom Subnetz-Manager dynamisch berechnet und konfiguriert.

Der Subnetz-Manager ist für die Überwachung von Änderungen in der Netztopologie verantwortlich und generiert entsprechende Weiterleitungstabellen für jeden Switch, um sicherzustellen, dass Datenpakete korrekt und schnell an ihre Zielknoten übertragen werden können.

Switching von InfiniBand-Paketen

In einem InfiniBand-Netzwerk werden die Datenpakete über Netzwerk-Switchesübertragen und weitergeleitet. Der Einsatz von Switches für die Paketvermittlung ermöglicht den Aufbau flexibler, hochleistungsfähiger Netzwerktopologien und gewährleistet, dass Daten schnell und effizient von Quellknoten zu Zielknoten übertragen werden können.

Datenflusssteuerung

Die Sicherungsschicht von InfiniBand enthält ein Datenflusssteuerungsprotokoll, das zur Anpassung der Übertragungsrate zwischen Sender und Empfänger eingesetzt wird, um zu verhindern, dass ein schneller Sender die Verarbeitungsfähigkeit eines langsameren Empfängers überfordert.

Verlustfreie Fabric

Das InfiniBand-Netz ist als verlustfreies Netz konzipiert, bei dem der sendende Knoten die Auslastung des Empfangspuffers dynamisch überwacht und Daten nur dann überträgt, wenn im Puffer des empfangenden Knotens noch Platz vorhanden ist. Dies macht InfiniBand zu einem verlustfreien Netz. Selbst bei einer Überlastung des Netzes kommt es nicht zum Verlust von Datenpaketen, was für Anwendungen, die eine hohe Zuverlässigkeit und geringe Latenzen erfordern, von entscheidender Bedeutung ist.

Bitübertragungsschicht

Die Bitübertragungsschicht definiert elektrische und mechanische Merkmale, einschließlich Kabel und Steckverbinder für Glasfaser- und Kupfermedien, Backplane-Steckverbinder, Hot-Swap-Funktionen usw., um die Interoperabilität zwischen verschiedenen Geräten und Herstellern zu gewährleisten. Diese Standardisierung trägt zum Aufbau von High-Performance-Computing-Netzwerken und Rechenzentrumsnetzwerken bei und ermöglicht eine zuverlässige Datenübertragung mit hoher Bandbreite. Die folgende Abbildung zeigt Beispiele für NVIDIA InfiniBand DAC und NVIDIA InfiniBand AOC -Kabel.

Fazit

Zusammenfassend lässt sich sagen, dass sich die InfiniBand-Architektur aufgrund ihrer herausragenden Leistung und niedrigen Latenz als bevorzugte Wahl für Performance-Computing-Netzwerke und Rechenzentrumsnetzwerke herauskristallisiert hat. Ihr einzigartiges Design macht sie zu einer idealen Lösung für große Datenübertragungen und komplexe Berechnungsaufgaben. Angesichts der stetig steigenden Anforderungen an die Rechenleistung und der zunehmenden Größe von Rechenzentren wird InfiniBand als Hochleistungs-Verbindungstechnologie auch weiterhin eine entscheidende Rolle in Wissenschaft, Technik und Wirtschaft spielen.

Das könnte Sie auch interessieren

Kenntnisse
Kenntnisse
See profile for Jason.
Jason
Die Vorteile und Nachteile der Glasfaserkabel
07. Aug 2020
88.1k
Kenntnisse
Kenntnisse
See profile for Sheldon.
Sheldon
TCPIP vs. OSI: Was ist der Unterschied?
06. Jul 2022
76.4k
Kenntnisse
See profile for Sheldon.
Sheldon
Das ABC von PON: OLT, ONU, ONT und ODN
19. Aug 2020
28.5k
Kenntnisse
Kenntnisse
See profile for Sheldon.
Sheldon
Grundlagen von optischen Verteilern (ODF)
02. Apr 2019
4.4k
Kenntnisse
See profile for Sheldon.
Sheldon
LACP vs. PAGP: Was ist der Unterschied?
06. Jun 2022
7.0k
Kenntnisse
See profile for Vincent.
Vincent
Einführung zu BiDi-Transceivern
26. Jun 2020
10.4k
Kenntnisse
See profile for Moris.
Moris
Simplex- vs. Duplex-Glasfaserkabel
10. Jun 2021
41.3k