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$\times$ and 7.2$\times$ 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.
翻译:数据中心应用常依赖远程过程调用(RPC)实现快速、高效且安全的通信。然而,由于需要通过分组串行网络链路进行通信,RPC需要昂贵的序列化与压缩操作,导致其速度缓慢、效率低下且难以使用。计算快速链接3.0(CXL)提供了一种替代方案,允许应用通过缓存一致性共享内存接口在机器集群间共享数据。RPCool是一种利用CXL共享内存能力的新型框架,它通过在共享内存中传递数据结构指针来避免序列化操作。虽然避免序列化具有显著优势,但直接共享富含指针的数据会破坏传统网络数据拷贝所提供的隔离性,导致接收方易受无效指针及发送方对共享数据的并发更新影响。RPCool通过精细高效的内存权限管理机制恢复了这种安全性。CXL共享内存能力的另一重大挑战在于其难以扩展至整个数据中心规模,RPCool通过回退至基于RDMA的通信机制解决该问题。总体而言,与最先进的RDMA及基于CXL的RPC机制相比,RPCool分别将往返延迟降低了1.93$\times$和7.2$\times$。此外,在多种工作负载测试中,RPCool的性能均达到或优于其他RPC机制。