InfiniBand

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

InfiniBand ist eine Spezifikation einer Hardwareschnittstelle zur seriellen Hochgeschwindigkeitsübertragung auf kurzen Distanzen mit geringer Latenz. Sie wird bevorzugt in Rechenzentren verwendet, beispielsweise für die Verbindungen der Server in Computerclustern untereinander und zur Verbindung zwischen Servern und benachbarten Massenspeichersystemen wie Storage Area Networks (SAN).

Die Schnittstelle ist das Resultat der Vereinigung zweier konkurrierender Systeme: Future I/O von Compaq, IBM und Hewlett-Packard und Next Generation I/O (ngio), welches von Intel, Microsoft und Sun Microsystems entwickelt wurde. Kurze Zeit, bevor der neue Name gewählt wurde, war InfiniBand bekannt als System I/O. Mit Stand 2016 werden von den Firmen Mellanox und Intel Host-Bus-Adapter für InfiniBand angeboten. Diese Hardwareschnittstellen werden unter anderem von Betriebssystemen wie Solaris, verschiedenen Linuxdistributionen wie Debian oder Red Hat Enterprise Linux, HP-UX und VMware vSphere unterstützt.

Aufbau[Bearbeiten | Quelltext bearbeiten]

InfiniBand CX4 Ports

InfiniBand benutzt einen bidirektionalen seriellen Bus zur latenzarmen Datenübertragung mit Verzögerungszeiten unter 2 µs, und erreicht theoretische Datenübertragungsraten pro Kanal bis 2,5 GBit/s in beide Richtungen, in der Variante mit Double Data Rate bis 5 GBit/s. Bei InfiniBand können mehrere Kanäle zur Skalierung in einem Kabel transparent gebündelt werden. Üblich sind vier Kanäle, für Verbindung mit höheren Anforderungen an den Durchsatz wie bei Switched Fabric sind auch Kanalbündelungen von beispielsweise 12 Kanälen und mehr üblich.

Normalerweise wird InfiniBand über Kupferkabel übertragen, wie sie auch für 10-Gigabit-Ethernet verwendet werden. Damit sind Übertragungsstrecken bis zu 15 Meter möglich. Müssen längere Strecken überbrückt werden, kann auf fiberoptische Medienkonverter zurückgegriffen werden, welche die InfiniBand-Kanäle auf einzelne Faserpaare umsetzen. Hierbei kommen optische Flachbandkabel mit MPO-Steckern zum Einsatz.

Einsatzbereiche[Bearbeiten | Quelltext bearbeiten]

Dual-InfiniBand Host-Bus-Adapter für den Einsatz in Serversystemen

Die Einsatzgebiete von InfiniBand reichen von Bussystemen bis zu Netzwerkverbindungen. Ähnlich wie HyperTransport konnte es sich allerdings nur schwer als Bussystem durchsetzen und wird daher zurzeit meist nur als Cluster-Verbindungstechnik benutzt. Eine Ausnahme sind hier IBM-Mainframe-Systeme System z ab der Modellreihe z10, welche z. B. über 24 InfiniBand-Host-Bus-Kanäle mit jeweils 6 GB/s verfügen. Der große Vorteil von InfiniBand gegenüber gebräuchlichen Techniken wie TCP/IP-Ethernet liegt dabei in der Minimierung der Latenzzeit durch Auslagern des Protokollstacks in die Netzwerk-Hardware.

Verschiedene Rechenknoten werden dabei durch InfiniBand-Kabel und spezielle Switches verbunden; als Netzwerkkarten kommen sogenannte HCAs (Host Channel Adapter) zum Einsatz. Es stehen unterschiedliche Verbindungsmodi zur Verfügung, u. a. RDMA Write/RDMA Read sowie einfache Send-/Receive-Operationen.

Um zeitaufwendige Wechsel zwischen Betriebssystem- und Benutzerkontext zu vermeiden, wie dies beispielsweise bei Sockets der Fall ist, werden zunächst die für die Benutzung vorgesehenen Speicherbereiche bei der Karte registriert. Dies ermöglicht der Karte, die Übersetzung von virtuellen Adressen in physikalische Adressen selbst vorzunehmen. Beim Senden von Daten wird durch die Zuordnung („mapping“) verschiedener Kontrollregister des HCAs in den Speicher des Prozesses (Doorbell-Mechanismus) die Sendeoperation ohne Umweg über den Betriebssystemkern vorgenommen – der HCA holt sich die Daten aus dem Hauptspeicher durch Ansteuerung des DMA-Controllers. Das (wahlweise verlässliche oder nicht verlässliche) Versenden der so auf dem HCA vorhandenen Daten wird durch den Protokollstack der Karte übernommen. Die Karte verwaltet hierzu eine Übersetzungstabelle, auf die mit dem Benutzer beim Registrieren eines Speicherbereiches zurückgegebenen Indizes zugegriffen wird.

Um die Latenzzeiten weiterhin zu minimieren, stellt InfiniBand zwei Verbindungsmodi zur Verfügung, die Daten in den Hauptspeicher eines anderen Knotens übertragen oder von dort lesen, ohne das Betriebssystem oder den Prozess auf der Gegenseite zu involvieren. Diese beiden Operationen werden als RDMA Write/RDMA Read (Remote DMA) bezeichnet. Zudem stellt InfiniBand zwei Modi für die Realisierung von Sperrmechanismen zur Verfügung: Atomic Compare&Swap sowie Atomic Fetch&Add. Mit diesen können beispielsweise Semaphore implementiert werden; sie finden u. a. in verteilten Datenbanken Anwendung.

Literatur[Bearbeiten | Quelltext bearbeiten]

  • Frank Kyne, Hua Bin Chu, George Handera, Marek Liedel, Masaya Nakagawa, Iain Neville, Christian Zass, IBM Redbooks:Implementing and Managing InfiniBand Coupling Links on IBM System z. Fourth Edition, IBM Redbooks Edition, 2014.
  • Hans Zima (Hrsg.):High Performance Computing. Band 4, Springer Verlag, Berlin / Heidelberg 2002, ISBN 3-540-43674-X.
  • Patrick Crowley, Mark A. Franklin (Hrsg.):Network Processor Design. Issues and Practices, Band 2, Morgan Kaufmann Publishers, San Francisco 2004, ISBN 0-12-198157-6.
  • Luc Bougé:High Performance Computing - HiPC 2004. Band 11, Springer Verlag, Berlin / Heidelberg 2004, ISBN 3-540-24129-9.

Weblinks[Bearbeiten | Quelltext bearbeiten]

 Commons: InfiniBand – Sammlung von Bildern, Videos und Audiodateien