CXL崛起:2024启航,2025年开启新时代

图片

在2019年,Intel主导联合多家阿里巴巴、Facebook(也就是改名后Meta)、谷歌、Dell、华为、思科、微软、HPE最初的八巨头,发布了新的互联协议CXL,全称Comupte Express Link。由于在服务器领域享有绝对领导地位,Intel一经号令,遍得到万众呼应。特别是另外两家CPU巨头AMD/ARM和GPU一哥NVDIA的加入,让CXL阵营更加全面强大,为下一步的生态普及打下了坚实的基础。

图片

CXL诞生的基础是为了解决CPU内存和附加设备内存的互联,实现资源共享,得到最大的性能提升。随着数据大规模超算、AI、5G、云技术、边缘计算、自动驾驶等蓬勃发展,未来的数据存在指数级的增长且要求实时计算。
 

图片

根据有关机构的测算,从2020到2025年,用于AI计算的服务器的数量将成长2倍。而AI计算的服务器对内存和存储的需求更加的强劲,对计算的性能也有更高的要求。

图片

然后随着CPU core的不断增加,单core享用的内存带宽却在不断的下降,这对计算绝对是巨大的拖后腿,这就必须要有新的计算互联技术来解决这个头疼的问题,CXL也就顺势而生。

图片

CXL 2.0是基于PCIe 5.0基础上定义,允许替代协议使用物理PCIe层的PCIe 5.0特性。当CXL加速器或者扩展卡、PCIE设备同时插入主机端口时,会优先pcie协议1.0速率协商,当双方确认支持CXL后,再激活CXL互联协议。

图片

CXL协议包含了三种协议,分别是CXL.io、CXL.cache、CXL.memory.

  • CXL.io:是基础协议,基本跟pcie 5.0协议等同。用于初始化、链接、枚举、注册,CXL设备必须要支持CXL.io.

  • CXL.cache:定义CPU和设备之间互联,允许CXL设备低延迟访问主机缓存数据。

  • CXL.memory:用于CPU直接访问CXL设备的内存的协议

图片

这三种协议,CXL.io是必须的,CXL.cache和CXL.memory可以自由组合使用,不强制。根据三种协议的组合形式,CXL协议支持的设备类型主要分为三类:

图片

  • Type1: 智能网卡NIC等缺少本地内存的加速设备,可以在同CXL.io和CXL.cache直接访问加载在主机内存的数据,减少访问的延迟。

  • Typ2: GPU、FPGA等计算设备都配置了内存,可以使用CXL.io、CXL.cache、CXL.memory三个协议组合,CPU和计算设备之间可以相互快速访问,同样可以降低访问的延迟。

  • Type3: 内存扩展设备,利用CXL.io和CXL.memory进行内存扩展,增加内存带宽,解绑CPU单core内存带宽不足的问题。

图片

从2019年的CXL 1.0,CXL协议目前已经发展了CXL 3.0。目前的CXL 1.1(PCIe 5.0)支持直接内存扩展器连接。CXL 2.0(PCIe 5.0)将引入CXL交换机,扩展内存池功能。同时,CXL 3.0利用PCIe 6.0将启用级联交换机和点对点连接,促进完整的服务器解聚和可组合性。CXL标准包括三种协议(CXL.io、CXL.cache和CXL.mem),支持三种不同的CXL设备类型。这三种CXL设备类型,目前来看,Type3内存扩展方案的发展最迅速,也是带给数据中心和内存厂商最大的机遇。

根据Yole机构分析数据显示,CXL在2024年开始爬坡,在2025年将会大规模上量,也就是代表着CXL的时代从2025年开始正式到来

图片

服务器目前正面临着内存性能挑战,而CXL部署提供了短期和长期的解决方案。从CXL 1.1开始,AI云服务器可以从内存扩展中受益,而CXL 3.0有可能为GPU、DPU、FPGA和ASIC等加速器提供直接访问内存池的权限。预计云服务提供商和超大规模企业将对由CXL 2.0发起的内存池和可组合服务器表现出浓厚的兴趣。同时,数据库服务器将利用运行更大的内存数据库以加快分析速度的能力。

图片

数据中心工作负载变得越来越复杂,需要越来越多的计算能力和内存来处理不断增长的数据量。内存是一种非常昂贵的资源,2022年占服务器价值的平均比例约为30%,预计到2025年将超过40%。为了解决这些问题,已经提出了新型内存处理器接口,旨在优化资源的使用和加速数据中心工作负载的执行。在这种动态背景下,CXL已经崛起并获得了业界的广泛支持。

图片

三星和海力士目前都发布了CXL内存扩展方案,Marvell也为了CXL收购了CXL技术领先开发商Tanzanite,国内厂商澜起科技在今、去年也发布全球首款CXL内存扩展控制器芯片(MXC), 三星的CXL 2.0产品也是采用的澜起CXL内存扩展控制器。

图片

三星的CXL产品方案-举例:

采用E3.S接口,也是数据中心为了的趋势,基于CXL2.0协议,CXL link带宽x8,容量512GB,基于DDR5设计,最大带宽达到32GB/s.
 

图片


三星测试场景中,用DDR+CXL纵向扩展 vs DDR*3横向扩展进行性能比对,结果发现,在4K chunk size场景下,性能提升接近3倍,也可以看出CXL带来的巨大收益。

图片

同时,三星还是提出了基于CXL协议的SSD。

图片

基于这种架构,IO可以更小力度的访问,结合DRAM聚合,实现更大的IO性能。海力士也提出了类似的架构,实现Byte字节粒度的访问。

图片

海力士CXL产品方案-举例:

也是基于DDR5,但是容量没有三星的大,只有96GB. 同样基于CXL2.0 over PCIe Gen5 x8, 随机带宽最大30GB/s.

图片

图片

未来CXL将是巨大的机遇,CXL扩展expander、内存池化、加速计算、CXL switch都将发挥各自的能量,打造强大的CXL生态,造福互联世界,让我们共同期待!

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/151636.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python调用企微机器人: 发送常用格式汇总

企微接口文档 发送应用消息 - 接口文档 - 企业微信开发者中心 发送格式 应用支持推送文本、图片、视频、文件、图文等类型。 ~~~以下列举常用格式 示例~~~ 1.发送文本 代码如下: def sendtxt_robotmsg(self):# 正式keywx_key "xx"wx_webhookurl htt…

【十字链表,邻接多重表(无向图的另一种链式存储结构),图的遍历】

文章目录 十字链表邻接多重表(无向图的另一种链式存储结构)图的遍历 十字链表 方便找到入度和出度边。 顶点结点: data:顶点存放的数据域。 firstin:第一个入度边。 firstout:第一个出度边。 弧度结点&am…

贪吃蛇代码

一.准备 1.新建项目 2.放进照片 3.创建两个包放置图片类和入口类 二,游戏界面 package com.snake.view;import java.awt.Color; import java.awt.EventQueue; import java.awt.Font; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; i…

【计算机视觉】24-Object Detection

文章目录 24-Object Detection1. Introduction2. Methods2.1 Sliding Window2.2 R-CNN: Region-Based CNN2.3 Fast R-CNN2.4 Faster R-CNN: Learnable Region Proposals2.5 Results of objects detection 3. SummaryReference 24-Object Detection 1. Introduction Task Defin…

Ant Design for Figma设计系统组件库 支持变量 非社区版

Ant Design for Figma 是基于 Ant Design 设计系统的 Figma 组件库,提供丰富的 UI 组件和交互功能,帮助设计师快速构建高质量的 Figma 设计稿。 Ant Design for Figma 继承了 Ant Design 的设计理念和风格,提供丰富的 UI 组件和交互功能&…

十、Linux运行级别

1.基本介绍 运行级别说明: 0:关机 1:单用户【找回丢失密码】 2:多用户状态没有网络服务 【非常少】 3:多用户状态有网络服务 【最多】 4:系统未使用保留给用户 5:图形界面【Linux一启动自动进入…

每天学习一点点之 Spring Web MVC 之抽象 HandlerInterceptor 实现常用功能(限流、权限等)

背景 这里介绍一下本文的背景(废话,可跳过)。上周有个我们服务的调用方反馈某个接口调用失败率很高,排查了一下,发现是因为这个接口被我之前写的一个限流器给拦截了,随着我们的服务接入了 Sentinel&#x…

矩阵理论——Gerschgorin定理,以及用python绘制Gerschgorin圆盘动图

矩阵理论——Gerschgorin定理,以及用python绘制Gerschgorin圆盘动图 在矩阵的特征值估计理论当中,有一节是盖尔圆盘定理: 对于一个n阶复数矩阵A,每个特征值lambda位于至少一个Gerschgorin圆盘中,这些圆盘的中心为矩阵…

华为数通HCIP 821BGP 知识点整理

个人名片: 🐼作者简介:一名大三在校生,喜欢AI编程🎋 🐻‍❄️个人主页🥇:落798. 🐼个人WeChat:hmmwx53 🕊️系列专栏:🖼️…

Canal+Kafka实现MySQL与Redis数据同步(二)

CanalKafka实现MySQL与Redis数据同步(二) 创建MQ消费者进行同步 在application.yml配置文件加上kafka的配置信息: spring:kafka:# Kafka服务地址bootstrap-servers: 127.0.0.1:9092consumer:# 指定一个默认的组名group-id: consumer-group…

深入解析序列模型:全面阐释 RNN、LSTM 与 Seq2Seq 的秘密

探索序列建模的基础知识和应用。 简介 序列建模是许多领域的一个重要问题,包括自然语言处理 (NLP)、语音识别和语音合成、时间序列预测、音乐生成和「生物信息学」。所有这些任务的共同点是它们需要坚持。接下来的事情的预测是基于历史的。例如,在“哈桑…

Docker入门学习笔记

学习笔记网址推送:wDocker 10分钟快速入门_哔哩哔哩_bilibili docker是用来解决什么问题的? 例如当你在本地主机写了个web应用,而你打算将该应用发送给其他客户端进行案例测试和运行,若是传统做法,就比较复杂&#xf…

conda虚拟环境中安装的cuda和服务器上安装的cuda的异同

服务器上已安装Nvidia提供的cuda,nvcc -V时会出现已安装的CUDA版本。如下图所示,服务器上已安装好的cuda版本为10.1。 但是当我们在Anaconda虚拟环境下安装pytorch或者paddlepaddle等深度学习框架的GPU版本时,通常会选择较高版本的cuda&…

Git 简介及使用(1)

目录 一、在 Linux 环境中安装 Git 1. 先检查当前服务器中是否有 Git(如果有显示如下图) 2. 安装Git 3. 然后重复第一步:查看 Git 的版本信息即可 二、Git 的初始化及配置 1. 创建目录 2. 对仓库进行初始化 3. 新增两个配置项&#xff08…

PyTorch神经网络-激励函数

在PyTorch 神经网络当中,使用激励函数处理非线性的问题,普通的神经网络出来的数据一般是线性的关系,但是遇到比较复杂的数据的话,需要激励函数处理一些比较难以处理的问题,非线性结果就是其中的情况之一。 FAQ:为什么要…

【Java 进阶篇】Ajax 实现——JQuery 实现方式 `get` 与 `post`

嗨,亲爱的小白们!欢迎来到这篇关于使用 jQuery 实现 Ajax 请求的博客。在前端开发中,Ajax 是一项非常重要的技术,它使我们能够在不刷新整个页面的情况下与服务器进行数据交互。而在 jQuery 中,get 和 post 方法提供了简…

全流量分析应用运行和访问情况

在当今数字化时代,应用程序的运行和访问情况对于企业和组织来说至关重要。无论是在线销售平台、移动应用还是企业内部系统,应用的性能和可用性直接影响着用户体验、业务流程以及组织效率。因此,对应用的运行和访问情况进行全面分析和评估&…

JZM-D30室温探针台技术参数

概况: JZM-D30室温探针台的诸多设计都是专用的,探针台的配置主要是根据用户的需求进行选配及设计。例如,要求的磁场型号,电源型号,磁场值,样品台的尺寸等,除此之外,该探针台和我司自…

Go 语言中的map和内存泄漏

map在内存中总是会增长;它不会收缩。因此,如果map导致了一些内存问题,你可以尝试不同的选项,比如强制 Go 重新创建map或使用指针。 在 Go 中使用map时,我们需要了解map增长和收缩的一些重要特性。让我们深入探讨这一点…

架构开发与优化咨询和实施服务

服务概述 得益于硬件平台算力的提升,汽车电子电气架构的集成度逐渐提高,从单体ECU、到功能域集成控制器、到区域集成控制器,多域融合成为了目前行业中软件工程的重要工作内容。同时,在传统控制器C代码开发的基础上,C、…