FreeFlow: Software-based Virtual RDMA Networking for Containerized Clouds
summary
FreeFlow implements a software RDMA virtualization layer that runs on commodity RDMA NICs, intercepting libibverbs’ serialized commands and presenting shadow memory to the NICs via a user‑space router and modified verbs library. Implementation uses Docker, real RDMA NICs and a C++ router prototype that runs on one CPU core. Evaluation shows +0.4µs latency vs native RDMA, full throughput for ≥1KB messages, throughput drops for tiny messages, and 8.7× speedup vs container TCP on TensorFlow, matching nearly native performance while preserving namespace isolation and container IP portability.
AI-written summary · about
chapters (20)
- 0:00Intro
- 0:24Two Trends in Cloud Applications
- 1:21Benefits of Containerization
- 2:04Containerization and RDMA are in Conflict!
- 3:00Existing H/W based Virtualization isn't Working
- 4:09Sub-optimal Performance of Containerized Apps
- 4:50Our Work: FreeFlow
- 5:43FreeFlow Design Overview Native RDMA
- 6:37Background on RDMA
- 7:39FreeFlow in the Scene
- 8:56Challenge 1: Verbs forwarding in Control Path
- 10:31Internal Structure of Verbs Library
- 11:03FreeFlow Control Path Channel
- 11:49Challenge 2: Synchronizing Memory for Data Path
- 12:31Strawman Approach for Synchronization
- 14:29Zero-copy Synchronization in Data Path
- 15:51FreeFlow Design Summary
- 16:44Implementation and Experimental Setup
- 17:05Does FreeFlow Support Low Latency?
- 24:41Does FreeFlow Support High Throughput?
related talks
15mFlor: An Open High Performance RDMA Framework Over Heterogeneous RNICs
31mFlow-based Packet Processing Framework on DPDK and VPP
26mSplit/Merge: System Support for Elastic Execution in Virtual Middleboxes
15mMitigating Scalability Walls of RDMA-based Container Networks
51mAccelerate containers and VMs networking with vDPA
12mPreview: Networking
17mWhite-Boxing RDMA with Packet-Granular Software Control
50mThe case for zero-copy in containers: Accelerating...
