DirectCXL:一种可能替换RDMA的内存分解架构
来源:内容由半导体行业观察(ID:icbank)转自公众号网络交换FPGA,作者:Timothy Morgan,谢谢。
在上周的ATC'22会议上,韩国的科学技术高级研究所KAIST的CAME Lab发表了一篇DirectCXL内存分解原型实现的文章,该文章提出了世界上第一个基于CXL的直接访问,高性能内存分解框架。CAMEL为大型存储系统提供世界上第一个CXL解决方案框架,可以在大数据应用程序(如机器学习,内存数据库和现实图形分析)中实现出色的性能。CAMEL的CXL解决方案为内存分解开辟了新的方向,并确保了直接访问和高性能的功能。
鉴于KAIST的HPC根源,将DirectCXL原型放在一起的研究人员专注于使用远程直接内存访问(RDMA)协议将CXL内存池与跨系统直接内存访问进行比较。他们使用了一个非常老式的Mellanox SwitchX FDR InfiniBand和ConnectX-3互连,以56 Gb / sec的速度运行,作为CXL努力的基准,InfiniBand的延迟确实降低了。但在过去的几代人中,它们肯定已经停止了降低,并且期望PCI-Express延迟有可能降低,我们认为,从长远来看,甚至超过InfiniBand或以太网的RDMA。可以消除的协议越多越好。
当然,RDMA最广为人知的是InfiniBand网络最初获得其传奇般的低延迟的手段,允许机器通过网络直接将数据放入彼此的主内存中,而无需通过操作系统内核和驱动程序。RDMA长期以来一直是InfiniBand协议的一部分,以至于它实际上是InfiniBand的同义词,直到该协议通过RDMA通过融合以太网(RoCE)协议移植到以太网。有趣的事实: RDMA实际上是基于康奈尔大学研究人员(包括亚马逊网络服务的长期首席技术官Verner Vogels)和Thorsten von Eicken(我们的读者最熟悉的是RightScale的创始人和首席技术官)在1995年所做的工作,比InfiniBand的创建早了大约四年。
以下是 DirectCXL 内存集群的外观:
在上图右侧(在本文文末的功能图像中更详细地显示了四个内存板),它们具有FPGA创建PCI-Express链接并运行CXL.memory协议,用于在内存服务器和通过PCI-Express链接连接到它的主机之间加载/存储内存寻址。系统中间是四台服务器主机,最右侧是一台 PCI-Express 交换机,用于将四台 CXL 内存服务器连接到这些主机。
为了测试DirectCXL内存,KAIST采用了Facebook的深度学习推荐模型(DLRM),仅使用InfiniBand上的RDMA在服务器节点上进行个性化设置,然后使用DirectCXL内存作为额外的容量来存储内存并通过PCI-Express总线共享它。在此测试中,CXL 内存方法比 RDMA 快得多,如下图所示:
在这个子集群上,DirectCXL内存上DLRM应用程序的张量初始化阶段比在FDR InfiniBand互连上使用RDMA快2.71倍,在推理阶段,推荐者实际上根据用户配置文件提出建议的速度提高了2.83倍,推荐者从头到尾的整体性能提高了3.32倍。
下图显示了 InfiniBand 上的本地 DRAM、DirectCXL 和 RDMA 如何堆叠,以及 CXL 与 RDMA 在各种工作负载上的性能:
以下是关于KAIST在CAMELab工作的总结部分。目前没有操作系统支持CXL内存寻址 - 没有操作系统,我们的意思是商业级Linux或Windows Server都没有,因此KAIST创建了DirectCXL软件协议栈,以允许主机使用加载/存储操作直接访问远程CXL内存。无需将数据移动到主机进行处理 - 数据是从该远程位置处理的,就像在具有 NUMA 协议的多插槽系统中发生的情况一样。而且,与英特尔使用其 Optane 持久内存创建的相比,此 DirectCXL 驱动程序的复杂性要小得多。
“直接访问CXL设备,这与持久内存开发工具包(PMDK)的内存映射文件管理的概念类似,”KAIST研究人员在论文中写道。“但是,它比PMDK更简单,更灵活地进行命名空间管理。例如,PMDK 的命名空间与 NVMe 命名空间非常相似,由文件系统或具有固定大小的 DAX 管理。相比之下,我们的 cxl 命名空间更类似于传统的内存段,后者直接向应用程序公开,而无需使用文件系统。
论文中有很多的实验结果,对于普通读者大都晦涩难懂。但是,我们放大的下图中显示了 DirectCXL 和 RDMA 方法之间的一些显著差异:
就我们而言,左上角的图表是有趣的图表。要读取64字节的数据,RDMA需要执行两次直接内存操作,这意味着它具有两倍的PCI-Express传输和内存延迟,然后InfiniBand协议在RDMA期间占用2129个周期,总共2705个处理器周期。DirectCXL 读取 64 字节的数据只需要 328 个周期,它能够做到这一点的一个原因是 DirectCXL 协议将加载/存储请求从处理器中的最后一级缓存转换为 CXL flits,而 RDMA 必须使用 DMA 协议来读取和写入内存中的数据。
附小册子部分内容翻译:
随着大数据时代的到来,资源分解因其出色的扩展能力,成本效率和透明弹性而备受关注。将处理器和存储设备分解确实打破了数据中心和高性能计算的物理边界,成为单独的物理实体。与其他资源相比,实现以低成本支持高性能和可伸缩性的内存分解技术并非易事。许多行业原型和基于学术模拟/仿真的研究探索了实现这种存储分解技术的广泛方法,并为使内存分解实用做出了重大努力。然而,由于几个基本挑战( 高成本,有限的扩展,重数据副本和主机依赖性 ),内存分解的概念到目前为止还没有成功实现。 CAMEL为大型存储系统提供世界上第一个CXL解决方案框架,可以在大数据应用程序(如机器学习,内存数据库和现实图形分析)中实现出色的性能。CAMEL的CXL解决方案为内存分解开辟了新的方向,并确保了直接访问和高性能的功能。
*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。
今天是《半导体行业观察》为您分享的第3117内容,欢迎关注。
推荐阅读
半导体行业观察
『 半导体第一垂直媒体 』
实时 专业 原创 深度
识别二维码 ,回复下方关键词,阅读更多
晶圆|集成电路|设备 |汽车芯片|存储|台积电|AI|封装
回复
投稿
,看《如何成为“半导体行业观察”的一员 》
回复 搜索 ,还能轻松找到其他你感兴趣的文章!
- 半导体行业观察
- 摩尔芯闻
最新新闻
热门文章 本日 七天 本月
- 1 MediaTek 发布天玑 8400 移动芯片,开启高阶智能手机全大核计算时代
- 2 探索智慧实践,洞见AI未来!星宸科技2024开发者大会暨产品发布会成功举办
- 3 国产EDA突破,关键一步
- 4 共筑国产汽车芯片未来,中国汽车芯片联盟全体大会即将开启