1. 课程导入与集群建设全景

在气象预报、计算流体力学、分子动力学、AI 训练与推理、EDA 仿真等场景中,高性能计算集群(HPC Cluster)承担着把大规模数值计算拆解、并行执行并汇总结果的任务。以 AMD EPYC 处理器为核心的集群,凭借单路最高可达 128 核、128 条 PCIe 5.0 通道、12 通道 DDR5 内存以及 Chiplet 多芯粒架构,在单位机柜的算力密度、内存带宽和 I/O 扩展能力上具备明显优势。本课程围绕“如何从零建设一套可交付、可运维、可扩展的 AMD EPYC 高性能计算集群”展开,本章先建立全景认知:典型应用场景、建设目标、总体架构层次,以及后续 29 章的学习路径。

一、典型应用场景与需求特征

不同应用对集群资源的偏好差异很大,这直接决定了选型与拓扑设计。下面用一张关系图把“应用场景—关键资源瓶颈—对集群的要求”对应起来,便于在后续章节中快速定位设计重点。

AMD EPYC 集群:应用场景 → 资源瓶颈 → 建设要求 气象 / 气候数值预报 CFD 流体 / 结构仿真 分子动力学 / 生命科学 AI 训练 / 推理 EDA 仿真 / 芯片验证 渲染 / 数据后处理 浮点算力 + 内存带宽 核间通信 + 低延迟网络 大内存容量 + 高带宽 GPU 互联 + PCIe 通道 单核性能 + 授权调度 存储吞吐 + 并行文件系统 高主频 / 多核 EPYC 选型 InfiniBand / RoCE 组网 12 通道 DDR5 满配 PCIe 5.0 直连 GPU Slurm 调度 + 许可管理 Lustre / GPFS 并行存储 应用场景 关键资源瓶颈 集群建设要求

从图中可以看出,EPYC 集群的设计不是“堆核”这么简单:气象与 CFD 更看重内存带宽和低延迟互联,AI 训练更看重 PCIe 通道与 GPU 拓扑,EDA 则对单核性能和许可证调度敏感。因此,建设目标必须从业务负载反推,而不是先买硬件再找应用。

二、建设目标:从“能跑”到“好用、可管、可扩”

一套合格的 EPYC HPC 集群,通常要同时满足四类目标。第一是性能目标:以典型基准(如 HPL、HPCG、STREAM)衡量,整机 FP64 峰值利用率、内存带宽达成率、网络点对点延迟与带宽需达到设计预期。第二是可用性目标:登录、调度、存储、监控等关键服务具备冗余,单点故障不导致整集群不可用。第三是可运维目标:节点批量部署、固件与驱动版本统一、作业可追溯、故障可定位。第四是可扩展目标:机柜供电、制冷、网络端口、存储容量预留扩展余量,支持从几十节点平滑扩展到数百节点。

以一套教学示例规模为例:32 个计算节点,每节点 2 颗 AMD EPYC 9654(96 核,2.4 GHz 基准),共 6144 物理核;每节点 12 条 32 GB DDR5-4800,共 384 GB;每节点 2 块 NVMe 系统盘 + 1 块 3.2 TB 数据缓存盘;计算网络采用 200 Gb/s InfiniBand NDR,存储网络采用 100 Gb/s RoCE;并行存储裸容量 500 TB。该规模属于合理假设的教学示例,用于后续章节的参数推演,并非实测结果。

三、总体架构层次

EPYC 集群在逻辑上可分为五层:基础设施层、硬件资源层、系统软件层、集群服务层、应用与用户层。各层之间通过明确的接口衔接,任何一层的短板都会成为整集群的瓶颈。

层次主要内容关键关注点
应用与用户层作业脚本、编译器、MPI、数学库、AI 框架作业可移植性、许可证、性能调优
集群服务层Slurm 调度、LDAP/SSSD、监控、日志、告警调度策略、公平性、可观测性
系统软件层Linux 发行版、内核、驱动、文件系统客户端版本统一、内核参数、驱动兼容
硬件资源层EPYC 计算节点、GPU 节点、存储节点、交换机CPU/内存/PCIe/网络配比
基础设施层机柜、供配电、制冷、布线、接地功率密度、散热余量、走线规范

需要特别说明的是,EPYC 的 Chiplet 架构使 NUMA 拓扑更加复杂:一颗 9654 内部由多个 CCD 组成,每个 CCD 含 8 个核心并共享 32 MB L3,跨 CCD 访问延迟高于同 CCD。因此从操作系统层开始,就要正确识别 NUMA 节点、配置内存交织策略,并在 MPI 绑核时避免跨 CCD 抖动。这一点会在后续“NUMA 与绑核”章节展开。

四、学习路径

本课程按“认知—设计—实施—调优—运维”的主线推进,共 30 章。前几章建立全景与选型依据;中段进入机柜规划、节点装配、BIOS 与固件配置、操作系统批量部署、网络与存储搭建;随后是 Slurm 调度、MPI/OpenMP 编译与运行、性能剖析与调优;最后覆盖监控告警、故障排查、安全加固与扩容演进。建议学习时始终带着一个具体应用(例如 WRF 或 OpenFOAM)贯穿全程,每完成一章就把该应用在示例集群上推进一步,这样知识不会停留在纸面。

学习建议:准备一台可用的 Linux 虚拟机或单节点 EPYC 服务器作为“最小实验环境”,后续章节中的命令、配置和参数都可以先在单节点验证,再迁移到多节点集群。单节点无法验证的部分(如 InfiniBand 组网、并行文件系统),可用容器或模拟工具替代,但需明确标注为模拟环境。