Remote Procedure Call as a Managed System Service

被引:0
|
作者
Chen, Jingrong [1 ]
Wu, Yongji [1 ]
Lin, Shihan [1 ]
Xu, Yechen [3 ]
Kong, Xinhao [1 ]
Anderson, Thomas [2 ]
Lentz, Matthew [1 ]
Yang, Xiaowei [1 ]
Zhuo, Danyang [1 ]
机构
[1] Duke Univ, Durham, NC 27708 USA
[2] Univ Washington, Seattle, WA USA
[3] Shanghai Jiao Tong Univ, Shanghai, Peoples R China
关键词
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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.5x while having a higher level of policy flexibility and availability.
引用
收藏
页码:141 / 159
页数:19
相关论文
共 50 条
  • [1] THE GIROLLE REMOTE PROCEDURE CALL SERVICE
    SHAPIRO, M
    TSI-TECHNIQUE ET SCIENCE INFORMATIQUES, 1984, 3 (06): : 435 - 442
  • [2] A system for managing remote procedure call transactions
    Zhou, WL
    Molinari, B
    JOURNAL OF SYSTEMS AND SOFTWARE, 1996, 34 (02) : 133 - 149
  • [3] Managed service answers the call
    Mac McIntyre
    COMMUNICATIONS NEWS, 2007, 44 (10): : 18 - +
  • [4] ATOMIC REMOTE PROCEDURE CALL
    LIN, KJ
    GANNON, JD
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1985, 11 (10) : 1126 - 1135
  • [5] LIGHTWEIGHT REMOTE PROCEDURE CALL
    BERSHAD, BN
    ANDERSON, TE
    LAZOWSKA, ED
    LEVY, HM
    ACM TRANSACTIONS ON COMPUTER SYSTEMS, 1990, 8 (01): : 37 - 55
  • [6] LIGHTWEIGHT REMOTE PROCEDURE CALL
    BERSHAD, BN
    ANDERSON, TE
    LAZOWSKA, ED
    LEVY, HM
    OPERATING SYSTEMS REVIEW, VOL 23, NO 5, SPECIAL ISSUE: PROCEEDINGS OF THE TWELFTH ACM SYMPOSIUM ON OPERATING SYSTEMS PRINCIPLES, 1989, : 102 - 113
  • [7] Reducing the cost of remote procedure call
    Ibbetson, AL
    Linington, PF
    Penny, IA
    Smith, AB
    Tripp, GEW
    DISTRIBUTED PLATFORMS, 1996, : 430 - 446
  • [8] ON THE MANAGEMENT OF REMOTE PROCEDURE CALL TRANSACTIONS
    ZHOU, W
    MOLINARI, B
    LECTURE NOTES IN COMPUTER SCIENCE, 1991, 497 : 571 - 581
  • [9] Design of a remote procedure call system for object-oriented distributed programming
    Tripathi, AR
    Noonan, T
    SOFTWARE-PRACTICE & EXPERIENCE, 1998, 28 (01): : 23 - 47
  • [10] FITOS-RPC:: An OSI-based reliable group remote procedure call service
    Barreto, LP
    Jansch-Pôrto, IES
    INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS I-III, PROCEEDINGS, 1997, : 167 - 171