GORGO / KVShare — 跨用户 KV Cache 共享:最小化网络延迟

一、论文基本信息

属性内容
标题GORGO: Efficient KV Cache Sharing for Low-Latency Multi-Tenant LLM Serving (或 KVShare)
arXiv2503.16525
核心贡献跨用户 KV Cache 共享,最小化网络延迟,针对多租户场景
关键词KV Cache 共享、多租户、前缀共享、网络优化、LLM serving

二、核心思想

问题

在多租户 LLM 服务场景(如一个公司多个部门共享推理集群,或 SaaS 平台多个客户共享 GPU),不同用户的请求内容往往共享大量前缀(如系统 prompt、few-shot examples、通用指令模板等)。

现有系统(如 vLLM 的 prefix caching)仅在同一请求内或同一用户会话内共享 KV Cache,跨用户的 KV Cache 共享存在以下挑战:

  1. 前缀匹配开销:在多个用户的 KV Cache 池中高效查找匹配前缀需要快速索引
  2. 缓存碎片化:不同用户独立管理缓存,导致同一内容被重复存储
  3. 网络传输优化:跨用户的 Cache 共享需要网络传输,延迟开销可能抵消计算节省
  4. 隔离性:多租户场景下需要保证安全性和服务质量隔离

GORGO 的解决方案

GORGO 设计了一个跨用户、跨节点的 KV Cache 共享机制

用户 A (prefix "System prompt + QA #1") → KV Cache 池
用户 B (prefix "System prompt + QA #2") → 命中共享 prefix → 节省 prefill
                                             ↓
                                  最小化网络传输延迟

核心组件:

  1. 全局 KV Cache 索引 — 快速匹配跨用户的前缀
  2. 网络感知调度 — 选择网络延迟最优的节点来获取共享 KV Cache
  3. 缓存驱逐和 TTL 管理 — 多租户下的公平缓存替换策略

三、技术方法详解

3.1 全局 Cache 索引

GORGO 维护一个全局哈希表,键为前缀内容的哈希值,值为存储该前缀 KV Cache 的节点列表。

请求到达 → 计算 prompt 前缀哈希 → 查全局索引
                                 ↓
        ├── 命中 → 从最优节点拉取 KV Cache
        └── 未命中 → 本地计算 prefill → 注册到全局索引

哈希粒度:

  • 支持多粒度前缀匹配:整句匹配、token 序列匹配
  • 使用 Radix TreeTrie 结构来高效存储和搜索前缀

3.2 网络延迟建模

GORGO 的关键贡献是将网络传输延迟纳入 Cache 共享决策

其中:

  • 时,远程拉取才有意义

3.3 节点选择策略

GORGO 设计了一个网络感知的节点选择算法

  1. 找到所有持有目标 KV Cache 的节点
  2. 对各节点预估传输开销(基于带宽、延迟、当前负载)
  3. 选择整体延迟最低的节点
  4. 可选:并行从多个节点拉取不同部分

3.4 多租户隔离

  • 按租户分片:每个租户的 KV Cache 在逻辑上隔离
  • 优先级队列:高优先级租户的 Cache 不被低优先级租户逐出
  • 缓存配额:每个租户有最小保证的缓存容量

四、核心发现

场景Prefill 延迟下降吞吐提升
共享系统 prompt (30% prefix overlap)40-60%1.5-2×
共享 few-shot examples (50% overlap)50-70%2-3×
高度重叠 (80%+ prefix)70-90%3-5×

关键洞察

  • 网络延迟是关键瓶颈:跨节点的 KV 传输可能抵消 prefill 节省,GORGO 的网络感知选择是核心创新
  • 共享粒度影响效率:粗粒度(整句)匹配率高但粒度有限,细粒度(token 级)匹配灵活但索引开销大
  • 跨用户共享在 prompt 前缀多样化时效果有限:需要同构的 prompt 模板

五、与相关工作对比

方法Cache 共享范围网络感知多租户隔离索引结构
vLLM prefix caching同请求/同用户Radix Tree
Mooncake分布式 KV Cache 池全局调度器
GORGO/KVShare跨用户 + 跨节点✅ 显式建模✅ 配额+隔离全局哈希+Trie
Oneiros (2507.11507)跨用户参数重映射参数映射表
SGLang prefix cache同请求Hash-based

六、局限与未来方向

局限

  1. 前缀同构性假设:共享收益严重依赖 prompt 的相似性,在多样化 prompt 场景下收益有限
  2. 安全/隐私问题:跨用户共享需要确保用户 A 的 KV Cache 不被用户 B 非法访问
  3. 网络开销:在高速网络(如 NVLink/NVSwitch)环境下收益最大化,但在低带宽网络(如跨数据中心)收益显著下降
  4. 索引一致性:分布式全局索引需要一致性协议,可能引入额外的元数据延迟

未来方向

  • 差分隐私的 KV Cache 共享:在不暴露原始 prompt 内容的前提下进行共享
  • 预测性预取:基于用户历史请求模式,提前将可能共享的 KV Cache 传输到目标节点
  • 多层次共享:系统 prompt → few-shot → 用户输入的分层共享策略
  • 与传统逐出策略结合:H2O + GORGO 的组合

七、个人评价

GORGO/KVShare 是多租户 LLM serving 领域的重要工作。它将共享从单用户扩展到多用户,并明确将网络传输成本纳入决策模型——这是与云原生推理(如 Mooncake)紧密结合的现实考量。

相比 Oneiros(2507.11507,另一种跨用户 Cache 共享方法),GORGO 更侧重网络延迟优化,而 Oneiros 侧重于参数重映射。二者可互补。

适用场景:多租户 LLM 服务集群,用户使用大量同构模板(如 SaaS 平台、企业内部多个部门共享一个推理集群)。

相关链接