Konvergente Multiprotokoll Switch-ASICs

Kommentieren Drucken
Teil 5 von 11 aus der Serie "Chip, Chip, Hurra"

Innerhalb kurzer Zeit haben die speicherbasierenden Switch-ASICs schon sehr viel gelernt und die Kinderkrankheiten überwunden. Für den Einsatz einem modernen RZ reicht es in vielen Fällen aber nicht aus, nur Ethernet und FC zu unterstützen. Mit Infiniband gibt es eine weitere wichtige Hochleistungstechnik. In diesem Artikel sehen wir uns nach einigen Vorbemerkungen an, wie der SwitchX ® von Mellanox eine bisher ungeahnte Leistungsstufe schlicht dadurch realisiert, dass er in seinem „Herzen“ ein Infiniband-Switch ist, der Ethernet einfach als ein mögliches Format betrachtet. Es ist einer der wesentlichen Entwicklungsströme, dass die Switch-ASICs sich von den eigentlichen Formaten unabhängig machen, wie wir dies auch schon aus dem Bereich optischer Netze kennen.

Bis hierher haben wir uns mit relativ einfachen speicherbasierenden Switch-ASICs für Ethernet-Switching befasst, wenn auch das letzte Beispiel schon einige erhebliche Zusatzfunktionen hatte. Man kann festhalten:

  • die Wirtschaftlichkeit eines ASICs hängt für dessen Hersteller einzig und alleine von der Stückzahl ab, in der der Chip verkauft werden kann. Also arbeiten die Hersteller daran, universelle Chips mit hohem Funktionsreichtum zu bauen, die dann möglichst häufig verbaut werden, auch wenn der Nutzer diese Funktionen am Ende nur zu einem kleinen Teil benötigt. Das ist eine Analogie zu Prozessoren. Dieser Artikel ist auf einem MacBook Pro mit einem Intel i7-Prozessor entstanden. Ich glaube nicht, dass dieser dabei wirklich ausgelastet worden ist.
  • Die ganze Hampelei mit den unterschiedlichen Netzen ist den Chipentwicklern ein Graus. Dem Switch-ASIC ist es völlig gleichgültig, ob wir das, was er da switcht, Ethernet, Fibre Channel, IB oder sonstwie nennen.
  • Ältere Switch-ASICs sind mehrheitlich noch in 65nm-Technologie entwickelt, also recht grob gestrickt. Der Trident von Broadcom und der SwitchX ® von Mellanox verwenden schon 45nm-Technologie. Mittelfristig besteht die Tendenz, sich hinsichtlich der Herstellung der Prozessortechnologie anzuschließen, die aktuell bei 22nm steht. Mit jedem Schritt in diese Richtung passen natürlich immer mehr Funktionen auf einen Chip.

In diesem Abschnitt geht es zunächst um ein paar Einzelheiten, die für die Beurteilung der Eignung von speicherbasierten Switch-ASICs für den Einsatz in einem RZ-Netz, welches als Systembus virtualisierter Systemumgebungen dient, und damit einhergehende neue Ansätze zur Schaffung von Konvergenz wesentlich sind.

In der IEEE 802.3ba-Architektur vermittelt die PCS zwischen der PMA-Teilschicht und dem betreffenden MII. Die PCS hat die Aufgabe, die Datenbits in Codegruppen für die Übertragung via der PMA einzuteilen bzw. in der Gegenrichtung die Decodierung vorzunehmen. IEEE 802.3 ba hat als Basis für die 40 und 100 GbE PCS ein System mit dem Namen Multi Lane Distribution MLD entworfen, welches einen geringen Overhead hat.

Das flexible und skalierbare MLD-Schema für die PCS wurde so entworfen, dass alle definierten PHY-Typen für 40 und 100 GbE unterstützt werden. Außerdem ist es so gestaltet, dass es auch alle denkbaren zukünftigen PCS-Definitionen, die sich z.B. durch Fortschritte in der Übertragungstechnologie ergeben, abdecken kann.

Die PCS hat darüber hinaus noch folgende Aufgaben:

  • Erzeugung der Frames
  • Transport von Kontrollsignalen
  • Sicherstellung der notwendigen Transitionsdichte für die Taktungen, die von den zugrunde liegenden optischen oder elektrischen Übertragungstechniken benötigt werden
  • Aufteilung und Wiederzusammenbau von Informationen, die über parallele Lanes laufen.

Die PCS übernimmt das 64B/66B-Codierschema, welches wir schon von 10 GbE kennen. Es hat eine Reihe nützlicher Eigenschaften einschließlich geringem Overhead und hinreichendem Code-Raum für notwendige Code-Wörter, die ebenfalls konsistent zu 10 GbE sind.

Das in der PCS implementierte MLD-Schema basiert grundsätzlich auf dem sog. „Striping“ der 66B-Ströme auf die multiplen Lanes. Der amerikanische Ausdruck ist sehr plastisch, denn ein 66B-Strom wird tatsächlich „in Streifen geschnitten“, und zwar in so viele, wie es Lanes gibt. Die Abbildung der Lanes auf die zur Verfügung stehenden optischen oder elektrischen Übertragungskanäle wird in der Implementierung dadurch erschwert, dass die zwei Gruppen von Schnittstellen (auf jeder Seite) nicht notwendigerweise aufeinander abgestimmt sind. Vor allem gibt es Unterschiede in der Entwicklung von „normalen“ elektrischen integrierten Schaltungen und der optischer integrierter Elemente. Durch das Konzept der PCS-Lanes wurde erreicht, dass man die Entwicklungen bei den elektrischen Schalkreisen, z.B. hinsichtlich der Bandbreite oder der Signalweite, von denen der optischen Elemente, z.B. hinsichtlich VCSELs und Modulation, abkoppeln kann und eigentlich zu jeder Zeit die günstigsten Entwicklungen zu einem Transceiverdesign zusammensetzen kann.

Daher übt die PCS bei der Sendung die Codierung und das Scrambling auf dem aggregierten Kanal (40 oder 100 G) aus, bevor die 66B-Blocks mit einem Round Robin-Verfahren auf die Lanes gescrambelt werden. (siehe Bild 1)

Die Anzahl der benötigten PCS-Lanes ist das kleinste gemeinsame Vielfache der erwarteten Bandbreiten von optischen oder elektrischen Übertragungsschnittstellen. Für 100 GbE hat man sich auf 20 Lanes festgelegt. Damit kann man dann Systeme mit 1,2,4,5, 10 oder 20 Kanälen oder Wellenlängen unterstützen. Für 40 GbE hat man sich auf 4 Lanes festgelegt, das bedeutet mögliche Systeme mit 1,2 oder 4 Kanälen oder Wellenlängen.

Sobald die PCS Lanes kreiert sind, können sie auf jede der unterstützten Kanalbandbreiten gemultiplext werden. Das Konzept unterstützt also Übertragungssysteme mit Kanalbandbreiten von 100, 50, 25, 20, 10 oder 5 Gb. Jede PCS Lane hat einen eindeutigen Marker, der periodisch eingesetzt wird. Das gesamte Multiplexing passiert auf der Bit-Ebene. Durch das Round Robin Verfahren kann es passieren (eigentlich immer), dass verschiedene Lanes auf eine einzige physikalische Übertragungsschnittstelle gemultiplext werden. Jede Lane kommt ja nur mit 5 Gb, wenn also z.B. Übertragungskanäle von 25 Gb zur Verfügung stehen, werden 5 Lanes in eine Übertragungsschnittstelle gemultiplext.

Eine einzigartige Eigenschaft der PCS ist es, dass alle Lanes, gleich auf welche Übertragungsbandbreite sie gemultiplext werden, einem einheitlichen physikalischen Übertragungsweg folgen. Das versetzt den Empfänger in die Lage, den aggregierten Kanal vollständig zu reassemblieren und zwar werden zunächst die Bits einer Lane wieder zusammengefügt, um die Lane wieder als Ganzes zurückzubekommen und dann die Lanes wieder zusammengesetzt. Dies dient der Kompensation jeglicher Asymmetrie, die auf dem Übertragungsweg, z.B. durch chromatische oder andere Dispersion entstanden sein kann. Dabei ist natürlich auch der eindeutige Lane-Marker wichtig. Der Platz für diese Lane-Marker wird durch periodische Inter Frame Gaps erzeugt. Diese Marker sieht man auch in der Bild 1.

Die PMA-Teilschicht verbindet die PCS-Teilschicht mit der PMD-Teilschicht und enthält traditionell die Funktionen für Sendung, Empfang, ggf. Kollisionserkennung, Clock-Recovery und Asymmetrie-Ausgleich. Hier beschränken wir uns auf Aspekte von Sendung, Empfang und Takt-Regenerierung.

Insgesamt ist es von großem Vorteil, dass IEEE 802.3 ba eine derartige Flexibilität vorgesehen hat, denn schon während der weiteren Standardisierung konnte man sehen, dass die ursprünglichen Annahmen für die optischen Übertragungsschnittstellen von der Realität überholt wurden.

Wie kann ein derartiges Konzept nun von einem speicherbasierten Switch-ASIC umgesetzt werden?

In Bild 2 sehen wir links einen Port, an dem technisch Daten mit einer Datenrate von 40 Gbps ankommen. Mittels eines SERDES (eigentlich nur der ersten Hälfte davon) wird der Datenstrom in vier Teilströme zerlegt. Der Switching-Prozess, der über den weiteren Weg dieser Teilströme entscheidet, muss sie sich jetzt alle vier gleichzeitig ansehen, um die nötigen Informationen zu bekommen. Das ist für ihn aber unproblematisch.

Er entscheidet also über ein Ziel und dann können die Teilströme dorthin laufen. Erst der SERDES im Zielport mischt die Datenströme wieder in einen einzigen 40 Gbps Datenstrom. In Bild 3 passiert auch sonst nichts weiter, sollte ein Paket eine zusätzliche Zuwendung benötigen, werden eben alle vier unabhängigen Teilstöme im Funktionspuffer zwischengespeichert.

In Bild 4 sehen wir eine aufregende Zusatzfunktion.

Hier kommen an vier Ports Daten mit jeweils 10 Gbps an. Die Auswertung der Paketköpfe zeigt aber, dass sie alle zum gleichen Zielport möchten. Normalerweise hätten wir jetzt eine Congestion, aber in diesem Fall hat der Zielport eine mögliche Leistung von 40 Gbps. Also können die Pakete gemischt und im Zielport auf 40 Gbps serialisiert werden. Im Ethernet-Bereich könnte man noch LAG dazu nehmen, was durch den Einfluss eines Funktionsprozesses implementiert werden kann. Außerhalb des Ethernet-Universums ist eine derartige Konzentrator-Funktion grundsätzlich üblich. Generell kann es vorkommen, dass Übertragungssysteme mit unterschiedlichen Lane-Konfigurationen zusammenarbeiten müssen, z.B. solche für Fernkommunikation (wenige Lanes, höhere Rate pro Lane, teure Übertragungstechnologie) und solche für Kurzstreckenanwendungen (viele Lanes, geringere Rate pro Lane, billige Technologie). Durch die Flexibilität der Konstruktion ist es ohne weiteres möglich, diese Systeme zusammenzufügen und zu verbinden.

Diese Funktion kann so flexibel einzig durch speicherbasierte Switch-ASICs unterstützt werden.

Es gibt dafür schon Anwendungsbeispiele. Der Trident-Chip kann als

  • 64 Port X 10 GbE
  • 16 Port X 40 GbE und sogar gemischt als
  • 4 Port X 40 GbE + 48 Port X 10 GbE oder
  • 8 Port X 40 GbE + 32 Port X 10 GbE

eingesetzt werden. Juniper nimmt in QFabric die dritte Alternative.

Zum würdigen Abschluss dieser Ausführungen werfen wir einen Blick auf einen der aktuell leistungsfähigsten speicherbasierten Switch-ASICs: SwitchX ® von Mellanox.

Dieser Chip bietet:

  • bis zu 4 Terabit/s Switching-Kapazität
  • bis zu 36 56(!) Gig Infiniband oder 40 GbE-Ports oder
  • bis zu 64 10 GbE-Ports, jeweils Converged Ethernet
  • bis zu 24 2/4/8 FC-Ports
  • volle DCB-Funktionalität: Congestion Control, PFC, DCBX, ETS
  • flexible PHY für Backplane und Kabel/Glasfaser
  • IB und IP-Routing, 802.1p, Diffserv, …
  • IEEE
  • Virtualisierungs-Support mit VEB, VEPA (+) und Port Extender
  • Und vieles mehr

Das ist neben seiner fulminanten Gesamtleistung der erste Switch-ASIC, der die Virtualisierung gezielt unterstützt. Der Port Extender ist die Schnittstelle zu VMware´s Direct Path. Das braucht man, wenn man realzeitfähige VMs einsetzen möchte.

Wem dieser Chip nicht reicht, kann auch noch mehrere davon stacken und gemeinschaftlich steuern und verwalten. Eigentlich ist schon klar, dass er am liebsten mit den neuen Mellanox-Adaptern zusammenarbeitet.

Das Bild 5 zeigt die Architektur und das Bild 6 schließlich sogar ein Foto, damit Sie mir auch glauben, dass es diesen Switch gibt.

Der SwitchX® von Mellanox ist sicher hoch interessant, aber Mellanox legt keinen wirklichen Wert auf FC. Hier ist ja Brocade der eigentliche Platzhirsch und ich erwarte einen ähnlich leistungsfähigen Switch-ASIC mit Integration von Ethernet und FC sowie ebenfalls engen Anbindungen zu Virtualisierungskonzepten von diesem Hersteller. Brocade hat eine eigene Chip-Entwicklung.

« Teil 4: Verbesserungen und ZusatzfunktionenTeil 6: Flow-Prozessoren – Teil 1 »


zugeordnete Kategorien: LAN
zugeordnete Tags:

Sie fanden diesen Beitrag interessant? Sie können



Anmerkungen, Fragen, Kommentare, Lob und Kritik:

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

.