HPC 集群创建概览


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

Compute Engine 提供多种方式来创建大量连接到同一网络但不需要密集资源分配的虚拟机实例。例如,您可以使用以下任一方法,这些方法在 Compute Engine 文档的其他位置有介绍:

您还可以创建一个脚本,其中包含用于创建个别实例并将紧凑布置政策与实例关联以缩短延迟时间的命令。

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

您可以通过预留容量块(而非单个资源)来创建这些使用 H4D 的 HPC 虚拟机集群。为集群使用容量块可提供以下额外功能,以便部署和管理这些大规模环境:

  • 虚拟机实例的拓扑感知布置
  • 用于确保和管理容量的高级预订系统
  • 增强型托管式实例组 (MIG),专为大型、相互依赖的虚拟机实例集而设计。
  • 高级维护安排和控制,可让您更好地控制虚拟机实例的维护时间和方式,这对于长时间运行且对中断敏感的工作负载至关重要。其中包括客户触发的维护和资源块的分组维护等功能。

集群术语

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

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

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

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

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

选择使用选项并获取容量

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

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

使用选项 容量块的未来预留 灵活启动(预览版
工作负载特性 需要密集分配资源的长时间运行的大规模分布式工作负载 需要密集分配资源的短时工作负载
有效期 时间不限 最长 7 天
抢占式
Quota 在创建实例之前,检查您是否有足够的配额。 系统会收取抢占式配额费用。
价格
资源分配 密集 密集
预配模型 受预留约束 灵活启动(预览版
创建方法 如需创建 HPC 集群和虚拟机,您必须执行以下操作:
  1. 通过联系您的客户支持团队来预留容量
  2. 在您选择的日期和时间,您可以使用预留容量来创建 HPC 集群。请参阅选择部署选项
如需创建虚拟机,请选择以下选项之一:

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

选择部署选项

根据您对集群部署所需的控制级别,选择高度管理的部署或较少管理的部署,以便更好地控制您的基础架构。一些可用的部署选项包括安装和配置编排程序,以增强对 HPC 集群的管理。

高度管理

如果您希望 Google 部署和设置您的基础架构,请使用 Cluster Toolkit 或 Google Kubernetes Engine (GKE)。

  • Cluster Toolkit:Google 提供的开源工具,可简化使用 Slurm 或 GKE 的集群的配置和部署。您可以使用预定义的蓝图来构建基于该蓝图的部署文件夹。您可以修改蓝图或部署文件夹,以自定义部署和软件堆栈。然后,您可以使用 Terraform 或 Packer 运行由 Cluster Toolkit 生成的命令来部署集群。

    如需查看有关此部署方法的教程,请参阅创建支持 RDMA 的 HPC Slurm 集群

  • GKE:一种托管式 Kubernetes 服务和开源容器编排平台。GKE 提供自动扩缩和高可用性等功能。这些特性使 GKE 非常适合部署和管理 HPC 工作负载,包括编排容器化应用的能力、对专用硬件的支持以及与 Google Cloud生态系统的兼容性。您可以使用 GKE 直接部署 GKE 集群,也可以使用 Cluster Toolkit 部署。您可以选择 Google Kubernetes Engine (GKE) Standard 版或 Autopilot。

    如需详细了解此部署方法,请参阅使用 H4D 运行 HPC 工作负载

更少管理,更多控制

如需更精细地控制集群和安装在集群上的软件,请通过以下任一方法创建 Compute Engine 集群:

如果您想使用 Slurm 或 GKE 以外的编排程序,可以使用这些方法。创建虚拟机后,您可以在虚拟机上手动安装 HPC 工作负载所需的任何关键软件。您还可以使用启动脚本在虚拟机启动时自动检查软件安装情况,并在需要时安装该软件。

选择操作系统映像

您选择的操作系统 (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 集群

在查看集群创建流程并为工作负载做出初步决定后,请使用以下选项之一创建集群:

后续步骤