Report
每日技术报告|2026-07-23:CXL 混合内存、稀疏 KV 复用与 DSA 元数据优化
聚焦 HyMCache 的 CXL 混合内存 KV 复用、LMCache 的跨节点稀疏缓存匹配,以及 SGLang 对 DSA 元数据路径的最新优化。
今日概览
过去 24 小时内,大模型推理与 KV Cache 方向最值得关注的变化主要来自开源框架主仓库。与此同时,过去 72 小时出现了一篇直接面向多轮与 Agent 工作负载的新论文 HyMCache。今天的三条主线分别位于存储介质、分布式缓存和稀疏计算元数据三个层次:HyMCache 探索以 CXL 混合内存承载大容量可复用 KV;LMCache 将 CacheBlend 的内容匹配扩展到远端节点 L1,并支持稀疏 P2P 拉取;SGLang 则继续清理 DSA 推测解码路径中仍按最大序列范围执行的无效元数据工作。
需要说明的是,过去 24 小时内没有检索到足够数量、且与本报告主题高度相关的新系统论文。因此,论文部分依照发布规范使用过去 72 小时回退窗口;开源项目部分仍以过去 24 小时的官方提交为主。所有性能数字均来自论文或项目原始页面,未在本文中独立复现。
这些进展共同指向一个更清晰的系统趋势:长上下文推理的竞争焦点,正在从单纯压缩 attention FLOPs,逐步转向如何保存、定位、移动、复用和淘汰 KV 状态。对于多轮会话和 Agent 工作负载,KV Cache 已不再只是一次请求内部的临时张量,而正在演化为跨轮次、跨实例乃至跨节点共享的服务状态。
重点进展
核心论文:HyMCache,用 CXL 混合内存承载多轮 KV Cache
HyMCache: A KV Cache Framework for Multi-Turn LLM Serving with CXL-Hybrid Memory 由 Hakbeom Jang、Inho Song、Sam H. Noh 和 Jongryool Kim 提出,论文于 2026 年 7 月 20 日发布。它关注的是一个正在快速显现的基础设施问题:当多轮会话、长上下文和 Agent 应用开始反复复用历史上下文时,KV Cache 的价值从“避免单次 decode 重算”扩展为“跨请求、跨轮次保留可复用状态”,但这也使 KV 容量快速从 GPU HBM 和主机 DRAM 的经济承载范围中溢出。
HyMCache 采用 CXL Hybrid Memory,也就是在 CXL 设备内部组合较小容量 DRAM 与大容量 SSD 后端。对主机而言,这一设备仍通过 CXL.mem 暴露为类似内存的访问界面;对设备内部而言,DRAM 负责承接延迟敏感的数据,SSD 则提供更低成本的 TB 级容量。论文的关键判断是,通用 CXL 混合内存中的 LRU 管理并不适合多轮 LLM 服务,因为这类 KV 访问具有明显的读多写少、按请求可预测、跨轮复用和追加写入特征。
为此,HyMCache 将服务运行时对请求生命周期的知识传递给设备侧管理逻辑。系统使用请求级 prefix prefetch,在真正需要复用历史 KV 之前,将相关块从 SSD 后端提前搬入设备 DRAM;同时使用 opportunistic write buffering,把新产生的 KV 先吸收到 DRAM,再择机写入后端介质。其目标不是把 SSD 伪装成与 DRAM 完全等价的随机访问层,而是利用推理系统能够提前知道“下一轮将读取哪个请求前缀”的特征,把高延迟读取转化为可隐藏的预取。
论文在真实 CXL-HM 原型上评估了单聚合节点和 Prefill–Decode 分离两种配置。作者报告,在相同 DRAM 预算下,HyMCache 相比本地 LMCache 在单节点服务中获得 3.0 倍性能提升,在 PD 分离配置中获得 1.45 倍提升。与使用 1 TB 分布式 DRAM 的 Mooncake 相比,HyMCache 的性能低约 30%,但 DRAM 使用量减少 16 倍。这里的结果表明,SSD 支撑的上下文层并不必然要求应用直接面对传统块存储接口;通过 CXL 内存语义、设备 DRAM 和工作负载感知预取,可以在容量成本与访问复杂度之间形成新的折中。
HyMCache 最值得关注的并不是某个单独的加速比,而是其接口边界:缓存设备不再完全自行猜测访问模式,服务运行时也不再只把远端层当作被动存储。二者通过请求级提示协同管理数据位置。这种“运行时提供语义、设备负责执行预取与缓冲”的方式,可能成为未来上下文存储的重要设计范式。
开源项目:LMCache 将全局 token 匹配扩展到远端 L1
LMCache 在 2026 年 7 月 22 日合入提交 Enable global token matching in L1 using P2P。该提交扩展了 CacheBlend 的全局匹配路径:一个节点上的请求不仅可以从共享 L2 找到匹配的 KV chunk,也可以发现仍驻留在其他节点 L1 中、尚未下沉到共享层的数据,并通过 P2P transfer channel 直接读取。
更重要的变化是,P2P lookup 不再只返回连续前缀命中,而可以锁定任意稀疏命中的 key 集合。远端节点为每个 key 分别返回有效或无效的传输地址,因此命中区域中允许存在缺口。对于由系统提示、工具描述、历史文件、检索片段和增量对话组成的 Agent 上下文,这一点比纯 prefix cache 更有价值,因为真正可复用的内容经常不是一个完整、连续且从位置零开始的公共前缀。
从系统结构看,这一提交将 LMCache 推向了“全局内容目录 + 多级数据源”的方向。节点在存储阶段发布内容指纹,coordinator 维护跨节点匹配关系,请求方在查找后可以从共享 L2 或 peer L1 获取数据。远端 L1 已驱逐、目录信息陈旧或实际读取失败时,系统回退到重计算,不影响模型输出正确性。这种 best-effort 语义允许目录服务首先作为性能增强机制存在,而不必一开始就承担强一致分布式存储的复杂度。
该方案也暴露了后续需要观察的问题。远端 L1 直接复用减少了写入共享层和二次搬运,但会增加 peer 生命周期、并发锁定、目录陈旧和网络热点风险。实际收益取决于跨节点命中率、RDMA 读取延迟、缓存块保留时间以及 coordinator 查询是否进入关键路径。当前提交证明了机制可行,但尚不足以证明在大规模生产集群中的整体收益。
开源项目:SGLang 的 DSA 元数据只处理真实有效 KV 区间
SGLang 在 2026 年 7 月 22 日合入提交 Skip page-table columns past kv length in DSA draft-extend metadata kernel。该修改针对 DSA 的 draft-extend 元数据 Triton 内核:内核读取每个请求的真实 kv_len,当当前列块已经超出该请求有效 KV 区间时直接返回,不再继续生成不会被 attention 或 indexer 消费的页表项。
这一优化不改变稀疏 attention 的选择结果,也不改变 KV Cache 的逻辑内容。它消除的是由批次最大长度引入的控制面浪费。在长短请求混合批次中,元数据张量通常按最大序列长度分配;若所有请求都无条件遍历完整列范围,短请求将承担大量与自身 KV 长度无关的地址计算和写入。提交同时修改测试,只验证每个请求真实 live prefix 内的页表内容,不再要求无效尾部区域具有确定值。
这项改动揭示了原生稀疏模型优化中的常见陷阱:attention kernel 已经只读取 top-k token,但其前置索引展开、页表生成、mask 构造和地址转换仍可能沿用稠密模型的最大长度假设。结果是主计算变稀疏了,元数据路径却没有同步变稀疏。随着 attention FLOPs 下降,这类控制开销在端到端延迟中的占比会持续上升。
同一时间窗口内,SGLang 还合入了 Stack dspark dense draft per-layer ctx KV projection into one GEMM。该改动将 draft model 多层对同一 context hidden state 的 K/V 投影权重沿输出维拼接,用一次更大的 GEMM 替代逐层小 GEMM,再按层拆分结果并批量执行 K-Norm 与 RoPE。它减少的主要不是理论 FLOPs,而是 kernel launch、框架调度和小矩阵利用率损失。实现还为量化权重不可切分、层间 norm epsilon 不一致或 bias 配置不一致等情况保留逐层回退路径。
前沿概念和技术
1. 运行时引导的存储层预取
传统缓存设备通常依赖局部性和 LRU 自主决策,而推理运行时掌握更强的请求级语义,例如会话即将恢复、下一轮将复用哪段 prefix、哪些 KV 刚刚追加。HyMCache 展示了把这些信息转化为设备 DRAM 预取和写缓冲提示的方式。其本质是让存储层从被动响应随机 miss,转向围绕请求生命周期主动准备数据。
2. 稀疏命中集合而非连续前缀
Prefix caching 假设可复用内容从序列开头连续延伸;CacheBlend 的稀疏 key 匹配则允许多个非连续片段分别命中。后者更适合拼接式上下文,但也要求缓存索引、锁定、地址解析和传输接口都能表达部分命中。仅在上层识别非连续复用,而底层仍按完整前缀或大块搬运,并不能获得真正的细粒度收益。
3. Live-prefix metadata generation
元数据内核只处理每个请求真实有效的 KV 范围,而不是 batch 内的最大范围。这个思想不仅适用于 DSA 页表,还适用于稀疏 gather 描述符、请求级 mask、位置映射、块地址解析和 speculative decoding 的展开状态。对长短请求高度不均衡的在线批次,这类优化可能比继续微调主 attention kernel 更直接。
4. 跨层算子聚合
当多个层对同一输入执行结构一致、仅权重不同的线性投影时,可以把权重沿输出维拼接成一次大 GEMM。它通过扩大矩阵规模改善设备利用率,并减少启动开销。但这种方法必须显式验证量化布局、归一化参数、bias、RoPE 和输出切片的数值等价性,不能只凭最终生成结果判断正确,因为推测解码中的 draft 路径错误可能只表现为接受率下降。
深度分析
今天的几项进展可以用一条统一链路理解:首先,HyMCache 解决“可复用 KV 放在哪里”;其次,LMCache 解决“集群中哪个节点已经拥有这些 KV,以及如何读取部分命中”;最后,SGLang 解决“拿到稀疏工作集后,计算前的元数据准备是否仍然浪费”。这意味着未来 KV Cache 系统的优化不能只停留在单个缓存淘汰算法,而需要覆盖对象标识、目录、存储介质、传输路径、页表和计算内核。
在容量层,HBM 和 DRAM 仍然提供最低延迟,但经济上难以承载 TB 级上下文状态。SSD 和混合内存的价值在于容量与成本,不过其性能依赖于能否提前知道读取集合。多轮会话提供了比通用存储更强的可预测性:一次工具调用结束后,原会话大概率恢复;下一轮通常复用此前大部分上下文,并只追加少量新 token。HyMCache 正是利用这种规律,把存储延迟移出关键路径。
在共享层,内容寻址和全局目录使 KV 不必固定归属于产生它的推理实例。LMCache 的远端 L1 读取进一步表明,共享不一定要求先把每份数据写入统一后端;短期热数据可以在节点内存之间直接流动,共享层只维护位置和指纹。但这也要求系统把“数据是否仍在”“读取成本是多少”“是否值得等待远端传输”纳入决策。
在计算层,真正的稀疏执行要求索引、页表、I/O 和 attention 具有一致粒度。若 top-k 只访问少量 token,但页表构造仍扫描最大序列长度,或者缓存系统仍搬运完整大块,端到端性能会被非主算子限制。SGLang 的提交虽然局部,却代表了稀疏模型进入工程成熟期后必然发生的优化:逐步移除每个辅助路径中的稠密假设。
对大模型推理和存储优化的启发
第一,评估长上下文系统时需要把“容量成本”和“数据到达时间”分开。低成本介质并非天然不可用,关键是服务运行时能否提供足够早、足够准确的预取提示。
第二,Agent 和多轮服务的复用对象不应被限制为完整 prefix。系统应支持内容片段级匹配、部分命中和稀疏传输,并在未命中时平滑回退到重计算。
第三,KV Cache 的全局目录可以先采用弱一致、best-effort 语义。因为 KV 可由模型重新计算,目录失效通常影响性能而非正确性,这为降低分布式协调复杂度提供了空间。
第四,原生稀疏 attention 的 profiling 应单独统计 indexer、top-k、metadata kernel、page-table construction、地址解析和 gather,而不能把这些耗时统一记为 attention。主 kernel 加速后,辅助路径往往成为新的瓶颈。
第五,跨层融合和缓存预取存在联动。算子融合缩短 draft 或 decode 计算窗口后,原先能够被隐藏的数据移动可能重新暴露;反过来,更快的预取也会改变计算与 I/O 的最优重叠方式。因此,算子优化与存储调度应进行端到端联合评估。
今夜白的观察
今天最重要的信号,是 KV Cache 正从“显存中的中间结果”转变为一种独立的系统数据对象。它开始拥有稳定标识、跨节点目录、多级位置、预取生命周期和可回退的读取路径。计算框架、缓存中间件和新型内存设备正在围绕这一对象形成新的分工。
HyMCache 说明,低成本大容量介质是否适合推理,不能只看其原始随机访问延迟;只要工作负载具有可预测的跨轮复用,设备 DRAM 与请求级预取就可能把多数关键读取转化为近内存命中。LMCache 则说明,可复用 KV 不必首先落入一个统一共享层,节点间直接复用也可以成为缓存层级的一部分。SGLang 的优化进一步提醒我们,即使数据已经被精确定位,元数据路径仍必须按真实工作集缩放。
未来值得持续关注的指标不只是命中率,而应包括预取准确率、远端 L1 命中比例、目录陈旧率、无效传输字节、每个有效 token 对应的元数据操作量,以及缓存 miss 时传输与重计算的代价边界。只有这些指标被同时纳入评估,才能判断一个多级 KV 系统是在真正减少端到端成本,还是仅仅把瓶颈从 GPU 计算转移到了目录、网络或存储控制面。
参考资料
- Hakbeom Jang, Inho Song, Sam H. Noh, Jongryool Kim, HyMCache: A KV Cache Framework for Multi-Turn LLM Serving with CXL-Hybrid Memory, 2026-07-20.
- LMCache, CacheBlend Coordinator: Enable global token matching in L1 using P2P, 2026-07-22.
- SGLang, Skip page-table columns past kv length in DSA draft-extend metadata kernel, 2026-07-22.
- SGLang, Stack dspark dense draft per-layer ctx KV projection into one GEMM, 2026-07-22.