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

大型计算体系结构样式

术语 大计算 描述了可能需要数百或数千个核心的大型工作负荷。 需要大型计算的用例包括图像渲染、流体动力学、财务风险建模、石油勘探、药物设计和工程压力分析。

说明大型计算体系结构样式的关系图。

以下特征在大型计算应用程序中很常见:

  • 工作可以拆分为可同时跨多个核心运行的离散任务。

  • 每个任务都是有限的。 它采用输入、处理输入并生成输出。 整个应用程序可以运行几分钟到几天,但它在有限的时间内运行。 常见的模式是在突发中预配大量核心,然后在应用程序完成时将核心数减少到零。

  • 应用程序不需要持续运行。 但是,系统必须处理节点故障或应用程序崩溃。

  • 对于某些应用程序,任务是独立的,可以并行运行。 在其他情况下,任务紧密耦合,这意味着它们必须交互或交换中间结果。 在这种情况下,请考虑使用高速网络技术,如 InfiniBand 和远程直接内存访问(RDMA)。

  • 根据工作负荷,可以使用 H16r、H16mr 和 A9 等计算密集型虚拟机(VM)大小。

何时使用此体系结构

  • 计算密集型作,例如模拟和数字处理

  • 计算密集型且必须在数百或数千台计算机中跨 CPU 拆分的模拟

  • 需要一台计算机内存过多且必须跨多台计算机拆分的模拟

  • 长时间运行的计算,在单个计算机上完成需要太长的时间

  • 必须运行数百次或数千次的较小计算,例如蒙特卡洛模拟

优点

  • 高性能与 尴尬的并行 处理

  • 能够使用数百或数千个计算机核心更快地解决大型问题

  • 访问使用专用高速 InfiniBand 网络的专用高性能硬件

  • 根据需要预配和删除 VM 的功能

挑战

  • 管理 VM 基础结构

  • 管理数字处理量

  • 及时预配数千个核心

  • 对于紧密耦合的任务,添加更多核心可能会减少回报。 可能需要进行试验才能找到最佳核心数。

使用 Azure Batch 进行大型计算

Azure Batch 是用于运行大规模高性能计算(HPC)应用程序的托管服务。

使用 Batch 配置 VM 池并上传应用程序和数据文件。 Batch 服务预配 VM、将任务分配给 VM、运行任务并监视进度。 Batch 可以自动横向扩展 VM 以响应工作负荷。 Batch 还提供作业计划。

使用 Batch 的大计算体系结构示意图。

在 VM 上运行的大计算

可以使用 Microsoft HPC Pack 来管理 VM 群集并计划和监视 HPC 作业。 如果使用此方法,则必须预配和管理 VM 和网络基础结构。 如果有现有的 HPC 工作负载,并且想要将其部分或全部移动到 Azure,请考虑此方法。 可以将整个 HPC 群集移动到 Azure,也可以将 HPC 群集保留在本地,并使用 Azure 来突发容量。 有关详细信息,请参阅 Azure 上的 HPC

部署到 Azure 的 HPC Pack

在此方案中,HPC 群集完全在 Azure 中创建。

显示部署到 Azure 的 HPC Pack 的关系图。

头节点向群集提供管理和作业计划服务。 对于紧密耦合的任务,请使用 RDMA 网络,该网络在 VM 之间提供高带宽、低延迟的通信。 有关详细信息,请参阅 Microsoft HPC Pack 2019 概述

将 HPC 群集突发到 Azure

在此方案中,在本地运行 HPC Pack,并使用 Azure VM 进行突发容量。 群集头节点在本地。 Azure ExpressRoute 或 Azure VPN 网关将本地网络连接到 Azure 虚拟网络。

显示混合大型计算群集的关系图。