Table of Contents
Fetching ...

NotNets: Accelerating Microservices by Bypassing the Network

Peter Alvaro, Matthew Adiletta, Adrian Cockroft, Frank Hady, Ramesh Illikkal, Esteban Ramos, James Tsai, Robert Soulé

TL;DR

Notnets proposes a radical rethink of distributed communication for microservices by bypassing the network and emulating message-passing RPCs through a shared memory pool enabled by CXL 3.0. By constraining the approach to RPC semantics, it avoids full distributed shared memory challenges such as coherence and global fault tolerance, while targeting kernel, TLS, and transport overheads. The authors provide a concrete, single-host prototype and report order-of-magnitude latency improvements, plus additional gains when serialization is bypassed. If scalable to data centers, Notnets could substantially reduce RPC overhead in fine-grained microservices, enabling more efficient and cost-effective deployments.

Abstract

Remote procedure calls are the workhorse of distributed systems. However, as software engineering trends, such as micro-services and serverless computing, push applications towards ever finer-grained decompositions, the overhead of RPC-based communication is becoming too great to bear. In this paper, we argue that point solutions that attempt to optimize one aspect of RPC logic are unlikely to mitigate these ballooning communication costs. Rather, we need a dramatic reappraisal of how we provide communication. Towards this end, we propose to emulate message-passing RPCs by sharing message payloads and metadata on CXL 3.0-backed far memory. We provide initial evidence of feasibility and analyze the expected benefits.

NotNets: Accelerating Microservices by Bypassing the Network

TL;DR

Notnets proposes a radical rethink of distributed communication for microservices by bypassing the network and emulating message-passing RPCs through a shared memory pool enabled by CXL 3.0. By constraining the approach to RPC semantics, it avoids full distributed shared memory challenges such as coherence and global fault tolerance, while targeting kernel, TLS, and transport overheads. The authors provide a concrete, single-host prototype and report order-of-magnitude latency improvements, plus additional gains when serialization is bypassed. If scalable to data centers, Notnets could substantially reduce RPC overhead in fine-grained microservices, enabling more efficient and cost-effective deployments.

Abstract

Remote procedure calls are the workhorse of distributed systems. However, as software engineering trends, such as micro-services and serverless computing, push applications towards ever finer-grained decompositions, the overhead of RPC-based communication is becoming too great to bear. In this paper, we argue that point solutions that attempt to optimize one aspect of RPC logic are unlikely to mitigate these ballooning communication costs. Rather, we need a dramatic reappraisal of how we provide communication. Towards this end, we propose to emulate message-passing RPCs by sharing message payloads and metadata on CXL 3.0-backed far memory. We provide initial evidence of feasibility and analyze the expected benefits.
Paper Structure (13 sections, 1 figure, 2 tables)

This paper contains 13 sections, 1 figure, 2 tables.

Figures (1)

  • Figure 1: Where is time is spent in systems that use RPC? The first four bars (aHyperprotobenchh, while the second (b) profile individual microservices from the HotelReservation application in DeathStarBench. The last bar is the combined profile across all services in the HotelReservation.