用途:诊断 Amazon SageMaker HyperPod 集群的两类性能问题——节点间 NCCL 带宽不均(同一作业在不同节点集上步时不同、成对带宽差异、疑似掉队节点),以及文件系统性能差(训练卡在数据加载、检查点保存/加载占用大量步时、FSx 吞吐饱和)。该技能为只读,只打印供用户执行的命令,不执行会改变状态的命令。
主要能力:通过 scripts/perf-snapshot.sh 采集主机侧信号,包括 nvidia-smi 输出(温度、SM 时钟、PCIe 链路宽度、ECC、NVLink、topo -m)、dmesg 中的 Xid 行、EFA 端口状态与 fi_info provider 可见性、EFA 安装器与内核模块版本、CPU governor、NVL72 Fabric Manager 状态、FSx CloudWatch 利用率、各挂载点 df -h / lfs df -h、主机 iowait、/dev/shm 大小与根卷占用。输出以 [OK]、[CONCERN]、[INFO] 标记,[CONCERN] 会指向负责该问题的兄弟技能。
使用方式:运行 bash scripts/perf-snapshot.sh --cluster <CLUSTER_NAME_OR_ARN> --region <REGION>,可用 --node <INSTANCE_ID> 限定单个可疑节点。脚本默认采样一个节点,经 hyperpod-ssm 在主机上执行。根据输出中的 [CONCERN] 行进入对应章节:NCCL 带宽不均见 A 节,文件系统性能见 B 节。跨节点驱动/CUDA/NCCL/EFA/OFI 版本漂移交由 hyperpod-version-checker;NCCL 超时、挂起、TCP 回退、RDMA memlock 交由 hyperpod-nccl;GPU 硬件故障、ECC、NVLink、Xid、DCGM 交由 hyperpod-node-debugger § G;内存分配失败、根卷耗尽交由 hyperpod-node-debugger § I;Slurm 节点状态变化交由 hyperpod-slurm-debugger。
适用场景与限制:适用于 HyperPod 集群上训练作业的性能排查,覆盖拓扑差异(跨 AZ、跨机架、跨 UltraServer)、EFA 性能下降、实例类型混用、CPU 频率差异等常见因素。主机侧值为 unknown 不一定是缺陷,因为 EFA/libfabric/OFI-NCCL/CUDA 栈常按设计放在训练容器内,需在容器内及跨节点核对版本后再下结论。文件系统部分仅覆盖检查 CloudWatch 指标、核对预置性能配置、定位 I/O 操作三步;扩容与更换文件系统类型属客户决策。建议启用 NodeRecovery=Automatic 与 OnStartDeepHealthChecks 以获得持续健康覆盖;按需深度健康检查在 NodeProvisioningMode=Continuous 时不支持,且每集群同时只能有一个请求,需先运行 UpdateClusterSoftware 使用最新 AMI。