
第一部分项目概览与核心功能一、项目简介什么是 MooncakeMooncake 是阿里巴巴 Moonshot AI 公司推出的Kimi大语言模型服务的底层推理平台。它采用了一种革命性的架构设计——以 KVCache 为中心的分离式架构KVCache-centric Disaggregated Architecture专门用于大规模 LLM 服务。简单来说Mooncake 解决了一个核心问题如何在保证服务质量延迟、吞吐量的前提下最大化 LLM 服务的资源利用率和处理能力。什么是 KVCache在 LLM 推理过程中模型需要计算和存储每一层的键值对Key-Value pairs这些键值对被称为 KVCache。KVCache 的作用是避免重复计算之前处理过的 token加速生成过程占用大量内存资源什么是分离式架构传统架构中预填充Prefill处理输入和解码Decode生成输出在同一个 GPU 上进行。Mooncake 将它们分离Prefill 集群专门处理输入计算密集Decode 集群专门生成输出内存密集KVCache 池存储和共享 KVCache连接两个集群核心创新Mooncake 不仅分离了 Prefill 和 Decode 集群还充分利用了 GPU 集群中闲置的 CPU、DRAM、SSD 和 NIC 资源构建了一个分布式的 KVCache 池。这种设计实现了以存换算——用更多的存储资源换取更少的计算资源消耗。二、为什么需要 Mooncake在了解 Mooncake 之前我们先看看当前 LLM 服务面临的挑战1. 资源利用率低传统架构中Prefill 阶段GPU 计算密集但内存利用率低Decode 阶段GPU 内存密集但计算利用率低同一 GPU 上两种负载相互干扰效率低下2. KVCache 管理困难KVCache 占用大量 GPU 内存不同请求之间无法共享 KVCache长上下文场景下内存压力巨大3. 服务质量难以保证Prefill 和 Decode 的延迟特性不同难以同时满足吞吐量和延迟要求过载情况下容易服务降级4. 扩展性受限单节点内存容量有限难以支持超长上下文多节点协同复杂5. 成本高昂GPU 资源昂贵需要大量 GPU 来应对峰值负载资源浪费严重Mooncake 通过创新的架构设计系统性地解决了这些问题。三、核心功能特性3.1 KVCache-centric 分离架构架构组成┌─────────────────────────────────────────┐ │ Prefill Cluster │ │ (计算密集处理输入) │ │ GPU: 高计算能力 │ └─────────────────────────────────────────┘ ↓ KVCache ┌─────────────────────────────────────────┐ │ Disaggregated KVCache Pool │ │ (分布式 KVCache 存储) │ │ 利用闲置的 CPU/DRAM/SSD/NIC │ └─────────────────────────────────────────┘ ↓ KVCache ┌─────────────────────────────────────────┐ │ Decode Cluster │ │ (内存密集生成输出) │ │ GPU: 高内存容量 │ └─────────────────────────────────────────┘优势Prefill 和 Decode 独立扩展资源利用率最大化延迟和吞吐量可独立优化3.2 Transfer Engine高效数据传输引擎Transfer Engine 是 Mooncake 的核心组件提供统一的数据传输接口支持的协议TCP基础网络协议RDMA远程直接内存访问零拷贝传输CXL/Shared-Memory高速互联NVMe-oFNVMe over Fabric存储网络化性能优势相比 GlooPyTorch 分布式延迟降低 50%相比传统 TCP吞吐量提升 3-5 倍零拷贝传输CPU 开销极低应用场景KVCache 在节点间传输模型权重分发Checkpoint 存储3.3 Mooncake Store分布式 KVCache 存储基于 Transfer Engine 构建的分布式 KVCache 存储系统特性分布式池化跨节点的 KVCache 共享分层存储GPU VRAM → DRAM → SSD智能调度根据访问模式自动迁移高效复用相同前缀的请求共享 KVCache存储层次Level 0: GPU VRAM (最快容量小) ↓ Level 1: Host DRAM (快容量中) ↓ Level 2: Remote DRAM (较快容量大) ↓ Level 3: SSD/NVMe (慢容量最大)3.4 P2P Store点对点对象存储用于在集群节点间共享临时对象应用场景模型 Checkpoint 分发训练中间结果共享大文件传输特性避免单点带宽饱和支持 RDMA 加速自动负载均衡3.5 KVCache-centric 调度器Mooncake 的核心调度器负责调度策略全局视角考虑所有集群的资源状态预测性调度预测请求的资源需求早期拒绝过载时提前拒绝避免资源浪费SLO 感知保证延迟相关的服务水平目标优化目标最大化有效吞吐量直接影响收入满足延迟 SLO保证用户体验最小化资源浪费降低成本3.6 弹性专家并行Elastic Expert Parallelism为 MoEMixture of Experts模型提供弹性和容错支持特性自动故障检测动态路由到健康的 Expert与 EPLBExpert Parallel Load Balancer集成支持运行时扩缩容应用Kimi K2 模型1T 参数部署千卡级分布式推理故障自动恢复3.7 广泛的生态系统集成Mooncake 已被多个主流 LLM 推理系统集成vLLM官方支持 Mooncake Transfer EnginePD 分离式推理Mooncake Store 作为 KV ConnectorSGLangPD 分离支持HiCache分层 KV 缓存后端EPDEncode-Prefill-Decode分离LMDeployPD 分离后端高性能推理TensorRT-LLMKVCache 传输集成NVIDIA 官方支持其他LMCache远程连接器vLLM-Ascend华为昇腾支持xLLM京东开源推理引擎四、应用情况与成果4.1 生产环境规模Kimi 服务数千节点运行日处理超过 1000 亿 token支持超长上下文200K tokens性能提升NVIDIA A800 集群处理能力提升 115%NVIDIA H800 集群处理能力提升 107%相比基线方法吞吐量提升 59%~525%4.2 Kimi K2 模型部署规模128 张 H200 GPU1T 参数模型大规模专家并行性能Prefill 吞吐量224k tokens/secDecode 吞吐量288k tokens/secCheckpoint 更新数千 GPU约 20 秒4.3 学术认可FAST 2025 最佳论文奖USENIX 文件与存储技术会议存储领域顶级会议CCF A 类Erik Riedel Best Paper Award论文发表FAST 2025Mooncake 架构论文arXiv技术报告多篇中文技术博客4.4 开源生态开源组件Transfer Engine核心传输引擎Mooncake Store分布式 KVCache 存储P2P Store点对点对象存储真实工作负载数据社区贡献加入 PyTorch 生态系统多家厂商采用阿里、蚂蚁等持续更新和优化第二部分技术原理与体系架构五、核心架构设计5.1 整体架构Mooncake 采用分层架构设计┌──────────────────────────────────────────────┐ │ Application Layer │ │ (Kimi, vLLM, SGLang, LMDeploy...) │ └──────────────────────────────────────────────┘ ↓ ┌──────────────────────────────────────────────┐ │ Mooncake Backend │ │ - Scheduler (调度器) │ │ - KVCache Manager (缓存管理) │ │ - EP Manager (专家并行管理) │ └──────────────────────────────────────────────┘ ↓ ┌──────────────────────────────────────────────┐ │ Storage Layer │ │ - Mooncake Store (分布式 KVCache) │ │ - P2P Store (点对点对象存储) │ └──────────────────────────────────────────────┘ ↓ ┌──────────────────────────────────────────────┐ │ Transfer Engine │ │ - RDMA / TCP / CXL / NVMe-oF │ │ - Topology-aware routing │ └──────────────────────────────────────────────┘ ↓ ┌──────────────────────────────────────────────┐ │ Hardware Layer │ │ - GPU / NPU (NVIDIA, AMD, Huawei...) │ │ - NIC (RDMA, EFA, eRDMA...) │ │ - Storage (NVMe, SSD, CXL...) │ └──────────────────────────────────────────────┘5.2 Prefill-Decode 分离原理传统架构的问题传统方式同一 GPU ┌─────────────────────────┐ │ GPU │ │ ┌─────────────────┐ │ │ │ Prefill (计算密集)│ │ ← GPU 利用率高 │ └─────────────────┘ │ │ ┌─────────────────┐ │ │ │ Decode (内存密集) │ │ ← 内存压力大 │ └─────────────────┘ │ │ 资源竞争效率低下 │ └─────────────────────────┘Mooncake 分离架构分离方式 ┌──────────────────┐ ┌──────────────────┐ │ Prefill GPU │ │ Decode GPU │ │ - 高计算能力 │ │ - 高内存容量 │ │ - 低内存需求 │ │ - 低计算需求 │ │ - 批量处理 │ ───→ │ - 串行生成 │ └──────────────────┘ └──────────────────┘ ↓ ↑ └──── KVCache Pool ────────┘优势分析资源解耦Prefill需要高计算能力低内存Decode需要高内存容量低计算各自选择最优硬件配置独立扩展Prefill 集群根据输入负载扩展Decode 集群根据输出负载扩展灵活应对不同负载模式延迟优化Prefill 延迟与输入长度相关Decode 延迟与输出长度相关可独立优化5.3 KVCache 池化原理KVCache 的生命周期1. Prefill 阶段 输入 tokens → 计算 KVCache → 存储到池 2. 传输阶段 KVCache 从 Prefill 节点 → KVCache Pool → Decode 节点 3. Decode 阶段 从池加载 KVCache → 生成输出 tokens 4. 复用阶段 相同前缀的请求 → 复用已有 KVCache → 节省计算KVCache 复用机制请求 1: 请介绍一下人工智能 ↓ 生成 KVCache_1 请求 2: 请介绍一下人工智能的发展历史 ↓ 前缀匹配请介绍一下人工智能 ↓ 复用 KVCache_1只计算新增部分 ↓ 节省大量计算分布式存储策略本地节点GPU VRAM - 最近使用的 KVCache - 高频访问的数据 - 延迟最低 同机架节点RDMA - 较近的 KVCache - 中频访问的数据 - 延迟中等 远程节点TCP/RDMA - 冷数据 - 大容量存储 - 延迟较高5.4 Transfer Engine 设计架构层次┌────────────────────────────────────┐ │ Application API │ │ - batch_transfer() │ │ - register_segment() │ └────────────────────────────────────┘ ↓ ┌────────────────────────────────────┐ │ Transfer Engine Core │ │ - Topology Discovery │ │ - Path Selection │ │ - Batch Scheduling │ └────────────────────────────────────┘ ↓ ┌────────────────────────────────────┐ │ Protocol Layer │ │ - RDMA Protocol │ │ - TCP Protocol │ │ - CXL Protocol │ │ - NVMe-oF Protocol │ └────────────────────────────────────┘ ↓ ┌────────────────────────────────────┐ │ Hardware Abstraction │ │ - NIC Abstraction │ │ - Memory Abstraction │ │ - Storage Abstraction │ └────────────────────────────────────┘关键特性拓扑感知自动发现网络拓扑选择最优传输路径避免 NUMA 冲突批量传输合并多个小传输请求减少 API 调用开销提高带宽利用率零拷贝RDMA 直接内存访问避免 CPU 拷贝降低延迟多路径同时使用多条网络路径负载均衡容错性能对比传输方式延迟吞吐量CPU 开销TCP高低高Gloo中中中Mooncake RDMA低高极低5.5 调度器设计调度目标最大化有效吞吐量直接影响收入 约束条件 1. 延迟 SLOTTFT SLO_ttft, TBT SLO_tbt 2. 资源限制GPU 内存、计算能力 3. 公平性不同优先级请求的公平调度调度策略全局调度考虑所有集群的资源状态全局最优决策避免局部最优陷阱预测性调度预测请求的资源需求预测执行时间提前规划资源分配早期拒绝检测过载情况提前拒绝无法满足 SLO 的请求避免资源浪费KVCache 感知优先调度可复用 KVCache 的请求减少重复计算提高效率调度流程请求到达 ↓ 预测资源需求 ↓ 检查 KVCache 复用可能性 ↓ 评估能否满足 SLO ├─ 能 → 接受请求分配资源 └─ 不能 → 早期拒绝 ↓ 选择最优 Prefill 节点 ↓ 执行 Prefill生成 KVCache ↓ 传输 KVCache 到 Decode 节点 ↓ 执行 Decode生成输出六、关键技术实现6.1 内存管理分层内存池class MemoryPool { // Level 0: GPU VRAM GPUMemoryPool gpu_pool; // Level 1: Host DRAM HostMemoryPool host_pool; // Level 2: Remote DRAM RemoteMemoryPool remote_pool; // Level 3: SSD SSDPool ssd_pool; // 智能分配 void* allocate(size_t size, AccessPattern pattern) { if (pattern HOT) return gpu_pool.alloc(size); if (pattern WARM) return host_pool.alloc(size); if (pattern COLD) return remote_pool.alloc(size); return ssd_pool.alloc(size); } };内存复用策略引用计数管理LRU 淘汰预取和预加载6.2 网络优化RDMA 传输// RDMA 写操作零拷贝 void rdma_write(void* local_addr, void* remote_addr, size_t size) { // 1. 注册内存区域 ibv_mr* mr ibv_reg_mr(pd, local_addr, size, IBV_ACCESS_LOCAL_WRITE); // 2. 创建工作请求 ibv_send_wr wr; wr.opcode IBV_WR_RDMA_WRITE; wr.send_flags IBV_SEND_SIGNALED; // 3. 提交到发送队列 ibv_post_send(qp, wr, bad_wr); // 4. 等待完成 poll_cq(cq, 1, wc); }拓扑感知路由// 选择最优 NIC NIC* select_best_nic(Node* src, Node* dst) { // 1. 获取拓扑信息 Topology topo get_topology(); // 2. 计算候选 NIC vectorNIC* candidates topo.get_nics(src); // 3. 评估每个 NIC NIC* best nullptr; int min_hops INT_MAX; for (NIC* nic : candidates) { int hops topo.hops(nic, dst); if (hops min_hops) { min_hops hops; best nic; } } return best; }6.3 KVCache 管理KVCache 索引class KVCacheIndex { // 前缀树索引 struct TrieNode { unordered_mapToken, TrieNode* children; KVCache* cache; int ref_count; }; TrieNode* root; // 查找最长匹配前缀 KVCache* find_prefix(vectorToken tokens) { TrieNode* node root; for (Token t : tokens) { if (node-children.count(t) 0) break; node node-children[t]; } return node-cache; } // 插入新 KVCache void insert(vectorToken tokens, KVCache* cache) { TrieNode* node root; for (Token t : tokens) { if (node-children.count(t) 0) { node-children[t] new TrieNode(); } node node-children[t]; } node-cache cache; } };KVCache 传输// 传输 KVCache 到 Decode 节点 void transfer_kvcache(KVCache* cache, Node* decode_node) { // 1. 序列化 KVCache Buffer* buf serialize(cache); // 2. 使用 Transfer Engine 传输 TransferEngine* te get_transfer_engine(); te-batch_transfer({ .src buf-addr, .dst decode_node-kvcache_addr, .size buf-size, .protocol RDMA }); // 3. 等待传输完成 te-wait_completion(); }第三部分使用教程与部署指南七、快速开始7.1 环境要求硬件要求GPUNVIDIACUDA、AMDROCm、华为昇腾等NICRDMAInfiniBand/RoCE、EFA、eRDMA 或 TCP存储NVMe SSD可选软件要求操作系统Linux推荐 Ubuntu 20.04编译器GCC 9 或 Clang 10CMake3.18CUDA11.8如果使用 NVIDIA GPU7.2 编译安装克隆代码git clone https://github.com/kvcache-ai/Mooncake.git cd Mooncake安装依赖# 基础依赖 sudo apt-get update sudo apt-get install -y build-essential cmake git # RDMA 依赖如果使用 RDMA sudo apt-get install -y libibverbs-dev librdmacm-dev # CUDA 依赖如果使用 NVIDIA GPU # 确保 CUDA 已安装编译 Transfer Enginemkdir build cd build # 基础编译 cmake .. -DUSE_CUDAON make -j$(nproc) # 如果使用 RDMA cmake .. -DUSE_CUDAON -DUSE_RDMAON make -j$(nproc) # 如果使用昇腾 NPU cmake .. -DUSE_ASCENDON make -j$(nproc)安装 Python 包pip install -e .7.3 基本使用示例Transfer Engine 示例from mooncake.transfer_engine import TransferEngine # 创建 Transfer Engine engine TransferEngine( protocolrdma, # 或 tcp device_namemlx5_0 # RDMA 设备名 ) # 注册内存区域 src_buffer engine.register_memory(src_addr, size) dst_buffer engine.register_memory(dst_addr, size) # 传输数据 transfer_id engine.transfer( src_buffer, dst_buffer, size ) # 等待完成 engine.wait(transfer_id)Mooncake Store 示例from mooncake.store import MooncakeStore # 创建 Store store MooncakeStore( storage_backendmemory, # 或 ssd transfer_engineengine ) # 存储 KVCache key request_123_prefix value kvcache_data store.put(key, value) # 读取 KVCache cached store.get(key) # 检查是否存在 if store.exists(key): print(KVCache found!)八、与推理系统集成8.1 vLLM 集成安装 vLLMpip install vllm配置 Mooncake Transfer Enginefrom vllm import LLM, SamplingParams from vllm.config import EngineConfig # 配置 Mooncake config EngineConfig( modelmeta-llama/Llama-2-70b-hf, kv_transfer_config{ connector: MooncakeTransferEngineConnector, protocol: rdma, device: mlx5_0 } ) # 创建 LLM llm LLM(**config) # 生成 outputs llm.generate(prompts, SamplingParams())PD 分离部署# Prefill 节点 python -m vllm.entrypoints.api_server \ --model meta-llama/Llama-2-70b-hf \ --port 8000 \ --role prefill \ --kv-transfer-config {connector: MooncakeTransferEngineConnector} # Decode 节点 python -m vllm.entrypoints.api_server \ --model meta-llama/Llama-2-70b-hf \ --port 8001 \ --role decode \ --kv-transfer-config {connector: MooncakeTransferEngineConnector}8.2 SGLang 集成安装 SGLangpip install sglang使用 Mooncake 后端import sglang as sgl from sglang import Runtime # 配置 Mooncake runtime Runtime( model_pathmeta-llama/Llama-2-70b-hf, kv_cache_config{ backend: mooncake, transfer_engine: { protocol: rdma, device: mlx5_0 } } ) # 生成 sgl.function def generate(s, prompt): s prompt s sgl.gen(response, max_tokens100) result generate.run(promptHello, world!, runtimeruntime)HiCache 配置from sglang import Runtime runtime Runtime( model_pathmeta-llama/Llama-2-70b-hf, hicache_config{ enable: True, backend: mooncake, storage_levels: [gpu, cpu, remote] } )8.3 LMDeploy 集成安装 LMDeploypip install lmdeploy配置 Mooncakefrom lmdeploy import pipeline from lmdeploy.config import BackendConfig config BackendConfig( kv_transfer_backendmooncake, mooncake_config{ protocol: rdma, device: mlx5_0 } ) pipe pipeline(meta-llama/Llama-2-70b-hf, backend_configconfig) response pipe(Hello, world!)九、高级配置9.1 Transfer Engine 配置RDMA 配置config { protocol: rdma, device: mlx5_0, # RDMA 设备 port: 1, # 端口 gid_index: 0, # GID 索引 max_wr: 1024, # 最大工作请求数 cq_size: 1024, # 完成队列大小 }TCP 配置config { protocol: tcp, listen_port: 9999, max_connections: 100, }CXL 配置config { protocol: cxl, memory_path: /dev/cxlmem0, }9.2 Mooncake Store 配置分层存储配置config { storage_levels: [ { name: gpu, type: vram, capacity: 80GB, policy: lru }, { name: cpu, type: dram, capacity: 512GB, policy: lru }, { name: remote, type: remote_dram, capacity: 2TB, transfer: rdma }, { name: ssd, type: nvme, path: /mnt/nvme, capacity: 10TB } ] }KVCache 复用配置config { enable_prefix_caching: True, prefix_cache_size: 100GB, eviction_policy: lru, match_threshold: 0.9, # 前缀匹配阈值 }9.3 调度器配置SLO 配置config { slo: { ttft: 5.0, # Time to First Token (秒) tbt: 0.1, # Time Between Tokens (秒) timeout: 60.0 # 总超时时间 } }调度策略配置config { scheduler: { strategy: global_optimal, enable_prediction: True, enable_early_rejection: True, rejection_threshold: 0.8, # 负载阈值 } }十、性能优化10.1 网络优化RDMA 调优# 增加 RDMA 缓冲区 echo 1048576 /sys/class/infiniband/mlx5_0/attrs/max_cqe # 启用 GPUDirect RDMA export CUDA_VISIBLE_DEVICES0 export RDMA_CORE_ENABLE_GPUDIRECT1拓扑优化# NUMA 感知配置 config { numa_aware: True, preferred_numa_node: 0, }10.2 内存优化内存池调优config { memory_pool: { gpu_pool_size: 70GB, host_pool_size: 400GB, preallocate: True, alignment: 4096, } }KVCache 淘汰策略config { eviction: { policy: lru, watermark_low: 0.7, watermark_high: 0.9, } }10.3 计算优化批量大小调优config { prefill: { max_batch_size: 32, max_tokens_per_batch: 8192, }, decode: { max_batch_size: 256, max_tokens_per_batch: 1024, } }第四部分应用场景与最佳实践十一、典型应用场景11.1 大规模 LLM 服务场景为百万级用户提供 LLM 服务挑战高并发请求多样化的请求长度严格的延迟要求成本控制Mooncake 方案用户请求 ↓ 负载均衡器 ↓ ┌──────────────┬──────────────┐ │ Prefill 集群 │ Decode 集群 │ │ (100 节点) │ (200 节点) │ └──────────────┴──────────────┘ ↓ ↓ KVCache Pool (分布式) ↓ SSD 存储 (持久化)效果吞吐量提升 115%延迟降低 30%成本降低 40%11.2 长上下文处理场景处理超长文档200K tokens挑战KVCache 占用巨大内存单节点内存不足Prefill 时间长Mooncake 方案# 配置分层存储 config { max_context_length: 200000, storage_levels: [gpu, cpu, remote, ssd], offload_policy: auto, } # 启用前缀缓存 config[prefix_cache] { enable: True, max_prefix_length: 100000, }效果支持 200K 上下文内存占用降低 60%相同前缀请求提速 5 倍11.3 MoE 模型服务场景服务 Kimi K21T 参数 MoE 模型挑战Expert 数量巨大Expert 负载不均故障恢复复杂Mooncake 方案# 配置弹性 Expert 并行 config { ep: { enable: True, num_experts: 256, num_experts_per_node: 8, elastic: True, fault_tolerance: True, } } # 配置 Expert 负载均衡 config[eplb] { strategy: dynamic, rebalance_interval: 1000, }效果128 H200 GPU 部署224k tokens/sec prefill288k tokens/sec decode故障自动恢复11.4 多模态模型服务场景服务多模态模型文本图像挑战图像编码计算密集编码结果缓存编码器和解码器分离Mooncake 方案# EPD 分离配置 config { epd: { enable: True, encoder: { nodes: [encoder-0, encoder-1], cache_backend: mooncake, }, prefill: { nodes: [prefill-0, prefill-1], }, decode: { nodes: [decode-0, ..., decode-7], } } }效果编码器独立扩展编码结果跨实例共享避免重复计算十二、最佳实践12.1 集群规划Prefill 集群选择高计算能力 GPU如 H100较少内存容量即可数量根据输入负载确定Decode 集群选择高内存容量 GPU如 H200计算能力要求较低数量根据输出负载确定KVCache Pool利用闲置资源DRAM高频访问数据SSD冷数据存储网络RDMA 互联12.2 网络配置推荐配置机内NVLink 或 CXL机间InfiniBand 或 RoCE跨机房TCP降级拓扑优化同机架优先NUMA 感知多路径负载均衡12.3 监控与调优关键指标TTFTTime to First TokenTBTTime Between TokensKVCache 命中率内存利用率网络吞吐量调优建议监控 SLO 达成率动态调整批量大小定期清理冷数据优化前缀缓存策略结语Mooncake 是一个革命性的 LLM 服务架构它通过 KVCache-centric 的分离式设计系统性地解决了大规模 LLM 服务面临的资源利用率、服务质量、扩展性和成本问题。核心创新分离式架构Prefill 和 Decode 独立扩展资源利用率最大化KVCache 池化分布式存储和共享支持超长上下文Transfer Engine高效数据传输支持多种协议智能调度全局优化预测性调度早期拒绝弹性支持MoE 模型的弹性 Expert 并行生产验证Kimi 服务数千节点日处理 1000 亿 token性能提升吞吐量提升 59%~525%学术认可FAST 2025 最佳论文奖生态集成vLLM、SGLang、LMDeploy 等未来展望随着 LLM 模型规模的持续增长和应用场景的多样化Mooncake 的设计理念将越来越重要。它代表了 LLM 服务架构的发展方向以存储为中心计算存储分离资源池化共享。希望这篇文章能帮助你全面理解 Mooncake并在实际应用中发挥其价值。参考资源GitHub 仓库https://github.com/kvcache-ai/Mooncake论文https://www.usenix.org/system/files/fast25-qin.pdf技术报告https://arxiv.org/abs/2407.00079博客https://kvcache-ai.github.io/Mooncake/Kimi 服务https://kimi.ai/Moonshot AIhttps://www.moonshot.cn/作者GYF