Disentangling the Dual Role of NIC Receive Rings
summary
Claim: rxBisect splits each Rx ring into two independent rings so allocation and packet delivery decouple, implemented with software NIC emulation and evaluated on a 200 Gbps load balancer and a synthetic NF. It preserves small allocation rings to fit DDIO/LLC while keeping large reception rings to absorb bursts, reaching line rate under severe core imbalance and reducing latency from ~1 ms to ~100 µs; measured throughput improves up to 20% and 37% versus shRing and per-core Rx rings.
AI-written summary · about
chapters (11)
- 0:00NIC receive rings intro
- 2:05Large receive link sets impact
- 4:14Bursty traffic single core perf
- 6:23Shrink and shelling problems
- 7:28Alex Bisect architecture
- 9:14Alex Bisect traffic bursts
- 10:23Shrink vs shelling comparison
- 11:47Emulation setup
- 13:34Real workload performance
- 15:24Processing load imbalance testing
- 16:46Conclusion and key takeaways
related talks
14mShRing: Networking with Shared Receive Rings
16mRingLeader: Efficiently Offloading Intra-Server Orchestration to NICs
17mDRack: A CXL-Disaggregated Rack Architecture to Boost Inter-Rack Communication
33mZero Copy Receive using io_uring
17mSRNIC: A Scalable Architecture for RDMA NICs
14mUnderstanding RDMA Microarchitecture Resources for Performance Isolation
43mLessons Learnt from Reusing QDMA NIC to Base Band PMD
14mODRP: On-Demand Remote Paging with Programmable RDMA
