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

在 Azure VM 中计算大规模 HPC 应用程序工作负载

术语“大型计算”(用于引用 HPC)描述需要大量核心的大型工作负荷,通常以数百或数千个为单位。 方案包括图像渲染、流体动力学、金融风险建模、石油勘探、药物设计和工程应力分析等等。

以下是大型计算应用程序的典型特征:

  • 工作可拆分为离散的任务,这些任务可以跨多个核心同时运行。
  • 各任务都是有限的。 接收一些输入,执行某些处理操作,然后生成输出。 整个应用程序的运行时间(从数分钟到数天)有限。 常见的模式是在突发中设置多个核心,然后在应用程序完成后向下旋转到零。
  • 应用程序不需要保持 24/7。 但系统必须处理节点故障或应用程序崩溃。
  • 对于某些应用程序,任务是独立的且可并行运行。 在其他情况下,任务紧密耦合,这意味着它们必须交互或交换中间结果。 在该情况下,请考虑使用 InfiniBand 和远程直接内存访问 (RDMA) 等高速联网技术。
  • 可以根据工作负载,使用不同大小的计算密集型 VM(H16r、H16mr 和 A9)。

Azure 任务示意图。

Azure 提供了一系列 VM 实例,这些实例针对 CPU 和 GPU 密集型工作负荷(计算和可视化)进行了优化。 VM 非常适合用于运行石油和天然气工作负荷。

Azure 是唯一提供启用了 InfiniBand 的硬件的 VM 实例的云平台。 此功能为运行水库模拟和地震工作负荷提供了显著的性能优势。 性能的提高缩小了性能差距,并导致性能接近或优于当前本地基础结构。

Azure VM 具有许多不同的选项,称为 VM 大小。 HPC 和 GPU 优化计算有不同的 VM 大小系列。 为要使用的工作负荷选择合适的 VM 大小。 有关选择 VM 大小的详细信息,请参阅 Azure 选择器工具中 VM 的大小。

并非所有 Azure 产品都适用于全部 Azure 区域。 有关详细信息,请参阅当前可用 Azure 产品(按区域分)的列表。

有关 Azure 计算中选项的最佳做法,请参阅 Azure 计算博客 或查看 Azure 计算服务 内容以选择服务。

基于 CPU 的虚拟机

支持 GPU 的虚拟机

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

HPC SKU 专为高性能方案而构建。 但 Azure 还提供其他 SKU,这些 SKU 可能适用于在 HPC 基础结构上运行的某些工作负荷。 可以在成本较低的硬件上有效地运行这些 SKU。 一些常用的计算 SKU 是 E 和 F 系列。

HPC 设计注意事项

作业计划程序 是一项专用服务,用于计划在虚拟机的托管池上运行计算密集型工作。 可以自动缩放计算资源以满足作业的需求。

Azure Batch 是用于运行大规模 HPC 应用程序的托管服务。 使用 Azure Batch 配置 VM 池,然后上传应用程序和数据文件。 然后 Batch 服务配置 VM、将任务分配给 VM、运行任务并监视进度。 Batch 可以自动纵向扩展和缩减 VM,以响应更改的工作负荷。 Batch 还提供作业计划功能。

Azure CycleCloud 是一种工具,用于在 Azure 中创建、管理、操作和优化 HPC 和大型计算群集。 使用 Azure CycleCloud,用户可以动态配置 HPC Azure 群集,并协调混合和云工作流的数据和作业。 Azure CycleCloud 提供了使用各种工作负载管理器(例如网格引擎、HPC Pack、HTCondor、LSF、PBS Pro、Slurm 或交响乐)管理 HPC 工作负荷的最简单方法。

HPC 设计建议

  • 水库和地震工作流通常对计算和作业计划有类似的要求。
  • 虽然考虑到网络需求,但对于内存密集型地震成像和水库模拟,Azure HPC 提供 HBv2 和 HBv3 VM 大小。
  • 将 HB VM 用于内存带宽绑定应用程序和 HC VM 进行计算绑定水库模拟。
  • 使用 NV VM 进行 3D 油藏建模并将地震数据可视化。
  • 对于 GPU 加速地震 FWI 分析,建议使用 NCv4 解决方案。 对于更多的数据密集型 RTM 处理,NDv4 SKU 是最佳选择,因为 NVMe 驱动器的累积容量为 7 TB。 若要在具有 MPI 工作负荷的 HB 系列 VM 上获得最佳性能,请优化进程固定到处理器的核心。 有关详细信息,请参阅 Azure HB 系列 VM 的最佳 MPI 进程放置博客文章。 还提供了专用工具,以确保正确固定并行应用程序进程,如此处所述。
  • 由于 NDv4 系列 VM 的复杂体系结构,在配置 VM 时请务必特别注意,以确保以最佳方式启动 GPU 加速的应用程序。 有关 Azure 高性能计算的详细信息,请参阅 Azure 可缩放的 GPU VM 博客文章。

HPC 参考体系结构

以下是能源 HPC 环境的用例和参考体系结构。

石油和天然气地震和储层模拟参考体系结构用例

通常,水库和地震工作流对计算和作业计划有类似的要求。 但是,地震工作负荷会挑战存储上的基础结构,并具有可能以数百 GB 为单位的多 PB 存储和吞吐量要求。 例如,单个地震处理项目可能以 500 TB 的原始数据开头,这可能需要数 PB 的长期存储。 以下是目前提供的一些参考体系结构,可帮助你成功实现在 Azure 中运行应用程序的目标。

地震处理的用例和参考体系结构

地震处理和成像是石油和天然气业务的基础,因为它们创造了勘探数据中地下的模型。 地质学家通常执行资格和量化地下可能发生的事情的过程。 地理科学家使用通常绑定到数据中心和云的软件。 有时,他们使用虚拟桌面技术或云中访问软件。

子表面模型的质量和数据的质量和分辨率对于就租赁投标或决定钻取位置做出正确的业务决策至关重要。 地震图像解释图像可以改善井的位置,并减少钻取“干洞”的风险。 对于石油和天然气公司来说,更好地了解地下结构直接转化为降低勘探风险。 基本上,公司对地质区域的准确率越高,钻探石油的机会就越好。

此作业是数据密集型和计算密集型作业。 该公司需要处理数 TB 的数据,需要大量且快速的计算能力,包括快速网络。 由于地震成像的数据和计算密集型性质,公司使用并行计算来处理数据并减少编译和完成时间。 公司无情地处理大量的地震收购数据,以定位、准确量化和限定在恢复操作开始前在地下发现的储层中的碳氢化合物含量。 由于购置数据是非结构化的,并且可以轻松达到一个潜在油气田的 PB 级,因此,地震处理活动只能通过 HPC 和适当的数据管理策略在有意义的时间范围内完成。

网络互连计算和存储图 - 地震解释和建模。

网络参考体系结构示意图 - 地震处理。

水库模拟和建模的用例和参考体系结构

水库建模还对水饱和度、孔隙率和渗透性等物理地下特征进行了值。 此数据对于确定要部署的恢复方法和设备以及最终最适合定位井的位置非常重要。

水库建模工作负荷也是水库工程的一个领域。 工作负荷将水库模型中的物理、数学和计算机编程相结合,以随时间推移分析和预测水库中的流体行为。 此分析需要高计算能力,通常需要大型计算工作负载需求,包括快速网络。

网络参考体系结构示意图 - 水库模拟。

网络互连计算和存储地震分析示意图。

有关支持 HPC 用于能源用例的相关 HPC ISV 应用程序的参考体系结构或指南的详细信息,请参阅:

后续步骤

以下文章提供有关能源 HPC 环境云采用旅程中每个步骤的指导。