Remote Procedure Call as a Managed System Service
summary
mRPC implements RPC as a managed system service rather than a linked library, with a shim using shared-memory queues, a schema generator that produces marshalling modules on demand, and copy-on-write before policy to prevent applications from mutating inspected messages. It is implemented as about 32,000 lines of Rust and supports live upgrades. Evaluation shows up to 2.5× faster on DeathStarBench, up to 3.1× throughput on TCP and 1.7× latency speedups on RDMA, while policy checks add only ~6% overhead versus large slowdowns with sidecar proxies.
AI-written summary · about
chapters (12)
- 0:00Start
- 0:31Remote Procedure Calls Widely Used
- 1:09Remote Procedure Calls: Implementation
- 1:46The Need for Manageability
- 2:38Manageability in a feature-rich RPC library?
- 3:23Current Solution to Policy Enforcement
- 4:44RPC-as-a-Library Limitation
- 5:38mRPC Overview
- 7:32Traditional RPC Libraries
- 9:17Challenge #2: Memory Management
- 13:18Evaluation: Policy Enforcement
- 14:15Summary
related talks
36m40 Years of Pretending
24mDatacenter RPCs can be General and Fast
01h 01mRPC is Evil
21mR2P2: Making RPCs first-class datacenter citizens
58mSRE Your gRPC...
18mRDMA is Turing complete, we just did not know it yet!
06mRDMA Programming Design and Case Studies - For Better Performance Distributed
48mSRE Your gRPC—Building Reliable Distributed Systems Illustrated with gRPC
