設定和最佳化 VM
警告
本文參考 CentOS,這是接近結束生命週期 (EOL) 狀態的 Linux 發行版本。 請據以考慮您的使用和規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指引。
適用於: ✔️ 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 映像可以使用 CLI 或 Marketplace 列出下列資訊。
"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 映像可以使用 CLI 或 Marketplace 列出下列資訊。
"publisher": "AlmaLinux", "offer": "AlmaLinux-HPC",
用於從其基底 AlmaLinux Marketplace 映像建立 AlmaLinux-HPC VM 映像時所使用的指令碼,位於 azhpc-images 存放庫上。
此外,如需 Ubuntu-HPC VM 映像和 AlmaLinux-HPC VM 映像中所含內容的詳細資料,以及如何部署,請參閱《TechCommunity》一文。
注意
我們用來支援 CentOS-HPC VM 映像。 由於逐步淘汰 CentOS (目前唯一支援的版本 CentOS 7 將繼續接收社群安全性修補檔和 Bug 修正更新,直到 2024 年 6 月為止),我們不會將任何新的 CentOS HPC 映像發行至 Azure Marketplace。 建議 CentOS/RHEL 使用者使用 Azure Marketplace 中的 AlmaLinux-HPC 映像替代方案,其已安裝與其他 HPC 映像相同的驅動程式集。
RHEL/CentOS VM 映像
您可以在 Marketplace 上設定基底 RHEL 或 CentOS 型非 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。
- 在 Ubuntu VM 映像上啟用 InfiniBand 的指示位於《TechCommunity》一文中。
注意
在搭載 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 進行部署 (例如 CentOS/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 資源可用性。
下一步
- 深入了解在已啟用 InfiniBand 的 HB 系列和 N 系列 VM 上啟用 InfiniBand。
- 深入了解如何在 VM 上安裝和執行各種支援的 MPI 程式庫。
- 檢閱 HBv3 系列概觀和 HC 系列概觀。
- 請參閱 Azure 計算技術社群部落格的最新公告、HPC 工作負載範例和效能結果。
- 如需執行中 HPC 工作負載較高階的架構檢視,請參閱 Azure 上的高效能運算 (HPC)。