📔读「大模型时代的基础架构:大模型算力中心建设指南」

type
Post
status
Published
date
Jan 27, 2026
slug
summary
category
LLM
tags
LLM
笔记
icon
password
AI summary
Blocked by
Blocking
Category
 

第1章 AI与大模型时代对于基础架构的需求

机器学习的核心认知

机器学习算法(尤以大模型、AI 为代表),本质是通过叠加多个线性幂函数,逼近现实世界的数学模型;计算这些函数的核心过程是调参,该过程涉及海量乘加运算,因此具备并行乘加能力的 GPU、TPU 等专用硬件,在该场景下的性价比远高于通用 CPU。
机器学习的核心流程可分为两步:
  1. 训练:先构建参数待定的高次线性方程模型,输入海量训练样本(模型的自变量、因变量值),由计算机求解出模型参数(即权重);
  1. 推理:基于训练得到的成熟模型,输入自变量即可计算出因变量,实现对未知场景的判断与输出。
 

为何 CPU 不适合重复的向量计算?

CPU 不适合向量运算的核心原因是架构为通用计算设计,对简单重复的向量运算存在天然效率瓶颈,核心限制有两点:
  1. 运算单元串行执行:单个 CPU 核心仅有 1 个 ALU(算术逻辑单元)处理向量卷积等简单重复运算时,只能串行执行指令,无法并行处理批量数据,运算效率极低;
  1. SIMD 并行能力有限:即便 CPU 通过 SIMD(单指令多数据)单元实现并行加速,但其寄存器位宽(如早期 SSE 的 128bit)受硬件设计限制,单次并行运算的数量(加速比)难以突破 16,无法满足向量运算对大规模并行的需求
简言之,CPU 的设计初衷是处理复杂、多变的通用计算任务,而非简单、重复、批量的向量运算,硬件架构的天然特性使其在该场景下的效率远不及 GPU、TPU 等专用协处理器。
 

第2章 软件程序与专用硬件的结合

CUDA 并行计算编程框架核心梳理

CUDA 是原生为并行计算设计的编程框架,核心价值是为开发者屏蔽 GPU 并行计算的底层复杂操作,实现对 GPU 海量计算单元的简单易调。
对程序员而言,CUDA 工作流程完全透明化:仅需按 CUDA 规范编写代码,使用支持 CUDA 运行时库的编译器,即可生成可执行的并行计算代码,无需关注 GPU 数据传输、指令执行等底层细节 —— 这些操作均由 CUDA 内置的 libcudart.so 等动态链接库,调用 GPU 的 KMD(内核模式驱动)统一实现。
notion image
要实现 GPU 有效计算,需解决数据传输、代码下发、指令执行、结果回传四大核心问题,CUDA 将其封装为标准化的 4 步工作流程,实现 CPU(系统主内存)与 GPU 之间的协同计算:
  1. 数据入 GPU:GPU 发起 DMA(直接内存访问),将系统主内存中的计算数据复制到 GPU 专属内存中,为并行计算做数据准备;
  1. 指令注入:CPU 向 GPU 下发计算指令,明确 GPU 需执行的运算逻辑;
  1. 并行执行GPU 调度内部多个计算线程,并行执行接收到的 GPU 指令,充分利用海量计算单元的并行能力;
  1. 结果回传GPU 计算完成后,再次发起 DMA,将 GPU 内存中的运算结果搬运回系统主内存,供 CPU 后续处理或调用
 
CUDA 本质是CPU-GPU 并行计算的 “中间桥梁”,通过封装底层驱动调用、DMA 数据传输、线程调度等操作,让开发者无需掌握 GPU 硬件细节,即可高效开发并行计算程序,是充分发挥 GPU 并行算力、适配 AI / 大模型等海量乘加 / 向量运算场景的关键框架。
 
notion image
 
 

第3章 GPU硬件架构剖析

NVIDIA H100 笔记(Hopper 架构)

notion image

基本规格

notion image
  • 芯片:GH100
  • 工艺:TSMC 4N
  • 晶体管数:800 亿
  • Die 大小:814 mm²
  • 主流变体:H100 SXM(重点) vs H100 PCIe vs H100 NVL(94 GB HBM3e 版本)

H100 SXM 核心参数(主流训练/推理版本)

notion image
  • GPC:8
  • TPC:66
  • SM:132
  • FP32 CUDA Core:16,896(每个 SM 128 个)
  • 第4代 Tensor Core:528(每个 SM 4 个)
  • L2 Cache:50 MB(支持压缩/解压)
  • 显存:80 GB HBM3,带宽 3.35 TB/s
  • PCIe 版:80 GB HBM2e,带宽 ≈2.0 TB/s
  • NVL 变体:94 GB HBM3e,更高带宽(≈4.8 TB/s 部分场景)

关键新特性

  • Transformer Engine:动态 FP8/FP16 混合精度切换,专为 LLM 优化
  • TMA(Tensor Memory Accelerator):异步张量内存访问
  • Thread Block Cluster:多 SM 协作共享内存,提升并行效率
  • DPX 指令:动态规划加速(基因序列等场景提升显著)
  • 第2代 MIG:最多 7 个实例
  • Confidential Computing:硬件级可信执行环境

CUDA Core vs 第4代 Tensor Core 对比

项目
CUDA Core (FP32 主力)
第4代 Tensor Core
数量 (SXM)
16,896
528
主要计算
通用标量/向量运算(激活、Norm、循环等)
矩阵乘累加(GEMM、注意力、卷积等)
支持精度
FP64/FP32/FP16/BF16/INT 等
FP8/FP16/BF16/TF32/FP64/INT8
全卡峰值性能 (约)
FP32 ~67 TFLOPS
FP8 ~3958 TFLOPS<br>BF16/FP16 ~1979 TFLOPS<br>TF32 ~989 TFLOPS
大模型算力占比
辅助(5–15%)
主力(85–95%+)
核心结论H100 的 AI 性能天花板主要由 Tensor Core + FP8 + Transformer Engine 决定,而非 CUDA Core 数量。

多卡互联体系(核心定位与差异)

总纲
H100 互联采用分层、互补设计:
  • NVLink 4.0 → 节点内 GPU 点对点高速基础
  • NVSwitch → 节点内全互联无阻塞(HGX 平台专用)
  • PCIe Gen5 → 通用兜底 + CPU/外设通信
  • NVLink Switch System → 跨节点扩展(256 GPU 域)
  • InfiniBand / Ethernet → 超大规模集群节点间互联
形成“节点内紧耦合 + 跨节点松耦合”的完整方案。

1. 第4代 NVLink(点对点高速互联基础)

  • 单 GPU 双向带宽:900 GB/s(18 条 × 50 GB/s)
  • 对比:A100 的 600 GB/s 提升 50%;PCIe Gen5 x16 仅 128 GB/s(≈7 倍差距)
  • 优势:P2P 直连、原子操作、硬件 All-Reduce 支持,延迟极低(微秒级)
  • 限制:纯 NVLink 仅支持部分互联,单节点最多高效 4 张 GPU
  • 适配场景:H100 PCIe 服务器(2/4 卡轻量训练/推理)、成本敏感部署

2. 第3代 NVSwitch(节点内全互联核心)

  • 单芯片:64 端口,每端口双向 50 GB/s,总吞吐 13.6 Tbit/s(≈1.7 TB/s)
  • HGX H100 8-GPU 配置:通常 4 个 NVSwitch 级联,实现 8 张 GPU 全互联(任意 GPU ↔ 任意 GPU 均 900 GB/s 双向)
  • 节点内总通信带宽:超 25 TB/s(PCIe 的 200 倍+)
  • 优势:无阻塞全对全、SHARP 硬件加速集体操作(All-Reduce 提升 3×)
  • 硬件要求:NVIDIA HGX/HGX-like 定制平台,成本高
  • 适配场景:H100 SXM 8-GPU 节点、大模型单节点训练(追求 90%+ 算力利用率)

3. NVLink Switch System(集群级 NVLink 扩展)

  • 支持:最多 256 张 H100 全互联(32 节点 × 8 GPU)
  • 全-to-all 带宽:57.6 TB/s
  • 拓扑:2:1 胖树 + SHARP 加速
  • 优势:跨节点 GPU 接近节点内通信性能,实现“数据中心级单一大 GPU”
  • 适配场景:千卡~万卡超大规模训练集群(如 xAI Colossus 前期阶段)

4. PCIe Gen5(兜底 + 通用通道)

  • 双向带宽:128 GB/s(x16)
  • 定位:GPU ↔ CPU/内存、GPU ↔ NIC/SSD、外设交互;无 NVLink 时的低配 GPU 互联
  • 短板:带宽低、延迟高(毫秒级),GPU 间互联利用率常 <50%
  • 适配场景:通用服务器、低成本部署、非 AI 密集任务

5. 集群级跨节点互联(补充)

  • 主流:Quantum-2 InfiniBand NDR 400 Gb/s(双向 50 GB/s)、Spectrum-X Ethernet 800 Gb/s + BlueField-3 DPU
  • 标准组网:节点内 NVLink/NVSwitch + 节点间 InfiniBand/Ethernet

三者核心对比表(H100 平台)

维度
第4代 NVLink
第3代 NVSwitch (节点内)
PCIe Gen5 (x16)
形态
GPU 片上点对点
独立交换芯片全网状
通用共享总线
单 GPU 双向带宽
900 GB/s
接入 ≈3.2–3.6 TB/s
128 GB/s
延迟
最低(无转发)
微秒级(轻微转发)
毫秒级
单节点 GPU 支持
高效 2–4 张
8–16 张全互联
无限制(性能崩)
硬件成本
高(定制平台)
极低
算力利用率(节点内)
4 卡 ≈80–90%
8 卡 ≈95–100%
4 卡 <50%
典型平台
PCIe/SXM 通用
HGX H100 SXM
所有版本
H100 的极致 AI 效率来自:FP8 + Transformer Engine + 3.35 TB/s HBM3 的单卡算力巅峰,叠加 900 GB/s NVLink 4.0 + NVSwitch 的节点内零瓶颈互联,再通过 NVLink Switch System 扩展到 256 GPU 域、InfiniBand NDR 支撑万卡集群,形成从单卡到超大规模的全场景高性能体系。

同 Node / 跨 Node GPU 通信核心总结

同Node(单服务器)内GPU通信

核心逻辑:无需集群网络,依托服务器内GPU专用桥接硬件/主板总线,数据直传或短路径转发,低延迟、超高带宽、CPU开销极低
  1. 主流方案(高端计算卡)
      • 核心硬件:NVLink(直连)+ NVSwitch(多卡交换)(H100/A100标配)
      • 数据路径:GPU←→NVLink/NVSwitch←→GPU,完全绕开CPU/主机内存
      • 核心协议:NVIDIA NCCL(底层适配NVLink硬件协议)
      • 性能:延迟微秒级,H100单卡NVLink双向带宽达12.8TB/s,8卡通过NVSwitch实现无阻塞全互联
  1. 兜底方案(入门卡/消费卡)
      • 核心硬件:服务器PCIe 4.0/5.0总线(主板PCIe控制器)
      • 数据路径:GPU←→PCIe总线←→主机内存←→PCIe总线←→GPU,必须经CPU/内存转发
      • 性能:延迟十微秒级,PCIe4.0 x16双向带宽仅64GB/s,CPU开销高
  1. 适用场景:单机2/4/8卡分布式训练/推理、大模型算力基础单元

跨Node(多服务器)间GPU通信

核心逻辑:需通过集群专用网络硬件,数据经网卡-交换机转发,延迟/带宽远低于同Node,是分布式GPU任务的主要性能限制,核心为RDMA专用方案,彻底摒弃传统TCP/IP。
  1. 主流方案(生产/云环境)
      • 核心硬件:NVIDIA ConnectX-7/8 RDMA专用网卡(RNIC) + InfiniBand交换机(生产级)/RoCE无损以太网交换机(云/中小集群)
      • 数据路径:GPU←→GPUDirect RDMA←→RDMA网卡←→集群交换机←→目标RDMA网卡←→GPU,绕开CPU/操作系统内核,显存直传
      • 核心协议:NCCL + RDMA(原生InfiniBand协议/以太网RoCE v2协议)
      • 性能:延迟百微秒级(InfiniBand)/毫秒级(RoCE),单端口带宽400Gbps(ConnectX-7)/800Gbps(ConnectX-8),CPU开销几乎为0
  1. 兜底方案(测试/低算力)
      • 核心硬件:普通10G/25G以太网网卡+常规交换机
      • 核心协议:TCP/IP
      • 性能:延迟毫秒级,带宽低、CPU开销大,会导致GPU空闲等待,完全不适用于大模型训练
  1. 适用场景:多节点分布式训练/推理、千亿/万亿参数大模型集群部署、K8s跨节点GPU Pod调度

核心差异极简对比表

对比维度
同Node内GPU通信
跨Node间GPU通信
核心硬件
NVLink/NVSwitch(首选)、PCIe总线
ConnectX RDMA网卡+InfiniBand/RoCE交换机
数据转发核心
无CPU/内存参与(NVLink)
无CPU/内核参与(RDMA显存直传)
核心协议
NCCL(NVLink/PCIe底层)
NCCL + RDMA(InfiniBand/RoCE)
典型延迟
微秒级(NVLink)/十微秒级(PCIe)
百微秒级(InfiniBand)/毫秒级(RoCE)
典型带宽
TB级(NVLink)/数十GB/s(PCIe)
400G/800Gbps(RDMA)
K8s适配关键
暴露NVLink硬件能力,本地Pod调度
部署RDMA网络插件,分配RNIC资源,亲和性调度
 

第4章 GPU服务器的设计与实现

 

第5章 机器学习所依托的I/0框架体系

NVIDIA Magnum IO 介绍

Magnum IONVIDIA 为现代加速数据中心(GPU加速AI/HPC)设计的I/O子系统架构,全称 Magnum IO(源自 Multi-GPU Multi-Node I/O),旨在消除传统CPU中转带来的数据瓶颈,实现高效、并行、智能的数据移动。
它是机器学习、大模型训练、HPC 等高性能计算场景中关键的I/O加速框架,覆盖从单节点到万卡集群的全栈数据通路。

核心目标

  • 绕过CPU:实现 GPU ↔ 存储GPU ↔ GPUGPU ↔ 网络 的直接数据路径
  • 消除I/O瓶颈:数据加载、shuffle、checkpoint 等环节提速数倍至数十倍
  • 支持海量数据:PB级数据集下的高效训练/推理

Magnum IO 四大核心组成部分

类别
主要技术
核心功能
典型收益
Network IO
NVLink、NVSwitch、InfiniBand、Ethernet、NCCL、UCX、NVSHMEM
GPU间高速互联、AllReduce/集体通信加速、多节点通信
训练吞吐提升 2–9×
Storage IO
GPUDirect Storage (GDS)、cuFile API
存储 → GPU 显存 直接DMA(绕过CPU内存拷贝)
数据加载速度提升 2–10×
In-Network Compute
SHARP、BlueField DPU offload
网络交换机/DPU 内完成 Reduce、广播等操作
降低网络拥塞,提升集体操作效率
IO Management
UFM、NetQ、BlueField DPU telemetry
网络/存储 fabric 监控、故障预测、QoS、预防性维护
数据中心运维效率大幅提升

关键技术亮点:GPUDirect Storage (GDS)

  • 传统路径:存储 → CPU内存 → CPU拷贝 → GPU显存(多次拷贝、CPU开销大)
  • GDS路径:存储 → NIC → GPU显存(直接DMA,零拷贝
  • 支持本地NVMe、远程NVMe-oF、BeeGFS、Lustre、IBM Spectrum Scale 等文件系统
  • 已集成进 CUDA Toolkit(11.4+),PyTorch、TensorFlow、DALI、RAPIDS 等框架可直接使用

典型应用场景收益(官方数据参考)

场景
技术栈
性能提升倍数
大模型训练数据加载
GDS + NCCL + NVLink
2–10×
Mixture-of-Experts (MoE)
NVLink + NVSwitch + NCCL
最高9×
数据分析 / Spark shuffle
RAPIDS + UCX + GPUDirect RDMA
显著降低延迟
科学模拟 / checkpoint
GDS + BeeGFS / Lustre
5–20×

一句话总结

Magnum IO 是 GPU 时代数据中心 I/O 的“高速公路体系”,通过 GPUDirect、NVLink、SHARP 等技术,让海量数据以极低延迟、高带宽直接流入 GPU,彻底解决传统 CPU 中转造成的 I/O 瓶颈,是当今大模型训练、HPC 集群实现极致性能的基石。
 

第7章 GPU板卡级算力调度技术

基于虚拟化技术的GPU调度(VM)

虚拟化GPU调度以实现虚拟机接近物理机的GPU性能为目标,通过硬件级独占绑定满足高性能计算、专业图形渲染等对性能和隔离性要求极高的场景,主流成熟方案为KVM + PCI-E直通,该方案让虚拟机直接接管物理GPU,是极致性能场景的首选。
其优势显著:性能损耗极小,直连硬件且支持CUDA等完整功能无阉割;隔离性极强,硬件级独占可避免多租户资源抢占和数据泄露,适配金融、政企等高安全场景;宿主机开销极低,仅初始化耗少量资源,后续对CPU、内存占用微乎其微。
同时存在明显局限,单张GPU仅能绑定一个虚拟机,资源利用率低,不适用于多租户共享场景;无法动态调整GPU分配、不支持虚拟机热迁移,灵活性差,难以适配高可用和动态扩缩容业务;依赖VT-d/IOMMU等特定硬件和内核级虚拟化技术,部署门槛高,对运维人员专业能力要求严苛。

基于容器技术的GPU调度(k8s)

目标是让 GPU 资源像 CPU、内存一样,成为 K8s 集群的 “弹性资源”,实现秒级调度、动态分配、高效共享,支撑微服务、AI 推理等云原生业务的快速扩缩容。
notion image

1. 调度器(Scheduler)决策:找到合适的 GPU 节点

  • 当你提交一个包含 GPU 资源请求(比如 nvidia.com/gpu: 1)的 Pod 时,Kubernetes 控制面的调度器会介入。
  • 调度器会从 API Server 获取全集群节点的资源状态,筛选出那些有可用 GPU(nvidia.com/gpu 资源量 ≥ Pod 请求量)的节点。
  • 调度器通过优选策略(比如节点负载、GPU 型号匹配等)选择最优节点,然后通过 bind API 将 Pod 绑定到该节点。
  • 这个绑定操作会被记录到 etcd 中,同时目标节点的 kubelet 会通过监听 API Server 得知“有一个 Pod 被分配到我这里了”。

2. kubelet 启动容器创建流程,触发设备分配

  • 目标节点的 kubelet 监听到 Pod 绑定事件后,开始准备创建容器。
  • kubelet 解析 Pod 的资源清单,发现它包含 GPU 这类扩展设备请求,于是将该请求转发给内部的 Device Plugin Manager
  • Device Plugin Manager 向对应的设备插件(比如 nvidia-device-plugin)发起 AllocateRequest(分配请求),传递 Pod 要使用的设备 ID 列表。

3. Device Plugin 执行设备分配,返回资源信息

  • 设备插件收到 AllocateRequest 后,会实时检查节点上的物理 GPU 状态,找到一个可用的 GPU 设备。
  • 设备插件收集该 GPU 的关键信息:
    • 设备路径:Linux 下的设备文件路径(比如 /dev/nvidia0
    • 环境变量:容器运行时需要的 GPU 驱动环境变量(比如 NVIDIA_VISIBLE_DEVICES
    • 挂载信息:驱动文件的挂载路径(比如 /usr/local/nvidia
  • 设备插件将这些信息通过 AllocateResponse 返回给 kubelet 的 Device Plugin Manager。

4. kubelet 配置容器运行时,完成设备隔离与启动

  • kubelet 收到 AllocateResponse 后,会将 GPU 设备路径、环境变量和挂载信息注入到容器的配置中。
  • 为了保证 GPU 独占,kubelet 会将设备路径的 Namespace 与目标容器的 Namespace 进行绑定,这样其他容器就无法访问该设备文件。
  • 最后,kubelet 调用容器运行时(比如 containerd),传递完整的容器配置,启动容器。
  • 容器启动后,就可以通过注入的设备路径和环境变量,独占使用这块 GPU 了。
 
notion image
 

第8章 GPU虚拟化调度方案

 
 

第9章 GPU集群的网络虚拟化设计与实现

 
 
 
专有词汇
  • IOMMU:IOMMU(Input/Output Memory Management Unit,输入输出内存管理单元)是芯片组上的硬件组件,作用是为外设(GPU / 网卡 / 存储等 PCI-E 设备)提供内存地址转换和隔离能力。IOMMU 是实现 GPU 直通的硬件前提,核心解决 “外设如何安全、独立地访问虚拟机内存” 问题,是虚拟化场景下硬件级设备隔离和直通的基础。
    Prev
    初探 Volcano Scheduler
    Next
    AI 时代下的 Kubernetes 调度器:架构、挑战与演进路径
    Loading...
    Catalog
    Article List
    如果去做,还有一丝希望;但是不去做,就毫无希望
    个人总结
    技术分享
    LLM
    k8s
    knative
    agentic
    istio
    HAMI
    Golang
    转发
    计算机网络
    Redis
    MySQL
    Mysql