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

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

3天内不再提示

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

FPGA设计论坛 来源:FPGA设计论坛 2024-01-11 16:53 次阅读

CXL (ComputeExpress Link) 技术是一种新型的高速互联技术,旨在提供更高的数据吞吐量和更低的延迟,以满足现代计算和存储系统的需求。它最初由英特尔AMD和其他公司联合推出,并得到了包括谷歌、微软等公司在内的大量支持。

一、CXL介绍

CXL的目标:解决CPU和设备、设备和设备之间的内存鸿沟。服务器有巨大的内存池和数量庞大的基于PCIe运算加速器,每个上面都有很大的内存。内存的分割已经造成巨大的浪费、不便和性能下降。CXL就是为解决这个问题而诞生。

CXL技术的背景可以追溯到PCIe (Peripheral Component Interconnect Express) 技术,PCIe是用于连接计算机内部组件的一种标准接口技术。PCIe设备可以发起一个DMA来访问内存,只要知道目标物理地址即可。在CXL之前就有以IBM牵头的OpenCAPIARM为代表支持的CCIX,AMD等支持的GenZ和Nvidia自行提出的Nvlink等等多种协议。虽然PCIe已经有了很多改进,但其难以满足现代计算机处理器和加速器之间的高带宽、低延迟通信需求。于是,CXL技术应运而生。

7731f98e-b04c-11ee-8b88-92fbcf53809c.png

CXL技术的应用场景非常广泛,其中包括数据中心人工智能和处理器互联等领域。在数据中心领域,CXL技术可以将不同的计算和存储资源进行互联,提高系统性能和效率。在人工智能领域,CXL技术可以使GPUFPGA等加速器更好地与主处理器进行协作,提高AI模型训练和推理的速度。在处理器互联方面,CXL技术可以实现不同厂商的处理器之间的互联,提高系统的整体性能和灵活性。

774890e0-b04c-11ee-8b88-92fbcf53809c.png

二、CXL技术概览

2.1、什么是CXL技术?

CXL(Compute Express Link)是一种高速串行协议,它允许在计算机系统内部的不同组件之间进行快速、可靠的数据传输。CXL在2020年推出,由英特尔、戴尔和惠普等公司共同设计。它旨在解决高性能计算中的瓶颈问题,包括内存容量、内存带宽和I/O延迟等问题。CXL还可以实现内存扩展和内存共享,并且可与计算加速器(如GPU、FPGA)等外设通信,提供更快、更灵活的数据交换和处理方式。

7752e7c0-b04c-11ee-8b88-92fbcf53809c.png

CXL技术不仅提供了高速传输,还支持内存共享和虚拟化,使设备之间的协作更加紧密和高效。这种技术有助于满足现代数据中心对大规模处理和分析的需求,同时也能够为AI、机器学习区块链等新兴应用提供更好的支持。

77616688-b04c-11ee-8b88-92fbcf53809c.png

2.2、CXL技术的三种模式:http://CXL.io、CXL.cache和CXL.memory

CXL协议包含三个子协议:

http://CXL.io:这种模式可以将内存扩展到外部设备,使得数据的传输速度更快。http://

CXL.io通过PCIe总线连接CPU和外部设备,这样CPU就可以与外部设备共享内存,并且可以直接访问外部设备的I/O资源。

CXL.cache:这种模式可以通过将内存缓存到外部设备中来提高性能。CXL.cache模式允许CPU在本地缓存中保留最常用的数据,而将不常用的数据保存在外部设备中。这样可以减少内存访问时间,提高整体系统性能。

CXL.memory:这种模式可以将外部设备作为主内存使用,从而实现更大的内存容量。CXL.memory模式允许CPU将外部设备看作是扩展内存,从而可以存储更多的数据。这种方式可以提高系统的可靠性,因为即使发生了内存故障,CPU仍然可以通过外部设备继续运行。

7770565c-b04c-11ee-8b88-92fbcf53809c.png

http://CXL.io是Compute Express Link(CXL)规范中定义的物理层接口,可以提供比传统PCIe更低的延迟、更高的带宽和更好的可扩展性。

http://CXL.io通过使用SerDes技术(一种将串行数据转换为并行数据以及反向转换的技术),在单个物理通道上同时传输多个不同的数据流。这些数据流可以包括带宽密集型的数据流、低延迟的命令和控制信息以及配置寄存器和状态信息。http://CXL.io还支持热插拔和链路训练等高级特性。 http://CXL.io的物理层规范定义了信号电气特性、时序要求和连接器接口,以确保高可靠性和高性能。http://CXL.io采用4x25Gbps或3x32Gbps的信号速率,并支持单向或双向通信。连接器方面,http://CXL.io采用40个针脚的SMT连接器,其中27个针脚用于数据传输,其余用于电源、地线和时钟信号。

CXL技术的三种类型:

Type 1:通过 PCIe 插槽安装的加速卡或附加卡。这些卡可以与现有系统集成,并通过 CXL 接口与 CPU 直接通信以提供更快的数据传输速度。用于网卡这类高速缓存设备。

Type 2:具有所有 Type 1 设备的功能,通常用于具有高密度计算的场景。比如 GPU 加速器。

Type 3:一种专用的存储设备,与主机处理器直接通信,并且可以使用 CXL 协议来实现低延迟、高吞吐量的数据传输。用作内存缓冲器,用于扩展内存带宽和内存容量。

77816956-b04c-11ee-8b88-92fbcf53809c.png

三、CXL技术的优势

更快的数据传输速度:CXL技术可以实现高达25GB/s的数据传输速度,比目前常用的PCIe 4.0技术还要快。这意味着在数据中心等高性能应用场景下,可以更快地进行数据处理和传输。

更低的延迟:CXL技术可以将CPU、GPU、FPGA等计算设备与内存直接连接,避免了传统的I/O总线带来的时延,从而实现更低的延迟,提高了计算效率。

更高的能效:CXL技术支持在多台计算设备之间共享内存,降低了内存冗余,提高了能效。此外,CXL技术还支持内存虚拟化,可以根据应用负载动态分配内存资源,进一步提高了系统能效。

更强的可扩展性:CXL技术可以支持内存扩展,允许在不停机的情况下添加更多的内存容量,从而增加系统的可扩展性,为未来的应用需求做好准备。

更广泛的应用场景:CXL技术不仅适用于数据中心等高性能计算领域,还可以应用于人工智能、区块链、物联网等多个领域。

一句话:支持高带宽、低延迟数据传输、具有更好的灵活性和可扩展性、可以实现混合使用不同类型的硬件设备。

四、CXL技术的应用

4.1、计算机系统中的应用

CXL可以用于计算机系统中的许多应用:

高性能计算:CXL可以提供低延迟、高带宽的协议,可用于连接CPU、GPU、FPGA等处理器,在高性能计算中提供更快的数据传输。

存储加速:CXL可以用于连接存储设备,如SSD和NVMe驱动器,以提供更快的存储访问速度。此外,CXL还可以与内存控制器集成,为存储加速提供更大的带宽。

人工智能:CXL可用于连接AI芯片,以提供更快的数据传输,从而提高AI工作负载的性能和效率。

网络加速:CXL还可以用于连接网络适配器,以提供更快的网络传输速度,从而提高网络应用程序的性能。

4.2、数据中心中的应用

在数据中心中,CXL可以应用于以下方面:

高性能计算:CXL可以提供比传统PCIe更快的数据传输速度和更低的延迟,从而提高高性能计算的效率和吞吐量。

存储加速:CXL可以将存储加速器与主机CPU直接连接,从而实现更快的数据访问和更高的IOPS,提高存储性能。

AI加速:CXL可以将AI加速器与CPU/GPU/FPGA等处理器直接连接,实现更快的模型训练和推理速度,提高人工智能应用的性能。

大规模虚拟化:CXL可以将多个CPU和内存资源组合成一个大规模虚拟化集群,从而提高资源利用率和灵活性,并降低虚拟化管理的复杂性。

779822cc-b04c-11ee-8b88-92fbcf53809c.png

4.3、人工智能领域中的应用

在人工智能领域中,CXL可以发挥以下作用:

提高数据传输效率:对于深度学习等任务,需要大量的数据传输和计算,在传统的PCIe互连中,由于数据传输速度慢,往返延迟高,会导致计算效率低下。而使用CXL互连,可以实现低延迟、高速的数据传输,提高计算效率。

加速模型训练:随着深度学习模型变得越来越复杂,需要更多的计算资源来进行训练。使用CXL互连,可以将CPU、GPU和其他加速器设备进行紧密协作,提高模型训练的速度和效率。

实现AI与物联网的集成:CXL技术可以使AI应用程序直接连接到物联网设备,实现更快速的数据处理和响应。这对于需要快速响应的实时应用程序非常重要。

降低能源消耗:CXL技术可以减少传输数据所需的功耗,同时还可以减少系统中的数据缓存,从而实现更高效的能源管理。

五、CXL技术与其他技术的对比

与PCIe、NVMe等技术的对比:

带宽:CXL的带宽比PCIe高得多,CXL 2.0标准最高可以达到32 GT/s,而PCIe 5.0的带宽只能达到16 GT/s。相比之下,NVMe是一种协议而非互连技术,其带宽取决于所使用的互连技术。

延迟:CXL和PCIe都具有低延迟的特点,但CXL在延迟方面稍微优于PCIe。NVMe协议在延迟方面表现良好。

功能:CXL支持内存扩展、缓存一致性和设备直接内存访问等功能,这些功能不是PCIe或NVMe所具备的。

应用场景:PCIe主要用于连接外部设备,如GPU、网卡和存储设备。NVMe主要用于连接固态硬盘。而CXL则更加灵活,可用于连接处理器、存储设备、网络适配器和其他外围设备,适用范围更广。

兼容性:由于CXL是相对较新的技术,许多旧设备可能无法与其兼容。PCIe则已经成为了一种通用的连接标准,并且得到广泛应用。

成本:目前来看,CXL硬件和设备的成本相对较高,而PCIe则更加普及和经济实惠。

CXL和CCIX都是用于连接不同芯片之间的高速互联标准,但它们在一些方面存在差异。以下是CXL与CCIX的主要对比:

性能:CXL标准提供了更高的带宽和更低的延迟,使其在高性能计算、机器学习、人工智能等领域中具有优势。而CCIX标准则专注于低功耗和高可靠性,适用于物联网、移动设备等场景。

兼容性:CXL标准基于PCI Express协议,因此与现有的PCIe接口兼容。而CCIX标准则需要使用新的物理层和控制层,在一定程度上限制了其兼容性。

应用场景:CXL标准适用于需要高性能和更强的内存扩展的场景,例如大型服务器集群和超级计算机。而CCIX标准则适用于需要低功耗和高可靠性的场景,例如数据中心、物联网、移动设备等。

支持的架构:CXL支持x86、Power和ARM等多种处理器架构。而CCIX则专注于ARM和Power架构,对于x86架构的支持有限。

六、实现CXL技术的挑战及解决方案

CXL技术的实现面临以下挑战:

复杂性:CXL技术的实现需要高度复杂的系统设计和集成,这意味着需要适应不同的硬件、软件和工具。

安全性:由于CXL技术涉及到底层硬件操作,并且可能涉及多个设备之间的数据共享,因此安全风险是一个重要考虑因素。需要采取适当的措施确保数据安全和隐私。

性能:CXL技术需要提供高速数据传输和低延迟,以满足对计算能力和存储能力的要求。这需要高效的协议和优化的硬件和软件设计。

兼容性:CXL技术需要与现有的接口和协议兼容,以支持旧设备和系统的升级。这需要适当的转换器和中间件。

为了解决这些挑战,可以采取以下方案:

标准化:制定统一的标准和规范,以确保不同厂商的设备和系统之间的兼容性和互操作性。

优化设计:通过优化硬件和软件设计,提高性能和安全性。例如,增加硬件加速、内存缓存和错误纠正功能。

管理数据共享:采取适当的措施来管理设备之间的数据共享,例如访问控制、认证和加密。

提供中间件:提供转换器和中间件,以支持现有系统的升级和兼容性。

七、结论

更广泛的应用场景:随着数据中心越来越重要,CXL技术将在更多的应用场景中得到应用,比如超级计算机、AI加速器、网络加速器、NVMe SSD等。

更高的带宽和更低的延迟:CXL技术支持更高的带宽和更低的延迟,这使得它在处理大规模数据时具有优势。

更好的内存扩展性:CXL技术允许多个设备共享同一块内存,这极大地提高了内存扩展性和灵活性,在大型计算集群和超级计算机中应用前景广阔。

更好的兼容性:由于CXL技术基于PCIe协议,因此与现有的PCIe接口兼容。这使得CXL技术具有更好的兼容性和可扩展性。

面向不同处理器架构:CXL技术可以支持x86、ARM和Power等不同的处理器架构,这为不同的系统提供了更多的选择。

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

    关注

    68

    文章

    18275

    浏览量

    222160
  • PCIe
    +关注

    关注

    13

    文章

    1083

    浏览量

    80844
  • 模式
    +关注

    关注

    0

    文章

    63

    浏览量

    13285

原文标题:什么是CXL技术?CXL的三种模式、类型、应用

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    CXL系统启动和复位流程概览

    三种复位被归纳为传统(Conventional)复位。Function级复位和CXL复位不是传统复位。
    的头像 发表于 09-22 14:37 2028次阅读
    <b class='flag-5'>CXL</b>系统启动和复位流程概览

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

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

    CXL9910恒流非隔离PWM线性调光LED驱动IC

    不同的转换器类型,可能储能和将部分能量直接传给LED串,当功率MOSFET关断时,储存在磁性元件上的能量转换为LED串的驱动电流。(工作在Flybac模式)。提供SO8和DIP8两封装形式。
    发表于 08-01 11:43

    一窥CXL协议

    出TLP发给事务层;事务层解析TLP,取出有效负载数据。1.4 概述1.4.1 CXLCXL在PCIe 5.0的基础上复用三种类型的协议,分别 CXL.io,CXL.cache,CXL
    发表于 09-09 15:03

    一文解析CXL系统架构

    1、CXL系统架构简析  CXL支持三种设备类型,如下图。Type 1支持CXL.cache和CXL
    发表于 09-14 14:24

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

    作为PCIe RCiEP;而当配置为在CXL 2.0模式下运行时,必须作为PCI Express端点。RCiEP是Root Complex Integrated Endpoints的缩写,PCIe端点的一
    发表于 10-08 15:21

    CXL内存协议介绍

    Coherency Engine,简称DCOH)。从Master到Subordinate的CXL.mem事务被称作M2S;反过来,从Subordinate到Master的事务称作S2M。M2S事务只有两
    发表于 11-01 15:08

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

    。Flit头定义:Flit类型编码,0表示“protocol“,1表示”control“。CXL.cache/CXL.mem信用返回编码:挑几个字段来简单看看。4.2.3 插槽格式定义4.2.3.1
    发表于 02-21 14:27

    澜起科技发布全球首款CXL™ 内存扩展控制器芯片

    MXC芯片是一款CXL DRAM内存控制器,属于CXL协议所定义的第三种设备类型。该芯片支持JEDEC DDR4和DDR5标准,同时也符合CXL
    的头像 发表于 05-06 10:46 2236次阅读

    CXL在PCIe 5.0的基础上复用三种类型的协议

    CXL是基于PCIe 5.0实现的连接技术,复用了很多PCIe协议的东西,这一点上与CCIX比较像,但又不完全一样。说起CCIX和CXL,难免要相互对比。
    的头像 发表于 09-06 10:05 5514次阅读

    CXL事务层详解

    CXL.io为IO设备提供非一致性的load/strore接口。事务类型、事务数据包格式、信用流量控制、虚拟通道管理、事务顺序的规则等遵循PCIe协议。CXL.io的事务层如下图中的黄色部分所示。
    的头像 发表于 10-10 16:02 2251次阅读

    揭开CXL的神秘面纱:概述

    CXL 是一种在主机(通常是 CPU)和设备(通常是附加了内存的加速器)之间实现高带宽、低延迟链接的技术CXL 堆栈专为低延迟而设计,使用 PCIe 电气和附加卡的标准 PCIe 外形规格。
    的头像 发表于 05-26 10:33 3359次阅读
    揭开<b class='flag-5'>CXL</b>的神秘面纱:概述

    澜起科技MXC芯片成功通过CXL联盟组织的CXL1.1合规测试

    近日,澜起科技的CXL内存扩展控制器(MXC)芯片成功通过了CXL联盟组织的CXL1.1合规测试,被列入CXL官网的合规供应商清单。澜起科技是全球首家进入
    的头像 发表于 08-18 09:14 758次阅读

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

    更快的数据传输速度:CXL技术可以实现高达25GB/s的数据传输速度,比目前常用的PCIe 4.0技术还要快。这意味着在数据中心等高性能应用场景下,可以更快地进行数据处理和传输。 更低的延迟
    发表于 09-27 09:26 2453次阅读
    什么是<b class='flag-5'>CXL</b><b class='flag-5'>技术</b>?<b class='flag-5'>CXL</b>的<b class='flag-5'>三种</b><b class='flag-5'>模式</b>、<b class='flag-5'>类型</b>、应用

    CXL技术三种模式 CXL技术与其他技术的对比

    CXL的目标:解决CPU和设备、设备和设备之间的内存鸿沟。服务器有巨大的内存池和数量庞大的基于PCIe运算加速器,每个上面都有很大的内存。内存的分割已经造成巨大的浪费、不便和性能下降。CXL就是为解决这个问题而诞生。
    发表于 10-30 14:30 5073次阅读
    <b class='flag-5'>CXL</b><b class='flag-5'>技术</b>的<b class='flag-5'>三种</b><b class='flag-5'>模式</b> <b class='flag-5'>CXL</b><b class='flag-5'>技术</b>与其他<b class='flag-5'>技术</b>的对比