第 114 题:多模型混部的资源隔离?MPS(Multi-Process Service)?
题目
多模型混部的资源隔离?MPS(Multi-Process Service)?
完整讲解
一、多模型混部的挑战
多模型混部:同一 GPU(或同一节点)上同时跑 多个模型/多路推理,共享硬件。挑战:资源争抢(显存、算力、带宽)、互相干扰(某一路卡顿拖慢其他)、隔离与公平性(保证各模型有可预测的延迟与吞吐)。
二、资源隔离手段
- 显存:各进程/模型 预分配显存 或设 上限(如 CUDA 的 per-process limit、或容器 limit),避免单模型吃满导致 OOM 影响其他。
- 算力:MPS(Multi-Process Service)允许 多进程共享同一 GPU,由驱动做时间片调度;可配合 CUDA MPS 或 MIG(多实例 GPU)做更细粒度隔离。MPS 下多进程共享 context,可减少显存重复占用,但算力仍共享,需限流或优先级。
- 进程/容器:每模型 独立进程 或 独立容器,用 cgroup 限制 CPU/内存;GPU 侧用 MPS 或 MIG 做共享与隔离。Kubernetes 上可用 GPU 分片、资源 request/limit 做配额。
- 调度与限流:每模型 独立队列 与 并发上限,避免某模型突发占满 GPU;或按 优先级/权重 分配算力。
三、MPS 的 role
MPS:NVIDIA 的 Multi-Process Service,让 多进程 共享同一 GPU context,减少每个进程单独占用的显存与启动开销;算力由驱动在进程间调度。适合 多小模型/多路推理 混部;需注意 公平性与长尾(某进程大 kernel 会阻塞其他),可配合 流优先级 或 限流 使用。
面试要点
- 混部 = 多模型共享 GPU;需显存与算力隔离、队列与限流。
- MPS = 多进程共享 GPU context,省显存与启动;算力共享,需限流/优先级。
- 手段:显存上限、MPS/MIG、进程/容器隔离、每模型队列与并发限制。
记忆要点
- 混部要隔离显存与算力;MPS 共享 context、算力由驱动调度。
- 每模型独立队列与并发上限,防单模型打满。
- MIG 可做更细 GPU 分片;MPS 适合多进程共享一卡。