Włączanie standardu InfiniBand

Dotyczy: ✔️ Maszyny wirtualne z systemem Linux Maszyny ✔️ wirtualne z systemem Windows — elastyczne zestawy ✔️ ✔️ skalowania

Maszyny wirtualne z serii HB i Nobsługujące funkcję RDMA komunikują się za pośrednictwem sieci InfiniBand o małym opóźnieniu i wysokiej przepustowości. Funkcja RDMA za pośrednictwem takiego połączenia ma kluczowe znaczenie dla zwiększenia skalowalności i wydajności rozproszonych obciążeń HPC i sztucznej inteligencji. Maszyny wirtualne z serii HB i N z włączoną funkcją InfiniBand są połączone w drzewie tłuszczu bez blokowania o niskiej średnicy w celu zoptymalizowania i spójnego działania RDMA.

Istnieją różne sposoby włączania rozwiązania InfiniBand w rozmiarach maszyn wirtualnych z obsługą.

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 ładowane ze sterownikami InfiniBand (dla maszyn wirtualnych obsługujących funkcję SR-IOV lub innej niż SR-IOV) lub można je skonfigurować przy użyciu odpowiednich sterowników dla maszyn wirtualnych obsługujących funkcję 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 maszyny wirtualnej InfiniBandDriverLinux może służyć do instalowania sterowników Mellanox OFED i włączania rozwiązania InfiniBand na maszynach wirtualnych z włączoną serią HB i N serii SR-IOV.

W systemie Windows rozszerzenie InfiniBandDriverWindows maszyny wirtualnej instaluje sterowniki direct sieci systemu Windows (na maszynach wirtualnych innych niż SR-IOV) lub sterowniki Mellanox OFED (na maszynach wirtualnych SR-IOV) na potrzeby łączności RDMA. W niektórych wdrożeniach wystąpień A8 i A9 rozszerzenie HpcVmDrivers jest dodawane automatycznie. Należy pamiętać, że rozszerzenie maszyny wirtualnej HpcVmDrivers jest przestarzałe; nie zostanie zaktualizowana.

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

Instalacja ręczna

Sterowniki Mellanox OpenFabrics (OFED) można zainstalować ręcznie na maszynach wirtualnych z włączoną serią HB i N seriiSR-IOV.

Linux

Sterowniki OFED dla systemu Linux można zainstalować przy użyciu poniższego przykładu. Chociaż w tym przykładzie jest 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 repozytorium azhpc-images. Sterowniki skrzynki odbiorczej działają również, ale sterowniki Mellanox OFED zapewniają 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

W przypadku systemu Windows pobierz i zainstaluj sterowniki Mellanox OFED dla systemu Windows.

Włączanie adresu IP przez infiniBand (IB)

Jeśli planujesz uruchamianie zadań MPI, zazwyczaj nie potrzebujesz interfejsu 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 uruchomić za pośrednictwem protokołu IB, możesz użyć funkcji IPoIB za pośrednictwem interfejsu IB. Użyj następujących poleceń (dla systemu RHEL/CentOS), aby włączyć adres IP za pośrednictwem rozwiązania InfiniBand.

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

Następne kroki