Dans la transformation en cours du serveur tel qu'on le connaît, la mémoire était un élément à peu près épargné, mais cela commence à changer. Avec Optane, Intel avait donné le coup de semonce. CXL et les modules M3 enfonceront le clou. De quoi inciter des acteurs comme VMware à tout repenser.
Des processeurs, leurs contrôleurs mémoire, quelques E/S et autres lignes PCI Express pour les périphériques et le stockage, voilà ce qui définit le plus souvent un serveur, encore aujourd'hui. La tendance à l'hyperconvergence (HCI) qui a agité le marché ces dernières années a d'ailleurs renforcé cette façon concentrée de voir les choses.
Le serveur change (et ce n'est pas sale)
Mais avec la montée en puissance du PCI Express, de nouveaux protocoles comme CXL ou le NVMe-oF, des technologies à mi-chemin entre mémoire et stockage, du réseau à plusieurs centaines de Go/s, tout est en train de changer. Désormais, il faut tout « désagréger », pour mieux adapter les machines à des besoins spécifiques.
Ce n'est pas tant une marche inverse qu'une manière de penser l'hyperconvergence autrement : non plus au niveau du simple serveur, qui est désormais plus modulaire, mais à celui du cluster qui devient l'entité à tout faire. Les données s'y échangent, se répliquent, de manière cohérente et hautement disponible.
Pour y parvenir, AMD et Intel préparent de nouvelles plateformes : Zen 4 pour l'un, Sapphire Rapids pour l'autre. Avec tout un écosystème de solution autour d'eux pour mettre cette stratégie en musique. Avec son projet Capitola dévoilé à l'occasion du VMworld 2021, VMware a d'ailleurs prévenu : il faudra compter avec lui.
Notre dossier sur VMworld 2021 :
- VMWorld 2021 : des évolutions profondes, par-delà les promesses des Cross Cloud Services
- CXL, DDR5, HBM, persistante : la mémoire évolue, VMware s'adapte avec Capitola
Au commencement était Optane
Lorsqu'Intel et Micron ont dévoilé 3D Xpoint en 2015, on ne se doutait pas à quel point cela pourrait mener à changer la perception que l'on peut avoir de la mémoire au sein d'un serveur. Et si le projet a connu de nombreux déboires depuis, sans trouver réellement son chemin dans l'offre grand public, il a posé les bases de la mémoire persistante.
Un concept né quelques années plus tard avec les modules Optane au format DIMM, désormais connu sous le nom de PMem de série 100 (Apache Pass) ou 200 (Barlow Pass). De quoi permettre d'ajouter jusqu'à 4 To (8x 512 Go) à 2 To (8x 256 Go) de DDR4 pour atteindre 6 To de mémoire adressable. Les débits annoncés par Intel pour sa dernière génération sont de 8,1 Go/s en lecture, 5,6 Go/s en écriture. Le TDP de 15 watts.
Pourquoi en arriver à de telles capacités ? Tout simplement parce que cela devient nécessaire du fait de l'augmentation continue de la densité au sein des serveurs, mais aussi par la taille des jeux de données à traiter dans le monde du HPC ou de l'IA. Il faut du gros débit, de la faible latence, au-delà de ce que proposent les SSD.
Les modules Optane PMem peuvent pour rappel être reconnus et gérés par le système comme de la mémoire classique, mais avec une latence plus élevée du fait qu'ils sont basés sur des puces 3D XPoint. Elle reste néanmoins bien plus faible que celle d'un SSD classique, profitant de leur conception et de l'interface directe avec le CPU via les ports DIMM. Bien que coûteux, ces modules ont aussi l'avantage d'être plus abordables au Go que de la DDR4.
Avec Sapphire Rapids, Intel ira plus loin puisque le constructeur y intègrera un contrôleur DDR5 mais pourra également gérer de la High Bandwidth Memory (HBM) sur certaines références. Optane pourra également venir accompagner l'ensemble avec la série 300 (Crow Pass). Puis la série 400 (Donahue Pass) pour Granite Rapids.
D'ailleurs, les concurrents ne s'y trompent pas et travaillent à des solutions plus ou moins similaires. On l'a encore vu récemment avec l'annonce des FL6 par Kioxia, même s'ils ne sont pas encore au niveau.
CXL change la donne
Certains tentent le coup d'après, comme Samsung qui a récemment annoncé son Memory Expander. Il s'agit d'un module de DDR5 qui ne se connecte pas directement sur la carte mère puisqu'il est au format E3.S. Il s'agit donc d'un lien PCIe x16 profitant du protocole Compute eXpress Link (CXL) pour la cohérence mémoire, qui permet à un système hôte de l'utiliser comme s'il s'agissait de sa propre DDR5, gérée par le contrôleur du CPU.
Ici aussi la latence est plus élevée (dans les 300 ns) et on perd l'avantage de modules moins coûteux, mais on peut en ajouter autant qu'il y a de lignes PCIe disponibles, souvent bien plus que de canaux mémoire.
Autre possibilité offerte par CXL : la gestion en pool de mémoire au sein de clusters où différents serveurs et composants peuvent partager leur mémoire via le réseau, un peu comme pour le stockage via NVMe-oF, quel que soit le mode de connexion locale. Le PCIe, CXL et des formats comme l'E3 permettant de connecter tant du stockage que de la mémoire ou des accélérateurs, ils peuvent agir de manière concertée et unifiée au sein d'un même cluster. Ce, même s'ils sont organisés via une somme de serveurs spécialisés.
Il faudra néanmoins veiller à concevoir de telles architectures selon les besoins de performance, le réseau et la latence imposée par la « distances » ayant leurs limites.
VMware prépare son projet Capitola
Certains s'y préparent déjà, notamment VMware qui a dévoilé son projet Capitola à l'occasion du VMworld 2021. L'éditeur dit rencontrer de plus en plus de demandes de la part de ses clients (principalement de grosses entreprises) qui réflechissent à la manière d'augmenter la capacité en mémoire de leurs infrastructures.
Si les systèmes ont déjà l'habitude de gérer différents niveaux d'accès aux données, avec des latences et débits différents, que ce soit à travers les différents niveaux de cache d'un processeur, puis sa mémoire qui peut être connectée via différents dies/sockets, des modules PMem ou du simple stockage, l'arrivée prochaine de HBM, de CXL et de modules comme le Memory Expander de Samsung changent la donne.
Avec Lenovo, VMware a donc travaillé à une nouvelle version de son hyperviseur capable de reconnaître et de gérer ces différentes solutions, puis de les utiliser de manière « intelligente ». Lors de la session de présentation de cette technologie, une démonstration a été faite d'un serveur à deux CPU, l'un avec 128 Go de DDR5, l'autre avec 16 Go accompagnés de 128 Go via les modules E3.S de Samsung. Soit un total de 272 Go.
Des machines virtuelles disposant de 60 Go de mémoire chacune ont alors été créées, occupant peu à peu la mémoire locale, puis les modules CXL, sans intervention particulière de l'utilisateur, tout était transparent. Il sera intéressant de voir si une machine virtuelle peut se « déplacer » de la mémoire classique à ses modules selon ses besoins en termes de performances par exemple, mais il est encore un peu tôt pour évoquer de telles possibilités.
Pour rappel, Sapphire Rapids et CXL ne sont pas attendus avant le début de l'année prochaine, Zen 4 dans la seconde moitié de l'année. C'est sans doute à ce moment-là que Capitola débarquera dans vSphere/ESXi.