Verbesserungen und Zusatzfunktionen

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

Mit den ersten zwei Generationen der speicherbasierten Switch-ASICs wurde klar, dass sich das Konstruktionsprinzip nur dann allgemein durchsetzen können wird, wenn einerseits die „Kinderkrankheiten“ beseitigt werden und andererseits mehr Funktionen hinzutreten. Neben dem Speicher, der die eigentliche Switching-Funktion realisiert, muss es einen weiteren Speicherbereich geben, in dem Pakete z.B. für weitere Bearbeitungsschritte zwischengelagert werden können, ohne den Fluss derjenigen Pakete, die keine weitere Bearbeitung benötigen, zu behindern. Erst mit einer solchen Konstruktion wird es auch möglich, komplexere Funktionen auf Paketen durch zusätzliche, ebenfalls auf dem Chip befindliche, Prozessor-Strukturen zu implementieren.

In Bild 1 sehen wir die neue Komponente, die ich einmal „Funktionspuffer“ getauft habe.

Der Funktionspuffer trägt der Tatsache Rechnung, dass es doch eine Reihe von Situationen geben kann, in denen man ein Paket mehr oder minder als Ganzes zwischenpuffern muss. Das können die bereits besprochenen Situationen mit hoher Congestion sein, aber auch Funktionen, die auf einem ganzen Paket ausgeführt werden müssen.

Der Funktionspuffer darf etwas langsamer sein als der Switching-Speicher, weil das Paket ja ohnehin alleine dadurch verzögert wird, dass es in diesem Puffer landet. Nach wie vor ist es das Ziel der Gesamtkonstruktion, den Funktionspuffer so wenig wie möglich zu benutzen.

Auch jetzt ist natürlich das Ziel maximaler Parallelisierung Trumpf. Das sehen wir ab Bild 2.

Am Kopf eines ankommenden Pakets entdeckt der Switchprozess, dass es für dieses Paket eine Zusatzfunktion gibt, die ausgeführt werden muss. Sehr beliebte Zusatzfunktionen sind iSCSI-Offload oder Verschlüsselung. Während das Paket normal weiterläuft, schickt der Switchprozess eine Nachricht an den Scheduler, einen Prozess für die Bearbeitung der Zusatzfunktion anzustoßen.

Der Scheduler startet den Funktionsprozess und sperrt den Zielport für dieses Paket, damit es nicht irrtümlicherweise schon verschwindet, bevor es fertig bearbeitet ist. (Bild 3)

Der Funktionsprozess kann dann das mittlerweile vollständig im Funktionsspeicher angekommene Paket in Ruhe bearbeiten. Das stört den übrigen Verkehr in keinster Weise. Andere Pakete, die keine Bearbeitung benötigen, können völlig normal sehr schnell bearbeitet werden, sogar dann, wenn sie auf den gleichen Zielport wie das aktuell in Bearbeitung befindliche Paket zugreifen möchten. Das Stoppschild gilt ja nur für das Paket, welches eine Zusatzbehandlung braucht.

Wenn der Funktionsprozess seine Arbeit abgeschlossen hat, kann das Paket raus. (siehe Bild 5).

Ein Beispiel für das bisher Gesagte ist der NetExtreme II ® Controller von Broadcom.

Dieser Controller vereinigt sozusagen alle Funktionen, über die wir in den letzten Jahren bei RZ-Netzen gesprochen haben. Es ist ein „10 Gbps Quad Port iSCSI, FCoE, TOE und RDMA PCI-SIG SR-IOV x8 PCI-Express® 3.0 ready Controller“. Dieser Controller der sechsten Generation (von 10 GbE Controllern) ist designt für hochvolumigen 10 GbE LOM-Verkehr (LAN on Motherboard, was bedeutet, dass man ihn nicht nur in einem Switch, sondern z.B. auch direkt auf einer Blade-Server Karte einbauen kann) und er beherrscht eben alle genannten Protokolle. Wie in meinen Untersuchungen zu Low Latency Networks gezeigt, ist hierbei besonders RDMA hochinteressant, weil es der latenzarme Kommunikationsmechanismus von InfiniBand ist, der nunmehr auch auf Ethernet verfügbar wird. Der Controller beendet auch jeden Streit darüber, ob man nun iSCSI oder FCoE einsetzen soll, er kann einfach beides. Neben dem PCIe ® 3.0 unterstützt er auch Embedded Virtual Bridging, DMA (auch aus IB) und VM-zu-VM-Switching. Er enthält neben den zu erwartenden SFP-Schnittstellen auch solche für KR, was wiederum bedeutet, dass man viele dieser Switch-Chips einfach über diese genormte Schnittstelle miteinander verbinden kann, z.B. in Blade Centern. Der Controller hat natürlich VIER GETRENNTE MACs, die alle vermöge eines Baseboard Controllers gesteuert werden können. Nur auf diese Weise kann er wirklich in jeder denkbaren Konfiguration eingesetzt werden.

An sich sind das ja schon überwältigend viele Funktionen. Aber, irgendwie war wohl noch Platz auf dem Chip und so hat Broadcom noch TCP Offload Engines spendiert, die natürlich neben IPv4 auch IPv6 beherrschen. Ebenso fand sich noch Platz für komplette Controller für iSCSI, FCoE und RDMA, die für die Speicherverbindungen die kompletten HBA-Funktionen abdecken und bei RDMA auch die Variante RDMA over TCP ermöglichen. Dass der Controller auch den kompletten Satz DCB-Funktionen beherrscht, ist fast schon Nebensache.

Das alles liefert der Controller auf nur 0,82 Quadratinch ( ca. 5 cm²) bei (nach Herstellerangaben) extrem geringem Stromverbrauch.

Und hier finden Sie auch alle Grundelemente wieder, die wir besprochen haben. Der primäre Switching-Speicher heißt „Arbiter“. Die zusätzlichen Funktionserbringer sind, wie der Arbiter auch, via eines Memory Controllers mit einem „On Chip Buffer Memory“ verbunden. Das ist unser Funktionsspeicher. Den Memory Controller würde man eigentlich nicht benötigen, wenn es nicht noch eine zusätzliche Funktion gäbe, nämlich die Möglichkeit der Einbindung von externem Flash-Speicher (rechts unten ist ein Serial Flash Controller). Damit hat der BCM75840S sogar eine dreistufige Speicherhierarchie.

Das ist nur ein einziges Beispiel. Besuchen Sie doch einfach mal die Homepage des Herstellers www.broadcom.com und Sie werden Controller für wirklich jeden Bedarf finden, also auch solche mit integrierter Sicherheitstechnologie, besonders sparsame Controller, die man auch extrem dicht packen kann und solche, die die Signale besonders auffrischen („Eye-Opener“-Technologie) und damit längere Distanzen auf z.B. WAN/Campus SMF-Verbindungen erlauben.

« Teil 3: Basisfunktionen neuen Switch-ASICs (2/2)Teil 5: Konvergente Multiprotokoll Switch-ASICs »


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.

*

.