本文档介绍了如何使用集群健康状况扫描器 (CHS) 工具测试 GPU 集群是否存在问题。如果您想测试在 Cluster Director 中创建的集群,请改为参阅监控集群健康状况。
CHS 工具会检查 GPU 集群的健康状况,运行测试以验证集群是否已准备好运行工作负载。您可以使用 CHS 执行主动健康检查,也可以在遇到工作负载问题时将其用作诊断工具。除了检查集群的配置之外,您还可以执行以下测试:
- NCCL 检查:使用 NVIDIA Collective Communications Library (NCCL) 验证 GPU 之间的网络通信。
- GPU 检查:利用 NVIDIA 的数据中心 GPU 管理器 (DCGM) 工具检查各个 GPU 的健康状况。
- Neper 检查:使用 Neper 工具评估集群内的网络性能。
- Straggler 检测:运行节点之间的网络流量模式,该模式与 LLM 训练工作负载流水线并行化期间看到的模式非常相似。详细了解 Straggler 检测。
- Tinymax 检查:使用开源 LLM 框架 Maxtext 评估集群内的机器学习训练。
您只能在未运行任何作业或工作负载的节点上运行 CHS 检查和测试。如果您尝试在繁忙的节点上运行检查或测试,检查或测试会失败。
CHS 工具适用于由 Google Kubernetes Engine (GKE) 或 Slurm 编排的 GPU 集群,无论您使用何种配置模型来创建集群。不过,CHS 仅适用于以下机器类型:
- A4
- A3 Ultra
- A3 Mega
- A3 High
以下部分介绍了如何安装 CHS,以及如何使用它执行健康检查和检查配置。
安装 CHS
请按照以下步骤安装 CHS:
转到 Compute Engine > 虚拟机实例页面。
找到登录节点。其名称可能采用
DEPLOYMENT_NAME+login-001格式。在登录节点的连接列中,点击 SSH。
使用以下命令克隆代码库并移动到代码库的根目录:
git clone https://github.com/GoogleCloudPlatform/cluster-health-scanner && cd cluster-health-scanner
使用以下命令安装 Google Cloud CLI 的依赖项:
pip3 install -r cli/requirements.txt
可选:如需让
configcheck命令从集群中提取配置值,而无需为每台机器重新进行身份验证,请使用以下命令将 Google Cloud CLI SSH 密钥添加到本地 SSH 代理:ssh-add ~/.ssh/google_compute_engine
使用以下命令为
cluster_diag.py添加别名cluster_diag:alias cluster_diag="python3 cli/cluster_diag.py"
执行健康检查
安装 CHS 后,请执行以下操作来检查 GPU 集群的运行状况:
转到 Compute Engine > 虚拟机实例页面。
找到登录节点。其名称可能采用
DEPLOYMENT_NAME+login-001格式。在登录节点的连接列中,点击 SSH。
验证您是否位于代码库的根目录中。
使用以下命令检查集群的当前状态:
cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE status
替换以下内容:
ORCHESTRATOR:gke或slurm,具体取决于您使用的编排器。GPU_TYPE:您使用的 GPU 机器类型,可以是以下任何一个值:a4-highgpu-8ga3-ultragpu-8ga3-megagpu-8ga3-highgpu-8ga3-highgpu-4ga3-highgpu-2ga3-highgpu-1g
使用以下命令检查集群中各个 GPU 的运行状况:
cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE gpu
替换以下内容:
ORCHESTRATOR:gke或slurm,具体取决于您使用的编排器。GPU_TYPE:您使用的 GPU 机器类型,可以是以下任何一个值:a4-highgpu-8ga3-ultragpu-8ga3-megagpu-8ga3-highgpu-8ga3-highgpu-4ga3-highgpu-2ga3-highgpu-1g
可选:使用以下模板命令运行其他检查。 考虑添加
--run_only_on_available_nodes标志以跳过不可用的节点:cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE CHECK
替换以下内容:
ORCHESTRATOR:gke或slurm,具体取决于您使用的编排器。GPU_TYPE:您使用的 GPU 机器类型,可以是以下任何一个值:a4-highgpu-8ga3-ultragpu-8ga3-megagpu-8ga3-highgpu-8ga3-highgpu-4ga3-highgpu-2ga3-highgpu-1g
CHECK:要运行的检查。使用以下任一方式:- 状态
- nccl
- gpu
- straggler
- 奈培
- tinymax
检查您的配置
安装 CHS 后,请执行以下操作来检查集群的配置:
- 验证您是否位于代码库的根目录中。
使用以下命令检查集群的配置。默认情况下,此命令会生成差异;如需跳过差异并仅打印配置,请添加
--no-diff标志:cluster_diag -o ORCHESTRATOR configcheck GPU_TYPE
替换以下内容:
ORCHESTRATOR:gke或slurm,具体取决于您使用的编排器。GPU_TYPE:您使用的 GPU 机器类型,可以是以下任何一个值:a4-highgpu-8ga3-ultragpu-8ga3-megagpu-8ga3-highgpu-8ga3-highgpu-4ga3-highgpu-2ga3-highgpu-1g
以下屏幕截图显示了成功完成配置检查的结果: