RDMA is Turing complete, we just did not know it yet!
Talkat 19th USENIX Symposium on Networked Systems Design and Implementation (NSDI '22) · 2022-04-04..04-06·
summary
Claims RDMA is Turing complete by running self-modifying RDMA chains on commodity NICs: pre-posted RDMA_RECEIVE/READ/WRITE operations get mutated at runtime using compare-and-swap to implement conditional branches, and a proprietary RDMA_ENABLE trick refetches chains to create loops. Implementation RedN compiles higher-level if/loops to verbs, wires this into Memcached on ConnectX-5 100Gbps NICs, and reports up to 2.6× lower get latency versus one-sided and RPC-over-RDMA baselines and up to 35× improvement under contention.
AI-written summary · about
chapters (15)
- 0:00Intro
- 0:31Benefits of RDMA networking
- 1:01Massive growth in RDMA processing po
- 1:33Existing designs for RDMA-based syste Commodity RNIC offloads
- 2:53Alternative Design: Exploit RNIC Processing PL
- 3:55Alternative Design: Exploit RNIC Processing Power
- 5:35Conditional Branching - is it possible?
- 6:39Branching with Self-Modifying Code
- 9:41What about loops?
- 10:56RedN Framework - Overview
- 11:59Evaluation
- 12:27Use case: Memcached Lookups
- 14:29Results: Memcached get latency
- 15:52Results: Memcached get contention
- 17:06Conclusion
related talks
12mPreview: Networking
14mODRP: On-Demand Remote Paging with Programmable RDMA
18mSemantics of Remote Direct Memory Access: Operational and Declarative Models of RDMA(…)
18mFileMR: Rethinking RDMA Networking for Scalable Persistent Memory
23mMulti-Path Transport for RDMA in Datacenters
06mRDMA Programming Design and Case Studies - For Better Performance Distributed
28mPersistent Memory plus RDMA, new age remote device
17mSRNIC: A Scalable Architecture for RDMA NICs
