3. GPU计算集群总体架构设计
GPU计算集群的总体架构设计,本质上是在回答一个问题:当几十台到上千台服务器被组织在一起时,谁负责算、谁负责管、谁负责进、谁负责存、谁负责连。这五类角色分别对应计算节点、管理节点、登录节点、存储节点和高速网络,它们不是简单的设备堆叠,而是通过分层与接口约定形成的一个可扩展系统。本节从分层逻辑出发,给出各子系统的职责边界、接口定义,并绘制一张可直接用于方案评审的逻辑拓扑图。
一、五类节点的职责分层
集群按功能可划分为三层:计算层由计算节点构成,承担GPU训练与推理任务,是算力的唯一来源;服务层由管理节点、登录节点和存储节点构成,分别负责集群控制、用户接入与数据持久化;网络层由高速计算网络与管理网络构成,前者承载GPU间通信,后者承载控制与运维流量。三层之间通过明确的接口交互,避免职责交叉。
计算节点是集群的主体。以一台典型8卡GPU节点为例,配置2颗CPU、8块GPU、1.5~2TB内存、2块NVMe系统盘,并配置至少1块高速网卡(如NDR 400G InfiniBand或RoCEv2 200G/400G)。节点内部GPU通过NVLink/NVSwitch互联,节点之间通过高速网络互联。计算节点不直接暴露给用户,用户不能SSH登录计算节点,只能通过作业调度系统间接使用。
管理节点承担集群的“大脑”职能,通常部署为高可用双机。它运行作业调度器(Slurm Controller)、配置管理(如xCAT、Ansible)、监控告警(Prometheus + Grafana)、镜像与部署服务(Warewulf、OpenCHAMI)以及身份认证(LDAP/FreeIPA)。管理节点不参与计算,其网络接口只需接入管理网络,但要求低延迟、高可靠。
登录节点是用户进入集群的唯一入口,运行SSH服务、作业提交客户端、编译环境和数据传输工具。登录节点通常配置与计算节点相近的CPU与内存,但不配GPU,避免用户直接在登录节点跑训练。登录节点同时接入管理网络和存储网络,以便访问共享文件系统。
存储节点提供并行文件系统(如Lustre、GPFS、WEKA)或高性能NAS。典型配置为元数据服务器(MDS)与对象存储服务器(OSS)分离,OSS节点通过高速网络向计算节点提供带宽。存储节点需接入高速网络与存储专用网络,容量与带宽按“每GPU配比”估算,例如每块GPU配5~10TB可用容量、0.5~1GB/s带宽。
二、高速网络的分层设计
高速网络是GPU集群与普通CPU集群最大的区别。设计上通常采用两层Fat-Tree或Rail-Optimized拓扑。以Rail-Optimized为例:每台计算节点的第i块GPU网卡连接到第i台Leaf交换机,同一Rail内的GPU属于同一通信域,All-Reduce等集合通信可在Rail内高效完成,跨Rail流量经Spine转发。这种拓扑在千卡规模下可显著降低布线复杂度与成本。
网络接口定义上,计算网络使用InfiniBand或RoCEv2,MTU建议4096(IB)或9000(RoCE),启用GPUDirect RDMA,使GPU显存与网卡之间直接传输,绕过CPU与系统内存。管理网络使用1G/10G以太网,承载SSH、调度、监控、部署流量,与计算网络物理隔离,避免运维流量干扰训练通信。
三、逻辑拓扑图
下图给出一个中等规模(约64~128 GPU)集群的逻辑拓扑,包含五类节点、两张网络以及关键接口标注。图中实线表示高速计算网络,虚线表示管理/存储网络。
四、子系统接口定义
接口定义是架构设计中容易被忽略但最影响后期运维的部分。建议在方案阶段明确以下接口:
| 接口 | 连接对象 | 协议/介质 | 关键约定 |
|---|---|---|---|
| 计算通信接口 | 计算节点 ↔ Leaf/Spine | InfiniBand NDR 或 RoCEv2 400G | 启用GPUDirect RDMA,MTU 4096/9000,PFC/ECN无损配置 |
| 管理控制接口 | 所有节点 ↔ 管理节点 | 1G/10G Ethernet | 独立VLAN,承载Slurm、监控、部署、LDAP流量 |
| 存储访问接口 | 计算/登录节点 ↔ 存储节点 | Lustre LNet / NFS over RDMA | 挂载点统一为 /home、/scratch、/apps,配额按项目分配 |
| 用户接入接口 | 用户 ↔ 登录节点 | SSH / SFTP | 仅登录节点暴露公网,计算节点禁止直接登录 |
| 作业调度接口 | 登录节点 ↔ 管理节点 ↔ 计算节点 | Slurm slurmctld / slurmd | 分区(partition)按GPU型号与队列划分,QoS限制资源 |
五、设计要点与常见误区
第一,计算网络与管理网络必须物理隔离。将监控、部署流量与All-Reduce流量混跑,会在训练高峰期造成网络抖动,表现为NCCL超时或吞吐下降。第二,登录节点不要配GPU,否则用户会绕过调度器直接占用算力,破坏公平性。第三,存储带宽要按GPU数量配比,若64块GPU共享一条100G存储链路,数据加载会成为瓶颈,建议每8~16块GPU对应一条200G以上存储链路。第四,管理节点高可用,Slurm Controller、LDAP、监控至少双机部署,避免单点故障导致整个集群不可调度。
总体而言,GPU计算集群的架构设计不是追求设备清单的堆砌,而是让计算、管理、登录、存储、网络五个子系统各司其职、接口清晰、带宽匹配。逻辑拓扑图与接口表是这一设计最直接的交付物,也是后续部署、验收与扩容的依据。