Configurer et optimiser les machines virtuelles

Attention

Cet article fait référence à CentOS, une distribution Linux proche de l’état EOL (End Of Life). Faites le point sur votre utilisation et organisez-vous en conséquence. Pour plus d’informations, consultez l’aide sur la fin de vie de CentOS.

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.

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 :

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 cet article TechCommunity.

Remarque

Auparavant, nous prenions en charge les images de machine virtuelle CentOS-HPC. En raison de la suppression progressive de CentOS (actuellement la seule version supportée, CentOS 7, continuera à recevoir des correctifs de sécurité communautaires et des mises à jour de correction de bogues jusqu’en juin 2024), nous ne publierons pas de nouvelles images HPC CentOS sur la Place de marché Azure. Les utilisateurs de CentOS/RHEL sont invités à utiliser nos images AlmaLinux-HPC alternatives sur la Place de marché Azure, qui ont le même ensemble de pilotes installés que les autres images HPC.

Images de machine virtuelle RHEL/CentOS

Les images de base de machine virtuelle non HPC basées sur RHEL ou CentOS sur 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 CentOS/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