searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

DirectCXL论文分享

2023-10-09 08:15:31
43
0

研究背景

1.大内存需求同服务器内存资源不足之间的矛盾:Tb级内存处理、大规模近似近邻搜素等

2.算效提升需求同数据中心内存资源闲置之间的矛盾:内存成本占比高、内存资源闲置严重等

因此期望使用内存分解,将主机与一个或多个内存节点连接起来,这样就不会因为有限的本地内存空间而限制任务的执行。

内存分解现有方法主要通过远程直接内存访问Remote Direct Memory Access (RDMA) 将数据从远程内存移动到主机内存。它需要管理主机或内存节点中的本地缓存数据。另外,数据移动及其伴随的操作引入了冗余内存拷贝和软件干预,这使得分解内存的延迟比本地DRAM访问的延迟高多个数量级。

而随着CXL技术的发展,CXL可以通过cxl.mem协议直连CXL device省去RDMA的数据拷贝过程和网络传输过程。因此DirectCXL第一个使用CXL技术实现CXL直连内存设备。

研究方法

如图中所示,宿主机访问分离内存可以通过CXL.mem协议直连CXL device实现1对1的连接,还可以通过CXL switch连接多个CXL device实现多对多的连接。

CXL device

在device内部,存在多个DRAM DIMM,并通过CXL controller暴露给DDR接口。

宿主机kernel在启动时会先枚举连接的CXL device数目,以及内部的CXL Controller数目;而CXL device会将内部的内存大小和寄存器返回给kernel,从而kernel可以在宿主机的预留内存空间内提前规划一块空间作为CXL device上内存的映射;因此kernel会将base 地址传输回CXL device。

而宿主机有内存请求到CXL device时,则先到预留内存空间,再通过CXL.mem和base地址解析CXL device上对应的内存地址。

CXL switch

host连接CXL device、CXL switch和级联switch,形成内存池;通过网络管理器FM配置host与CXL之间的连接;使用CPU LLC作为CXL RP并且保证

宿主机不会共享相同的HDM。

 

实验对比

针对64B的数据,Local需要60个周期,DirectCXL仅需328个周期,RDMA需要2705周期,比RDMA快8.3倍。这说明DirectCXL优势在于,

DirectCXL直连,RDMA需要在InfiniBand和PCIe之间转换;DirectCXL使用LLC执行load/store,RDMA需要DMA读写内存

 

 

0条评论
作者已关闭评论
朱****桢
2文章数
0粉丝数
朱****桢
2 文章 | 0 粉丝
朱****桢
2文章数
0粉丝数
朱****桢
2 文章 | 0 粉丝
原创

DirectCXL论文分享

2023-10-09 08:15:31
43
0

研究背景

1.大内存需求同服务器内存资源不足之间的矛盾:Tb级内存处理、大规模近似近邻搜素等

2.算效提升需求同数据中心内存资源闲置之间的矛盾:内存成本占比高、内存资源闲置严重等

因此期望使用内存分解,将主机与一个或多个内存节点连接起来,这样就不会因为有限的本地内存空间而限制任务的执行。

内存分解现有方法主要通过远程直接内存访问Remote Direct Memory Access (RDMA) 将数据从远程内存移动到主机内存。它需要管理主机或内存节点中的本地缓存数据。另外,数据移动及其伴随的操作引入了冗余内存拷贝和软件干预,这使得分解内存的延迟比本地DRAM访问的延迟高多个数量级。

而随着CXL技术的发展,CXL可以通过cxl.mem协议直连CXL device省去RDMA的数据拷贝过程和网络传输过程。因此DirectCXL第一个使用CXL技术实现CXL直连内存设备。

研究方法

如图中所示,宿主机访问分离内存可以通过CXL.mem协议直连CXL device实现1对1的连接,还可以通过CXL switch连接多个CXL device实现多对多的连接。

CXL device

在device内部,存在多个DRAM DIMM,并通过CXL controller暴露给DDR接口。

宿主机kernel在启动时会先枚举连接的CXL device数目,以及内部的CXL Controller数目;而CXL device会将内部的内存大小和寄存器返回给kernel,从而kernel可以在宿主机的预留内存空间内提前规划一块空间作为CXL device上内存的映射;因此kernel会将base 地址传输回CXL device。

而宿主机有内存请求到CXL device时,则先到预留内存空间,再通过CXL.mem和base地址解析CXL device上对应的内存地址。

CXL switch

host连接CXL device、CXL switch和级联switch,形成内存池;通过网络管理器FM配置host与CXL之间的连接;使用CPU LLC作为CXL RP并且保证

宿主机不会共享相同的HDM。

 

实验对比

针对64B的数据,Local需要60个周期,DirectCXL仅需328个周期,RDMA需要2705周期,比RDMA快8.3倍。这说明DirectCXL优势在于,

DirectCXL直连,RDMA需要在InfiniBand和PCIe之间转换;DirectCXL使用LLC执行load/store,RDMA需要DMA读写内存

 

 

文章来自个人专栏
文章 | 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0