Don't Let RPCs Constrain Your API

As data becomes increasingly distributed, traditional RPC and data serialization limits performance, result in rigidity, and hamper expressivity. We believe that technology trends including high-density persistent memory, high-speed networks, and programmable switches make this the right time to revisit prior research on distributed shared memory, global addressing, and content-based networking. Our vision combines the code mobility of RPC with first-class data references in a global address space by co-designing the OS and the network around pervasive data identity. We have initial results showing the promise of the proposed co-design.

[1]  Jay Kreps,et al.  Kafka : a Distributed Messaging System for Log Processing , 2011 .

[2]  Gernot Heiser,et al.  Mungi: A distributed single-address-space operating system , 1994 .

[3]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[4]  Robert Soulé,et al.  Forwarding and Routing With Packet Subscriptions , 2020, IEEE/ACM Transactions on Networking.

[5]  Ashish Gupta,et al.  The RAMCloud Storage System , 2015, ACM Trans. Comput. Syst..

[6]  Ramesh Raskar,et al.  Detailed comparison of communication efficiency of split learning and federated learning , 2019, ArXiv.

[7]  Carlo Contavalli,et al.  Maglev: A Fast and Reliable Software Network Load Balancer , 2016, NSDI.

[8]  Bengt Ahlgren,et al.  A survey of information-centric networking , 2012, IEEE Communications Magazine.

[9]  Nick McKeown,et al.  A network in a laptop: rapid prototyping for software-defined networks , 2010, Hotnets-IX.

[10]  Marc Shapiro,et al.  A comprehensive study of Convergent and Commutative Replicated Data Types , 2011 .

[11]  Pankaj Mehra,et al.  Twizzler: A Data-centric OS for Non-volatile Memory , 2021, USENIX Annual Technical Conference.

[12]  Fernando Pedone,et al.  Infinite Resources for Optimistic Concurrency Control , 2018, NetCompute@SIGCOMM.

[13]  George Varghese,et al.  P4: programming protocol-independent packet processors , 2013, CCRV.

[14]  Jim Waldo,et al.  A Note on Distributed Computing , 1996, Mobile Object Systems.

[15]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[16]  Alexander L. Wolf,et al.  Forwarding in a content-based network , 2003, SIGCOMM '03.

[17]  Darrell D. E. Long,et al.  A Tale of Two Abstractions: The Case for Object Space , 2019, HotStorage.

[18]  Jinjun Xiong,et al.  TrIMS: Transparent and Isolated Model Sharing for Low Latency Deep Learning Inference in Function-as-a-Service , 2018, 2019 IEEE 12th International Conference on Cloud Computing (CLOUD).

[19]  Xiaozhou Li,et al.  NetChain: Scale-Free Sub-RTT Coordination , 2018, NSDI.

[20]  Anoop Gupta,et al.  The Stanford FLASH multiprocessor , 1994, ISCA '94.