SwCC: Software-Programmable and Per-Packet Congestion Control in RDMA Engine
summary
SwCC embeds on-NIC RISC-V cores and a QP-aware memory subsystem on a Xilinx U280 FPGA to run per-packet congestion control in software while matching hardware NIC performance. It reports 3.1 µs control loop RTT and needs 512B to reach 100 Gbps like ConnectX-5, reduces CC handling CPU cycles by 91% versus BlueField-like DPU baselines, implements diverse CCAs in under 200 lines of C, and estimates a 2.5 GHz core suffices for 800 Gbps with its design.
AI-written summary · about
chapters (16)
- 0:00SWCC and congestion control intro
- 1:24Control loop delay challenges
- 2:53Limitations of existing CC
- 5:20Hardware offloading trade-offs
- 7:35SWCC design goals
- 8:41TSX multicore design
- 10:09QP memory optimization
- 11:13Extensible CC handle
- 12:20User-defined QP context
- 13:29CCA deployment APIs
- 14:18Experimental validation
- 15:47Control loop delay results
- 16:08CC controller intervals
- 16:30Diverse CCAs support
- 17:14Processor frequency needs
- 18:02Summary and conclusion
related talks
17mWhite-Boxing RDMA with Packet-Granular Software Control
18mCCC: Re-architecting Delay-based Congestion Control in Datacenter Networks
17mSRNIC: A Scalable Architecture for RDMA NICs
18mRoCE BALBOA: Service-Enhanced RDMA Offload Engine for Data Center SmartNICs
19mOSCAR: O(1)-Step Convergence and Readily-deployable Congestion Control
16mA High-Speed Stateful Packet Processing Approach for Tbps Programmable Switches
16mBuilding A CSFQ-Inspired Transport for Switched CXL Memory Pooling
14mHigh-throughput and Flexible Host Networking for Accelerated Computing
