Partager via


Vue d’ensemble des machines virtuelles de la série HBv2

S’applique à : ✔️ Machines virtuelles Linux ✔️ Machines virtuelles Windows ✔️ Groupes identiques flexibles ✔️ Groupes identiques uniformes.

L’optimisation des performances des applications de calcul haute performance (HPC)sur AMD EPYC nécessite une approche bien pensée de l’emplacement de la mémoire et du placement du processus. Nous décrivons ci-dessous l’architecture AMD EPYC et son implémentation sur Azure pour les applications HPC. Nous utilisons le terme pNUMA pour faire référence à un domaine NUMA physique et vNUMA pour faire référence à un domaine NUMA virtualisé.

Physiquement, un serveur de la série HBv2 a 2 processeurs EPYC 7V12 de 64 cœurs, soit un total de 128 cœurs physiques. Le multithreading simultané (SMT) est désactivé sur HBv2. Ces 128 cœurs sont divisés en 16 sections (8 par socket), chaque section contenant 8 cœurs de processeur. Les serveurs Azure HBv2 Azure exécutent également les paramètres du BIOS AMD suivants :

Nodes per Socket (NPS) = 2
L3 as NUMA = Disabled
NUMA domains within VM OS = 4
C-states = Enabled

Par conséquent, le serveur démarre avec 4 domaines NUMA (2 par socket). Chaque domaine a une taille de 32 cœurs. Chaque NUMA a un accès direct à 4 canaux de DRAM physique fonctionnant à 3 200 MT/s.

Pour permettre à l’hyperviseur Azure de fonctionner sans interférer avec la machine virtuelle, nous réservons 8 cœurs physiques par serveur.

Topologie des machines virtuelles

Nous réservons ces 8 cœurs d’hôte hyperviseur de manière symétrique sur les deux sockets d’UC, en prenant les 2 premiers cœurs des CCD (Core Complex Dies) spécifiques sur chaque domaine NUMA, avec les cœurs restants pour la machine virtuelle de série HBv2. La limite CCD n’est pas équivalente à une limite NUMA. Sur HBv2, un groupe de quatre (4) CCD consécutifs est configuré en tant que domaine NUMA, à la fois au niveau du serveur hôte et au sein d’une machine virtuelle invitée. Ainsi, toutes les tailles de machine virtuelle HBv2 exposent 4 domaines NUMA qui s’affichent à un système d’exploitation et à une application. Il s’agit de 4 domaines NUMA uniformes, chacun avec un nombre différent de cœurs selon la taille de machine virtuelle HBv2 spécifique.

L’épinglage de processus fonctionne sur des machines virtuelles de série HBv2, car nous exposons le silicium sous-jacent tel quel à la machine virtuelle invitée. Nous recommandons vivement l’épinglage de processus (process pinning) à des fins de performances optimales.

Spécifications matérielles

Spécifications matérielles Machine virtuelle de série HBv2
Cœurs 120 (SMT désactivé)
UC AMD EPYC 7V12
Fréquence de l’UC (non AVX) Environ 3,1 GHz (simple + tous les cœurs)
Mémoire 4 Go/cœur (480 Go au total)
Disque local Disque de 960 Gio NVMe (bloc), disque SSD de 480 Go (fichier d’échange)
Infiniband HDR Mellanox ConnectX-6 de 200 Gbits
Réseau Ethernet 50 Gbits (40 Gbits utilisables) SmartNIC Azure 2ème gén.

Spécifications logicielles

Spécifications logicielles Machine virtuelle de série HBv2
Taille de travail MPI max 36 000 cœurs (300 machines virtuelles dans un seul groupe de machines virtuelles identiques avec singlePlacementGroup=true)
Prise en charge MPI HPC-X, Intel MPI, OpenMPI, MVAPICH2, MPICH, Platform MPI
Frameworks supplémentaires UCX, libfabric, PGAS
Prise en charge de Stockage Azure Disques Standard et Premium (maximum 8 disques)
Prise en charge du système d’exploitation pour SRIOV RDMA RHEL 7.9+, Ubuntu 18.04+, SLES 12 SP5+, WinServer 2016+
Prise en charge d’Orchestrator CycleCloud, Batch, AKS ; options de configuration de cluster

Notes

Windows Server 2012 R2 n’est pas pris en charge sur les HBv2 et autres machines virtuelles ayant plus de 64 cœurs (virtuels ou physiques). Pour plus d’informations, consultez Systèmes d’exploitation invités Windows pris en charge pour Hyper-V sur Windows Server.

Étapes suivantes