分享方式:


設定和最佳化 VM

適用於: ✔️ Linux VM ✔️ Windows VM ✔️ 彈性擴展集 ✔️ 統一擴展集

本文會分享指引,說明如何設定和最佳化適用於 HPC 並已啟用 InfiniBand 的 HB 系列N 系列 VM。

VM 映像

在已啟用 InfiniBand (IB) 的 VM 上,需要適當的 IB 驅動程式才能啟用 RDMA。

  • Marketplace 中的 Ubuntu-HPC VM 映像會預先設定適當的 NVIDIA IB 驅動程式和 GPU 驅動程式。
  • Marketplace 中的 AlmaLinux-HPC VM 映像會預先設定適當的 NVIDIA IB 驅動程式和 GPU 驅動程式。

這些 VM 映像是以基底 Ubuntu 和 AlmaLinux Marketplace VM 映像為基礎。 從其基底 Marketplace 映像建立這些 VM 映像時所使用的指令碼,位於 azhpc-images 存放庫上。

在已啟用 GPU 的 N 系列 VM 上,還需要合適的 GPU 驅動程式。 這可以透過下列方法取得:

  • 使用 Ubuntu-HPC VM 映像AlmaLinux-HPC VM 映像,預先設定 NVIDIA GPU 驅動程式和 GPU 計算軟體堆疊 (CUDA, NCCL)。
  • 透過 VM 延伸模組新增 GPU 驅動程式。
  • 手動安裝 GPU 驅動程式。
  • Marketplace 上的一些其他 VM 映像也會預先安裝 NVIDIA GPU 驅動程式,包括來自 NVIDIA 的一些 VM 映像。

根據工作負載的 Linux 發行版和版本需求,Marketplace 中的 Ubuntu-HPC VM 映像AlmaLinux-HPC VM 映像是在 Azure 上開始使用 HPC 和 AI 工作負載最簡單的方式。 也建議使用工作負載特定的自訂和設定來建立自訂 VM 映像 以供重複使用。

HPC VM 映像支援的 VM 大小

InfiniBand OFED 支援

最新的 Azure HPC Marketplace 映像隨附 Mellanox OFED 5.1 和更新版本,不支援 ConnectX3-Pro InfiniBand 介面卡。 ConnectX-3 Pro InfiniBand 卡需要 MOFED 4.9 LTS 版本。 這些 VM 映像僅支援 ConnextX-5 和更新的 InfiniBand 介面卡。 下列 HPC VM 映像中 InfiniBand OFED 的 VM 大小支援矩陣:

GPU 驅動程式支援

目前只有 Ubuntu-HPC VM 映像AlmaLinux-HPC VM 映像,已預先設定 NVIDIA GPU 驅動程式和 GPU 計算軟體堆疊 (CUDA, NCCL)。

支援 HPC VM 映像中 GPU 驅動程式的 VM 大小支援矩陣如下:

  • N 系列:NDv2、NDv4 VM 大小支援 NVIDIA GPU 驅動程式和 GPU 計算軟體堆疊 (CUDA 和 NCCL)。
  • NVIDIA GPU 驅動程式支援 N 系列中的其他 'NC' 和 'ND' VM 大小。

N 系列中的所有 VM 大小都支援第 2 代 VM,但有些較舊的 VM 也支援第 1 代 VM。 第 2 代支援也會在映像 URN 或版本結尾時以「01」表示。

已啟用 SR-IOV 的 VM

Ubuntu-HPC VM 映像

已啟用 SR-IOV 的支援 RDMA VM 適合 Ubuntu-HPC VM 映像 18.04, 20.04 及 22.04 版。 這些 VM 映像會預先設定 RDMA、NVIDIA GPU 驅動程式、GPU 計算軟體堆疊 (CUDA, NCCL) 的 Mellanox OFED 驅動程式,以及常用的 MPI 程式庫和科學運算套件。 請參閱 VM 大小支援矩陣

  • 可用或最新版本的 VM 映像可以使用 CLIMarketplace 列出下列資訊。

    "publisher": "Microsoft-DSVM",
    "offer": "Ubuntu-HPC",
    
  • 用於從其基底 Ubuntu Marketplace 映像建立 Ubuntu-HPC VM 映像時所使用的指令碼,位於 azhpc-images 存放庫上。

AlmaLinux-HPC VM 映像

已啟用 SR-IOV 的支援 RDMA VM 適合 AlmaLinux-HPC VM 映像 8.5, 8.6 及 8.7 版。 這些 VM 映像會預先設定 RDMA、NVIDIA GPU 驅動程式、GPU 計算軟體堆疊 (CUDA, NCCL) 的 Mellanox OFED 驅動程式,以及常用的 MPI 程式庫和科學運算套件。 請參閱 VM 大小支援矩陣

  • 可用或最新版本的 VM 映像可以使用 CLIMarketplace 列出下列資訊。

    "publisher": "AlmaLinux",
    "offer": "AlmaLinux-HPC",
    
  • 用於從其基底 AlmaLinux Marketplace 映像建立 AlmaLinux-HPC VM 映像時所使用的指令碼,位於 azhpc-images 存放庫上。

此外,如需 Ubuntu-HPC VM 映像AlmaLinux-HPC VM 映像中所含內容的更多詳細資料,以及如何部署,請參閱 Azure HPC VM 映像

RHEL VM 映像

您可以在 Marketplace 上設定基礎 RHEL 型非 HPC VM 映像,以在啟用 SR-IOV 的支援 RDMA VM 上使用。 深入了解如何在 VM 上啟用 InfiniBand設定 MPI

Ubuntu VM 映像

Marketplace 中的基底 Ubuntu Server 22.04 LTS 和 22.04 LTS VM 映像,同時支援 SR-IOV 和非 SR-IOV 的支援 RDMA VM。 深入了解如何在 VM 上啟用 InfiniBand設定 MPI

注意

在搭載 FDR InfiniBand (例如 NCv3) 已啟用 SR-IOV 的 N 系列 VM 大小上,Mellanox OFED 5.1 和更新版本不支援 ConnectX3-Pro InfiniBand 介面卡。 請在搭配 ConnectX3-Pro 介面卡的 N 系列 VM 上使用 LTS Mellanox OFED 4.9-0.1.7.0 版或舊版。 如需詳細資訊,請參閱《Linux InfiniBand 驅動程式》。

SUSE Linux Enterprise Server VM 映像

支援 Marketplace 中適用於 HPC 的 SLES 12 SP3、適用於 HPC (進階) 的 SLES 12 SP3、適用於 HPC 的 SLES 12 SP1、適用於 HPC (進階) SLES 12 SP1、SLES 12 SP4 和 SLES 15 VM 映像。 這些 VM 映像會預先載入 RDMA 的 Network Dircet 驅動程式 (為非 SR-IOV VM 大小) 和 Intel MPI 5.1 版。 深入了解如何在 VM 上設定 MPI

最佳化 VM

以下是一些選用的最佳化設定,可改善 VM 上的效能。

更新 LIS

視功能或效能的需求,Linux Integration Services (LIS) 驅動程式可以在支援的 OS 發行版上安裝或更新,尤其是使用自訂映像或舊版 OS 進行部署 (例如 RHEL 6.x 或舊版 7.x)。

wget https://aka.ms/lis
tar xzf lis
pushd LISISO
sudo ./upgrade.sh

回收記憶體

自動回收記憶體來改善效能,避免遠端記憶體存取。

sudo echo 1 >/proc/sys/vm/zone_reclaim_mode

在 VM 重新啟動之後,請持續回收記憶體模式:

sudo echo "vm.zone_reclaim_mode = 1" >> /etc/sysctl.conf sysctl -p

停用防火牆和 SELinux

sudo systemctl stop iptables.service
sudo systemctl disable iptables.service
sudo systemctl mask firewalld
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service
sudo iptables -nL
sudo sed -i -e's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

停用 cpupower

sudo service cpupower status

如果已啟用,請將其停用:

sudo service cpupower stop
sudo systemctl disable cpupower

設定 WALinuxAgent

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

或者,在執行作業之前,可能會停用 WALinuxAgent,然後啟用作業後工作,以達到 HPC 工作負載的最大 VM 資源可用性。

下一步