0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

推出CXL,Intel是为了什么?聊聊数据中心另一个新技术CXL

Linux阅码场 来源:了不起的云计算 2023-08-11 09:59 次阅读

今天,我们来聊聊数据中心另一个新技术CXL。

在过去几十年中,CPU一直是计算系统中的绝对核心,甚至连存储、网络等子系统的能力都是CPU说了算。

比如,一个CPU能够支持多大的内存,CPU都是有严格要求的。甚至同样一颗CPU,只是支持不同的内容,都能卖两个价格。

而且更要命的是,随着大内存等应用场景需求大增,想要扩展内存容量,你只能通过买CPU的方式才能扩展内存容量,想要在内存上做点"手脚"那是被限制的死死的。

但人算不如天算,在Intel按部就班的挤牙膏的时候,没想到大数据AI、视觉渲染、基因分析以及EDR仿真等需求的突然爆发,给了NVIDIA 的GPU带了巨大增长空间。

眼看着GPU越卖越多,NVIDIA的市值甚至远远超过了Intel,于是英特尔"挥刀自宫",让充满黑科技意味的傲腾业务和3D Xpoint走向终结,取而代之的是开始向CXL架构发展。

▉推出CXL ,Intel是为了什么?

上文中提到,在当前的系统架构中,内存子系统面临诸多挑战。

如下面左图所示,CPU技术的发展使得核心数量实现了比较快的增长,内存通道数增速却相对较慢。但从发展趋势来看,每个CPU核心所拥有的内存通道反而是在下降。

6b939e00-3777-11ee-9e74-dac502259ad0.png

这会带来很多问题,很多CPU核心因为不能充分得到数据来处于满负荷的运行状态,会导致整体计算效率下降。

是可忍孰不可忍,这么明显的问题为何Intel在增加核心的时候也增加内存通道呢?

其实并不是英特尔不想,而是牵扯到了多方面原因。首先在CPU设计方面,内存控制器是在CPU里的,如果增加内存通道,则意味着会增加CPU的功耗,芯片面积也会变大,PCB走线距离增加,为了保证信号的完整性,对于PCB本身也提出更高要求,所以,如果增加内存通道,CPU的成本和功耗都会增长。

另外,从服务器整机的层面来看,在主板上增加内存DIMM槽,插上更多的内存后,整机的成本也会不可避免地增长,即使内存成本降低,也不会无限度的降低下去,最终会导致整体成本的上升。所以,不能随意的无限度地通过增加内存通道来解决问题。

既然增加内存通道这条路走不通,那有没有其他方式可以解决内存互联网问题呢?

这个答案当然是肯定的,为了解决内存子系统的问题,几种不同的传输和内存语义协议逐渐出现--IBM的OpenCAPI内存接口协议、Xilinx的CCIX协议、NVIDIA的NVLink协议、惠普企业版的Gen-Z协议,都是为了解决内存池化方面的问题。

虽然这几种协议方式与后来的CXL协议其实类似。但这些明显挖英特尔"墙角"的方式并没有得到Intel的积极响应。店大何止欺客,店大甚至可以决定产品的走向。

但眼看着GPU卖的越来越多,Intel有点坐不住了,于是在2019年3月份Intel推出了CXL(Compute Express Link)协议接口,其与CAPI酷似,也是将CXL协议封装到PCIE链路层数据包中传送,并在CPU端的PCIE总控后端按照事务标识分流CXL专属事务给CXL处理逻辑处理。

为何Intel突然会突然妥协,让出这部分利益,推出CXL协议呢?借用DOIT朱朋博老师的一句话:搁置争议,共同开发。

商人总是寻求利益最大化,既然大内存需求趋势已经来袭,堵不如疏,不如把GPU、DPU等用作一把刀,来与NVIDIA形成某种制衡,当然,如今的NVIDIA也加入了CXL联盟,但是所谓"此路是我开,要在此路过,留下买路财"。反正我建了通往内存的"高速路",你GPU怎么走都得听我的。

通过这种方式,也能进一步制衡GPU的发展,一如文章开头Intel对内存的制约,想支持几个GPU,还得通过我的CPU说了算。值得注意的是,第四代英特尔至强可扩展处理器每一颗处理器支持最多4个CXL设备,支持CXL Type1和CXL Type2。)

▉CXL协议具体能干啥?

从2019年发布CXL 1.0/1.1,到2020年11月发布CXL2.0,如今Intel已经发布了CXL 3.0,它的功能一直在发生着变化。

首先我们来看下CXL是什么?CXL要如何解决问题呢?

如今,CXL有CXL.io、CXL.memory和CXL.cache三个协议:

6baf837c-3777-11ee-9e74-dac502259ad0.png

其中,CXL.io就是原来的PCIe,在CXL的建立连接、设备发现、配置等过程中发挥重要作用,连接建立后,CXL.cache协议负责做cache一致性的工作,CXL.cache和CXL.memory配合起来用来做内存扩展。

CXL.cache和CXL.memory对于latency的要求会比较高,尤其CXL.cache对延迟要求非常高,因为这关系到计算的效率。

在CXL1.0和1.1规范定义了三种Device:

6be4c8e8-3777-11ee-9e74-dac502259ad0.png

Type1Device主要的应用场景是高性能计算里的网卡(PGAS NIC),它支持一些网卡的原子操作,主要利用的协议就是CXL.io和CXL.cache。

Type2Device主要指的是带有内存的加速器,包括GPU、FPGA等加速器,它使用的协议包括用来做链接的CXL.io,做cache一致性的CXL.cache,用来做内存扩展的CXL.memory。

Type3Device主要用作内存的Buffer,做内存的扩展。它主要利用CXL.io和CXL.memory的协议。如图所示,CPU除了可以用本地的DDR内存,还可以通过CXL去扩展远端内存,远端内存可以是一个大的内存池,这里的内存可以共享给不同的CPU来用。

CXL2.0规范实现了机架级别的资源池化。

6c0373e2-3777-11ee-9e74-dac502259ad0.png

云计算强调资源可以像水和电一样按需获取,云计算的技术潮流下,追求不同资源之间的松耦合,为的是提高使用效率,为了提高使用效率,要实现的是相同资源的池化。

随着技术的发展,未来的服务器不再是传统意义上的服务器,它不再具有现实的形态,用户从云服务商那里申请云主机的时候,主机的CPU是从CPU池里拿出来的,内存是从内存池里拿出来的,CPU池和内存池通过CXL连起来的。

使用从资源池里拿出来资源组成逻辑上的服务器,这就是资源解耦和资源池化在未来能带来的变化。

CXL2.0规范在资源池化方面有所强化,同时,也还增加了CXL switch功能,它可以在一个机架内通过一套CXL交换机构建成一个网络。

2022年,新发布的CXL 3.0规范又新增很多特性。

6c3352b0-3777-11ee-9e74-dac502259ad0.png

首先,CXL 3.0 PCIe 6.0规范,它的速率从32GT提升到了64GT,在相同的链路时,带宽翻倍。并且,Latency也没有任何变化。

第二,CXL 3.0新增了对二层交换机的支持,也就是Leaf spine网络架构,如此便可以更好地对资源进行解耦和池化,做更多的资源池,比如CPU资源池、内存资源池、网卡资源池和加速器资源池等,Leaf与Spine之间通过Fabric manager软件构建各种拓扑和各种路由方式。

6c5ed624-3777-11ee-9e74-dac502259ad0.png

CXL 3.0不但可以更好地在一个机柜内实现计算资源和存储资源的池化和解耦,而且,可以在多个机柜之间建立更大的资源池,如此一来,对于云计算服务商的资源管理效率和成本优化都会带来很大帮助。

▉CXL的未来发展方向?

说了那么多CXL的优势和好处,那么CXL的未来发展方向如何呢?

首先,CXL可以用来扩展内存的容量和带宽,这是非常重要的一个方面。在使用服务器本地内存的同时,还可以通过CXL利用远端内存,远端内存的成本和价格相对更低,而且,它能让CPU和内存之间的配比变得更灵活。

进一步发展之后,未来完全可以取消近端本地内存,全部都使用远端内存,这有赖于摩尔定律的作用,让计算芯片和存储芯片都有更进一步的发展。

与此同时,CPU上会有比DRAM更高速的内存,比如可能会把HBM与处理器封装到一个die里,使得CPU有更多的高速内存。

6c846e52-3777-11ee-9e74-dac502259ad0.png

另外,还有一个趋势在于远端内存的持久化。目前,英特尔就有傲腾持久内存,但因为一些原因,英特尔宣布不再继续研发了,不过,业界还有很多替代方案,比如NVDIMM,配合CXL将这些持久内存作为远端内存,还能够提供多种实用功能。

6ca16af2-3777-11ee-9e74-dac502259ad0.png

除此之外,还能利用CXL技术实现Computational Storage,通过CXL利用内存资源,在存储上做一些压缩或者解压缩的操作,类似可以在远端实现的功能还有很多。

CXL带来的改变从单节点开始,扩展到机架规模,而后是Tor级别,最终会影响到数据中心级别,CXL将要重构未来的数据中心。

6ccb4dea-3777-11ee-9e74-dac502259ad0.png

数据中心利用CXL做解耦和池化,CXL技术能够让不同的资源从紧耦合变成松耦合,让相同的资源变成池化资源,会形成CPU资源池、GPU资源池以及内存资源池,各个资源池通过CXL连接。

在未来发展中,随着CXL技术的逐步落地,IPU承担的任务也会越来越多,既作为CXL的端点,又作为以太网的端点,会有很多功能和负载卸载到IPU上,架构上会有很多变化,将会有很多新的创新。

比如把存储offload到IPU上,未来还有一些块存储或者其他内存相关服务也都可以用IPU来承载,通过CXL连接到相应的资源池上,总之,未来有非常多的想象空间。

6cf36e88-3777-11ee-9e74-dac502259ad0.png

最后,不得不说的是,未来的发展方向中,最终就要实现彻底的解耦和池化,过程是逐步从Rack级别,提升到资源池的级别,甚至是数据中心级别,而这些池化资源之间的共享就靠CXL和UCIe来实现。CXL重构数据中心,并不遥远!






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7377

    浏览量

    163151
  • 加速器
    +关注

    关注

    2

    文章

    787

    浏览量

    37213
  • NVIDIA技术
    +关注

    关注

    0

    文章

    17

    浏览量

    6249
  • PCB设计
    +关注

    关注

    394

    文章

    4651

    浏览量

    84661
  • FPGA开发板
    +关注

    关注

    10

    文章

    120

    浏览量

    31435

原文标题:一文详解:为什么说CXL能重构数据中心?

文章出处:【微信号:LinuxDev,微信公众号:Linux阅码场】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是CXL文了解高速互联技术CXL

    Compute Express Link(CXL)作为种先进的互连技术,在当今高性能计算领域引起了广泛关注
    的头像 发表于 11-29 15:26 5254次阅读
    什么是<b class='flag-5'>CXL</b>?<b class='flag-5'>一</b>文了解高速互联<b class='flag-5'>技术</b><b class='flag-5'>CXL</b>

    CXL协议

    与其说是两种技术对比,不如说是ARM和Intel两大阵营的对抗。Intel具有定的技术优势(至少在PCIe上);但是ARM如日中天,客户群
    发表于 09-09 15:03

    文解析CXL系统架构

    不需要CXL提供的高级功能,而传统PCIe足以作为加速器连接介质。  插播句,生产者-消费者模型是种为了加快系统响应数据的异步模型,系统中
    发表于 09-14 14:24

    CXL事务层的结构是由哪些部分组成的

    另一个是主机给了设备1信用值。之后,设备也给主机发送了消息IP2PM. CREDIT_RTN(Num_Credits=2),授权了主机2
    发表于 10-08 15:21

    CXL内存协议介绍

    CXL.mem从设备(Subordinate)。主设备负责向从设备发起读写请求,从设备负责响应主设备的读写请求。当从设备是加速器时,CXL.mem协议认为设备内部也有
    发表于 11-01 15:08

    文详解CXL链路层格式的定义

    4.1 CXL.io链路层CXL.io链路层充当CXL.io事务层和Flex Bus物理层之间的中间层。其主要职责是提供可靠的机制,用于在链路上的两组件之间交换事务层
    发表于 02-21 14:27

    Intel宣布联合多家厂商推出全新互联协议 并发布CXL1.0规范

    处理器大厂英特尔(Intel)宣布联合多家厂商,推出了针对资料中心、高效能计算、AI 等领域的全新的互联协议 Compute EXpress Link(
    的头像 发表于 03-13 17:03 2928次阅读

    Astera Labs推出业界首个 CXL™ 2.0 Memory Accelerator SoC Platform

    Leo CXL™ Memory Accelerator 技术引领新代服务器分层内存,解决了数据中心和云端的内存容量和带宽瓶颈。
    发表于 11-23 14:39 1769次阅读

    Cadence推出新一CXL VIP和系统VIP工具

    的验证 IP(VIP)和系统级 VIP(系统 VIP),以加速新技术的采用。Cadence CXL 3.0 VIP与 Cadence PCI Express(PCIe)6.0 VIP 集成,提供了从 IP 到系统级芯片(SoC)的完整解决方案,助力用户成功设计高性能
    的头像 发表于 08-10 10:14 2076次阅读

    SMART世迈科技推出首款XMM CXL内存模块

    (CXL™)内存模块XMM CXL内存模块。SMART Modular的这款新型 DDR5 XMM CXL 模块通过CXL接口增加缓存
    的头像 发表于 09-01 15:38 1275次阅读

    CXL协议和标准介绍, CXL2.0和3.0有什么新功能?

    CXL通过叫做CXL 联盟的开放行业标准组织开发技术规范,促进新兴使用模型的性能突破,同时支持数据中
    发表于 03-15 11:30 4633次阅读

    IPU和CXL如何提高数据中心的电源效率?

    数据处理单元 (DPU)、基础设施处理单元 (IPU) 和 Compute Express Link (CXL) 技术可从服务器 CPU 卸载交换和网络任务,具有显著提高数据中心能效的
    的头像 发表于 04-17 10:07 1033次阅读

    什么是CXL技术CXL的三种模式、类型、应用

    更快的数据传输速度:CXL技术可以实现高达25GB/s的数据传输速度,比目前常用的PCIe 4.0技术还要快。这意味着在
    发表于 09-27 09:26 5404次阅读
    什么是<b class='flag-5'>CXL</b><b class='flag-5'>技术</b>?<b class='flag-5'>CXL</b>的三种模式、类型、应用

    关于CXL的功能与特性详解

    CXL.io 和CXL.cache 是CXL 协定中的两个子协定,它们的功能和用途有所不同,主要是为了引入非对称的概念;CXL.io 类似于
    的头像 发表于 11-22 15:43 1030次阅读
    关于<b class='flag-5'>CXL</b>的功能与特性详解

    内存扩展CXL加速发展,繁荣AI存储

    和IO墙的瓶颈。它通过PCI Express的物理层,提供低延迟和高带宽的连接,旨在支持下一代数据中心的高性能计算和内存密集型工作负载。   CXL主要有CXL.io、CXL
    的头像 发表于 08-18 00:02 4467次阅读
    内存扩展<b class='flag-5'>CXL</b>加速发展,繁荣AI存储