CXL-GPU: 全球首款实现百ns以内的低延迟CXL解决方案

数据中心在追求更高性能和更低总拥有成本(TCO)的过程中面临三大主要内存挑战。首先,当前服务器内存层次结构存在局限性。直接连接的DRAM与固态硬盘(SSD)存储之间存在三个数量级的延迟差异。当处理器直接连接的内存容量耗尽时,就必须转向SSD,导致处理器处于等待状态。这种等待,即延迟,对计算性能产生重大负面影响。

图片

其次,多核处理器的核心数增长速度远远超过主内存通道的数量。这意味着超过一定数量的处理器核心会因缺乏足够的内存带宽而无法充分发挥效能,从而削弱了额外核心带来的优势,也就是出现了内存墙的问题

图片

高端GPU设计中,比如英伟达发布的HGXH200 GPU搭载了141GB的HBM3e内存,用于提升性能和处理大型数据集的能力,已经在一定程度上缓解了内存容量不足的问题。但,随着加速计算的普及,即加速器配备有自己的直接连接内存,未充分利用或被闲置的内存资源问题日益凸显

图片

在过去的尝试中,面对内存墙的问题,主要遇到以下四个挑战:

  1. 有限的内存带宽和容量可扩展性:传统内存系统在增加带宽和容量方面面临局限。随着数据密集型应用需求的增长,对内存资源的消耗急剧上升,但内存技术的发展却难以匹配这种快速增长的需求。这导致在处理大规模数据集时,系统因内存不足或数据交换速率慢而受到限制。

  2. 与本地内存显著的延迟差距:当引入外部或扩展内存解决方案时,它们通常具有比直接连接在CPU上的本地内存更高的访问延迟。这种延迟差影响了应用程序的响应时间和整体性能,特别是在那些对延迟敏感的应用场景下,如实时交易处理或高性能计算。

  3. 专有的系统配置和部署:早期尝试通过定制或专有解决方案来克服内存墙,这些方案往往需要特定的硬件和软件配置,导致部署复杂且不灵活。这种专属性意味着升级或维护成本高,且不能轻松地跨不同平台复用。

  4. 与流行应用软件的复杂集成:为了利用新的内存技术,软件需要进行相应的修改或优化,以便能够有效利用扩展的内存资源。然而,这种集成工作不仅技术上复杂,还可能需要大量的开发资源和时间,特别是当涉及到已经广泛使用的流行应用程序时,它们的代码库庞大且改动影响广泛。

以往尝试突破内存墙的努力受限于技术、成本和兼容性等多方面的难题,这些挑战阻碍了内存系统的高效扩展和应用性能的全面提升。

为了解决这些问题,业界正积极寻求新的技术和标准,比如Compute Express Link (CXL),它旨在通过提供标准化的高速互连来提高内存带宽、降低延迟,并简化内存扩展的软件集成,从而有效地打破内存墙的限制

扩展阅读:

  • CXL:拯救NVMe SSD缓存不足设计难题

  • 如何利用CXL技术突破内存墙?

  • CXL与PCIe世界的尽头|你相信光吗?

  • 浅析CXL P2P DMA加速数据传输的原理

  • 下一代分层存储方案:CXL SSD

为了克服GPU内存容量限制,同时尽量减少性能损失韩国一家公司Panmnesia提出了一项基于CXL技术的GPU存储扩展方案。

图片

Panmnesia是一家在内存扩展和计算加速技术方面走在前列的创新型企业,其解决方案对于推动AI、云计算和高性能计算等领域的发展具有重要意义。通过不断技术创新和优化,Panmnesia正努力将CXL技术推向新的高度,为全球的系统开发商和制造商提供高性能、低成本的内存扩展解决方案。

图片

  • 端点(Endpoints, EPs):在CXL架构中,EPs可以是各种类型的存储设备,包括基于非易失性存储器(NVM)的固态硬盘(SSDs)和DRAM。这些设备通过CXL接口直接与计算单元通讯,降低了访问延迟,提升了数据传输速率。

  • 计算单元访问:CXL允许GPU或其他计算单元如同访问本地内存一样,直接通过标准的加载/存储指令来读写这些外挂的存储设备,从而避免了通过CPU和系统内存作为中介的传统做法,减少了数据搬运的开销和延迟。

  • 异步通信机制:CXL的异步通信特性为数据密集型应用提供了重要优势,特别是在深度学习、大规模数据分析等场景下,能够更加高效地管理数据流,减少等待时间,提升整体计算效率。

  • 内存空间映射:CXL通过PCIe物理层,将EPs映射到主机的内存空间中,使得这些存储资源对计算单元来说就像是扩展的系统内存,简化了编程模型,便于软件层面的利用和管理。

Panmnesia公司突破性地开发出了全球首款实现两位数纳秒级往返延迟的CXL控制器,这一创新直接回应了GPU存储扩展领域的一项重大挑战。当前,GPU内部缺乏原生支持CXL逻辑结构和子系统的机制,无法直接将DRAM或SSD作为端点(EPs)来扩展内存。为此,Panmnesia填补了市场空白,设计了一系列至关重要的硬件层级,这些层级全面支持CXL的所有关键子协议,并将它们整合进了一个统一的控制器之中。

图片

Panmnesia的创新之处

Panmnesia研发的CXL控制器,凭借其独特的低延迟CXL IP,解决了内存扩展中的一大难题——延迟。公司成功开发并完成了CXL控制器IP的硅片制造过程,确保所有CXL通信操作均能在极低的延迟下执行。这一控制器展现出了两位数纳秒级的往返延迟,这是迄今为止报道中最快的。

通过优化物理层、链接层和事务层的操作,Panmnesia的CXL控制器能够应用于包括CPU、交换机、加速器和内存扩展器在内的多种系统设备,自动化加速内存管理操作。这样,用户可以在保证性能损失最小化的同时,实现理想的内存扩展方案,降低TCO。

Panmnesia CXL IP控制器技术亮点

  • 先进制程技术:展示了控制器的硅片布局,采用了台积电(TSMC)的先进技术进行制造。这意味着控制器不仅在技术上处于前沿,还具备高性能和低功耗的特性。

  • 全面协议兼容:该CXL控制器设计符合CXL 3.1标准,同时向下兼容CXL 2.0和1.1版本,保证了其在不同平台上的广泛适用性。

  • 低延迟性能:经过严格测试,控制器实现了两位数纳秒级别的往返延迟,这一成绩包括了标准内存操作与CXL数据包(flit)传输间的协议转换时间。这样的低延迟对于高性能计算和实时数据处理至关重要。

  • 硬件集成验证:控制器不仅在硬件RTL上被成功集成到内存扩展器中,还在GPU和CPU的原型设计中进行了验证,展现了其在多样化计算硬件环境下的高效能与高兼容性。

性能对比分析

为了更好地说明其技术优势,Panmnesia将自家CXL控制器(CXL-Opt)的往返延迟与市场上其他两款解决方案SMT5和TPP6进行了比较。结果显示,CXL-Opt控制器的延迟至少比SMT和TPP快3倍(具体数字还未公开)。尽管关于SMT和TPP的具体硅片信息并未公开,但据推测它们可能是基于PCIe架构。相比之下,Panmnesia的CXL控制器从物理层到链路层,再到事务层,都针对CXL进行了全方位的优化,这解释了其显著的性能优势。

图片

在设计和集成GPU架构以开发用于存储扩展的EP设备时,Panmnesia采取了一种创新策略,将CXL控制器的功能与内存/SSD控制器的功能相结合。这一结合使得CXL控制器能够将其后端存储空间扩展到主机系统中,这部分被定义为主机管理的设备内存(HDM)。然而,与GPU架构的集成面临着独特的挑战,因为EP需要被GPU的缓存系统识别。与常规EP直接对接的方式不同,这种情况需要更精细的设计。

为了解决这些挑战,Panmnesia设计了一个特殊的CXL RC,它配备了一个带有多个RP的主机桥接器。下图左侧展示了这一配置,其中主机桥接器一侧连接到系统总线端口,另一侧则连接多个CXL根端口。这一设置的关键组件之一是一个HDM解码器,负责管理每个根端口的系统内存地址范围,即主机物理地址(HPA)。这些根端口设计灵活,可以通过PCIe连接支持DRAM或SSD EP。

图片

将CXL RC嵌入到Panmnesia基于开源框架定制的GPU架构中,该定制GPU专门设计以优化CXL功能的集成,确保与CXL控制器和EP设备的无缝协作。为了实现这一高度集成的系统,包括定制GPU和EP设备,Panmnesia利用了基于7纳米FPGA的定制AIC卡,如下图所示。这一FPGA平台不仅提供了快速原型设计和验证的途径,还允许高度的硬件灵活性和可编程性,从而适应未来可能的升级和优化。

图片

Panmnesia的GPU架构设计和集成方案通过创新地融合CXL控制器与内存/SSD控制器功能,创建了一个高度优化的系统,该系统不仅解决了与GPU缓存系统兼容的问题,还通过一个灵活且高效的CXL RC设计,实现了对不同类型EP设备的支持。这一方案利用先进的FPGA技术实现,展示了面向未来的大规模深度学习和高性能计算应用的内存扩展解决方案。

Panmnesia在解决大型数据处理挑战方面,对比了三种不同的GPU系统配置,以评估它们在提高存储容量和效率方面的效果。这三种配置分别是:

  1. UVM(Unified Virtual Memory): UVM技术通过在CPU和GPU间共享统一虚拟地址空间,允许两者通过共享指针访问数据。尽管此方法简化了内存管理,但在处理GPU页面错误时,必须依靠主机运行时软件进行干预,这导致了较高的延迟和性能开销。UVM以页面而非缓存行粒度迁移数据,经常导致数据传输量超出GPU实际需求。

  2. CXL-Proto: 通过采用三星和Meta报告中提及的CXL端点原型,将CXL技术应用于GPU存储扩展,实现了250纳秒的延迟。虽然相比UVM有所改进,但仍有优化空间。

  3. CXL-Opt: 同样基于CXL技术进行GPU存储扩展,但采用了Panmnesia自主研发的CXL控制器,该控制器实现了两位数纳秒级的往返延迟,并引入了额外的优化措施以减少读写延迟。这是目前性能最佳的解决方案。

图片

性能评估

  • 执行时间:通过比较三种配置在不同GPU内核上的执行时间,并以UVM为基准进行归一化,结果显示UVM的性能在所有测试中表现最差,这主要归因于处理GPU页面错误时主机运行时的干预开销。CXL-Proto通过允许GPU直接通过加载/存储指令访问扩展存储,避免了上述问题,使得执行时间比UVM缩短1.94倍。而CXL-Opt进一步优化,使用了低延迟的CXL控制器,执行时间比UVM缩短3.23倍

  • 每周期指令数(IPC):IPC值是衡量处理器效率的重要指标,表示每个时钟周期内完成的指令数量。在这个指标上,CXL-Opt相对于UVM和CXL-Proto分别展现出3.22倍和1.65倍的性能提升,进一步证明了其在提升GPU计算效率方面的显著效果。

这一创新的CXL控制器不仅解决了GPU内存扩展的迫切需求,也为AI、高性能计算及大数据处理等内存密集型应用提供了强大的支持。通过实现超低延迟的内存访问,Panmnesia的解决方案有望大幅提升系统的整体性能和效率,降低数据传输瓶颈,进而推动相关行业技术的进一步发展。此外,其全面的兼容性和高度优化的设计,为未来CXL技术在更广泛领域的应用奠定了坚实的基础。

另外,Panmnesia的CXL-GPU技术将在即将7月份于美国加州圣克拉拉举办的USENIX会议和ACM HotStorage活动中展示,具体细节预计会有更多的展示,小编持续关注中!

参考文献:https://panmnesia.com/#solution


如果您看完有所受益,欢迎点击文章底部左下角“关注”并点击“分享”、“在看”,非常感谢!

精彩推荐:

  • 万字长文|下一代系统内存数据加速接口SDXI解读

  • 数据中心:AI范式下的内存挑战与机遇

  • WDC西部数据闪存业务救赎之路,会成功吗?

  • 属于PCIe 7.0的那道光来了~

  • 深度剖析:AI存储架构的挑战与解决方案

  • 浅析英伟达GPU NCCL P2P与共享内存

  • 3D NAND原厂:哪家芯片存储效率更高?

  • 大厂阿里、字节、腾讯都在关注这个事情!

  • 磁带存储:“不老的传说”依然在继续

  • 浅析3D NAND多层架构的可靠性问题

  • SSD LDPC软错误探测方案解读

  • 关于SSD LDPC纠错能力的基础探究

  • 存储系统如何规避数据静默错误?

  • PCIe P2P DMA全景解读

  • 深度解读NVMe计算存储协议

  • 浅析不同NAND架构的差异与影响

  • SSD基础架构与NAND IO并发问题探讨

  • 字节跳动ZNS SSD应用案例解析

  • CXL崛起:2024启航,2025年开启新时代

  • NVMe SSD:ZNS与FDP对决,你选谁?

  • 浅析PCI配置空间

  • 浅析PCIe系统性能

  • 存储随笔《NVMe专题》大合集及PDF版正式发布!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/768996.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Hive测试

1、数据仓库的体系结构包含四个层次,分别是: 数据源 数据存储和管理 数据服务 数据应用 2、Hive提供了类似关系数据库SQL的查询语言: HiveQL 3、Hive某种程度上可以看作 用户编程接口,本身不存储和处理数据,存储数据依…

CesiumJS【Basic】- #057 绘制纹理填充多边形(Primitive方式)

文章目录 绘制纹理填充多边形(Primitive方式)1 目标2 代码2.1 main.ts绘制纹理填充多边形(Primitive方式) 1 目标 使用Primitive方式绘制绘制纹理填充多边形 2 代码 2.1 main.ts import * as Cesium from &

CDC模型

引言 聚类是一种强大的机器学习方法,用于根据特征空间中元素的接近程度发现相似的模式。它广泛用于计算机科学、生物科学、地球科学和经济学。尽管已经开发了最先进的基于分区和基于连接的聚类方法,但数据中的弱连接性和异构密度阻碍了其有效性。在这项…

职业性格测试,企业HR招聘测评最常用人才测评

关于求职测评,招聘中用到的人才测评,你们对这个话题又知道多少呢?为什么我会以90后为分界线,首先90后正是接触计算机最早的一代,因为小编是90后,更了解这个年龄段都在做什么,可以说90后见证了互…

【echarts】拖拽滑块dataZoom-slider自定义样式,简单适配移动端

电脑端 移动端 代码片段 dataZoom: [{type: inside,start: 0,end: 100},{type: slider,backgroundColor: #F2F5F9,fillerColor: #BFCCE3,height: 13, // 设置slider的高度为15start: 0,end: 100,right: 60,left: 60,bottom: 15,handleIcon:path://M30.9,53.2C16.8,53.2,5.3,41.…

第一周题目总结

1.车尔尼有一个数组 nums ,它只包含 正 整数,所有正整数的数位长度都 相同 。 两个整数的 数位不同 指的是两个整数 相同 位置上不同数字的数目。 请车尔尼返回 nums 中 所有 整数对里,数位不同之和。 示例 1: 输入&#xff1a…

Android Studio环境搭建(4.03)和报错解决记录

1.本地SDK包导入 安装好IDE以及下好SDK包后,先不要管IDE的引导配置,直接新建一个新工程,进到开发界面。 SDK路径配置:File---->>Other Settings---->>Default Project Structure 拷贝你SDK解压的路径来这,…

自动化任务工具 -- zTasker v1.94 绿色版

软件简介 zTasker 是一款功能强大的自动化任务管理软件,以其简洁易用、一键式操作而著称。软件体积小巧,启动迅速,提供了超过100种任务类型和30多种定时/条件执行方法,能够满足用户在自动化方面的多样化需求。 zTasker 支持定时任…

数据结构 - C/C++ - 树

公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 目录 树的概念 结构特性 树的样式 树的存储 树的遍历 节点增删 二叉搜索树 平衡二叉树 树的概念 二叉树是树形结构,是一种非线性结构。 非线性结构:在二叉树中&#x…

分享一款可编辑本地电脑文件的在线编辑器

背景 之前见过在线版的VSCode,被惊讶到了。网页上竟然可以编辑电脑本地的文件,打破了网页无法编辑本地电脑文件的限制。一直好奇怎么做的。抽空研究了一下,然后发现其实也不难。 分析 先给大家介绍一下这款在线编辑器的效果。 左侧栏为文件…

森马基于MaxCompute+Hologres+DataWorks构建数据中台

讲师:晋银龙 浙江森马数仓高级经理 本次案例主要分享森马集团面对多年自建的多套数仓产品体系,通过阿里云MaxComputeHologresDataWorks统一数仓平台,保障数据生产稳定性与数据质量,减少ETL链路及计算时间,每年数仓整体…

平衡二叉查找树和多路查找树

平衡二叉查找树 普通平衡二叉查找树 平衡二叉树定义是按照有序排列成树状,左子树数据大于右子树,任意节点的左右子树高度不能大于1 优点:可以保证绝对的平衡 缺点:当进行删除节点和新增节点,树进行自平衡的时候&…

计算机网络网络层复习题2

一. 单选题(共22题,100分) 1. (单选题)如果 IPv4 数据报太大,会在传输中被分片,对分片后的数据报进行重组的是( )。 A. 中间路由器B. 核心路由器C. 下一跳路由器D. 目的主机 我的答案: D:目的…

RocketMQ源码学习笔记:Producer启动流程

这是本人学习的总结,主要学习资料如下 马士兵教育rocketMq官方文档 目录 1、Overview1.1、创建MQClientInstance1.1.1、检查1.1.1、MQClientInstance的ID 1.2、MQClientInstance.start() 1、Overview 这是发送信息的代码样例, DefaultMQProducer produ…

Qt中使用MySQL数据库详解,好用的模块类封装

本文将详细介绍如何在Qt应用程序中集成MySQL数据库,并封装实现好用的mysql数据库操作类。包括环境准备、连接数据库、执行查询及异常处理等关键步骤,同时包含mysql驱动的编译。分享给有需要的小伙伴,喜欢的可以点击收藏。 目录 环境准备 项…

MySql Innodb锁机制

锁概述 undo log版本链 Read View机制实现的MVCC多版本并发控制,可以防止事务并发读写同一数据时出现的脏读不可重复读幻读问题。但除脏读不可重复读幻读问题外,并发读写同一数据还有脏写问题。就是当多个事务并发更新同一条数据时,此时就可…

【CT】LeetCode手撕—199. 二叉树的右视图

目录 题目1- 思路2- 实现⭐199. 二叉树的右视图——题解思路 3- ACM 实现 题目 原题连接&#xff1a;199. 二叉树的右视图 1- 思路 使用二叉树的层序遍历 2- 实现 ⭐199. 二叉树的右视图——题解思路 class Solution {public List<Integer> rightSideView(TreeNode ro…

Let‘s Encrypt 申请免费 SSL 证书(每隔60天自动更新证书)

文章目录 官网文档简介安装 Nginxacme.sh生成证书智能化生成证书 安装证书查看已安装证书更新证书 官网 https://letsencrypt.org/zh-cn/ 文档 https://letsencrypt.org/zh-cn/docs/ 简介 Let’s Encrypt 是一个非营利组织提供的免费SSL/TLS证书颁发机构&#xff0c;旨在促…

如何在 Windows 10 或 11 中恢复已删除的文件

您在 Windows PC 上找不到某个文件&#xff0c;并且您觉得可能已将其删除。我们都遇到过这种情况。但与其抱怨&#xff0c;不如尝试恢复它。假设您已经搜索过回收站&#xff0c;但一无所获&#xff0c;那么是时候求助于一个好的恢复工具了。 微软提供了自己的命令行恢复程序&a…

Vite: 插件流水线之核心编译能力

概述 Vite 在开发阶段实现了一个按需加载的服务器&#xff0c;每一个文件请求进来都会经历一系列的编译流程&#xff0c;然后 Vite 会将编译结果响应给浏览器。在生产环境下&#xff0c;Vite 同样会执行一系列编译过程&#xff0c;将编译结果交给 Rollup 进行模块打包这一系列…