Überblick über die InfiniBand Architecture Hynek Schlawack - hynek@hys.in-berlin.de 17. Mai 2002 Inhaltsverzeichnis 1 Einführung 2 1.1 Allgemeines.............................. 2 1.2 Features................................ 2 2 Topologie eines IBA-Netzes 2 3 Kommunikation 3 3.1 Prinzipien............................... 3 3.2 Queues................................. 3 3.3 Transport-Types........................... 4 3.4 Routing................................ 4 3.5 Multicast............................... 4 4 Management 5 4.1 Subnet Management......................... 5 4.1.1 Allgemein........................... 5 4.1.2 Zweck............................. 5 4.1.3 Beispiel: Initialisation der Fabric.............. 5 4.2 General Management Services.................... 6 4.2.1 Allgemein........................... 6 4.2.2 Zweck............................. 6 4.2.3 Modelle............................ 6 5 Existierende Implementationen 6 6 Konkurenz? 7 6.0.4 3GIO............................. 7 6.0.5 PCI-X............................. 7 6.0.6 RapidIO............................ 7 6.0.7 Hypertransport........................ 7 7 Zusammenfassung und Bewertung 7 8 Anhang A: Quellen 8 1
1 Einführung 1.1 Allgemeines Angesichts der steigenden Anforderungen an schnelle und zuverlässige Bussysteme formte sich, durch Zusammenfügen der Gruppen NGIO und FutureIO, die InfiniBand Trading Association (bestehend aus Intel, Dell, Hitachi, Sun Microsystems, Hewlett-Packard, IBM, and 3Com, im August 1999, Spezifikation fertig im Oktober 2000) um eine neue Technologie zu definieren, welche die Unzulänglichkeiten des PCI-Buses (33/66 MHz, 32/64 Bit, peak Bandwidth also max. 533 MB/s, normalerweise 133 MB/s) umgeht. Das Ergebnis ist die InfiniBand 1 Architecture (IBA). Die Lösung des Problems besteht im Wesentlichen aus einem Übergang zu einem geswitchten System, es wird also ein Netzwerk aufgebaut. 1.2 Features Skalierbarkeit: vom Single-Host-Enviroment bis zu komplexen System- Area-Networks ist alles möglich. Die Erweiterung des Netzes ist problemlos. IBA deckt die unteren vier Schichten des OSI-Modells ab die Datentransfers laufen transparent ab. Flexibilität: Es wird nur der Transport zwischen den Teilen des Netzes standardisiert es können alle Arten von Geräten angeschlossen werden, es muss nur ein entsprechender Channel-Adapter existieren. Benutzung vom IPv6-Headern/Adressierung effizientes Routing in klassische Netze (Internet/Intranet). 2 Topologie eines IBA-Netzes Ein IBA-Netz besteht aus: Endnodes: Die Hardware, die sich den Bus teilen soll (z.b. Prozessoreinheiten, RAIDs...). Channel-Adapter: Sind Teile der Endnodes, stellen die Verbindung zwischen der Hardware und der Fabric her. Fabric: Bezeichnet das Netz selbst mit seinen Switches, Routers und Links, jedoch ohne die Endnodes. Switch: Ist Teil der Fabric und leitet die Datenpakete durch das aktuelle Subnet. 1 infinite bandwidth 2
Router: Stellen die Verbindung zwischen Subnets her, wobei das andere Subnet abhängig vom Router keineswegs ein InfiniBand-Netz sein muss. Link: Eine Verbindung zwischen den einzelnen Komponenten. 3 Kommunikation 3.1 Prinzipien Kommunikation basiert auf Queues, speziell auf Queue Pairs (QP) (siehe nächster Abschnitt). Ein Link kann mit Virtual Lanes (VL) mehrfach verwendet werden. Die Flow Control sorgt, dass viel Traffic auf einer Lane andere nicht blockt. Ein Port besteht aus VLs (0..15) wobei jeder ein QP zugeordnet ist. Adressierung mittels Local IDs (LIDs) für Ports, eindeutig innerhalb des Subnets. Global IDs (GIDs) (IPv6-Format) wenn zwischen Subnets geroutet wird. Keys ermöglichen Isolation und Schutz. Bieten jedoch keinen Schutz per se (werden z.b. für den Speicherschutz benutzt). Mehrfache Pfade zum Ziel können zum Zwecke der Redundanz ( Sicherheit) bzw. der Geschwindigkeit ausgenutzt werden. Endnodes können in Partitionen (eine Art Gruppen) unterteilt werden. Sämtliche OSI-Transport-Schichten bis zum Transport Layer werden abgedeckt vollkommen transparente Kommunikation. 3.2 Queues Channel-Adapter kommunizieren mit Queue Pairs (dies ist der Transport Layer, siehe das Schichtenmodell), eine Queue ist zum Senden und eine ist zum Empfangen. QP0 und QP1 sind für Management-Funktionen reserviert. Eigentliche Arbeit findet mit Work Request (WR) welche Work Queue Elements (WQE) erzeugen und diese in die Work-Queues des Channel- Adapters legt. Completation Queue Element (CQE) in der Completation- Queue wenn fertig. Mögliche Operationen sind SEND, RDMA-WRITE, RDMA-READ, ATOMIC und MEMORY BINDING für die Send-Queue und RE- CEIVE für die Receive-Queue. 3
3.3 Transport-Types Service Type Verbindungsorientiert Acknowledged Transport Reliable Connection ja ja IBA Unreliable Connection ja nein IBA Reliable Datagram nein ja IBA Unreliable Datagram nein nein IBA RAW Datagram nein nein Raw,,Reliable Connection entspricht in klassischen Netzen TCP,,,Unreliable Connection UDP. Mittels der Raw-Datagrams ist es möglich IPv6 oder Ethernet Pakete/Frames zu erstellen und so mit anderen Netzen kommunizieren. 3.4 Routing Routing innerhalb von Netzen wird von Switches übernommen die anhand von festen Routing-Tabellen jeweils entscheiden wohin ein Packet geschickt wird. Diese feste Routing-Tabellen, sind u.a. beim Multicast wichtig, sie werden bei der Fabric-Initialization gesetzt. Inter-Subnet-Routing übernehmen die Router, wobei das andere Subnet kein IBA-Netz sein muss, nur muss der Router als Gateway zwischen den Netztypen geeignet sein. Die LIDs sind eindeutig innerhalb von Subnetzen und sind Ports zugeordnet. Die GIDs sind Netzweit eindeutig und im IPv6-Format. Sie stellen eine Kombination aus GUIDs und LIDs dar. Die GUIDs sind weltweit eindeutige globale Indentifier, die durch den Hersteller (ähnlich den MAC-Adressen in Netzwerkkarten) vergeben werden. Die Auflösung von GUID nach LID und GID ist durch die Subnet Administration möglich. 3.5 Multicast Möglich für sowohl reliable als auch unreliable Datagram-Services. Gruppen-Bildung, wobei die Spezifikation nicht genau vorschreibt, wie das Gruppenmanagement auszusehen hat. Multicast-Gruppen erhalten eigene GID und LID an die Daten geschickt werden können. 4
Gruppenzugehörigkeiten werden an alle Switche gebroadcastet und eben die entscheiden beim Routing, wohin sie das Paket schicken (möglich dank statischer Routingtabellen). Das bedeutet, dass der Absender nur ein Paket abschickt und nicht wissen muss, an wen er es schickt und wieviele Empfänger es gibt. Nodes melden ihre Ports (bzw. deren LIDs) durch eine Management- Aktion an. Gruppenerstellung ist eine explizite Aktion, Gruppenentfernung nicht, es gibt eine Empfehlung, dass in regelmässigen Intervallen Multicast-Gruppen untersucht werden sollen, ob sie leer sind um sie ggf. zu entfernen. 4 Management 4.1 Subnet Management 4.1.1 Allgemein Jeder Node besitzt einen Subnet Management Agent (SMA), der auf Subnet-Managent-Packets (SMPs) reagiert, die eine Untermenge der Management Datagrams (MAD) sind. Zur Sicherheit kann ein M Key ohne den der Zugriff auf den SMA nicht möglich ist, in jedem Node hinterlassen werden, der von anderen Nodes nicht gelesen werden kann. So wird sicher gestellt, dass nur der Subnet Manager, bzw. vertrauenswürdige Peers die den Key auch erhalten haben, Zugriff auf den SMA hat. 4.1.2 Zweck Entdeckung und Administrierung der IBA-Geräte. Administration der Fabric. 4.1.3 Beispiel: Initialisation der Fabric 1. Erkennung aller angeschlossenen Geräte mittels direkten Routens. Bei jedem Switch wird ein Query-Paket an alle Ports geschickt bis alle Geräte erkannt sind. 2. Vergabe von Local IDs an alle Nodes und Einrichten der Routingtabellen der Switches. Anschliessend kann normales zielorientiertes Routing statt finden. 5
4.2 General Management Services 4.2.1 Allgemein Die General Management Services (GMS) bieten eine grosse Vielfalt an Diensten in mehreren Modellen. In der Regel finden die Aktionen über die General Service Agents (GSA), die sich z.b. in Channel-Adaptern befinden, statt. 4.2.2 Zweck Subnet Administration: Versorgt Knoten mit Informationen vom Subnet Management und ermöglicht Registrierung derer Services. Communications establishment und connection management zwischen Endknoten. Mechanismen um I/O-Einheiten hinter Channel-Adaptern zu finden. Konfigurationsmanagement: Autorität zur Zuweisung von I/O-Resourcen an Hosts. Performancemanagement: Überwacht und Meldet vorgegebene Counter. Baseboardmanagement: Bietet Energie- und Chassismanagement (Näheres im Teil 2 der Spezifikation). SNMP-Tunneling: Bietet Möglichkeiten zum Senden und Empfangen von Informationen zwischen Management-Agents und Management-Applications (u.a. SNMP, DMI, CIM...). 4.2.3 Modelle Managed Agent, ermöglicht Klassenmanagern und Management-Applikationen die Nodes mittels des General Service Agent (GSA) der für die jeweilige Klasse definiert ist zu managen. Peer Agents, erlaubt die Kommunikation zwischen Managern die sich in zwei verschiedenen Nodes befinden. Managed Services, erlaubt Managment-Applikationen auf den Klassenmanager zuzugreifen. Dieses Modell wird zur Subnet-Administration genutzt. 5 Existierende Implementationen Intel: Plante u.a. einen Channeladapter, zog sich nun jedoch zurück. (Zitat:,,Wir haben gemerkt: Wir brauchen das Produkt nicht. ). IBM: Bietet bereits konkrete Produkte an, u.a. Hostadapter. 6
http://www-3.ibm.com/chips/products/infiniband/infiniband_products.html Sun: Bietet vorerst nichts ausser der Architekturbeschreibung an. http://www.sun.com/io_technologies/infiniband/infin-summit-1.html HP: Derzeit auch ohne konkrete Angebote, jedoch sind Produkte sicher in Planung. http://www.hp.com/products1/unixserverconnectivity/iotechnologies/iba/index.html 6 Konkurenz? 6.0.4 3GIO 3rd Generation IO U.a. Intel und AMD Soll PCI in allen Intel-Basierenden Servern/Workstations ersetzen. Spezifikation im 1. Quartal 2002 erwartet. 6.0.5 PCI-X Rückwärtskompatibel 64 Bit, 133.3 MHz 1066 MB/s Peak. Bereits im Einsatz bei Compaq, Dell, Hewlett-Packard, IBM u.a. 6.0.6 RapidIO Für Embedded Systems/Kommunikationsplattformen. Wahrscheinlich in der Xbox; Apple zeigte Interesse 6.0.7 Hypertransport Für Netzwerk-/Kommunikationshardware. 7 Zusammenfassung und Bewertung Primär für,,datacenter -Systeme geeignet. Perfekt skalierbar. Durchdachte Administration. 7
Vollkommene Transparenz. Offen für alle Arten von Hardware. Da sich die Anzahl der Implementationen im Rahmen hält (z.b. keine Implementation von Sun bisher), ist eine Bewertung schwierig. Das Prinzip an sich ist jedoch sehr interessant und soweit von meinem Einblick bewertbar, durchdacht. 8 Anhang A: Quellen InfiniBand Architecture Specification Volume 1 High-Performance Buses and Interconnects: http://www.extremetech.com/print_article/0,3428,a=18058,00.asp 8