introduction

Après avoir travaillé pendant longtemps sans pratiquement aucune présence sur le marché des serveurs x86, AMD a pris de l’ampleur grâce à la sortie de processeurs Epyc basés sur Zen à partir de la première génération de “ Naples ” en 2017.

AMD a profité des glissades de la feuille de route d’Intel en publiant la deuxième génération de “ Rome ” en 2019, ce qui est particulièrement remarquable pour doubler le nombre de cœurs et de threads et quadrupler le cache L3 en une génération et sur la même plate-forme sous-jacente.

La capacité du matériel de serveur d’AMD a depuis convaincu les principaux fournisseurs de serveurs – Dell, HPE, Lenovo, et autres – de prendre Epyc au sérieux, et chacun a des gammes de produits pour un large éventail de cas d’utilisation.

Les derniers chiffres suggèrent qu’AMD se concentre sur 10 pour cent de part de marché, depuis un départ arrêté il y a quatre ans, et vise à solidifier la proposition de serveur, ce sont les puces Epyc de troisième génération nommées Milan.

Connu officiellement sous le nom de série Epyc 7003, AMD publie 19 processeurs qui couvrent de huit à 64 cœurs dans diverses implémentations compatibles SMT. Compatible avec les cartes mères SP3 existantes certifiées Rome grâce à une mise à jour du BIOS, AMD veut rendre la transition possible aussi facile que possible, tout en tentant de nouveaux utilisateurs dans le giron des hautes performances.

Nous avons le 64C128T Epyc 7763 en tête de la gamme pour examen aujourd’hui sous forme de double processeur, mais avant d’en arriver aux repères, il est instructif de jeter un coup d’œil aux améliorations apportées par AMD à partir de la dernière génération publiée en août 2019.

En partant des détails de haut niveau et en approfondissant au fur et à mesure, disons clairement que les clients ne verront pas le même saut de génération en génération que de la série Epyc 7001 (Naples) à la série Epyc 7002 (Rome).

La raison simple est que le nombre de cœurs et de threads le plus élevé reste inchangé. 64 cœurs et 128 threads continuent d’être à la pointe de la classe pour les puces de serveur x86 à double socket, mais la simple vérité est que le processus 7 nm actuel ne permet pas d’avoir beaucoup plus de cœurs sans que la puissance de la puce n’atteigne des niveaux intenables. Attendez-vous à ce que la prochaine génération implémente un processus de réduction et intègre encore plus de cœurs.

Un examen plus approfondi des deux colonnes de droite révèle de nombreuses similitudes, il est donc plus facile d’expliquer les changements qu’AMD a apportés à cette génération.

Des gains de performances purs sont mis à profit grâce à un processus à deux volets qui cumule les avantages d’une architecture plus récente et meilleure, ainsi que l’avantage des fréquences plus élevées. Cette stratégie rappelle la refonte du bureau de la série Ryzen 5000, ce qui est logique car l’architecture Zen sous-jacente est étroitement alignée sur le processus de fabrication.

Zen 3 fait donc ses débuts tant attendus sur le serveur, et si le bureau est quelque chose à faire, le travail effectué par cycle d’horloge augmente d’environ 20%, mesuré sur un large éventail d’applications. Nous en expliquerons plus juste ci-dessous.

En dehors de cela, les légendes notables incluent une refonte induite par Zen 3 de la structure de mise en cache, conduisant à un accès à faible latence capable d’adapter des ensembles de données de double taille directement dans un L3 unifié, la possibilité d’entrelacer six canaux de mémoire pour des implémentations éclectiques, et plus ensemble de fonctionnalités de sécurité robustes.

Les principales améliorations de Zen 3 incluent un prédicteur de branche plus efficace, capable d’obtenir des instructions dans la machine plus tôt (tampon BTB plus grand) et donc exécuté plus rapidement (meilleure bande passante du prédicteur). AMD affirme disposer désormais d’une technologie permettant d’éliminer les bulles de pipeline qui existent normalement lors de l’alternance entre les instructions d’entrée. Les erreurs de prédiction peuvent également être supprimées plus rapidement, et Zen 3 est capable de charger plus rapidement les instructions régulières et op-cache, ce qui est particulièrement avantageux sur les charges de travail de type serveur.

Sur le plan de l’exécution et par rapport à Zen 2, il y a maintenant une unité de succursale supplémentaire et des sélecteurs de données de magasin. Vous remarquerez que l’unité à virgule flottante peut désormais accueillir une répartition de six largeurs, au lieu de quatre. La décision d’AMD de doubler les canaux et le débit INT8 présente un intérêt particulier pour Epyc, ce qui représente une inférence côté CPU de faible précision plus rapide, couramment utilisée dans l’apprentissage en profondeur et l’IA en général.

AMD se réfère au Zen 3 comme une conception à la base, mais cela ressemble plus à une collection de modifications judicieuses combinées pour offrir un meilleur IPC. L’architecture est plus intelligente, plus efficace et capable d’extraire plus de performances sans augmenter la consommation d’énergie – une solution gagnant-gagnant dans pratiquement toutes les situations. Tout ce qui dépasse une amélioration de 15% de l’IPC est considéré comme raisonnable pour une élévation de génération x86.

En dehors des améliorations IPC pures grâce à des améliorations d’architecture, Milan introduit une option de mémoire à six canaux en plus des 4/8 canaux disponibles sur Rome. Conçue pour répondre à la section des cœurs bas à moyens du marché qui a besoin d’une flexibilité de mémoire supplémentaire et qui souhaite construire des serveurs très spécifiques, ce n’est pas une fonctionnalité qui peut être rétroportée sur Rome de deuxième génération; la puce E / S centrale est matériellement différente pour l’accueillir.

Une autre raison pour laquelle la puce d’E / S est légèrement différente réside dans les mises à niveau du processeur sécurisé, gérant, comme son nom l’indique, la sécurité par cryptographie. Milan propose une fonctionnalité supplémentaire de pagination sécurisée imbriquée (SNP) qui protège la RAM des attaques d’hyperviseur malveillantes telles que le remappage de mémoire et de données.

Leave a Reply