来源:内容由半导体行业观察(ID:icbank)编译自semianalysis,谢谢。

据semianalysis报道,随着每一家主要的半导体和数据中心公司都加入该标准、第一代设备的发布日期临近,Compute Express Link (CXL) 的吸引力正在达到临界点。第 3 代的 Compute Express Link (CXL) 规范刚刚发布,通过这个新标准,他们将先前版本中缺少的功能进行了一些重大更改。
过去,数据中心芯片主要是聚焦在构建更好的 CPU 内核和更快的内存。十年前的服务器大多看起来与今天的服务器相同。但在过去十年中,随着横向扩展和云计算的出现,这场战斗发生了变化。最快的核心不是优先级。产业关注的重点放在了如何经济高效地提供总体计算性能并将其连接在一起。
这些趋势都指向计算资源专业化的趋势。收益递减定律的最终示例之一是——在通用 CPU 性能上花费的每个增量晶体管都会带来越来越少的性能。这让异构计算占领了数据中心的主导地位,因为专用 ASIC 可以在使用更少晶体管的特定任务中提供超过10 倍的性能。
为每个工作负载设计具有精确计算资源的特定芯片非常昂贵。因为光掩模设置成本、验证和确认,设计芯片的固定成本正在飙升。所以,与其为整个工作负载设计芯片,不如为计算类别设计芯片并将它们连接到特定工作负载所需的任何配置中,这将更具成本效益。
Gordon Moore 博士在预测“摩尔定律”的原始论文“将更多组件塞入集成电路” 中曾表示:“用较小的功能构建大型系统可能会更经济,这些功能分别封装和互连。大功能的可用性与功能设计和构造相结合,应该允许大型系统的制造商快速且经济地设计和构造相当多的设备。”因此随着变化,系统构建方式的变化将计算单元从单个芯片或服务器转移到整个数据中心。
英伟达创始人黄仁勋也曾经指出,数据中心是新的计算单元。这就推动了数据中心发生新变化。
在过去,服务器内的芯片连接通常使用 PCI Express 完成,其最大的缺点是这个标准缺乏缓存一致性和内存一致性。这两个概念的非技术类比是,如果您考虑像邮局这样的服务器。信件是异步的,通常是在新信息使包含原始信息的信件过时之后的几天。连贯性有助于管理和平衡这一点。
使用 PCI Express,从性能和软件的角度来看,不同设备之间通信的开销相对较高。此外,连接多个服务器通常意味着使用以太网或 InfiniBand。这些通信方法共享所有相同的问题——具有更差的延迟和更低的带宽。
2018 年,IBM 和 Nvidia 将 NVLink 的 PCI Express 缺陷解决方案引入了当时世界上最快的超级计算机Summit。AMD 在Frontier 超级计算机中拥有类似的专有解决方案,称为 Infinity Fabric。没有任何行业生态系统可以围绕这些专有协议发展。CCIX 在 2010 年代中期成为潜在的行业标准,但它从未真正起飞,因为尽管得到了 AMD、Xilinx、华为、Arm 和 Ampere Computing 的支持,它还缺乏关键的行业支持。
英特尔拥有超过 90% 的 CPU 市场份额,因此如果没有他们的支持,任何解决方案都不会成功。英特尔正在制定自己的标准,并于 2019 年将其专有规范作为 Compute Express Link (CXL) 1.0 捐赠给了新成立的 CXL 联盟。该标准得到了半导体行业大多数最大买家的同时支持。CXL 通过使用其物理层和电气层来搭载 PCIe 5.0 的现有生态系统,但使用改进的协议层,为加载存储内存事务增加一致性和低延迟模式。
由于建立了行业中大多数主要参与者都支持的行业标准协议,CXL 使向异构计算的过渡成为可能。现在业界有一个标准的互连来将这些不同的芯片连接在一起。
AMD 的 Genoa 和 Intel 的 Sapphire Rapids 将在 2022 年末/2023 年初支持 CXL 1.1。CXL 1.1 附带 3 个支持buckets,CXL.io、CXL.cache 和 CXL.mem。CXL.io 可以被认为是标准 PCIe 的一个类似但改进的版本;CXL.cache 允许 CXL 设备连贯地访问和缓存主机 CPU 的内存;CXL.mem 允许主机 CPU 连贯地访问设备的内存。大多数的 CXL 设备也将使用 CXL.io、CXL.cache 和 CXL.mem 的组合。
CXL.io 是用于初始化、链接、设备发现和枚举以及注册访问的协议。它为 I/O 设备提供接口,类似于 PCIe Gen5,CXL 设备也必须支持 CXL.io。
  • CXL.cache 是定义主机(通常是 CPU)和设备(例如 CXL 内存模块或加速器)之间交互的协议。由于安全使用其本地副本,这允许连接的 CXL 设备以低延迟缓存主机内存. 把这想象成一个 GPU 直接从 CPU 的内存中缓存数据。
  • · CXL.memory / CXL.mem 是为主机处理器(通常是CPU)提供使用加载/存储命令直接访问设备附加内存的协议。将此视为 CPU 使用专用存储级内存设备或使用 GPU/加速器设备上的内存。
到目前为止,我们主要讨论的是异构计算,但 CXL 的真正关键在于内存。
数据中心存在大量内存问题。
自 2012 年以来,芯片的核心数量迅速增长,但每个核心的内存带宽和容量并未相应增加。自 2012 年以来,每个内核的内存带宽有所下降,并且这种趋势将在未来继续。此外,直连 DRAM 和 SSD 在延迟和成本方面存在巨大差距。最后,昂贵的内存资源往往利用率很低,这是一个杀手锏。低利用率对于任何资本密集型行业来说都是一个很大的拖累,而数据中心业务是全球资本最密集的行业之一。
微软表示,50% 的服务器总成本仅来自 DRAM。尽管 DRAM 成本高昂,但高达25% 的 DRAM 内存被搁置!简单来说,微软 Azure 总服务器成本的 12.5% 是没有用到的。
想象一下,如果此内存可以改为存在于连接的网络上,并跨多个 CPU 和服务器动态分配给虚拟机,而不是坐在每个 CPU 上。内存带宽可以根据工作负载的需求增长和缩小,这将大大提高利用率。
这个概念不仅限于内存,还包括所有形式的计算和网络。可组合的服务器架构是指服务器被分解成不同的组件并放置在组中,这些资源可以动态地分配给工作负载。
数据中心机架成为计算单元,客户可以为其特定任务选择任意数量的内核、内存和 AI 处理性能。或者更好的是,谷歌、微软、亚马逊等云服务提供商可以根据他们正在运行的工作负载类型任意向他们的客户分配资源,并仅根据他们使用的内容向客户收费。
这一愿景是服务器设计和云计算的“圣杯”。有许多与此相关的复杂工程问题;许多集中在构建网络以连接所有内容的延迟和成本上。这些必须严格检查,但协议必须放在第一位,这就是 CXL 2.0 和 3.0 带来的。
CXL 2.0 的主要特性是支持内存池和切换。CXL 交换机可以连接多个主机和设备,从而使连接在 CXL 网络上的设备数量显着增长。新的多逻辑设备功能允许众多主机和设备全部链接并相互通信,而无需遵循历史上规定的主从关系。资源网络将由结构管理器进行编排,结构管理器是用于控制和管理该系统的标准 API。细粒度的资源分配、热插拔和动态扩容允许硬件在各个主机之间动态分配和转移,无需任何重启。
一张图片胜过一千个字,所以让我们讨论一下上面的图片。
多台主机可以连接到交换机,然后将交换机连接到各种设备,SLD(单个逻辑设备)或 MLD(多个逻辑设备)。MLD 旨在耦合到多个主机以进行内存池。
MLD 显示为多个 SLD。这允许他们在主机之间汇集内存,甚至汇集加速器计算资源。FM(结构管理器)位于控制平面中。它是协调器,分配内存和设备。结构管理器可以位于单独的芯片上或交换机中;它不需要高性能,因为它从不接触数据平面。如果该 CXL 设备是multi-headed的,并连接到多个主机的根端口,则这也可以在没有交换机的情况下实现。
将所有这些结合在一起,微软展示了通过池化 DRAM 将部署的 DRAM 减少 10% 并节省 5% 的总服务器成本的潜力。这是在没有使用第一代 CXL 解决方案上实现的。
CXL 3.0 带来了更多改进,有助于扩展创建异构可组合服务器架构的能力。主要关注点是将 CXL 从服务器规模扩展到机架规模。这是通过从主机设备模型转变为使 CPU 成为网络上的另一个设备来实现的。
CXL开关现在可以支持一系列拓扑。以前在 CXL 2.0 中,只能使用 CXL.mem 设备进行扇出。一个机架或多个服务器机架现在可以通过叶和主干或所有拓扑联网。CXL 3.0 的设备/主机/交换机/交换机端口的理论限制为 4,096。这些变化极大地扩大了 CXL 网络的潜在规模,从几台服务器扩展到了许多服务器机架。
此外,所有类型的多个设备都可以位于来自主机的 CXL 的单个根端口上。这以前是一个主要限制,因为单个根端口只能寻址单个设备类型。如果主机连接到具有单个 CXL 根端口的交换机,则该主机只能访问位于交换机外的一种类型的设备。
CXL 3.0 中最重要的变化是内存共享和设备到设备的通信。主机 CPU 和设备现在可以在相同的数据集上协同工作,而无需不必要地打乱和复制数据。一个例子是常见的 AI 工作负载,例如 Google 和 Meta 等巨头采用的数十亿参数的深度学习推荐系统。相同的模型数据在许多服务器上重复。用户的请求进来,推理操作开始运行。如果存在 CXL 3.0 内存共享,则大型 AI 模型可以存在于几个中央内存设备中,并且有许多其他设备可以访问它。该模型可以使用实时用户数据不断进行训练,并且可以跨 CXL 交换网络推送更新。这可以将 DRAM 成本降低一个数量级并提高性能。
内存共享提高性能和经济性其那里几乎是无限的。第一代内存池可以将总 DRAM 需求降低 10%。较低延迟的内存池可以使多租户云中的节省达到约 23%。内存共享可以将 DRAM 需求降低 35% 以上。这些节省意味着每年在数据中心 DRAM 上的花费可以节省数十亿美元。
★ 点击文末【阅读原文】,可查看本文原文链接!
*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。
今天是《半导体行业观察》为您分享的第3133内容,欢迎关注。
推荐阅读
半导体行业观察
半导体第一垂直媒体
实时 专业 原创 深度

识别二维码,回复下方关键词,阅读更多
晶圆|集成电路|设备|汽车芯片|存储|台积电|AI|封装
回复 投稿,看《如何成为“半导体行业观察”的一员 》
回复 搜索,还能轻松找到其他你感兴趣的文章!
点击阅读原文,可查看本文
原文链接!
继续阅读
阅读原文