CXL (Compute Express Link) Technology——论文阅读

Journal of Computer and Communications 2023 Paper CXL论文阅读笔记整理

CXL概述

CXL(计算高速链路)技术是一种较新的高速互连标准,旨在实现数据中心系统中CPU、GPU和其他高性能组件之间更快的通信。

CXL技术研究:CXL技术基于外围组件互连高速(PCIe)及其扩展。CXL 1.0是一种基于交换机的互连体系结构,在PCIe Gen5电信号上运行,每个通道的数据传输速度高达每秒32千兆字节(GT/s)。CXL技术为缓存一致性和内存语义提供了基于硬件的支持。

CXL技术架构由三个主要组件组成:1)CXL设备:与CXL接口兼容的设备包括处理器、GPU等加速器和智能存储设备;2) CXL交换机:该交换机支持支持CXL的设备之间的通信。交换机可以是外部的,也可以是嵌入式的,允许使用更复杂的拓扑结构;3) CXL内存:CXL内存设备支持CXL协议,以高效共享系统内存。

一些关于CXL的问题

  1. SSD等存储设备是否需要本机CXL控制器支持,还是可以使用PCIe接口?

    由于SSD是块设备(而不是随机访问负载存储设备),因此它们不需要CXL控制器。PCIe将继续以与今天相同的方式使用。

  2. CXL是否解决了内存交错管理控制,还是CXL设备供应商的选择?

    内存交错的选择和实现不在CXL规范的范围内。

  3. 应用程序如何处理不同内存类型的不同延迟?

    应用程序应该不知道它们正在使用什么内存,也不知道不同的延迟。操作系统/内核应该负责为应用程序分配正确的内存类型。

  4. 如何看待应用程序像一个NUMA节点一样对待CXL?

    应用程序通常不会感知延迟。理论上,可以创建一个malloc函数,该函数可以指定它是否可以使用延迟更高的内存池,并由操作系统相应地为其提供服务。也可以将现有的类似NUMA的方法应用于CXL。

  5. CXL如何支持原子性?

    由于CXL内存是缓存一致的,这应该与CPU/直连内存相同。

  6. 由于每个引脚的带宽更高,CXL最终会取代DDR吗?

    CXL延迟的增加是一个问题,但CXL在未来肯定有可能取代DDR。

  7. 是否仅在专有的跨主机网桥级别支持3路交织?或者可以在每个级别(例如CXL主机桥、USP、设备)都支持它?

    CXL不想影响交换机,也不想让它们实现一种增加延迟和复杂性的3向操作。因此,3路交织仅限于主机专有逻辑和设备中的主机。USP不支持3路交织。

CXL协议和标准

CXL协议:

  • CXL.io:该协议在功能上等同于PCIe协议,并利用了PCIe在行业中的广泛采用和熟悉度。作为基础通信协议,CXL.io是通用的,可处理广泛的用例。

  • CXL.cache:该协议专为特定的应用程序设计,使加速器能够有效地访问和缓存主机内存,以优化性能。

  • CXL.memory:此协议使主机(如处理器)能够使用加载/存储命令访问设备连接的内存。

CXL设备:

  • 类型1设备:智能NIC等加速器通常缺少本地内存。通过CXL,这些设备可以与主机处理器的DDR内存进行通信。CXL.io + CXL.cache

  • 类型2设备:GPU、ASIC和FPGA都配备了DDR或HBM内存,可以使用CXL使主机处理器的内存对加速器本地可用,而加速器的内存对CPU本地可用。它们还位于同一个缓存一致域中,有助于提升异构工作负载。CXL.io + CXL.cache + CXL.memory

  • 类型3设备:可以通过CXL连接内存设备,为主机处理器提供额外的带宽和容量。内存的类型与主机的主内存无关。CXL.io + CXL.memory

CXL 1.0/1.1设备一次只能由一个主机访问。CXL 2.0设备可以划分为多个逻辑设备,允许多达16个主机同时访问内存的不同部分。CXL 3.0引入了对等直接内存访问和对内存池的增强,其中多个主机可以一致地共享CXL 3.0设备上的内存空间。

完整性和数据加密(IDE)

分解或分离服务器体系结构的组件增加了攻击面,这是CXL包含设计安全方法的原因。具体而言,三种CXL协议都通过IDE进行保护,提供机密性、完整性和重放保护。IDE在CXL主机和设备芯片中实例化的硬件级安全协议引擎中实现,以满足CXL的高速数据速率要求,而不引入额外的延迟。需要注意的是,CXL芯片和系统本身需要防止篡改和网络攻击。在CXL芯片中实现的硬件信任,可以为安全引导和安全固件下载的安全性和支持提供基础。

数据速率

CXL 1.1和2.0的物理层使用PCIe 5.0电气设备:NRZ信令速率为32 GT/s。

CXL 3.0保持了在广泛采用的PCIe技术上构建的相同理念,并将其扩展到PCIe 6.0版本。使用PAM4信号将CXL 3.0数据速率提高到64 GT/s。

总结

对CXL的一些基础知识进行整理,包括一些对CXL的问题、CXL协议、完整性和数据加密(IDE)、数据速率。

提出一些使用CXL的看法:(1)SSD是块设备(而不是随机访问负载存储设备),不需要CXL控制器。(2)应用程序应该不知道正在使用什么内存,也不知道不同的延迟。操作系统/内核应该负责为应用程序分配正确的内存类型。(3)可以创建一个malloc函数,该函数可以指定它是否可以使用延迟更高的内存池,并由操作系统相应地为其提供服务。可以将现有的类似NUMA的方法应用于CXL。

相关推荐
七夜星七夜月2 天前
时间序列预测论文阅读和相关代码库
论文阅读·python·深度学习
WenBoo-2 天前
HIPT论文阅读
论文阅读
chnyi6_ya2 天前
论文笔记:Buffer of Thoughts: Thought-Augmented Reasoning with Large Language Models
论文阅读·人工智能·语言模型
Jude_lennon3 天前
【论文笔记】结合:“integrate“ 和 “combine“等
论文阅读
LuH11243 天前
【论文阅读笔记】HunyuanVideo: A Systematic Framework For Large Video Generative Models
论文阅读·笔记
lalahappy3 天前
Swin transformer 论文阅读记录 & 代码分析
论文阅读·深度学习·transformer
开心星人3 天前
【论文阅读】Trigger Hunting with a Topological Prior for Trojan Detection
论文阅读
图学习的小张3 天前
论文笔记:是什么让多模态学习变得困难?
论文阅读·神经网络·机器学习
Maker~3 天前
28、论文阅读:基于像素分布重映射和多先验Retinex变分模型的水下图像增强
论文阅读·深度学习
小嗷犬4 天前
【论文笔记】CLIP-guided Prototype Modulating for Few-shot Action Recognition
论文阅读·人工智能·深度学习·神经网络·多模态