Włączanie standardu InfiniBand

Dotyczy: Maszyny ✔️ wirtualne z systemem Linux Windows ✔️ maszyn wirtualnych ✔️ Elastyczne zestawy skalowania Jednolite ✔️ zestawy skalowania

Maszyny wirtualne serii H i N z serii RDMA komunikują się za pośrednictwem sieci InfiniBand o małych opóźnieniach i dużej przepustowości. Możliwość RDMA za pośrednictwem takiego połączenia wzajemnego ma kluczowe znaczenie dla zwiększenia skalowalności i wydajności obciążeń HPC i AI z węzłami rozproszonymi. Maszyny wirtualne serii H i N z włączoną obsługą infiniBand są połączone w nieblokowym drzewie grubym o niskiej zawartości, co zapewnia zoptymalizowaną i spójną wydajność RDMA.

Istnieją różne sposoby włączania infiniBand na maszynach wirtualnych o różnych rozmiarach.

Obrazy maszyn wirtualnych ze sterownikami InfiniBand

Zobacz Obrazy maszyn wirtualnych, aby uzyskać listę obsługiwanych obrazów maszyn wirtualnych w witrynie Marketplace, które są wstępnie załadowane ze sterownikami InfiniBand (dla maszyn wirtualnych SR-IOV lub innych niż SR-IOV) lub można je skonfigurować przy użyciu odpowiednich sterowników dla maszyn wirtualnych z możliwością RDMA. Obrazy maszyn wirtualnych CentOS-HPC i Ubuntu-HPC w witrynie Marketplace są najprostszym sposobem rozpoczęcia pracy.

Rozszerzenia maszyny wirtualnej sterownika InfiniBand

W systemie Linux rozszerzenie InfiniBandDriverLinux maszyny wirtualnej może służyć do instalowania sterowników Mellanox OFED i włączania infiniBand na maszynach wirtualnych serii H i N z włączoną obsługą funkcji SR-IOV.

Na platformie Windows rozszerzenie InfiniBandDriverWindows maszyny wirtualnej instaluje sterowniki Windows Network Direct (na maszynach wirtualnych innych niż SR-IOV) lub sterowniki Mellanox OFED (na maszynach wirtualnych SR-IOV) dla łączności RDMA. W niektórych wdrożeniach wystąpień A8 i A9 rozszerzenie HpcVmDrivers jest dodawane automatycznie. Pamiętaj, że rozszerzenie maszyny wirtualnej HpcVmDrivers jest przestarzałe. Nie zostanie on zaktualizowany.

Aby dodać rozszerzenie maszyny wirtualnej do maszyny wirtualnej, możesz użyć Azure PowerShell cmdlet. Aby uzyskać więcej informacji, zobacz Rozszerzenia i funkcje maszyny wirtualnej. Można również pracować z rozszerzeniami maszyn wirtualnych wdrożonych w klasycznym modelu wdrażania.

Instalacja ręczna

Sterowniki Mellanox OpenFabrics (OFED) można zainstalować ręcznie na komputerach wirtualnych serii H i N z włączoną obsługą funkcji SR-IOV.

Linux

Sterowniki OFED dla systemu Linux można zainstalować z poniższym przykładem. Chociaż w tym przykładzie jest dla RHEL/CentOS, ale kroki są ogólne i mogą być używane dla dowolnego zgodnego systemu operacyjnego Linux, takiego jak Ubuntu (16.04, 18.04 19.04, 20.04) i SLES (12 SP4 i 15). Więcej przykładów dla innych dystrybucji znajduje się w repocie azhpc-images. Sterowniki skrzynki odbiorczej również działają, ale sterowniki Mellanox OFED oferują więcej funkcji.

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
yum install -y kernel-devel-${KERNEL}
./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

Windows

Na Windows pobierz i zainstaluj oprogramowanie Mellanox OFED dla Windows sterowników.

Włączanie protokołu IP za pośrednictwem infiniBand (IB)

Jeśli planujesz uruchamianie zadań MPI, zazwyczaj nie potrzebujesz IPoIB. Biblioteka MPI będzie używać interfejsu czasowników do komunikacji IB (chyba że jawnie używasz kanału TCP/IP biblioteki MPI). Jeśli jednak masz aplikację, która używa protokołu TCP/IP do komunikacji i chcesz uruchamiać protokół IB, możesz użyć interfejsu IPoIB za pośrednictwem interfejsu IB. Użyj następujących poleceń (dla systemu RHEL/CentOS), aby włączyć protokół IP za pośrednictwem infiniBand.

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

Następne kroki