Comment la “désagrégation” du serveur va réorganiser l’IT et comment Arm pourrait en bénéficier

L’expression désagrégation du système ou désagrégation du serveur fait référence à un modèle de conception pour la fabrication et le déploiement d’un système informatique dont les composants sont construits comme des unités individuelles, et connectés à l’aide d’une structure de réseau au lieu d’un bus système.

Aujourd’hui, la carte mère d’un ordinateur ou d’un serveur comprend un processeur central, une mémoire principale, un chipset qui gère les fonctions internes de la carte mère, des interfaces avec les autres composants externes qu’un ordinateur peut utiliser (par exemple, affichage, stockage, réseau), et un bus qui agit comme un circuit les reliant tous ensemble.

a-bit-of-piet-mondrian.jpg

Segment de “Broadway Boogie-Woogie” par Piet Mondrian, dans le domaine public.

Un futur ordinateur pourrait être construit de manière très différente. Tant que la structure du réseau (networ fabric – soit les interconnexions à courte distance et à grande vitesse par des câbles de haute qualité comme la fibre optique) est au moins aussi rapide, sinon plus, qu’un bus, les composants qui étaient autrefois reliés à une carte mère peuvent être plus facilement couplés, voire fabriqués séparément. Sur un tel marché, ces composants seraient alors interchangeables.

Si vous pensez que nous ne parlons que d’ordinateurs pour l’entreprise ou les grandes organisations, envisagez un bureau à domicile connecté (une tâche rendue beaucoup plus facile par les circonstances imprévues de 2020) où un hub centralisé sert de streaming vidéo, de passerelle pour les applications basées sur le cloud, de serveur pour les documents stockés, et de jauge de température pour votre réfrigérateur.

Dans un univers de pièces informatiques ainsi désagrégées, les appareils effectuent des tâches simples, et des combinaisons d’appareils interopérables réalisent des applications complexes.

Alors pourquoi vouloir cela ? Après tout, votre smartphone est de plus en plus capable, chaque mois, de faire fonctionner des feuilles de calcul. C’est une question qui mérite d’être posée car les réponses jusqu’à présent ne sont que partielles.

publicité

Les nouvelles parties d’un système désagrégé

Vous avez peut-être vu le terme “désagrégation” appliqué à un réseau et présenté dans ce contexte comme une tendance de conception. L’élément commun à la plupart des définitions de désagrégation de réseau est que de nombreux composants d’un système sont mis en réseau, plutôt que soudés ou estampés ensemble. Un synonyme plus précis de ce terme pourrait sans doute être “mise en réseau”, puisque tout son principe est d’utiliser une connectivité adressable.

La désagrégation des réseaux est la décomposition d’un réseau en parties plus interopérables qu’auparavant. La désagrégation des serveurs ou des systèmes est, par comparaison, la décomposition des composants d’un système informatique en parties auto-opérationnelles qui sont connectées par un réseau plutôt que par des fils, des prises et des interfaces.

L’architecture d’agrégation de systèmes la plus importante actuellement en cours de discussion serait la suivante :

  • Découpler l’interface de la carte réseau du serveur (la partie qui permet à un système de communiquer avec d’autres systèmes et de transmettre des données entre eux) et l’unité centrale, sur un bus entièrement nouveau constitué d’une nouvelle classe de composants, que certains fabricants appellent le DPU (Data Processor Unit, un nom qui aurait été inventé par Nvidia, mais qui n’a pas encore été complètement décidé) ;
  • Déplacer le stockage des données sur une interface gérée par la DPU, de sorte que l’unité centrale accède aux données stockées en utilisant le réseau plutôt que le bus système, permettant ainsi des contrôles de politique et de sécurité pour la connexion ;
  • Il est concevable de découpler le GPU (qui n’était auparavant que le moteur graphique, mais qui a été utilisé plus récemment pour le traitement hautement parallèle), ainsi que les FPGA et autres “accélérateurs”, du CPU, en les déplaçant vers un autre composant qui communique avec le CPU et le DPU sur le même réseau ;
  • Déstabiliser la relation entre ces trois composants, de sorte qu’un CPU puisse engager autant de DPU que nécessaire pour une tâche, et que les CPU et les DPU puissent utiliser des GPU et des accélérateurs – ce qui accélère grandement l’exécution de certaines tâches de gestion de réseau.

Qu’est-ce qu’un DPU et pourquoi en aurait-on besoin ?

Parfois appelée unité de traitement des données, une DPU est centrée autour du processeur de sa carte d’interface réseau, ou plus précisément de sa SmartNIC — un contrôleur réseau géré par un processeur programmable. Dans une autre catégorie de système, ce processeur peut aussi bien être un CPU ou un system-on-a-chip (SoC) Arm (si cette expression vous semble familière, vous avez peut-être lu notre récent explicatif sur les processeurs Arm. Ce DPU ne serait probablement plus une “carte”, mais plutôt un nœud — un composant adressable d’un réseau.

dpu-bluefield-2x-3-1024w.jpg

Un concept de SmartNIC de Mellanox devient un DPU de Nvidia : Le BlueField-2X. Source : Nvidia Corp.

Lors de sa conférence de début octobre, Nvidia a présenté ses premiers SmartNIC Mellanox avec son appelaltion DPU, les BlueField-2 et 2X. Notez que c’est toujours une carte PCI, et non un boîtier séparé avec des ports Ethernet. Du moins pas encore. Dans une présentation vidéo, le PDG de Nvidia, Jensen Huang, a affirmé que le traitement logiciel des expressions régulières (RegEx) pour le déchiffrement et l’authentification des paquets IPsec entrants à 100 gigabits par seconde (Gbps) consommerait le travail de 125 cœurs de processeur standard.

Deux faits que Jensen Huang a omis :

  • Nous ne savons pas encore à quel point un système BlueField-2 serait plus rapide par comparaison.
  • Est-ce qu’un serveur auquel on a délégué la tâche de traiter les paquets entrants n’a pas une sorte d’accélérateur DPDK, comme l’une des cartes FPGA existantes d’Intel, pour décharger ces tâches du CPU aujourd’hui ?

“Je pense que l’infrastructure future sera optimisée par une nouvelle classe d’adaptateur réseau”, a expliqué Paul Perez, CTO du groupe des solutions d’infrastructure de Dell Technologies, lors d’une récente conférence VMware. “J’hésite à l’appeler “adaptateur réseau” en fait. Pensez-y comme une collection de cœurs Arm polyvalents, son propre moteur de déchargement, la mémoire haute performance disponible localement pour cette carte réseau, ainsi qu’une collection d’interface de bande passante local-hôte et Internet. Certes, ce n’est pas la carte réseau de votre grand-père”.

Voici une explication de plusieurs termes de networking citées ci-dessus :

  • Moteur de déchargement: Processeur spécialisé pour le traitement de classes de tâches fréquemment effectuées, telles que le chiffrement et le déchiffrement. Ce concept n’est pas du tout nouveau ; en fait, Intel a été le pionnier de ce marché au cours de la dernière décennie avec les coprocesseurs Xeon Phi.
  • Mémoire locale haute performance: Comme les cartes réseau utilisent souvent des tables de consultation étendues, elles sont généralement équipées de vastes caches de RAM statique (SRAM). En général, celle-ci est plus volatile que la DRAM, mais elle n’est pas destinée au stockage à long terme de toute façon. Dans ce cas, on parle toujours de mégaoctets plutôt que de gigaoctets, mais il faut voir cela comme un petit engrenage avec un couple élevé. En parcourant un tableau de données indexées, un processeur pourrait faire bon usage d’un cache à grande vitesse pour autre chose que sa propre logique interne.
  • Bande passante Local-host : Ceci fait référence au niveau relatif de connectivité des composants qui sont maintenant adressables sur un réseau, qui historiquement ont été des interfaces sur le bus local. Le débit des données locales devrait alors être une véritable autoroute.

À l’origine, le processeur d’un NIC était un circuit intégré spécifique à une application (ASIC). Il n’était pas très sophistiqué. Dès sa conception, il s’agissait d’une carte basée sur PC qui s’insérait dans un emplacement d’extension PCI. Le PCI est un bus — littéralement un chemin avec des arrêts sur la carte mère d’un ordinateur qui transporte des données en parallèle entre la mémoire du PC et la mémoire interne de tous les appareils interfacés.

L’une des fonctions les plus nécessaires de la carte réseau est la conversion des données série (le type qui arrive par le réseau) en données parallèles qui peuvent être transférées entre les processeurs et la mémoire.

En revanche, si une SmartNIC peut également être, dans une certaine mesure, spécifique à une application, elle est basée sur une conception multi-coeurs à usage général qui est programmable à l’aide d’un langage de haut niveau. C’est extrêmement important, car cela signifie que certaines tâches du réseau – dont les plus importantes sont classées comme sécurité – peuvent être déchargées de l’unité centrale et déléguées à l’unité de traitement des données. (Au fait, “SmartNIC” n’est pas un nom de marque, même si le “S” est en majuscule).

Quelle est la proposition de valeur du DPU

Les cartes graphiques avec des processeurs indépendants sont devenues disponibles dans les années 1980. À cette époque, j’ai expliqué aux propriétaires de PC que les graphiques 3D nécessitaient un type de traitement fondamentalement différent de celui qu’un processeur logique était capable d’effectuer. Il s’agit d’un traitement dans lequel une seule classe de tâche, avec des entrées différentes, est répliquée parmi des centaines, voire des milliers de threads, et exécutée en parallèle.

Les processeurs graphiques sont devenus des “GPU” polyvalents lorsque Nvidia, leur principal producteur, a construit une bibliothèque appelée CUDA qui permettait aux développeurs d’exploiter le même moteur de traitement parallèle à d’autres fins.

Pourquoi le modèle de conception du GPU ne fonctionne-t-il pas assez bien pour les DPU ?

Il est difficile de faire valoir les mêmes arguments pour les DPU. Comme le SDN (Software Defined Network) l’a déjà prouvé, les unités centrales gèrent les plans de contrôle du réseau et les plans de données de manière tout à fait adéquate. L’argument des DPU est donc présenté comme une réponse préemptive, faisant passer le plan de données pour quelque chose qui va bientôt surcharger le CPU, comme l’ont fait les graphiques autrefois.

“Tout d’un coup, de nombreuses fonctions centrées sur le réseau sont déplacées vers des ressources optimisées pour le réseau” a expliqué Pat Gelsinger, PDG de VMware, lors d’une récente conférence de presse, “ce qui nous permet de prendre en charge des capacités entièrement distribuées dans le data center, ou également en périphérie et dans le cloud. En conséquence, vous commencerez à voir beaucoup plus de fonctions de sécurité, et vous pourrez avoir des capacités de bande passante plus élevées qui, aujourd’hui, étouffent un CPU en raison des exigences de bande passante”.

Nvidia a construit ses fondations sur un marché qui était dominé par les processeurs x86 d’Intel dirigeait, et où AMD et une société appelée Via émergeaient comme challengers. Et elle a construit un tout nouveau cas d’utilisation – l’intelligence artificielle accélérée – sur une plate-forme qui n’avait aucun rapport avec le précédent.

Il est clair que Nvidia travaille à la répétition de cette performance. La société a fait un énorme pari avec l’acquisition d’Arm, une entreprise qui ne fabrique aucun de ses processeurs, et bénéficie de revenus en provenance de sa propriété intellectuelle.

Mais ce n’est pas tout : Nvidia avait auparavant acquis Mellanox, un des principaux producteurs de SmartNIC architecturées via Arm. Aujourd’hui, Nvidia cherche à faire émerger un nouveau cas d’utilisation émergent actuellement relégué à l’informatique générale, et à construire une source de revenus.

Le graphisme était un besoin clairement défini auquel les premiers GPU ont répondu juste à temps. La gestion semi-autonome des flux de données n’est pas un besoin aussi clairement défini. De plus, les processeurs x86 continuent d’accumuler de plus en plus de cœurs. Donc ils pourraient être plus facile pour eux de déléguer de nouveaux cœurs à la gestion du SDN plutôt que de décortiquer le SDN et de le recompiler pour une architecture totalement différente.

Qu’est-ce que la désagrégation des systèmes de type DPU pourrait permettre de faire ?

Il existe divers arguments en faveur de l’approche DPU de l’architecture des serveurs.

  • Le plan des données (data plane) peut être géré plus directement sans taxer l’unité centrale. Vous vous rappelez peut-être comment le flux du réseau est divisé entre le plan de contrôle et le plan des données. En ce qui concerne les données, vous avez déjà entendu les cris alarmistes sur la quantité de données créées chaque jour dans le monde. Si la loi de Moore n’était pas entrée en collision avec les lois de la physique, cela ne serait pas un vrai problème. Mais l’idée de dédier des cœurs de traitement en dehors de l’unité centrale à une tâche liée au réseau est, pour le moins, intrigante.
  • Un DPU pourrait être utilisé comme une sorte de serveur de stockage pour le CPU. Soyons parfaitement honnêtes et admettons que cela se fait déjà – en fait, depuis un certain temps. Les systèmes de stockage en réseau sont gérés par des processeurs multi-cœurs, qui dans de nombreux cas sont les CPU d’hier, reconvertis en systèmes de stockage.
  • L’isolement du processeur exécutant la politique réseau par rapport au processeur central peut augmenter considérablement la sécurité du système. C’est l’argument qui peut avoir le plus grand mérite, en dehors des performances réelles de l’unité de traitement numérique des données dans un environnement de travail. Les vulnérabilités système impliquent souvent l’exploitation de lacunes dans les logiciels exécutés par l’unité centrale. Si la sécurité était déléguée à un processeur autre que l’unité centrale, ce moyen d’exploitation pourrait ne plus fonctionner.
  • Une DPU peut être utilisée comme une sorte d’accélérateur pour des types de processus orientés réseau jamais envisagés auparavant. Un exemple que Nvidia propose sur ce terrain est le RDMA offloads, qui pourrait être utile dans l’apprentissage machine (ML). L’accès direct à la mémoire à distance (RDMA – Remote Direct Memory Access) fait référence à la capacité de lire la mémoire d’un autre système, connecté à travers le réseau. L’apprentissage machine est très gourmand en données. Une fois que la mémoire est devenue bon marché, il est devenu possible pour les processeurs d’effectuer toutes leurs étapes de formation dans d’énormes pools de DRAM. Les nœuds de calcul distribués doivent être capables d’utiliser des segments de ces énormes pools, sans qu’il soit nécessaire de les écrire d’abord sur le disque. Une unité de calcul distribué pourrait devenir une passerelle réseau vers la mémoire d’autres serveurs, révolutionnant potentiellement l’orchestration des applications distribuées.

Lors de la dernière conférence virtuelle VMworld 2020, VMware a annoncé la prochaine génération de sa plateforme de gestion d’infrastructure virtuelle vSphere. Le projet Monterey vise à souder l’orchestrateur Kubernetes de manière permanente dans la plateforme (pour l’instant, il s’agit d’une couche liée), mais un autre de ses objectifs est de faire converger les espaces d’adressage CPU, GPU et DPU en un seul environnement. Cela permettrait à l’orchestrateur de mettre en place des machines virtuelles et des conteneurs dans l’espace DPU, de la même manière que l’espace CPU classique, en ajoutant des DPU au pool de nœuds de calcul distribués.

“Il s’agit en fait d’élargir notre réflexion sur la façon dont le calcul est effectué et où il est effectué”, a fait remarquer Kit Colbert, vice-président et directeur technique de la division Plate-forme de Cloud Computing de VMware.

Qui profite le plus de la désagrégation : l’utilisateur ou le vendeur ?

Un tel concept présente certains avantages. Il est clair qu’il profiterait à des fabricants tels que Nvidia et Arm, qui ont annoncé le mois dernier leur intention de devenir une seule société. La domination d’Intel jusqu’à présent n’est pas tant due aux travaux d’AMD qu’à la mise en place, il y a longtemps, de l’architecture de bus x86 comme une sorte d'”écosystème”. Tant qu’Intel continuera à fabriquer des puces, il y aura toujours des cartes mères, soit les éléments constitutifs de l’économie x86.

La désagrégation ferait éclater tout cela. En découplant les parties autrefois interdépendantes les unes des autres, et en plaçant chacune d’entre elles derrière des adresses dans un réseau neutre, la position dominante de l’architecture x86 ne serait plus assurée au moyen d’un bus inévitable et non substituable. Et cela permet à Arm d’entrer en scène.

Ainsi, naturellement, l’une des entreprises qui s’est imposée comme l’un des premiers leaders de la désagrégation est Intel.Et la société place le débat au niveau des gros datacenters pour l’instant.

“Je pense que c’est là que nous avons clairement vu les SmartNIC prendre leur essor : dans ces environnements en mode cloud”, a fait remarquer Brad Burres, architecte en chef du groupe des plates-formes de données d’Intel, lors d’une récente conférence VMware. “Il y a ce renforcement des capacités que les principaux hyperscalers ont déjà commencé à faire, en raison du délestage de votre réseau virtuel, de l’accélération du stockage et de la capacité d’isolation en matière de sécurité. C’est vraiment ce qui le motive au niveau de (de ces acteurs). Comme toutes les autres technologies, ils construisent en ce moment, et cela va commencer à filtrer vers le reste du monde. Des clouds plus petits vont commencer à le construire ; les entreprises vont commencer à l’exploiter. Je pense que vous verrez cet effet de cascade, tout comme beaucoup d’autres technologies.”

Reste que Arm a tout à gagner de cet effort, même s’il n’est pas tout à fait abouti. Le transfert des fonctions de sécurité vers un processeur entièrement programmable ne peut que profiter au centre de données, même si la SmartNIC reste une carte qui se trouve sur un bus d’interface PCIe.

La désagrégation à un niveau stratégique

Il fut un temps où l’agrégation était tendance dans la conception des serveurs des centres de données. En fait, on pourrait dire que la raison pour laquelle l’architecture x86 (créée à l’origine pour les PC) est devenue si répandue parmi les serveurs, était que les modèles de conception pouvaient être normalisés, les processus de fabrication automatisés et les coûts réduits.

Ainsi, entendre les fabricants et les vendeurs de logiciels parler des vertus de la désagrégation est quelque peu dérangeant pour quiconque ayant une longue expérience des arguments de vente des fabricants (l’une des expressions utilisées par les vendeurs est “tendance dynamique”, qui est un oxymore. Si elle était dynamique, ce ne serait pas une tendance).

Jensen Huang, le PDG de NVIDIA, dans sa cuisine (?!)

“La tendance à la virtualisation de l’informatique, qui a permis de faciliter la mise en commun et la gestion des ressources, s’est maintenant étendue aux réseaux, au stockage et à la sécurité”, a expliqué Jensen Huang, s’adressant aux participants de la conférence de son entreprise début octobre, depuis sa cuisine, au milieu d’une collection de moulins à poivre et d’un bouquet de spatules (un des conséquences des évènements virtuels à n’en pas douter).

“Ce qui était autrefois des appareils matériels dédiés”, poursuit M. Huang, “sont maintenant des services logiciels fonctionnant sur des unités centrales. L’ensemble du centre de données est programmable par logiciel et peut être fourni en tant que service. Les machines virtuelles envoient des paquets à travers des commutateurs et des routeurs virtuels. Les pare-feu périphériques sont virtualisés et peuvent protéger chaque nœud. La microsegmentation sécurise les communications, afin que les attaquants ne puissent pas se déplacer latéralement dans le centre de données”.

Cela ressemble presque à une copie conforme de l’argument en faveur de la relocalisation du plan de contrôle du réseau hors des appareils dédiés et sur les threads de l’unité centrale. Mais l’argument actuel est que, comme pour les graphiques dans les années 1980, le traitement des données est devenu un travail si intensif qu’il mérite son propre processeur séparé.

Ce n’est qu’un argument pour le moment. Parfois, il faut de bons arguments pour faire de bons produits. Mais dans l’histoire des technologies de l’information, en l’absence d’arguments, des tendances se sont quand même produites. Le schéma le plus souvent répété dans les tendances informatiques a été celui de la convergence – lorsque les systèmes se rassemblent, lorsque des plates-formes sont établies, lorsque des normes sont convenues, lorsque la coopération conduit à l’ouverture. Laissés à eux-mêmes, les systèmes se regroupent comme s’ils étaient attirés par la gravité.

La désagrégation se produit lorsque la coalescence des systèmes crée un blocage bloquant le chemin vers une source potentielle de revenus. C’est la dynamite que les vendeurs utilisent pour faire exploser une plate-forme existante. Jamais, pas une seule fois, dans l’histoire de l’informatique, la désagrégation n’est apparue comme un processus naturel. Cela peut fonctionner, mais cela demande un effort concerté et un gain évident une fois que c’est fait. Pourtant, même lorsque les avantages semblent assez évidents, la tentative a déjà échoué.

Cela pourrait être le début de quelque chose de grand, comme le dit la chanson. Ou, comme la plupart des idées jamais présentées dans les conférences sur les technologies de l’information, cela pourrait n’être que le début de quelque chose.

Leave a Reply

Your email address will not be published. Required fields are marked *