问题意识及现况
随着AI/ML/自动驾驶等数据密集型场景逐渐落地,新一轮应用资源特征,对现有计算架构提出新挑战,产业需要平衡三大资源:
- 1. 计算
- • 要求充分利用本地计算资源
- • 区分应用特征
- • UCIe(Universal Chiplet Interconnect Express 旨在促进异构集成)
- 2. 内存
- 3. 存储
新业务场景对内存架构的挑战:整体数据量变大,热数据比例显著增加,
如何有效扩充热数据存储亟待解决,同时满足低成本、可扩展。
基于业务场景的变化,对内存架构做了新的分层,基于CXL 、DDR、HBM新增4个存储层:
- 1. Near Memory:这是位于主内存之上、缓存之下的一个新的层级。近内存(Near Memory)通常由更快但容量较小的存储介质组成,比如HBM。这个层级的目标是在传统DRAM之上,提供更快的访问速度,同时保持相对较低的成本。
- 2. Memory Expander:内存扩展器是一种技术,它允许增加系统内存总线的带宽,以适应更高性能的工作负载需求。这可能包括诸如Intel Optane DC Persistent Memory之类的解决方案。
- 3. Tiered Memory Solution:分层内存解决方案是一种混合内存架构,它结合了多种内存和存储技术,根据其性能和成本特性进行分层。这种方案允许根据数据的热度动态调整数据的位置,确保最常用的数据存储在最快的内存中。
- 4. Peta-Scale SSD:这是一种新型固态硬盘,具有极高的容量(peta-scale表示千兆字节级别),专为大规模数据存储和处理设计。这类SSD不仅提供大容量存储,还具备高吞吐量和低延迟,适合于大数据分析和人工智能等需要大量数据访问的应用场景。
计算架构转型,要从传统CPU为核心的体系,转移到以数据为中心的加速计算体系,减少数据传输,集中体现在2个角度:
- 1. 内存计算
- 2. 计算型存储
左图中说CPU负载过重,可能是Samsung对Intel老大哥的尊重,数据中心场景CPU负载并不高,关键是AI/ML等新场景对带宽的需求,数据送不进来,导致CPU一直在空转等待,而高能耗的CPU可禁不起一直放着。
换个思路,既然带宽限制数据传输,那就多级分工,把能在存储侧解决的问题(如解压缩、加密、重删)在存储侧解决,就产生了计算型存储的需求;同样能在内存中解决的计算问题(如数据迁移、I/O级别的细粒度加密、安全等)在内存中解决,刚刚结束的FMS-2024就宣布扩展了最新NVMe命令规范[1]。
数据为中心计算体系的4个优势
- • 降低能耗
- • 精简传输中的数据量
- • 提高有效带宽(DDR松了一口气)
- • 扩展计算能力
作为新的计算架构,数据为中心的体系面临若干挑战:
- 1. 如何统一数据传输过程的接口,是基于TCP还是Fabric,目前尚未定论;
- 2. 缺乏”杀手级“应用,企业举棋不定;
- 3. 缺乏易用性。
基于CXL的内存扩展方案
CXL是一种旨在提高数据中心效率的技术,通过提供高速连接和内存一致性来优化性能,特征如下:
- 1. CXL联盟 - 开放标准(非专有)
- 2. 定期规范更新(CXL 1.1、CXL 2.0、CXL 3.0)
- 3. 高速、低延迟互连
- 4. PCIe物理层(PCIe 5.0、PCIe 6.0)
- 5. 支持各种类型的记忆体(易失性、非易失性)
- 6. CPU和CXL设备内存一致性
- 7. 支持交换(多级)、内存池化及共享
- 8. 直接点对点(P2P)通信
上图是 CXL 规范迭代路径,随着规范不断扩充,支持能力也不断增加。
下图展示了CXL(Compute Express Link)的不同版本及其功能,包括内存扩展、交换、池化和共享:
- • 左侧部分表示CXL 1.1,直接内存扩展,主机通过CXL链接直接连接到内存扩展器,支持给单台设备扩展。
- • 中间部分表示CXL 2.0,内存池化,使用CXL 2.0交换机将多个内存扩展器连接在一起,为多个主机提供内存。
- • 右侧部分表示CXL 3.0,内存池化和共享,使用多级CXL 3.0交换机进行更复杂的连接和资源共享。
从CXL扩展出3种专用设备,其中Type-3设备在数据为中心的计算场景最为广泛。
其架构设计在CXL1.1标准中就已规范,可能最先落地。
Samsung的CXL解决方案
这张图片介绍了三种不同类型的CXL(Compute Express Link)设备:
- 1. 内存扩展器:这是一种CXL Type 3设备,其特点是拥有高带宽和低延迟,主要作用是扩展内存。
- 2. 分层内存解决方案:同样是CXL Type 3设备,但带有.mem和.io作为活动数据路径。
- 3. 加速器附加解决方案:这是CXL Type 2/3设备,包含一个带有CXL接口的加速器。
每种设备都有不同的数据路径:
- • 内存扩展器的数据路径仅限于.mem;
- • 分层内存解决方案的数据路径包括.mem和.io;
- • 而加速器附加解决方案的数据路径则是.cache、mem和io,其中还包括一个CXL和加速器组件。
Memory Expander-内存扩展器
左图是无CXL扩展内存时的巅峰容量,每个DIMM放置512GB内存(极限),8个双列直插内存模块通道,每个通道上有两个DIMM,总共支持16个DIMM,合计8TB/CPU;
当有CXL扩展内存(前图 Memory Expander 类型 CXL 1.1)时,通过外部PCIe 扩展插槽,可再额外扩充4TB,达到惊人12TB/CPU。
Samsung 内存扩展卡,配置:
- • 尺寸:EDSFF(E3.S-2T)
- • 支持CXL 2.0
- • CXL链路宽度为x8
- • 接口:DDR5
- • 模块容量:128GB, 512 GB
- • 最大CXL带宽:32GB/s(单向)
- • 病毒保护和数据中毒防护
- • 内存错误注入
- • 多符号EC,媒体擦除
- • 可用性:目前可用于评估/测试(尚未发售)
分层内存解决方案
图片展示了一款名为Memory-Semantic SSD的产品,它是针对内存计算的解决方案。产品特性包括:
- • 使用CXL(Compute Express Link)技术的SSD,内置DRAM。
- • 应用场景包括处理AI和ML应用,这些应用通常需要相对较小的数据块。
- • 应用程序可以以DRAM速度将数据写入DRAM缓存。
- • 低延迟由CXL.memory协议启用。
稍微扩展下对图中业务场景(双支持模式)的理解:
- 1. 常规业务下,应用程序仍通过:CPU--DRAM--SSD方式读取数据,该过程经过CXL.io优化;
- 2. 小文件读写场景(高性能、并发、高带宽),此时为扩展直连DRAM空间,通过SSD内置DRAM缓存与CPU交换数据,从而提高数据处理并发。
除了双支持模式外,还有个“Persistent Memory Mode”(持久内存模式),其业务架构满足:
- • Linux操作系统上的应用程序可以直接通过CXL.mem访问DRAM中的数据,并通过刷新操作实现持久性,即数据会保存到NAND中。
- • 此外,还有一个外部电池备份,用于在断电情况下保护数据完整性。
- • 这个模式下,RoCE(基于以太网的RDMA)被用来提供元数据、低延迟IO以及高优先级的索引和日志服务。
小结
- 1. 数据为中心架构转型 新兴应用驱动计算架构转向数据为中心,减少数据传输,提升处理效率。内存架构新增Near Memory、Memory Expander等层次,聚焦高速缓存、内存扩展与混合存储,计算型存储与内存计算成关键。
- 2. CXL技术与挑战 CXL提供高速低延迟互连,支持内存一致性,三星等厂商推出CXL设备,实现内存扩展与共享。但数据为中心体系仍需解决接口标准化、应用生态及易用性难题。
- 3. Samsung CXL解决方案 三星CXL设备涵盖高带宽内存扩展器与Memory-Semantic SSD,后者支持双模式访问,利用CXL不同版本特性,提供灵活数据处理与存储选项,增强数据中心效率。
---【本文完】---
引用链接
[1]
最新NVMe命令规范: https://nvmexpress.org/nvm-express-releases-nvm-express-specifications-to-unify-ai-cloud-client-and-enterprise-storage/