CXL 4.0带宽翻倍并扩展内存池化至多机架配置

CXL第四代内存共享规范提升了速度并扩展了多机架系统的距离支持能力。

Computer eXpress Link(CXL)规范定义了如何通过PCIe总线连接内存池。目前已有三代产品。CXL 1代使x86服务器能够访问外部设备(如智能网卡和DPU)中通过PCIe 5.0链接的内存。CXL 2代在仍使用PCIe 5.0的基础上,增加了服务器与外部设备之间的内存池化功能,而CXL 3代则增加了交换机和PCIe 6.0支持,使更多服务器和设备能够共享内存。现在CXL 4.0使用PCIe 7.0来提升速度,并具备增加内存池跨度和带宽的额外功能。多机架AI服务器不断增长的需求是该技术的目标应用领域。

英伟达首席工程师、CXL联盟主席兼司库Derek Rohde表示:"CXL 4.0规范的发布为推进一致性内存连接设立了新的里程碑,相比上一代产品带宽翻倍,并提供了强大的新功能。"

英伟达的NVlink点对点技术将GPU连接在一起,使它们可以直接共享HBM内存空间,而无需主机x86服务器及其PCIe总线。GPU服务器的高带宽内存(HBM)可以作为Type 2设备在CXL内存空间中运行,与主机(x86)处理器共享内存,它们可以通过CXL链接,但速度低于NVLink。NVLink 5.0为每个B200 GPU提供高达1,800 GB/s的带宽。PCIe 7.0为每个CPU提供高达1,024 GB/s的带宽。

CXL 4.0在保持相同延迟的情况下将链路带宽翻倍至128 GT/s,并引入了原生x2宽度概念以及捆绑端口,支持4个重定时器来扩展链路距离。

原生x2链路宽度的存在是为了增加扇出能力。链路宽度指定CXL连接中并行数据路径通道的数量,CXL 1.0至3.0支持x4、x8和x16宽度。单一宽度和x2宽度是通道故障和错误恢复的备用宽度,以较慢的降级模式运行。现在x2已完全针对性能进行优化,与x4至x16宽度相同。

捆绑端口将多个物理CXL设备端口聚合为单个逻辑实体,以增加带宽和连接性。CXL 4.0白皮书解释了这一概念。

PCIe信号质量会随距离增加而降低,数据速率提升时亦是如此。重定时器是模拟/数字集成电路设备,接收部分降级的信号并使用时钟和数据恢复电路刷新信号。据我们了解,四个重定时器将使底层PCIe链路得以扩展,以支持多机架配置。我们希望在2026年末至2027年期间看到CXL 4多机架系统的实现。

Q&A

Q1:CXL 4.0相比之前版本有什么主要改进?

A:CXL 4.0使用PCIe 7.0技术,在保持相同延迟的前提下将链路带宽翻倍至128 GT/s,并引入了原生x2宽度概念、捆绑端口以及支持4个重定时器来扩展链路距离,特别适用于多机架AI服务器配置。

Q2:CXL技术与英伟达NVLink技术有什么区别?

A:NVLink是英伟达的点对点技术,专门用于GPU之间直接共享HBM内存,NVLink 5.0可为每个B200 GPU提供1,800 GB/s带宽。而CXL是通用标准,支持x86处理器与各种设备间的内存共享,PCIe 7.0可为每个CPU提供1,024 GB/s带宽。

Q3:CXL 4.0什么时候能在多机架系统中应用?

A:根据技术发展趋势,预计CXL 4.0多机架系统将在2026年末至2027年期间实现。该技术通过4个重定时器扩展PCIe链路距离,能够支持多机架配置,满足大规模AI服务器部署的需求。


考虑柔性负荷的综合能源系统低碳经济优化调度【考虑碳交易机制】(Matlab代码实现)内容概要:本文围绕“考虑柔性负荷的综合能源系统低碳经济优化调度”展开,重点研究在碳交易机制下如何实现综合能源系统的低碳与经济性协同优化。通过构建包含风电、光伏、储能、柔性负荷等多种能源形式的系统模型,结合碳交易成本与能源调度成本,提出优化调度策略,以降低碳排放提升系统运行经济性。文中采用Matlab进行仿真代码实现,验证了所提模型在平衡能源供需、平抑可再生能源波动、引导柔性负荷参与调度等方面的有效性,为低碳能源系统的设计与运行提供了技术支撑。; 适合人群:具备一定电力系统、能源系统背景,熟悉Matlab编程,从事能源优化、低碳调度、综合能源系统等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①研究碳交易机制对综合能源系统调度决策的影响;②实现柔性负荷在削峰填谷、促进可再生能源消纳中的作用;③掌握基于Matlab的能源系统建模与优化求解方法;④为实际综合能源项目提供低碳经济调度方案参考。; 阅读建议:建议读者结合Matlab代码深入理解模型构建与求解过程,重点关注目标函数设计、约束条件设置及碳交易成本的量方式,可进一步扩展至多能互补、需求响应等场景进行二次开发与仿真验证。
CXL协议在PCIe配置空间的基础上进行了扩展,以支持其特有的功能,包括缓存一致性、共享内存访问和低延迟通信等。这些扩展通过引入新的配置结构和扩展功能来实现,使CXL设备能够在保持与PCIe兼容性的同时提供更高级的功能。 在PCIe中,配置空间用于设备的初始、发现和功能配置CXL在此基础上定义了额外的配置寄存器和能力结构,以支持CXL特定的功能。这些扩展通常通过设备的扩展能力(Extended Capability)结构实现,允许软件识别和配置CXL支持的高级特性。例如,CXL设备可以通过扩展配置空间提供对CXL.io、CXL.cache和CXL.mem协议层的支持信息[^2]。 具体来说,CXL配置空间扩展包括以下几个方面: 1. **CXL能力结构**:CXL定义了新的能力结构,用于描述设备支持的CXL协议版本、支持的功能(如缓存一致性或内存共享)以及相关的控制和状态寄存器。这些结构可以通过PCIe的扩展能力机制进行访问,确保与现有PCIe软件栈的兼容性[^4]。 2. **DVSEC(Designated Vendor-Specific Extended Capability)**:CXL使用DVSEC机制来定义特定于CXL扩展配置空间。DVSEC允许设备供应商定义自定义寄存器块,用于配置和控制CXL特有的功能。例如,DVSEC可以用于配置CXL.cache的缓存一致性域或管理CXL.mem的内存访问权限[^2]。 3. **CXL控制器配置**:CXL控制器的集成需要在配置空间中提供额外的寄存器,用于控制CXL链路的初始、状态监控以及协议层的选择。例如,配置寄存器可以用于启用或禁用特定的CXL协议层(如CXL.io或CXL.cache),设置其运行参数[^4]。 4. **内存池管理配置**:为了支持CXL.mem协议中的共享内存访问,CXL设备的配置空间还包括用于内存池管理的寄存器。这些寄存器可用于定义内存池的大小、访问权限以及地址映射规则,使主机和设备能够高效地共享内存资源[^4]。 以下是一个简的示例代码片段,展示了如何通过PCIe的扩展能力机制访问CXL配置空间: ```c #include <stdio.h> #include <pci/pci.h> int main() { struct pci_access *pacc; struct pci_dev *pdev; pacc = pci_alloc(); // 初始PCI库 pci_init(pacc); // 初始PCI访问 pci_scan_bus(pacc); // 扫描所有总线 // 假设找到一个CXL设备 pdev = pci_get_dev_by_slot(pacc, 0x00, 0x10, 0x00); // 示例设备地址 if (pdev) { pci_read_block(pdev, 0x100, buffer, sizeof(buffer)); // 读取扩展配置空间 // 解析buffer中的CXL能力结构和DVSEC信息 pci_free_dev(pdev); } pci_cleanup(pacc); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值