Serveurs : les infrastructures composables pourraient revenir
Concept imaginé il y a dix ans, mais jamais commercialisé, l’architecture composable portait la promesse de tailler les serveurs à l’essentiel. Des progrès dans les réseaux PCIe lui apportent enfin de la crédibilité.
Les récents développements autour des bus PCIe pourraient bien relancer un concept qui devait révolutionner l’informatique il y a dix ans, mais que tout le monde a entretemps oublié : l’infrastructure composable. De nos jours, la connectique NVMe-over-Fabric, quoique liée au seul stockage, a en effet permis aux fournisseurs et aux prestataires de mûrir les mêmes principes techniques. Pour les entreprises, il ne s’agirait donc plus totalement de faire un saut vers l’inconnu.
L’infrastructure composable consistait à désagréger chaque pièce d’un serveur en modules séparés – le processeur, la mémoire, le stockage, le contrôleur réseau, une carte d’accélération, etc. Il suffisait ensuite de les interconnecter pour obtenir une machine fonctionnelle. L’idée étant qu’il deviendrait simple de multiplier à l’envi le type de module dont on a le plus besoin sans investir autant dans les autres pièces. En somme, la promesse était de payer le prix le plus bas possible pour l’architecture correspondant le plus à la demande.
Mais selon une enquête récemment menée par le cabinet Statista, seuls 11 % des responsables informatiques ont évalué la mise en production de systèmes composables, tandis qu’une majorité de 52 % n’a aucun intérêt pour cette technologie. Le problème ? L’architecture servant à interconnecter les modules n’était tout simplement pas, jusqu’ici, mature.
Quelques développements importants de produits au cours des deux dernières années laissent imaginer que le concept va néanmoins finir par trouver sa place dans l’entreprise, en particulier chez celles qui construisent de grands clusters de supercalcul ou qui exécutent des moteurs d’intelligence artificielle.
Le contexte et la technologie
L’idée du matériel composable remonte à une dizaine d’années, lorsque Calxeda a construit un serveur ARM modulaire dont les briques s’assemblaient sur une matrice Ethernet en 10 Gbit/s. Rapide, pour l’époque, cette matrice reliait les nœuds adjacents dans le châssis. La technologie de Calxeda – qui a disparu depuis, mais dont la propriété intellectuelle est désormais utilisée par Silver Lining Systems – avait été choisie par HPE pour ses futurs serveurs baptisés Project Moonshot ; il s’agissait sans doute de la première tentative de construction d’un système composable.
Cependant, HPE a peu après abandonné la technologie de Calxeda au profit des processeurs Atom d’Intel, plus classiques. Les serveurs Moonshot ont ensuite évolué vers la gamme Synergy de HPE.
Le concept de départ a ensuite évolué lorsqu’une autre startup, Liqid, s’est lancée en 2015 dans une nouvelle approche, cette fois basée sur une interconnexion des modules au niveau du bus PCIe, lequel devenait la colonne vertébrale d’un réseau de modules. Les pièces maîtresses du système de Liqid comprennent des switches PCIe basés sur des composants de Broadcom. Un système hôte permet de configurer et de connecter des nœuds composés de CPU, de mémoire, de cartes d’interface réseau (NIC), de stockage, de GPU ou de puces accélératrices à base de FPGA, chacun prenant la forme d’un serveur dédié, et l’ensemble s’assemblant dans des châssis d’extension.
Pourquoi PCIe ?
Au départ, Liqid utilisait un commutateur conçu en interne et construit autour d’un circuit mis au point par PLX. Liqid a ensuite adopté les switches PCIe Gen 3.0 PEX8700 et PEX9700 mis au point par Broadcom. Au milieu de l’année 2020, Liqid et Broadcom ont collaboré sur le développement d’un nouveau modèle d’infrastructure composable à base de PCIe Gen 4.0 ; il repose sur switch PEX8800 de Broadcom qui double le débit par rapport à son prédécesseur. La bande passante, telle qu’elle est exprimée par ces fournisseurs, est de 256 gigatransferts par seconde et par port. Les switches de Broadcom sont en l’occurrence disponibles dans des configurations à 24 ou 48 ports. Chaque port dispose par défaut de quatre voies PCIe, configurables en x8 ou x16. La latence entre deux ports est de 100 nanosecondes.
Le bus PCIe constitue une interconnexion idéale pour les grappes de serveurs et les infrastructures composables, car il est supporté par tous les processeurs modernes. Surtout, sa bande passante est de 64 Gbit/s par voie, sa latence est faible, son transport de donnée se fait sans perte et il prend en charge l’accès direct à la mémoire (DMA). Sa fonction de pontage non transparent permet au processeur hôte de considérer les ports du commutateur PCIe comme autant de cartes d’extension PCIe. Les commutateurs Gen 4.0, comme le Broadcom PEX88000, intègrent eux-mêmes un processeur ARM pour la configuration, la gestion et le traitement des équipements branchés à chaud. Ils offrent des performances non bloquantes, avec des fonctions telles que le partage des entrées-sorties et le DMA.
De plus, le marché commence à avoir un certain recul sur cette technologie de réseau PCIe dans le sens où les nouvelles baies de disques avec connectique NVMe-over-Fabric fonctionnent sur le même principe logique, à défaut de fonctionner sur la même couche matérielle. En NVMe-over-Fabric, ce sont bien des signaux PCIe qui sont véhiculés en réseau, mais la couche physique du réseau elle-même est plutôt de l’Ethernet, de l’Infiniband ou du Fiber Channel.
Le bus PCIe a aussi des inconvénients : les coûts par port sont plus élevés qu’en Ethernet et la longueur des câbles est si limitée, que tous les modules doivent se trouver dans le même châssis rack. Conscient de ces limites, Liqid a décliné son concept sur d’autres matrices réseau, en l’occurrence en Ethernet et en Infiniband, avec des implémentations très proches du NVMe-over-Fabric.
Applications de l’architecture composable
L’infrastructure composable a été initialement proposée comme un moyen de partager de manière rentable des GPU coûteux dans un environnement de supercalcul ou d’IA, en particulier pour l’entraînement intensif de modèles. Cependant, elle pourrait tout autant faire carrière chez les hébergeurs d’infrastructures en cloud, en particulier chez les petits fournisseurs d’offres IaaS, rompus à partager des baies de disques entre des serveurs, via du NVMe-over-Fabric.
Bien qu’elles ne soient pas conçues à proprement parler pour fonctionner sur des réseaux PCIe, les cartes d’extension PCIe - NIC, GPU ou FPGA – sont de plus en plus partagées et virtuellement découpées entre plusieurs machines virtuelles. Ainsi, il est trivial de décliner les systèmes logiciels qui les pilotent, comme ceux qui présentent des GPU virtuels chez NVidia, ou qui font qu’une carte réseau est une SmartNIC.
VMware a lui-même récemment lancé le projet Monterey pour étendre certaines fonctionnalités de VMware Cloud Foundation aux DPU, des accélérateurs de traitement des flux, dont le BlueField-2 de Nvidia est le premier exemplaire commercialisé. Monterey permet de décharger le CPU hôte des services de réseau et de stockage sur les multiples cœurs ARM du DPU. Il pourrait tout autant décharger d’autres fonctions sur d’autres modules PCIe. À plus long terme, Kit Colbert, le directeur technique de VMware, voit Monterey évoluer pour prendre en charge plusieurs hôtes et d’autres accélérateurs matériels.
« Monterey nous permet de repenser l’architecture des clusters, de les rendre plus dynamiques, plus axés sur les API et plus optimisés en fonction des besoins des applications », écrit-il dans un récent billet de blog. « Tout cela sera rendu possible grâce à la composabilité du matériel ».