CXL:为缓存一致性而生的新一代总线

原创 Linux阅码场 2022-02-21 08:00

本文由甄建勇翻译。甄建勇,高级架构师(某国际大厂),十年以上半导体从业经验。主要研究领域:CPU/GPU/NPU架构与微架构设计。感兴趣领域:经济学、心理学、哲学。 

2022 年服务器行业的最大亮点之一将是 Compute Express Link CXL。我们在 2019 年首次宣布 CXL时就有媒体开始报道它。该项目已经从英特尔内部项目发展成了一个广泛的行业联盟,并且是我们进入 2022 PCIe Gen5 时代时行业的发展方向。尽管如此,仍有许多人不太了解 CXL,因此我们将尝试先使用一个简单的视频来解释 CXL:酸橙(Limes)

视频版
由于我们将在未来几年内讨论 CXL,因此我们提供了此作品的视频版本,您可以在此处找到。https://youtu.be/Mp9L7OClb2U
 

什么是CXL?



Compute Express Link 是一种缓存一致性互联,旨在帮助系统(尤其是具有加速器的系统)更高效地运行。CXL位于 PCIe Gen5链路基础架构之上。可以有 PCIe Gen5 设备,但许多PCIe Gen5(或 PCIe 5.0设备也支持在PCIeCXL两种模式下运行。类似于 AMD EPYC(霄龙)CPU可以将其 I/O通道作为 PCIeInfinity Fabric 运行。这不是特定于某个供应商的实现,而是一个广泛的行业标准。CXL的主要优势是它允许不同终端上的内存直接支持Load/Store,这就是我们接下来要介绍的内容。


我们将在这里重点关注内存。内存是实现这一目标的关键驱动因素,因为超大规模生产商意识到,几乎每个设备都有板载内存,而内存成本很高,但利用率经常很低。在更高的层次上,CXL 是系统在多个设备之间有效共享和利用内存的工具。我们今天讨论的主要是服务器,但CXL也可以应用于服务器之外的领域。
 


为什么PCIe Gen3/Gen4 不使用CXL? 



首先是时间 CXL 从推出到 2019 年采用, 2021 年末和 2022 年初确实是我们希望看到的支持CXL的第一代芯片。
不过,另外一个关键的因素是 PCIe Gen5 的迅速普及。整个行业从PCIe Gen3过渡到 Gen4花了大约七年的时间。PCIe Gen5 普及发生在Gen4 之后大约 3 年。Gen5 PCIe Gen4带宽翻倍了。由于 CXL位于 PCIe Gen5 之上,所以我们通常会看到 32GT/s x16的控制器,但CXL 也可以支持x8 x4。在所谓的“降级”模式下,有一些模式可以进入 x2x1。重要的是,PCIe Gen5 x4 链路有足够的带宽来处理 100GbE 链路,因此可见低配下仍然有很大的带宽,类似于英特尔在2021 年第一季度用PCIe Gen3 x16作为高端互联的解决方案。
 


还有,额外的带宽意味着PCIe将有足够的能力来处理一类新的应用,特别是那些涉及远程内存加载/存储的场景,而前几代PCIe的处理速度不够快。

所以,总结来看,为什么CXL没有早点出来的原因有三。
  • 首先,我们需要 配合PCIe Gen5 的发展时间。


  • 其次,我们需要创建 CXL


  • 第三,行业采用需要时间。 

现在万事俱备,CXL 就是未来。


Compute Express Link 协议三部曲

CXL 使用三个主要协议:
 
  • CXL.io 是用于初始化、链接、侦测设备和枚举以及注册访问的协议。它为I/O 设备提供了一个非连贯的加载/存储接口,类似于 PCIe Gen5CXL 设备也必须支持 CXL.io


  • CXL.cache 是定义主机(通常是 CPU)和设备(例如CXL内存模块或加速器)之间交互的协议。这允许 CXL 设备以低延迟访问缓存在主机内存的数据。可以将其理解为为 GPU直接缓存数据在 CPU的内存中。


  • CXL.memory / CXL.mem 是为主机处理器(通常是 CPU)提供使用加载/存储命令直接访问设备内存的协议。将其理解 CPU可以直接使用 GPU或加速器上的内存。


CXL.io CXL中必需的,可以和 CXL.cacheCXL.mem 任意组合。比如 Type 1 (CXL.io + CXL.cache)Type 2(所有三个)和 Type 3 (CXL.io + CXL.mem)
 


CXL 1.0 和 1.1 用法

Type 1 可以将其视为直接访问主机CPU内存的加速器,比如NIC
Type 2 是我们有一个加速器的情况,比如有内存的 GPUGPU 可以访问主机内存,而主机 CPU 可以访问 GPU 内存。
可以将类型 3 视为一种内存模块,其主要目的是将 CXL 内存设备的内容暴露给主机 CPU
 
CXL 1.1 与 2.0

我们将在2022 年初看到大多数的设备将使用CXL 1.1。这些仍然主要是主机 CPU管理的, CXL只用于现有的系统中。CXL 2.0 是真正有意思的东西。使用 CXL2.0,我们可以进行 CXL 切换。CXL的 交换和池等机制,允许将多个主机和多个设备连接到一个交换机,然后设备既可以作为完整设备,又可以作为逻辑设备分配给不同的主机。从CXL 2.0开始我们将看到游戏规则的改变。

 


CXL 2.0交换池

除了 CXL 2.0 交换和池化机制之外,我们还为协议添加了额外的安全层。


CXL 2.0安全性
虽然 CXL 1.0/ 1.1 将是启动该计划的重要版本,但 CXL 2.0 是我们真正想要的。这主要是因为我们开始改变服务器架构和部署的方式。CXL 1.1 是必要的,并且有一些应用场景,尤其是加速器和 GPU。不过,CXL 2.0 ,我们希望拥有足够成熟的软件以永远改变服务器的设计方式。
 
接下来,我们将讨论一些示例,并使用我们的TacosLimes来帮助那些在幻灯片上难以想象出 CXL 用处的人。
 
三个 Compute Express Link (CXL) 示例……使用TacosLimes
那么让我们来看看TacosLimes用例,以及为什么这些用例很重要。这层次太高,也并不完美,但希望这有助于人们对一些高级概念有形象化的理解。
 


CXL 1.0 和 1.1 用法
在我们的示例中,Limes将代表Memory。主机部分将由RubioBlackened Mahi Mahi Tacos代表,加速器将由beverage(饮料)代表。
 


CXL TacoLime 示例:两个 Tacos盘的石灰苏打水
在我们的第一个示例中,也许我们在两个 Rubio 熏黑的Mahi Mahi Tacos上收到了一个Limes
 


CXL TacoLime 示例:两个 Tacos 一个 Lime 一个 Soda
这并不少见。大多数体验过卢比奥炸玉米饼的人都经历过一次“不足”的事件。事实上,即使是贴在商店橱窗上的广告也表明,一个酸橙配三个炸玉米饼可能会发生这种情况。

 
Rubios 商店橱窗广告 3 Tacos 1 Lime
这显示了配置内存(石灰)的资源效率低下。我们的第一个示例虽然讨论了一个可能的操作。也许今天不是酸橙炸玉米饼日,而是酸橙饮料日。在这里,我们可以从主机处理器(玉米饼)访问酸橙汁(内存)并将其用于我们的饮料。这就是 CXL.cache Type 1 设备示例背后的想法。
 


通过 CXL.cache Beverage 访问 CXL Lime
在我们的第二个示例中,我们的处理器(炸玉米饼)来自 Rubios,两个炸玉米饼只有一个酸橙。这是主机处理器内存不足的示例。我们可以利用中心的酸橙盘中的酸橙汁(CXL内存扩展模块)。这是 CXL.memType 3 设备的一个示例。

 
CXL Taco 和石灰示例板的石灰
理论上,尤其是当我们有交换和池化的 CXL 2.0 后,我们访问的内存不必是 DDR5。我们可以(理论上)使用英特尔傲腾、GDDR6X 或其他技术等SCMCXL设备。不同配置成本不同,应用也不同,但这就是CXL如此重要的原因。
 


CXL 玉米卷和酸橙玉米卷与柑橘品种 2
在这个用例中,我们可以拥有多种类型的内存,将它们附加到单个系统,然后访问整个内存设备,或者将设备的一部分用于不同的目的。CXL 2.0 具有热插拔功能。我们已经知道用于此用例的设备已经出现,所以我们认为热拔插将非常重要。它还允许比传统DIMM 外形尺寸更大容量更大的系统内存。
 
在我们的第三个示例中,让我们更疯狂一点,假设我们想在炸玉米饼(处理器)上使用我们饮料中的酸橙(加速器,如 GPU),并在我们的饮料中使用炸玉米饼中的一些酸橙汁。这是 Type-2 设备的示例。
 


CXL Taco Lime 示例 许多炸玉米饼 许多苏打水 柑橘品种
同样,事情开始变得真正有趣的地方是,比如说,我们想要 3D XPoint/英特尔傲腾持久内存或存储类内存 (SCM),而不是我们的标准 DDR5 内存。我们可以将 SCM媒体(柠檬)打包到看起来像我们用于酸橙的东西,现在可以使用柠檬而不是酸橙或柠檬和酸橙的混合物的 Type-3 设备。在 CXL 2.0世界中,GPUCPU不再需要各自的 SCM,而是都可以访问 SCM 甚至是其它连接的大型内存池。
 
虽然这不是一个完美的例子,但希望上面的照片有助于说明CXL的发展方向。就像在虚拟化中一样,GPU 访问主机系统或 Type-3连接设备内存的能力,意味着我们可以更有效地利用资源和系统设计。我们不需要具有与主机 CPU 分开的 Optane 内存的 GPU/AI 加速器。那将是成本高昂且不灵活的。CXL 为系统增加了这种灵活性。CXL 有助于控制成本,同时还增加了架构的灵活性,这类似于几年前虚拟化带来的好处。
 
加强版示例
 
供应很重要,有效的资源利用也很重要,但让我们更进一步,想象一下这将如何改变架构。尽管它们在当今的大规模部署中不太常见,但许多企业仍在使用硬件 RAID 控制器。
 


Broadcom 9500 RAID 控制器
这些通常使用一些关键组件和功能进行操作:
 
· 有一个 SoC 控制数据移动、奇偶校验计算、缓存和存储/检索。
· 板载 DRAM 用作写入缓存,通常用作小型读取缓存。
· 电池/电容器 FRU 允许写入缓存发生在板载 DRAM中,即使断电也能安全刷新。
· 用于板载 DRAM 的闪存存储,以在断电时刷新。
· 用于管理磁盘的存储控制器。
· SSD 用于主存储或作为连接到 RAID控制器的缓存设备进行管理。
· 通常,这些 SSD 在每个设备上都有自己的断电保护写入缓存。
现在,想象一下未来会怎样。DRAM-less NAND SSD 和硬盘驱动器在更高级别进行管理。这可以为每个 SSD移除几 GBNAND。我们可以使用基于 CXLSCM(例如 Optane Persistent Memory)并直接写入该设备,而不是 NAND SSDRAID控制器上的断电保护以及闪存写入断电刷新事件数据作为系统的写缓存。然后,诸如 DPU 之类的协处理器可以管理将缓存从 SCM 写入本地或网络存储的刷新。RAID 卡上的缓存不是几 GB 可能是 1TB 的主机内存(尽管这基本上不需要,因为我们有 CXL)或CXL DDR5,可以由主机处理器直接访问,而不是通过 RAID控制器。
 
这种应用场景给我们的启发是,如何用服务器中更高性能的本地资源替换传统存储阵列并使用横向扩展存储?这对行业来说绝对是变革性的,这只是我们听到的几家公司正在努力的一个例子。通常,这些应用场景包含更大、更多样化的内存池和 GPU/AI 等加速器,所以我给了一些不同的示例来说明为什么CXL 可以轻松应付这些个不同的场景。
 

最后的话 


CXL 的关键在于,随着 CXL的普遍采用,服务器架构的严格限制将开始消失。这非常重要,因为随着服务器不断扩大,这意味着资源得到了更有效的利用。几年后,我们回顾今天的服务器,就会认为它们是一种传统的运营模式,就像我们为虚拟化之后的许多应用程序(以及后来的容器)所做的专用服务器一样。多年以来,这些东西已经被讨论过很多次,但我们实际上是在Astera Labs Aries CXL Retimers之外的产品中实施不到一年。
 


CXL Taco Lime示例 许多炸玉米饼 许多苏打水 柑橘品种
希望本指南可以帮助您了解 CXL 是什么以及它通常要完成的工作。CXL在技术深度方面还有很多,但我们想确保我们的读者先有一个基本的理解。TacosLime并不完美,但多年来我们一直在研究相同的图表,但仍有人不知道 CXL 的影响。我们谈论的是PCIe Gen5时代早期的CXL,但我们也有有一个到PCIe Gen6 及以后的路线图。我们已经讨论了一些关于此模型如何扩展到诸如 Gen-Z 之类的结构,以使用某种类似的解决方案实现更大规模部署。
 
当然,我们将来会有更多关于 CXL 的内容,但我们想先给大家说一下CXL 是啥以及其他一些关于CXL的初级内容。


Linux阅码场 专业的Linux技术社区和Linux操作系统学习平台,内容涉及Linux内核,Linux内存管理,Linux进程管理,Linux文件系统和IO,Linux性能调优,Linux设备驱动以及Linux虚拟化和云计算等各方各面.
评论
  • PNT、GNSS、GPS均是卫星定位和导航相关领域中的常见缩写词,他们经常会被用到,且在很多情况下会被等同使用或替换使用。我们会把定位导航功能测试叫做PNT性能测试,也会叫做GNSS性能测试。我们会把定位导航终端叫做GNSS模块,也会叫做GPS模块。但是实际上他们之间是有一些重要的区别。伴随着技术发展与越发深入,我们有必要对这三个词汇做以清晰的区分。一、什么是GPS?GPS是Global Positioning System(全球定位系统)的缩写,它是美国建立的全球卫星定位导航系统,是GNSS概
    德思特测试测量 2025-01-13 15:42 412浏览
  • 随着全球向绿色能源转型的加速,对高效、可靠和环保元件的需求从未如此强烈。在这种背景下,国产固态继电器(SSR)在实现太阳能逆变器、风力涡轮机和储能系统等关键技术方面发挥着关键作用。本文探讨了绿色能源系统背景下中国固态继电器行业的前景,并强调了2025年的前景。 1.对绿色能源解决方案日益增长的需求绿色能源系统依靠先进的电源管理技术来最大限度地提高效率并最大限度地减少损失。固态继电器以其耐用性、快速开关速度和抗机械磨损而闻名,正日益成为传统机电继电器的首选。可再生能源(尤其是太阳能和风能
    克里雅半导体科技 2025-01-10 16:18 314浏览
  • 随着数字化的不断推进,LED显示屏行业对4K、8K等超高清画质的需求日益提升。与此同时,Mini及Micro LED技术的日益成熟,推动了间距小于1.2 Pitch的Mini、Micro LED显示屏的快速发展。这类显示屏不仅画质卓越,而且尺寸适中,通常在110至1000英寸之间,非常适合应用于电影院、监控中心、大型会议、以及电影拍摄等多种室内场景。鉴于室内LED显示屏与用户距离较近,因此对于噪音控制、体积小型化、冗余备份能力及电气安全性的要求尤为严格。为满足这一市场需求,开关电源技术推出了专为
    晶台光耦 2025-01-13 10:42 436浏览
  • 电动汽车(EV)正在改变交通运输,为传统内燃机提供更清洁、更高效的替代方案。这种转变的核心是电力电子和能源管理方面的创新,而光耦合器在其中发挥着关键作用。这些不起眼的组件可实现可靠的通信、增强安全性并优化电动汽车系统的性能,使其成为正在进行的革命中不可或缺的一部分。光耦合器,也称为光隔离器,是一种使用光传输电信号的设备。通过隔离高压和低压电路,光耦合器可确保安全性、减少干扰并保持信号完整性。这些特性对于电动汽车至关重要,因为精确控制和安全性至关重要。 光耦合器在电动汽车中的作用1.电池
    腾恩科技-彭工 2025-01-10 16:14 65浏览
  • 流量传感器是实现对燃气、废气、生活用水、污水、冷却液、石油等各种流体流量精准计量的关键手段。但随着工业自动化、数字化、智能化与低碳化进程的不断加速,采用传统机械式检测方式的流量传感器已不能满足当代流体计量行业对于测量精度、测量范围、使用寿命与维护成本等方面的精细需求。流量传感器的应用场景(部分)超声波流量传感器,是一种利用超声波技术测量流体流量的新型传感器,其主要通过发射超声波信号并接收反射回来的信号,根据超声波在流体中传播的时间、幅度或相位变化等参数,间接计算流体的流量,具有非侵入式测量、高精
    华普微HOPERF 2025-01-13 14:18 419浏览
  • 说到福特,就要从亨利·福特(Henry Ford)这个人物说起。在发明大王爱迪生的电气工厂担任工程师的福特下班后,总是在自家仓库里努力研究和开发汽车。1896年,福特终于成功制造出一辆三轮车,开启了福特汽车的传奇。最初几年,福特都是独自制造汽车并同时进行销售。 (今天很多人都知道的精益管理中的5S方法,或多或少地受到了福特 CANDO方法的影响。)1903年,福特从牧师、律师、银行家、会计师等十一位股东那里筹集了十万美元,并在自家庭院成立了美国第五百零三家汽车公司——福特汽车公司(Fo
    优思学院 2025-01-10 11:21 38浏览
  • 在不断发展的电子元件领域,继电器——作为切换电路的关键设备,正在经历前所未有的技术变革。固态继电器(SSR)和机械继电器之间的争论由来已久。然而,从未来发展的角度来看,固态继电器正逐渐占据上风。本文将从耐用性、速度和能效三个方面,全面剖析固态继电器为何更具优势,并探讨其在行业中的应用与发展趋势。1. 耐用性:经久耐用的设计机械继电器:机械继电器依靠物理触点完成电路切换。然而,随着时间的推移,这些触点因电弧、氧化和材料老化而逐渐磨损,导致其使用寿命有限。因此,它们更适合低频或对切换耐久性要求不高的
    腾恩科技-彭工 2025-01-10 16:15 82浏览
  • 随着通信技术的迅速发展,现代通信设备需要更高效、可靠且紧凑的解决方案来应对日益复杂的系统。中国自主研发和制造的国产接口芯片,正逐渐成为通信设备(从5G基站到工业通信模块)中的重要基石。这些芯片凭借卓越性能、成本效益及灵活性,满足了现代通信基础设施的多样化需求。 1. 接口芯片在通信设备中的关键作用接口芯片作为数据交互的桥梁,是通信设备中不可或缺的核心组件。它们在设备内的各种子系统之间实现无缝数据传输,支持高速数据交换、协议转换和信号调节等功能。无论是5G基站中的数据处理,还是物联网网关
    克里雅半导体科技 2025-01-10 16:20 410浏览
  • 根据Global Info Research(环洋市场咨询)项目团队最新调研,预计2030年全球无人机电池和电源产值达到2834百万美元,2024-2030年期间年复合增长率CAGR为10.1%。 无人机电池是为无人机提供动力并使其飞行的关键。无人机使用的电池类型因无人机的大小和型号而异。一些常见的无人机电池类型包括锂聚合物(LiPo)电池、锂离子电池和镍氢(NiMH)电池。锂聚合物电池是最常用的无人机电池类型,因为其能量密度高、设计轻巧。这些电池以输出功率大、飞行时间长而著称。不过,它们需要
    GIRtina 2025-01-13 10:49 127浏览
  • ARMv8-A是ARM公司为满足新需求而重新设计的一个架构,是近20年来ARM架构变动最大的一次。以下是对ARMv8-A的详细介绍: 1. 背景介绍    ARM公司最初并未涉足PC市场,其产品主要针对功耗敏感的移动设备。     随着技术的发展和市场需求的变化,ARM开始扩展到企业设备、服务器等领域,这要求其架构能够支持更大的内存和更复杂的计算任务。 2. 架构特点    ARMv8-A引入了Execution State(执行状
    丙丁先生 2025-01-12 10:30 408浏览
  • Snyk 是一家为开发人员提供安全平台的公司,致力于协助他们构建安全的应用程序,并为安全团队提供应对数字世界挑战的工具。以下为 Snyk 如何通过 CircleCI 实现其“交付”使命的案例分析。一、Snyk 的挑战随着客户对安全工具需求的不断增长,Snyk 的开发团队面临多重挑战:加速交付的需求:Snyk 的核心目标是为开发者提供更快、更可靠的安全解决方案,但他们的现有 CI/CD 工具(TravisCI)运行缓慢,无法满足快速开发和部署的要求。扩展能力不足:随着团队规模和代码库的不断扩大,S
    艾体宝IT 2025-01-10 15:52 155浏览
  • 新年伊始,又到了对去年做总结,对今年做展望的时刻 不知道你在2024年初立的Flag都实现了吗? 2025年对自己又有什么新的期待呢? 2024年注定是不平凡的一年, 一年里我测评了50余块开发板, 写出了很多科普文章, 从一个小小的工作室成长为科工公司。 展望2025年, 中国香河英茂科工, 会继续深耕于,具身机器人、飞行器、物联网等方面的研发, 我觉得,要向未来学习未来, 未来是什么? 是掌握在孩子们生活中的发现,和精历, 把最好的技术带给孩子,
    丙丁先生 2025-01-11 11:35 410浏览
  • 01. 什么是过程能力分析?过程能力研究利用生产过程中初始一批产品的数据,预测制造过程是否能够稳定地生产符合规格的产品。可以把它想象成一种预测。通过历史数据的分析,推断未来是否可以依赖该工艺持续生产高质量产品。客户可能会要求将过程能力研究作为生产件批准程序 (PPAP) 的一部分。这是为了确保制造过程能够持续稳定地生产合格的产品。02. 基本概念在定义制造过程时,目标是确保生产的零件符合上下规格限 (USL 和 LSL)。过程能力衡量制造过程能多大程度上稳定地生产符合规格的产品。核心概念很简单:
    优思学院 2025-01-12 15:43 450浏览
  •   在信号处理过程中,由于信号的时域截断会导致频谱扩展泄露现象。那么导致频谱泄露发生的根本原因是什么?又该采取什么样的改善方法。本文以ADC性能指标的测试场景为例,探讨了对ADC的输出结果进行非周期截断所带来的影响及问题总结。 两个点   为了更好的分析或处理信号,实际应用时需要从频域而非时域的角度观察原信号。但物理意义上只能直接获取信号的时域信息,为了得到信号的频域信息需要利用傅里叶变换这个工具计算出原信号的频谱函数。但对于计算机来说实现这种计算需要面对两个问题: 1.
    TIAN301 2025-01-14 14:15 43浏览
  • LVGL(Light and Versatile Graphics Library)是一个免费的开源图形库,旨在为各种微控制器(MCU)和微处理器(MPU)创建美观的用户界面(UI)。LVGL可以在占用很少资源的前提下,实现丝滑的动画效果和平滑滚动的高级图形,具有轻量化、跨平台可用性、易于移植、操作友好以及免费使用等诸多优势。近期,飞凌嵌入式为OK3506J-S开发板移植了最新9.2版本的LVGL,支持多种屏幕构件以及鼠标、键盘、触摸等多种输入方式, 能够带来更加友好的操作界面;同时,启动速度也
    飞凌嵌入式 2025-01-10 10:57 39浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦