Weißbuch

Einführung in das StreamSurge 100G-Netzwerk von BittWare Beispiel

XUP-P3R with advanced passive heatsink

Übersicht

BittWare bietet StreamSurge an, eine 100G-Netzwerklasttestanwendung für die XUP-P3R-Beschleunigerkarte von BittWare. StreamSurge wird kostenlos als vorkompilierter Bitstream für XUP-P3R-Besitzer angeboten und macht die Karte zu einer einfachen Netzwerktestlösung für nur die Kosten der Hardware. Klicken Sie hier, um die App Note für StreamSurge zu erhalten.

Warum FPGAs für Netzwerktests?

Es gibt bereits Softwarelösungen für Netzwerkprotokolltests bei jeder Bandbreite und für Lasttests bis zu 10 GbE. Aber bei 25G und mehr können selbst die neuesten Multi-Core Intel Xeon-CPUs nicht mithalten - sie benötigen eine spezielle Netzwerkbeschleunigungshardware.

Da GPUs für die Paketverarbeitung nicht geeignet sind, beschränkt sich die Auswahl auf NIC-ASIC- oder FPGA-Lösungen. Der Vorteil von ASIC-basierten Geräten ist, dass sie 25-100 Gbit/s mit vielen Funktionen für umfangreiche Tests bieten. Allerdings sind dedizierte 100G-Appliances recht teuer - sie können ein Vielfaches einer einzelnen FPGA-Karte kosten.

Darüber hinaus kann eine FPGA-basierte Lösung mit genau den Funktionen entworfen werden, die für die Bedürfnisse des Benutzers erforderlich sind, und das zu wesentlich geringeren Kosten.

Die Motivation von BittWare für die Entwicklung von StreamSurge

Bei BittWare haben wir intern zwei verschiedene Anwendungsfälle für 100G-Netzwerklasttests:

  • Kontinuierliche Integrationstestläufe für die Produktentwicklung über Nacht
  • Fertigungstest in der Fabrikhalle

In beiden Fällen sind mehrere 100G-Tester erforderlich, die gleichzeitig laufen. Es gibt zwar ASIC-Tester für diese Tests, aber wir müssten mehrere davon zu sehr hohen Kosten pro Einheit kaufen (fünfmal oder mehr als der Preis einer XUP-P3R-Karte).

Unsere Lösung bestand darin, die für unsere Tests benötigten Funktionen einzugrenzen, und mit SmartNIC Shell als Ausgangspunkt haben wir StreamSurge entwickelt.

Wie es funktioniert

Da wir mit SmartNIC Shell begannen, hatten wir bereits die Dichtungen und andere "Rohrleitungen", um Pakete im FPGA zu manipulieren. Außerdem nutzten wir den DPDK-Datenmover für die Schnittstelle zu Host-Anwendungen. Dadurch konnten wir viel Zeit sparen und unser Team konnte sich auf das konzentrieren, was bei dieser SmartNIC-Anwendung einzigartig war: das Testen der Netzwerklast.

Zum Testen mussten wir entweder einen Paketgenerator innerhalb des FPGAs erstellen oder eine Möglichkeit schaffen, Pakete mit Hilfe des FPGAs wiederzugeben oder zu streamen, allerdings mit Paketen aus einer anderen Quelle. Wir wählten den zweiten Weg, ermöglichten aber sowohl die Wiedergabe als auch das Streaming. Für die Wiedergabe erfasst der Benutzer zunächst Pakete in einer PCAP-Datei von einer Software- oder ASIC-Quelle. StreamSurge kann dann die PCAP-Datei mit Zeilenrate aus einem Puffer wiedergeben.

StreamSurge block diagram

Für das Streaming verwenden wir die Industriestandard-Hostschnittstelle DPDK. Dadurch erscheint der XUP-P3R für die Paketgenerator-Software wie eine normale Netzwerkkarte, mit Zeitstempeln sowohl beim Senden als auch beim Empfangen. Auf dem XUP-P3R befindet sich ein großer DRAM-Puffer mit diesen Funktionen:

  • Fügt die Möglichkeit hinzu, die Übertragung zu unterbrechen, während sich der Sendepuffer füllt
  • Hinzufügen der Möglichkeit, den Sendepuffer für unendlich lange Lasttests in einer Schleife zu speichern
  • Hinzufügen der Möglichkeit, den Interframe-Gap (IFG) beim Senden zu ändern
  • Fügt die Möglichkeit hinzu, Sendezeitstempel auf die Paketnutzlast anzuwenden, um Latenz- und Jittermessungen zu ermöglichen

Als Schnittstelle zu StreamSurge haben wir die DPDK-Anwendung "streamcli" entwickelt. Dieses Kommandozeilen-Tool steuert alle oben beschriebenen Hardware-Funktionen. Darüber hinaus kann es Pakete in PCAP-Dateien empfangen, PCAP-Dateien übertragen und den Paketpuffer mit Mustern füllen, die auf IETF RFC 2544 und ITU-T Y.1564 Testmythologien basieren

Wir haben ein Video, das StreamSurge in Aktion mit zwei XUP-P3R-Karten zeigt, die mit GPS-Atomuhren synchronisiert und so eingestellt sind, dass sie die Latenz von Geräten zwischen den Karten messen.

Schlussfolgerung

Bei der Verarbeitung von Netzwerkpaketen können die FPGA-Lösungen von BittWare dort helfen, wo die Leistung von CPUs begrenzt ist und ASIC-basierte Lösungen entweder nicht verfügbar, nicht realisierbar oder zu teuer für die gewünschte Anwendung sind. In diesem Fall gibt es ASIC-basierte Geräte mit ausreichenden Funktionen, aber die Kosten für die Ausrüstung schränken die Möglichkeiten für kontinuierliche Integrationstests oder Fertigungstests ein.

Stattdessen bietet die BittWare XUP-P3R-Karte eine geeignete Lösung für Netzwerktests mit 100 Gb/s. Für Kartenbesitzer ist StreamSurge kostenlos als Bitstream (kompatibel mit einer begrenzten Anzahl von Chip-/Kartenkonfigurationen) auf der BittWare Developer Website erhältlich.

Weitere Details zu StreamSurge stehen als kostenloser App Note Download zur Verfügung. Fordern Sie ihn noch heute über das untenstehende Formular an!

Es gibt noch mehr zu lesen: Holen Sie sich die StreamSurge App Note

PDF anfordern Download

Was Sie auf dieser Seite sehen, ist die Einführung in StreamSurge von BittWare. Viele weitere Details finden Sie in der vollständigen App Note! Füllen Sie das Formular aus, um Zugang zu einer PDF-Version der vollständigen App Note anzufordern.

"*" kennzeichnet Pflichtfelder

Name*
Bitte überprüfen Sie, ob diese E-Mail-Adresse aktiv ist, da die PDF-Datei über diese Adresse verschickt wird.
Adresse und Ort*