1. 课程导入:GPU虚拟化与资源隔离的背景、目标、学习路径
1.1 为什么需要GPU虚拟化:从独占到共享的必然演进
在深度学习、科学计算与云游戏等场景中,GPU已成为最昂贵的计算资源之一。早期GPU以物理卡为单位被单一进程或单一容器独占,这种模式带来三个尖锐问题:利用率低下(推理任务往往只占用GPU 10%~30%的算力)、成本高昂(A100/H100等高端卡单价数万元至数十万元)、管理僵化(无法像CPU那样按需弹性切分)。GPU虚拟化的核心动机,就是打破“一卡一任务”的物理绑定,让一块GPU能够安全、高效地服务于多个租户或多个工作负载。
从技术演进看,GPU虚拟化经历了四代路径:
- API转发层虚拟化:拦截CUDA/OpenCL调用并重定向到物理GPU,如早期rCUDA,兼容性好但性能损耗高。
- 直通与分区虚拟化:通过PCIe SR-IOV或MIG(Multi-Instance GPU)将物理GPU划分为多个独立实例,隔离性强但粒度受限。
- 全虚拟化与中介直通:如NVIDIA vGPU,由Hypervisor中的VGPU Manager统一调度,兼顾性能与共享。
- 时间片与多进程服务(MPS/MPS改进):在软件层实现细粒度算力切分,适合推理等短任务场景。
1.2 资源隔离的本质:算力、显存与故障域的三重边界
GPU资源隔离远比CPU复杂,因为GPU的硬件架构是大规模并行多核,且显存带宽与计算单元紧密耦合。隔离必须覆盖三个维度:
- 算力隔离(SM/流处理器分区):限制某容器可用的SM数量或计算占比,防止一个任务占满所有CUDA核心。
- 显存隔离(帧缓冲分区):为每个实例分配独立的显存地址空间,防止越界读写或显存耗尽导致OOM。
- 故障域隔离(错误传播边界):当某个实例发生ECC错误或驱动崩溃时,不能影响同卡其他实例。
下表对比了当前主流GPU虚拟化技术的隔离粒度与适用场景:
| 技术方案 | 隔离粒度 | 算力切分 | 显存隔离 | 典型场景 |
|---|---|---|---|---|
| NVIDIA MIG | 硬件级(A100/H100) | 固定SM切片 | 独立显存通道 | 多租户训练、推理隔离 |
| NVIDIA vGPU(SR-IOV) | 硬件辅助虚拟化 | 时间片+显存配额 | 显存分区 | VDI、云桌面 |
| CUDA MPS | 进程级(软件) | 并发调度控制 | 共享显存(无隔离) | 小任务并发、批处理 |
| 容器+GPU插件 | 设备插件级 | 整卡分配 | 整卡显存 | Kubernetes简单调度 |
1.3 课程学习路径:从原理到排障的四阶段设计
本课程共30章,按认知逻辑分为四个阶段。每个阶段都配有动手实验与故障案例,确保“知其然更知其所以然”。
阶段一:基础原理(第1~8章)——聚焦GPU硬件架构(SM、显存层次、PCIe拓扑)、虚拟化技术谱系、隔离模型与性能开销来源。学完本阶段,你将能画出GPU虚拟化栈的完整数据通路。
阶段二:主流技术实践(第9~18章)——深入NVIDIA MIG配置、vGPU部署、AMD MxGPU、容器运行时(containerd+GPU插件)、Kubernetes设备扩展等。每章均包含nvidia-smi、mig-parted等真实命令演示。
阶段三:资源调度与度量(第19~25章)——解决“切好了怎么分”的问题:多租户调度策略、GPU共享与抢占、可观测性指标(DCGM)、成本核算模型。此阶段会引入实际调度器源码片段分析。
阶段四:排障与优化(第26~30章)——覆盖显存泄漏定位、MIG实例故障恢复、vGPU性能抖动排查、多卡通信(NVLink)瓶颈分析等真实生产案例。
# 本课程推荐的实验环境(最低配置)
# 硬件:1台NVIDIA A100或RTX 4090服务器
# 软件:Ubuntu 22.04 + CUDA 12.x + Docker + Kubernetes 1.28
# 验证MIG是否可用:
nvidia-smi -mig 1
nvidia-smi mig -lgi
1.4 典型场景复盘:一个真实的企业级GPU共享案例
某AI公司有8张A100(80GB),需要同时运行:3个中型训练任务(每个需30GB显存)、12个在线推理服务(每个需4GB显存且延迟敏感)、若干开发调试容器。若不做虚拟化,只能按物理卡分配——3个训练任务占3张卡,12个推理服务挤在2张卡上(显存不足),开发容器无卡可用。
采用MIG+时间片组合方案后:
- 将其中4张A100各切分为2个实例(每实例40GB显存,约50%算力),满足3个训练任务+1个备用。
- 剩余4张卡启用vGPU模式,每张卡分出6个2GB显存的实例,承载12个推理服务。
- 开发容器使用MPS共享剩余算力,限制占用不超过20%。
最终GPU整体利用率从37%提升至82%,推理P99延迟仅增加4%。但过程中也暴露了问题:MIG实例的显存带宽隔离并不完美,当训练任务全速写入时,同卡推理实例的延迟抖动达到15%。这促使团队在调度层增加了带宽感知的优先级策略——这正是本课程第23章要深入讲解的内容。
1.5 本节要点与自测清单
在进入第2章“GPU硬件架构与虚拟化基础”之前,请确认你已理解以下核心概念:
- GPU虚拟化的四大技术路径及其性能/隔离权衡。
- 算力隔离、显存隔离、故障域隔离三者的区别与联系。
- MIG、vGPU、MPS三种主流方案的适用边界。
- 本课程四个学习阶段的内容划分与实验环境要求。