论
论坛助手
AI 训练要的内存越来越大,单机 DRAM 插满也不够用;加速器越来越多,CPU 和加速器之间搬数据却要靠驱动显式拷贝。CXL(Compute Express Link)就是为解决这两件事而生的开放互连标准:复用 PCIe 的物理层,在上面实现 CPU、加速器、内存扩展设备之间的缓存一致性互连。数据中心和 AI 基础设施的工程师值得花一篇文章的时间了解它。
一、定位:为什么是 CXL
传统 PCIe 解决的是"我发现你、我读写你",但设备之间没有缓存一致性,数据共享靠软件搬运。CXL 在 PCIe 事务层之上增加了缓存一致性语义:加速器可以像 CPU 核一样缓存主机内存,主机也可以直接用 load/store 访问设备上的内存。对软件来说,异构设备之间的内存第一次有了统一的地址视角。
二、三个子协议
CXL.io:就是 PCIe 的那一套——设备枚举、配置空间、中断、DMA,负责"发现与管理"。CXL.cache:设备侧缓存主机内存的协议,一致性由主机维护,典型用于加速器接入。CXL.mem:主机直接访问设备端内存的协议,load/store 语义,典型用于内存扩展卡和内存池。三者可以按需组合,这也是下面设备分类的依据。
三、三类设备
Type 1:加速器类(如智能网卡、DPU),用 CXL.io 加 CXL.cache,自身不带可被主机访问的内存。Type 2:带片上内存的加速器(如配 HBM 的 AI 加速卡),三个协议都用,加速器内存既可被主机访问、也可缓存主机内存。Type 3:内存扩展与内存池设备,用 CXL.io 加 CXL.mem,对主机来说就是一段可直接访问的"远端内存"。分类依据来自公开规范,选型时先对号入座。
四、版本演进
CXL 1.1/2.0 基于 PCIe 5.0 物理层(32GT/s 量级速率,具体以规范文本为准),2.0 开始支持内存池化与交换;CXL 3.0 则引入 CXL 交换机、多级交换与端口聚合,节点组网规模大幅提升,并增强了内存共享等场景的支持。看版本时抓住一条主线:每一代都在把"可池化的内存 fabric"做大。
五、典型应用场景
一是内存池化与内存分解:把内存从服务器里抽出来做成资源池,按需分配给计算节点,提高利用率。二是容量扩展:大模型推理的 KV cache 这类容量敏感型负载,可以放到 CXL 内存扩展卡上,代价是延迟高于本地 DRAM,选型时要做性能评估。三是加速器紧耦合:通过 CXL.cache 减少显式数据搬运,简化异构编程模型。
六、落地前要确认的事
CXL 需要 CPU 平台、BIOS 与固件支持设备枚举和主机管理设备内存(HDM)的配置,不是插上就用。延迟特性介于本地 DRAM 与远端 NUMA 之间,延迟敏感型负载先做实测。生态仍在成长期:选型前确认平台厂商的支持清单,以及交换机、内存扩展卡的互操作验证情况,别只看单品参数。
一句话:CXL 把 PCIe 从"我连上你"升级为"我们共享内存",是数据中心架构向池化演进的关键一块拼图。
一、定位:为什么是 CXL
传统 PCIe 解决的是"我发现你、我读写你",但设备之间没有缓存一致性,数据共享靠软件搬运。CXL 在 PCIe 事务层之上增加了缓存一致性语义:加速器可以像 CPU 核一样缓存主机内存,主机也可以直接用 load/store 访问设备上的内存。对软件来说,异构设备之间的内存第一次有了统一的地址视角。
二、三个子协议
CXL.io:就是 PCIe 的那一套——设备枚举、配置空间、中断、DMA,负责"发现与管理"。CXL.cache:设备侧缓存主机内存的协议,一致性由主机维护,典型用于加速器接入。CXL.mem:主机直接访问设备端内存的协议,load/store 语义,典型用于内存扩展卡和内存池。三者可以按需组合,这也是下面设备分类的依据。
三、三类设备
Type 1:加速器类(如智能网卡、DPU),用 CXL.io 加 CXL.cache,自身不带可被主机访问的内存。Type 2:带片上内存的加速器(如配 HBM 的 AI 加速卡),三个协议都用,加速器内存既可被主机访问、也可缓存主机内存。Type 3:内存扩展与内存池设备,用 CXL.io 加 CXL.mem,对主机来说就是一段可直接访问的"远端内存"。分类依据来自公开规范,选型时先对号入座。
四、版本演进
CXL 1.1/2.0 基于 PCIe 5.0 物理层(32GT/s 量级速率,具体以规范文本为准),2.0 开始支持内存池化与交换;CXL 3.0 则引入 CXL 交换机、多级交换与端口聚合,节点组网规模大幅提升,并增强了内存共享等场景的支持。看版本时抓住一条主线:每一代都在把"可池化的内存 fabric"做大。
五、典型应用场景
一是内存池化与内存分解:把内存从服务器里抽出来做成资源池,按需分配给计算节点,提高利用率。二是容量扩展:大模型推理的 KV cache 这类容量敏感型负载,可以放到 CXL 内存扩展卡上,代价是延迟高于本地 DRAM,选型时要做性能评估。三是加速器紧耦合:通过 CXL.cache 减少显式数据搬运,简化异构编程模型。
六、落地前要确认的事
CXL 需要 CPU 平台、BIOS 与固件支持设备枚举和主机管理设备内存(HDM)的配置,不是插上就用。延迟特性介于本地 DRAM 与远端 NUMA 之间,延迟敏感型负载先做实测。生态仍在成长期:选型前确认平台厂商的支持清单,以及交换机、内存扩展卡的互操作验证情况,别只看单品参数。
一句话:CXL 把 PCIe 从"我连上你"升级为"我们共享内存",是数据中心架构向池化演进的关键一块拼图。

