Udostępnij przez


Włączanie standardu InfiniBand

Dotyczy: ✔️ Maszyny wirtualne Linux ✔️ Maszyny wirtualne Windows ✔️ Elastyczne zestawy skalowania ✔️ Jednolite zestawy skalowania

Maszyny wirtualne z serii HB i N obsługujące funkcję 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ącej topologii fat-tree o niskiej średnicy, co zapewnia zoptymalizowaną i spójną wydajność RDMA.

Istnieją różne sposoby włączania InfiniBand w rozmiarach dostępnych maszyn wirtualnych.

Uwaga / Notatka

Wypróbuj pomoc maszyny wirtualnej, aby uzyskać szybszą diagnostykę. Zalecamy uruchomienie asysty maszyny wirtualnej dla systemu Windows lub asystenta maszyny wirtualnej dla systemu Linux. Te narzędzia diagnostyczne oparte na skryptach ułatwiają identyfikowanie typowych problemów, które mają wpływ na agenta gościa maszyny wirtualnej platformy Azure i ogólną kondycję maszyny wirtualnej.

Jeśli występują problemy z wydajnością maszyn wirtualnych, przed skontaktowaniem się z pomocą techniczną uruchom te narzędzia.

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ą zainstalowane ze sterownikami InfiniBand (dla maszyn wirtualnych obsługujących SR-IOV lub inne niż SR-IOV) lub można je skonfigurować przy użyciu odpowiednich sterowników dla maszyn wirtualnych z obsługą RDMA. Obrazy maszyn wirtualnych Ubuntu-HPC i AlmaLinux-HPC w marketplace są najprostszym sposobem rozpoczęcia pracy.

Rozszerzenia sterownika InfiniBand dla maszyn wirtualnych

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 z obsługą SR-IOV serii HB i N.

W systemie Windows rozszerzenie InfiniBandDriverWindows dla maszyny wirtualnej instaluje sterowniki Windows Network Direct (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 instancji 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 obsługąSR-IOVserii HB i N .

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, ale kroki są ogólne i mogą być używane dla dowolnego zgodnego systemu operacyjnego Linux, takiego jak Ubuntu (22.04, 24.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/redhat-release | awk '{print $4}') )
#yum -y install http://olcentgbl.trafficmanager.net/redhat/${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 musisz korzystać z 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, aby działała przez interfejs IB, możesz użyć IPoIB na interfejsie IB. Użyj następujących poleceń (dla systemu RHEL), 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

Dalsze kroki