SC Workshop 2023 Paper CXL论文阅读笔记整理
问题
在GPU图分析中,处理超出GPU板载存储器容量(数十GB)的大型图,使用主机DRAM和固态驱动器(SSD)等外部存储器是一种具有成本效益的方法。特别是,以GPU为中心的外部内存访问方法,已被证明在涉及按需细粒度随机访问(如图分析)的工作负载中产生了最先进的运行时性能[31,33]。也就是说,当接下来要读取的小块数据取决于当前处理结果并且不能先验地确定时,让GPU发起数据请求比让CPU控制GPU和外部存储器之间的数据流更有效。
挑战
使用主机DRAM通常会比SSD的处理速度更快,但增加主机DRAM容量成本是昂贵的。通过计算快速链路(CXL)[4]进行内存扩展是一种很有前途的替代方案,因为它允许通过更可扩展的PCIe链路以缓存一致的方式load/store对池内存的访问。但CXL内存带来了额外一到两百纳秒的延迟,会对一些基于CPU的工作负载产生不利的性能影响[23]。
本文方法
本文研究了使用Compute Express Link(CXL)内存作为GPU图处理的替代外部内存,以了解是否能够实现与使用主机DRAM一样快的图处理。
本文使用了两个FPGA原型。第一个原型配备了微秒延迟闪存,并作为PCIe连接的存储设备[38]。虽然不支持CXL接口,但支持以比NVMe SSD中512字节的标准更小的地址对齐大小进行访问,以便在图工作负载中提供细粒度的随机读取请求。第二个原型是基于DRAM的CXL存储器,基于Intel Agilex®7 FPGA实现支持CXL接口。设计为板载DRAM提供了可调整的延迟,从而够评估延迟更长的CXL内存。
使用第一个原型,展示了由低延迟闪存支持的具有高随机读取性能的外部存储器允许接近基于主机DRAM的GPU图处理速度,如果它支持小的地址对齐大小的话。这也证实了地址对齐大小是将基于主机DRAM的方法与基于SSD的方法区分开来的主要性能因素,支持基于CXL的外部存储器的潜力,该外部存储器可以以与主机DRAM相同的方式访问。使用支持CXL接口并允许相同GPU代码与主机DRAM和CXL存储器一起工作的第二个原型表明,只要CXL存储器延迟低于某个允许值,主机DRAM和CXL内存上的运行时间几乎相同。
通过FPGA原型进行分析和评估,涉及细粒度随机访问的代表性GPU图遍历算法,可以容忍CXL接口和底层存储设备引入的高达几微秒的外部内存延迟。表明微秒延迟闪存可以用作CXL存储设备,以实现更具成本效益的GPU图形处理,同时仍然实现接近使用主机DRAM的性能。
总结
本文使用基于CXL的外部存储器对GPU图遍历进行了分析和评估。考虑到图处理工作负载的性质,大约32B的地址对齐,以及接近几百字节的数据传输,可以实现最佳运行时间。转化为对外部存储器的要求,即几百MIOPS的随机读取性能和几微秒的延迟,表明具有较长延迟的CXL存储器(包括配备了低延迟闪存的CXL)可以用作外部存储器,以实现与主机DRAM相当的性能。