如何利用CXL技术突破内存墙?

CXL诞生的基础是为了解决CPU内存和附加设备内存的互联,实现资源共享,得到最大的性能提升。随着数据大规模超算、AI、5G、云技术、边缘计算、自动驾驶等蓬勃发展,未来的数据存在指数级的增长且要求实时计算。

从2019年的CXL 1.0,CXL协议目前已经发展了CXL 3.1。服务器目前正面临着内存性能挑战,而CXL部署提供了短期和长期的解决方案。从CXL 1.1开始,AI云服务器可以从内存扩展中受益,CXL 3.0为GPU、DPU、FPGA和ASIC等加速器提供直接访问内存池的权限。云服务提供商和超大规模企业将对由CXL 2.0发起的内存池和可组合服务器表现出浓厚的兴趣。同时,数据库服务器将利用运行更大的内存数据库以加快分析速度的能力。

数据中心工作负载变得越来越复杂,需要越来越多的计算能力和内存来处理不断增长的数据量。内存是一种非常昂贵的资源,2022年占服务器价值的平均比例约为30%,预计到2025年将超过40%。为了解决这些问题,已经提出了新型内存处理器接口,旨在优化资源的使用和加速数据中心工作负载的执行。在这种动态背景下,CXL已经崛起并获得了业界的广泛支持。

再回过头看下,为什么说CXL可以解决内存墙的问题?

数据中心在追求更高性能和更低总拥有成本(TCO)的过程中面临三大主要内存挑战。首先,当前服务器内存层次结构存在局限性。直接连接的DRAM与固态硬盘(SSD)存储之间存在三个数量级的延迟差异。当处理器直接连接的内存容量耗尽时,就必须转向SSD,导致处理器处于等待状态。这种等待,即延迟,对计算性能产生重大负面影响。

其次,多核处理器的核心数增长速度远远超过主内存通道的数量。这意味着超过一定数量的处理器核心会因缺乏足够的内存带宽而无法充分发挥效能,从而削弱了额外核心带来的优势,也就是出现了内存墙的问题。

最后,随着加速计算的普及,即加速器配备有自己的直接连接内存,未充分利用或被闲置的内存资源问题日益凸显。

在过去的尝试中,面对内存墙的问题,主要遇到以下四个挑战:

  1. 有限的内存带宽和容量可扩展性:传统内存系统在增加带宽和容量方面面临局限。随着数据密集型应用需求的增长,对内存资源的消耗急剧上升,但内存技术的发展却难以匹配这种快速增长的需求。这导致在处理大规模数据集时,系统因内存不足或数据交换速率慢而受到限制。
  2. 与本地内存显著的延迟差距:当引入外部或扩展内存解决方案时,它们通常具有比直接连接在CPU上的本地内存更高的访问延迟。这种延迟差影响了应用程序的响应时间和整体性能,特别是在那些对延迟敏感的应用场景下,如实时交易处理或高性能计算。
  3. 专有的系统配置和部署:早期尝试通过定制或专有解决方案来克服内存墙,这些方案往往需要特定的硬件和软件配置,导致部署复杂且不灵活。这种专属性意味着升级或维护成本高,且不能轻松地跨不同平台复用。
  4. 与流行应用软件的复杂集成:为了利用新的内存技术,软件需要进行相应的修改或优化,以便能够有效利用扩展的内存资源。然而,这种集成工作不仅技术上复杂,还可能需要大量的开发资源和时间,特别是当涉及到已经广泛使用的流行应用程序时,它们的代码库庞大且改动影响广泛。

以往尝试突破内存墙的努力受限于技术、成本和兼容性等多方面的难题,这些挑战阻碍了内存系统的高效扩展和应用性能的全面提升。

为了解决这些问题,业界正积极寻求新的技术和标准,比如Compute Express Link (CXL),它旨在通过提供标准化的高速互连来提高内存带宽、降低延迟,并简化内存扩展的软件集成,从而有效地打破内存墙的限制。

通过使用CXL(Compute Express Link)技术来突破内存墙,可以实现以下几项关键改进,比如一个CXL控制器厂商测试方案:

  1. 增加服务器内存带宽和容量50%:CXL通过提供一个高速、低延迟的互连标准,使得服务器能够外接更多的内存资源,而不局限于主板上的物理插槽。这样,服务器内存的带宽(数据传输速度)和容量得以显著提升,理论上可以达到现有配置的1.5倍,从而更好地满足高性能计算和大数据处理的需求。
  2. 降低延迟25%:CXL技术设计时考虑到了低延迟通信,使得处理器能够更快地访问外部扩展的内存资源,相较于传统外部存储或网络存储方案,访问时间减少约四分之一。这有助于减少数据等待时间,提升系统响应速度和整体计算效率。
  3. 使用标准DRAM以实现灵活的供应链和成本控制:CXL兼容标准DRAM技术,这意味着企业可以在全球供应链中选择更广泛的内存供应商,有利于成本控制和供应稳定。标准化还简化了内存的采购流程,减少了定制化硬件的成本,使内存升级和维护更加经济高效。
  4. 无缝扩展内存以支持现有和新应用:CXL使得内存资源可以根据实际应用需求动态扩展,无论是对于已有的传统应用还是新兴的内存密集型应用,如人工智能、大数据分析等,都能通过简单的硬件添加来提升内存支持,无需对软件架构做重大调整。这种扩展性保证了系统的未来适应性和灵活性,降低了技术更新换代的成本。

CXL技术为数据中心和高性能计算环境提供了一种有效的解决方案,它不仅提升了内存的性能和容量,而且通过标准化和低延迟特性,简化了系统集成和管理,最终帮助用户突破了内存墙的限制,实现了更高效的数据处理和应用性能。

OLTP(Online Transaction Processing)与OLAP(Online Analytical Processing)是两种不同的数据库操作类型,它们在处理数据和目标上有所区别,而CXL(Compute Express Link)技术在这两种场景下的应用结果展示出了显著的性能提升。

OLTP通常涉及大量并发的小型事务,如银行交易、电子商务订单等,侧重于数据的插入、更新和删除操作,要求极高的事务处理速度和数据一致性。使用CXL内存的测试结果显示,与仅使用本地DDR5-5600内存的系统相比,使用CXL内存和MemVerge Memory Machine进行内存分层后,事务处理能力(TPS)提高了150%,同时CPU利用率提高了15%。

OLAP则是面向数据分析,主要用于复杂的查询和报告,侧重于从大量历史数据中提取信息,进行汇总、分析和预测,如商业智能报表。在OLAP测试中,与仅使用本地DDR5-5600内存的系统相比,结合CXL内存的系统在处理TPC-H(采用1000规模因子)时,能够显著降低大查询时间,几乎减半。

CXL在多个应用领域都有很好的应用前景,比如计算流体动力学(Computational Fluid Dynamics, CFD)、天气研究与预报(Weather Research and Forecasting, WRF)、计算电磁学(Computational Electromagnetics)、区域海洋建模系统(Regional Ocean Modeling System, ROMS)等应用,这些应用往往需要处理大量数据并行计算。

CXL通过内存扩展,使得每个插槽的内存容量可以增加至2.33倍,同时内存带宽提升1.66倍,这对于内存密集型应用来说,意味着可以处理更大数据集而不会受到传统内存限制。

CXL作为一种内存互连技术,对于应对现代数据密集型应用的挑战,尤其是内存墙问题,提供了有效的解决方案。

  • 这对于如SAP HANA这样的内存数据库系统尤为重要,它原本可能受限于服务器DIMM插槽数量,但通过CXL,可以用更少的双路系统达到更高的内存配置,降低了总体拥有成本(TCO)并减少了能耗。
  • 在AI推理和复杂的推荐引擎中,CXL内存扩展提供了足够的内存带宽和低延迟,以支持快速的数据处理和模型查询,提升用户体验。