你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

HB 系列虚拟机概述

注意

本文引用了 CentOS,这是一个接近生命周期结束 (EOL) 状态的 Linux 发行版。 请相应地考虑你的使用和规划。 有关详细信息,请参阅 CentOS 生命周期结束指南

适用于:✔️ Linux VM ✔️ Windows VM ✔️ 灵活规模集 ✔️ 统一规模集

要在 AMD EPYC 上最大程度地提高高性能计算 (HPC) 应用程序性能,需要考虑周全的方法内存位置和进程放置。 下面概述了 AMD EPYC 体系结构,以及如何在 Azure 上为 HPC 应用程序实现它。 我们将使用术语“pNUMA”指代物理 NUMA 域,使用“vNUMA”指代虚拟化 NUMA 域。

从物理上讲,HB 系列服务器是 2 * 32 核 EPYC 7551 CPU,总共 64 个物理内核。 这 64 个内核分为 16 个 pNUMA 域(每套接字 8 个),其中每个都是四个内核,称为“CPU Complex”(或“CCX”)。 每个 CCX 都有其自己的 L3 缓存,这是操作系统将看到 pNUMA/vNUMA 边界的方式。 一对相邻的 CCX 共享对两个物理 DRAM(HB 系列服务器中为 32 GB 的 DRAM)通道的访问。

为了给 Azure 虚拟机监控程序提供运行空间而又不干扰 VM,我们预留了物理 pNUMA 域 0(第一个 CCX)。 然后,我们为 VM 分配 pNUMA 域 1-15(其余的 CCX 单元)。 VM 将会看到:

每个 VM (15 vNUMA domains) * (4 cores/vNUMA) = 60 个内核

VM 本身并不知道未向其提供 pNUMA 0。 VM 将 pNUMA 1-15 理解为 vNUMA 0-14,其中 vSocket 0 上有 7 个 vNUMA,vSocket 1 上有 8 个 vNUMA。 尽管这是不对称的,但你的操作系统仍应启动并正常运行。 稍后在本指南中,我们将指示如何最好地在此非对称 NUMA 布局上运行 MPI 应用程序。

进程固定将在 HB 系列 VM 上运行,因为我们会将底层硅按原样公开给来宾 VM。 强烈建议使用进程固定来实现最佳性能和一致性。

下图显示了为 Azure 虚拟机监控程序和 HB 系列 VM 保留的内核的隔离。

为 Azure 虚拟机监控程序和 HB 系列 VM 保留的内核的隔离

硬件规格

硬件规格 HB 系列 VM
核心数 60(已禁用 SMT)
CPU AMD EPYC 7551
CPU 频率(非 AVX) ~ 2.55 GHz(单个 + 所有内核)
内存 4 GB/内核(总共 240 GB)
本地磁盘 700 GB SSD
Infiniband 100 Gb EDR Mellanox ConnectX-5
网络 50 Gb 以太网(40 Gb 可用)Azure 第二代 SmartNIC

软件规格

软件规格 HB 系列 VM
最大 MPI 作业大小 18000 个内核(单个虚拟机规模中的 300 个虚拟机,且 singlePlacementGroup = true)
MPI 支持 HPC-X、Intel MPI、OpenMPI、MVAPICH2、MPICH、Platform MPI
其他框架 UCX、libfabric、PGAS
Azure 存储支持 标准磁盘和高级磁盘(最多 4 个磁盘)
SRIOV RDMA 的操作系统支持 CentOS/RHEL 7.6+、Ubuntu 18.04+、SLES 15.4、WinServer 2016+
Orchestrator 支持 CycleCloud、Batch、AKS;群集配置选项

重要

本文档引用临近或处于生命周期终止 (EOL) 日期的 Linux 发行版本。 请考虑更新到最新版本。

后续步骤