通过


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

Azure上的高性能计算 (HPC)

HPC 简介

高性能计算(HPC)也称为 大型计算,使用大量基于 CPU 或 GPU 的计算机来解决复杂的数学任务。

许多行业使用 HPC 解决某些最困难的问题。 其中包括下述工作负荷:

  • 基因组学
  • 石油和天然气模拟
  • Finance
  • 半导体设计
  • 工程
  • 天气建模

云上的 HPC 有何不同?

本地和云中的 HPC 系统的一大区别是能否根据需要动态添加和删除资源。 动态缩放消除了计算容量这一瓶颈,允许客户根据作业要求调整其基础结构的大小。

以下文章更详细地介绍了此动态缩放功能。

实施检查表

在Azure上实现自己的 HPC 解决方案时,请确保已查看以下主题:

基础结构

有许多基础结构组件是构建 HPC 系统所必需的。 不管你选择如何管理 HPC 工作负荷,都需要使用计算、存储和网络基础组件。

计算

Azure提供了一系列经过优化的大小,可用于 CPU 和 GPU 密集型负载。

基于 CPU 的虚拟机

支持 GPU 的虚拟机

N 系列的 VM 具备为计算密集型或图形密集型应用程序(包括人工智能 (AI) 学习和可视化)设计的 NVIDIA GPU。

存储

大规模的批处理和 HPC 工作负荷具有超过传统云文件系统功能的数据存储和访问需求。 有许多解决方案在 Azure 上管理 HPC 应用程序的速度和容量需求:

有关在 Azure 中比较 Lustre、GlusterFS 和 BeeGFS 的详细信息,请查看《Azure 上的并行文件系统》电子书和《Azure 上的 Lustre》博客。

网络

H16r、H16mr、A8、A9 VM 可以连接到高吞吐量后端 RDMA 网络。 此网络可以改善在Microsoft消息传递接口下运行的紧密耦合并行应用程序的性能,这更称为 MPI 或 Intel MPI。

管理

DIY

在Azure从头开始构建 HPC 系统可提供大量的灵活性,但它通常是非常密集的维护密集型系统。

  1. 在Azure虚拟机或 虚拟机规模集 中设置自己的群集环境。
  2. 使用Azure 资源管理器模板部署领先的工作负载管理器、基础设施和应用程序。
  3. 选择包含 MPI 或 GPU 工作负载专用硬件和网络连接的 HPC 和 GPU VM 大小
  4. 为 I/O 密集型工作负荷添加 高性能存储

混合和云突发

如果您有一个现有的本地部署 HPC 系统需要连接到 Azure,可以通过多种工具和资源帮助您开始。

首先,请查看文档中的 Options,了解如何将本地网络连接到 Azure 一文。 在此处可以找到有关这些连接选项的其他信息:

安全建立网络连接以后,即可通过现有工作负载管理器的突发功能根据需要使用云计算资源。

市场解决方案

Microsoft Marketplace 中提供了许多工作负荷管理器。

Azure Batch

Azure Batch是一种平台服务,用于在云中高效运行大规模并行和 HPC 应用程序。 Azure Batch安排计算密集型的工作在虚拟机的托管计算池上运行,并且可以自动缩放计算资源以满足作业的需求。

SaaS 提供商或开发人员可以使用 Batch SDK 和工具将 HPC 应用程序或容器工作负载与 Azure 集成,将数据暂存到 Azure,并构建作业执行管道。

在Azure Batch所有服务都在云上运行。 下图展示了结合使用 Azure Batch 的体系结构,其中可伸缩性和作业计划配置在云中运行,而结果和报表则可以发送到您的本地环境。

图示出适用于 Azure Batch 的示例 HPC 架构。

Azure CycleCloud

Azure CycleCloud 提供在Azure上使用任何计划程序(如 Slurm、网格引擎、HPC Pack、HTCondor、LSF、PBS Pro 或交响乐)管理 HPC 工作负荷的最简单方法

CycleCloud 允许执行以下操作:

  • 部署全部群集和其他资源,包括计划程序、计算 VM、存储、网络和缓存
  • 协调作业、数据和云工作流
  • 允许管理员完全控制运行作业的具体用户、位置和成本
  • 通过高级策略和治理功能(包括成本控制、Active Directory集成、监视和报告)自定义和优化群集
  • 无需修改即可使用当前的作业计划程序和应用程序
  • 利用内置的自动缩放和经过测试的引用体系结构处理广泛的 HPC 工作负荷和行业工作负荷
混合/云突发模型

在此混合示例示意图中,我们可以清楚地看到这些服务在云和本地环境之间的分布情况。 有可能实现在这两个工作负载中运行作业。 图示显示了在混合环境中 Azure 的 CycleCloud 示例 HPC 架构。

云原生模型

以下云本机模型示例图显示了云中的工作负荷如何处理所有内容,同时仍会保护与本地环境的连接。

Diagram 显示了一个在 Azure 上的 CycleCloud 云原生模型示例 HPC 体系结构。

比较图表

功能 Azure Batch Azure CycleCloud
计划程序 Azure 门户中的 Batch API 和工具和命令行脚本(云原生)。 使用标准 HPC 计划程序(如 Slurm、PBS Pro、LSF、Grid Engine 和 HTCondor),或扩展 CycleCloud 自动缩放插件以使用你自己的计划程序。
计算资源 服务型软件节点 - 平台即服务 平台即服务软件 - 平台即服务
监控工具 Azure Monitor Azure Monitor,格拉法纳
自定义 自定义映像池、第三方映像、Batch API 访问权限。 使用综合 RESTful API 自定义和扩展功能,部署您自己的调度程序,并将其集成到现有的工作负载管理器中。
集成 Microsoft Fabric、Azure 数据工厂、Azure CLI中的数据工厂 适用于 Windows 和 Linux 的Built-In CLI
用户类型 Developers 经典 HPC 管理员和用户
工作类型 Batch、工作流 紧密耦合(消息传递接口/MPI)。
Windows支持 是的 因选择的计划程序而异

工作负荷管理器

下面是可在Azure基础结构中运行的群集和工作负荷管理器的示例。 在 Azure VM 中创建独立群集,或从本地群集扩展至 Azure VM。

容器

也可使用容器来管理某些 HPC 工作负荷。 Azure Kubernetes 服务 (AKS)等服务使在Azure中部署托管 Kubernetes 群集变得简单。

成本管理

可以通过几种不同的方式管理Azure上的 HPC 成本。 确保已查看 Azure 购买选项以查找最适合组织的方法。

安全性

有关Azure的安全最佳做法的概述,请查看 Azure 安全文档

除了“云突发”部分提供的网络配置以外,还可实现中心/辐射型配置来隔离计算资源:

HPC 应用程序

在 Azure 中运行自定义或商业 HPC 应用程序。 本节中几个示例已经通过基准测试,以验证它们可以随着增加更多的虚拟机或计算核心而高效地扩展。 请访问 Microsoft Marketplace,获取随时可用的解决方案。

注释

请向商业应用程序的供应商咨询有关在云中运行的许可或其他限制。 并非所有供应商都提供即用即付许可。 可能需要云中有一个用于自己的解决方案的许可服务器,或连接到本地许可证服务器。

工程应用程序

图形和渲染

AI 和深度学习

MPI 提供程序

远程可视化

在与 HPC 输出相同的区域中Azure运行 GPU 支持的虚拟机,以降低延迟、访问,并通过Azure 虚拟桌面远程可视化。

性能基准

其他重要信息

  • 在尝试运行大规模工作负荷之前,请确保 vCPU 配额 已增加。

后续步骤

有关最新公告,请参阅以下资源:

Microsoft Batch 示例

这些教程将提供有关在 Microsoft Batch 上运行应用程序的详细信息: