创新背景
CXL是一种基于外围组件互连高速(PCIe)的新型动态多协议,用于有效利用存储设备和加速器。许多企业数据中心和内存供应商都将其视为大数据时代的下一代多协议。
机器学习、图形分析和内存数据库等新兴大数据应用需要大内存容量。但是,通过先前的内存接口(如双倍数据速率(DDR))横向扩展内存容量会受到中央处理器(CPU)和内存控制器数量的限制。因此,出现了内存分解,它允许将主机连接到另一个主机的内存或内存节点。
RDMA是一种主机可以通过InfiniBand(数据中心中常用的网络协议)直接访问另一台主机内存的方式。如今,大多数现有的内存分解技术都采用RDMA来获得较大的内存容量。因此,一个主机可以通过在本地和远程内存之间传输数据来共享另一个主机的内存。
尽管基于RDMA的内存分解为主机提供了较大的内存容量,但存在两个关键问题。首先,横向扩展内存仍然需要添加额外的CPU。由于动态随机存取存储器(DRAM)等被动存储器无法自行运行,因此应由CPU控制。其次,基于RDMA的内存分解的冗余数据副本和软件结构干预会导致更长的访问延迟。例如,基于RDMA的内存分解中的远程内存访问延迟比本地内存访问长多个数量级。
创新过程
为了解决这些问题,研究团队开发了基于CXL的内存分解框架,包括支持CXL的定制CPU、CXL设备、CXL交换机和CXL感知操作系统模块。该团队的CXL设备是一个纯无源且可直接访问的内存节点,包含多个DRAM双列直插式内存模块(DIMM)和一个CXL内存控制器。由于CXL内存控制器支持CXL设备中的内存,因此主机无需处理器或软件干预即可利用内存节点。该团队的CXL交换机通过将多个CXL设备分层连接到允许数百个设备的CXL交换机,从而横向扩展主机的内存容量。在交换机和设备之上,该团队支持CXL的操作系统消除了传统RDMA所表现出的冗余数据复制和协议转换,这可以显著降低对内存节点的访问延迟。
在比较从内存池设备加载 64B(缓存行)数据的测试中,基于CXL的内存分解显示数据加载性能比基于RDMA的内存分解高8.2倍,甚至与本地DRAM内存的性能相似。在团队对大数据基准(例如基于机器学习的测试)的评估中,基于CXL的内存分解技术的性能也比以前基于RDMA的内存分解技术高出最多3.7倍。
创新价值
研究人员摆脱传统的基于RDMA的内存分解,基于CXL的内存分解框架可以为不同的数据中心和云服务基础设施提供高可扩展性和性能。基于CXL的内存分解研究将为内存解决方案带来新的范式,引领大数据时代。