Skip to main content

MIG 与算力切分:一张 A100/H100 如何服务多个租户

· 3 min read
Industry Research Team

GPU 共享有三档武器:时间片轮转最粗放,MPS 提升并发但不隔离,MIG 用硬件分区做到故障与安全双重隔离。多租户场景选错方案,轻则性能抖动,重则数据串租户。

三种切分方式的本质区别​

方式隔离级别显存保证故障隔离适用场景
时间片(Time-Slicing)仅时间维度无无开发测试、低风险负载
MPS进程级无硬保证弱同租户多进程提吞吐
MIG硬件分区有,独立显存带宽与 L2有生产多租户、合规场景

MIG(Multi-Instance GPU)把一张物理 GPU 切成多个独立实例,每个实例拥有专属的 SM、显存、显存带宽与 L2 缓存。租户之间互不干扰:一个实例上的进程崩溃不会波及其他实例,显存争抢与噪声邻居问题从硬件层面消除。A100、A30、H100 均支持,是当前数据中心级切分的唯一硬件方案。

MIG 档位规划​

以 A100 80GB 为例,官方 profile 如下:

Profile显存SM 占比每卡最多实例数
1g.10gb10GB7 分之 17
2g.20gb20GB7 分之 23
3g.40gb40GB7 分之 32
7g.80gb80GB全卡1

实践中的黄金档位是 1g.10gb 与 3g.40gb:前者把一张卡切成七份跑 7B 以下小模型的推理或开发环境,是 2025 年以来最常用配置;后者一份 40GB 足够中等模型微调。切分是静态的,改 profile 需要排空节点上的负载,规划节点池时最好按租户画像把"全跑 1g"与"全跑 3g"的机器分开。

在 Kubernetes 上落地​

NVIDIA GPU Operator 让 MIG 管理近乎自动化:给节点打上 nvidia.com/mig.config 标签(如 all-1g.10gb),MIG Manager 自动完成切分,device plugin 随后把实例以独立资源上报。租户侧的 Pod 只需在 resources.limits 里申请对应档位,例如请求一个 nvidia.com/mig-1g.10gb 资源单元。集群若要混合全卡与切分卡,用 mixed 策略即可让部分 GPU 保持完整模式。监控侧用 GPU Operator 自带的 DCGM Exporter 暴露利用率、显存与 XID 错误指标,接 Prometheus 做租户级报表。

实操建议​

  1. 先做租户画像:统计各业务的模型显存占用与时延要求,再定档位,避免切成 1g 后发现核心业务挤不进去。
  2. 时间片与 MIG 二选一为主:给稳定性敏感的生产负载用 MIG,给弹性开发环境用时间片,通过节点池隔离。
  3. 注意限制:切分后单实例算力上限固定,大模型推理放不进 40GB 就只能走全卡或多卡。
  4. 财务口径上把每个 MIG 实例当作独立计费单元,配额与报表都按实例粒度管理,才能真正把切分省下的成本落到账上。