GPU 老化测试是指在您于集群上运行任何程序之前,我们在负载下对集群进行的检查。每个 1Legion 集群在交付前,都会通过 NVIDIA 为推理服务提供商制定的硬件验证(HW-1 至 HW-5 测试),测试结果会汇总在验收报告中交给您。老化测试取代了试用:您获得的证明材料,来自您将实际使用的硬件。
五项老化测试
老化测试包含五项测试,各自针对集群的不同部分;集群必须通过全部五项,我们才会交付。
- HW-1
集合通信吞吐量
以 nccl-tests 确认 NCCL 吞吐量达到基准值;集群网络支持时,同时启用 SHARP 加速的集合通信。
nccl-tests - HW-2
每条网络轨道
以 ib_write_bw 测试每条 InfiniBand 或 RoCE 轨道。
ib_write_bw - HW-3
GPUDirect 与存储
GPUDirect RDMA 与存储的冒烟测试,包含 NVMe 读取与写入。
GPUDirect RDMA、NVMe - HW-4
NVLink 与 NVSwitch
以 nvbandwidth 检查 NVLink 与 NVSwitch 的链路数量与带宽。
nvbandwidth - HW-5
24 小时持续负载测试
在持续功率上限下,以具有代表性的推理负载进行 24 小时持续负载测试。
功率上限下的推理负载
这些测试共同覆盖了分布式工作负载所依赖的各条路径:服务器内 GPU 之间(HW-4)、跨集群网络的服务器之间(HW-1 与 HW-2)、进入 GPU 显存的网络路径与存储路径(HW-3),以及整个集群在持续负载下的表现(HW-5)。这些测试属于我们交付规格书第 15 节的内容。
每项测试证明什么
每项测试检查硬件的一个部分;每通过一项,您就能具体了解所用集群的某一方面。
HW-1:NCCL 吞吐量
NCCL 即 NVIDIA Collective Communications Library(NVIDIA 集合通信库),是 GPU 在分布式训练与推理过程中交换数据所使用的软件,用于 all-reduce 等操作。HW-1 在整个集群上运行 NVIDIA 的 NCCL 基准测试工具 nccl-tests,并在交换机支持时启用 SHARP。SHARP 会在交换机内完成每次归约运算的一部分,因此需要跨网络传输的数据更少。
通过测试,表明不同服务器上的 GPU 能以测试要求的吞吐量交换数据。集合通信吞吐量不足时,分布式作业的每个步骤都要等待网络。
HW-2:每条集群网络轨道
在轨道优化的集群网络中,一条轨道是指一组链路,将每台服务器中同一位置的 GPU 连接到其专属的交换机。HW-2 在集群中的每条 InfiniBand 或 RoCE 轨道上运行 ib_write_bw,测量两个端口之间的 RDMA 写入带宽。
通过测试,表明每条轨道各自都能达到性能要求,而不只是集群网络的平均表现达标。这一点很重要,因为集合通信操作的速度取决于最慢的链路:只要有一根线缆、一个光模块或一个端口性能不佳,就可能拖慢作业中的每块 GPU。
HW-3:GPUDirect RDMA 与存储
GPUDirect RDMA 让网卡直接读写 GPU 显存,无需经由 CPU 与系统内存复制数据。HW-3 针对 GPUDirect RDMA 与存储执行冒烟测试,即确认一条路径端到端正常工作的简短检查,其中包括 NVMe 读取与写入。
通过测试,表明数据能经由集群设计的直接路径到达 GPU,且存储路径能正常读写。没有 GPUDirect RDMA 时,流量会退回经由主机内存的较慢路径;作业仍能运行,只是变慢,因此这条路径需要单独测试。
HW-4:NVLink 与 NVSwitch
在每台 HGX 服务器内,八块 GPU 通过 NVLink 与 NVSwitch 互相连接,这条路径比服务器之间的网络快得多。HW-4 使用 NVIDIA 工具 nvbandwidth 测量这些链路的带宽,并检查链路数量:确认每条应当启用的链路都已启用。
通过测试,表明每块 GPU 的所有 NVLink 链路均已启用,并达到测试预期的带宽。缺少一条链路不会让服务器停止工作,但会让它变慢,因此需要检查链路数量。
HW-5:24 小时持续负载测试
HW-5 在持续功率上限(即整个测试期间保持不变的固定功率限制)下,在集群上运行具有代表性的推理负载 24 小时。短时间测试会遗漏的故障,例如与高温相关的错误、电力问题与间歇性故障,往往会在数小时的稳定负载下出现。
通过测试,表明硬件在一整天稳定且具有代表性的负载下始终保持稳定。
验收报告
老化测试的结果会汇总在验收报告中交给您,让您在接手集群时就拥有证明材料。
报告记录您集群的 HW-1 至 HW-5 测试结果,请保留作为基准。这些工具都是公开的(nccl-tests、ib_write_bw 与 nvbandwidth),因此日后若怀疑有问题,您的工程师可以执行相同的测试并进行比较。
硬件本身记录在我们的资产清单中:每个机柜、节点、GPU、网卡、硬盘、交换机、端口、光模块与线缆,并为您提供机器可读的导出文件。交付后,集群按我们书面的运维承诺运行。
节点未通过测试时
未通过测试的节点不会投入使用:它会被隔离、修复或更换,然后重新测试。
隔离
将节点移出集群,使其无法影响其他节点或测试结果。
修复或更换
我们找出并修复故障,或更换故障的零件或整个节点。
重新测试
修复后的节点或替换节点会再次测试,通过后才交付集群。
交付后,我们仍保持同样严谨的做法。致命的 GPU 故障(XID 79、XID 48、双比特 ECC 错误与行重映射失败)会立即隔离;任何疑似发生静默数据损坏的节点,也都会保持隔离。
为何以老化测试取代试用
买方常见问题
什么是 GPU 老化测试?
在新的 GPU 服务器投入使用前,让其在持续负载下运行,使硬件故障在您的工作负载上线之前就暴露出来。我们的老化测试采用 NVIDIA 为推理服务提供商制定的硬件验证,即 HW-1 至 HW-5 测试。
我们可以先进行试用或概念验证吗?
不可以。我们不提供试用、演示、概念验证或短期租用。每个集群在交付前都会通过 HW-1 至 HW-5 测试,测试结果会汇总在验收报告中交给您。
什么是 NCCL 测试?
指运行 nccl-tests,这是 NVIDIA 针对 NCCL 库的基准测试工具,用于测量 GPU 在 all-reduce 等集合通信操作中交换数据的速度。它是我们老化测试中的 HW-1 测试。
这些测试使用哪些工具?
nccl-tests,在支持时启用 SHARP(HW-1);在每条 InfiniBand 或 RoCE 轨道上运行 ib_write_bw(HW-2);GPUDirect RDMA 与存储冒烟测试,包括 NVMe 读取与写入(HW-3);用于 NVLink 与 NVSwitch 的 nvbandwidth(HW-4);以及在具有代表性的推理负载下进行的 24 小时持续负载测试(HW-5)。
如果节点未通过测试,会如何处理?
该节点会被隔离、修复或更换,然后重新测试。通过后,我们便交付集群。