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

适用于 HPC 的 Azure Well-Architected 框架

Azure 高性能计算(HPC)计划概述了一个过程,用于合理化方案、确定技术工作的优先级以及确定工作负荷。 对于许多工作负荷,必须遵循一组体系结构原则。 这些原则有助于指导工作负荷的开发和优化。 Azure Well-Architected Framework 中介绍了这五种体系结构构造。 本指南概述了如何将这些原则应用于数据工作负荷的管理。

可靠性

万物都有可能出现故障。 数据管道并不例外。 出色的体系结构设计时考虑到可用性和复原能力。 关键注意事项是检测更改的速度以及恢复操作的速度。

数据环境应考虑弹性体系结构、跨区域冗余、服务级别、服务级别协议 (SLA) 以及关键支持。 通过使用集成的监视和通知框架,现有环境还应该包括审核、监视和警报。

在这些环境控制措施的基础上,工作团队应考虑:

  • 执行更多体系结构修改以提高服务级别 SLA。
  • 设置冗余的特别工作负载架构。
  • 建立超越云运营团队提供的功能的监视和通知流程。

混合型 ExpressRoute 连接

为了支持任务关键型 HPC 工作负荷,请使用 Azure ExpressRoute 高可用性配置。 即使在单点高可用性设置中,您可能拥有冗余的 ExpressRoute 连接,但无法让您免于单个边缘站点停机问题。 在两个设施中启用两个连接时,如果主要位置发生灾难,冗余可让业务继续。 通过使用 ExpressRoute 高可用性,可以在单个区域中发生 ExpressRoute 中断时帮助确保与 Azure 的连接。

建议

  • 在两个不同的 ExpressRoute 边缘站点位置中启用两条 ExpressRoute 线路,以实现最大冗余。
    • 此设置要求你在 Azure 门户中为两个不同的 ExpressRoute 边缘站点位置建立两条 ExpressRoute 线路。 然后,将两条 ExpressRoute 线路连接到 Azure 中的同一虚拟网络。
    • 将两个边缘站点位置放置在同一 Azure 区域中。 它提供了冗余,以防其中一个对等互连位置发生故障。 两个 ExpressRoute 连接都终止于 Azure 中的同一虚拟集线器网络。 查看 ExpressRoute 位置和连接合作伙伴 的列表,以规划 ExpressRoute 对等互连位置。
    • 请与提供商合作,配置第二个 ExpressRoute 站点。
    • 通过将失败的流量转移到第二个位置,确保第二个连接正常工作,这至关重要。 执行常规演练以确保连接。

有关最大复原能力 ExpressRoute 配置的详细信息,请参阅 ExpressRoute 的灾难恢复设计

安全性

将安全原则应用于 HPC 环境,以提供防范故意攻击和滥用有价值的数据和系统的安全措施。 了解如何保护您的用户操作系统映像和用户访问,并遵循 Azure Batch 和 Azure CycleCloud 的安全准则。 有关详细信息,请参阅 安全支柱的原则

操作系统映像

Azure 市场提供在群集中使用的基于 Linux 的 HPC 映像。 这些图像包含许多流行的库、软件包和诊断工具,例如:

  • 基于 InfiniBand 的消息传递接口 (MPI) 库。
  • Mellanox OFED。
  • 通过 InfiniBand 预配置的 IP。
  • 通信运行时。
  • Intel/AMD 优化软件库。
  • Azure HPC 诊断工具。

可以从映像开始,然后应用组织的安全策略来加强软件映像免受漏洞和网络威胁的影响。 验证后,可以在 Azure 计算库中保存新映像。 然后,可以使用映像在 Azure CycleCloud、Azure HPC 和 Batch 中创建虚拟机。

用户访问权限

  • 定义每个函数的责任和职责分离的明确界限。
  • 根据需要了解和最低特权安全原则限制访问。
  • 通过 Azure 基于角色的访问控制将权限分配给特定范围内的用户、组和应用程序。 尽可能使用内置角色。
  • 防止通过管理锁删除或修改资源、资源组或订阅。
  • 使用托管标识访问 Azure 中的资源。
  • 支持单个企业目录。 使云和本地目录保持同步,但关键影响帐户除外。
  • 设置微软 Entra 条件访问。 在对所有用户进行身份验证时强制和衡量关键安全属性,尤其是对于关键影响帐户。
  • 使用无密码方法或选择新式密码方法。
  • 阻止旧协议和身份验证方法。

Azure Batch 安全性

遵循最佳做法为 Batch 启用安全性。

Azure CycleCloud 安全性

遵循最佳做法为 Azure CycleCloud 启用安全性。

成本优化

若要充分利用在 Azure 中运行环境,请确定成本管理和前期规划练习的优先级。 成本管理和规划通常是组织成功云迁移旅程的最重要注意事项。 Microsoft成本管理 提供了用于规划、分析和减少支出的工具,以最大化云投资。 有关规划和优化云成本的方式的详细信息,请参阅 成本管理计费最佳做法。 以下注意事项是成本优化中最重要的一些注意事项。

操作系统的选择

Linux 是 HPC 工作负荷的主要作系统。 Linux 是开源的,已针对性能进行了优化,以使用 HPC 基础结构。 因此,与 Windows 相比,MPI 库和 Infiniband 驱动程序在 Linux 上运行良好。 通过使用 Linux 虚拟机(VM)而不是 Windows 来设置 HPC 群集,绝对可以节省成本。 但是,某些用户可能会对 Windows 环境有很强的偏好,尤其是在执行工作负载(例如计算流体动力学)的预处理和后处理任务时。 在这种情况下,我们建议将 Windows 前端作业提交到 Linux 主机(头节点),该节点使用计算节点进行模拟。

自动缩放

自动缩放允许仅在提交作业或作业处于活动状态时设置和使用虚拟机。 作业完成后,节点会自动关闭。 通过使用自动缩放,可以调整应用程序使用的计算资源,从而节省时间和金钱。 默认情况下,Azure CycleCloud 在其计划程序中启用自动缩放。 关闭节点的默认时间限制为 15 分钟。 可以自定义时间限制。 时间限制有助于确保用户仅为其使用的内容付费。 Batch 提供了一种机制,用于将自动缩放公式与所选参数集成。 有关详细信息,请参阅Azure 中的自动缩放入门

即用即付与预留实例和现成实例

Azure 提供多种定价选项,包括即用即付;预留实例(一年或三年选项);以及受数据中心可用容量限制的抢占式实例。 即用即付实例经济高效,因为它们迎合了零星的容量需求。 如果对 HPC 有持续需求,或者有许多应用程序在 Azure HPC 上运行,预留实例可以证明是经济高效的选择。 这两者都非常适合生产就绪工作负荷。 现成实例适用于简短测试和试验,或者如果应用程序需要检查点,例如基因组学。 现成实例取决于数据中心的可用容量。 定价取决于这些因素。 可以在最低通知时间内逐出现成实例。

数据分类

HPC 工作负荷受益于高吞吐量存储。 例如,使用 Azure 托管 Lustre、Azure NetApp 文件或 BeeGFS 并行文件系统。 这些存储服务提供性能,但可能会付出代价。 请务必事先对数据进行分类,以便只有特定于应用程序的数据驻留在这些系统中。 所有其他数据可以驻留在低成本存储解决方案中,例如 Azure Data Lake Storage 或 Azure Blob 存储。

此外,按需设置 HPC 存储系统有助于确保数据同步到 Blob 存储等低成本存储服务。 当关闭高性能存储系统时,按需存储有助于确保数据保留在 Blob 存储中。 管理的 Lustre 和 NetApp 文件提供同步服务。

设置预算

Azure CycleCloud 允许你为每个群集设置预算,并且如果预算接近耗尽,可以向收件人发送通知。 对于 Batch,可以从 Azure 门户为 Batch 池或 Batch 帐户创建预算和支出警报。 存在任何透支风险时,预算和警报可用于通知利益干系人,不过,支出警报可能会有所延迟,并可能存在略微超出预算的情况。

卓越运营

使 HPC 应用程序在生产环境中运行时,部署必须可靠且可预测。 可靠且可预测的部署包括使用基础结构即代码(IaC)解决方案自动执行 HPC 工作负荷。 还必须执行节点运行状况检查来分析和监视 HPC 工作负荷。

有关部署建议的详细信息,请参阅 有关使用基础结构即代码的建议。 有关监视建议的详细信息,请参阅 有关设计和创建监视系统的建议

基础结构即代码

Azure 上的 HPC 部署多个资源,例如 Azure CycleCloud、HPC 群集、存储、可视化节点、许可证服务器等。 若要自动执行部署,我们建议使用行业标准工具(如 Terraform、Ansible 和 Packer)来简化该过程。

节点运行状况检查

Azure 托管 Grafana 是用于分析和监视解决方案的完全托管服务。 Grafana Labs 支持 Grafana 并提供可扩展的数据可视化效果。

性能效率

确保 HPC 环境能够高效地进行缩放,以便它可以满足用户对它的需求。 根据应用程序供应商建议为 HPC 应用程序选择适当的平台。 如果需要额外的基础结构来满足需求,投资容量规划。 当用户使用系统时监视 HPC 基础结构性能。

有关详细信息,请参阅 性能效率文章

为 HPC 应用程序选择正确的平台

Azure 为基于 Intel、AMD CPU 和 NVIDIA 和 AMD GPU 的 VM 提供了一系列平台。 尽管大多数应用程序都与可用内容兼容,但某些应用程序仅受益于特定类型的 CPU 或 GPU。 在将基础结构部署到云之前,请务必向应用程序供应商(ISV)提供建议,以了解以下需求。

  • 如果应用程序受内存限制、CPU 绑定或 GPU 绑定
  • 如果针对任何类型的 CPU 或 GPU 体系结构有性能建议
  • 如果有一种类型的 MPI 及其版本,他们的应用程序可以从中受益
  • 如果有关于计划程序类型的建议
  • 如果有关于并行文件系统中 IOPS/吞吐量的建议

投资容量计划

根据应用程序的类型及其许可证条件,查看许可证是否设置为使用特定数目的核心。 评估您的投资,使许可证能够用于 HPC,然后相应地规划容量。

监视基础结构的性能

  • 必须能够跟踪用户使用系统的方式、跟踪资源使用情况,并普遍监视系统的运行状况和性能。 可以使用此信息作为诊断帮助来检测和更正问题,并帮助发现潜在问题并防止它们发生。 有关可用于监视资源的 Azure 组件和服务概述,请参阅 Azure Monitor 概述
  • 监视器是一个很好的工具,用于确定 VM 实例和存储中是否存在任何瓶颈。
  • 存储限制可能导致应用程序大幅减慢并影响性能。 当存储中的输入和输出操作超出所设置的吞吐量限制时,会发生限流。 Azure 存储服务提供读取和写入操作图表,以监视是否存在限制问题。
  • Azure CycleCloud 与 Azure 服务(例如 Monitor 和 Microsoft 成本管理工具)集成。 它还支持通过可插入体系结构监视外部服务。 有关详细信息,请参阅监视
  • 此外,如果使用 Batch,Batch Explorer 是一种免费的功能丰富的独立客户端工具,可帮助创建、调试和监视 Batch 应用程序。

后续步骤