[Paper] Fantasy:在 GPU 集群上使用 GPUDirect Async 的高效大规模向量搜索

发布: (2025年12月2日 GMT+8 07:47)
6 min read
原文: arXiv

Source: arXiv - 2512.02278v1

概览

本文介绍了 Fantasy 系统,它能够在 GPU 集群上进行大规模向量相似度搜索,而不会受到数据移动的瓶颈限制。通过将 GPU 计算与 GPUDirect‑Async 网络紧密耦合,Fantasy 即使在索引远大于单个 GPU 内存的情况下,也能持续为 GPU 提供数据,从而在规模化环境中实现高召回率、低延迟的结果。

关键贡献

  • GPU 集群级搜索流水线 – 设计能够重叠索引加载、网络传输和相似度计算,消除 GPU 空闲时间。
  • GPUDirect‑Async 集成 – 利用 NIC 直接到 GPU 内存的传输,绕过 CPU,显著降低数据移动延迟。
  • 可扩展的图结构处理 – 支持超出单个 GPU 内存的图结构索引(如 HNSW),在多个节点之间分布。
  • 大批量查询支持 – 能够在每个批次中处理数千条查询,提高实时 AI 服务的吞吐量。
  • 开源原型与评估 – 提供参考实现,并在多节点 GPU 集群上进行大量基准测试。

方法论

Fantasy 将向量搜索视为两阶段流水线:

  1. 数据平面(GPUDirect‑Async) – NIC 将所需的图分区直接流入 GPU 内存,避免经过主机 CPU 和系统 RAM。
  2. 计算平面(GPU 核心) – 当一批查询正在处理时,下一批查询的图数据已经在获取中,使 GPU 永不出现停顿。

作者构建了一个调度器,将全局图划分为分片,分配每个分片到特定 GPU,并使用 CUDA 流和 NCCL 进行异步传输与跨 GPU 通信。搜索算法本身仍然是标准的基于图的最近邻遍历(如 HNSW),但其配套基础设施确保遍历过程不必等待数据。

结果与发现

  • 吞吐量提升:Fantasy 相比于同步加载数据的 CPU‑GPU 混合基线,实现了最高 5 倍 的查询每秒(QPS)提升。
  • 延迟降低:在 4 节点(8 GPU)集群上,128 维向量的端到端延迟从约 12 ms 降至 < 3 ms。
  • 可扩展性:当索引规模从 1000 万增长到 2 亿向量时,系统仍保持 > 80 % 的峰值 GPU 计算利用率,远超单 GPU 内存上限(约 24 GB)。
  • 批量大小影响:在 4 K–8 K 查询的批量下,Fantasy 的流水线能够让 GPU 持续饱和,而较小批量则频繁出现停顿。

实际意义

  • LLM 驱动的检索:需要检索相关文档嵌入(如 RAG 流水线)的服务现在可以在不依赖大规模 CPU 农场的情况下,支持每秒数百万查询。
  • 推荐与搜索引擎:在产品或用户嵌入上进行实时相似度查找在现有 GPU 集群上变得可行,降低了基础设施成本。
  • 边缘‑云混合:仅将请求所需的图分片下放到边缘,开发者可以设计随需求弹性伸缩的检索服务。
  • 简化技术栈:去除 CPU 端加载步骤意味着部件更少、部署更易、延迟波动更低——这对 SLA 受限的应用至关重要。

局限性与未来工作

  • 网络依赖:收益依赖于高带宽、低延迟的互连(如 InfiniBand),使用较慢以太网的集群可能收益有限。
  • 图类型聚焦:Fantasy 主要在 HNSW 风格索引上进行评估;将流水线扩展到其他 ANN 结构(如 IVF‑PQ)仍是待解问题。
  • 容错性:当前原型假设集群稳定;处理节点故障或动态扩缩容需要额外的协调逻辑。
  • 内存碎片:随着分片的进出,GPU 内存碎片化可能影响长期工作负载;更智能的内存管理是潜在改进方向。

Fantasy 表明,只要有恰当的编排,GPU 完全可以处理真正大规模的向量检索工作负载,而不受数据移动的限制——这为构建下一代 AI 驱动检索系统的开发者提供了有前景的方向。

作者

  • Yi Liu
  • Chen Qian

论文信息

  • arXiv ID: 2512.02278v1
  • 分类: cs.DC
  • 发布日期: 2025 年 12 月 1 日
  • PDF: Download PDF
Back to Blog

相关文章

阅读更多 »