Memory Consistency Model-Aware Cache Coherence for Heterogeneous Shared Memory Systems
Speaker: Rachel Cleaveland, PhD Student, Stanford University
Date: February 7, 2024
Implementing cache-coherent shared memory in heterogeneous systems is difficult due to memory consistency model (MCM) mismatches among compute elements. In particular, what the system-wide MCM should be and how it should be enforced is not well-defined.
In this work, we posit that the C11 MCM, the seminal heterogeneous MCM, is a natural system-wide MCM choice for heterogeneous shared memory systems. Based on this philosophy, we propose an update-based cache coherence protocol, called MemGlue, which enforces a slight strengthening of the C11 MCM directly among a collection of interacting heterogeneous clusters.
Our MemGlue design has two important features. First, it is modular: a C11-compatible (homogeneous) cluster can “plug into” MemGlue without changes to its internal coherence protocol or MCM. Second, it is verifiable: one system-wide proof ensures that MemGlue upholds the C11 MCM with respect to MemGlue messages exchanged by clusters, and per-cluster proofs ensure that MemGlue correctly maps relevant cluster operations onto MemGlue messages.