Split gRPC: An Isolation Architecture for RPC Software Stacks
Remote procedure calls are a major contributor to performance variance in distributed systems due to lack of isolation and contention on shared resources. We propose a novel split architecture for a popular RPC framework, gRPC. The design partitions RPC applications into two communicating components: one dedicated to user-implemented business logic, and one dedicated to RPC infrastructure processing. The infrastructure process can be run on a dedicated core or on a smart NIC (e.g., IPU or DPU), providing effective physical isolation and predictable performance. An initial evaluation shows that the split architecture adds modest overhead for average case latency, but allows for lower latency and and higher throughput under host CPU load.
Authors
- Rajit Manohar (ORCID: https://orcid.org/0000-0001-8211-6602)
- Pietro Bressana (ORCID: https://orcid.org/0000-0001-6059-7564)
- Rui Li (ORCID: https://orcid.org/0000-0002-3708-0257)
- Robert Soulé (ORCID: https://orcid.org/0000-0002-2825-6660)
- Edmund Chen
- Peter Alvaro (ORCID: https://orcid.org/0000-0001-6672-240X)
- James Tsai
- Uri Cummings
- Esteban Ramos
Institutions
- Intel (United States) (US)
- University of California, Santa Cruz (US)
- Yale University (US)
- Santa Cruz County Office of Education (US)
Publication Details
- Published
- 2024-08-29
- DOI
- https://doi.org/10.1145/3678015.3680484
- Primary Topic
- Advanced Data Storage Technologies
- Type
- article
- Field-Weighted Citation Impact
- 0.00