如需为可在多个节点上扩缩的紧密耦合型应用创建基础架构,您可以创建虚拟机 (VM) 实例集群。本指南简要介绍了使用密集资源分配为高性能计算 (HPC) 工作负载配置虚拟机 (VM) 实例集群时的主要注意事项和步骤。
Compute Engine 提供多种方式来创建大量连接到同一网络但不需要密集资源分配的虚拟机实例。例如,您可以使用以下任一方法,这些方法在 Compute Engine 文档的其他位置有介绍:
您还可以创建一个脚本,其中包含用于创建个别实例并将紧凑布置政策与实例关联以缩短延迟时间的命令。
借助 H4D(预览版),Compute Engine 通过将整个虚拟机实例集群视为一台计算机,增加了对运行大规模 HPC 工作负载的支持。通过使用拓扑感知型虚拟机布置,您可以在单个网络超级块中访问许多实例,并最大限度地缩短网络延迟时间。您还可以在这些实例上配置 Cloud RDMA,以最大限度地提高节点间通信性能,这对于紧密耦合的 HPC 工作负载至关重要。
您可以通过预留容量块(而非单个资源)来创建这些使用 H4D 的 HPC 虚拟机集群。为集群使用容量块可提供以下额外功能,以便部署和管理这些大规模环境:
- 虚拟机实例的拓扑感知布置
- 用于确保和管理容量的高级预订系统
- 增强型托管式实例组 (MIG),专为大型、相互依赖的虚拟机实例集而设计。
- 高级维护安排和控制,可让您更好地控制虚拟机实例的维护时间和方式,这对于长时间运行且对中断敏感的工作负载至关重要。其中包括客户触发的维护和资源块的分组维护等功能。
集群术语
在处理容量块时,会使用以下术语:
使用 H4D 虚拟机创建集群的流程概览
如需在预留的容量块上创建 HPC 集群,您必须完成以下步骤:
选择使用选项并获取容量
使用选项决定了如何为集群获取资源。如需创建具有增强管理功能的集群,您必须为密集部署请求容量块。
下表总结了容量块的使用选项之间的主要差异:
使用选项 | 容量块的未来预留 | 灵活启动(预览版) |
---|---|---|
工作负载特性 | 需要密集分配资源的长时间运行的大规模分布式工作负载 | 需要密集分配资源的短时工作负载 |
有效期 | 时间不限 | 最长 7 天 |
抢占式 | 否 | 否 |
Quota | 在创建实例之前,检查您是否有足够的配额。 | 系统会收取抢占式配额费用。 |
价格 |
|
|
资源分配 | 密集 | 密集 |
预配模型 | 受预留约束 | 灵活启动(预览版) |
创建方法 | 如需创建 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 上的集群:您可以使用以下映像之一:
- HPC 虚拟机映像:一种针对紧密耦合的 HPC 工作负载进行了优化的 Rocky Linux 8 映像。
- 由 Google Cloud提供的操作系统映像:支持 H4D 的操作系统映像。您需要为 HPC 工作负载配置这些内容。
- 自定义映像:您可以创建和使用自己的自定义映像。为了纳入 HPC 专用优化,我们建议您使用 HPC 虚拟机映像创建自定义映像。
对于 Slurm 集群:Cluster Toolkit 会部署 Slurm 集群,该集群使用基于 Rocky Linux 8 的 HPC 虚拟机映像,并针对紧密耦合的 HPC 工作负载进行了优化。
创建 HPC 集群
在查看集群创建流程并为工作负载做出初步决定后,请使用以下选项之一创建集群:
- 创建支持 RDMA 的 HPC Slurm 集群
- 创建 GKE 集群:使用 H4D 运行高性能计算 (HPC) 工作负载
- 使用 Compute Engine 创建集群:
后续步骤
- 详细了解 Cluster Toolkit。
- 详细了解如何创建使用 RDMA 的实例。