CXL互联标准简介及相关资料

news/2024/4/26 14:33:31/文章来源:https://blog.csdn.net/qq_45726331/article/details/129224496

毕设是实现CXL的type3扩展内存设备,因为CXL技术非常新,2019年推出,本专栏也是记录CXL的相关知识与一些浅薄的理解

文章目录

    • CXL出现的背景
    • CXL是什么
    • 其他互联总线介绍
    • CXL胜出的原因
    • CXL内容简介
      • 包含三种协议 CXL.io/cache/memory
      • 支持三种设备类型
      • CXL1.1、2.0、3.0版本演进
    • 其他可参考资料

CXL出现的背景

背景总结起来有两个方面,底层原因还是因为计算与内存的发展速度不同步:

  1. 大数据时代,数据规模爆炸性增长,以计算为核心的传统计算机体系架构(冯诺依曼架构)出现了“内存墙”、“IO墙”问题,成为了应用性能的瓶颈。

过去十年,存储和I/O带宽的增长远远落后于算力的增长。
一方面,随着CPU内核数的快速上升,每颗CPU内核对应的内存带宽反而不断下降,在应用访问的数据爆炸增长时,多级存储带来的响应延迟与不断下降的传输带宽都将成为拖累整体性能的瓶颈,即“内存墙”。
在这里插入图片描述 在这里插入图片描述
另一方面,CPU可以快速访问内存中的数据,但是当下动辄GB级的数据中心应用程序往往无法全部运行在内存中,需要放在外部存储里,使用网络I/O来访问数据,而I/O方式的访问会使得访问速度下降几个数量级,不可避免的成为应用性能的瓶颈,即“I/O墙”。
CXL支持的第三种内存扩展设备类型,使用CXL.io与CXL.mem子协议,通过CXL/PCIe插槽扩展内存容量和带宽,有效的打破了“内存墙”和“I/O墙”的瓶颈。

  1. 随着各类设备加速器性能的提高,同时业界对计算机处理大规模数据的要求提高,以往以CPU-Memory为中心的体系架构逐渐变成了以CPU、GPU、FPGA、SmartNIC等设备齐头并进的趋势,异构计算火热发展。而20年前提出的PCIe技术对于设备间的高速互联并不是很有效,业界非常期待一种面向异构计算的高带宽、低延迟的一致性互联总线的出现,CXL应运而生。

CXL是什么

CXL (Compute Express Link)1 总线互连标准是2019年由英特尔公司推出,以提高数据中心性能为目标,旨在改善传统PCIe系统中的通信路径,是针对数据中心、高性能计算,人工智能等范畴的创造性互连总线。它可以实现CPU与GPU、FPGA或其他加速器之间更高效率、更快速度的连接,从而满足高性能异构计算的要求,并且在提供更高带宽和更好内存一致性等方面做出了显著贡献2CXL因其底层基于PCIe 5.0规范,具有物理层上的系统一致性,相比于其他互连协议有着更好的兼容性和易用性,目前CXL已经成为事实上的唯一开放标准。

其他互联总线介绍

近年来,随着高性能异构计算对带宽和延迟的要求越来越高,各大服务器厂商纷纷在高速互连总线技术领域发力,提出了各种各样的互联协议标准,既有开放标准,也有专用标准。
OpenCAPI3是IBM公司于2016年提出,是一种开放式接口架构,允许任何微处理器连接到一致的加速器和 I/O 设备。已经于2022年将所有规范和资产转让给CXL联盟。
CCIX4于2016年提出,是ARM公司主要支持的标准,是一种能够将两个或两个以上器件通过缓存一致性的方式来共享数据的片间互联。
Gen-Z5于2016年提出,是AMD公司主要支持的标准,是一种可扩展的通用系统互连标准,旨在简化数据访问、设计和方案架构。但是缺乏缓存一致性支持,已经于2020年将所有规范和资产转让给CXL联盟。
NVLink6于2014年由NVIDIA公司提出,是一种高速GPU互连技术,与传统的PCIe系统解决方案相比,能为多GPU系统提供更快速的替代方案。NVLink 技术通过连接两块 NVIDIA显卡,能够实现显存和性能扩展,从而满足最大视觉计算工作负载的需求,是一种专用标准。

CXL胜出的原因

CXL总线互连标准2019年由英特尔公司推出,到目前为止已经更新迭代了1.0/1.12.0、3.0三个版本,作为一项崭新的技术,它的发展非常迅速且具备清晰的技术发展路线。
相较其他互连协议,首先,CXL提供CPU和GPU、加速卡等外设间更高的数据带宽和更好的内存一致性访问。
其次,CXL包含CXL.io/cache/memory三种子协议,支持设备类型更多样,场景更丰富,是目前发展势头最好的一个互连标准。
最后,CXL是基于PCIe5.0协议设计,在原有的PCIe链路基础架构之上,可以同时支持PCIe设备与CXL设备运行,具有更高的兼容性。(其实也是因为这种互联总线一般需要CPU方面的支持,Intel作为CPU巨头,它不支持,其他协议也很难发展下去;同时也需要兼容过去的PCIe总线;那么CPU厂商支持,兼容PCIe,协议设计合理有效,CXL就这样走向胜利)

CXL内容简介

包含三种协议 CXL.io/cache/memory

CXL.io:与PCIe协议相同

该协议本质上是PCIe 5.0协议的扩展,用于设备的发现、配置、寄存器访问和中断等,为IO设备提供了非一致数据的Load/Store接口(PCIe协议不支持一致性机制)

CXL.cache:支持设备对主机内存的访问

该协议定义了设备对主机内存(DIMM)的访问,允许设备使用请求/响应机制以极低的延时访问主机内存中的数据,类似于DMA(Direct Memory Access)

CXL.mem:支持主机对设备内存的访问

该协议允许主机处理器使用Load/Store指令访问设备内存,主机CPU充当主设备,而被访问设备充当从设备。CXL.memory协议同时支持易失性和非易失性存储

支持三种设备类型

CXL总线标准支持CXL.io/cache/memory三个子协议,三个子协议进行组合使用,得到CXL支持的三种设备类型。
Type1 Device:使用CXL.io与CXL.cache两个子协议,典型代表是NIC。

现在的NIC只能够通过 DMA(Direct Memory Access)的方式访问内存,且无法缓存数据。具备CXL.cache后,该网卡可以通过CXL.cache 访问主机内存,并缓存一些数据到NIC上,提高了运行效率。

Type2 Device:使用CXL.io/cache/memory三个子协议,典型代表是GPU、FPGA等加速器。

使用CXL.cache,GPU可以直接访问主机上的内存,使用CXL.memory,主机CPU可以直接访问GPU显存中的内存,而不需要显式的大块内存拷贝。

Type3 Device:使用CXL.io与CXL.memory两个子协议,典型代表是扩展内存设备。

通过 CXL.memory,Host可以直接使用load/store指令直接访问CXL内存扩展设备的内存,也可以进行缓存,从而实现内存容量的扩展,考虑到PCIe带宽的不断增加,这种方式还可以扩展内存带宽。

在这里插入图片描述

CXL1.12.0、3.0版本演进

CXL正在迎来大内存的曙光
大内存时代振奋人心的CXL技术(上)
大内存时代振奋人心的CXL技术(下)

其他可参考资料

CXL.cache 协议详解
CXL大内存论坛-2022中国数据与存储峰会
CXL学习笔记
SDC2020: CXL 1.1 Protocol Extensions: Review of the cache and memory protocols in CXL


  1. 1 ↩︎

  2. 2 ↩︎

  3. 3 ↩︎

  4. 4 ↩︎

  5. 5 ↩︎

  6. 6 ↩︎

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

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

相关文章

Reids实战—黑马点评(三)秒杀篇

Reids实战—黑马点评(三)秒杀篇 来自黑马的redis课程的笔记 【黑马程序员Redis入门到实战教程,深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目】 目录Reids实战—黑马点评(三)秒杀篇一、全局唯一I…

DevOps实战50讲-(1)彻底理解DevOps

持续坚持原创输出,点击蓝字关注我吧软件质量保障:所寫即所思|一个阿里质量人对测试的所感所悟。浅谈软件开发流程软件开发流程是从需求分析、设计、编码、测试到上线等一系列环节的步骤和活动。通常来说,软件开发流程可以分为以下几个阶段&am…

Python 多进程多线程线程池进程池协程

目录 一、线程与进程很简单的介绍 1.1 线程与进程的区别 二、多进程Process 2.1 多进程与多线程的区别 2.2 多进程为啥要使用队列 2.3 控制进程运行顺序 2.3.1 join , 2.3.1 daemon 守护进程 2.4 进程id 2.5 进程 存活状态is_alive() 2.5 实现自定义多…

计算机图形学:liang算法和Cyrus-Beck算法

其中Cyrus-Beck算法呢,是计算一根直线一个多边形的交线段;liang算法是Cyrus的一个特例,即多边形刚好是矩形;先看看Cyrus算法的思路【从别的博客找的图片】:这很容易理解,点积>0时就可能中内部嘛&#xf…

Pyinstaller 打包EXE(七) 百篇文章学PyQT

本文章是百篇文章学PyQT6的第七篇,本文讲述如何使用Pyinstaller打包UI界面和代码,将程序打包成EXE来更为方便的进行部署,在写博客和学习的过程中会遇到很多问题,例如:PyQT6在网上很多博客都是PyQT5、或者PyQT4大部分都…

Amazon S3 服务15岁生日快乐!

2021年3月14日,作为第一个发布的服务,Amazon S3 服务15周岁啦!在中国文化里,15岁是个临界点,是从“舞勺之年”到“舞象之年”的过渡。相信对于 Amazon S3 和其他的云服务15周岁也将是其迎接更加美好未来的全新起点。亚…

java面试题-JVM内存结构

整体结构:1.说说JVM内存整体的结构?线程私有还是共享的?JVM(Java Virtual Machine)内存可以分为以下几个部分:程序计数器(Program Counter Register):是线程私有的&#…

深入浅出解析ChatGPT引领的科技浪潮【AI行研商业价值分析】

Rocky Ding写在前面 【AI行研&商业价值分析】栏目专注于分享AI行业中最新热点/风口的思考与判断。也欢迎大家提出宝贵的意见或优化ideas,一起交流学习💪 大家好,我是Rocky。 2022年底,ChatGPT横空出世,火爆全网&a…

Linux学习(8.6)文件与目录的默认权限与隐藏权限

目录 文件与目录的默认权限与隐藏权限 文件的默认权限:umask chattr (配置文件隐藏属性) lsattr (显示文件隐藏属性) 文件特殊权限: SUID, SGID, SBIT 观察文件类型:file 以下内容转载自鸟哥的Linux私房菜 文件与目录的默认权限与隐藏权…

【架构师】零基础到精通——架构发展

博客昵称:架构师Cool 最喜欢的座右铭:一以贯之的努力,不得懈怠的人生。 作者简介:一名Coder,软件设计师/鸿蒙高级工程师认证,在备战高级架构师/系统分析师,欢迎关注小弟! 博主小留言…

【20230225】【剑指1】分治算法(中等)

1.重建二叉树class Solution { public:TreeNode* traversal(vector<int>& preorder,vector<int>& inorder){if(preorder.size()0) return NULL;int rootValuepreorder.front();TreeNode* rootnew TreeNode(rootValue);//int rootValuepreorder[0];if(preo…

redis秒杀

redis优惠券秒杀 为什么订单表订单ID不采用自增长&#xff1f; id规律性太明显&#xff0c;容易被用户猜测到&#xff08;比如第一天下订单id10&#xff0c;第二天下订单id100&#xff0c;在昨天的1天内只卖出90商品&#xff09;受单表数据量限制&#xff08;订单数据量大&am…

从零开始学习iftop流量监控(找出服务器耗费流量最多的ip和端口)

一、iftop是什么iftop是类似于top的实时流量监控工具。作用&#xff1a;监控网卡的实时流量&#xff08;可以指定网段&#xff09;、反向解析IP、显示端口信息等官网&#xff1a;http://www.ex-parrot.com/~pdw/iftop/二、界面说明>代表发送数据&#xff0c;< 代表接收数…

chatGPT模型原理

文章目录简介BertGPT 初代GPT-2GPT-3chatGPT开源ChatGPT简介 openai 的 GPT 大模型的发展历程。 Bert 2018年&#xff0c;自然语言处理 NLP 领域也步入了 LLM 时代&#xff0c;谷歌出品的 Bert 模型横空出世&#xff0c;碾压了以往的所有模型&#xff0c;直接在各种NLP的建模…

EasyRecovery16MAC苹果版本Photo最新版数据恢复软件

无论是在工作学习中&#xff0c;还是在生活中&#xff0c;Word、Excle等办公软件都是大家很常用的。我们在使用电脑的过程中&#xff0c;有时会因自己的误删或电脑故障&#xff0c;从而导致我们所写的文档丢失了。出现这样的大家不要着急&#xff0c;今天小编就给大家推荐一款可…

FreeRTOS优先级翻转

优先级翻转优先级翻转&#xff1a;高优先级的任务反而慢执行&#xff0c;低优先级的任务反而优先执行优先级翻转在抢占式内核中是非常常见的&#xff0c;但是在实时操作系统中是不允许出现优先级翻转的&#xff0c;因为优先级翻转会破坏任务的预期顺序&#xff0c;可能会导致未…

YOLOv5模型学习记录

新年伊始&#xff0c;YOLOv8横空出世&#xff0c;这个还未开源时便引发界内广泛热议的目标检测算法&#xff0c;一经问世便再次引发热潮&#xff0c;而作为与其师出同源的YOLOv5&#xff0c;自然要拿来与其比较一番。接下来我们便来学习一下吧。 模型结构 首先便是模型结构了…

Rasa 3.x 学习系列-摆脱意图:一种新的对话模式

Rasa 3.x 学习系列-摆脱意图:一种新的对话模式 在2019年的一篇文章中,Alan Nichol写道 :是时候摆脱意图了。一年后,Rasa发布了Rasa中的第一个无意图(或“端到端”)对话模型。现在,我们宣布迈出了一个重要的步伐,将LLM的强大功能带入Rasa的对话管理中。 首先,意图非常…

ACSC 2023 比赛复现

Admin Dashboard 在 index.php 中可以看到需要访问者是 admin 权限&#xff0c;才可以看到 flag。 report.php 中可以让 admin bot 访问我们输入的 url&#xff0c;那么也就是说可以访问 addadmin.php 添加用户。 在 addadmin.php 中可以添加 admin 用户&#xff0c;但是需…

李宏毅2023春季机器学习课程

目录2021&2022课程重磅须知我维护的其他项目更新日志课程地址课程资料直链课程作业直链其他优质课程2021&2022课程 CSDN Github 重磅须知 为方便所有网课资料与优质电子书籍的实时更新维护&#xff0c;创建一个在线实时网盘文件夹&#xff1b;   网盘获取方式&#…