文章

GPU 资源分配与隔离策略

GPU 资源分配与隔离策略

GPU 资源的分配策略(整卡、MIG 物理分区、Time-Slicing 时间片、MPS 进程共享)各有优劣。选对策略直接影响集群利用率和任务稳定性。


一、四种策略对比

策略隔离级别显存隔离故障隔离性能损耗适用场景
整卡分配硬件0%大模型训练
MIG硬件(SM+显存)0%推理多租户
Time-Slicing时间片轮转❌ 共享❌ OOM 互相影响<5%开发调试
MPS进程级上下文❌ 共享❌ 单进程崩溃全挂<3%小模型批量推理

二、MIG 详解

2.1 A100 MIG 配置

A100 40GB:
┌────────────────────────────────────────────────┐
│ 配置 1: 7 × 1g.5gb  (每个实例 1/7 SM + 5GB)    │
│ 配置 2: 3 × 2g.10gb (每个实例 2/7 SM + 10GB)   │
│ 配置 3: 2 × 3g.20gb (每个实例 3/7 SM + 20GB)   │
│ 配置 4: 1 × 7g.40gb (整卡)                      │
│ 混合: 1×3g.20gb + 2×2g.10gb                    │
└────────────────────────────────────────────────┘

A100 80GB:
  支持 1g.10gb, 2g.20gb, 3g.40gb, 4g.40gb, 7g.80gb

2.2 H100 MIG 增强

H100 MIG 改进:
- 最大 14 个 GI (GPU Instance),每个 GI 最多 14 个 CI (Compute Instance)
- MIG 模式下 NVLink 仍可用(A100 MIG 禁用 NVLink)
- 更灵活的配置: 1g.5gb ~ 7g.80gb,支持异构混合

2.3 MIG 管理命令

# 启用 MIG 模式(需重启 GPU)
nvidia-smi -i 0 -mig 1

# 创建 MIG 配置
nvidia-smi mig -cgi 9,9,9,9,9,9,9 -C  # 7 × 1g.5gb 在 GPU 0

# 查看 MIG 状态
nvidia-smi mig -lgi
nvidia-smi mig -lci

# 销毁所有 MIG 配置
nvidia-smi mig -dci
nvidia-smi mig -dgi

# 恢复整卡模式
nvidia-smi -i 0 -mig 0

2.4 MIG 在 K8s 中

# 启用 MIG 后,device plugin 自动暴露 mig 资源
# Pod 请求 MIG slice:
apiVersion: v1
kind: Pod
spec:
  containers:
  - name: inference
    resources:
      limits:
        nvidia.com/mig-1g.10gb: 1

三、Time-Slicing

# nvidia-device-plugin 配置
data:
  config.yaml: |
    version: v1
    sharing:
      timeSlicing:
        resources:
          - name: nvidia.com/gpu
            replicas: 4    # 1 物理 GPU 暴露为 4 个虚拟 GPU
          - name: nvidia.com/mig-1g.10gb
            replicas: 2    # 1 MIG slice 暴露为 2 个虚拟 slice

⚠️ 风险:显存不隔离,某个 Pod OOM 会连带影响同 GPU 上所有 Pod。


四、MPS

# 启动 MPS 守护进程
nvidia-cuda-mps-control -d

# 多个进程自动共享 GPU 上下文
# 适合:大量小推理请求,不需要严格隔离的场景

五、策略选择决策树

需要严格隔离?(多租户/生产推理)
├── 是 → 需要多卡互联?
│         ├── 是 → 整卡(MIG 禁 NVLink on A100)
│         └── 否 → MIG

└── 否 → 需要显存隔离?
          ├── 是 → MIG 或整卡
          └── 否 → 负载类型?
                    ├── 高并发小推理 → MPS
                    └── 交互式开发 → Time-Slicing

关联知识

参考资源

学习时间

阶段时间备注
内容创建2026-06-30MIG/Time-Slicing/MPS 对比与实战

状态标记

📖 已掌握 — 四种策略对比、MIG 配置命令、K8s 集成 📝 待补充 — H100 MIG 混合配置最佳实践、MPS 性能 benchmark、DRA 共享策略进阶