CXL 3.0 标准引入HDM-DB,通过Back-invalidation来实现多主机之间的缓存一致。但是这需要主机侧也支持这项特性。

在当下的结论是:暂且没有实现,可以通过软件实现主机间缓存一致性;如果只是模拟的话,现在的模拟器应该也支持。部分应用也被设计为可以在没有硬件支持的缓存一直性下工作。

业界动向

学界

  • ASPLOS26: “Currently, there is no CPU or pool device that implements CXL 3.0 back invalidation flows, so cache-coherent sharing is unavailable [77]. Therefore, we distinguish between a non-coherent, realistic memory pool and a cachecoherent pool envisioned according to the specification.” (Lahav) 实际硬件已经支持PBR,但是是否实现了back-invalidation(BI)则是未知的
  • 去年的HotOS文章则直接说明了BI尚且没有CPU和Device实现(需要两者配合)

    “However, implementing BI involves both processorside and device-side changes, which greatly increases hardware complexity and costs. Neither CPUs nor CXL memory pool devices support BI today.”

  • ASPLOS26, CXLALLOC: “but given implementation cost and complexity, it is unclear if HWcc will become widely supported in practice.” 其中也提到目前学界研究时要么假设有HWcc,要么需要自行在软件层面实现多主机之间的缓存一致(比如PolarDB和Tigon这两个数据库都是这样)