XTRA: Unifying Cache Coherence and Concurrency Control for Distributed Transactions in a CXL Pod
Abstract
Distributed transactions on CXL memory pools allow hosts to directly access shared data, bypassing message-based coordination. However, the limited cross-host hardware cache coherence (HCC) in CXL hinders synchronization for consistency and concurrency control across large memory pools. To overcome this limitation, we present XTRA, a novel synchronization architecture that efficiently scales CXL distributed TRAnsactions. XTRA decouples the synchronization state from individual data records, consolidating it into a compact directory within the HCC region, while keeping data in the large non-coherent pool. Distributed transactions leverage this decoupled directory to coordinate concurrent access across the entire shared pool. To ensure efficient and consistent access, XTRA unifies cache coherence with concurrency control by exploiting their semantic redundancy, directly repurposing transactional conflict detection to guarantee cache freshness lazily upon read. Furthermore, by using software mutual exclusion to manage the directory, XTRA's decoupled synchronization generalizes to commodity CXL memory without HCC, while preserving upper-layer protocols. Extensive evaluations demonstrate that XTRA improves throughput by up to 15.6× over state-of-the-art systems and reduces P50/P99 latency by up to 4.0×/283.9×.