1. 项目背景
某大型互联网公司的vLLM集群遇到了一个棘手的架构问题:他们的RAG应用每天处理100万次请求,每次请求的系统提示词和知识库上下文约2000 Token——这2000 Token在100万次请求中被重复计算了近100万次。
团队启用了前缀缓存(第20章),在单机上有效——系统提示词的KV Cache被缓存,后续请求直接复用。但问题是:他们的4台GPU服务器各自独立——服务器A上缓存的前缀,服务器B上无法使用。负载均衡器将请求随机分发到4台服务器,导致前缀缓存的命中率只有约25%(每台服务器的流量中,只有1/4的请求能复用到本机缓存)。
更严重的是,他们正在尝试Prefill/Decode分离架构——将长Prompt的Prefill分发到专用的"Prefill节点"(高算力),完成后将KV Cache传输到"Decode节点"(高并发)做后续生成。但KV Cache的跨节点传输遇到了带宽瓶颈——一个32768 Token的KV Cache约1.8GB(70B模型),通过25Gbps网络传输需要约600ms——比本地Prefill还慢。
痛点:vLLM的KV Cache默认是单机本地资源——跨节点共享需要KV Transfer机制。NIXL、Mooncake、HF3FS等连接器提供了KV Cache的跨节点传输能力,但理解它们的使用边界、一致性模型和性能特征,是搭建大规模vLLM集群的必修课。此外,极端流量场景(突发流量、超长Prompt、热点前缀)下的SRE策略需要结合限流、降级、隔离和容量水位告警来保障服务稳定性。
本章将设计一个Prefill/Decode分离的长上下文服务方案,说明KV传输链路、失败
订阅专栏 解锁全文
934

被折叠的 条评论
为什么被折叠?



