Split gRPC: An Isolation Architecture for RPC Stacks on SmartNICs

Computational I/O Stack Workshop, August 17, 2023

Remote procedure calls are a major contributor to performance variance in distributed systems due to lack of isolation and contention on shared resources. In this talk, I will introduce the novel architecture we built to address this problem, and cover our experience in implementing a prototype over gRPC with an emphasis on the communication layer between a host CPU and the SmartNIC. The basic idea is to partition 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 evaluation of a proof-of-concept prototype 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.

Esteban Ramos
Esteban Ramos
PhD Student

Esteban Ramos is a PhD student at the University of California, Santa Cruz. He is advised by Dr. Peter Alvaro. He is interested in distributed systems, data management systems, and networking. He is currently working on projects that seek to minimize overhead introduced by RPCs in microservice applications.