Compute Express Link (CXL) enables memory pooling over disaggregated memory, offering the potential to improve resource utilization in persistent memory systems. However, integrating persistence semantics into CXL-based memory pooling introduces substantial latency, which limits system scalability. This overhead arises because persist operations must traverse the entire CXL fabric, including switches, links, and protocol layers, before reaching remote persistent memory. To this end, we argue that extending CXL switches with persistence support is a promising direction for improving the scalability of persistent memory pooling. However, moving persistence support into the network breaks the traditional correctness assumptions of centralized persistence domains. In particular, enabling persistence within distributed structures, such as CXL switches, can introduce stale reads and writes if not carefully coordinated. In this paper, we propose Distributed Persistence Domain (DPD), a new abstraction for persistent memory pooling that enables persistence support at the CXL switch level. We first formalize the concept of a distributed persistence domain and use DPD as a framework to identify the correctness hazards that arise when persistence structures are distributed across the CXL fabric. Based on this analysis, we derive the design requirements needed to guarantee correctness. Building on these insights, we present Persistent CXL Switch, a CXL switch architecture that incorporates persistence support to significantly reduce persist latency, enable read forwarding, and coalesce writes, while preserving correctness and crash consistency. We evaluated our system design using both SPLASH-4 and YCSB benchmarks. Simulation results show an average speedup of 33% over volatile CXL switches, and up to 36% speedup with read forwarding optimization across all workloads.
翻译:Compute Express Link (CXL) 通过分解内存实现内存池化,有望提升持久内存系统的资源利用率。然而,将持久化语义集成到基于CXL的内存池化中会引入大量延迟,限制了系统可扩展性。这种开销源于持久化操作必须穿越包括交换机、链路和协议层在内的整个CXL架构,才能到达远端持久内存。为此,我们认为扩展CXL交换机的持久化支持是提升持久内存池化可扩展性的有前景方向。但将持久化支持迁移至网络会打破传统集中式持久域的正确性假设。特别是,在CXL交换机等分布式结构中启用持久化时,若缺乏精心协调,可能引发过期读写问题。本文提出分布式持久域(DPD)这一面向持久内存池化的新抽象,使CXL交换机层面具备持久化支持能力。我们首先形式化定义了分布式持久域概念,并以DPD为框架识别持久化结构分布于CXL架构时产生的正确性风险。基于此分析,推导出保证正确性所需的设计要求。结合这些洞见,我们提出持久化CXL交换机架构,通过集成持久化支持显著降低持久化延迟、实现读取转发与写合并,同时保证正确性与崩溃一致性。我们采用SPLASH-4和YCSB基准测试评估系统设计,仿真结果显示较易失性CXL交换机平均加速33%,采用读取转发优化后所有工作负载最高加速36%。