log in  |  register  |  feedback?  |  help  |  web accessibility
Remote Procedure Call as Managed System Service
Prof. Danyang Zhuo - Duke University
IRB 5105
Thursday, November 9, 2023, 2:00-3:00 pm
  • You are subscribed to this talk through .
  • You are watching this talk through .
  • You are subscribed to this talk. (unsubscribe, watch)
  • You are watching this talk. (unwatch, subscribe)
  • You are not subscribed to this talk. (watch, subscribe)
Abstract

Remote Procedure Call (RPC) is a widely used abstraction for cloud computing. The programmer specifes 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 fow of RPCs between services, leading many installations to use sidecars or service mesh proxies for manageability and policy fexibility. These sidecars typically involve inspection and modifcation 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.

Bio

Danyang Zhuo is an assistant professor in the Department of Computer Science at Duke University. His research interests are datacenter computing and machine learning systems. Before Duke, he was a postdoctoral researcher at UC Berkeley, working with Professor Ion Stoica. He completed my Ph.D. in the Paul G. Allen School of Computer Science and Engineering at University of Washington, advised by Professor Tom Anderson and Professor Arvind Krishnamurthy. His research has received NSF CAREER Award (2023), USENIX Security Distinguished Paper Award (2023), USENIX FAST Best Paper Award (2021), Amazon Research Award (2021), IBM Academic Award (2021), and Meta Research Award (2022, 2021).

This talk is organized by Samuel Malede Zewdu