START
Basic

SDM: Sharing-Enabled Disaggregated Memory System with Cache Coherent Compute Express Link

TL;DR:基于CXL的共享内存池,解决CXL缓存一致性成本高,拓展资源管理原语,保证用户透明

分离式内存用于拓容和高效的利用内存,然而其在高性能和用户透明这两方面做的不够好。虽然有硬件缓存一致性协议,但只是简单的使用会带来不可忽视的性能开销

SDM:不需修改用户程序启用共享,启用资源管理和预测内存访问

introduction

分离式内存当前的挑战:

  • remote access overhead
  • user transoarency
    基于网络的访问有软件层的多重数据副本,即使是RDMA也对基于队列对的事务进行额外的复制操作 。地址转换开销也是重要因素。
    用户透明性:RDMA需要使用抽象动词来修改程序

前人的工作减少数据副本或者使用页置换来实现用户透明,但没有考虑分布式多节点缓存一致性的情况,CXL使用硬件确保缓存一致性,是解决上面问题的关键。

CXL的挑战:

  • 2.0不支持多host缓存一致性,3.0计算节点需要通过使其他计算节点中的相同数据失效来独占缓存一次数据
  • 与其他缓存方案结合存在挑战,因为最先进的分离式内存系统采用地址转换缓存方案,将访问权限和地址转换解耦,而访问权限需要远程访问

本文贡献

  • 新颖的共享控制流(SHA-CF),使多节点访问共享内存不需要昂贵的invalidation
  • 使用IO协议来拓展了一些了资源管理原语
  • 提出一种推测访问方法,来从缓存方案中获得更多好处

type1不光是NIC,只要是不想对CPU暴露私有内存并且利用CPU DRAM的就可以是type1,比如NPU

MOTIVATION

  1. 为什么把CXL作为main memory pool而不是swap space:从系统可靠性的角度来看,用swap space当内存池无可用页时会报OOM
  2. 降低访问延迟
  3. 保证用户透明性

implemention

Speculative Access
在检查权限标志之前就处理内存请求
如果权限不允许就回滚

evaluation

使用Intel PIN
没看懂这是怎么模拟的呀

Back: you have read it !
Tags: cxl

END