Remote Procedure Call as a Managed System Service
Jingrong Chen, Yongji Wu, Shihan Lin, Yechen Xu, Xinhao Kong, Tom Anderson, Matthew Lentz, Xiaowei Yang, Danyang Zhuo
Abstract
Remote Procedure Call (RPC) is a widely used abstraction for cloud computing. The programmer specifies type information for each remote procedure, and a compiler generates stub code linked into each application to marshal and unmarshal arguments into message buffers. Increasingly, however, application and service operations teams need a high degree of visibility and control over the flow of RPCs between services, leading many installations to use sidecars or service mesh proxies for manageability and policy flexibility. These sidecars typically involve inspection and modification of RPC data that the stub compiler had just carefully assembled, adding needless overhead. Further, upgrading diverse application RPC stubs to use advanced hardware capabilities such as RDMA or DPDK is a long and involved process, and often incompatible with sidecar policy control. In this paper, we propose, implement, and evaluate a novel approach, where RPC marshalling and policy enforcement are done as a system service rather than as a library linked into each application. Applications specify type information to the RPC system as before, while the RPC service executes policy engines and arbitrates resource use, and then marshals data customized to the underlying network hardware capabilities. Our system, mRPC, also supports live upgrades so that both policy and marshalling code can be updated transparently to application code. Compared with using a sidecar, mRPC speeds up a standard microservice benchmark, DeathStarBench, by up to 2.5 while having a higher level of policy flexibility and availability.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 771fefa8-2298-4665-8ecd-3fa2cdb060abCited by top-tier papers8
- HydraRPC: RPC in the CXL EraTeng Ma, Zheng Liu, Chengkun Wei, Jialiang Huang et al.USENIX ATC 2024 · 39 citations
- Harmonic: Hardware-assisted RDMA Performance Isolation for Public CloudsJiaqi Lou, Xinhao Kong, Jinghan Huang, Wei Bai et al.NSDI 2024 · 28 citations
- Copper and Wire: Bridging Expressiveness and Performance for Service Mesh PoliciesDivyanshu Saxena, William Zhang, Shankara Pailoor, Isil Dillig et al.ASPLOS 2025 · 3 citations
- HybridMesh: A Hardware-software Hybrid Approach for Accelerating Service Mesh IngressMyoungsung You, Jaehyun Nam, Minjae Seo, Taejune Park et al.NSDI 2026 · 2 citations
- ONCache: A Cache-Based Low-Overhead Container Overlay NetworkShengkai Lin, Shizhen Zhao, Peirui Cao, Xinchi Han et al.NSDI 2025
Builds on16
- A Unified Architecture for Accelerating Distributed DNN Training in Heterogeneous GPU/CPU ClustersYimin Jiang, Yibo Zhu, Chang Lan, Bairen Yi et al.OSDI 2020 · 390 citations
- Jupiter evolving: transforming google's datacenter network via optical circuit switches and software-defined networkingLeon Poutievski, Omid Mashayekhi, Joon Ong, Arjun Singh et al.SIGCOMM 2022 · 230 citations
- The CacheLib Caching Engine: Design and Experiences at ScaleBenjamin Berg, Daniel S. Berger, Sara McAllister, Isaac Grosof et al.OSDI 2020 · 145 citations
- Collie: Finding Performance Anomalies in RDMA SubsystemsXinhao Kong, Yibo Zhu, Huaping Zhou, Zhuo Jiang et al.NSDI 2022 · 86 citations
- The Demikernel Datapath OS Architecture for Microsecond-scale Datacenter SystemsIrene Zhang, Amanda Raybuck, Pratyush Patel, Kirk Olynyk et al.SOSP 2021 · 83 citations
Related papers
- Cerebros: Evading the RPC Tax in DatacentersArash Pourhabibi Zarandi, Mark Sutherland, Alexandros Daglis, Babak FalsafiMICRO 2021 · 24 citations
- Dagger: efficient and fast RPCs in cloud microservices with near-memory reconfigurable NICsNikita Lazarev, Shaojie Xiang, Neil Adit, Zhiru Zhang et al.ASPLOS 2021 · 54 citations
- NetRPC: Enabling In-Network Computation in Remote Procedure CallsBohan Zhao, Wenfei Wu, Wei XuNSDI 2023 · 23 citations
- DmRPC: Disaggregated Memory-aware Datacenter RPC for Data-intensive ApplicationsJie Zhang, Xuzheng Chen, Yin Zhang, Zeke WangICDE 2024 · 5 citations
- Maximizing the Benefit of RDMA at End HostsXiaoliang Wang, Hexiang Song, Cam-Tu Nguyen, Dongxu Cheng et al.INFOCOM 2021 · 8 citations
