[Paper] SafarDB:FPGA 加速的分布式事务 via Replicated Data Types

发布: (2026年3月9日 GMT+8 14:16)
7 分钟阅读
原文: arXiv

Source: arXiv - 2603.08003v1

概述

SafarDB 是一个新系统,它将分布式事务复制的繁重工作转移到直接位于网络结构上的 FPGA。通过将自定义网络接口与复制引擎紧密耦合,作者实现了对冲突自由(CRDT)和强一致性(WRDT)数据类型的显著更低延迟和更高吞吐量——这些是现代高可用服务的关键构件。

关键贡献

  • 网络附加 FPGA 复制引擎 – 一种专为运行复制逻辑而构建的 NIC,在 FPGA 上执行,消除 CPU‑NIC 往返的开销。
  • 对 CRDT 和 WRDT 的统一支持 – 加速松散(可交换)和强序复制路径,包括 WRDT 所需的共识控制路径。
  • 性能提升 – 与最佳基于 RDMA 的方案相比,CRDT 的延迟降低最高 7 倍,吞吐量提升 5.3 倍;WRDT 的延迟降低 12 倍,吞吐量提升 6.8 倍
  • 改进的容错性 – 更快的领导者失效检测和选举,以及相比 CPU/RDMA 实现更高的崩溃容错能力。
  • 协同设计方法论 – 展示了通过重新设计 NIC 以匹配应用语义,如何释放超越传统 Smart‑NIC 卸载的硬件加速优势。

方法论

  1. 硬件‑软件协同设计 – 团队构建了一块自定义 FPGA 卡,卡上同时运行轻量级网络栈和复制引擎。网络栈解析入站数据包,提取事务元数据,并直接将其转发给复制逻辑,而不涉及主机 CPU。
  2. 复制原语
    • CRDT 路径 – 实现可交换操作(例如计数器、集合),这些操作可以任意顺序应用,使 FPGA 能够立即执行更新。
    • WRDT 路径 – 对于需要强顺序的操作,FPGA 运行共识协议(精简的 Paxos/Raft 变体),在应用更新前达成全局顺序。
  3. 算子卸载 – 常用的数据类型算子(合并、应用、冲突解决)被编译成 FPGA 逻辑,实现事务的“近网络执行”。
  4. 评估设置 – 实验在 10‑GbE 测试平台上使用多节点集群进行。基准包括在 CPU 上运行的最先进的基于 RDMA 的 CRDT/WRDT 库。度量指标包括延迟、吞吐量以及在不同争用和故障场景下的故障恢复时间。

结果与发现

指标SafarDB (FPGA)RDMA‑CPU 基准提升
CRDT 延迟(中位数)~30 µs~210 µs
CRDT 吞吐量1.2 M ops/s225 k ops/s5.3×
WRDT 延迟(中位数)~45 µs~540 µs12×
WRDT 吞吐量800 k ops/s118 k ops/s6.8×
Leader 故障检测<150 µs>1 ms>6× 更快
崩溃故障弹性节点失效时吞吐量不下降显著减速更加稳健

这些数据表明,将复制逻辑迁移到网络附加的 FPGA 上不仅可以缩短往返时间,还能释放主机 CPU 处理应用逻辑,从而提升整体系统的可扩展性。

实际意义

  • 微服务与有状态边缘服务 – 开发者可以将共享状态(计数器、排行榜、配置映射)的复制工作卸载到 FPGA,实现亚 100 µs 的一致性保证,同时不牺牲 CPU 周期。
  • 数据库分片与多主设置 – SafarDB 的 WRDT 支持使得在地理分布的副本之间运行强一致性事务成为可能,提交延迟显著降低。
  • 高频交易、物联网网关和游戏后端 – 需要超低延迟更新的场景可以受益于在网络附近执行 CRDT/WRDT 操作。
  • 简化基础设施 – 通过将 NIC 与复制引擎集成,运营商可以减少部件数量(无需单独的 Smart‑NIC 固件,无需 RDMA 调优),简化在已使用 FPGA 加速器的现代数据中心网络中的部署。
  • 成本‑性能权衡 – 虽然 FPGA 卡的前期成本高于纯 CPU 服务器,但吞吐量提升和 CPU 负载降低可以降低对复制受限工作负载的总体拥有成本。

限制与未来工作

  • 硬件依赖 – 性能提升依赖于具备 FPGA 加速的网卡;没有此类硬件的环境无法获得收益。
  • 编程模型 – 开发者必须以硬件友好的形式(例如使用 HLS)表达数据类型逻辑,这相较于纯软件库增加了学习成本。
  • 单机架之外的可扩展性 – 当前原型聚焦于单机架、10 GbE 网络;将设计扩展到多机架或多数据中心拓扑可能需要额外的协议优化。
  • 共识协议灵活性 – 内置的共识针对 WRDT 进行了调优;支持其他协议(如拜占庭容错)将提升适用范围。

未来的研究方向包括为开发者提供更高层次的 API、与流行的分布式数据库(如 CockroachDB、TiDB)集成,以及探索基于争用模式动态切换工作负载的 CPU‑FPGA 混合流水线。

作者

  • Javad Saberlatibari
  • Prithviraj Yuvaraj
  • Mohsen Lesani
  • Philip Brisk
  • Mohammad Sadoghi

论文信息

  • arXiv ID: 2603.08003v1
  • Categories: cs.DC
  • Published: 2026年3月9日
  • PDF: 下载 PDF
0 浏览
Back to Blog

相关文章

阅读更多 »