Hasty Briefsbeta

双语

RDMA-Rust: Why another RDMA wrapper

6 months ago
  • #RDMA
  • #Rust
  • #High-Performance Networking
  • Sideway 是一个基于 Rust 封装的 RDMA(远程直接内存访问)工具库,专为高性能同步 RDMA 应用设计。
  • 它解决了现有 RDMA 封装库的常见痛点,如手动处理 FFI、复杂的生命周期管理以及不必要的依赖项。
  • Sideway 为现代 ibverbs API(包括 ibv_wr_* 和 ibv_start_poll)提供了符合 Rust 风格的封装,并支持扩展的 CQ/QP 功能。
  • 通过 dlopen 动态加载避免链接整个 rdma-core 库,降低了构建复杂度和依赖项。
  • 性能测试表明 Sideway 能饱和 400 Gbps 的 RDMA 网卡带宽,与传统 C 语言工具(如 perftest)性能相当或更优。
  • 采用分层设计:rdma-mummy-sys 提供原始 API 访问,Sideway 提供 Rust 友好封装,trespass(开发中)作为高层通信库。
  • 专注于同步 RDMA 模式,避免复杂的异步集成,并通过 Arc 简化资源管理的生命周期问题。
  • 该项目已向 rdma-core 上游贡献了错误修复,并包含大量单元测试和持续集成确保可靠性。
  • 未来计划支持更多 RDMA 操作(UD、UC、原子操作)、线程域支持,以及完成 trespass 库的开发。
  • 当前处于早期开发阶段(v0.Y.Z),但已用于构建 stride 等工具,并逐渐形成稳定的 API 设计。