Snapshot Reader
Captured
📌 一句话摘要
小红书引擎架构团队在 ICDE 2026 发表论文,提出面向多核 CPU CCD 架构的负载感知与线程编排框架,通过冷热自适应映射和拓扑感知任务窃取,将向量检索吞吐量最高提升 3.7 倍,P999 长尾延迟降低 90%。
📝 详细摘要
本文详细介绍了小红书引擎架构团队在 ICDE 2026 上发表的最新研究成果。研究团队系统性地分析了工业级向量 ANNS 服务在 AMD EPYC 多 Chiplet(CCD)架构 CPU 上遇到的核心性能瓶颈,包括跨 CCD 缓存失效、Hot-Hot 同驻导致的缓存污染以及全局任务窃取对缓存亲和性的破坏。针对这些问题,团队提出了一个 CCD 感知的自适应线程编排框架。该框架包含三大核心模块:统一任务提交接口以兼容 HNSW 和 IVF 算法;冷热感知映射调度器,通过贪心双端扫描算法将热表和冷表配对到同一 CCD,实现流量均衡并避免缓存争抢;以及拓扑感知的层级化任务窃取机制,通过三级窃取优先级(本地、同 CCD、跨 CCD)在保障负载均衡的同时,将跨 CCD 任务窃取率从 80% 降至 5% 以下。实验结果表明,在小红书真实业务负载下,该框架在 96 核 CPU 上实现了最高 3.7 倍的吞吐量提升,P999 长尾延迟降低 60%-90%,L3 缓存未命中率降低 6%-30%,CPU 停顿时间减少 20%-80%。该工作为工业级向量检索在新型 CPU 架构上的性能优化提供了系统性的解决方案。
💡 主要观点
- 多核 CCD 架构下,现有线程调度框架因不感知拓扑特性,导致严重的跨 CCD 缓存失效和性能瓶颈。 AMD EPYC 等 CPU 的 CCD 架构拥有独立 L3 缓存,但现有调度(如 OpenMP、bthread)未考虑此特性,导致向量数据在多个 CCD 间重复加载,缓存未命中率居高不下,CPU 因等待内存数据而大量停顿,实际吞吐量远低于理论线性扩展值。
- 冷热自适应映射算法通过 Hot-Cold 配对,有效解决了多热表同驻引发的缓存污染问题。 调度器基于在线流量估算,将高流量热表与低流量冷表配对到同一 CCD,避免了多张热表争夺有限 L3 缓存空间导致的相互驱逐,同时通过滑动窗口机制自适应业务负载的动态变化,确保各 CCD 流量均衡。
- 拓扑感知的层级化任务窃取策略,在保障负载均衡的同时,将跨 CCD 任务迁移降至最低。 框架建立三级窃取优先级:优先本地队列,其次同 CCD 内窃取,最后严格限制跨 CCD 窃取。该策略将跨 CCD 任务窃取率从 75%-80% 骤降至 5%-10%,打通了缓存亲和性与负载均衡长期对立的工程矛盾。
💬 文章金句
- 现有的线程调度框架完全不感知 CCD 架构的拓扑特性,导致大量的跨 CCD 缓存失效,使得增加的计算资源不仅未能有效转化为性能提升,反而因缓存污染和内存带宽竞争加剧了系统性能劣化。
- 通过冷热配对策略避免 Hot-Hot 同驻,实现各 CCD 流量均衡,并采用滑动窗口平滑过渡,自适应感知业务负载的动态变化。
- 通过感知 CPU 的物理拓扑结构,建立三级窃取优先级,在保障负载均衡的同时,将跨 CCD 任务迁移降至最低,打通了缓存亲和性与负载均衡长期对立的工程矛盾。
- 在不更换硬件、不修改索引核心代码的前提下,实现了最高 3.7× 的吞吐量提升和高达 90% 的长尾延迟降低。
📊 文章信息
AI 初评:91
来源:小红书技术REDtech
作者:小红书技术REDtech
分类:软件编程
语言:中文
阅读时间:25 分钟
字数:6046
标签:
向量检索, CCD 架构, 多核 CPU, 缓存亲和性, 线程编排