第七篇 · 集群调度与容错
多个任务、上千张卡,怎么调度、怎么不丢进度
⏳ 本章待补充
这一章要回答的问题
多个任务、上千张卡,怎么调度、怎么不丢进度?
前六篇都在优化"一个任务内部的效率"。真实的生产系统面对的是完全不同的问题:任务会失败、卡会坏、资源是共享的、别人也在抢。
这一章把视角从"单任务性能"拉到"集群级 goodput",也是 AI Infra 岗位与纯算法岗最明显的区别。
前置知识
- 第四篇(知道训练任务对通信和显存的需求)
- 分布式系统基本概念:容错、一致性、任务调度、参数服务器 vs AllReduce
计划覆盖的内容
| 小节 | 回答的问题 |
|---|---|
| 分布式执行底座 | 为什么 MPI / Spark 的模型套不上 AI 负载?Ray 的 task 与 actor 各解决什么? |
| 通信架构 | AllReduce 与参数服务器各自适合什么集群形态? |
| 调度 | GPU 利用率高为什么不等于训练有效?goodput 怎么定义? |
| 容错与 checkpoint | 一次 checkpoint 要多久?故障恢复时间如何直接影响成本? |
| 动手实验 | 用 Ray 起一个最小分布式任务;算一次 70B 模型的 checkpoint 开销 |
用到的第一篇的知识
- 1.1 节的延迟与带宽 → 理解跨节点通信为什么比访问本机显存贵几个数量级
- 1.4 节的 Amdahl 定律 → 理解"恢复时间"如何吃掉整体效率
对应的论文(见论文清单)
Ray(OSDI 2018)、BytePS(OSDI 2020)、Pollux(OSDI 2021)、Sia(SOSP 2023)、Gemini(SOSP 2023)、Bamboo(NSDI 2023)、Singularity、AntMan(OSDI 2020)。
⚠️ Gemini 是本清单里唯一需要机构访问的论文,只有 ACM 出版页链接。
← 返回 首页 | 上一章:第六篇 · 编译器与图优化