Condividi tramite


Abilitare InfiniBand

Attenzione

Questo articolo fa riferimento a CentOS, una distribuzione Linux che ha raggiunto lo stato di fine del ciclo di vita (EOL). Valutare le proprie esigenze e pianificare di conseguenza. Per ulteriori informazioni, consultare la Guida alla fine del ciclo di vita di CentOS.

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

Le macchine virtuali serie HB e serie N con supporto RDMA comunicano attraverso la rete InfiniBand a bassa latenza e larghezza di banda elevata. La funzionalità RDMA su un'interconnessione di questo tipo è fondamentale per migliorare la scalabilità e le prestazioni dei carichi di lavoro HPC e di intelligenza artificiale su nodi distribuiti. Le macchine virtuali serie HB e serie N abilitate per InfiniBand sono connesse in strutture Fat Tree non bloccanti a diametro ridotto per prestazioni RDMA ottimizzate e coerenti.

Esistono diversi modi per abilitare InfiniBand nelle dimensioni delle macchine virtuali che lo supportano.

Immagini di macchine virtuali con driver InfiniBand

Vedere Immagini di macchine virtuali per un elenco delle immagini di macchine virtuali supportate nel Marketplace, che vengono precaricate con driver InfiniBand (per VM SR-IOV o non SR-IOV) o che possono essere configurate con i driver appropriati per VM con supporto RDMA. Le immagini di VM Ubuntu-HPC e AlmaLinux-HPC nel marketplace sono il modo più semplice per iniziare.

Estensioni macchina virtuale del driver InfiniBand

In Linux, l'estensione della macchina virtuale InfiniBandDriverLinux può essere usata per installare i driver Mellanox OFED e abilitare InfiniBand nelle macchine virtuali serie HB e serie N abilitate per SR-IOV.

In Windows, l'estensione della macchina virtuale InfiniBandDriverWindows installa i driver Windows Network Direct (in macchine virtuali non SR-IOV) o i driver Mellanox OFED (nelle macchine virtuali SR-IOV) per la connettività RDMA. In alcune distribuzioni di istanze A8 e A9 l'estensione HpcVmDrivers viene aggiunta automaticamente. Si noti che l'estensione della macchina virtuale HpcVmDrivers è deprecata; non verrà aggiornata.

Per aggiungere l'estensione macchina virtuale a una macchina virtuale, è possibile usare i cmdlet di Azure PowerShell. Per altre informazioni, vedere Estensioni e funzionalità della macchina virtuale. È anche possibile usare estensioni delle macchine virtuali nel modello di distribuzione classico.

Installazione manuale

I driver Mellanox OpenFabrics (OFED) possono essere installati manualmente nelle macchine virtuali serie HB e serie N abilitate per SR-IOV.

Linux

I driver OFED per Linux possono essere installati con l'esempio seguente. Anche se l'esempio indicato riguarda RHEL/CentOS, i passaggi sono generici e possono essere usati per qualsiasi sistema operativo Linux compatibile, ad esempio Ubuntu (18.04, 19.04, 20.04) e SLES (12 SP4+ e 15). Altri esempi per altre distribuzioni sono disponibili nel repository azhpc-images. Anche i driver inbox funzionano, ma i driver Mellanox OFED offrono altre funzionalità.

MLNX_OFED_DOWNLOAD_URL=http://content.mellanox.com/ofed/MLNX_OFED-5.0-2.1.8.0/MLNX_OFED_LINUX-5.0-2.1.8.0-rhel7.7-x86_64.tgz
# Optionally verify checksum
wget --retry-connrefused --tries=3 --waitretry=5 $MLNX_OFED_DOWNLOAD_URL
tar zxvf MLNX_OFED_LINUX-5.0-2.1.8.0-rhel7.7-x86_64.tgz

KERNEL=( $(rpm -q kernel | sed 's/kernel\-//g') )
KERNEL=${KERNEL[-1]}
# Uncomment the lines below if you are running this on a VM
#RELEASE=( $(cat /etc/centos-release | awk '{print $4}') )
#yum -y install http://olcentgbl.trafficmanager.net/centos/${RELEASE}/updates/x86_64/kernel-devel-${KERNEL}.rpm
sudo yum install -y kernel-devel-${KERNEL}
sudo ./MLNX_OFED_LINUX-5.0-2.1.8.0-rhel7.7-x86_64/mlnxofedinstall --kernel $KERNEL --kernel-sources /usr/src/kernels/${KERNEL} --add-kernel-support --skip-repo

Finestre

Per Windows, scaricare e installare Mellanox OFED per i driver di Windows.

Abilitare IP su InfiniBand (IB)

Se si prevede di eseguire processi MPI, in genere non è necessario IPoIB. La libreria MPI userà l'interfaccia dei verbi per la comunicazione IB (a meno che non si usi in modo esplicito il canale TCP/IP della libreria MPI). Tuttavia, se si dispone di un'app che usa TCP/IP per la comunicazione e si vuole eseguire su IB, è possibile usare IPoIB sull'interfaccia IB. Usare i comandi seguenti (per RHEL/CentOS) per abilitare l'indirizzo IP su InfiniBand.

Importante

Per evitare problemi, assicurarsi di non eseguire versioni precedenti di Microsoft Azure Linux Agent (waagent). È consigliabile usare almeno la versione 2.4.0.2 prima di abilitare IP tramite IB.

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

Passaggi successivi