跳到主内容
快讯直播
AI智模界
AI 词典

NVIDIA MPS:让多个进程真正同时挤进一张 GPU

一句话定义

NVIDIA MPS(Multi-Process Service,多进程服务)是 NVIDIA 提供的一种 GPU 共享机制:它让多个进程的 CUDA 任务在同一张 GPU 上并发执行,而不是排队轮流用。

它解决的是什么问题

默认情况下,多个进程共享一张 GPU,走的是"时间切片"(time-slicing):同一时刻只有一个进程在用卡,做完一段再换下一个。这就像厨房只允许一位厨师进——做完一道菜、收拾干净、下一位再进。每次交接都要保存和恢复现场(context switch 有开销),而且小任务往往只用了厨房一角,灶台大半时间空着。

MPS 的做法是:后台常驻一个服务进程,各个客户端进程通过它挂到同一个 CUDA context 上。于是多个进程的 kernel 可以被一起提交进 GPU 的调度队列,同时占用 SM、显存、拷贝引擎等资源,把空闲的算力填满。对小批量推理、短任务这类"每单都不大"的场景,吞吐和延迟改善通常很明显。

和邻居们的区别

维度时间切片MPSMIG
共享方式时间上轮流独占软件层并发共享硬件层物理切分
同一时刻只有一个进程在跑多进程 kernel 可同时跑各实例完全并行
隔离强度弱(本就是排队)较弱,可配资源上限强,实例间互不干扰
资源粒度进程级进程级,可细到线程比例实例数固定且较少
硬件前提几乎所有卡Linux 数据中心场景为主需特定型号,以官方文档为准

一句话记:时间切片是"轮流用",MPS 是"一起用但要互相忍让",MIG(Multi-Instance GPU)是"把一张卡用刀切成几张独立的卡"。

对从业者的实际意义

如果你在跑多模型推理服务、小规模训练、仿真或 CI 测试,且手上是多张数据中心卡,MPS 能显著提升利用率、减少排队。但它不是免费的午餐:显存是共享的,一个进程 OOM 可能连累邻居;故障隔离也弱,客户端异常有时会波及同一 MPS 上的其他进程。所以实战里通常要配合资源上限配置(例如限制可用 SM 比例),具体参数和开启方式各家版本有差异,以官方文档为准。

对普通职场人,理解 MPS 的价值在于:它解释了"云上 GPU 为什么能卖给很多人"这件事——不是魔法,而是调度策略的选择。知道轮转、并发、物理切分这三种思路,就大致能判断一个 GPU 共享方案到底靠不靠谱。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。