昇腾vLLM深度优化:全新池化后端对接方案,重构KV Cache池化架构!

发布日期:2026-05-03 15:02    点击次数:172

来源:市场资讯

(来源:华为计算)

KV Cache池化技术已成为大模型推理服务化部署的标配,Mooncake等开源方案也逐渐成为业界主流选择。然而在架构层面,vLLM当前使用Mooncake需作为LMCache后端中转,导致调用链路冗长、依赖多方组件、整体效率受限,对接架构有较大优化空间。对此,昇腾在vLLM Ascend上,创新性地推出昇腾池化方案,该方案有两大核心亮点:

首先,在框架侧,它重构了池化系统的对接方式,通过KV Connector直接对接Mooncake等池化后端,避免了链路冗余的问题,并且可简易扩展支持多种池化后端如MemCache/Yuanrong等。

其次,在底层通信上,昇腾结合自身超高带宽硬件架构,实现了HIXL、MemFabric等跨节点KV传输路径,针对昇腾深度优化,进一步降低KV加载开销、提升集群推理效率。

PrifixCache和社区KV池化技术的发展和问题

vLLM的Prefix Cache是核心优化能力:当新请求与历史请求共享前缀时,系统可直接复用已有KV Cache,跳过重复的Prefill计算,显著降低首Token时延并提升整体吞吐。

展开剩余89%

该机制适用于长序列、多轮对话、RAG模板化请求及热点前缀复用场景,对AI Agent场景至关重要。

但Prefix Cache存在核心局限:仅存储于本机本地片上内存。

这种局限在多机、PD分离、大规模专家并行等多节点部署场景中更为突出,具体表现为:

单节点片上内存容量有限,缓存易被淘汰;

实例间不共享Prefix Cache,资源无法复用;

请求调度至其他副本时,即便前缀相同也可能无法命中缓存;

集群规模越大,单机缓存局部性问题越突出,复用率越低。

因此,实现缓存能力规模化提升的核心方向是KV池化,解决KV Cache大范围复用问题。目前社区已有相关探索,典型方案为LMCache与Mooncake,二者定位如下:

LMCache:vLLM外部第三方组件,通用型KV Cache;扩展框架,抽象封装前缀感知查找、chunk切分、hash组织等核心机制;

Mooncake:KV Cache存储引擎,负责对象化KV管理、远程查找及高性能传输。

但这两种方案存在两个核心痛点:

调用链路过长、部署繁琐:

引入第三方组件形成“vLLM->LMCache->Mooncake”链路,增加部署成本与排查难度。

硬件适配不足:

围绕GPU互联拓扑设计,迁移至昇腾硬件后无法发挥灵衢总线交换能力,存在水土不服。

以LMCache为例,其传输路径围绕本地Local Buffer设计,绑定“远端Host->本地 Host->GPU”路径,通常通过PCIe-Switch的RNIC网卡实现RDMA传输。

而昇腾场景的最优路径应为“远端 Host -> 远端 NPU -> 本地 NPU”,可发挥NPU点对点直连优势,避免本地Host参与。若采用社区方案,需额外进行多次数据拷贝,产生不必要的性能损耗。

GPU和NPU互联拓扑差异示意图

昇腾KV Cache池化对接方案:简单、高效的池化系统对接

为了解决上述方案的不足,昇腾池化方案模块借鉴了社区KV池化方案的成熟思路,同时结合vLLM Ascend和昇腾硬件特点,形成了一套创新的、简单、高效的KV Cache 池化方案。

昇腾KVCache池化方案模块建立在vLLM V1的KV Connector机制之上,不是简单的“后端适配器”,而是一整套完整的KV Cache池化工作流实现,它把查找、加载、回写、回收等能力都统一封装起来,让KV Cache从单机能力变成可共享、可扩展、可部署的系统能力。

相比社区通用池化方案,昇腾池化方案重新处理了池化系统接入的几个核心痛点:

1)无三方组件,后端解耦,灵活扩展:

采用统一Connector、后端可插拔的设计,对上统一承接vLLM的 KV Connector流程,对下根据场景灵活选择不同存储后端,当前已支持:mooncake、memcache。

2)昇腾硬件亲和优化:

围绕昇腾硬件对数据路径做了专门优化。根据昇腾NPU的特点,昇腾池化方案对传输链路进行了调整,去掉部分冗余中间缓冲设计,尽量减少额外搬运开销。

3)补齐多项通用框架侧优化:

支持叠加PD分离、图模式、PCP、DCP、PP等特性;

支持KV Cache去重存储,对于MLA等多TP有数据冗余的场景做去重提高存储空间利用率。同时支持Get错峰加载,减少访问压力;

支持异步读写和分层读写KV Cache的能力。

支持叠加PD分离、图模式、PCP、DCP、PP等特性;

支持KV Cache去重存储,对于MLA等多TP有数据冗余的场景做去重提高存储空间利用率。同时支持Get错峰加载,减少访问压力;

支持异步读写和分层读写KV Cache的能力。

昇腾亲和传输优化:HIXL与MemFabric

昇腾池化方案当前已支持Mooncake、Memcache两大后端方案,通过昇腾亲和性传输优化,让KV Store更贴合昇腾NPU场景、提升数据传输与访问效率。其中,HIXL与MemFabric两大昇腾亲和传输优化,共同实现了高效的KV池化方案。

方案一:昇腾池化方案+Mooncake中的HIXL优化

昇腾池化方案+Mooncake引入了昇腾单边通信能力HIXL,打破社区常见的host RDMA/TCP传输路径的局限性,HIXL将KV Cache传输尽量下沉到device侧高带宽链路中去,从硬件上根本优化传输效率,将社区 KV Store能力与昇腾场景深度结合。

HIXL对该方案的核心价值主要体现在三点:

支持单边、零拷贝的数据传输:KV Cache本地数据准备完成后,可直接向远端内存发起传输,减少远端参与和中间数据搬运,大幅降低传输时延;

支持昇腾设备侧高速互联路径:在昇腾场景中,KV Cache传输可走device RoCE、device UB等更亲和设备侧的链路,避免依赖host侧转发,充分利用设备侧带宽优势;

适配高频大块数据传输:针对PD分离、跨节点Prefix复用等KV Store核心应用场景,更短的传输路径、更少的拷贝操作,能有效降低KV Cache加载时延,显著提升整体吞吐性能。

方案二:昇腾池化方案+Memcache中的MemFabric支撑

昇腾池化方案+Memcache偏向昇腾生态内深度适配,核心来自MemFabric底层能力。不同于社区主流的 host侧传输思路,MemFabric以昇腾设备为核心,强调内存池化、统一编址和device侧数据访问路径,为 KV Cache跨节点读写与复用提供高效支撑。

MemFabric对该方案的核心价值主要体现在三点:

支持跨节点DRAM/片上高速内存统一池化与编址:打破KV Cache单机本地内存的局限,实现更大范围内KV Cache的统一组织与访问,为跨节点KV复用奠定基础;

支持贴近device侧的数据访问路径:在Atlas 800I A2,Atlas 800I A3等昇腾设备场景中,可通过device RoCE、device UB 等路径支撑跨节点数据读写,充分释放昇腾设备侧带宽潜力;

适配KV Cache池化底层承载需求:让跨节点KV的读取、写回和复用摆脱对host侧搬运的依赖,建立在更高效的设备侧传输与内存访问基础上,进一步提升方案适配性与效率。

HIXL与MemFabric作为两大核心底层能力,分别支撑昇腾池化方案不同后端方案的昇腾亲和传输优化,实现了KV Store在昇腾场景下的高效运行。

如何使用昇腾池化方案

详细的部署步骤、环境变量和完整启动示例,可以参考官方文档:

https://github.com/vllm-project/vllm-ascend/blob/main/docs/source/user_guide/feature_guide/kv_pool.md

使用Mooncake作为backend

如果为PD混部场景,则只需要配置昇腾池化方案:

如果是PD分离场景,则需要通过MultiConnector同时使能P2P的KV Connector和KV池化的KV Connector:

MooncakeConnectorV1

AscendStoreConnector

MooncakeConnectorV1

AscendStoreConnector

其中:

MooncakeConnectorV1负责Prefill与Decode间的KV transfer

AscendStoreConnector负责Prefix Cache对应的KV Pool能力

MooncakeConnectorV1负责Prefill与Decode间的KV transfer

AscendStoreConnector负责Prefix Cache对应的KV Pool能力

配置骨架如下:

使用Memcache作为 backend

如果采用Memcache路线,在配置相应的环境变量之外,只需在AscendStoreConnector中指定memcache作为后端即可,此处以PD混部为例,PD分离同理:

这种模式下,节点可以同时具备读取和回写KV Pool的能力,更适合某些混部或统一服务场景。

写在最后

昇腾池化方案的价值,并不只是把池化能力接进vLLM Ascend,而是围绕昇腾硬件特点,从链路层、系统层进行的深入开源技术探索。无论是框架侧对KV Connector的重构,还是底层对HIXL、MemFabric等传输能力的结合,昇腾都在积极地与开源社区共同探讨、解决一个问题:让KV Cache的查找、加载和跨节点传输尽量减少数据不必要的传输路径和中转,更充分地发挥设备侧的带宽和互联能力。

从社区Prefix Cache到KV池化,再到昇腾池化方案,昇腾在做的不只是“KV池化深度优化”,而是形成一套更完整的推理优化路径,即:在框架层重构对接方式,在传输层下沉到Device侧高带宽链路,在系统层把缓存复用能力真正做成适合昇腾集群的大模型基础设施。

发布于:北京市

下一篇:没有了