Van alle technologieën in het datacenter evolueert er geen sneller dan netwerkconnectiviteit. 20 jaar geleden werd 1GbE-netwerken als exotisch beschouwd, en de infrastructuur die nodig was om het te ondersteunen (bijv. NIC's, switches en kabels) was duur en zeldzaam. Drie jaar geleden waren 10GbE-netwerken state-of-the-art, maar nu zijn 20, 40 en zelfs 100GbE-netwerken standaard geworden in datacenters. Het netwerk is niet alleen breder geworden, het is ook geavanceerder geworden door de toevoeging van elementen zoals virtualisatie, softwaregedefinieerde netwerken (SDN), overlay-netwerken en andere technologieën die tien jaar geleden niet eens voor ogen stonden, maar nu gemeengoed zijn en belasten de bronnen in datacenterservers.
Van alle technologieën in het datacenter evolueert er geen sneller dan netwerkconnectiviteit. 20 jaar geleden werd 1GbE-netwerken als exotisch beschouwd, en de infrastructuur die nodig was om het te ondersteunen (bijv. NIC's, switches en kabels) was duur en zeldzaam. Drie jaar geleden waren 10GbE-netwerken state-of-the-art, maar nu zijn 20, 40 en zelfs 100GbE-netwerken standaard geworden in datacenters. Het netwerk is niet alleen breder geworden, het is ook geavanceerder geworden door de toevoeging van elementen zoals virtualisatie, softwaregedefinieerde netwerken (SDN), overlay-netwerken en andere technologieën die tien jaar geleden niet eens voor ogen stonden, maar nu gemeengoed zijn en belasten de bronnen in datacenterservers.
**Lees meer over SmartNIC's en het composable datacenter op Xilinx aanpassen***
Wanneer we te maken hebben met netwerken van meer dan 10GbE, beginnen we CPU-knelpunten in servers te zien optreden wanneer netwerkpakketten worden doorgegeven aan de CPU voor verwerking. Met 25GbE-netwerken wordt een meetbaar percentage van de tijd van de CPU besteed aan het verwerken van netwerkpakketten. Om dit probleem op te lossen, hebben we technieken ontwikkeld om sommige netwerkfuncties van de CPU naar de netwerkinterfacecontroller (NIC) te verplaatsen. We noemen de apparaten die deze ontlading aankunnen SmartNIC's.
In dit artikel leggen we uit wat een SmartNIC is, welke waarde ze toevoegen aan het datacenter en waarom u ze zou moeten onderzoeken en erin zou moeten investeren. Ten slotte kijken we naar een bijzonder innovatieve SmartNIC, de Xilinx SN1000.
Wat is een SmartNIC?
Het overdragen van netwerkactiviteiten van de CPU naar een NIC is de focus geweest van grote cloudproviders, omdat ze altijd streven naar efficiëntie in het datacenter. Er is geen vaste regel over wat er nodig is om een NIC te labelen Smart; ze moeten echter op zijn minst in staat zijn om enkele van de functies op het besturingsvlak van virtuele switches aan te kunnen, en sommige van de mogelijkheden van netwerkfunctievirtualisatiefuncties (NFV), zoals firewall, inbraakdetectie en -preventie, hostinspectie , en encryptie, evenals dataplane-taken, zoals netwerkkwaliteit van service (QoS) en stroomrapportage en -bewaking.
Wat drijft de acceptatie van SmartNIC's?
Openbare clouds en hyperscalers hebben het afgelopen decennium de innovatie van datacenters gestimuleerd en zullen dat in de nabije toekomst blijven doen. De technologie die ze gebruiken, drijft uiteindelijk af naar datacenters van bedrijven en hetzelfde geldt voor SmartNIC's. Achteraf gezien hebben SmartNIC's netwerkfuncties simpelweg geplaatst waar ze in de eerste plaats hadden moeten zijn: terug op de NIC in plaats van CPU- en moederbordbandbreedte te verspillen.
Het is gemakkelijk voor te stellen hoeveel netwerkverkeer wordt weggegooid of teruggeplaatst op het netwerk zonder enige waarde toe te voegen aan het systeem/de CPU die gedwongen worden om ermee om te gaan - simpelweg omdat NFV's en andere functies worden geïmplementeerd met behulp van de CPU van een traditionele server in plaats van dan op NIC-niveau. Elke CPU-cyclus die van de CPU kan worden ontlast, maakt deze vrij en stelt de server in staat productief werk te doen.
Om te illustreren hoe een SmartNIC nuttig kan zijn, kunnen we zoiets eenvoudigs nemen als een gedistribueerde denial of service (DDoS)-aanval. Hoewel een DDoS zeldzaam is in een modern datacenter, zou een SmartNIC-deal met een DDoS de CPU van het systeem in staat stellen om door te gaan met werk dat productief is in plaats van pakketten te sorteren, classificeren en weggooien. Een moderner voorbeeld zou zijn om een SmartNIC te hebben die zich bezighoudt met de inkapseling van netwerkpakketten die worden gebruikt door overlay-netwerken in plaats van door de systeem-CPU.
Waarom Xilinx een leider is in SmartNIC-technologie
Met alle opkomende technologieën zijn er bedrijven die zichzelf in de voorhoede van de technologie positioneren. Deze bedrijven zijn over het algemeen gepassioneerd en lasergericht op technologie. Ze wijden hun energie aan het overwinnen van de talloze hindernissen die zouden voorkomen dat de nieuwe technologie op de markt zou komen. Xilinx is zo'n bedrijf.
Xilinx heeft een lange geschiedenis als innovator in opkomende technologieën. Ze hebben bijvoorbeeld de Field-Programmable Gate Array (FPGA) uitgevonden en worden beschouwd als de leider in deze technologie. Een nieuwe technologie, zoals een SmartNIC, op de markt brengen is geen goedkoop voorstel, en met een omzet van meer dan $ 3 miljard in 2020 hebben ze de financiële middelen om dat te doen. Maar er is ook serieuze technische en managementkennis voor nodig - nogmaals, Xilinx heeft beide.
In april 2019 sloot Xilinx een overeenkomst om Solarflare Communications over te nemen, een eerdere ontwikkelaar van netwerken met ultralage latentie en applicatieversnelling, en een leider in SmartNIC-technologie. Later dat jaar demonstreerde Xilinx een single-chip FPGA-gebaseerde 100G SmartNIC op basis van Solarflare- en Xilinx-technologieën. Deze SmartNIC combineerde Xilinx FPGA, systeem op een chip (SoC) en adaptive compute acceleratieplatform (ACAP) met de technologie van Solarflare om een nieuwe geconvergeerde SmartNIC-oplossing te creëren, die de Xilinx SN1000 werd.
De Xilinx ALVEO SN1000
De Xilinx SN1000 is een FHHL PCIe x16 fysieke (Gen 4 x8 of Gen 3 x16 elektrisch) NIC met dubbele 100GbE koperen of optische poorten. Het heeft een 16-core Cortex-A72-processor en een FPGA met meer dan een miljoen look-up tables (LUT's). Een LUT is eigenlijk hoe FPGA zijn logica opbouwt; hoe meer LUT's een FPGA heeft, hoe krachtiger en flexibeler hij zal zijn. De kaart heeft in totaal 12 GB DDR4 RAM, waarvan 4 GB voor de Arm-processor en 8 GB voor de FPGA. Dit hardwareschema vertaalt zich naar de SN1000 die 4 miljoen stateful verbindingen kan ontlasten en 100 miljoen pakketten per seconde (PPS) kan verwerken.
Applicatiespecifieke geïntegreerde schakelingen (ASIC's), FPGA's en SoC's kunnen worden gebruikt om SmartNIC's te maken. ASIC's kunnen performant zijn; ze hebben echter een beperkte flexibiliteit en het is moeilijk om er extra functionaliteit aan toe te voegen. En hoewel SoC's extreem flexibel zijn, missen ze de snelheid van ASIC's en FPGA's.
Om zowel flexibiliteit als prestaties te bieden in hun SN1000 SmartNIC, gebruikt Xilinx een krachtige SoC voor control-plane-functies vanwege de inherente flexibiliteit en koppelt het met een FPGA voor data-plane-functies om prestatieredenen. Het belangrijkste voordeel van het gebruik van een FPGA ten opzichte van een ASIC is dat een FPGA opnieuw kan worden geprogrammeerd wanneer nieuwe functionaliteit wordt ontwikkeld en/of nodig is, terwijl het een jaar of langer kan duren om een nieuwe ASIC in het veld te krijgen.
Het ontwikkelen van code voor een FPGA is geen triviale zaak, en Xilinx heeft een aantal uitstekende tools om aan deze behoefte te voldoen. Met behulp van de ontwikkelings- en programmeertoolset van Xilinx kunnen Xilinx-klanten hun eigen FPGA-applicaties schrijven in een programmeertaal op hoog niveau waaraan softwareontwikkelaars gewend zijn, in plaats van de hardwarecode die traditioneel wordt gebruikt voor de ontwikkeling van FPGA-applicaties.
Xilinx heeft ook een applicatie marktplaats waar door Xilinx en derden ontwikkelde oplossingen kunnen worden verkregen. Met deze aanpak kunnen SN1000-kopers een snellere time-to-value (TTV) bereiken door de ontwikkelingscyclus te omzeilen. De app store heeft oplossingen voor NFV, netwerkbeveiliging, beeldverwerking, machine learning (ML) en andere functies die op SmartNIC-niveau kunnen en moeten worden uitgevoerd.
Xilinx-applicaties zijn verpakt als docker-containers. Ze kunnen gratis worden geëvalueerd voor gebruik en vervolgens rechtstreeks in de winkel worden gekocht met een creditcard.
Hoewel Xilinx SmartNIC's een toonaangevend product zijn, wil dit niet zeggen dat ze zo ver voorop lopen dat ze adoptie en gebruik in de weg staan. Integendeel, Xilinx SmartNIC's worden al ingezet om specifieke use-cases aan te pakken in openbare clouds, hyperscalers en moderne datacenters. Een paar voorbeelden van waar ze voor worden gebruikt zijn; VXLAN en NVGRE tunneling inkapseling, Open Virtual Switch (OVS), Intel DPDK en de Virtio-net I/O.
Een andere interessante use-case voor SmartNIC's is dat ze worden gebruikt om opslagfuncties zoals de Ceph-objectopslagclient te ontlasten, en dat NVMe-oF aan populariteit wint. Bovendien heeft Xilinx voor snelle handel verklaard dat hun SmartNIC een latentie van nanoseconden kan bereiken voor "tick to trade" algoritmische handel.
Video-analyse is een andere sector waarin SmartNIC's schitteren. Vanwege de hoeveelheid gegevens die bij video is betrokken, is het onpraktisch om deze terug te sturen naar een centrale opslagplaats. Als oplossing worden SmartNIC's gebruikt op edge-apparaten om video-interpretatiefuncties af te handelen, zoals maskerdetectie, mensen tellen en volgen, evenals virtuele omheiningen, omdat deze de AI-inferentie vereisen die FPGA snel en efficiënt aankan.
Waarom u SmartNIC's nodig heeft
Met de opkomst van netwerken met hoge bandbreedte vragen we steeds meer van de servers in onze datacenters. We komen op een punt waarop, vanwege het aantal netwerkpakketten dat moet worden verwerkt met meer netwerkbandbreedte, servers minder cycli hebben om winstgevend werk te doen. Sommige onderzoeken hebben aangetoond dat meer dan 20% van de CPU-cycli van een server kan worden gebruikt voor pakketverwerking in traditionele datacenters met netwerken met hoge bandbreedte. Met een CPU van 3 GHz heeft een processor bijvoorbeeld ongeveer 300 cycli om een pakket van 1500 B te verwerken om de lijnsnelheid bij te houden.
Om CPU's vrij te maken om het waardevolle werk te doen waarvoor ze zijn ontworpen, moeten we onnodige functies overdragen aan andere apparaten, apparaten die dichter bij hun bron staan. In dit geval is een SmartNIC het juiste apparaat om met netwerken om te gaan.
Hoewel SmartNIC's niet alleen de bevoegdheid zijn van Xilinx, lopen ze voorop in deze opkomende technologie. Door een SoC te gebruiken in combinatie met FPGA, krijgen ze het gebruiksgemak en de flexibiliteit van een softwaregedefinieerde oplossing met de prestaties van een hardware-geïmplementeerde oplossing. Xilinx weet dat er applicaties nodig zijn om SmartNIC's te exploiteren, dus hebben ze een programmeeromgeving gecreëerd waarin computerprogrammeurs, in plaats van hardware-engineers, de applicaties kunnen ontwikkelen die op hun SmartNIC's draaien. Voor die gebruikers die op zoek zijn naar een snellere TTV-propositie, heeft Xilinx een app store waarmee applicaties van derden kunnen worden gekocht.
Wil een modern datacenter concurrerend zijn, dan moet het zijn servers bevrijden van zoveel mogelijk onnodige taken. Deze taken omvatten stateful firewalls, load balancing, IPsec, TLS, NVMe-over-TCP, Virtio.blk-opslagtoegang, datacompressie of de talloze andere functies die beter kunnen worden beheerd met een SmartNIC.
Meer informatie op Xilinx Adapt
Xilinx aanpassen is een digitaal evenement op 24-25 maart 2021 dat de relevantie van SmartNIC's in het datacenter behandelt, samen met belangrijke onderwerpen als cloud computing, computationele opslag en het composable datacenter. De toegang is gratis en herhalingen worden achteraf beschikbaar gesteld.
Neem contact op met StorageReview
Nieuwsbrief | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | Facebook | RSS Feed