Datacenter RPCs can be General and Fast
summary
eRPC is a general-purpose RPC library that aims to match the performance of specialized systems while running on commodity CPUs over standard datacenter networks (lossy Ethernet or lossless fabrics). It focuses on three metrics—small-message RPC rate, large-message bandwidth, and scalability across many nodes/cores—while providing reliability (packet-loss handling), congestion control, and background request execution; microbenchmarks show up to 10M small RPCs/sec per core and 75 Gbps large-message throughput. The authors also port an unmodified Raft implementation to eRPC and report 5.5 μs replication latency on lossy Ethernet, competitive with specialized RDMA/Fabric/FPGA/switch-based systems.
AI-written summary · about
chapters (16)
- 0:00Intro
- 0:22Modern datacenter networks are fast
- 0:37Existing networking options sacrifice performance or generality
- 1:10Specialization for fast networking
- 1:40eRPC provides both speed and generality
- 2:35Managing packet loss
- 4:43In low-latency networks, switch buffers prevent most loss
- 6:05All modern switches have buffers BDP
- 8:00Low-overhead transport layer
- 9:01Example: Optimized DMA buffer management for rare packet loss
- 10:38Example: Efficient congestion control in software
- 11:39Datacenter networks are usually uncongested
- 12:10Congestion control, fast and slow
- 15:39Easy integration with existing applications
- 17:59Takeaway: Given fast packet 10, we can provide fast networking in software
- 21:22Together, common case optimizations matter
related talks
20mKRCORE: A Microsecond-scale RDMA Control Plane for Elastic Computing
15mRemote Procedure Call as a Managed System Service
21mR2P2: Making RPCs first-class datacenter citizens
20mEmpowering Azure Storage with RDMA
16mNetRPC: Enabling In-Network Computation in Remote Procedure Calls
23mMulti-Path Transport for RDMA in Datacenters
18mHydraRPC: RPC in the CXL Era
37mgRPC Intro
