Włączanie standardu InfiniBand

Uwaga

W tym artykule odwołuje się do systemu CentOS — dystrybucji systemu Linux, która zbliża się do stanu zakończenia życia (EOL). Rozważ odpowiednie użycie i zaplanuj. Aby uzyskać więcej informacji, zobacz wskazówki dotyczące zakończenia życia systemu CentOS.

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

Maszyny wirtualne z serii HB i N obsługującefunkcję RDMA komunikują się z 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 obciążeń HPC i sztucznej inteligencji rozproszonych węzłów. Maszyny wirtualne z serii HB i N z włączoną funkcją InfiniBand są połączone w nieblokujących drzewie tłuszczu o niskiej średnicy w celu zoptymalizowania i spójnej wydajności RDMA.

Istnieją różne sposoby włączania funkcji InfiniBand w rozmiarach maszyn wirtualnych obsługujących obsługę.

Obrazy maszyn wirtualnych ze sterownikami InfiniBand

Zobacz Obrazy maszyn wirtualnych, aby zapoznać się z listą obsługiwanych obrazów maszyn wirtualnych w witrynie Marketplace, które są wstępnie załadowane ze sterownikami InfiniBand (dla maszyn wirtualnych obsługujących funkcję SR-IOV lub innym 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 z systemem Ubuntu-HPC i AlmaLinux-HPC na platformie handlowej są najprostszym sposobem rozpoczęcia pracy.

Rozszerzenia maszyn wirtualnych sterownika InfiniBand

W systemie Linux rozszerzenie InfiniBandDriverLinux maszyny wirtualnej może służyć do instalowania sterowników Mellanox OFED i włączania aplikacji InfiniBand na maszynach wirtualnych z obsługą kart 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 zaktualizowany.

Aby dodać rozszerzenie maszyny wirtualnej do maszyny wirtualnej, możesz użyć poleceń cmdlet programu Azure PowerShell . Aby uzyskać więcej informacji, zobacz Virtual machine extensions and features (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 serii HB i N serii SR-IOV.

Linux

Sterowniki OFED dla systemu Linux można zainstalować przy użyciu poniższego przykładu. Chociaż w tym przykładzie użyto systemu RHEL/CentOS, ale kroki są ogólne i mogą być używane dla dowolnego zgodnego systemu operacyjnego Linux, takiego jak Ubuntu (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 również działają, 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
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

Windows

W przypadku systemu Windows pobierz i zainstaluj oprogramowanie Mellanox OFED dla sterowników systemu Windows.

Włączanie protokołu 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ę korzystającą z protokołu TCP/IP do komunikacji i chcesz uruchomić za pośrednictwem protokołu 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ć adres IP przez infiniBand.

Ważne

Aby uniknąć problemów, upewnij się, że nie korzystasz ze starszych wersji programu Microsoft Azure Linux Agent (waagent). Zalecamy użycie co najmniej wersji 2.4.0.2 przed włączeniem adresu IP za pośrednictwem protokołu IB.

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

Następne kroki