Skip to content

11. 延伸阅读与学习路径

一句话理解:GPU 调度的深度来自“读 Device Plugin 规范、读 NVIDIA 官方文档、读 Volcano/Kueue/scheduler-plugins 源码、读生产排障案例”四件事

11.1 官方文档(按优先级)

Kubernetes 设备插件与 GPU

优先级文档读什么
P0Kubernetes Device PluginsDevice Plugin 协议、ListAndWatch/Allocate 语义
P0NVIDIA GPU Operator 文档安装、升级、MIG、可观测
P1NVIDIA Device Plugin源码、MIG 支持、time-slicing 配置
P1NVIDIA Container Toolkit容器运行时集成、libnvidia-container
P2NVIDIA MIG 用户指南MIG profile、NCCL 限制、生产建议

调度框架与队列

优先级文档读什么
P0Kubernetes Scheduler FrameworkFilter/Score/Reserve/Permit/PreBind 扩展点
P1scheduler-pluginsNodeResourceTopology、Coscheduling / Gang
P1Volcano 文档PodGroup、Queue、Job 调度
P1Kueue 文档ClusterQueue、LocalQueue、Workload、AdmissionCheck
P2KEP 624: Scheduling Framework调度框架设计演进

11.2 规范与源码仓库

Device Plugin 与 GPU 生态

仓库读什么
kubernetes/kubernetes/pkg/kubelet/cm/devicemanagerkubelet 端 Device Plugin 管理
NVIDIA/k8s-device-pluginNVIDIA Device Plugin 完整实现
NVIDIA/gpu-operatorGPU Operator Helm chart 与组件编排
NVIDIA/dcgm-exporterGPU 指标暴露
NVIDIA/node-feature-discoveryGPU 与拓扑标签发现
NVIDIA/gpu-feature-discoveryGPU 型号与 MIG 标签

调度器与队列

仓库读什么
kubernetes-sigs/scheduler-pluginsNodeResourceTopology、Coscheduling 插件
volcano-sh/volcanoGang 调度、Queue、Preemption
kubernetes-sigs/kueue工作负载队列与资源管理
kubernetes/kubernetes/pkg/scheduler默认调度器框架与算法

11.3 经典演讲与论文

资源为什么读
NVIDIA GPU Operator: Life of a GPU Node理解 GPU Operator 组件协同与 Day-2 运维
GPUDirect RDMA 文档RDMA 与 GPU 直接通信的硬件基础
NCCL 调优指南训练通信参数与网络配置对应关系
Kubernetes SIG-Scheduling 演讲调度框架、多租户、资源配额演进
Volcano: A Kubernetes Native Batch System了解 Volcano 设计动机与生态
Kueue: Kubernetes-native Job Queueing了解 Kueue 与原生 scheduler 的协作模式

11.4 生产实践与案例

资源读什么
NVIDIA GPU Operator 最佳实践安装、升级、MIG、Troubleshooting
AWS EKS GPU 节点文档云上 GPU 节点与 Device Plugin 实践
GKE GPU 文档GKE 上的 GPU 调度与 MIG
Azure AKS GPU 节点Azure 上 GPU Operator 部署
NVIDIA GPU Cloud (NGC)官方优化镜像与 Helm chart

11.5 与本手册其他主题的交叉引用

主题与本主题的衔接阅读建议
KubernetesDevice Plugin、kube-scheduler、ResourceQuota 都建立在 K8s 基础上先读 K8s 主题,再深入 GPU 调度
GPU 架构与 CUDA 基础理解 GPU 拓扑、NVLink、NCCL、显存本主题讲“怎么调度”,gpu-cuda 讲“GPU 是什么”
容器运行时NVIDIA Container Toolkit 依赖 container runtime读运行时理解 GPU 设备如何挂载到容器
OperatorGPU Operator 本身就是一个大型 Operator读 Operator 主题理解其控制循环与升级逻辑
vLLMGPU 调度直接决定 vLLM 服务的吞吐与延迟结合本主题做推理 placement 设计
TensorRT-LLMTensorRT-LLM 推理需要显存与 batch 策略匹配按模型显存选 MIG profile 或整卡
KubeRayRay on K8s 需要 GPU 资源与 Gang 调度结合 Kueue/Volcano 做 Ray 集群调度
计算机网络RDMA/RoCE/IB 是千卡训练网络基础本主题讲“如何与 GPU 配合”,网络主题讲“为什么”
AI SREGPU 可观测与故障响应是 SRE 核心DCGM 指标、Xid 告警、容量规划

11.6 推荐学习路径

路径 A:从 Device Plugin 入手

text
1. 读 Kubernetes Device Plugins 官方文档(P0)
2. 通读 NVIDIA k8s-device-plugin 源码
3. 用 kind 或 minikube 手动部署 NVIDIA Device Plugin
4. 观察 ListAndWatch 与 Allocate 的 gRPC 调用
5. 配置 time-slicing,观察多 Pod 共享 GPU
6. 阅读 GPU Operator 源码,理解组件编排

路径 B:从调度器入手

text
1. 读 Kubernetes Scheduler Framework(P0)
2. 部署 scheduler-plugins,开启 Coscheduling / NodeResourceTopology
3. 对比 Volcano 与 Kueue 的队列语义
4. 用 Kueue 配置 ClusterQueue + LocalQueue + Workload
5. 用 Volcano 配置 Queue + PodGroup
6. 设计一个多租户训练平台的队列模型

路径 C:AI 平台全栈

text
1. 先读完 [Kubernetes](/02-cloud-native/kubernetes/) 与 [gpu-cuda](/01-foundation/gpu-cuda/)
2. 读本主题 1-5 章建立 GPU 调度全链路认知
3. 跑通本主题 Mini Demo(gpu-scheduling-mini)
4. 在真实集群或云上部署 GPU Operator + Volcano/Kueue
5. 模拟 MIG 变更、Pod Pending、NCCL timeout 并排障
6. 回看源码(k8s-device-plugin、scheduler-plugins、Kueue)加深理解

11.7 本章小结

类型重点资源
官方文档K8s Device Plugins、NVIDIA GPU Operator、MIG 用户指南
源码k8s-device-plugin、GPU Operator、scheduler-plugins、Volcano、Kueue
演讲论文GPU Operator 生命周期、GPUDirect RDMA、NCCL 调优、Kueue/Volcano 设计
生产实践云厂商 GPU 节点文档、NGC、DCGM 监控
交叉主题Kubernetes、gpu-cuda、容器运行时、Operator、vLLM、TensorRT-LLM、KubeRay、AI SRE

GPU 调度主题到此结束。建议结合真实 GPU 集群实验,把 Device Plugin 协议、切分技术差异、拓扑感知、队列设计、生产排障内化为肌肉记忆。

Released under CC-BY-SA-4.0 License.