Suchen

Low Latency Networks im Überblick, Teil 2

Aufbau und Betrieb von Netzen mit geringer Latenz – konzeptionelle Grundlagen

Seite: 3/3

Firmen zum Thema

Mehr Speed durch richtige Organisation

In einem normalen Switch steht am Ende der Warteschlangen ein Scheduler, der die Warteschlangen entsprechend abarbeitet und dann die Switching Matrix arbeiten lässt. Organisiert man nun einen Switch so, dass die organisierte Speicherung sozusagen unmittelbarer Bestandteil des Switching-Vorgangs ist, erzielt man einen gewaltigen Performance-Gewinn und kann gleichzeitig nach außen damit punkten, indem man die DCB-Funktionen elegant und latenzarm implementiert.

Es gibt aber noch eine dritte, wichtige DCB-Funktion, nämlich Congestion Control. Fulcrum gibt an, dass das Array zwei MB, also 16 Mbit groß ist und man bis zu 200 Warteschlangen organisieren könne. In jede Warteschlange passen dann im Extremfall also nur 80.000 Bits, weniger als fünf Jumbo-Pakete. Ist da der Abfluss auch nur kurz verstopft, sind die Pakete sofort tot. Damit ein solcher Switch überhaupt sinnvoll funktionieren kann, muss er

Bildergalerie

Bildergalerie mit 10 Bildern
  • architektonisch so eingebunden sein, dass es keinerlei Überbuchung gibt (damit die Wahrscheinlichkeit für eine Congestion extrem gering wird)
  • einen extrem sensiblen Warnmechanismus haben, der ein 802.3X Pause-Kommando oder die Auslösung der Congestion Control beim leisesten Verdacht einer Stausituation veranlasst
  • mit Adapterkarten zusammenarbeiten, die das auch schnell genug umsetzen, bis in die Ebene der VM-Kommunikation hinein

Fulcrum ist nur ein Beispiel, es gibt weitere Hersteller solcher ASICs. Sofern sie auf dem gleichen oder einem ähnlichen Funktionsprinzip basieren, gelten gleiche oder ähnliche Randbedingungen.

Solange die ultraschnellen Switches unter sich bleiben und nur mit geeigneten Adapterkarten kommunizieren, kann man diese Probleme als gelöst betrachten. Bei einem Übergang zu Netzkomponenten oder Adapterkarten mit höherer Latenz wird man aber wohl um die Einbeziehung zusätzlicher externer Puffer kaum herumkommen, was dann natürlich an dieser Stelle die Latenzarmut zerstört. Solche Designaspekte werden wir später aufgreifen. Fest steht jedoch, dass für die Koexistenz von Switching-Bereichen mit unterschiedlichem Latenzverhalten die Implementierung von DCB-Funktionen in jedem Fall auf allen Switches zwingend erforderlich ist!

Sehen wir uns zum Ende des Abschnittes noch kurz an, an welchen Positionen man einen solchen Switch-ASIC sinnvoll einsetzen kann.

Natürlich kann man mehrere Switch-ASICs systematisch kombinieren, um einen größeren Switch zu erhalten, wie Abbildung 5 zeigt. Hier werden 36 Switch-ASICs zu einem Switch mit 288 Ports zusammengesetzt, der dann eben höchstens die doppelte Latenz eines einzelnen Switch-ASICs hat.

Spannend sind die Anwendungsmöglichkeiten in Blade-Systemen. In Abbildung 6 gibt es Karten mit leistungsfähigen Prozessoren, die jeweils mit einem Port der Switch-Karte verbunden werden. Weil der Switch-ASIC wie wir gesehen haben, nicht dumm ist, kann man auf dieser Ebene sogar Vorklassifizierung und Lastverteilung machen.

In Abbildung 7 haben wir eine andere Situation: die individuellen Prozessoren haben eine hohe Leistung, können aber so gepackt werden, dass mehrere von Ihnen auf eine Karte passen. Also setzt man einen Switch-ASIC dazu. So entsteht ein einzelnes Blade mit hoher Leistung.

Natürlich kann man mit einem solchen Chip auch eine Mezzanine-Karte sehr schön gestalten, siehe Abbildung 8.

Die Abbildungen zeigen unterschiedliche Modellnummern für den Switch. Das sind Elemente der FM-4000-Familie, die für die jeweiligen Einsatzzwecke optimiert wurden.

Noch ein Wort zur Energieeffizienz. Der Einsatz von EEE ist für solche Umgebungen nicht vorgesehen, weil ja der Spareffekt darin besteht, Leitungen abzuschalten, wenn sie nicht benötigt werden. In einer Umgebung, wo die geringe Latenz wirklich benötigt wird, werden auch die Leitungen fast immer benötigt. Ein Hoch- und Runterfahren der Leitungen ist daher ein absurder Gedanke, weil es jeweils viel zu lange dauern und damit natürlich die Latenzziele zerstört werden würde. Ein Switch-ASIC der FM-4000-Familie benötigt 23 Watt.

Switch-ASICs mit angereicherter Cross-Bar

Als Beispiel für die neue Generation von Switch-ASICs auf der Basis einer angereicherten Cross Bar betrachten wir die Unified Fabric der Cisco Nexus 5000 Familie. Die Fabric unterstützt natürlich das „volle Programm“ von Ethernet mit allen bereits genannten Hilfsprotokollen, DCB, FCoE und eine VM-Integration. Für den Nexus 5000 sind auch gemischte Module mit Ethernet und Fibre Channel Anschlüssen zu haben, FC wird von dieser Fabric einfach und ohne Qualitätsverlust mitgeswitcht. Das ist ein Vorteil dieser neuen Generation, den wir auch bei anderen Herstellern wie Voltaire finden.

Damit im Switch überhaupt keine Engpässe auftreten können, ist die Fabric als Single Stage Fabric ausgeführt und hat jederzeit den vollständigen Überblick über alle Vorgänge im Switch. Das größte Modell der Familie, der Nexus 5020, hat 52 nichtblockierende Vollduplex 10-GbE-Ports. Das lässt darauf schließen, dass die Fabric eine aggregate Gesamtleistung von mindestens 1 Tbit/s. unterstützt.

Durch Cut-Trough-Switching haben die ASICs eine konstante und von der Paketlänge unabhängige Latenz von 3,2 µs wenn alle zusätzlichen Features wie QoS, DCB , ACLs usw. aktiviert sind. Wichtig ist das Congestion Management. Hier wird es durch sog. virtual Output Queues realisiert. Diese VOQs sind nicht nur jeder ausgehenden Schnittstelle zugeordnet, sondern können auch für QoS verwendet werden. Unter den Richtlinien von 802.1p werden z.B. 8 VOQs pro Egress für jeden Ingress definiert. Insgesamt können 416 VOQs für jeden Egress definiert werden.

Durch diese vielfältigen Schlangen kann der Umgang mit Congestions und das Verwerfen von Paketen elegant gesteuert werden. PBFC ist zwar ein schöner Mechanismus, funktioniert aber nur, wenn die die Congestion auslösenden Sender auch darauf reagieren. Ein Switch kann im allgemeinen nicht unterscheiden, ob es sich bei einer Congestion um ein zufälliges, kurzfristiges Ereignis handelt oder ob eine Station dauerhaft zu viel sendet, was man dann vermöge PBFC abschalten könnte. Bei diesem speziellen ASIC haben sich die Designer entschieden, das sog. Delayed Drop einzuführen: ein Paket wird solange gepuffert, bis man die Hoffnung aufgeben kann, dass noch eine Flusskontrollreaktion auftritt. Bleibt sie aus, fliegt es raus.

Durch diese vielen Funktionen ergibt sich eine umfangreiche Gesamtstruktur, traditionell aufgeteilt in eine Supervisor- und eine Datenebene, siehe Abbildung 9.

Die Arbeit wird zwischen der eigentlichen Cross-Bar und den Unified Port Controllern aufgeteilt. Diese gibt es für Ethernet, FC und FCoE. Das ist natürlich eine gute Idee, wenn man den Gesamtaufbau so flexibel wie möglich haben möchte. Und das ist auch der Grund dafür, warum ich immer von einer „angereicherten Crossbar“ spreche, die Anreicherung sind die Port Controller.

An diesem Beispiel sollte klar geworden sein, wie Switch-ASICs auf der Grundlage angereicherter Crossbars arbeiten. Das Konzept ist natürlich ausbaubar. So könnte man Port Controller für IB oder spezielle Aufgaben wie die Kommunikation Virtueller Maschinen konstruieren.

Im nächsten Artikel kommen wir zu latenzarmen Switches mit Switch-ASICs nach beiden Konstruktionsalternativen sowie zu geeigneten Adapterkarten.