核心观点与关键数据
随着晶体管密度的增长,系统级芯片(SoC)的计算能力提升需要内存容量和带宽相应增长以维持性能平衡。物理限制导致内存层次结构(本地内存、扩展内存、扩展内存)成为趋势。CXL(计算 eXpressLink)连接内存池与多端口CXL内存控制器,实现本地解聚合内存池化,提供软件定义、灵活的内存占用,消除内存泡沫。
技术优势与用例
CXL通过内存池化,允许一组主机节点连接到CXL池内存控制器(CPMC),扩展每个主机的内存容量。优势包括:
- 降低材料成本
- 提供更多保留内存池,为应用程序增加价值
- 性能/TCO优化
CXL实现的技术优势:
- 基于PCIe物理层的高速优化相干互连
- 低延迟加载/存储语义(短数据包)
- 内存容量和带宽扩展
- 持久性使用加载/存储语义
- 池化内存,避免多余数据移动
主要用例:
- 内存加速器互连
- 存储级内存
- 基于PCIe物理层的高速优化相干
- 加载/存储语义
- 计算卸载,CPU和加速器在相同相干内存区域工作
生态系统与客户需求
CXL生态系统主要公司已宣布产品计划,包括SoC供应商、内存控制器供应商、存储供应商等,提供成功和有利可图的环境。客户需求:
- 企业客户将需求转移到云数据中心,享受规模化和多样化需求
- 边缘解决方案受益于企业和云的相互作用
基本要求与解决方案
基本要求:
- 提供集成硬件和软件解决方案
- 高质量、安全、可靠、可用、可管理、可服务、可诊断
- 性能高效(功率、空间、成本、时间、复杂性)
解决方案:
- 基于核心构建块的异构变体可扩展平衡
- 模块化积木,满足客户需求,避免资源未使用或未充分利用
可扩展性拓扑与计算分解
可扩展性拓扑:
- 较长链接
- 模块化机柜
- 有线解决方案
- 光子学点对点
- 多端口、已切换可扩展性(异构)
- 计算(xPU)、内存、存储、网络密度
计算分解:
- Fabric:动态互连异构元素形成计算系统
- Sharing池化:将资源划分为逻辑单元分配给不同服务器
- 局部分解、物理分解、逻辑分解
- 一致性维护
- 向上扩展、串行共享、并发共享、借款
内存扩展与CXL定位
内存扩展:
- 基于网络或改变互连协议的异构或分布式多服务器计算
- 管理多个层级内存和交换/分页技术
CXL定位:
- 不是终点,应将不同功能放在合适位置
- PCIe软件管理一致性(DMA、RDMA)、块数据移动
- CXL硬件管理一致性、加载/存储、内联代码
- 启用新的优化和编程范例
过渡期与基本要求坚持
过渡期:
基本要求坚持:
- 所有基本要求仍需满足
- 特定于操作系统的软件(CXL内存设备驱动程序、CXL总线驱动程序、CXL结构管理器)
- 与总线驱动程序、结构管理器和VMM的交互
- RAS、安全、故障隔离
- ECN:CXL.mem和CXL.cache上的错误隔离
总结
CXL通过内存池化和灵活的内存占用,提供高性能、低成本的解决方案,满足大规模数据中心需求。生态系统广泛参与,客户需求多样化。解决方案需满足基本要求,提供集成硬件和软件。可扩展性拓扑和计算分解技术支持异构系统。CXL定位为合适的技术选择,但需与其他技术共存。过渡期需坚持基本要求,利用全行业努力实现集成系统。