🤖 AI Summary
To address the challenges of maintaining cache coherence across multiple compute nodes and limited computational capacity at remote memory servers in disaggregated memory systems, this paper proposes SELCC—a novel cache coherence protocol. SELCC uniquely integrates a shared-exclusive lock state machine with the MSI protocol, enabling full offloading of remote compute overhead via lazy latch release and embedding ownership metadata directly into RDMA atomic operations. Furthermore, it introduces a memory-semantics API abstraction layer to support fine-grained concurrency control. Evaluated through a concurrent B-tree implementation and three transactional algorithms built atop SELCC, the approach achieves performance on par with or exceeding state-of-the-art solutions on disaggregated memory, while significantly outperforming RPC-based protocols in both throughput and latency.
📝 Abstract
Disaggregating memory from compute offers the opportunity to better utilize stranded memory in cloud data centers. It is important to cache data in the compute nodes and maintain cache coherence across multiple compute nodes. However, the limited computing power on disaggregated memory servers makes traditional cache coherence protocols suboptimal, particularly in the case of stranded memory. This paper introduces SELCC; a Shared-Exclusive Latch Cache Coherence protocol that maintains cache coherence without imposing any computational burden on the remote memory side. It aligns the state machine of the shared-exclusive latch protocol with the MSI protocol by introducing lazy latch-release and invalidation messages, thereby ensuring both atomicity of data access and cache coherence. SELCC embeds cache-ownership metadata directly into the RDMA latch word, enabling efficient cache ownership management via RDMA atomic operations. SELCC can serve as an abstraction layer over disaggregated memory with APIs that resemble main-memory accesses. A concurrent B-tree and three transaction concurrency control algorithms are realized using SELCC's abstraction layer. Experimental results show that SELCC significantly outperforms Remote-Procedure-Call-based protocols for cache coherence under limited remote computing power. Applications on SELCC achieve comparable or superior performance over disaggregated memory compared to competitors.