首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >基于CXL™-Type3 实现内存池化

基于CXL™-Type3 实现内存池化

作者头像
数据存储前沿技术
发布2025-02-11 16:38:23
发布2025-02-11 16:38:23
1K1
举报

关于Microchip

Microchip Technology Inc. 是一家总部位于美国亚利桑那州钱德勒的半导体公司,成立于1989年。该公司专注于设计、开发和制造微控制器、混合信号、模拟和闪存(Flash)IP解决方案。Microchip 的产品广泛应用于汽车、工业、消费电子、计算机和通信等多个行业。

Microchip Technology Inc. 的关键业务领域和产品:

  1. 1. 微控制器:Microchip 提供多种架构的微控制器,包括8位、16位和32位微控制器,广泛应用于嵌入式系统。
  2. 2. 模拟和混合信号产品:该公司生产各种模拟和混合信号设备,如放大器、电源管理IC、传感器接口IC等,帮助设计高效和高性能的电路。
  3. 3. 存储器产品:Microchip 提供多种类型的存储解决方案,包括串行和并行EEPROM、串行SRAM、串行Flash等。
  4. 4. 无线和有线连接:公司提供一系列无线和有线通信解决方案,包括Wi-Fi、蓝牙、LoRa、以太网、USB等,满足不同应用的连接需求。
  5. 5. 开发工具:为了支持工程师进行产品开发,Microchip 提供各种开发工具和软件,如MPLAB X集成开发环境(IDE)、编译器、调试工具等。
  6. 6. 安全解决方案:Microchip 提供硬件安全模块(HSM)、加密加速器和安全认证设备,帮助保护数据和通信的安全。

问题意识

俗话说:提出好的问题,往往事情就解决了一半。

  • • CPU供应商正在迅速推出多核多线程的强大CPU (为什么多核会成为计算新趋势?CISC指令集难以支撑产业对算力的需求)
  • • DDR内存由于多种原因无法跟上CPU的进步(需要指出的是DDR并非落后,带宽速率仍领先同代PCIe 2-3倍,只是场景对内存的需求变大了)
  • • 可以直连到CPU的DDR内存量受到限制
    • • 因为每个CPU的并行DDR接口/通道数量有限制(高性能计算通常是4通道,也有6通道)
    • • IO引脚的数量有限 (DDR 内存扩展的物理限制)
    • • 添加更多接口会影响CPU的封装尺寸

解决内存瓶颈问题与CXL高速串行接口

典型CPU-DDR内存的访问方式,基于多通道的并行访问

关于CPU访问内存的瓶颈,在ARM多核处理器场景,有个NUMA解决方案,其核心思想是:在CPU每个Die中封装相应Memory Die, 从而实现非一致性内存访问(即NUMA),部分缓解集中式内存访问带来的瓶颈点问题。

需要指出的是,在数据密集型、要求大内存带宽的场景,不论是NUMA还是CXL本质上都是围绕CPU展开的优化策略,不断提高可访问内存的带宽,来提高CPU的利用率(CPU对复杂指令的的计算上限很高)。

更优解可能是围绕数据本身的GPU(TPU)+DPU方案,在这个体系里,就内存带宽而言,较CPU方案内存带宽大幅提升。

围绕CPU:

  • • DDR5 双通道带宽在100+GB/s, DRAM内存池大概在2T左右(32 slot * 64GB/slot );
  • • CXL 带宽基于PCIe,当前PCIe5.0 x16理论带宽在62GB/s,内存池大小与DRAM相当,或更大。

围绕GPU/TPU:

  • • HBM, 当前最先进的是HBM3(HBM3e 恺侠等厂商24年下半年量产),带宽较远超同代DDR(一说3.58TB/s),内存容量相对较小,CXL亦可扩展数据密集型场景的内存池。

基于CXL扩展内存池的设计,外挂一个高速串行访问的接口来访问共享内存(多个CPU,甚至是跨节点CPU )。

CXL介绍及CXL Type 3设备简介

CXL是一个基于PCIe 5.0基础设施的新兴开放行业标准

• 用于主机处理器和加速器/内存设备/智能网卡之间的高带宽、低延迟互连

• 针对AI、机器学习、通信等高性能计算工作负载

• CXL 1.0 --> CXL 1.1 --> CXL 2.0 --> CXL 3.0

• 动态多协议功能,支持新模型

代码语言:javascript
复制
• CXL.io - 核心模块,基于PCIe的初始化、发现、寄存器访问、中断、虚拟化、DMA协议 
• CXL.mem - 优化延迟的内存语义支持协议 
• CXL.cache - 优化延迟的缓存语义支持协议

• CXL运行在PCIe 5.0 PHY上,数据速率:32 GT/s

• 插拔式:可以插入PCIe或CXL卡

• PCIe或CXL链路在训练期间进行链路协商


基于DDR5的访问带宽能达到6400MT-8400MT/s

理论上来说CPU-DDR的访问速率比PCIe能力要强,但随着DDR封装技术成本越来越高,且云服务厂商热数据的访问需求变大,单纯依靠DRAM来支撑内存,已显然不是最佳方案。

因此从实际业务背景来看,作者在问题提出模块,并未没完全介绍清楚CXL背景,只介绍到DRAM内存限制,然而这不一定是DRAM的缺点,而是业务场景倒逼出更大容量的内存访问方法。

CXL是今天热议的,SCM领域的傲腾内存是之前的解决方案

就DDR4(3200MT/s)和PCIe4.0(16通道,16GT/s) 来比较,前者比后者理论带宽要高60%左右。

下一代DDR5(6400-8800MT/s)与PCIe5.0(x16)比较理论带宽仍领先60-80%。

基于PCIe5.0(及后续)的CXL技术,本质上是长距离访问技术,相较DDR的CPU并行访问,PCIe基于串行访问,造成其相对高的访问延迟。

通过设计CXL访问堆栈(专用硬件+Cache组合),即CXL控制器,来降低访问延迟。

如何实现CXL控制器是核心技术,主动权在Intel手上。

CXL 联盟定义了3种CXL设备的概念设计,分别是:

  • • type1 连接交换机的专用加速网卡
  • • type2 数据密集型的GPU、FPGA加速卡
  • • type3 内存Cache池

从场景落地远-近程度,type3 Memory缓存池,是缓解当前CPU闲置率较高,加速AI 训练、推理的重点关注对象。

介绍了专用设备-内存缓存池的实现逻辑,这可能是最先能实现的。

  1. 1. Host Memory:主机内存,由CPU直接访问的内存模块。
  2. 2. MC(Memory Controller):内存控制器,负责管理内存访问请求,通常集成在CPU或PCH(Platform Controller Hub)中。
  3. 3. Root Complex:根复杂度,PCIe拓扑结构中的核心部分,连接着各种设备和桥接器。
  4. 4. IO Bridge:I/O桥接器,用于连接不同类型总线的设备,例如PCIe设备。
  5. 5. IOMMU(Input/Output Memory Management Unit):输入/输出内存管理单元,用于虚拟化和安全目的,能够映射和保护设备的内存访问权限。
  6. 6. Home Agent:宿主代理,CXL架构中的一个重要组件,负责协调CXL设备与主机之间的通信。
  7. 7. CXL Memory Expander:CXL内存扩展器,一种专门设计用来增加系统内存容量的设备。
  8. 8. CXL Attached Memory:通过CXL连接的内存,可以被主机和CXL设备共享访问。

下一代高性能计算服务器主板(母版)概念:

  • • 52核,应该是 Intel Xeon Max Series CPU ,同期的AMD可以做到更高核数
  • • 每CPU内4个内存控制器
  • • 双工传输,每个CPU能达到8并行
  • • 每个CPU配置16个DDR5插槽
  • • 合计32个DDR5插槽
  • • 总DDR5 内存容量可达2T,64GB/插槽,SK海力士最大能做到 256 GB[1],价格惊人
  • • 多个(可能是4个)基于PCIe5.0的CXL扩展插槽

基于CXL的内存解决方案

高性能计算场景扩展内存,2种嵌入方式

  • • 类似服务器DIMM插槽,可充分利旧DDR4/DDR3存量设备;
  • • 基于DRAM(也可能是NAND)颗粒,来定制大容量专用内存扩展卡。

数据密集型场景的内存扩展,可能是计算型存储。

  • • E1.S 形态可能比较适合移动PC的内存扩展;
  • • E3.S 形态和企业SSD硬盘比较接近;

上述两种,大概率都是把CXL内存集成到SSD控制器中,不太可能是完全的CXL内存。

典型1U设备的内存扩展形态,基于E.1L EDSFF形态

CXL内存控制器要求

CXL 内存控制器需满足以下条件:

  • • 低延迟接口
  • • 省电设计
  • • 成本效益高
  • • 数据完整性
  • • 安全性
  • • 直接连接DDR等丰富功能集
    • • 错误校正(SECDED、Chipkill)
    • • 巡逻擦除和需求擦除 • 温度控制能力
    • • sPPR、hPPR

结论

• 计算快速链接™(CXL™)利用现有的PCI Express®(PCIe®)电气结构来扩展高性能计算应用(如人工智能(AI)和机器学习(ML))中的内存资源。

• 使用CXL,可以通过使用CXL内存控制器将额外的内存设备(如DDR DRAM、HBM或持久性内存)连接到CPU来实现内存扩展。CXL内存控制器允许系统访问额外的内存,就像它是CPU的本地内存池的一部分一样,从而提高内存容量和带宽。

---【本文完】---

引用链接

[1] SK海力士最大能做到 256 GB: https://www.dramx.com/News/Memory/20240723-36726.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-08-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 王知鱼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题意识
  • 解决内存瓶颈问题与CXL高速串行接口
  • CXL介绍及CXL Type 3设备简介
  • 基于CXL的内存解决方案
  • CXL内存控制器要求
  • 结论
    • 引用链接
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档