Von allen Technologien im Rechenzentrum entwickelt sich keine schneller weiter als die Netzwerkkonnektivität. Vor 20 Jahren galten 1GbE-Netzwerke als exotisch und die dafür erforderliche Infrastruktur (z. B. NICs, Switches und Kabel) war teuer und selten. Vor drei Jahren waren 10-GbE-Netzwerke Stand der Technik, mittlerweile sind 20-, 40- und sogar 100-GbE-Netzwerke in Rechenzentren zum Standard geworden. Das Netzwerk ist nicht nur breiter geworden, es ist auch komplexer geworden, da Elemente wie Virtualisierung, Software-Defined Networking (SDN), Overlay-Netzwerke und andere Technologien hinzugefügt wurden, die vor zehn Jahren noch nicht einmal vorstellbar waren, heute aber alltäglich sind belasten die Ressourcen der Rechenzentrumsserver.
**Erfahren Sie mehr über SmartNICs und das zusammensetzbare Rechenzentrum bei Xilinx Adapt .**
Bei Netzwerken mit 10-GbE-Geschwindigkeit treten in Servern CPU-Engpässe auf, da Netzwerkpakete zur Verarbeitung an die CPU weitergeleitet werden. Bei 25-GbE-Netzwerken wird ein messbarer Anteil der CPU-Zeit für die Verarbeitung von Netzwerkpaketen aufgewendet. Um dieses Problem zu beheben, haben wir Verfahren entwickelt, die bestimmte Netzwerkfunktionen von der CPU auf den Netzwerkcontroller (NIC) verlagern. Geräte, die diese Auslagerung ermöglichen, bezeichnen wir als SmartNICs.
In diesem Artikel erklären wir, was eine SmartNIC ist, welchen Wert sie für das Rechenzentrum hat und warum Sie damit beginnen sollten, sie zu untersuchen und in sie zu investieren. Abschließend werfen wir einen Blick auf eine besonders innovative SmartNIC, die Xilinx SN1000.
Was ist eine SmartNIC?
Die Auslagerung von Netzwerkoperationen von der CPU auf eine Netzwerkkarte (NIC) steht im Fokus großer Cloud-Anbieter, da diese ständig nach Effizienzsteigerungen im Rechenzentrum streben. Es gibt keine festen Regeln, welche Anforderungen eine NIC erfüllen muss, um als „ Smart“ zu gelten . Mindestens sollte sie jedoch einige der Steuerungsfunktionen virtueller Switches sowie einige Funktionen der Netzwerkfunktionsvirtualisierung (NFV) wie Firewall, Intrusion Detection und Prevention, Host Inspection und Verschlüsselung beherrschen. Darüber hinaus sollte sie Datenaufgaben wie Netzwerk-QoS (Quality of Service) und Flow-Reporting und -Monitoring ausführen können.
Was treibt die Einführung von SmartNICs voran?
Öffentliche Clouds und Hyperscaler haben im letzten Jahrzehnt die Innovation im Rechenzentrum vorangetrieben und werden dies auch in absehbarer Zukunft tun. Die Technologie, die sie verwenden, gelangt schließlich in die Rechenzentren der Unternehmen, und das Gleiche gilt auch für SmartNICs. Im Nachhinein betrachtet bringen SmartNICs Netzwerkfunktionen einfach dorthin, wo sie eigentlich hätten sein sollen: zurück auf die Netzwerkkarte, anstatt CPU- und Motherboard-Bandbreite zu verschwenden.
Man kann sich leicht vorstellen, wie viel Netzwerkverkehr verworfen oder zurück ins Netzwerk geleitet wird, ohne dass dem System/der CPU, die damit umgehen müssen, ein Mehrwert entsteht – ganz einfach, weil NFVs und andere Funktionen eher über die CPU eines herkömmlichen Servers implementiert werden als auf NIC-Ebene. Jeder CPU-Zyklus, der von der CPU entlastet werden kann, entlastet diese und ermöglicht dem Server produktive Arbeit.
Um zu veranschaulichen, wie vorteilhaft eine SmartNIC sein kann, können wir etwas so Einfaches wie einen DDoS-Angriff (Distributed Denial of Service) nehmen. Obwohl ein DDoS in einem modernen Rechenzentrum selten vorkommt, würde ein SmartNIC-Deal mit einem DDoS es der CPU des Systems ermöglichen, ihre produktive Arbeit fortzusetzen, anstatt Pakete zu sortieren, zu klassifizieren und zu verwerfen. Ein moderneres Beispiel wäre eine SmartNIC, die sich mit der Kapselung von Netzwerkpaketen befasst, die von Overlay-Netzwerken und nicht von der System-CPU verwendet werden.
Warum Xilinx führend in der SmartNIC-Technologie ist
Bei allen neuen Technologien gibt es Unternehmen, die sich an der Spitze der Technologie positionieren. Diese Unternehmen sind in der Regel leidenschaftlich und technologieorientiert. Sie widmen ihre Energie dem Ziel, die unzähligen Hürden zu überwinden, die die Markteinführung der neuen Technologie verhindern würden. Xilinx ist ein solches Unternehmen.
Xilinx blickt auf eine lange Geschichte als Innovator bei neuen Technologien zurück. Sie haben beispielsweise das Field Programmable Gate Array (FPGA) erfunden und gelten als führend in dieser Technologie. Eine neue Technologie wie eine SmartNIC auf den Markt zu bringen, ist kein kostengünstiger Vorschlag, und mit einem Umsatz von über 3 Milliarden US-Dollar im Jahr 2020 verfügen sie über die finanziellen Mittel dafür. Aber es erfordert auch ernsthaftes technisches und Management-Know-how – auch hier verfügt Xilinx über beides.
Im April 2019 schloss Xilinx eine Vereinbarung zur Übernahme von Solarflare Communications, einem früheren Entwickler von Netzwerken mit extrem geringer Latenz und Anwendungsbeschleunigung und einem führenden Anbieter von SmartNIC-Technologie. Später in diesem Jahr stellte Xilinx eine 100G-SmartNIC mit einem Chip auf FPGA-Basis vor, die auf Solarflare- und Xilinx-Technologien basiert. Diese SmartNIC kombinierte Xilinx FPGA, System on a Chip (SoC) und Adaptive Compute Acceleration Platform (ACAP) mit der Technologie von Solarflare, um eine neue konvergierte SmartNIC-Lösung zu schaffen, die zum Xilinx SN1000 wurde.
Der Xilinx ALVEO SN1000
Die Xilinx SN1000 ist eine physische FHHL PCIe x16-NIC (Gen 4 x8 oder Gen 3 x16 elektrisch) mit zwei 100-GbE-Kupfer- oder optischen Ports. Es verfügt über einen 16-Kern-Cortex-A72-Prozessor und einen FPGA mit über einer Million Look-up-Tabellen (LUTs). Bei einer LUT handelt es sich im Grunde darum, wie ein FPGA seine Logik aufbaut. Je mehr LUTs ein FPGA hat, desto leistungsfähiger und flexibler ist er. Die Karte verfügt über insgesamt 12 GB DDR4-RAM, wobei 4 GB dem ARM-Prozessor und 8 GB dem FPGA gewidmet sind. Dieses Hardware-Schema führt dazu, dass der SN1000 4 Millionen zustandsbehaftete Verbindungen auslagern und 100 Millionen Pakete pro Sekunde (PPS) verarbeiten kann.
Zur Herstellung von SmartNICs können anwendungsspezifische integrierte Schaltkreise (ASICs), FPGAs und SoCs verwendet werden. ASICs können leistungsfähig sein; Ihre Flexibilität ist jedoch begrenzt und es ist schwierig, ihnen zusätzliche Funktionalität hinzuzufügen. Und obwohl SoCs äußerst flexibel sind, fehlt ihnen die Geschwindigkeit von ASICs und FPGAs.
Um in seinem SN1000 SmartNIC sowohl Flexibilität als auch Leistung zu bieten, verwendet Xilinx aufgrund seiner inhärenten Flexibilität einen leistungsstarken SoC für Funktionen auf der Steuerebene und kombiniert ihn aus Leistungsgründen mit einem FPGA für Funktionen auf der Datenebene. Der Hauptvorteil der Verwendung eines FPGA gegenüber einem ASIC besteht darin, dass ein FPGA neu programmiert werden kann, wenn neue Funktionen entwickelt und/oder benötigt werden, wohingegen es ein Jahr oder länger dauern kann, bis ein neuer ASIC im Einsatz ist.
Die Entwicklung von Code für ein FPGA ist keine triviale Angelegenheit, und Xilinx verfügt über einige hervorragende Tools, die Sie bei diesem Bedarf unterstützen. Mit dem Xilinx-Entwicklungs- und Programmiertoolset können Xilinx-Kunden ihre eigenen FPGA-Anwendungen in einer höheren Programmiersprache schreiben, mit der Softwareentwickler vertraut sind, und nicht mit dem Hardwarecode, der traditionell für die FPGA-Anwendungsentwicklung verwendet wird.
Xilinx hat zudem einen App-Marktplatz entwickelt , auf dem Lösungen von Xilinx und Drittanbietern verfügbar sind. Dieser Ansatz ermöglicht es Käufern der SN1000, durch die Umgehung des Entwicklungszyklus eine schnellere Wertschöpfung zu erzielen. Der App-Store bietet Lösungen für NFV, Netzwerksicherheit, Bildverarbeitung, maschinelles Lernen (ML) und weitere Funktionen, die auf SmartNIC-Ebene realisiert werden können und sollten.
Xilinx-Anwendungen werden als Docker-Container verpackt. Sie können zur kostenlosen Nutzung getestet und dann direkt im Geschäft per Kreditkarte erworben werden.
Obwohl Xilinx SmartNICs ein Spitzenprodukt sind, heißt das nicht, dass sie der Zeit so weit voraus sind, dass sie die Einführung und Nutzung behindern. Im Gegenteil: Xilinx SmartNICs werden bereits für spezifische Anwendungsfälle in öffentlichen Clouds, Hyperscalern und modernen Rechenzentren eingesetzt. Einige Beispiele dafür, wofür sie verwendet werden, sind: VXLAN- und NVGRE-Tunnelkapselung, Open Virtual Switch (OVS), Intel DPDK und Virtio-net I/O.
Ein weiterer interessanter Anwendungsfall für SmartNICs besteht darin, dass sie zum Auslagern von Speicherfunktionen wie dem Ceph-Objektspeicher-Client verwendet werden und NVMe-oF immer beliebter wird. Darüber hinaus hat Xilinx für den Hochgeschwindigkeitshandel erklärt, dass sein SmartNIC eine Latenzzeit von Nanosekunden für den algorithmischen „Tick-to-Trade“-Handel erreichen kann.
Videoanalyse ist ein weiterer Bereich, in dem SmartNICs glänzen. Aufgrund des mit Videos verbundenen Datenvolumens ist es nicht praktikabel, diese an ein zentrales Repository zurückzuleiten. Als Lösung werden SmartNICs auf Edge-Geräten verwendet, um Videointerpretationsfunktionen wie Maskenerkennung, Personenzählung und -verfolgung sowie virtuelle Zäune zu übernehmen, da diese die KI-Inferenz erfordern, die FPGA schnell und effizient verarbeiten kann.
Warum Sie SmartNICs brauchen
Mit der Zunahme von Netzwerken mit hoher Bandbreite stellen wir immer höhere Anforderungen an die Server in unseren Rechenzentren. Wir kommen an einen Punkt, an dem Server aufgrund der Anzahl der Netzwerkpakete, die mit mehr Netzwerkbandbreite verarbeitet werden müssen, weniger Zyklen haben, um profitable Arbeit zu leisten. Einige Studien haben gezeigt, dass in herkömmlichen Rechenzentren mit Netzwerken mit hoher Bandbreite mehr als 20 % der CPU-Zyklen eines Servers für die Paketverarbeitung genutzt werden können. Bei einer 3-GHz-CPU hat ein Prozessor beispielsweise etwa 300 Zyklen Zeit, um ein 1500-B-Paket zu verarbeiten und mit der Leitungsgeschwindigkeit Schritt zu halten.
Damit CPUs die wertvolle Arbeit erledigen können, für die sie entwickelt wurden, müssen wir unnötige Funktionen auf andere Geräte verlagern, die näher an ihrer Quelle liegen. In diesem Fall ist ein SmartNIC das richtige Gerät für den Umgang mit Netzwerken.
Obwohl SmartNICs nicht nur in den Zuständigkeitsbereich von Xilinx fallen, stehen sie an der Spitze dieser aufstrebenden Technologie. Durch die Verwendung eines SoC in Kombination mit einem FPGA können sie die Benutzerfreundlichkeit und Flexibilität einer softwaredefinierten Lösung mit der Leistung einer hardwareimplementierten Lösung verbinden. Xilinx weiß, dass Anwendungen erforderlich sind, um SmartNICs auszunutzen, und hat daher eine Programmierumgebung geschaffen, die es Computerprogrammierern und nicht Hardware-Ingenieuren ermöglicht, die Anwendungen zu entwickeln, die auf ihren SmartNICs laufen. Für Benutzer, die ein schnelleres TTV-Angebot suchen, verfügt Xilinx über einen App Store, über den Anwendungen von Drittanbietern erworben werden können.
Damit ein modernes Rechenzentrum wettbewerbsfähig ist, muss es seine Server von möglichst vielen unnötigen Aufgaben befreien. Zu diesen Aufgaben gehören zustandsbehaftete Firewalls, Lastausgleich, IPsec, TLS, NVMe-over-TCP, Virtio.blk-Speicherzugriff, Datenkomprimierung oder eine Vielzahl anderer Funktionen, die mit einer SmartNIC besser verwaltet werden können.
Erfahren Sie mehr bei Xilinx Adapt
Xilinx Adapt ist eine digitale Veranstaltung am 24. und 25. März 2021, die die Bedeutung von SmartNICs im Rechenzentrum sowie wichtige Themen wie Cloud Computing, Computational Storage und das modulare Rechenzentrum behandelt. Die Teilnahme ist kostenlos, und Aufzeichnungen werden im Anschluss zur Verfügung gestellt.




Amazon