GPU 集群调度架构解析
子玥酱掘金 / 知乎 / CSDN / 简书 同名大家好我是子玥酱一名长期深耕在一线的前端程序媛 。曾就职于多家知名互联网大厂目前在某国企负责前端软件研发相关工作主要聚焦于业务型系统的工程化建设与长期维护。我持续输出和沉淀前端领域的实战经验日常关注并分享的技术方向包括前端工程化、小程序、React / RN、Flutter、跨端方案在复杂业务落地、组件抽象、性能优化以及多端协作方面积累了大量真实项目经验。技术方向前端 / 跨端 / 小程序 / 移动端工程化内容平台掘金、知乎、CSDN、简书创作特点实战导向、源码拆解、少空谈多落地文章状态长期稳定更新大量原创输出我的内容主要围绕前端技术实战、真实业务踩坑总结、框架与方案选型思考、行业趋势解读展开。文章不会停留在“API 怎么用”而是更关注为什么这么设计、在什么场景下容易踩坑、真实项目中如何取舍希望能帮你在实际工作中少走弯路。子玥酱 · 前端成长记录官 ✨ 如果你正在做前端或准备长期走前端这条路 关注我第一时间获取前端行业趋势与实践总结 可领取11 类前端进阶学习资源工程化 / 框架 / 跨端 / 面试 / 架构 一起把技术学“明白”也用“到位”持续写作持续进阶。愿我们都能在代码和生活里走得更稳一点 文章目录引言一、为什么 GPU 调度如此困难二、GPU 集群核心架构三、任务提交流程四、GPU Scheduler 核心职责五、资源发现机制六、资源匹配算法常见策略七、大模型训练中的 Gang Scheduling原理八、GPU 碎片化问题为什么越来越严重九、GPU 共享技术NVIDIA MIG十、推理调度架构推理调度流程十一、多租户调度十二、抢占式调度Preemption工作流程十三、GPU 集群监控系统十四、AI时代的新调度挑战十五、未来趋势AI Native Scheduler总结引言过去几年大模型行业有一个非常有趣的现象。大家讨论最多的是GPT DeepSeek Llama Qwen Claude讨论第二多的是训练框架 推理框架 MoE RLHF Agent但真正决定一家 AI 公司成本和效率的往往不是这些。而是GPU 集群调度系统很多团队购买了几百张 GPU 后才发现GPU 不够贵闲置才最贵。例如GPU 利用率仅30% 任务长期排队 训练任务互相抢资源 推理服务频繁扩缩容最终导致算力很多 效率很低因此对于 AI 基础设施团队来说GPU Scheduler 才是真正的“大脑”。甚至可以说GPU CPU GPU Scheduler Kubernetes如果没有调度系统1000张GPU ≈ 100张GPU因为大部分资源都会被浪费。一、为什么 GPU 调度如此困难很多人第一次接触 GPU 集群时会觉得CPU调度都解决了 GPU调度有什么难的实际上完全不同CPU 调度任务粒度小 资源弹性高 切换成本低GPU 调度任务巨大 资源昂贵 切换成本高例如一个 Web 服务2 Core 4 GB RAM随时可以迁移但一个大模型训练任务64 GPU 512 CPU 2TB Memory一旦启动不能轻易迁移否则代价极高。二、GPU 集群核心架构典型架构如下User │ ▼ ┌─────────────────┐ │ Submit Job │ └────────┬────────┘ ▼ ┌─────────────────┐ │ Scheduler │ └────────┬────────┘ ▼ ┌─────────────────────────────┐ │ Resource Manager │ └───────────┬─────────────────┘ ▼ ┌────────────────────┐ │ GPU Cluster │ └────────────────────┘核心组件包括Job Queue Scheduler Resource Manager Node Manager Monitor三、任务提交流程训练任务启动时python train.py实际上背后发生了很多事情。用户提交gpu:8cpu:64memory:512G进入Job Queue任务状态Pending Running Completed FailedScheduler 开始寻找资源。例如Node-A GPU不足 Node-B GPU不足 Node-C 满足条件最终任务分配到 Node-C开始训练。四、GPU Scheduler 核心职责调度器主要解决四个问题放哪里 什么时候放 放多少资源 如何保证公平即Placement Allocation Priority Fairness五、资源发现机制Scheduler 首先要知道集群有哪些资源例如GPU型号 GPU数量 CPU数量 内存大小 网络带宽节点定期上报{node:gpu-001,gpu:8,gpuType:H100,cpu:128}Scheduler 构建Cluster View集群视图。六、资源匹配算法假设用户申请8 × H100集群情况NodeA 4 H100 NodeB 8 H100 NodeC 16 A100调度器需要选择NodeB因为满足需求 碎片最少这就是Best Fit策略。常见策略1.First Fit找到就放优点速度快缺点碎片严重2.Best Fit选择最接近需求的节点优点资源利用率高缺点调度开销大3.Bin Packing目标尽可能塞满节点例如8GPU节点 任务A 2GPU 任务B 2GPU 任务C 4GPU放一起这样空闲节点更多方便后续大任务调度。七、大模型训练中的 Gang Scheduling这是 GPU 调度最核心的技术之一训练任务经常要求8 GPU 16 GPU 64 GPU 128 GPU问题来了如果只找到63张GPU怎么办答案不能启动因为分布式训练要求同时启动这就是Gang Scheduling原理普通任务找到资源就运行Gang Task全部资源到位 ↓ 同时启动例如8 GPU Training必须GPU1 GPU2 GPU3 GPU4 GPU5 GPU6 GPU7 GPU8全部 Ready否则继续等待八、GPU 碎片化问题这是所有 AI 公司都会遇到的问题。例如NodeA 剩余 1 GPU NodeB 剩余 2 GPU NodeC 剩余 1 GPU总共4 GPU看起来资源很多但用户需要4 GPU 连续资源实际上无法调度。这就是GPU Fragmentation为什么越来越严重因为训练任务结束时间不同导致GPU空洞越来越多最终资源利用率下降九、GPU 共享技术为了提升利用率行业开始使用MIG vGPU Time SlicingNVIDIA MIG把一张 GPU 切成多个实例。例如1 H100 ↓ 7 个小GPU适用于推理任务 小模型训练这样资源利用率更高十、推理调度架构训练与推理完全不同训练长任务推理短任务例如请求到达 ↓ 模型推理 ↓ 返回结果只有几百毫秒因此调度目标变成低延迟 高吞吐推理调度流程Request │ ▼ Load Balancer │ ▼ Model Router │ ▼ GPU Worker其中Model Router最关键负责路由到哪个模型 路由到哪个GPU十一、多租户调度企业 GPU 集群通常不是一个团队使用例如推荐团队 搜索团队 大模型团队 数据团队都在抢 GPU因此需要Quota配额系统。例如teamA:40%teamB:30%teamC:30%避免一个团队占满所有GPU十二、抢占式调度Preemption当重要任务到来时。怎么办例如CEO要求训练紧急模型但GPU已经满了此时 Scheduler 可以暂停低优先级任务释放 GPU。这就是Preemption工作流程高优任务到达 ↓ 发现资源不足 ↓ 选择低优任务 ↓ 保存Checkpoint ↓ 回收GPU ↓ 启动高优任务十三、GPU 集群监控系统没有监控等于盲飞通常需要监控GPU利用率 显存占用 训练吞吐量 网络流量 故障率典型指标GPU Utilization Memory Usage Tokens/sec Samples/sec十四、AI时代的新调度挑战过去单模型训练现在MoE RLHF Agent 多模型协同出现新的问题GPU拓扑感知 RDMA调度 跨机房训练 异构GPU调度Scheduler 不再只是资源分配器而是AI Infrastructure Brain十五、未来趋势AI Native Scheduler未来 GPU Scheduler 会越来越智能。传统模式规则驱动未来AI驱动例如预测任务完成时间 预测GPU需求 自动扩容 自动迁移形成Self-Driving Cluster自治算力集群。总结很多人认为大模型时代最重要的是模型 算法 数据实际上当规模达到100 GPU 1000 GPU 10000 GPU以后真正决定效率的往往是GPU 调度系统因为模型决定能力上限 Scheduler决定资源利用率从某种意义上说AI 时代的 Kubernetes不是 Kubernetes 本身而是面向 GPU 的新一代调度系统。而未来所有 AI 基础设施的竞争最终都会回到一个核心问题如何让每一张 GPU 都创造最大价值。