这篇论文提出了 CrossPool,通过分离权重和 KV-cache 池,能大幅降低冷 MoE 模型的推理延迟,比现有系统快 10 倍以上。
CrossPool 是一种为冷 MoE 模型设计的多 LLM 服务引擎,它将 FFN 权重和 KV-cache 分离到两个 GPU 内存池中。权重池合并多个冷模型的 FFN 权重,KV-cache 池动态服务活跃请求,使注意力计算局部化。系统包含 KV-cache 规划器、虚拟化器、层间流水线调度器以及持久化内核,减少了 CPU-GPU 控制开销。在突发长上下文请求下,CrossPool 相比基于 KV-cache 的最先进多 LLM 服务系统,将 P99 TBT 降低了最多 10.4 倍。
CrossPool: Efficient Multi-LLM Serving for Cold MoE Models through KV-Cache and Weight Disaggregation
Emerging LLM services increasingly host many sparse MoE models, yet most models receive sparse requests and remain cold. This creates a GPU memory problem: model weights are stable and model-determined, while KV-cache is transient and demand-determined. Because cold models rarely reach peak KV-cache demand at the same time, reserving worst-case KV capacity per model wastes memory; a shared KV-cache pool can instead provision aggregate active demand. However, KV-cache sharing is not sufficient when weights and KV-cache remain in a monolithic GPU memory pool. Static weights compete with dynamic KV-cache, and KV-head-limited attention under cold, low-concurrency traffic exposes only a fraction of replicated KV capacity, leading to low GPU memory utilization and weak long-context support. We present CrossPool, a serving engine for cold MoE models that separates FFN weights and KV-cache into two GPU memory pools: a weights pool that consolidates FFN weights across cold models, and a KV-cache pool that dynamically serves active requests while keeping attention local to KV-cache. CrossPool combines a KV-cache planner and virtualizer, a layer-wise pipeline scheduler that hides hidden-state transfers, and persistent kernels with control lowering to reduce CPU-GPU control overhead. With efficient GPU memory pooling, CrossPool underpins bursty long-context requests and outperforms the state-of-the-art kvcached-based multi-LLM serving system, reducing P99 TBT by up to $10.4\times$.