Résumé
Récemment, Dell EMC PowerEdge C4140 a ajouté une nouvelle solution, la « Configuration M ». Dans le cadre de l’arrivée de cette nouvelle option dans la gamme C4140, cet article présente les résultats de l’étude relative à l’évaluation des performances de la Configuration M par rapport à la Configuration K pour différentes applications HPC, notamment HPL, GROMACS et NAMD.
Présentation
Le PowerEdge C4140 est un serveur au format rack 1U à 2 sockets. Il prend en charge des processeurs Intel Skylake et compte jusqu’à 24 emplacements DIMM et quatre cartes graphiques NVIDIA Volta double largeur. Au sein de la gamme de serveurs C4140, les deux configurations qui prennent en charge NVLINK sont la Configuration K et la Configuration M. La comparaison des deux topologies est illustrée à la Figure 1. Les deux principales différences entre ces deux configurations sont décrites ci-dessous :
p2pBandwidthLatencyTest
Figure 2 : Latence de carte à carte avec P2P désactivé n C4140 Configurations K et M
Le p2pBandwidthLatencyTest est un mini-test inclus dans le SDK CUDA. Il mesure la latence et la bande passante carte à carte avec et sans l’activation Peer-to-Peer de GPUDirect™. Ce test se concentre surtout sur la latence, car ce programme ne mesure pas simultanément la bande passante. La discussion sur la bande passante réelle disponible pour les applications se trouve dans la session HPL ci-dessous. Les chiffres présentés à la Figure 2 correspondent à la moyenne de 100 fois le temps de latence unidirectionnelle de carte à carte en microsecondes. Chaque fois que le code envoie un octet d’une carte à une autre, le chiffre P2P désactivé est prélevé dans ce graphique, et selon si P2P est activé, les données sont transférées via NVLINK à la place. La latence PCIe dans le cadre de la Configuration M est de 1,368 us inférieure à celle de la Configuration K en raison des différentes topologies PCIe.
High Performance Linpack (HPL)
La Figure 3 (a) illustre les performances HPL obtenues sur la plateforme C4140 avec 1, 2, 4 et 8 processeurs graphiques V100-SXM2. Les résultats pour les quantités de processeurs graphiques allant de 1 à 4 proviennent d’un seul C4140, les performances pour les 8 processeurs graphiques sont observées sur deux serveurs. Dans ce test, la version de HPL utilisée est fournie par NVIDIA et est compilée avec les dernières versions de CUDA 10 et OpenMPI. Les aspects suivants peuvent être observés à partir des résultats HPL :
1) Nœud unique. Le test portant sur les 4 processeurs graphiques montre que la Configuration M est ~16 % plus rapide que la Configuration K. Avant le démarrage de l’application HPL, le test mesure la bande passante PCIe disponible de l’appareil à l’hôte (D2H) et de l’hôte à l’appareil (H2D) et ce, pour chaque carte graphique, lorsque ces dernières transfèrent des données simultanément. Cette information fournit un aperçu utile de la bande passante PCIe réelle pour chaque carte lorsque HPL copie la matrice N*N sur la mémoire de tous les processeurs graphiques en même temps. Comme illustré à la Figure 3 (b), les chiffres D2H et H2D de la Configuration M sont bien plus élevés et atteignent le débit théorique de 16 PCIe. Cela correspond à sa topologie matérielle, car chaque processeur graphique dans le cadre de la Configuration M dispose d’une liaison 16 PCIe dédiée au processeur. Dans le cadre de la Configuration K, les quatre V100s doivent partager une seule liaison 16 PCIe via le commutateur PCIe PLX. Chacun ne dispose donc que de 2,5 Gbit/s. En raison de la différence de bande passante, la Configuration M met 1,33 seconde à copier les 4 éléments de matrice N*N 16 Go vers la mémoire globale de chaque processeur graphique tandis que la Configuration K met 5,33 secondes. L’ensemble de l’application HPL s’exécute en environ 23 à 25 secondes. Étant donné que tous les V100-SXM2 sont identiques, le temps de traitement est le même et les 4 secondes ainsi économisées lors de la copie de données permettent d’améliorer la vitesse de la Configuration M de 16 %.
2) Nœuds multiples. Les résultats pour 2 nœuds C4140 avec 8 processeurs graphiques montrent une amélioration de 15 %+ de HPL sur deux nœuds. Cela signifie que la Configuration M possède une meilleure évolutivité entre les nœuds que la Configuration K, pour la même raison que les 4 cartes à nœud unique du cas ci-dessus.
3) Efficacité. La consommation électrique a été mesurée avec iDrac, la Figure 3 (c) indique la puissance en séries chronologiques. Le système atteint environ 1850 W en fonctionnement optimal. En raison du chiffre GFLOPS plus élevé, la Configuration M offre de meilleures performances en matière de nombre de Watt et une meilleure efficacité HPL.
HPL est un test de niveau du système dont les résultats sont déterminés par des composants tels que le processeur, le processeur graphique, la mémoire et la bande passante PCIe. La Configuration M présente une conception équilibrée sur les deux processeurs ; par conséquent, elle est plus performante que la Configuration K dans ce test HPL.
GROMACS
GROMACS est une application de dynamique moléculaire open source conçue pour simuler des molécules biochimiques possédant un grand nombre d’interactions liées complexes, telles que les protéines, les lipides et les acides nucléiques. La version 2018.3 est testée sur le jeu de données aquatique 3072 qui compte 3 millions d’atomes.
Figure 4 : Performances de GROMACS avec plusieurs V100 sur C4140 Configurations K et M
La Figure 4 illustre l’amélioration des performances dans le cadre de la Configuration M par rapport à la Configuration K. Les performances d’une seule carte sont les mêmes pour les deux configurations, car il n’existe aucune différence sur le chemin d’accès des données. Avec 2 et 4 processeurs graphiques, la Configuration M se montre ~5 % plus rapide que la Configuration K. Lorsque le test porte sur 2 nœuds, la Configuration M présente des performances jusqu’à 10 % meilleures. La raison principale de cette amélioration réside dans le nombre élevé de connexions PCIe qui fournissent davantage de bande passante et permettent à davantage de données d’alimenter rapidement les processeurs graphiques. Les processeurs graphiques accélèrent considérablement GROMACS, mais cette application utilise à la fois des processeurs et des processeurs graphiques pour le calcul en parallèle. Par conséquent, si GROMACS est l’application principale au sein d’un cluster, il est recommandé d’utiliser un processeur puissant. Ce graphique présente également la mise à l’échelle des performances de GROMACS avec davantage de serveurs et de processeurs graphiques. Bien que les performances de l’application augmentent avec le nombre de processeurs graphiques et de serveurs, l’augmentation des performances avec des processeurs graphiques supplémentaires est moins que linéaire.
NAnoscale Molecular Dynamics (NAMD)
NAMD est un code de dynamique moléculaire conçu pour la simulation de systèmes biomoléculaires volumineux hautes performances. Le binaire pré-généré n’a pas été utilisé au cours de ces tests. Nous avons choisi d’utiliser plutôt le code source le plus récent (NAMD_Git-2018-10-31_Source) sur CUDA 10. La Figure 4 retrace les performances obtenues à l’aide du jeu de données STMV (1 066 628 atomes, périodiques, PME). Des tests réalisés sur des jeux de données plus petits, tels que f1atpase (327 506 atomes, périodique, PME) et apoa1 (92 224 atomes, périodique, PME), ont généré des comparaisons similaires entre la Configuration M et la Configuration K. Elles ne sont pas présentées ici à des fins de concision.
Figure 5 : Les performances de NAMD avec plusieurs V100s sur C4140 Configurations K et M
Comme pour GROMACS, 4 fois plus de bande passante PCIe améliore les performances de NAMD. La Figure 5 montre que les performances de la Configuration M avec 2 et 4 cartes sont respectivement de 16 % et 30 % supérieures à celles de la Configuration K, sur le jeu de données STMV. Les performances avec une seule carte devraient être identiques. En effet, lorsque le test porte sur un seul processeur graphique, la bande passante PCIe est identique.
Conclusions et travaux futurs
Dans cet article, les performances des applications HPC avec HPL, GROMACS et NAMD ont été comparées dans le cadre de deux configurations NVLINK différentes du PowerEdge C4140. HPL, GROMACS et NAMD obtiennent des performances ~10 % meilleures dans le cadre de la Configuration M par rapport à la Configuration K. Pour l’ensemble des tests, la Configuration M offre au minimum les mêmes performances que la Configuration K, puisqu’elle possède toutes les fonctionnalités intéressantes de la Configuration K, mais aussi des liaisons PCIe supplémentaires et aucun commutateur PCIe. D’autres tests sont d’ores et déjà prévus avec davantage d’applications, notamment RELION, HOOMD et AMBER, ainsi que des tests utilisant le processeur graphique V100 32G.