/ 中国存储网

共享计算环境中的内存挑战;CXL 提供触手可及的解决方案

2025-08-29 12:27:57 来源:中国存储网

与工业高性能计算 (HPC) 中心不同,工业高性能计算 (HPC) 中心的计算集群支持特定的工作流,并且可以针对单个作进行设计和优化,而公共计算环境必须支持来自所有领域的数百个应用程序和工作流。美国国家科学基金会、美国国立卫生研究院或其他联邦机构通常为这个大学托管的网络基础设施提供资金。其主要任务是推进研究和培养国家劳动力。

在共享计算环境中,稳定性是系统管理员理智的关键。然而,能够纵互连的控制器层不仅有助于管理员优化工作流程,而且还提供了一个培训环境,研究人员可以在其中学习在支持人工智能和机器学习 (AI/ML) 工作流程时至关重要的技能。在开发新型加速器和其他知识产权时,它也很有用,所有这些都是美国政府的首要任务。

程序化解决方案

共享计算环境中的内存挑战;CXL 提供触手可及的解决方案对于 peta 级和更大规模的工作流程,会出现输入/输出 (I/O) 瓶颈,从而限制性能、可扩展性和效率。例如,WRF(天气研究与预报)应用程序生成的大型天气模型需要频繁地对存储系统进行读/写。定期检查准确性(使用快速移动的事件)会产生额外的开销,这可能会迫使管理员在准确性和速度之间做出选择。存储和计算节点之间的带宽和延迟限制会减慢基因组学、物理学、气候建模和其他应用程序的 AI/ML 工作流程中的训练和推理速度。例如,有些图形神经网络和稀疏张量具有不规则的内存访问模式,与传统的缓存策略不太一致。这种情况会导致缓存未命中和延迟,因为存储很快就会被大量的 I/O 请求淹没。这些挑战表现为带宽饱和、延迟、内存层次结构利用率不足和缓存效率低下。解决这些问题需要采取多管齐下的方法,包括敏捷内存系统、更智能的 I/O 处理和缓存感知编程范例。

管理存储、内存和计算节点之间的大量数据需要自定义软件以更好地利用缓存、临时存储或任何其他附近的存储。这种做法需要时间和人才,这是许多中心所缺乏的。由于每个节点都静态附加了一定数量的内存,因此即使不需要额外的加速或电源,也更常分配额外的节点以用于其驻留内存。这种做法限制了性能、可伸缩性和效率。它还会阻碍其他人可以使用的硬件。访问同一存储基础架构的多个进程会降低每个人的吞吐量。然后,数据可能会在较慢的内存层中闲置,需要紧急数据传输和/或清除。作业调度程序还必须了解内存压力和数据位置才能高效运行。他们可能会花费更多的时间来低效地处理数据,以努力了解数据所在的位置,而不是处理时间,这可能导致作业挂起数小时或数天。

对整个内存层次结构(例如 DRAM、HBM、NVRAM)敏捷内存的需求为交钥匙、第三方、软件级解决方案创造了一个市场,这些解决方案执行预取、中间结果缓存、突发抛光、数据暂存、异步 I/O、I/O 感知模型设计和分层缓存(RAM/SSD/磁盘),有助于减少冗余 I/O 并提高吞吐量。然而,大多数此类优雅的解决方案不仅购买成本高昂,而且在开销和延迟方面也很昂贵。许多大学中心很难负担得起如此奢侈的费用。

进入 Compute Express Link – CXL

来自维基百科:Compute Express Link (CXL) 是一种开放标准互连,用于高速、高容量的 CPU 到设备和 CPU 到内存的连接,专为高性能数据中心计算机而设计。 [1][2][3][4] CXL 基于串行 PCI Express(PCIe 5.0 和 6.0)物理和电气接口构建,包括基于 PCIe 的块输入/输出协议 (CXL.io) 和用于 访问系统内存的新缓存一致性协议 (CXL.cache) 和设备内存 (CXL.mem)。串行通信和池化功能使CXL内存在 实现高存储容量时能够克服常见DIMM内存的性能和插槽封装限制。

三个关键协议:

  1. CXL.io – 与标准 I/O 的 PCIe 兼容。
  2. CXL.cache – 使设备能够一致地访问 CPU 内存。
  3. CXL.mem – 允许 CPU 一致地访问设备附加内存。

CXL 使您能够降低内存成本、提高内存利用率并扩展研究,而无需重写应用程序。主机和设备之间管理内存的复杂性降低,并在硬件级别保持一致性,这使研究人员不必手动编排数据传输或使用繁琐的编程模型,例如 CUDA 感知 MPI。CXL 不仅是性能增强,也是架构的转变。对于学术 HPC 提供商来说,它承诺简化的编程模型、更好的内存效率和经济高效的可扩展性。随着供应商推出支持交换、池化和结构级通信的 CXL 2.0 和 3.0,大学和研究实验室将从早期采用中获益匪浅。在创新通常依赖于计算性能的领域,采用 CXL 提供了战略优势和切实的好处:减少代码、降低开销和增加科学性。

我请约翰·古斯塔夫森(亚利桑那州立大学)对这篇文章发表意见,以确保我准确地描述了问题。John 是一位经验丰富的产品开发专家,最近发布了一个基于 Posits 下一代算术的开放标准。他说,“我赞成将基于硬件的缓存策略转移到基于软件的暂存器中,这样该策略就可以成为应用程序软件的一部分,而不是'一刀切'的设计。从程序员的角度来看,它仍然可以自动化......我并不是要求程序员做更多的工作。编译器和执行环境可以合作设置数据的预取并存储回主内存,并记录历史文件,或者可以像预编译器一样在源代码中放置预取和停用指令,以便更改可见。约翰引用了英特尔研究员谢卡尔·博卡尔的一句话,他说:“缓存是给白痴准备的。

Kurt Keville(semiconDX,在麻省理工学院士兵纳米技术研究所工作了 23 年)和我正在与 Gustafson 博士合作举办TANGO@SC25会议。John 参与了下一代算术会议 (CoNGA)。我们将在圣路易斯举行的 SC25 之前举办会前研讨会和时差日。CoNGA 的论文征集最近被延长。我们刚刚收到 NSF 的获奖通知,这使我们能够通过 STEM-Trek 捐赠来支持美国申请者和国际同事的参与费用。谢谢 NSF 和捐助者!访问 STEM-Trek 网站,您可以在其中找到两份申请——一份针对美国参与者,另一份适用于来自所有其他国家的申请人。

我在加利福尼亚州圣克拉拉举行的内存和存储未来会议 (FMS) 上认识的 David McIntyre(三星:设备解决方案/美国内存产品规划解决方案和市场开发总监)补充道:“另一个 CXL 用例包括内存扩展,以在跨多个主机池化的单个服务器上增加大量容量,超越库存服务器的限制。对于 Gustafson 博士的观点,他补充说,“关于软件缓存管理,借助设备(例如 CMM-H(来自三星))中的设备级硬件缓存,每台设备可提供 4TB 的内存阻容容量。

我有没有提到 CXL 是一个开放标准,因此资源受限的 HPC 中心可以访问?

大多数非洲 HPC 生态系统项目合作伙伴和美国的 EPSCoR 州机构都负担不起正在开发的交钥匙解决方案,除非他们有富有的行业合作伙伴。 然而,所有这些都在培养优秀的程序员,如果他们能够获得源代码的实践经验来训练,他们可能会创建更多这样的解决方案。 一旦他们从重新调试的经典 X86 硬件迁移到支持 PCIe 的可组合系统,他们就可以使用 CXL 来支持更智能的 AI/ML 工作流程。例如,这些中心创建的天气模型用于在发生危险情况时向社区提供信息。速度和准确性至关重要,但使用当前的硬件处理大数据很困难。这段发现之旅让我比以往任何时候都更有信心,Isango 平台至关重要。Isango 被设想为一个便携式、可组合且经济实惠的培训平台。