Azure 上的计算机辅助工程服务
为 Azure 上的计算机辅助工程 (CAE) 提供软件即服务 (SaaS) 平台。
你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
高性能计算 (HPC) 也称“大型计算”,使用大量基于 CPU 或 GPU 的计算机来解决复杂的数学任务。
许多行业使用 HPC 解决某些最困难的问题。 其中包括下述工作负荷:
本地和云中的 HPC 系统的一大区别是能否根据需要动态添加和删除资源。 动态缩放消除了计算容量这一瓶颈,允许客户根据作业要求调整其基础结构的大小。
以下文章更详细地介绍了此动态缩放功能。
若要在 Azure 上实现自己的 HPC 解决方案,请确保参阅以下主题:
有许多基础结构组件是构建 HPC 系统所必需的。 不管你选择如何管理 HPC 工作负荷,都需要使用计算、存储和网络基础组件。
可以通过许多不同的方式在 Azure 上设计和实现 HPC 体系结构。 HPC 应用程序可扩展到数千个计算核心,扩展本地群集或作为 100% 的云原生解决方案来运行。
以下方案概述了生成 HPC 解决方案的一些常见方式。
为 Azure 上的计算机辅助工程 (CAE) 提供软件即服务 (SaaS) 平台。
使用 Azure Batch 服务在 Azure 中运行本机 HPC 工作负荷
Azure 提供一系列已针对 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)下运行的紧密耦合的并行应用程序的性能。
在 Azure 上从头开头构建 HPC 系统可以为你带来极大的灵活性,但通常需要进行很密集的维护。
若要将现有的本地 HPC 系统连接到 Azure,由许多有用的资源可以帮助你入门。
首先,请参阅文档中的将本地网络连接到 Azure 的选项一文。 在此处可以找到有关这些连接选项的其他信息:
此参考体系结构演示如何使用站点到站点虚拟专用网络 (VPN) 将本地网络扩展到 Azure。
实施这样一个高度可用且安全的站点到站点网络体系结构:跨 Azure 虚拟网络,以及使用 ExpressRoute 和 VPN 网关故障转移建立连接的本地网络。
安全地建立网络连接以后,即可通过现有工作负荷管理器的突发功能根据需要使用云计算资源。
Azure 市场中提供许多工作负荷管理器。
Azure Batch 是一个平台服务,适用于在云中有效运行大规模并行和 HPC 应用程序。 Azure Batch 可以计划要在托管的虚拟机池上运行的计算密集型工作,并且可以自动缩放计算资源以符合作业的需求。
SaaS 提供商或开发商可以使用 Batch SDK 和工具将 HPC 应用程序或容器工作负荷与 Azure 集成,将数据暂存到 Azure,并生成作业执行管道。
Azure Batch 所有服务都在云中运行,下图显示了 Azure Batch 体系结构的外观,即在云中运行可伸缩性和作业计划配置,同时还可以将结果和报表发送到本地环境。
Azure CycleCloud 提供的在 Azure 上使用任何计划程序(例如 Slurm、Grid Engine、HPC Pack、HTCondor、LSF、PBS Pro 或 Symphony)管理 HPC 工作负荷的方法是最简单的
CycleCloud 允许执行以下操作:
在此混合示例示意图中,我们可以清楚地看到这些服务在云和本地环境之间的分布情况。 有可能实现在这两个工作负荷中运行作业。
下面的云原生模型示例示意图显示了云中的工作负荷如何处理所有内容,同时仍保留与本地环境的连接。
功能 | Azure Batch | Azure CycleCloud |
---|---|---|
计划程序 | Azure 门户(云原生)中的 Batch API、工具和命令行脚本。 | 使用标准 HPC 计划程序(如 Slurm、PBS Pro、LSF、Grid Engine 和 HTCondor),或扩展 CycleCloud 自动缩放插件以使用你自己的计划程序。 |
计算资源 | 服务型软件节点 - 平台即服务 | 平台即服务软件 - 平台即服务 |
监视工具 | Azure Monitor | Azure Monitor、Grafana |
自定义 | 自定义映像池、第三方映像、Batch API 访问权限。 | 使用综合 RESTful API 自定义和扩展功能,部署自己的计划程序,并支持现有的工作负荷管理器 |
集成 | Synapse Pipelines、Azure 数据工厂、Azure CLI | 适用于 Windows 和 Linux 的内置 CLI |
用户类型 | 开发人员 | 经典 HPC 管理员和用户 |
工作类型 | Batch、工作流 | 紧密耦合(消息传递接口/MPI)。 |
Windows 支持 | 是 | 因选择的计划程序而异 |
下面是可在 Azure 基础结构中运行的群集和工作负荷管理器示例。 在 Azure VM 中创建独立的群集,或从本地群集迸发到 Azure VM。
也可使用容器来管理某些 HPC 工作负荷。 可以使用 Azure Kubernetes 服务 (AKS) 之类的服务在 Azure 中轻松地部署托管的 Kubernetes 群集。
可以通过多种不同的方式管理 Azure 上的 HPC 成本。 确保已查看 Azure 购买选项,找出最适合自己组织的方法。
若要大致了解 Azure 上有关安全性的最佳做法,请参阅 Azure 安全性文档。
除了云突发部分提供的网络配置,可实现一项中心辐射型配置,以便隔离计算资源:
中心是 Azure 中的一个虚拟网络 (VNet),充当到本地网络的连接的中心点。 分支是与中心对等互连的 VNet,可用于隔离工作负荷。
此参考体系结构在中心辐射型参考体系结构的基础上生成,在中心包括了可供所有分支使用的共享服务。
在 Azure 中运行自定义 HPC 应用程序或商业 HPC 应用程序。 本部分中的几个示例已成为使用更多 VM 或计算核心高效进行缩放的基准。 请访问 Azure 市场获取随时可供部署的解决方案。
注意
请向商业应用程序的供应商咨询有关在云中运行的许可或其他限制。 并非所有供应商都提供即用即付许可。 可能需要云中有一个用于自己的解决方案的许可服务器,或连接到本地许可证服务器。
在与 HPC 输出相同的区域中,在 Azure 中运行 GPU 支持的虚拟机,以实现最低延迟、访问,并通过 Azure 虚拟桌面进行远程可视化。
许多客户在将 Azure 用于其 HPC 工作负荷时都很成功。 可以在下面找到多个这样的客户案例研究:
有关最新公告,请参阅以下资源:
这些教程将详细介绍如何在 Microsoft Batch 上运行应用程序: