Développement de la technologie DPU

Avec le développement des technologies de cloud computing et de virtualisation, les cartes réseau ont également évolué et peuvent être divisées en quatre étapes en termes de fonctionnalités et de structure matérielle.

Carte réseau de base traditionnelle (NIC)

Responsable de la transmission et de la réception des paquets de données, avec moins de capacités de déchargement du matériel. Le matériel implémente la couche de liaison physique du réseau et le traitement des paquets de la couche MAC avec la logique matérielle ASIC, et les cartes NIC standard ultérieures ont également pris en charge des fonctions telles que le contrôle CRC. Il n'a pas de capacités de programmation.

Carte réseau intelligente (SmartNIC)

Il dispose d'une certaine capacité de déchargement matériel du plan de données, comme le déchargement matériel OVS/vRouter. La structure matérielle utilise un FPGA ou un processeur intégré avec FPGA et cœur de processeur (ici la fonction processeur est faible) pour réaliser le déchargement matériel du plan de données.

DPU basé sur FPGA

Il s'agit d'une carte réseau intelligente qui prend en charge à la fois le déchargement du plan de données et du plan de contrôle, ainsi qu'un certain degré de programmabilité pour les plans de contrôle et de données. En ce qui concerne le développement de la structure matérielle, elle ajoute un processeur CPU à usage général basé sur FPGA, tel que le processeur Intel.

DPU monopuce

Il s'agit d'une puce DPU programmable à usage général monopuce, qui dispose de riches capacités d'accélération de déchargement matériel et de programmabilité, et prend en charge différents scénarios de cloud computing et des fonctionnalités de gestion unifiée des ressources. Côté matériel, il adopte une forme SoC monopuce, équilibrant performances et consommation d'énergie. Les principaux défis du DPU basé sur FPGA dans la conception matérielle proviennent de la surface de la puce et de la consommation d'énergie. En termes de surface, la taille de la structure de l'interface PCIe limite la surface de la puce sur la carte ; en termes de consommation d'énergie, la conception de la dissipation thermique de la carte est étroitement liée à la consommation d'énergie de la puce et de l'ensemble de la carte. Ces deux facteurs limitent le développement continu des solutions FPGA. La solution DPU SoC s'appuie sur l'expérience et les réalisations logicielles et matérielles de la carte réseau au DPU basé sur FPGA, et constitue une voie d'évolution importante pour l'architecture du centre de données centrée sur le DPU.

Le DPU, en tant que représentant typique des puces définies par logiciel, est basé sur le concept de « défini par logiciel et accéléré par le matériel » et est un processeur à usage général qui intègre le traitement des données comme fonction principale de la puce. L'unité de traitement à usage général DPU est utilisée pour gérer les activités du plan de contrôle, et l'unité de traitement dédiée assure les performances de traitement du plan de données, atteignant ainsi un équilibre entre performances et généralité. L'unité de traitement dédiée DPU est utilisée pour résoudre le goulot d'étranglement des performances de la virtualisation générale de l'infrastructure, et l'unité de traitement à usage général garantit la généralité du DPU, rendant le DPU largement applicable à divers scénarios d'infrastructure cloud et réalisant la migration en douceur du cadre logiciel de virtualisation. au DPU.

Le développement et l'application de la carte réseau

La carte réseau de base traditionnelle (NIC), également appelée adaptateur réseau, est le périphérique de connexion le plus basique et le plus important du système de réseau informatique. Sa fonction principale est de convertir les données à transmettre dans un format que le périphérique réseau peut reconnaître. Poussée par le développement de la technologie réseau, la carte réseau de base traditionnelle a également plus de fonctions et possédait initialement des capacités de déchargement matériel simples (telles que la vérification CRC, TSO/UF0, LSO/LR0, VLAN, etc.), prenant en charge SR-IOV et la gestion du trafic QoS. La bande passante de l'interface réseau de la carte réseau de base traditionnelle a également évolué des 100M et 1000M d'origine aux 10G, 25G et même 100G.

Le développement et l'application de la carte réseau

Dans le réseau de virtualisation du cloud computing, la carte réseau de base traditionnelle fournit un accès réseau à la machine virtuelle de trois manières principales.

(1) La carte réseau reçoit le trafic et le transmet à la machine virtuelle via la pile de protocoles du noyau du système d'exploitation.

(2) Le pilote en mode utilisateur DPDK prend en charge la carte réseau, permettant aux paquets de données de contourner la pile de protocoles du noyau du système d'exploitation et de les copier directement dans la mémoire de la machine virtuelle.

(3) Grâce à la technologie SR-IOV, la carte réseau physique PF est virtualisée en plusieurs VF virtuels dotés de fonctions de carte réseau, puis le VF est directement transmis à la machine virtuelle.

Avec les protocoles de tunnel tels que VxLAN et les technologies de commutation virtuelle telles que OpenFlow, 0VS, etc., la complexité du traitement réseau augmente progressivement et davantage de ressources CPU sont nécessaires. C’est ainsi que le SmartNIC est né.

Le développement et l'application de SmartNIC

SmartNIC, en plus d'avoir la fonction de transmission réseau de la carte réseau de base traditionnelle, offre également de riches capacités d'accélération de déchargement matériel, qui peuvent améliorer le taux de transfert du réseau de cloud computing et libérer les ressources de calcul du processeur hôte.

Le développement et l'application de SmartNIC

SmartNIC ne dispose pas d'un processeur à usage général et a besoin du processeur hôte pour gérer le plan de contrôle. Le principal objet d'accélération du déchargement de SmartNIC est le plan de données, comme le déchargement Fastpath du plan de données des commutateurs virtuels 0VS/vRouter, le déchargement du réseau RDMA, le déchargement du stockage NVMe-oF et le déchargement de la sécurité du plan de données IPsec/TLS, etc.

Cependant, à mesure que la vitesse du réseau dans les applications de cloud computing continue d'augmenter, l'hôte consomme toujours beaucoup de ressources CPU précieuses pour classer, suivre et contrôler le trafic. Comment atteindre la « consommation nulle » du processeur hôte est devenu la prochaine direction de recherche pour les fournisseurs de cloud.

Le développement et l'application de DPU basés sur FPGA

Par rapport à SmartNIC, le DPU basé sur FPGA ajoute une unité de traitement CPU à usage général à l'architecture matérielle, formant ainsi une architecture FPGA+CPU, ce qui facilite l'accélération et le déchargement des infrastructures générales telles que le réseau, le stockage, la sécurité et la gestion. À ce stade, la forme du produit DPU est principalement FPGA+CPU. Le DPU basé sur l'architecture matérielle FPGA+CPU présente une bonne programmabilité logicielle et matérielle.

Le développement et l'application de DPU basés sur FPGA

Au début du développement des DPU, la plupart des fabricants de DPU ont choisi ce schéma. Ce schéma a un temps de développement relativement court et une itération rapide, et peut rapidement réaliser le développement de fonctions personnalisées, ce qui permet aux fabricants de DPU de lancer rapidement des produits et de conquérir le marché. Cependant, avec la migration de la bande passante réseau de 25G à 100G, le DPU basé sur l'architecture matérielle FPGA+CPU est limité par le processus de puce et la structure FPGA, ce qui rend difficile un bon contrôle de la zone de puce et de la consommation d'énergie lors de la recherche d'un débit plus élevé. , limitant ainsi le développement continu de cette architecture DPU.

Le développement et l’application de la carte réseau DPU SoC

DPU SoC est une architecture matérielle basée sur ASIC, qui combine les avantages de l'ASIC et du CPU et équilibre les excellentes performances des accélérateurs dédiés et la flexibilité programmable des processeurs à usage général. Il s'agit d'une solution technologique DPU monopuce qui stimule le développement de la technologie du cloud computing.

Comme mentionné dans le paragraphe précédent, bien que le DPU joue un rôle important dans le cloud computing, les solutions DPU traditionnelles sont principalement présentées dans des schémas basés sur FPGA. Avec la migration du serveur du 25G vers le serveur 100G de nouvelle génération, son coût, sa consommation d'énergie, ses fonctionnalités et d'autres aspects sont confrontés à de sérieux défis. Le SoC DPU monopuce présente non seulement d'énormes avantages en termes de coût et de consommation d'énergie, mais il possède également un débit élevé et des capacités de programmation flexibles. Il prend en charge non seulement la gestion des applications et le déploiement de machines virtuelles et de conteneurs, mais également les applications nues.

Le développement et l’application de la carte réseau DPU SoC

Avec le développement continu de la technologie DPU, le SoC DPU programmable à usage général devient un élément clé dans la construction de centres de données des fournisseurs de cloud. DPU SoC peut réaliser une gestion économique et efficace des ressources informatiques et des ressources réseau dans le centre de données. Le SoC DPU doté de fonctions riches et de capacités programmables peut prendre en charge différents scénarios de cloud computing et une gestion unifiée des ressources, et optimiser l'utilisation des ressources informatiques du centre de données.

Dans la conception, le développement et l'utilisation du DPU, les géants des puces et les principaux fournisseurs de services cloud nationaux et étrangers ont investi de nombreuses ressources en R&D et ont atteint une bonne rentabilité grâce à une exploration et une pratique continues.

DPU dans AWS (Amazon Cloud)

AWS est le premier fournisseur mondial de services et de solutions de cloud computing. Le système AWS Nitro DPU est devenu la pierre angulaire technique du service cloud AWS. AWS utilise le système Nitro DPU pour décomposer et transférer les fonctions de réseau, de stockage, de sécurité et de surveillance vers du matériel et des logiciels dédiés, et fournit presque toutes les ressources du serveur pour entretenir les instances, réduisant ainsi considérablement les coûts. L'application de Nitro DPU dans Amazon Cloud peut permettre à un serveur de gagner des milliers de dollars de plus par an. Le système Nitro DPU se compose principalement des éléments suivants.

L'application du DPU dans AWS (Amazon Cloud)

(1) Carte Nitro. Une série de matériel dédié au réseau, au stockage et au contrôle, pour améliorer les performances globales du système.

(2) Puce de sécurité Nitro. Transférez les fonctions de virtualisation et de sécurité vers du matériel et des logiciels dédiés, réduisez la surface d'attaque et obtenez une plate-forme cloud sécurisée.

(3) Hyperviseur Nitro. Un programme de gestion d'hyperviseur léger capable de gérer l'allocation de mémoire et de processeur et de fournir des performances impossibles à distinguer du bare metal.

Le système Nitro DPU fournit des fonctions de clé, de réseau, de sécurité, de serveur et de surveillance, libère les ressources de service sous-jacentes pour les machines virtuelles des clients et permet à AWS de fournir davantage de types d'instances nues et même d'augmenter les performances réseau d'instances spécifiques pour 100Gbps.

DPU NVIDIA

NVIDIA est une société de semi-conducteurs qui conçoit et vend principalement des unités de traitement graphique (GPU), largement utilisées dans les domaines de l'IA et du calcul haute performance (HPC). En avril 2020, NVIDIA a acquis Mellanox, une société de puces et d'appareils réseau, pour 6.9 milliards de dollars, puis a lancé la série de DPU BlueField.

Le DPU NVIDIA BlueField-3 (comme illustré dans la figure 7) hérite des fonctionnalités avancées du DPU BlueField-2 et est le premier DPU conçu pour l'IA et le calcul accéléré. BlueField-3 DPU fournit jusqu'à Réseau 400 Gbit/s connexion et peut décharger, accélérer et isoler, prenant en charge les fonctions de réseau, de stockage, de sécurité et de gestion définies par logiciel.

UIP Intel

Intel IPU est un périphérique réseau avancé doté d'accélérateurs renforcés et de connexions Ethernet, qui peut utiliser des cœurs programmables dédiés étroitement couplés pour accélérer et gérer les fonctions d'infrastructure. L'IPU fournit un déchargement complet de l'infrastructure et agit comme un point de contrôle hôte pour l'exécution des applications d'infrastructure, offrant ainsi une couche de sécurité supplémentaire. Grâce à l'IPU Intel, tous les services d'infrastructure peuvent être déchargés du serveur vers l'IPU, libérant ainsi les ressources du processeur du serveur et fournissant également aux fournisseurs de services cloud un point de contrôle indépendant et sécurisé.

Feuille de route Intel

En 2021, Intel a annoncé les produits IPU Oak Springs Canyon et Mount Evans lors de l'Intel Architecture Day. Parmi eux, Oak Springs Canyon est un produit IPU basé sur FPGA et Mount Evans IPU est un produit IPU basé sur ASIC.

L'IPU Intel Oak Springs Canyon est équipé d'un processeur Intel Agilex FPGA et Xeon-D. Intel Mount Evans IPU est un SoC (System-on-a-Chip) conçu conjointement par Intel et Google. Le mont Evans est principalement divisé en deux parties : le sous-système I0 et le sous-système informatique. La partie réseau utilise ASIC pour le traitement des paquets, qui offre des performances bien supérieures et une consommation d'énergie inférieure à celle du FPGA. Le sous-système informatique utilise 16 cœurs ARM Neoverse N1, dotés de capacités informatiques extrêmement puissantes.

DPU dans Alibaba Cloud

Alibaba Cloud explore également en permanence la technologie DPU. Lors du Alibaba Cloud Summit en 2022, Alibaba Cloud a officiellement lancé le processeur d'infrastructure cloud CIPU, basé sur l'architecture Shenlong. Le prédécesseur du CIPU est la carte MoC (Micro Server on a Card), qui répond à la définition du DPU en termes de fonction et de positionnement. La carte MoC dispose d'unités I0, de stockage et de traitement indépendantes et effectue des travaux de virtualisation du réseau, du stockage et des périphériques. Les cartes MoC de première et de deuxième génération ont résolu le sens étroit des problèmes de surcharge zéro de la virtualisation informatique, et le logiciel implémente toujours la partie réseau et stockage de la virtualisation. La carte MoC de troisième génération réalise le renforcement de certaines fonctions de transfert de réseau et les performances du réseau sont considérablement améliorées. La carte MoC de quatrième génération réalise le déchargement matériel complet du réseau et du stockage et prend également en charge la capacité RDMA.

En tant que système de processeur de centre de données conçu pour le système Feitian, Alibaba Cloud CIPU a une signification importante pour Alibaba Cloud pour construire une nouvelle génération de systèmes complets d'architecture de cloud computing logiciels et matériels.

DPU dans le moteur Volcano

Volcano Engine explore également en permanence la voie du DPU auto-développé. Son DPU auto-développé adopte une technologie de virtualisation intégrée soft et hard, visant à fournir aux utilisateurs des services informatiques hautes performances élastiques et évolutifs. Dans les produits informatiques élastiques de Volcano Engine, le serveur bare metal élastique de deuxième génération et le serveur cloud de troisième génération sont équipés de DPU auto-développés, qui ont été largement vérifiés dans les capacités du produit et les scénarios d'application. L'instance EBM de deuxième génération de Volcano Engine, qui a été officiellement commercialisée en 2022, a été la première à embarquer le DPU auto-développé de Volcano Engine. Il conserve non seulement les avantages de stabilité et de sécurité des machines physiques traditionnelles et peut réaliser une isolation physique sécurisée, mais présente également les avantages d'élasticité et de flexibilité des machines virtuelles. Il s'agit d'une nouvelle génération de serveurs cloud hautes performances avec de multiples avantages. L'instance ECS de troisième génération de Volcano Engine, lancée au premier semestre 2023, combine également l'architecture du dernier DPU développé par Volcano Engine et la technologie de commutation virtuelle et de virtualisation développée par lui-même, et les performances d'E/S du réseau et du stockage ont été considérablement améliorées.

Laisser un commentaire

Remonter en haut