Condividi tramite


Configurare e ottimizzare le macchine virtuali

Si applica a: ✔️ macchine virtuali Linux ✔️ macchine virtuali Windows ✔️ set di scalabilità flessibili ✔️ set di scalabilità uniformi

Questo articolo include alcune linee guida per la configurazione e l'ottimizzazione delle macchine virtuali serie H e serie N abilitate per InfiniBand per HPC.

Immagini di macchine virtuali

Nelle macchine virtuali abilitate per InfiniBand (IB) sono necessari i driver IB appropriati per abilitare RDMA.

Queste immagini di macchine virtuali si basano sulle immagini di macchine virtuali del marketplace Ubuntu e AlmaLinux di base. Gli script usati nella creazione di queste immagini di macchine virtuali dalle immagini del marketplace di base si trovano nel repository azhpc-images.

Nelle macchine virtuali serie N abilitate per GPU sono necessari anche i driver GPU appropriati. Questo requisito può essere soddisfatto tramite i metodi seguenti:

A seconda delle esigenze di distribuzione e versione di Linux dei carichi di lavoro, le immagini di macchine virtuali Ubuntu-HPC e le immagini di macchine virtuali AlmaLinux-HPC nel marketplace sono il modo più semplice per iniziare a usare carichi di lavoro HPC e di intelligenza artificiale in Azure. È anche consigliabile creare immagini di macchine virtuali personalizzate con personalizzazione e configurazione specifiche del carico di lavoro per il riutilizzo.

Dimensioni delle macchine virtuali supportate dalle immagini delle macchine virtuali HPC

Supporto di InfiniBand OFED

Le immagini del marketplace HPC di Azure più recenti sono fornite con Mellanox OFED 5.1 e versioni successive, che non supportano le schede ConnectX3-Pro InfiniBand. Per le schede ConnectX-3 Pro InfiniBand è richiesta la versione MOFED 4.9 LTS. Queste immagini di macchine virtuali supportano solo le schede ConnextX-5 e InfiniBand più recenti. La matrice di supporto delle dimensioni della macchina virtuale per InfiniBand OFED in queste immagini di macchine virtuali HPC è la seguente:

Supporto dei driver GPU

Attualmente solo le immagini di macchine virtuali Ubuntu-HPC e le immagini di macchine virtuali AlmaLinux-HPC sono preconfigurate con i driver GPU NVIDIA e lo stack di software di calcolo GPU (CUDA, NCCL).

La matrice di supporto delle dimensioni della macchina virtuale per i driver GPU nelle immagini di macchine virtuali HPC supportate è la seguente:

  • Serie N: le dimensioni della machina virtuale NDv2 e NDv4 sono supportate con i driver GPU NVIDIA e lo stack di software di calcolo GPU (CUDA, NCCL).
  • Le altre dimensioni della macchina virtuale "NC" e "ND" nella serie N sono supportate con i driver GPU NVIDIA.

Tutte le dimensioni delle macchine virtuali nella serie N supportano macchine virtuali di seconda generazione, anche se alcune macchine virtuali meno recenti supportano anche macchine virtuali Gen 1. Il supporto di generazione 2 è indicato anche con un "01" alla fine dell'URN o della versione dell'immagine.

Macchine virtuali abilitate per SR-IOV

Immagini di macchine virtuali HPC Ubuntu

Per le macchine virtuali con supporto RDMA abilitate per SR-IOV, le immagini di macchine virtuali Ubuntu-HPC versioni 18.04, 20.04 e 22.04 sono adatte. Queste immagini di macchine virtuali sono preconfigurate con i driver Mellanox OFED per RDMA, driver GPU NVIDIA, stack di software di calcolo GPU (CUDA, NCCL), oltre a librerie MPI e pacchetti di elaborazione scientifica comunemente usati. Fare riferimento alla matrice di supporto delle dimensioni di macchine virtuali.

  • Le versioni disponibili o più recenti delle immagini di macchine virtuali possono essere elencate con le informazioni seguenti usando l'interfaccia della riga di comando o dal marketplace.

    "publisher": "Microsoft-DSVM",
    "offer": "Ubuntu-HPC",
    
  • Gli script usati nella creazione delle immagini di macchine virtuali Ubuntu-HPC da un'immagine del marketplace Ubuntu di base si trovano nel repository azhpc-images.

Immagini di macchine virtuali HPC AlmaLinux

Per le macchine virtuali con supporto RDMA abilitate per SR-IOV, le immagini di macchine virtuali AlmaLinux-HPC versioni 8.5, 8.6 e 8.7 sono adatte. Queste immagini di macchine virtuali sono preconfigurate con i driver Mellanox OFED per RDMA, driver GPU NVIDIA, stack di software di calcolo GPU (CUDA, NCCL), oltre a librerie MPI e pacchetti di elaborazione scientifica comunemente usati. Fare riferimento alla matrice di supporto delle dimensioni di macchine virtuali.

  • Le versioni disponibili o più recenti delle immagini di macchine virtuali possono essere elencate con le informazioni seguenti usando l'interfaccia della riga di comando o dal marketplace.

    "publisher": "AlmaLinux",
    "offer": "AlmaLinux-HPC",
    
  • Gli script usati nella creazione delle immagini di macchine virtuali AlmaLinux-HPC da un'immagine del marketplace AlmaLinux di base si trovano nel repository azhpc-images.

Altre informazioni sulle immagini di macchine virtuali Ubuntu-HPC e AlmaLinux-HPC e su come distribuirle sono disponibili in Immagini di macchine virtuali HPC di Azure.

Immagini di macchine virtuali RHEL

Le immagini di macchine virtuali non HPC basate su RHEL di base nel marketplace possono essere configurate per l'uso nelle macchine virtuali con supporto per RDMA abilitate per SR-IOV. Altre informazioni sull'abilitazione di InfiniBand e la configurazione di MPI nelle macchine virtuali.

Immagini di macchine virtuali Ubuntu

Le immagini di macchine virtuali Ubuntu Server 20.04 LTS e 22.04 LTS nel marketplace sono supportate per le macchine virtuali con supporto per RDMA abilitate o meno per SR-IOV. Altre informazioni sull'abilitazione di InfiniBand e la configurazione di MPI nelle macchine virtuali.

Nota

Mellanox OFED 5.1 e versioni successive non supportano le schede InfiniBand ConnectX3-Pro nelle dimensioni delle macchine virtuali serie N abilitate per SR-IOV con FDR InfiniBand (ad esempio NCv3). Usare la versione LTS Mellanox OFED 4.9-0.1.7.0 o precedente nelle macchine virtuali serie N con schede ConnectX3-Pro. Per altre informazioni, vedere Driver InfiniBand Linux.

Immagini di macchine virtuali SUSE Linux Enterprise Server

Sono supportate le immagini di macchine virtuali SLES 12 SP3 per HPC, SLES 12 SP3 per HPC (Premium), SLES 12 SP1 per HPC, SLES 12 SP1 per HPC (Premium), SLES 12 SP4 e SLES 15 nel Marketplace. Queste immagini di macchine virtuali vengono precaricate con i driver Network Direct per RDMA (nelle dimensioni delle macchine virtuali SR-IOV) e Intel MPI versione 5.1. Altre informazioni sulla configurazione di MPI nelle macchine virtuali.

Ottimizzare le macchine virtuali

Di seguito sono riportate alcune impostazioni di ottimizzazione facoltative per migliorare le prestazioni nella macchina virtuale.

Aggiornare LIS

Se necessario per le funzionalità o le prestazioni, è possibile installare o aggiornare i driver LIS (Linux Integration Services) nelle distribuzioni del sistema operativo supportate, in particolare se la distribuzione viene eseguita usando un'immagine personalizzata o una versione precedente del sistema operativo, ad esempio RHEL 6.x o versione precedente di 7.x.

wget https://aka.ms/lis
tar xzf lis
pushd LISISO
sudo ./upgrade.sh

Recuperare memoria

Migliorare le prestazioni recuperando automaticamente la memoria per evitare l'accesso remoto alla memoria.

sudo echo 1 >/proc/sys/vm/zone_reclaim_mode

Mantenere persistente la modalità di recupero della memoria dopo il riavvio della macchina virtuale:

sudo echo "vm.zone_reclaim_mode = 1" >> /etc/sysctl.conf sysctl -p

Disabilitare il firewall e 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

Disabilitare cpupower

sudo service cpupower status

Se abilitato, disabilitarlo:

sudo service cpupower stop
sudo systemctl disable cpupower

Configurare WALinuxAgent

sudo sed -i -e 's/# OS.EnableRDMA=y/OS.EnableRDMA=y/g' /etc/waagent.conf

Facoltativamente, WALinuxAgent può essere disabilitato prima di eseguire un processo e quindi abilitato dopo il processo per ottenere la disponibilità massima delle risorse della macchina virtuale per il carico di lavoro HPC.

Passaggi successivi