你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Microsoft发现服务将代理 AI、数据和高性能计算(HPC)集成到单个研究平台。 Microsoft Discovery 超级计算机提供了该平台的 HPC 层。 超级计算机与其节点池一起,代表发现代理和人类用户运行模拟、大规模数据处理和其他计算密集型工作负荷。
Overview
Microsoft Discovery Supercomputer 提供对跨多个体系结构(包括 CPU 和 GPU)数千个核心的 Microsoft HPC 资源的访问权限。 节点池对这些资源进行分组,以便可以在符合工作负荷要求的硬件上计划工作负荷。 发现代理将工作负荷提交到 Supercomputer,后者选择适当的节点池并管理执行。
关键功能
- 并行执行。 超级计算机可并发运行多个工作负载,并发数量上限可配置。 后续作业排入队列,并在容量可用时分派。
- 企业安全性和合规性。 所有作业都在Azure租户内运行,并继承现有的合规性和安全控制。 源数据、模型和中间结果保留在订阅中。
- 弹性容量。 资源可在您定义的限制范围内按需扩展,并发作业数可从几个增加到数万个。
- 硬件多样性。 支持的硬件包括来自 Intel 和 AMD 的 GPU、x86 处理器以及基于 ARM 的处理器。 新的 Azure 处理器类型现已可用,无需经历采购延迟。
节点池
节点池是 Discovery 用于组织一组类似计算资源的最小单位。 每个节点池定义其成员的计算和内存配置,以便发现可以将工作负荷放置在相应的群集上。 每个池还针对计划于该池上的工作负荷设置并行度限制。
节点池指定以下属性:
- 硬件配置文件(size)表示池中所有节点所使用的 Azure 虚拟机 (VM) 类型。 例如,GPU 池可能会将 ND 系列 VM 与 NVIDIA Blackwell Ultra GPU 和 Grace CPU 用于 AI 工作负载,而 CPU 池可能会对传统 HPC 使用 AMD、Intel 或 Cobalt ARM 处理器。 Discovery Supercomputer 支持广泛的 Azure HPC 资源,可用于 GPU 工作负载、高内存工作负载和轻量级横向扩展 VM 类型等专用工作负载。
- 容量 指示池可以运行的最大 VM 数。 池在空闲时节点数可为 0,并可扩展到配置的最大值。 容量受订阅配额的约束。
- 网络和位置 定义池中的节点如何附加到指定的虚拟网络子网,以便它们能够访问平台服务,例如存储和超级计算机业务流程系统。 节点池与超级计算机位于同一Azure区域和虚拟网络中,为消息传递接口(MPI)工作负载和数据共享提供低延迟互连。
- 工作负荷分配。 节点池可以专用于特定的工作负荷、团队或项目,以支持隔离和作业跟踪。
由于 Azure 资源是虚拟资源,因此按峰值工作负载来配置池的大小,即使池处于空闲状态,也不会浪费资源。 管理员可以为每个池应用并发限制,用户和代理将工作负荷调度到最符合其要求的池。
节点池配置
工作负荷具有不同的处理特征。 有些针对矢量或张量运算进行了优化;其他项针对标量计算进行优化。 节点池允许将硬件与工作负荷匹配。
硬件类别
- GPU 加速节点池 配备 GPU 的 VM,适用于深度学习训练、分子动态和其他受益于 GPU 加速的算法。 例如,具有 NVIDIA Blackwell GPU 的 ND 系列池提供矩阵计算的高吞吐量,非常适合计算化学、基因组学和图像处理。
- CPU 优化节点池 高性能 CPU VM 适用于使用核心或内存缩放但不会受益于 GPU 的工作负载,例如传统的 HPC 和电子设计自动化(EDA)工作负载、统计分析和数据处理。 低成本的 CPU VM 也适用于预处理、业务流程和控制工作负荷。
- 专用节点池。 满足专用硬件要求的 VM 大小,例如 FPGA。
单个超级计算机可以结合多个硬件类别来支持一个平台上的各种科学计算。 例如,制药组织可能为 AI 驱动的分子生成运行一个 GPU 池、用于模拟的第二个 GPU 池,以及用于处理实验数据的 CPU 池。 硅工程团队可能会将 GPU 池与 CPU 池配对进行电磁模拟,以便进行设计验证。
缩放模型
- 自动缩放(按需)节点池。 默认配置。 池空闲时,没有运行中的节点。 工作负载分派时预配节点,作业完成时解除分配,不超过配置的最大节点数。 此模型对于突发或不频繁的工作负荷而言经济高效。
- 持久(始终在线)的节点池。 配置的最小节点数大于零。 永久性池可保证延迟敏感工作负荷的可用容量,但代价是空闲 VM 消耗。
先决条件和工件
超级计算机部署需要以下工件:虚拟网络和子网、托管身份、容器映像以及工具的资源定义。
网络基础结构
超级计算机在你的 Azure 环境中运行,因此需要由你提供网络配置,以便将 HPC 集群与企业网络和安全控制措施集成。
超级计算机需要一个Azure虚拟网络,并使用两个子网,一个用于系统业务流程和管理组件,另一个用于计算节点。 这两个子网必须驻留在同一虚拟网络中,并且系统子网必须连接到节点池子网,以便控制平面可以协调计划和运行状况检查。
安全性和标识
Supercomputer 使用Azure托管标识与其他Azure服务交互并管理 VM。
- 群集标识。 一个在部署时分配给超级计算机的用户分配的托管标识。 控制平面使用此标识来执行群集操作,例如装载存储和从 Azure 容器注册表 (ACR) 拉取容器映像。
- 节点 (kubelet) 身份。 分配给节点 VM 的第二个托管标识,用于授予它们对 ACR(用于工具映像)等资源的访问权限。 kubelet 标识的范围可以比群集标识更窄,但它必须在群集标识上保留托管标识操作员角色。 这种排列方式允许节点 VM 对特定操作使用群集标识特权,而无需公开凭据,从而保持控制平面与节点平面之间的分离。
- 工作负载标识。 Discovery 支持为超级计算机的计算平面、管理平面和运维平面分别设置独立标识。 工作负载标识允许工具使用Azure标识管理,而无需管理机密。
- 映像注册表访问权限。 工具容器映像通常存储在 ACR 或其他容器注册表中。 超级计算机标识需要拉取访问权限。 配置 ACR 以通过 Microsoft Entra ID 信任超级计算机的托管标识,而非直接管理 Docker 凭据。
- 托管资源组。 创建超级计算机会在你的订阅中创建一个托管资源组,其中包含底层 Azure 资源,例如虚拟机规模集。 发现代表你管理此资源组,与其他资源组分开。 确保你的订阅拥有足够的配额来支持你计划使用的 VM 大小。 删除超级计算机会删除托管资源组。
工具容器映像和软件环境
发现工具使用 Docker 容器在超级计算机上运行。 映像必须包含工具所需的二进制文件、库和代码。 映像必须与默认为 Linux 的节点操作系统兼容。 当工具运行时,平台会将其映像从配置的注册表拉取到分配的节点上。 自备工具必须包含基础镜像中未提供的所有驱动程序。
部署顺序
以下序列概述了如何部署和使用组件。
- 创建超级计算机(控制平面)。 管理员通过 Azure 门户、Azure CLI或 ARM 模板部署超级计算机资源。 部署指定名称和区域,链接所需的子网,并分配托管标识。
- 预配 HPC 集群(数据平面)。 发现会自动创建托管资源组,并为群集部署资源、提示子网配置和基线环境。
- 定义节点池(控制平面)。 管理员为超级计算机创建一个或多个节点池,指定 VM 大小、节点子网和缩放参数。 发现负责管理托管资源组中相应的虚拟机规模集。 启用自动扩缩时,池可以从零个节点启动;如果是持久池,则可以按配置的最小节点数启动。
- 注册工具与代理(控制平面)。 工具作者在发现目录中注册工具,提供每个工具的容器映像位置和资源要求。 然后,代理可以调用已注册的工具。
- 执行工作负载(数据平面)。 当用户通过Copilot或代理工作流启动作业时,Discovery 会协调运行并在相应的节点池上调用所需的工具。
- 监控并完成任务。 控制平面通过作业队列、日志和运行状况检查来监控正在运行的作业。 用户通过Copilot接收状态更新。 作业完成后,结果将写入指定的存储,容器将终止。 自动缩放池中的空闲节点会被解除分配。
- 迭代与扩展。 如果需要,用户可以查看结果并调度后续运行。 节点池按需缩放,管理员可以调整现有池的大小,或者随着工作负荷的发展而添加新池。
与 Microsoft.Discovery/storages 集成
Discovery 通过 Microsoft.Discovery/storages 资源类型将 Supercomputer 与 Azure HPC 存储集成。 对于需要高性能文件存储的工作负荷,Azure NetApp 文件是一个合适的选项。
数据容器和数据资产
除了存储基础结构,Discovery 还通过 DataContainers 和数据资产管理科学数据。 这两者都是工具执行管道不可或缺的一部分,在发现项目中定义。
数据容器
DataContainer 是一种逻辑数据存储,它抽象化基础存储技术,并跨 Azure Blob 存储、发现存储和其他后端向 AI 代理提供一致的接口。 DataContainers 提供:
- 存储抽象。 跨存储后端进行统一访问。
- 存取控制。 安全访问凭据管理
- 集成。 存储资源和研究工具之间定义的集成点。
数据容器表示为链接到特定存储帐户或卷的 Microsoft.Discovery.DataContainer 资源。
数据资产
数据资产表示 DataContainer 内的单个文件、数据集或集合。 数据资产提供:
- 组织。 按任务、作业或项目分组。
- 来源。 关于数据来源和转换的记录。
- 元数据。 可提高可发现性的描述性属性。
- 工具输入/输出。 用于使用和生成数据的工具的结构化机制。
数据资产元数据描述资产的内容、格式和关系,使资产能够参与复杂的工作流。