Telepathic Datacenters: Fast RPCs using Shared CXL Memory

S Mahar, E Hajyjasini, S Lee, Z Zhang, M Shen… - arXiv preprint arXiv …, 2024 - arxiv.org
S Mahar, E Hajyjasini, S Lee, Z Zhang, M Shen, S Swanson
arXiv preprint arXiv:2408.11325, 2024arxiv.org
Datacenter applications often rely on remote procedure calls (RPCs) for fast, efficient, and
secure communication. However, RPCs are slow, inefficient, and hard to use as they require
expensive serialization and compression to communicate over a packetized serial network
link. Compute Express Link 3.0 (CXL) offers an alternative solution, allowing applications to
share data using a cache-coherent, shared-memory interface across clusters of machines.
RPCool is a new framework that exploits CXL's shared memory capabilities. RPCool avoids …
Datacenter applications often rely on remote procedure calls (RPCs) for fast, efficient, and secure communication. However, RPCs are slow, inefficient, and hard to use as they require expensive serialization and compression to communicate over a packetized serial network link. Compute Express Link 3.0 (CXL) offers an alternative solution, allowing applications to share data using a cache-coherent, shared-memory interface across clusters of machines. RPCool is a new framework that exploits CXL's shared memory capabilities. RPCool avoids serialization by passing pointers to data structures in shared memory. While avoiding serialization is useful, directly sharing pointer-rich data eliminates the isolation that copying data over traditional networks provides, leaving the receiver vulnerable to invalid pointers and concurrent updates to shared data by the sender. RPCool restores this safety with careful and efficient management of memory permissions. Another significant challenge with CXL shared memory capabilities is that they are unlikely to scale to an entire datacenter. RPCool addresses this by falling back to RDMA-based communication. Overall, RPCool reduces the round-trip latency by 1.93 and 7.2 compared to state-of-the-art RDMA and CXL-based RPC mechanisms, respectively. Moreover, RPCool performs either comparably or better than other RPC mechanisms across a range of workloads.
arxiv.org