基于CXL的HPC和AI工作负载的内存解耦(PPT)
演讲者:Hokyoon Lee, Jungmin Choi
摘要:Compute Express Link(CXL)天然就具备可组合性,通过CXL.mem事务实现内存资源的解耦。在本文中,我们将重点介绍两个强大的应用场景:内存池化和共享,让用户获得前所未有的好处。
内存池化场景:解决内存滞留问题的关键在计算集群中,每个主机服务器的内存利用在不同时间会有所变化,这要求系统管理员根据其峰值利用率为实时或交互式应用程序配置DRAM容量。然而,每个服务器中未使用的内存却永远无法被其它服务器利用,从而产生了滞留内存的问题。SK海力士的Niagara,一种基于CXL的内存池解决方案,成功解决了这个滞留内存问题。我们基于FPGA的内存池解决方案可以连接到四个主机服务器,并支持最大容量为1TB的四个DDR DIMM通道。
内存共享场景:零拷贝分布式计算框架的核心传统的分布式计算框架,如Spark和Ray,在将数据和任务分发到计算节点时会产生大量的网络流量。为了解决这个问题,我们在Niagara中实现了内存共享功能,使得多个主机服务器可以直接访问相同的数据,而无需通过网络传输数据。在本论坛中,我们将通过Ray框架中的实际工作负载展示内存共享的实用性,众所周知,Ray框架在ChatGPT中得到了广泛应用。
不断增大的内存带宽和容量差距
随着核心数量的不断增加,对内存带宽和容量的需求也在持续提升。
这种需求与平台配置能力之间的差距正在扩大。
当前HPC和AI工作负载面临的挑战
挑战1:内存滞留和数据溢出
每个节点在计算集群中的内存利用会随时间变化而波动。
每个节点中未使用的内存永远无法被其它节点充分利用,从而导致内存滞留和数据溢出。
HPC和AI工作负载的内存使用应当与内存容量相适应。
当前HPC和AI工作负载面临的挑战
挑战2:数据传输开销和数据重复
在分布式计算系统中,远程节点之间存在基于网络的数据传输开销。
节点之间共享数据的重复增加了本地内存压力。
在软件设计中需要付出艰苦努力,以有效利用解耦的计算和内存资源。
内存解耦:池化与共享
内存池化:通过共享内存资源来缓解内存滞留和数据溢出问题。
内存共享:通过共享数据来消除数据传输开销和数据重复。
CXL互连带来的机会
CXL在物理限制之外创造了新的机会,实现了高效的内存解耦。
可组合的分离式基础设施(CDI)
利用管理软件将计算、存储和网络元素组合在一起。
由计算(CPU)、存储、GPU和内存的分离式资源池组成。
解决方案:Niagara CXL分离式内存
Niagara是一款基于2U FPGA的多端口CXL分离式内存原型
支持连接高达8个CXL主机服务器,支持最多4个通道的DDR4 DIMM(最高1TB)
支持内存池化、共享以及其它硬件辅助功能
应用案例1:内存池化
Niagara可以在不重置的情况下为每个节点动态分配/回收分离的内存资源。
提高搭载CXL分离式内存系统的内存利用率和性能。
应用案例1:内存池化 评估
通过减少数据溢出,降低执行时间,从而提高系统的内存利用率。
应用案例2:内存共享
Niagara支持允许所有主机访问Niagara作为共享数据内存的固件。
消除了对象序列化和通过网络进行远程对象访问的传输。
不再需要在不同节点上复制对象副本,实现了零拷贝。
应用案例2:内存共享 评估
通过消除基于网络的数据传输开销,降低执行时间。
Niagara的硬件辅助功能
Niagara支持CXL分离式内存效率的硬件辅助功能
块数据管理:在CXL池化内存内复制或移动数据
快照:将数据保存和恢复到/从CXL池化内存到/从存储设备
内存故障预测:通过分析内存故障模式预测内存不可纠正错误(UEs,Uncorrectable Errors)
Niagara展示
演示根据VM服务器内存需求的变化,执行CXL分离式内存容量的动态分配和回收操作。
收获
基础设施软件,如OpenStack和Kubernetes,对分离的内存资源不敏感
需要进行列举、监视和管理分离式内存资源。
Linux内核尚未充分准备好利用CXL分离式内存的DCS(或DCD)功能
分配/释放的粒度为128MB或2GB的固定大小。
由于在释放时有大量活动页面需要迁移,导致内存部分的离线失败频繁。
软件应负责管理数据的一致性以及使用共享内存的一致性。
主机CPU和内存应支持CXL 3.0规范中的嗅探过滤器和反失效机制。
传统的分布式计算平台(例如Spark)已经在并行计算方面表现出色。
下一步工作
性能
内存共享:开发基于硬件的同步机制,以消除软件通信开销。
二层内存管理:实现热/冷页检测与迁移。
可扩展性
基于交换机的CXL池化内存架构和软件。
研究高效的机架间通信方式。
耐久性
池化内存管理器:开发集群管理软件,包括自测试、自愈和错误监测。
内存故障预测:支持各种内存介质,如DDR4/DDR5。
---【本文完】---
近期受欢迎的文章:
更多交流,欢迎添加我的微信
---【下面是广告】---
闲着也是闲着,分享一些我觉得不错的东西