AI 存储系统研究者 | Mooncake 传输引擎 创始人
TENT Internal #3: 切片喷射与 QoS 机制
1. Slice Spraying 算法设计 在前面的文章中,我们介绍了 TENT 的架构设计和编排器核心实现。本文将深入探讨 TENT 的两大动态调度机制:切片喷射(Slice Spraying)和服务质量保障(QoS)。 系列导航: TENT Internal #1:架构设计概览 - 从命令式到声明式的架构演进 TENT Internal #2:编排器核心设计 - 晚期绑定与路径合成 TENT Internal #3:切片喷射与 QoS 机制 - 动态调度算法与性能优化 1.1 算法背景 在多租户、高并发的分布式存储系统中,如何高效利用多轨 RDMA 网络带宽,同时保障不同优先级请求的服务质量,是一个极具挑战性的问题。Mooncake 采用了简单的 Round-Robin 法则进行分配,无法依据网络的实际情况进行优化调度。 TENT 通过 Slice Spraying(分片喷射)机制解决了这个痛点。其核心思想是:将所有轨道视为一个统一的资源池,将数据传输拆分为更细粒度的分片,并基于能感知遥测状态的成本模型对每个分片进行动态调度。 上图展示了在我们的生产环境中观察到的问题:在轮询模式下,连接到远端 NUMA 域的轨道表现出了明显更高的分片服务时间,这些特定轨道上的队列积压直接推高了整个请求的 P99 延迟。 1.2 算法演进思路 Slice Spraying 算法的核心思想经历了三个阶段的演进: 阶段一:简单轮询(基线) 采用静态 Round-Robin 策略分配网络带宽 优势:实现简单,开销为零,在理想环境中表现良好 局限:无法感知网络状态,面对异构链路和动态负载时性能受限 阶段二:双参数模型(早期尝试) 基于预测传输时间进行智能调度 使用 $\beta_0$、$\beta_1$ 双参数模型进行带宽估计 局限:调优复杂,参数敏感,实际性能有时不如基线 阶段三:EWMA 单参数模型(优化方案) 简化为单一 EWMA 带宽估计 按设备容量比例分配,充分利用多轨 RDMA 聚合带宽 优势:简化模型、减少状态同步、增强可扩展性 1.3 基线实现 Mooncake Transfer Engine 采用了简单轮询设计原则。在这种方案中,设备选择逻辑非常直接——系统维护一个本地计数器,每次有新的传输请求时,就在当前 NUMA 层级的设备列表中按顺序选择下一个设备。只有在当前 NUMA 层级没有可用设备时,才会回退到远程 NUMA 层级。 ...
TENT Internal #2: 编排器核心设计
系列导航: TENT Internal #1:架构设计概览 - 从命令式到声明式的架构演进 TENT Internal #2:编排器核心设计 - 晚期绑定与路径合成 TENT Internal #3:切片喷射与 QoS 机制 - 动态调度算法与性能优化 1. 编排器架构概览 编排器是 TENT 的核心组件,承担着将应用层的声明式传输意图转化为精确物理执行指令的关键职责。与传统的命令式接口不同,TENT 编排器通过”晚期绑定”机制实现了从配置驱动到意图驱动的根本性转变。 1.1 编排器的核心职责 编排器在 TENT 架构中承担着”中枢大脑”的角色,主要职责包括: 认知构建:通过统一段元数据抽象和传输插件,构建对集群物理拓扑与可用资源的深度认知 动态决策:基于实时遥测数据和 SLO 约束,动态求解最优传输计划 路径管理:通过晚期绑定和路径合成,实现跨协议的智能路径选择 故障恢复:将硬件故障从应用层异常处理转为数据平面的常规路由事件 2. 编排器的认知输入:元数据抽象与传输后端 动态编排的第一步并非执行传输,而是构建对集群物理拓扑与可用资源的深度认知。在 TENT 的架构中,这种认知是通过”统一段表示(Unified Segment Representation)”和”可插拔传输插件(Pluggable Transport Plugins)”共同实现的。这两者不仅隔离了硬件的异构性,还为编排引擎提供了决策所需的感知数据。 💡 架构概览:关于 TENT 的总体架构设计和核心思想,请参见《TENT Internal #1: 架构设计概览》 2.1 统一段(Unified Segment):位置无关的命名空间 传统的通信框架(如 UCX 或原生 RDMA)强迫应用程序直接管理后端相关的描述符,例如 RDMA 的内存密钥(rkey)或 CUDA 的 IPC 句柄。这种做法在异构集群中导致了”通信孤岛”,因为不同厂商、不同层次的互连网络拥有完全不兼容的寻址机制。TENT 通过统一段抽象解决了这一问题,将 GPU/NPU HBM、主机 DRAM 以及 NVMe-oF 等异构存储域标准化为一个全局唯一的、位置无关的命名空间。 ...
TENT Internal #1: 架构设计概览
系列导航: TENT Internal #1:架构设计概览 - 从命令式到声明式的架构演进 TENT Internal #2:编排器核心设计 - 晚期绑定与路径合成 TENT Internal #3:切片喷射与 QoS 机制 - 动态调度算法与性能优化 1. 引言:现代 AI 集群的互连挑战 我在多种场合写过很多汇报材料,回顾了 AI Stor 的发展历程: 2024 年是 P/D(Prefill/Decode)分离的元年,通过在物理或逻辑层面解耦算力密集型的预填充阶段与访存密集型的生成阶段,我们初步解决了推理吞吐量与时延之间的固有矛盾。这一年 Mooncake 从一篇 arXiv 论文成长为一个可以跑的开源项目。 2025 年是 KVCache 大规模应用的一年,业界通过存储解耦架构确立了“以存储换计算”的范式,KVCache 不再是即用即弃的中间变量,而是升级为驱动推理服务的核心状态资产。这一年 Mooncake 从 vLLM 的简单适配,走向了多推理框架、多型号 GPU、多应用场景的覆盖。 2026 年则是智能体(Agent)爆发的一年,相信大家在这四个月里看到了,大模型正从单纯的语义生成引擎进化为具备长程规划能力的“推理中枢”,驱动着更长序列、更高频率互动的任务闭环。 那么,作为一个 Storage for AI 的研究者,我是怎么看待这个问题的呢? 1.1 状态资产:不止 KVCache KVCache 已由暂态数据演化为跨阶段复用的核心存储资产。比方说,现在大模型推理的标配“上下文记忆”很大程度要归功于池化的 KVCache 存储。另外,KVCache 在多轮对话和 AI 辅助编程等场景中有很高的缓存命中率。 以 Kimi (Moonshot AI) 为例,其生产环境中的 KVCache 典型命中率已高达 90%。这种极致的复用效率直接将用户的实际计费成本压低至市场标准价的 25%,在商业层面极具竞争力。 然而,2026 年智能体范式下的“状态资产”正呈现出更复杂的形态: ...
CCF Storage Evaluation 2026 is Coming
我是 CCF 信息存储专委会存储测试工作组成员。欢迎对 Mooncake 传输引擎感兴趣的厂商参与相关存储测试与技术交流(尽管这里的存储更多是指 SSD 等外存)。 I am a member of the CCF Storage Evaluation Working Group. We welcome vendors interested in the Mooncake Transfer Engine to participate in our storage testing initiatives and technical exchanges. 一并转发通知(“存储前沿技术评论"公众号)。 CCF信息存储专委会•存储测试工作组关于邀请开展存储测试的通知 随着社会生产服务活动云化、智能化持续演进,数据存储设施的重要作用日益凸显,各类应用场景对存储设备、产品从性能、可靠性、可信性、可管理性、兼容性、能效等多角度提出了更复杂的需求。本工作组致力于围绕一系列主流应用领域,建立一套契合场景需求的存储测试验证规范、方法和工具。以期为产品开发、学术研究、应用选型提供参考,为国家相关部门制定信息存储政策提供借鉴。在此召集各存储研发单位、用户单位开展本年度测试工作。 测试工具: 测试使用基于人工智能场景、互联网应用场景、高性能计算场景数据访问特征开发的测试工具和参数集。 测试流程: 自测,可任选1个或多个场景参与测试,并邀请存储测试工作组成员参与验证。 日程安排: 即日起开始,随时可提交结果。 结果发布: 第32届CCF全国信息存储技术学术会议,2026年9月(天津)。测试结果也会发布在下面站点。 工具获取: https://ses.ccf.org.cn/ 打开网址后点击"测试场景"标签,选择各个测试场景后,从展开的测试用例表格中下载说明文件和测试工具。目前几个场景每一行测试用例的下载内容相同,只需选择一行下载即可。 联系方式:张武生, [email protected]。