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

HPC 登陆区域

适用于 Azure 的云采用框架的 就绪方法 可指导你为云采用准备环境。 在就绪阶段,可以使用 Azure 登陆区域。 登陆区域是一种技术加速器,为任何云采用环境提供基本构建基块。 登陆区域可以自动配置 Azure 环境,并符合云采用框架中的最佳做法指南。 在准备高性能计算(HPC)时,可能会遇到依赖于行业用例和要求的环境配置。

Azure 登陆区域概念体系结构

在为持续的云采用准备环境时,可以使用 Azure 登陆区概念架构来表示目标状态。 对于 HPC,有多个概念架构参考,这些参考基于云采用框架目前针对的三个行业:

在为登陆区域制定长期愿景时,请考虑这些体系结构参考。 这些参考提供了一个入手点。 根据组织的业务需求和最终用户的需求,可能需要对其进行修改。

HPC 评估

在战略影响评估和技术规划期间做出的决策会影响为 Azure 上的 HPC 部署选择的登陆区域配置。 建议考虑以下问题:

  • Azure 上的环境有多成熟? 它是否处于概念验证阶段? 或者它已经是为用户提供服务的成熟应用程序了吗? 根据其阶段,可以包括或省略治理、安全或资源组织。
  • 你在 Azure 上构建的应用程序是短期项目还是长期项目? 此问题的回答可以帮助你选择计算和存储选项。
  • 你的组织是否需要用户访问不同级别的 Azure 资源?

从这些问题中可以看到,部署模型因业务、行业和应用程序使用情况而异。

HPC 的 Azure 登陆区域加速

Azure BatchAzure CycleCloud 都是 Azure 提供的服务。 适用于 Slurm 的 Azure CycleCloud 工作区 是一个 Azure 市场解决方案模板,允许用户使用 Azure CycleCloud 轻松创建、配置和部署预定义的 Slurm 群集,而无需事先了解 Azure 或 Slurm。

Azure Batch

  • Batch 旨在高效在 Azure 中运行大规模并行和 HPC 批处理作业。
  • Batch 创建和管理计算节点或虚拟机(VM)池。 还可以使用 Batch 安装要运行的应用程序,以及计划要在节点上运行的作业。
  • 没有用于安装、管理或缩放的群集或作业计划程序软件。
  • Batch 在固有并行的工作负载上运行良好。 这些工作负荷具有可以独立运行的应用程序,每个实例都已完成部分工作。
  • 还可以使用 Batch 来运行紧密耦合的工作负荷,其中运行的应用程序需要相互通信,而不是独立运行。
  • Batch 任务可以直接在 Batch 池中的 VM 或节点上运行。 您还可以设置一个批处理池,以便在节点上的 Docker 兼容容器中运行任务。

Azure CycleCloud

  • 它支持各种 HPC 计划程序,例如 SLURM、OpenPBS、PBSPro、LSF 和网格引擎。
  • 它允许为 HPC 系统预配基础结构,例如虚拟机、规模集、网络接口和磁盘。
  • 它根据作业负载、可用性和时间要求自动缩放基础结构,以在任何规模上高效运行作业。
  • 它提供了丰富的声明性模板化格式,用于在 Azure 上构造完整的 HPC 环境。
  • 它与 Azure 服务(如 Azure Monitor 和 Microsoft 成本管理工具)集成。

适用于 Slurm 的 Azure CycleCloud 工作区

  • 适用于 Slurm 的 Azure CycleCloud 工作区为 Azure 上的基本 HPC 基础结构提供端到端部署机制。 它使用 Azure CycleCloud 高效协调 Slurm 群集中的作业。
  • 它提供一个完整的 HPC 群集解决方案,可供用户运行应用程序,并且使 HPC 管理员可以轻松部署和管理应用程序。
  • 它包括与 Open OnDemand 的集成,用于统一用户访问、远程 shell 访问、作业提交和文件访问。
  • 它使用简单 Linux 实用工具作为作业计划程序进行资源管理(SLURM)。
  • 动态资源预配和自动缩放通过 CycleCloud 预配置的作业队列和集成的运行状况检查来实现,以快速避免非最佳节点。
  • 它可以部署或使用现有的 Azure NetApp 文件实例作为主目录和应用程序的共享文件系统。
  • 它可以部署 Azure Managed Lustre 或使用现有的 Azure Managed Lustre 作为应用程序数据的共享文件系统。
  • 部署的群集预配置了 PMIx v4、Pyxis 和 Enroot,以支持容器化 AI 和 HPC Slurm 作业。

比较图表

功能 Azure Batch Azure CycleCloud
计划程序 Batch API 和工具可用。 还可以在 Azure 门户中使用云原生命令行脚本。 可以使用标准 HPC 计划程序,例如 SLURM、OpenPBS、PBSPro、LSF 和网格引擎。 或者,可以扩展 Azure CycleCloud 自动缩放插件,以使其与您自己的调度器一起工作。
计算资源 软件即服务(SaaS)节点 - 平台即服务(PaaS)。 PaaS 软件 – PaaS。
自定义 可以使用自定义映像池、第三方映像或通过 Batch API 进行访问。 可以使用全面的 RESTful API 来自定义和扩展功能,部署自己的调度器并支持现有的工作负载管理器。
集成 Azure Synapse Analytics 管道、Azure 数据工厂和 Azure CLI。 适用于 Windows 和 Linux 的内置 CLI。
用户类型 开发 人员。 经典 HPC 管理员和用户。
工作类型 批处理和工作流。 使用消息传递接口(MPI)的紧密耦合工作流。
Windows 支持 提供。 取决于计划程序的选择。

Azure CycleCloud 和 Azure Batch 是 Azure 上 HPC 任务的强大工具,但它们专为不同的用例而设计。

Azure CycleCloud 是一种企业友好的工具,用于在 Azure 上协调和管理 HPC 环境。 它面向希望部署具有特定计划程序的 HPC 环境的 HPC 管理员和用户。 Azure CycleCloud 提供强大的工具,用于在 Azure 上构建完整的 HPC 环境,包括网络文件共享(NFS)服务器、并行文件系统、登录主机、许可证服务器和目录服务。 它适用于已经管理 HPC 环境一段时间的组织,这些组织积累了多年关于特定调度程序的专业知识和内部开发的工具。

相比之下,Batch 主要面向在自己的产品或服务中构建功能的开发人员和团队。 Batch 包含自己的计划程序,旨在高效运行大规模并行作业,而无需群集或作业计划程序软件。 如果不需要管理工作负载调度程序,Batch 就会非常有用。

总之,如果希望部署一个具有特定计划程序的 HPC 环境并需要一个完整的 HPC 环境,请使用 Azure CycleCloud。 当您开发需要大规模并行处理的产品或服务,并且不想管理工作调度程序时,请使用 Batch。

后续步骤