Passer au contenu principal
  • Passer des commandes rapidement et facilement
  • Afficher les commandes et suivre l’état de votre expédition
  • Créez et accédez à une liste de vos produits
  • Gérer vos sites, vos produits et vos contacts au niveau des produits Dell EMC à l’aide de la rubrique Gestion des informations de l’entreprise.

AMD Rome – une réalité ? Architecture et performances initiales du HPC

Résumé: Dans le monde de l’HPC aujourd’hui, une présentation du code de processeur EPYC de la dernière génération de AMD, nommé Rome.

Cet article a peut-être été traduit automatiquement. Si vous avez des commentaires concernant sa qualité, veuillez nous en informer en utilisant le formulaire au bas de cette page.

Contenu de l’article


Symptômes

Garima Kochhar, Deepthi Cherlopalle, Joshua Weage. Exercices pratiques sur l’innovation HPC et Aï, octobre 2019

Cause

 

Résolution


Dans le monde de l’HPC aujourd’hui, le code de processeur EPYC de la dernière génération de AMD, SLN319015_en_US__1iC_External_Link_BD_v1 nommé Rome peu a besoin d’une présentation. Nous avons fait l’évaluation des systèmes basés sur Rome dans les exercices pratiques d’innovation HPC et ai de ces derniers mois et Dell technologies récemment annoncéspour les SLN319015_en_US__1iC_External_Link_BD_v1serveurs qui prennent en charge cette architecture de processeur. Ce premier blog de la série Rome discutera de l’architecture du processeur de Rome, de la façon dont cela peut être optimisé pour HPC performances et présenter les performances de micro-Benchmark initiales. Les blogs suivants décrivent les performances des applications dans les domaines des CFD, de l’IAO, de la dynamique moléculaire, de la simulation de la météo et d’autres applications.


 

Architecture

 

Rome est le processeur EPYC de 2e génération de l’AMD, qui actualise les Naples à,de première génération. Nous avons abordé Naples à, dans ce blog l’année dernière.

L’une des principales différences architecturales entre Naples à, et Rome qui profite HPC est la nouvelle filière d’e/s à Rome. En Rome, chaque processeur est un paquet de puces composé d’un maximum de 9 chiplets , comme illustré à la figure 1. Il existe un ensemble d’e/s 14Nm central qui contient toutes les fonctions d’e/s et de mémoire : pensez aux contrôleurs de mémoire, aux liens de fabric Infinity dans le socket et la connectivité entre Sockets, et PCI-e. Il existe huit contrôleurs de mémoire par socket prenant en charge huit canaux de mémoire exécutant DDR4 à 3200 MT/s. Un serveur à socket unique peut prendre en charge jusqu’à 130 PCIe voies Gen4. Un système à double socket peut prendre en charge jusqu’à 160 PCIe voies Gen4.

SLN319015_en_US__3Fig1-Rome (2)

(Figure 1 paquet à plusieurs puces de Rome avec une puce d’e/s centrale et jusqu’à huit puces de processeur)

L’entourement de la matrice d’e/s centrale peut atteindre huit 7Nm Core chiplets. Le Core chiplet est appelé matrice de cache Core ou CCD. Chaque capteur CCD possède des cœurs de CPU basés sur la micro-architecture Zen2, le cache L2 et 32 Mo de mémoire cache L3. Le CCD lui-même possède deux cœurs de cache de base (CCX), SLN319015_en_US__1iC_External_Link_BD_v1 chaque CCX comporte jusqu’à quatre cœurs et 16 Mo de mémoire cache L3. Figure. 2 présente une configuration CCX.

SLN319015_en_US__5Fig2-Rome (2)

(Figure. 2 A CCX avec quatre cœurs et une mémoire cache L3 partagée de 16 Mo)

Les différents modèles de CPU RomeSLN319015_en_US__1iC_External_Link_BD_v1 ont un nombre différent de cœurs,SLN319015_en_US__1iC_External_Link_BD_v1 mais ils sont tous dotés d’un seul dé IO central.

En haut de gamme se trouve un modèle de CPU Core 64, par exemple, EPYC 7702. la sortie lstopo indique que ce processeur dispose de 16 CCXs par socket, chaque CCX dispose de quatre cœurs, comme illustré à la figure. 3 & 4, ce qui génère des cœurs de 64 par socket. 16 Mo de N3 par CCX, c’est-à-dire 32 Mo L3 par CCD donne à ce processeur un total de 256 Mo de mémoire cache L3. Notez toutefois que la mémoire cache L3 totale dans Rome n’est pas partagée par tous les cœurs. Le cache N3 de 16 Mo dans chaque CCX est indépendant et est partagé uniquement par les cœurs du CCX, comme illustré à la figure. 2.

Un processeur de 24 cœurs comme le EPYC 7402 a 128 Mo de mémoire cache L3. lstopo résultat dans la figure. 3 & 4 illustre que ce modèle possède trois cœurs par CCX et 8 CCX par socket.

SLN319015_en_US__8Fig31-Rome (2)

SLN319015_en_US__9Fig32-Rome (2)

(Figure. 3 & la sortie lstopo 4 pour les processeurs 64-Core et 24 cœurs)

Quel que soit le nombre de capteurs CCD, chaque processeur de Rome est divisé de façon logique en quatre quadrants , les capteurs étant répartis de manière uniforme sur les quadrants, et deux canaux de mémoire dans chaque quadrant. La puce d’e/s centrale peut être considérée comme une prise en charge logique des quatre quadrants du support.


Retour au début

 

 

Options du BIOS en fonction de l’architecture de Rome

 

La filière d’e/s centrale en Rome permet d’améliorer les temps de latence de la mémoireSLN319015_en_US__1iC_External_Link_BD_v1 sur ceux mesurés dans Naples à,. En outre, elle permet de configurer l’UC en tant que domaine NUMA unique qui permet un accès à la mémoire uniforme pour tous les cœurs du Socket. Cela est expliqué ci-dessous.

Les quatre quadrants logiques d’un processeur de Rome permettent de partitionner l’UC en différents domaines NUMA. Ce paramètre est appelé NUMA par socket ou NPS.

  • NPS1 implique que le CPU Rome est un seul domaine NUMA, avec tous les cœurs du socket et l’ensemble de la mémoire dans ce domaine NUMA. La mémoire est entrelacée sur les huit canaux de mémoire. Tous les périphériques PCIe sur le socket appartiennent à ce domaine NUMA unique.
  • NPS2 partitionne l’UC en deux domaines NUMA, avec la moitié des cœurs et la moitié des canaux de mémoire sur le socket dans chaque domaine NUMA. La mémoire est entrelacée sur les quatre canaux de mémoire de chaque domaine NUMA.
  • NPS4 partitionne l’UC en quatre domaines NUMA. Chaque quadrant est un domaine NUMA, et la mémoire est entrelacée sur les deux canaux de mémoire de chaque quadrant. PCIe périphériques seront locaux à l’un des quatre domaines NUMA sur le socket, selon le quadrant du processeur d’e/s ayant la racine de l’PCIe pour ce périphérique.
  • Tous les processeurs ne peuvent pas prendre en charge tous les paramètres NPS

Dans la mesure du possible, NPS4 est recommandé pour HPC étant donné qu’il est prévu de fournir la bande passante mémoire la plus basse, les latences de mémoire les plus basses, et nos applications ont tendance à être compatibles avec NUMA. Dans le cas où NPS4 n’est pas disponible, nous recommandons la plus haute NPS prise en charge par le modèle de CPU-NPS2 ou même NPS1.

Étant donné que la multitude d’options NUMA sont disponibles sur les plates-formes de type Rome, le BIOS PowerEdge permet d’accéder à deux méthodes d’énumération Core différentes sous l' énumération MADT. L’énumération linéaire numérote les cœurs dans l’ordre, en remplissant un connecteur CCX, CCD, avant de passer au socket suivant. Sur un processeur 32C, les cœurs 0 à 31 se trouvent sur le premier Socket, cores 32-63 sur le deuxième Socket. L’énumération Round Robin numérote les cœurs sur les différentes régions NUMA. Dans ce cas, même les cœurs numérotés se trouvent sur le premier Socket, les cœurs à numérotation impairs sur le second support. Pour des raisons de simplicité, nous vous recommandons d’utiliser l’énumération linéaire pour HPC. Reportez-vous à la figure. 5 pour obtenir un exemple de l’énumération de base linéaire sur un serveur 64c à deux sockets configuré dans NPS4. Dans la figure, chaque boîte de quatre cœurs est une CCX, chaque ensemble de huit cœurs contigus est un capteur CCD.

SLN319015_en_US__11Fig4-Rome (2)

(Figure 5 : énumération de Core linéaire sur un système à double socket, 64c par socket, configuration NPS4 sur un modèle de CPU 8 CCD)

Une autre option de BIOS spécifique à Rome est appelée périphérique d’e/s préféré. C’est un bouton de réglage important pour la bande passante et le débit de messages InfiniBand. Cela permet à la plate-forme de hiérarchiser le trafic d’un périphérique d’e/s. Cette option est disponible sur un socket, ainsi que sur les plates-formes à Rome à deux sockets, et le périphérique InfiniBand dans la plate-forme doit être sélectionné comme périphérique préféré dans le menu BIOS pour obtenir le taux de messages complets lorsque tous les cœurs de CPU sont actifs.

Semblable à Naples à,, Rome prend également en charge la technologie Hyper-Threading ou le processeur logique. Pour HPC, nous laissons cette option désactivée, mais certaines applications peuvent bénéficier de l’activation du processeur logique. Recherchez nos prochains Blogs sur les études de l’application de Dynamics moléculaire.

Semblable à Naples à,, Rome permet également de CCX en tant que domaine NUMA. Cette option expose chaque CCX en tant que nœud NUMA. Sur un système doté de processeurs Dual-Sockets dotés de 16 CCXs par UC, ce paramètre affiche les domaines NUMA 32. Dans cet exemple, chaque socket dispose de 8 capteurs CCD, soit 16 CCX. Chaque CCX peut être activé comme son propre domaine NUMA, ce qui donne 16 nœuds NUMA par socket et 32 dans un système à deux sockets. Pour HPC, nous vous recommandons de laisser CCX en tant que domaine NUMA à l’option par défaut de désactivé. L’activation de cette option est prévue pour aider les environnements virtualisés.

Semblable à Naples à,, Rome permet de définir le système en mode de déterminisme des performances ou de déterminisme de l’alimentation. Dans le déterminisme des performances, le système fonctionne à la fréquence attendue du modèle de CPU, ce qui réduit les variables sur plusieurs serveurs. Dans le déterminismede l’alimentation, le système fonctionne au maximum de TDP disponibles du modèle de l’UC. Cela amplifie une partie de la variation de la procédure de fabrication, permettant ainsi à certains serveurs d’être plus rapides que d’autres. Tous les serveurs peuvent consommer la puissance maximale nominale du CPU, ce qui rend la consommation d’énergie déterministe, mais permet une variation des performances sur plusieurs serveurs.

Comme vous le feriez pour PowerEdge plates-formes, le BIOS possède une option méta appelée Profil du système. Sélectionnez le profil de système Performance Optimized (performances optimisées ) pour activer le mode Turbo Boost, désactiver les États C et définir le curseur de déterminisme sur le déterminisme de l’alimentation, ce qui optimise les performances.


Retour au début

 

 

Résultats des performances : flux, HPL, microbenchmarks InfiniBand

 

Bon nombre de nos lecteurs se sont dépassés directement dans cette section. par conséquent, nous allons étudier avec préfixe.

Dans le laboratoire de l’innovation HPC et Aï, nous avons conçu un cluster basé sur le serveur 64 qui appelle Minerva. En plus du cluster Minerva homogène, nous avons quelques autres exemples d’UC Rome que nous avons pu évaluer. Nos Testbed sont décrits dans le tableau. 1 et le tableau. 2.

(Tableau : modèles de CPU Rome évalués dans cette étude)

Processeur Cœurs par socket Config Horloge de base TDP
7702 64c 4c par CCX 2,0 GHz 200W
7502 32c 4c par CCX 2,5 GHz 180W
7452 32c 4c par CCX 2,35 GHz 155W
7402 24c 3C par CCX 2,8 GHz 180W

(Tableau. 2 Testbed)

Composant Détails
Serveur PowerEdge C6525
Processeur Comme indiqué dans le tableau 1 double socket
Mémoire 256 Go, 16x16GB 3200 MT/s DDR4
Interconnexion ConnectX-6 Mellanox HDR100 Infinite intrabande
Système d’exploitation Red Hat Enterprise Linux 7,6
Noyau 3.10.0.957.27.2.e17.x86_64
Sur 240 Go SATA module SSD M. 2


Retour au début

 

 

OBJET

 

Les tests de bande passante de mémoire sur Rome sont présentés dans la figure. 6 ces tests ont été exécutés en mode NPS4. Nous avons mesuré une bande passante de mémoire de 270-300 Gbit/s sur notre PowerEdge double socket lors de l’utilisation de tous les cœurs du serveur sur les quatre modèles de CPU répertoriés dans le tableau. 1. Lorsqu’un seul cœur est utilisé par CCX, la bande passante de la mémoire système est de ~ 9-17% plus élevée que celle mesurée avec tous les cœurs.

La plupart des charges applicatives HPC s’inscrivent intégralement sur tous les cœurs du système, ou les HPC Centers s’exécutent en mode de débit élevé avec plusieurs tâches sur chaque serveur. Par conséquent, la bande passante de mémoire intégrale est la représentation la plus précise de la bande passante de mémoire et des capacités de bande passante de mémoire par cœur du système.

Figure. 6 permet également de tracer la bande passante de la mémoire mesurée sur la EPYC Naples à, de génération précédente, qui prenait également en charge huit canaux de mémoire par socket, mais fonctionnant à 2667 MT/s. La plate-forme Rome fournit entre 5% et 19% la bande passante de mémoire totale que Naples à,, et cela est essentiellement dû à la plus rapide 3200 MT/s. Même avec 64c par socket, le système de Rome peut fournir des systèmes à partir de 2 Go/s/Core.

SLN319015_en_US__12icon Remarque : Une variation de performances de 5-10% dans les résultats des triples de flux a été mesurée sur plusieurs serveurs de la même manière que ceux de la même manière, les résultats ci-dessous doivent, par conséquent, être considérés comme étant la partie supérieure de la plage.
 

La comparaison de la configuration NPS différente, ~ 13% de la bande passante de mémoire plus élevée a été mesurée avec NPS4 par rapport à NPS1, comme illustré à la figure 7.

SLN319015_en_US__13Fig5-Rome (2)

(Figure. 6 flux de bande de mémoire triple canal NPS4 à deux Sockets)

SLN319015_en_US__14Fig6-Rome (2)

(Figure 7 NPS1 vs NPS2 par rapport à la bande passante de la mémoire NPS 4)


Retour au début

 

 

Bande passante et débit de messages InfiniBand

 

Figure. 8 trace la bande passante InfiniBand monocœur pour les tests unidirectionnel et bidirectionnel. Le Testbed utilisé HDR100 qui s’exécute à 100 Gbps, et le graphique indique les performances du taux de ligne attendu pour ces tests.

SLN319015_en_US__15fig6-IBBW (2)

Figure. 8 bande passante InfiniBand (simple cœur))

SLN319015_en_US__16fig7-MR (2)

Figure 9 taux de messages InfiniBand (tous les cœurs))

Les tests du taux de messages ont été effectués à l’aide de tous les cœurs d’un socket dans les deux serveurs en cours de test. Lorsque les e/s préférées sont activées dans le BIOS et que l’adaptateur HDR100 ConnectX-6 est configuré en tant que périphérique préféré, le taux de messages de tout le cœur est beaucoup plus élevé que lorsque les e/s préférées ne sont pas activées, comme indiqué dans la figure. 9. Cela illustre l’importance de cette option du BIOS lors du réglage des HPC et en particulier pour l’évolutivité des applications à plusieurs nœuds.


Retour au début

 

 

HPL

 

La micro-architecture de Rome peut mettre en retrait une fluidité ou un cycle de 16 DP, double que celui d’Naples à,, qui était de 8 BASCULEments/cycle. Cela donne à Rome 4x les pics de crête théoriques théoriques sur Naples à,, 2x à partir de la capacité de virgule flottante améliorée, et deux fois le nombre de cœurs (64c et 32C). Figure. 10 trace les résultats des HPL mesurés pour les quatre modèles de CPU de Rome que nous avons testés, ainsi que les résultats précédents d’un système Naples à,. L’efficacité du HPL Rome est notée sous la forme d’une valeur en pourcentage au-dessus des barres du graphique et est plus élevée pour les modèles de CPU TDP inférieurs.

Les tests ont été exécutés en mode de déterminisme de l’alimentation, et un delta de ~ 5% des performances a été mesuré sur des serveurs 64 configurés de manière identique, les résultats ici sont donc dans cette bande de performances.

SLN319015_en_US__17Fig9-Rome (2)

(Figure. 10 HPL à un seul serveur dans NPS4)

Les tests HPL à plusieurs nœuds suivants ont été exécutés et ces résultats sont tracés dans la figure. 11. L’efficacité de HPL pour EPYC 7452 reste au-dessus de 90% à une échelle de 64 nœuds, mais les lenteurs d’efficacité de 102% jusqu’à 97% et de sauvegarde vers 99% ont besoin d’une évaluation supplémentaire

SLN319015_en_US__18Fig10-Rome (2)

(Figure. 11 HPL à plusieurs nœuds, EPYC 7452 double socket sur HDR100 InfiniBand)


Retour au début

 

 

Récapitulatif et nouveautés suivantes

 

Les études de performances initiales sur des serveurs de type Rome montrent les performances attendues pour notre premier ensemble de HPC benchmarks. Le réglage du BIOS est important lors de la configuration pour des performances optimales, et des options de réglage sont disponibles dans notre BIOS HPC profil de charge de travail qui peut être configuré en usine ou défini à l’aide des utilitaires de gestion des systèmes Dell EMC.

Le laboratoire d’Innovation HPC et Aï dispose d’un nouveau Minervade cluster PowerEdge basé sur le serveur 64. Regardez cet espace pour les blogs suivants qui décrivent les études de performances des applications sur notre nouveau cluster Minerva.


Retour au début

 

Propriétés de l’article


Dernière date de publication

06 mai 2021

Version

5

Type d’article

Solution