[论文] 卸载到基于 CXL 的计算内存

发布: (2025年12月4日 GMT+8 12:43)
6 min read
原文: arXiv

Source: arXiv - 2512.04449v1

概览

本文介绍了 KAI 系统,使 CPU 能将计算密集型任务卸载到 基于 CXL 的计算存储(CCM) 设备。通过设计一种全新的 “异步回流(asynchronous back‑streaming)” 协议,作者展示了如何在解耦内存架构中削减数据移动开销,并提升整体应用性能。

关键贡献

  • 权衡分析:对不同 CXL 协议版本(CXL.io、CXL.cache、CXL.mem)下现有 CXL 操作卸载模型进行分析。
  • 异步回流协议:在数据与控制传输之间分层,以最大化并行度,同时保持硬件改动最小。
  • KAI 运行时:实现该协议,提供轻量级流水线和主机‑CCM 异步交互。
  • 实证评估:在一套异构工作负载上展示了最高 50.4 % 的端到端运行时间缩减,主机空闲时间降低 3.85×,CCM 空闲时间降低 22.11×

方法论

  1. CXL 协议特性刻画 – 作者首先绘制出三种 CXL 协议的能力以及延迟/吞吐特性,找出每种协议在计算卸载场景中的优势与瓶颈。
  2. 协议设计 – 基于上述分析,提出一种 “异步回流” 方案,使数据移动与控制信令解耦。主机将输入数据推送至 CCM,CCM 进行处理后直接流回结果,无需主机在每一步等待。
  3. 实现 KAI – KAI 位于主机 OS 内核和 CCM 固件之间,负责调度命令队列、缓冲区以及完成通知,实现多个卸载内核的流水线执行。
  4. 基准套件 – 在混合的内存受限(图分析、键值存储)和计算受限(矩阵乘法、加密)内核上评估 KAI,并与使用同步、锁步传输的传统 CXL 卸载方法进行对比。

结果与发现

指标基线(同步)KAI(异步回流)改进幅度
端到端运行时间(平均)1.00×0.50×‑50.4 %
主机空闲时间1.00×0.26×‑3.85×
CCM 空闲时间1.00×0.045×‑22.11×
吞吐量(GB/s)12.319.8+61 %

关键要点

  • 异步化消除了 “停‑等” 瓶颈,使主机在 CCM 回传结果的同时继续下发工作。
  • 跨多个内核的流水线 在接近底层 CXL 链路带宽的情况下实现了近线性扩展。
  • 该协议兼容所有三种 CXL 变体,但在 CXL.mem 上收益最为显著,因为可以在不受缓存一致性开销限制的情况下搬运更大负载。

实际意义

  • 加速解耦系统 – 云服务提供商可以在仅含内存的节点中容纳更多计算资源,降低对昂贵 CPU 周期的需求,并缩短数据密集型服务(如实时分析、AI 推理)的延迟。
  • 简化卸载 API – KAI 的运行时可包装成熟悉的编程模型(如 OpenCL、类 CUDA 内核),让开发者无需重写底层 CXL 驱动即可面向 CCM 开发。
  • 节能 – 通过保持主机和 CCM 均处于忙碌状态,空闲功耗显著下降,对追求绿色运营的超大规模数据中心具有吸引力。
  • 硬件无关的收益 – 由于协议基于标准 CXL 事务构建,现有兼容 CXL 的设备只需通过固件升级即可获得 KAI 的性能提升,无需重新设计硅芯片。

局限性与未来工作

  • 原型范围 – 评估仅在有限的 CCM 原型上完成;商业级存算芯片的不同延迟特性可能导致结果有所差异。
  • 内存一致性 – KAI 假设放宽的一致性模型;对严格顺序要求的工作负载可能需要额外同步,从而削弱部分收益。
  • 单链路可扩展性 – 本文聚焦单一主机‑CCM 连接;将协议扩展至多主机、多 CCM 拓扑(如全局织体卸载)仍是未解挑战。
  • 工具与调试支持 – 跨 CXL 边界的异步卸载调试并不容易;未来工作可在运行时中集成追踪与分析钩子。

总体而言,KAI 证明了通过深思熟虑的协议设计可以释放基于 CXL 的计算存储的潜在性能,为开发者在下一代解耦架构中利用近存计算提供了切实可行的路径。

作者

  • Suyeon Lee
  • Kangkyu Park
  • Kwangsik Shin
  • Ada Gavrilovska

论文信息

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

相关文章

阅读更多 »