Configurer et optimiser les machines virtuelles
S’applique aux : ✔️ Machines virtuelles Linux ✔️ Machines virtuelles Windows ✔️ Groupes identiques flexibles ✔️ Groupes identiques uniformes
Cet article donne des conseils sur la configuration et l’optimisation des machines virtuelles de la série HB et de la série N avec InfiniBand pour le calcul haute performance.
Images de machine virtuelle
Sur les machines virtuelles prenant en charge InfiniBand (IB), certains pilotes IB sont nécessaires pour activer la fonction RDMA.
- Les images de machine virtuelle Ubuntu-HPC de la Place de marché sont préconfigurées avec les pilotes NVIDIA IB et GPU appropriés.
- Les images de machine virtuelle AlmaLinux-HPC de la Place de marché sont préconfigurées avec les pilotes NVIDIA IB et GPU appropriés.
Ces images de machine virtuelle sont basées sur les images de machine virtuelle Ubuntu et AlmaLinux de base. Les scripts utilisés dans la création de ces images de machine virtuelle à partir de leurs images de la Place de marché de base se trouvent sur le référentiel azhpc-images.
Sur les machines virtuelles de série N avec GPU, les pilotes GPU appropriés sont également nécessaires. Ils peuvent être obtenus avec les méthodes suivantes :
- Utilisez les images de machine virtuelle Ubuntu-HPC ou les images de machine virtuelle AlmaLinux-HPC qui sont préconfigurées avec les pilotes GPU de NVIDIA et la pile logicielle de calcul GPU (CUDA, NCCL).
- Ajoutez les pilotes GPU par le biais des extensions de machine virtuelle.
- Installez les pilotes GPU manuellement.
- Certaines autres images de machine virtuelle sur Place de marché sont également préinstallées avec les pilotes GPU de NVIDIA, y compris certaines images de machine virtuelle de NVIDIA.
En fonction des besoins des charges de travail en matière de distribution et de version Linux, les images de machine virtuelle Ubuntu-HPC et les images de machine virtuelle AlmaLinux-HPC de la Place de marché constituent le moyen le plus simple de prendre en main des charges de travail HPC et IA sur Azure. Il est également recommandé de créer des images de machine virtuelle personnalisées avec une personnalisation et une configuration spécifiques afin de les réutiliser.
Tailles de machines virtuelles prises en charge par les images de machine virtuelle HPC
Prise en charge de InfiniBand OFED
Les images du marketplace HPC Azure les plus récentes sont fournies avec Mellanox OFED 5.1 et versions ultérieures, qui ne prennent pas en charge les cartes InfiniBand ConnectX3-Pro. Les cartes ConnectX-3 Pro InfiniBand nécessitent la version MOFED 4.9 LTS. Ces images de machine virtuelle prennent uniquement en charge les cartes InfiniBand ConnextX-5 et ultérieures. La matrice suivante de prise en charge des tailles de machine virtuelle pour l’OFED InfiniBand dans ces images de machine virtuelle HPC :
Prise en charge de pilote GPU
Actuellement seules les images de machine virtuelle Ubuntu-HPC et les images de machine virtuelle AlmaLinux-HPC sont préconfigurées avec les pilotes GPU de NVIDIA et la pile logicielle de calcul GPU (CUDA, NCCL).
La prise en charge des tailles de machine virtuelle pour les pilotes GPU dans les images de machine virtuelle HPC prises en charge est la suivante :
- Série N : les tailles de machine virtuelle NDv2 et NDv4 sont prises en charge avec les pilotes GPU NVIDIA et la pile de logiciels de calcul GPU (CUDA, NCCL).
- Les autres tailles de machine virtuelle « NC » et « ND » de la série N sont prises en charge avec les pilotes GPU NVIDIA.
Toutes les tailles de machine virtuelle de la série N prennent en charge les machines virtuelles Gen 2, bien que certaines plus anciennes prennent également en charge les machines virtuelles Gen 1. La prise en charge de la version Gen 2 est également indiquée par « 01 » à la fin de l’URN ou de la version de l’image.
Machines virtuelles compatibles SR-IOV
Images de machine virtuelle Ubuntu-HPC
Pour les machines virtuelles compatibles RDMA avec SR-IOV, les images de machine virtuelle Ubuntu-HPC aux versions 18.04, 20.04 et 22.04 conviennent. Ces images de machine virtuelle sont préconfigurées avec les pilotes Mellanox OFED pour RDMA, les pilotes GPU de NVIDIA, la pile logicielle de calcul GPU (CUDA, NCCL) et des bibliothèques MPI et les différents packages de calcul scientifique couramment utilisés. Consultez le tableau de prise en charge des tailles de machine virtuelle.
Les versions disponibles ou les plus récentes des images de machine virtuelle peuvent être répertoriées avec les informations suivantes à l’aide de CLI ou de Place de marché.
"publisher": "Microsoft-DSVM", "offer": "Ubuntu-HPC",
Les scripts utilisés lors de la création d’images de machine virtuelle Ubuntu-HPC à partir d’une image Ubuntu de base de Place de marché se trouvent sur le référentiel azhpc-images.
Images de machine virtuelle AlmaLinux-HPC
Pour les machines virtuelles compatibles RDMA avec SR-IOV, des images de machine virtuelle AlmaLinux-HPC aux versions 8.5, 8.6 et 8.7 conviennent. Ces images de machine virtuelle sont préconfigurées avec les pilotes Mellanox OFED pour RDMA, les pilotes GPU de NVIDIA, la pile logicielle de calcul GPU (CUDA, NCCL) et des bibliothèques MPI et les différents packages de calcul scientifique couramment utilisés. Consultez le tableau de prise en charge des tailles de machine virtuelle.
Les versions disponibles ou les plus récentes des images de machine virtuelle peuvent être répertoriées avec les informations suivantes à l’aide de CLI ou de Place de marché.
"publisher": "AlmaLinux", "offer": "AlmaLinux-HPC",
Les scripts utilisés lors de la création d’images de machine virtuelle AlmaLinux-HPC à partir d’une image AlmaLinux de base de la Place de marché se trouvent sur le référentiel azhpc-images.
Pour plus d’informations sur les éléments inclus dans les images de machine virtuelle Ubuntu-HPC et les images de machine virtuelle AlmaLinux-HPC et sur la façon de les déployer, consultez l’article sur les images de machine virtuelle Azure HPC.
Images de machine virtuelle RHEL
Les images de base de machine virtuelle non HPC basées sur RHEL sur la Place de marché peuvent être configurées pour une utilisation sur les machines virtuelles compatibles RDMA avec SR-IOV. En savoir plus sur l’activation d’InfiniBand et la configuration des MPI sur les machines virtuelles.
Images de machine virtuelle Ubuntu
Les images de base de machine virtuelle Ubuntu Server 20.04 LTS et 22.04 LTS dans la Place de marché sont prises en charge par les machines virtuelles compatibles RDMA avec et sans SR-IOV. En savoir plus sur l’activation d’InfiniBand et la configuration dee MPI sur les machines virtuelles.
- Les instructions pour activer InfiniBand sur des images de machine virtuelle Ubuntu se trouvent dans cet article TechCommunity.
Remarque
Mellanox OFED 5.1 et versions ultérieures ne prennent pas en charge les cartes InfiniBand ConnectX3-Pro sur les machines virtuelles de série N compatibles SR-IOV avec FDR InfiniBand (p. ex. NCv3). Utilisez la version LTS de Mellanox OFED 4.9-0.1.7.0 ou une version ultérieure sur les machines virtuelles de la série N avec des cartes ConnectX3-Pro. Pour plus d’informations, consultez Pilotes InfiniBand Linux.
Images de machine virtuelle SUSE Linux Enterprise Server
Les images de machine virtuelle SLES 12 SP3 pour HPC, SLES 12 SP3 pour HPC (Premium), SLES 12 SP1 pour HPC, SLES 12 SP1 pour HPC (Premium), SLES 12 SP4 et SLES 15 dans la place de marché sont pris en charge. Ces images de machine virtuelle sont préchargées avec les pilotes Network Direct pour RDMA (sur les tailles de machine virtuelle sans SR-IOV) et Intel MPI version 5.1. En savoir plus sur la configuration des MPI sur les machines virtuelles.
Optimiser les machines virtuelles
Voici quelques paramètres d’optimisation facultatifs pour améliorer les performances de la machine virtuelle.
Mettre à jour LIS
Si nécessaire pour des fonctionnalités ou des performances, les pilotes Solaris Integration Services (LIS) peuvent être installés ou mis à jour sur des distributions de système d’exploitation pris en charge, en particulier le déploiement à l’aide d’une image personnalisée ou d’une version de système d’exploitation plus ancienne telle que RHEL 6.x ou une version antérieure de 7.x.
wget https://aka.ms/lis
tar xzf lis
pushd LISISO
sudo ./upgrade.sh
Libérer de la mémoire
Améliorez l’efficacité en libérant automatiquement de la mémoire pour éviter tout accès à distance à la mémoire.
sudo echo 1 >/proc/sys/vm/zone_reclaim_mode
Gardez le mode de récupération de la mémoire persistant après le redémarrage de la machine virtuelle :
sudo echo "vm.zone_reclaim_mode = 1" >> /etc/sysctl.conf sysctl -p
Désactiver le pare-feu et SELinux
sudo systemctl stop iptables.service
sudo systemctl disable iptables.service
sudo systemctl mask firewalld
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service
sudo iptables -nL
sudo sed -i -e's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
Désactiver cpupower
sudo service cpupower status
Si cette option est activée, désactivez-la :
sudo service cpupower stop
sudo systemctl disable cpupower
Configurer WALinuxAgent
sudo sed -i -e 's/# OS.EnableRDMA=y/OS.EnableRDMA=y/g' /etc/waagent.conf
WALinuxAgent peut éventuellement être désactivé avant d’exécuter une tâche, puis activé après la tâche pour une disponibilité de ressource de machine virtuelle maximale pour la charge de travail HPC.
Étapes suivantes
- En savoir plus sur l’activation de InfiniBand sur les machines virtuelles compatibles avec InfiniBand desérie HB et de série N.
- Découvrez-en davantage sur l’installation et l’exécution des différentes bibliothèques MPI prises en charge sur les machines virtuelles.
- Consultez la Présentation de la série HBv3 et la Présentation de la série HC.
- Consultez les dernières annonces, des exemples de charge de travail HPC et les résultats des performances sur les blogs de la communauté Azure Compute Tech.
- Pour une vision plus globale de l’architecture d’exécution des charges de travail HPC, consultez Calcul haute performance (HPC) sur Azure.