AMD lance sa seconde génération de processeurs Epyc
Avec des caractéristiques deux fois meilleures que les Xeon à prix équivalent, ces dernières puces doivent équiper des serveurs plus économiques, avec plus de stockage NVMe ou de connectique Ethernet.
AMD met enfin sur le marché la seconde génération de ses processeurs Epyc, anciennement appelée « Rome » et désormais référencée 7xx2. Elle est censée offrir deux fois mieux en moyenne que les Xeon du concurrent Intel.
Après avoir dévoilé les grandes lignes de l’architecture de ces nouveaux processeurs en novembre dernier, AMD a convié clients et partenaires lors d’un événement cette semaine à San Francisco, pour expliquer enfin ce qu’il entendait par « deux fois mieux ». Pêle-mêle, l’Epyc 7452 à 32 cœurs qui coûte environ 2 000 dollars atteint un score de 203 aux tests de performances SPECrate2017_int_peak, alors qu’un Xeon Gold à 12 cœurs valant près de 1 800 dollars affiche 91. l’Epyc 7282 avec 16 cœurs à 650 $ score à 102 sur le même test, tandis qu’un Xeon Silver 8 cœurs à 794 $ est chronométré à 49,2.
Et ainsi de suite : dans toutes les tranches de prix, un nouveau processeur d’AMD va deux fois plus vite qu’un dernier Xeon au tarif similaire. En tout cas, selon des tests qui reflètent plus ou moins le comportement de, là, des serveurs virtuels Linux, là, des applications Java, ou, là, des traitements intensifs.
L’obsession d’être meilleur que les Xeon d’Intel
Pour parachever sa démonstration de supériorité – et faire un peu oublier que ses puces n’équipent en définitive que 4 % des serveurs mono ou biprocesseurs sur le marché – AMD s’est même fendu d’un modèle d’Epyc haut de gamme, le 7 742 à 64 cœurs, qui réalise un score de 385 pour un prix de seulement 6 950 $, alors qu’un Xeon Platinum, avec son maximum de 28 cœurs et son tarif stellaire de 13 000 $, produit timidement un résultat de 180 au même test. Quatre fois mieux. Intel doit toujours lancer d’ici à la fin de l’année un Xeon Platinium 9282 avec 56 cœurs (en réalité deux Xeon 28 cœurs assemblés dans la même puce). On ignore s’il fera un effort sur le prix.
Le marketing fertile d’AMD n’a eu de cesse lors de l’événement californien de tourner ses bons chiffres dans tous les sens. Un serveur monoprocesseur Epyc atteignant les performances d’une machine biprocesseur Intel, l’entreprise cliente de la version AMD paierait deux fois moins de licences dans le cas des logiciels facturés au processeur. Pour les applications Java, trois étagères Racks 42U de serveurs Intel équivaudraient à une étagère et demie de serveurs AMD, ce qui permettrait de diviser par deux la facture d’électricité. Etc.
À l’heure où nous écrivons ces lignes, et même si HPE, Dell et Lenovo ont confirmé déployer le nouveau processeur d’AMD sur plusieurs de leurs serveurs, il ne nous a pas été possible de comparer les prix, à caractéristiques équivalentes, entre une machine basée sur un Epyc 7xx2 et une basée sur un Xeon d’Intel.
Précisons par ailleurs, que les Epyc de première comme de seconde génération, ne servent qu’à bâtir des serveurs mono ou bi-sockets, lesquels constituent l’essentiel du marché. Les Xeon d’Intel peuvent être utilisés pour construire des machines quadri, voire octo-sockets.
L’argument d’une gravure deux fois plus fine que chez d’Intel
Il est intéressant de se demander comment le challenger AMD parvient à faire à ce point mieux que le champion du marché Intel. Il est probable que le public retiendra qu’AMD, en faisant désormais fondre ses processeurs par les usines du Taïwanais TSMC, bénéficie d’une gravure de ses cœurs avec une précision de 7 nm, contre 14 nm pour les cœurs Xeon issus des usines Intel.
Le prix étant lié à la quantité de silicium utilisée sur un wafer, et la puissance étant proportionnelle au nombre de transistors par carré de silicium, AMD offre des processeurs aussi puissants, mais deux fois moins chers en mettant autant de transistors qu’Intel, et sur une surface deux fois plus petite. Ou, ce qui revient au même, AMD offre pour le même prix des processeurs deux fois plus puissants que ceux d’Intel en mettant sur la même surface de silicium deux fois plus de transistors.
Rappelons que TSMC a une longueur industrielle d’avance sur Intel, car ses chaînes ont été plus rapidement rentabilisées grâce à la fabrication de composants pour les smartphones, tandis qu’Intel ne produit que des puces pour PC et serveurs. Selon le cabinet CounterPoint, il s’est vendu dans le monde 458,4 millions de smartphones au premier trimestre 2019. Tandis que, selon IDC, il s’est vendu sur la même période 2,58 millions de serveurs, auxquels il faut ajouter, selon Gartner, 62,97 millions de PC. Sept fois moins.
L’efficacité de la finesse de gravure est néanmoins à relativiser, car il s’agit juste d’une grille sur laquelle les fondeurs posent des transistors de taille plus ou moins importante. Selon Intel, son savoir-faire en matière de transistors lui permettra d’en mettre autant par millimètre carré (environ 100 millions) que ses concurrents en 7 nm, dès qu’il basculera à une gravure en 10 nm.
Les techniques qu’il est censé utiliser pour y parvenir reposent entre autres sur des transistors de plus grande hauteur, ce qui permettrait de les rapprocher les uns des autres. Les Xeon d’Intel bénéficiant d’une gravure en 10 nm sont attendus en 2020. Intel ne devrait pas parvenir à graver en 7 nm avant 2021, date à laquelle les usines de TSMC seront passées au 5 nm.
15 à 23 % d’instructions en plus par cycle et par cœur
Au-delà de leur finesse de gravure, les processeurs Epyc de seconde génération bénéficient surtout d’améliorations architecturales. Les cœurs Zen 2 – les mêmes que ceux présents dans les derniers processeurs qu’AMD a déjà lancés sur le marché des PCs, les Ryzen 3000 – sont censés exécuter de 15 à 23 % d’instructions en plus par cycle d’horloge. Notamment parce que le design optimisé des différentes unités de calcul, conjugué à des bus internes élargis, permet de doubler la vitesse de lecture des instructions et de leurs données depuis la mémoire cache L1 interne. À ce titre, signalons que le bus des unités arithmétiques passe de 128 à 256 bits, comme sur Xeon. Avec une puissance de 16 Flops par cycle et par cœur, on ne pourra donc plus dire que les serveurs AMD sont a priori moins performants en supercalcul que ceux conçus sur de l’Intel.
En termes de design, 1 à 8 cœurs sont activés sur un « chiplet » et 8 chiplets sont assemblés de part et d’autre d’un chipset, en charge des communications avec le reste de la carte mère.
Chaque cœur apporte une tranche de mémoire cache L3 de 4 Mo, de sorte qu’un chiplet avec 8 cœurs dispose de 8 x 4 Mo, soit 32 Mo de cache L3, soit, à l’échelle du processeur, 8 chiplets x 32 Mo, c’est-à-dire 256 Mo. Précédemment, les cores Zen 1 n’offraient individuellement que 2 Mo de cache et le processeur Epyc premier du nom n’en avait au mieux que 32, soit un maximum de 64 Mo de cache.
Pour des raisons de production, mais aussi d’enveloppe thermique, AMD active plus ou moins de cœurs et plus ou moins de mémoire cache par chiplet, donnant lieu au final à une vingtaine de modèles d’Epyc 7xx2. Ils vont du 7 232 P à 8 cœurs et 32 Mo de cache, au 7742 à 64 cœurs et 256 Mo de cache, en passant par des modèles comme les 7262 et 7302 qui ont 128 Mo de cache, alors qu’ils n’ont respectivement que 8 et 16 cœurs.
De 2 GHz pour 64 cœurs à 3,2 GHz pour 8 cœurs
Les fréquences sont inversement proportionnelles au nombre de cœurs. Un modèle haut de gamme à 64 cœurs comme le 7702 (6 450 dollars) a ainsi une fréquence de base de 2 GHz, tandis qu’un modèle de base comme le 7262 à 8 cœurs (575 dollars) fonctionne au minimum à 3,2 GHz. Rappelons que la quantité de cœurs sera plus intéressante sur des serveurs qui exécutent beaucoup de traitements en parallèle (machines virtuelles à l’écoute de requêtes…), alors que les GHz seront préférables pour les traitements qui ont besoin de se terminer rapidement (applications).
Notons cependant que les fréquences donnent de moins en moins une indication précise de la vitesse de fonctionnement d’un processeur. Intel et AMD améliorent à chaque génération des dispositifs qui font varier en temps réel la fréquence d’un processeur pour obtenir le meilleur équilibre possible entre vitesse de calcul et température à ne pas dépasser. Il faut ainsi considérer qu’un processeur fonctionne la plupart du temps au-dessus de sa fréquence de base, mais ne travaille à sa fréquence maximale (dite « Boost » chez AMD et « Turbo » chez Intel) que quelques secondes, avant de ralentir pour se refroidir pendant plusieurs minutes.
Les Epyc 7xx2 ont tous une fréquence maximale comprise entre 3,2 et 3,4 GHz. Leur dissipation thermique nominale, dite TDP, va de 120 à 225 watts, selon la fréquence et la quantité de cœurs ou de cache activés. À titre d’exemple, les Epyc donnés pour 225 watts sont les modèles 7742 (64 cœurs, 256 Mo de cache, 2,25 GHz), 7642 (48 cœurs, 256 Mo de cache, 2,3 GHz) et 7542 (32 cœurs, 128 Mo de cache, 2,9 GHz). Le modèle 7282 à 16 cœurs, 64 Mo de cache et 2,8 GHz est donné pour dissiper 120 watts, tandis que le modèle 7262 qui n’a que 8 cœurs, mais fonctionne à 3,2 GHz, qui plus est avec 128 Mo de cache, est donné pour dissiper 155 watts.
128 lignes PCIe 4.0 et 4 To de RAM par processeur
Une avancée majeure des Epyc 7xx2 est surtout le chipset qu’ils intègrent en leur centre. Celui-ci gère 8 canaux mémoire DDR4 pour un maximum de 4 To. Il peut s’agit soit de 8 barrettes DIM à 3 200 MHz (mais les modèles 512 Go n’existent pas encore), soit de 16 barrettes à 2 933 MHz. Comparativement, certains derniers Xeon, ceux avec la lettre L à la fin de leur nom, supportent désormais 4,5 To de DRAM par socket, tandis que ceux portant la lettre M sont limités à 2 To par socket.
Le chipset propose aussi 128 lignes PCIe pour la première fois en version 4.0. Rappelons que les derniers Xeon Cascade Lake ne supportent que 48 ou 64 lignes PCIe 3.0. Le PCIe 4.0 apporte un débit de 16 Gbits/s (environ 2 Go/s) par ligne et dans chaque direction, au lieu des 8 Gbits/s (environ 1 Go/s), par ligne et par direction, offerts par le PCIe 3.0.
Le nombre total de lignes conditionne la quantité d’extensions insérables dans un serveur : traditionnellement, une carte GPU utilisera 16 lignes (« x16 ») et une unité de stockage NVMe 4 lignes. Une carte Ethernet très haut débit qui utilise 16 lignes devrait apporter une connectivité en 200 Gbits/s à un serveur Epyc 7xx2, alors qu’une telle carte apporte une connectivité en 100 Gbit/s sur les serveurs Xeon. Il est à noter que pour fonctionner en PCIe 4.0, encore faut-il que les cartes et les unités NVMe aient été prévues pour.
Mis à part cinq modèles notés « P » (7702P, 7502P, etc.) et qui se destinent à des serveurs monosockets, la majorité des nouveaux Epyc sont conçus pour des serveurs bi-sockets. Dans ce cas, si la machine peut bien fonctionner avec 8 To de RAM (2x 4 To), elle totalise en revanche 162 liens PCIe 4.0 et non 256. Les 94 manquant à l’appel sont utilisés pour permettre aux deux processeurs de communiquer entre eux.
Contrairement aux cœurs Zen 2, le chipset central est gravé en 14 nm. Il est probable que le processeur consommerait moins si ce composant central avait été lui aussi gravé en 7 nm.