Hasty Briefsbeta

RDMA-Rust: Why another RDMA wrapper

5 days ago
  • #RDMA
  • #Rust
  • #High-Performance Networking
  • Sideway is a Rust wrapper for RDMA (Remote Direct Memory Access) designed for high-performance synchronous RDMA applications.
  • It addresses common pain points in existing RDMA wrappers, such as manual FFI handling, complex lifetimes, and unnecessary dependencies.
  • Sideway provides Rust-flavored wrappers over modern ibverbs APIs, including ibv_wr_* and ibv_start_poll, and supports Extended CQ/QP features.
  • It uses dlopen to avoid linking the entire rdma-core library, reducing build complexity and dependencies.
  • Performance benchmarks show Sideway can saturate a 400 Gbps RDMA NIC, matching or exceeding the performance of traditional C tools like perftest.
  • The design is layered, with rdma-mummy-sys for raw API access, Sideway for Rust-friendly wrappers, and trespass (WIP) for a higher-level communication library.
  • Sideway focuses on synchronous RDMA, avoiding complex async integration, and uses Arc for resource management to simplify lifetimes.
  • The project has contributed bug fixes to the rdma-core upstream and includes extensive unit tests and CI for reliability.
  • Future plans include support for more RDMA operations (UD, UC, atomic operations), thread domain support, and completing the trespass library.
  • Sideway is currently in early development (v0.Y.Z) but is being used to build tools like stride, with a stable API design emerging.