北京大学 HPC 项目交付复盘:科学计算的集群之道
摘要:与 AI 训练集群不同,HPC 集群的负载是混合的:既有 MPI 科学计算(CFD、材料、生物),也有 AI 训练推理。交付难点不在单点性能,而在让不同负载在同一套系统上都不打架。本文复盘北大 HPC 项目交付的核心决策。
1. 与 AI 训练集群的本质差异
| 维度 | AI 训练集群 | HPC 科学计算集群 |
|---|---|---|
| 主要负载 | 单一大模型训练 | 多用户、多学科、混合作业 |
| 计算类型 | FP16/BF16 矩阵乘 | FP64 模拟 + 部分 AI |
| 通信模式 | AllReduce/All-to-All 同步 | MPI point-to-point/collective 混合 |
| 调度需求 | 大作业独占多节点 | 小作业高并发、优先级与公平性 |
| 软件生态 | PyTorch 全家桶 | MPI + 学科软件(VASP/GROMACS/OpenFOAM 等) |
核心矛盾:HPC 集群要在"大训练作业"和"大量小模拟作业"之间分配资源,调度策略错了,两边都不满意。
2. 架构决策
2.1 计算资源:异构分层
- GPU 分区:供 AI 训练与 GPU 加速科学计算(如 GROMACS 的 GPU 版)。
- CPU 高内存分区:供传统 MPI 模拟与预处理/后处理。
- 胖节点(高核数大内存):供内存密集应用(基因组组装、稀疏求解)。
- 分区之间通过 Slurm 队列隔离 + QOS 控制优先级——物理分区是隔离,QOS 是公平。
2.2 网络:MPI 对网络的容忍度更低
- MPI 科学计算对延迟敏感(小消息多),对带宽要求相对低于训练。
- 采用 IB 网络(低延迟)+ 胖树拓扑;MPI 库(OpenMPI/Intel MPI)按硬件拓扑优化(
--mca pml ucx --mca btl ^openib等)。 - UCX 层配置是 HPC 集群交付必做项:
ucx.conf统一管理传输选择,避免 MPI 走错通道。
2.3 存储:家目录 + 并行文件系统 + 缓存三层
- 家目录:NFS 类,轻 IO,全集群共享。
- 并行文件系统:大数据集与检查点,高性能高并发。
- 分层策略:科学数据(如晶体结构库)只读缓存到高速层,减少重复计算读取。
2.4 软件栈:模块化是生命线
- Environment Modules(Lmod):多版本编译器/MPI/学科软件共存,用户按需加载——不模块化,科学软件的多版本冲突会吃掉所有运维时间。
- 常用软件预编译:VASP、GROMACS、OpenFOAM、LAMMPS 等按用户需求清单预装并文档化。
- 容器(Singularity)作为补充:用户自定义环境时使用,镜像只读挂载保证安全。
3. 验收重点:与 AI 集群的差异
Step 1 HPL(FP64)单节点验收 → 科学算力底线
Step 2 OSU MPI 基准 → 点对点延迟/带宽(科学计算核心指标)
Step 3 nccl-tests(GPU 分区) → AI 负载通信验收
Step 4 72h 混合负载烤机 → 大训练 + 小模拟并发跑,验证调度与公平性- OSU 基准(
osu_latency/osu_bw)是 HPC 验收必备:IB 点对点延迟目标 < 1.5 µs(400G),带宽 ≥ 370 Gb/s。 - 混合负载烤机尤其重要:验证大作业抢不到全部资源时,小作业不会饿死(QOS 公平性)。
4. 排障实录
4.1 MPI 作业跨节点性能腰斩
- 现象:多节点 MPI 作业带宽只有单节点的 40%。
- 定位:
mpirun --mca pml ob1 --mca btl self,sm,ib逐层排查 → UCX 传输层走了共享内存而非 IB。 - 处置:统一
ucx.conf(UCX_TLS=rc,sm,self),重测恢复。教训:MPI 性能问题 60% 出在传输层选择,先查 UCX/PMI 再看硬件。
4.2 调度公平性失控
- 现象:一个 512 核作业启动后,大量 16 核小作业排队数小时。
- 定位:Slurm QOS 未设置优先级权重,大作业无限占用。
- 处置:按队列配置 QOS(backfill + 优先级衰减),小作业可回填大作业空隙。教训:HPC 集群的验收标准必须包含"小作业不被饿死"。
4.3 软件版本冲突
- 现象:两个课题组各自需要不同 MPI/编译器组合,互相破坏环境。
- 处置:全面切换 Lmod 模块化,环境按组合加载,冲突由模块系统隔离。教训:模块化不是锦上添花,是 HPC 交付的必需品。
5. 交付清单(HPC 专项)
- [ ] HPL FP64 达标(≥ 规格 95%)
- [ ] OSU 点对点延迟/带宽达标(IB < 1.5 µs / ≥ 370 Gb/s)
- [ ] nccl-tests 通过(GPU 分区)
- [ ] 72h 混合负载烤机:大作业 + 小作业并发,公平性验证
- [ ] UCX/MPI 传输层统一配置,无跨节点性能腰斩
- [ ] Lmod 模块化就绪,常用学科软件预编译并文档化
- [ ] 队列/QOS 策略文档化(优先级、回填、限制)
- [ ] 三层存储(家目录/并行/缓存)落地
延伸阅读:清华大学 GPU 集群交付复盘(AI 训练视角的对照)、NVIDIA 技术认证备考指南(能力验证路径)。