CPU + GPU:为什么 AI 平台工程是一个异构基础设施问题
CNCF(云原生计算基金会)博客发表文章,深入分析了 AI 平台工程面临的异构基础设施挑战。文章指出,AI 工作负载的独特需求使得传统的以 CPU 为中心的基础设施架构不再适用,AI 平台工程本质上是一个异构基础设施问题——需要同时高效管理 CPU、GPU、内存、存储和网络等多种资源,并在它们之间实现智能调度和协同。文章探讨了异构基础设施的核心挑战、当前的技术解决方案,以及云原生生态在 AI 时代的演进方向。
背景:AI 工作负载的基础设施需求
传统工作负载 vs AI 工作负载
传统的云原生工作负载(Web 应用、微服务、数据库)主要依赖 CPU:
- 计算需求相对均匀
- 内存使用可预测
- 网络流量模式稳定
- 可以水平扩展到大量廉价节点
AI 工作负载则完全不同:
- 计算密集:训练和推理需要大量 GPU 计算
- 内存密集:大模型需要巨大的内存(GPU HBM 和系统内存)
- 存储密集:训练数据集和模型检查点需要高吞吐存储
- 网络密集:分布式训练需要节点间高带宽、低延迟通信
- 资源异构:同时需要 CPU、GPU、专用加速器等多种资源
GPU 成为一等公民
在 AI 时代,GPU 不再是可选的加速器,而是核心计算资源:
- 大模型训练需要成百上千张 GPU
- 推理服务需要 GPU 提供低延迟响应
- GPU 的成本远高于 CPU,利用率直接影响 ROI
- GPU 的调度和管理成为平台工程的核心挑战
异构基础设施的核心挑战
1. 资源调度
异构环境下的资源调度远比同构环境复杂:
- 多维资源分配:需要同时考虑 CPU、GPU、内存、存储、网络带宽
- GPU 拓扑感知:GPU 之间的连接方式(NVLink、PCIe、InfiniBand)影响通信性能
- 亲和性与反亲和性:某些工作负载需要 GPU 紧密耦合,某些需要分散
- 碎片化问题:GPU 资源容易碎片化,导致大模型训练无法调度
- 超额订阅:CPU 可以超额订阅,GPU 通常不行,需要不同的调度策略
2. 资源利用率
GPU 资源昂贵,利用率是关键指标:
- 训练利用率:分布式训练中 GPU 利用率往往低于 50%,通信和数据加载是瓶颈
- 推理利用率:推理服务的 GPU 利用率受流量波动影响,空闲时浪费严重
- 碎片化浪费:小模型占用部分 GPU 显存,剩余显存无法被其他任务使用
- 上下文切换开销:GPU 任务切换比 CPU 慢,影响多租户共享
3. 网络架构
分布式 AI 工作负载对网络有极高要求:
- 带宽需求:分布式训练中 AllReduce 操作需要大量节点间通信
- 延迟敏感:同步训练中慢节点会拖慢整个集群
- 拓扑感知:需要感知 GPU 拓扑和网络拓扑,优化通信路径
- 多网络平面:可能需要同时使用以太网(管理/存储)和 InfiniBand/RoCE(训练通信)
- 网络隔离:多租户环境下需要网络隔离和带宽保证
4. 存储系统
AI 工作负载对存储的需求也在变化:
- 高吞吐:训练数据加载需要高吞吐,避免 GPU 等待数据
- 低延迟:推理时模型加载需要低延迟
- 大规模:训练数据集和检查点可能达到 PB 级别
- 分层存储:需要在热存储(SSD/NVMe)和冷存储(对象存储)之间智能分层
- 数据预处理:数据预处理(解码、增强)可能需要大量 CPU 资源
5. 多租户隔离
在共享的 AI 平台上,多租户隔离是关键挑战:
- GPU 隔离:如何在多个租户之间安全、高效地共享 GPU
- 性能隔离:一个租户的工作负载不应该影响其他租户的性能
- 故障隔离:一个租户的故障不应该影响整个平台
- 计费和配额:需要精确计量 GPU 使用时间,实施配额管理
- 安全隔离:防止租户间的数据泄露和模型窃取
6. 生命周期管理
AI 工作负载的生命周期比传统应用复杂:
- 训练任务:可能运行数天甚至数周,需要检查点和容错
- 微调任务:通常较短,但需要频繁迭代
- 推理服务:长期运行,需要弹性伸缩和滚动更新
- 批处理任务:周期性运行,需要资源预留和调度
- 交互式任务:Notebook 和开发环境,需要即时响应
当前的技术解决方案
Kubernetes 与 GPU 调度
Kubernetes 已经成为 AI 平台的事实标准:
- 设备插件(Device Plugin):NVIDIA GPU Operator 等通过设备插件将 GPU 暴露给 Kubernetes
- 扩展资源:GPU 作为扩展资源(如
nvidia.com/gpu)参与调度 - 节点选择器和亲和性:可以将 Pod 调度到特定 GPU 型号的节点
- 拓扑管理:Kubernetes 的 Topology Manager 可以协调 CPU 和 GPU 的拓扑亲和性
- GPU 共享:通过时间分片(time-slicing)或 MIG(Multi-Instance GPU)实现 GPU 共享
GPU 虚拟化与分区
- NVIDIA MIG:将 A100/H100 等 GPU 物理分区为多个独立实例
- 时间分片:在多个任务之间分时共享 GPU
- vGPU:虚拟化 GPU,提供更细粒度的共享
- 显存隔离:限制每个任务的显存使用,防止 OOM
网络优化
- RDMA:InfiniBand 和 RoCE 提供低延迟、高带宽的节点间通信
- GPU Direct RDMA:GPU 内存直接通过网络传输,绕过 CPU
- 集合通信库:NCCL、RCCL 等优化分布式训练中的集合通信
- 网络拓扑感知调度:根据网络拓扑优化任务放置
存储优化
- 并行文件系统:Lustre、BeeGFS 等高吞吐并行文件系统
- 对象存储:S3 兼容存储用于大规模数据集和检查点
- 数据缓存:在计算节点本地缓存训练数据,减少网络传输
- 数据预处理卸载:将数据预处理卸载到专用节点或 GPU
调度器增强
- Volcano:面向高性能计算和 AI 的 Kubernetes 批处理调度器
- Kueue:Kubernetes 原生的作业队列和配额管理
- YuniKorn:通用资源调度器,支持异构资源调度
- 自定义调度器:根据特定 AI 工作负载需求定制调度策略
平台抽象层
- Kubeflow:Kubernetes 上的机器学习工具包
- Ray:统一的 AI 计算框架,提供分布式执行和调度
- Kubeflow Training Operator:简化分布式训练任务的部署和管理
- KServe:模型推理服务的标准化部署
- MLflow:实验跟踪和模型管理
云原生生态的演进方向
1. GPU 成为一等资源
未来的 Kubernetes 将更深度地集成 GPU:
- GPU 不再是扩展资源,而是核心资源
- 更丰富的 GPU 调度语义(显存、计算能力、拓扑)
- GPU 生命周期管理(健康检查、故障恢复、热插拔)
- GPU 计量和计费的标准化
2. 异构调度的标准化
异构资源调度将更加标准化:
- 统一的资源模型,描述 CPU、GPU、加速器等多种资源
- 标准化的拓扑描述,表达资源间的连接关系
- 通用的调度框架,支持可插拔的调度策略
- 跨集群的异构资源调度
3. 网络与存储的协同优化
AI 工作负载需要网络和存储的协同优化:
- 计算、网络、存储的联合调度
- 数据局部性感知的调度(将计算调度到数据附近)
- 网络带宽和存储 IO 的联合配额
- 端到端的性能优化和调试
4. 弹性与成本优化
AI 平台将更加注重弹性和成本优化:
- 训练任务的弹性伸缩(利用抢占式实例)
- 推理服务的智能伸缩(根据 QPS 和延迟动态调整 GPU 数量)
- GPU 资源的分时共享和超额订阅
- 多云和混合云的成本优化
5. 可观测性与运维
AI 平台的可观测性需要覆盖异构资源:
- GPU 利用率、显存、温度、功耗的细粒度监控
- 分布式训练中的通信瓶颈分析
- 端到端的性能追踪(数据加载 → 预处理 → 训练 → 检查点)
- 智能告警和异常检测
- 成本分析和优化建议
对平台工程师的建议
1. 从一开始就考虑异构性
不要假设所有资源都是同构的:
- 在平台设计阶段就考虑 CPU/GPU 混合调度
- 选择支持异构资源的调度器和编排平台
- 设计灵活的资源模型,支持未来的新型加速器
- 建立异构资源的计量和计费体系
2. 关注 GPU 利用率
GPU 是最昂贵的资源,利用率是关键:
- 监控和分析 GPU 利用率,识别浪费
- 实现 GPU 共享和分区,提高小任务的利用率
- 优化数据加载和预处理,减少 GPU 等待时间
- 考虑推理服务的批处理和模型复用
3. 投资网络和存储
网络和存储是 AI 平台的隐形瓶颈:
- 评估网络带宽和延迟是否满足分布式训练需求
- 设计分层存储架构,平衡性能和成本
- 实现数据局部性优化,减少数据传输
- 建立网络和存储的性能基准
4. 建立多租户能力
如果平台需要支持多个团队或用户:
- 实现 GPU 资源的安全隔离
- 建立配额和优先级机制
- 实现精确的计量和计费
- 提供自助服务能力,减少人工干预
5. 拥抱开源生态
云原生和 AI 生态有丰富的开源项目:
- 关注 Kubernetes、Kubeflow、Ray 等核心项目
- 参与社区,贡献代码和反馈
- 避免厂商锁定,选择开放标准
- 建立内部的最佳实践和工具链
总结
AI 平台工程本质上是一个异构基础设施问题。AI 工作负载对计算、内存、存储、网络的需求与传统应用截然不同,GPU 从可选加速器变成了核心计算资源。异构基础设施带来了资源调度、利用率、网络架构、存储系统、多租户隔离和生命周期管理等多方面的挑战。当前的技术解决方案包括 Kubernetes GPU 调度、GPU 虚拟化与分区、RDMA 网络优化、并行文件系统、专用调度器(Volcano、Kueue)和平台抽象层(Kubeflow、Ray、KServe)。未来,云原生生态将朝着 GPU 一等资源化、异构调度标准化、网络存储协同优化、弹性成本优化和全面可观测性的方向演进。对于平台工程师来说,从一开始就考虑异构性、关注 GPU 利用率、投资网络和存储、建立多租户能力、拥抱开源生态,是构建成功 AI 平台的关键。随着 AI 技术的持续发展,异构基础设施将变得更加复杂,也将催生更多创新的技术和解决方案。
来源:https://www.cncf.io/blog/2026/09/04/cpu-gpu-why-ai-platform-engineering-is-a-heterogeneous-infrastructure-problem/