1. 课程导入与集群建设全景
在气象预报、计算流体力学、分子动力学、AI 训练与推理、EDA 仿真等场景中,高性能计算集群(HPC Cluster)承担着把大规模数值计算拆解、并行执行并汇总结果的任务。以 AMD EPYC 处理器为核心的集群,凭借单路最高可达 128 核、128 条 PCIe 5.0 通道、12 通道 DDR5 内存以及 Chiplet 多芯粒架构,在单位机柜的算力密度、内存带宽和 I/O 扩展能力上具备明显优势。本课程围绕“如何从零建设一套可交付、可运维、可扩展的 AMD EPYC 高性能计算集群”展开,本章先建立全景认知:典型应用场景、建设目标、总体架构层次,以及后续 29 章的学习路径。
一、典型应用场景与需求特征
不同应用对集群资源的偏好差异很大,这直接决定了选型与拓扑设计。下面用一张关系图把“应用场景—关键资源瓶颈—对集群的要求”对应起来,便于在后续章节中快速定位设计重点。
从图中可以看出,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)贯穿全程,每完成一章就把该应用在示例集群上推进一步,这样知识不会停留在纸面。