具有增强型集群管理功能的 HPC 集群概览

如需为可在多个节点上扩缩的紧密耦合型应用创建基础设施,您可以创建虚拟机 (VM) 实例集群。本指南简要介绍了使用密集资源分配为高性能计算 (HPC) 工作负载配置虚拟机 (VM) 实例集群时的主要注意事项和步骤。

借助 H4D,Compute Engine 通过将整个虚拟机实例集群视为一台计算机,增加了对运行大规模 HPC 工作负载的支持。通过使用拓扑感知型虚拟机布置,您可以在单个网络超级块中访问许多实例,并最大限度地缩短网络延迟时间。您还可以在这些实例上配置 Cloud RDMA,以最大限度地提高节点间通信性能,这对于紧密耦合的 HPC 工作负载至关重要。

您可以通过预留容量块(而非单个资源)来创建这些使用 H4D 的 HPC 虚拟机集群。为集群使用容量块可实现增强型集群管理功能

无论是否使用增强型集群管理功能,您都可以创建具有 H4D 实例的 HPC 集群。如果您不需要 H4D HPC 集群提供的增强型集群管理功能,或者您想使用 H4D 以外的机器系列创建 HPC 集群,请按照以下说明创建 HPC 实例或集群:

集群术语

在处理容量块时,会使用以下术语:

区块
多个子区块通过非阻塞结构互连,提供高带宽互连。区块内的任何 CPU 都可在最多两次网络跃点内访问。系统向编排程序公开块和子块元数据,以实现最佳作业布置。
集群
多个模块互连形成一个集群,该集群可扩展到数千个 CPU,用于运行大规模 HPC 工作负载。每个集群都是全局唯一的。不同区块之间的通信仅增加一个额外的跃点,即使在大规模部署的情况下,也能保持高性能和可预测性。编排程序还可以使用集群级元数据进行智能的大规模作业布置。
Cluster Toolkit
Google 提供的开源工具,可简化使用 Slurm 或 Google Kubernetes Engine 的集群的配置和部署。您可以使用预定义的蓝图来构建基于该蓝图的部署文件夹。您可以修改蓝图或部署文件夹,以自定义部署和软件栈。然后,您可以使用 Terraform 或 Packer 运行由 Cluster Toolkit 生成的命令来部署集群。
密集部署
一种资源请求,用于将计算实例资源分配在物理上彼此靠近的位置,以最大限度地减少网络跃点并针对最短延迟时间进行优化。
网络结构
网络结构可在集群中的所有区块和 Google Cloud 服务之间提供高带宽、低延迟的连接。 Jupiter 是 Google 的数据中心网络架构,它利用软件定义网络和光学电路开关来改进网络并优化其性能。
节点或主机
数据中心内的单个物理服务器机器。 每个主机都有其关联的计算资源:CPU、内存和网络接口。这些计算资源的数量和配置取决于机器家族。虚拟机实例是在物理主机上预配的。
编排程序
编排程序可自动管理集群。 借助编排程序,您无需管理集群中的每个虚拟机实例。Slurm 或 Google Kubernetes Engine (GKE) 等编排程序可处理作业排队、资源分配、自动扩缩(使用 GKE)等任务,以及其他日常集群管理任务。
子区块
这些是基础单元,其中一组主机在单个机架上物理共置。架顶式 (ToR) 交换机连接这些主机,从而在子区块内的任意两个 CPU 之间实现极其高效的单跃点通信。Cloud RDMA 可实现这种直接通信。

使用 H4D 虚拟机创建集群的流程概览

如需在预留的容量块上创建 HPC 集群,您必须完成以下步骤:

  1. 查看可用的预配模型
  2. 选择使用选项并获取容量
  3. 选择部署选项和编排程序
  4. 选择操作系统或集群映像
  5. 创建您的集群

用于创建虚拟机和集群的预配模型

创建虚拟机实例时,您可以使用 Compute Engine 实例预配模型中所述的预配模型。

如需创建紧密耦合的 H4D 实例,您必须使用以下预配模型之一来获取创建计算实例所需的资源:

  • 受预留约束:您可以按折扣价预留未来日期和时长的资源。在预留期开始时,您可以使用预留的资源创建虚拟机或集群。在预留期内,您对预留的资源拥有独占访问权限。

  • 灵活启动:您可以请求最多七天的折扣资源。 Compute Engine 会尽力尝试在您请求的资源可用后立即安排预配。在您请求的时间段内,您对获得的资源拥有独占访问权限。

  • Spot:您可以根据可用性立即获得大幅折扣的资源。不过,Compute Engine 可能会随时停止或删除虚拟机实例以收回容量。

受预留约束的预配模型

受预留约束的预配模型会将您创建的虚拟机实例与您之前预留的容量相关联。当您预留容量时,Compute Engine 会创建一个空预留。然后,在预留开始时间,会发生以下情况:

  • Compute Engine 会将预留的资源添加到预留中。 在预留结束时间之前,您对预留的容量拥有独占访问权限。

  • 无论您是否使用预留的容量,Google Cloud 都会向您收取该容量的费用,直到预留期结束为止。

然后,您可以使用预留的资源创建虚拟机,而无需支付额外的费用。您只需为未包含在预留中的资源(例如磁盘或 IP 地址)付费。

您可以为任意数量的虚拟机预留资源,预留时长和未来日期均可自行指定。然后,您可以使用预留的资源创建和运行虚拟机,直至预留期结束为止。如果您预留资源的时间为一年或更长时间,则必须购买并附加基于资源的承诺。

如需使用受预留约束的预配模型来预配资源,请参阅:

您可以在创建单个虚拟机、HPC 集群或一组虚拟机时指定受预留约束的预配模型,从而将受预留约束的预配与 H4D 实例搭配使用。

灵活启动预配模型

如需运行需要密集分配资源的短时工作负载,您可以使用灵活启动请求最多七天的计算资源。只要资源可用,Compute Engine 就会创建您请求数量的虚拟机。您可以停止独立的灵活启动虚拟机,但无法停止托管式实例组 (MIG) 通过规模调整请求创建的灵活启动虚拟机。灵活启动虚拟机会一直存在,直到您将其删除,或者直到 Compute Engine 在虚拟机的运行时长结束时将其删除。

灵活启动非常适合可以随时启动的工作负载。灵活启动预配模型从安全容量池预配资源,因此分配的资源会密集分配,以最大限度地缩短网络延迟时间。

当您使用规模调整请求将灵活启动虚拟机添加到托管式实例组 (MIG) 时,MIG 会一次性创建所有虚拟机。这种方法有助于您避免因 Compute Engine 在您等待启动工作负载所需的全部容量时可能提供的部分容量而产生不必要的费用。

您可以将灵活启动预配与 H4D 实例搭配使用,并采用任何可用的部署模型。

Spot 预配模型

如需运行容错工作负载,您可以根据可用性立即获取计算资源。您将以尽可能最低的价格获得资源。不过,Compute Engine 可能会随时停止或删除创建的 Spot 虚拟机以收回容量。此过程称为抢占

Spot 虚拟机非常适合可接受中断的工作负载,例如:

  • 批处理
  • 高性能计算 (HPC)
  • 数据分析
  • 持续集成和持续部署 (CI/CD)
  • 媒体编码

您可以使用具有任何机器类型(A4X、X4 和裸金属机器类型除外)的 Spot 虚拟机。密集分配取决于资源可用性。为确保更紧密的分配,您可以将紧凑布置政策应用于 Spot 虚拟机。

您可以将 Spot 虚拟机与以下密集部署选项搭配使用:

选择使用选项并获取容量

使用选项决定了如何为集群获取资源。如需创建使用增强型集群管理功能的集群,您必须为密集部署请求容量块。

下表总结了容量块的使用选项之间的主要差异:

使用选项 容量块的未来预留 最长 90 天的未来预留(日历模式) 灵活启动 Spot
工作负载特性 需要密集分配资源的长时间运行的大规模分布式工作负载 需要密集分配资源的短时工作负载 需要密集分配资源的短时工作负载 容错工作负载
有效期 时间不限 最长 90 天 最长 7 天 任何时间,但可能会被抢占
抢占式
容量保证 很高 很高 尽力而为 尽力而为
Quota 在创建实例之前,检查您是否有足够的配额。 不收取任何配额费用 系统会收取抢占式配额费用。 系统会收取抢占式配额费用。
价格
资源分配 密集 密集 密集 标准(紧凑布置政策;可选)
预配模型 受预留约束 受预留约束 灵活启动 Spot
创建方法

如需创建 HPC 集群和虚拟机,您必须执行以下操作:

  1. 通过客户支持团队预留容量
  2. 在您选择的日期和时间,您可以使用预留容量来创建 HPC 集群。请参阅选择部署选项

如需创建 HPC 集群和虚拟机,您必须执行以下操作:

  1. 在日历模式下创建未来预留请求
  2. 在您选择的日期和时间,您可以使用预留容量来创建 HPC 集群。请参阅选择部署选项

如需创建虚拟机,请选择以下选项之一:

当您请求的容量可用时,Compute Engine 会预配该容量。

您可以立即创建虚拟机。 请参阅选择部署选项

选择部署选项

高性能计算 (HPC) 工作负载会聚合计算资源,以获得比单个工作站、服务器或计算机更高的性能。HPC 用于解决学术研究、科学、设计、模拟和商业智能方面的问题。

对于具有增强型集群管理功能的 HPC 集群,请选择 H4D 机器系列。如果您计划使用其他机器系列,请按照创建支持 HPC 的虚拟机实例中的文档操作,而不是使用本页面上列出的部署方法。

一些可用的部署选项包括安装和配置编排程序,以增强对 HPC 集群的管理。

如需根据您的应用场景使用最合适的虚拟机或集群创建选项,请选择以下各项之一:

选项 使用场景
Cluster Toolkit

您希望使用开源软件来为您简化部署 Slurm 和 Google Kubernetes Engine (GKE) 集群的过程。 Cluster Toolkit 旨在实现高度可定制性和可扩展性。如需了解详情,请参阅以下内容:

GKE 您希望根据工作负载的需求尽可能灵活地配置 Google Kubernetes Engine 集群。如需了解详情,请参阅使用 H4D 运行 HPC 工作负载
使用 Compute Engine

您希望完全控制基础设施层,以便设置自己的编排器。如需了解详情,请参阅以下内容:

选择操作系统映像

您选择的操作系统 (OS) 映像取决于您用于部署集群的服务。

  • 对于 GKE 上的集群:使用 GKE 节点映像,例如 Container-Optimized OS。如果您使用 Cluster Toolkit 部署 GKE 集群,则默认使用 Container-Optimized OS 映像。如需详细了解节点映像,请参阅 GKE 文档中的节点映像

  • 对于 Compute Engine 上的集群:您可以使用以下映像之一:

  • 对于 Slurm 集群:Cluster Toolkit 会部署 Slurm 集群,该集群使用基于 Rocky Linux 8 的 HPC 虚拟机映像,并针对紧密耦合的 HPC 工作负载进行了优化。

创建 HPC 集群

在查看集群创建流程并为工作负载做出初步决定后,请使用任一部署选项创建集群。

HPC 集群的增强型集群管理功能

通过选择部署选项中所述的部署方法创建使用密集分配资源的 H4D 实例时,您可以将增强型 HPC 集群管理功能与实例搭配使用。

如需详细了解这些功能,请参阅将增强型 HPC 集群管理功能与 H4D 实例搭配使用

后续步骤