查看原文
其他

Samsung与VMware合作案例:基于CXL的内存分层技术

常华Andy Andy730
2025-01-01
  • 题目:Bringing Unique Customer Value with CXL Accelerator-Based Memory Solutions

  • 演讲者

    • David McIntyre, Director, Product Planning and Business Enablement, Samsung Corporation

    • Sudhir Balasubramanian, Sr. Staff Solution Architect, VMware by Broadcom

    • Arvind Jagannath, Lead Platform Product Manager, VMware by Broadcom

  • 会议:SNIA Compute, Memory, and Storage Summit

  • 日期:2024年5月21日

David McIntyre

首先,介绍Samsung在CXL平台部署方面的战略背景。我们有一套名为CMM(CXL Memory Module)的解决方案组合。今天我们特别要提及的是CMM-H,“H”代表混合,它指的是一种将DRAM和NAND介质整合在单一SSD规格的解决方案。

两个CXL平台的典型用例:分层内存用例和持久化内存用例。

分层内存:设想一下,将DRAM缓存与包含NAND介质的SSD相结合,构建分层内存架构。这种架构将带来诸多优势:首先,主机可以将DRAM和NAND的总容量视为一个统一的内存资源。利用CXL DIMM技术,可以预先加载和准备DRAM缓存,显著提升应用程序的数据访问速度和性能。此外,应用程序生成的数据可以写入DRAM缓存,以便进行适当准备和优化,进而提升整体存储性能。

持久化内存:CXL平台解决了数据丢失的担忧。即使在电源中断的情况下,数据也能得到可靠保护。在SSD外形尺寸内部配备了内部电源,当电源中断时,控制器会自动将数据从DRAM移动到NAND介质,确保数据的持久性。这对于需要应对停电条件和持续数据持久性的应用程序策略来说非常有用。对于更高容量需求的应用,可以采用外部电源进一步保障数据安全。

对于当今的AI应用程序、大型语言模型、内存密集型数据分析和数据库等领域,CMM具有极高的实用价值。在这些领域,用户绝不希望在不得不重启的时候丢数据。这就是CMM今天的价值所在。

这是一个与VMware合作的具体应用案例。右侧的图展示了CMM H-VSA(虚拟化服务加速器)的CMM版本。它是一款配备FPGA的附加卡,支持VMwareIP实例化,并提供与常规CMM-H相同的资源,但专门针对VMware解决方案进行了优化。

CMM-H的CapEx优势在于,它通过将DRAM和NAND存储器层级化在一个通用板卡上,从而提高了主机CPU核心和虚拟机的利用率。这带来了CPU资源的节约,因为并非通过简单增加内存来实现,而是通过CMM释放虚拟机,使它们能够通过CMM更有效地优化和配置内存资源。OpEX的优势则包括vMotion速度的提升,vMotion是VMware创建的一种管理工具,用于在基础架构上迁移和优化虚拟机的位置以支持应用程序。这降低了故障发生率和主机迁移时间,从而简化了维护操作。

关于VMware IP的关键优势。通过部署和提升CPU、服务器和虚拟机的利用率,能够在基础架构中整合工作负载。通过调整内存资源并优化其与CMM的部署,可以缩短vMotion虚拟机迁移时间并改善工作负载分析,以实现最佳资源配置。未来,内存池化、远程内存分层、加速特定AI/ML和数据分析工作负载以及内存跟踪、清理和主动维护等应用场景都将受益于CMM H-VSA。这些都是提高性能和扩展TCO能力的关键优势。

这是我们实验室中这项技术的一个示例。VSSA插卡已经集成到英特尔Granite Rapids开发平台中。这项技术已经投入使用。一些关键设计特点包括CXL 2.0主机接口以及Gen 5 x16。FPGA采用的是英特尔Agilex系列,并配备了一个集成的ARM核心。该卡支持以太网连接,并且拥有易于管理的功耗特性,还配备了一个外部电源接口。

Arvind Jagannath

接下来,我将重点介绍VMware在CXL加速器方面的一些内容。

首先,分享一些CXL市场数据。总体来说,CXL引起了广泛关注。许多内存供应商、交换机供应商、ISV等都在讨论CXL。行业中支持的各种CXL协议包括CXL.mem、CXL.io等。围绕内存的生态系统正在不断发展壮大,各种相关产品层出不穷。

市场预计到2028年将增长至150亿美元,其中大部分增长来自于内存市场。我们将讨论的一些产品不仅涵盖了内存,还涉及其他多种用例。关键在于,这些产品和技术可以灵活应用于各种场景。

VMware正在基于英特尔Agilex平台进行软硬件协同设计。我们正在构建一个3/4插槽长度的PCIe卡。这张卡功能灵活,不仅支持内存分层,还支持各种其他用例。其优势在于,这张卡经过了VMware的高度优化。由于是软硬件协同设计,它与ESXi内核紧密集成,与卡内运行的代码协同工作。它适用于各种不同的工作负载,如数据库、VDI等,尤其适合对性能有严格要求的工作负载。

另一个值得强调的重要方面是,这张卡不需要任何特殊的BIOS或对OEM服务器的修改,也无需单独的生命周期管理。它完全融入了VMware的生命周期中。每当安装或升级VMware时,卡内组件也会同步升级或安装。它使用的是英特尔默认的BIOS,这意味着OEM无需进行任何特定更改或对其BIOS有特殊要求。该卡支持多达4TB的额外内存,并且可以支持1:1的DRAM到CXL内存分层比率。

这展示了内存分层的演进以及VMware在内存和CXL使用方面的目标。VMware将从CXL内存扩展和分层开始,如幻灯片左侧所示,然后进一步探索基于加速器的特定内存分层,涉及专用硬件设备。这个相同的设备还将用于内存池化和解耦,因为它可以与其他类似设备互连。这使得内存池化和解耦成为可能,正如幻灯片右侧所示,蓝色阴影的设备可以相互交互。主机可以访问多个设备,多个主机也可以访问单个设备,形成完整的内存解耦解决方案。

这个解决方案具有强大的演进潜力,因为它是可编程的,能够处理诸如特殊加密、去重、压缩卸载和分析等任务。最终,VMware可能会利用这个设备进行硬件虚拟化。

最后,我想介绍一个与内存分层不完全相同的用例,而是另一个重要的应用场景。这里的重点是展示CXL如何应用于各种用例,而不仅仅是内存。在这个案例中,这个用例是VMware独有的,是关于内存迁移的创新技术,如vMotion。通过这个特定的工作负载,由于使用了CXL加速器,性能提高了多达30%。

Sudhir Balasubramanian

接下来,我们将讨论基于加速器的内存分层用例。

实验室中的测试情况以及从高层次角度看性能设置的结果。接下来的演示将为我们提供更多关于基于加速器的内存分层性能指标的细节。

在深入测试之前,我们先来回顾一下VMware软件内存分层架构的一些优势。一个显著优势来自于VMware vCenter。VMware vSphere平台对内存或工作负载的内存访问模式有深入的了解,使其能够智能地根据需求控制内存分配。它可以完全透明地管理热和冷内存页面,对任何应用程序工作负载都是透明的,这意味着软件内存分层架构可以兼容所有内存技术,无论是DRAM、二级内存、NVMe、CXL等。对于业务关键型工作负载,如Oracle、SQL和SAP,它们可以非常透明地利用这种内存分层架构。

现在,我们回到实验室进行的基于加速器的内存分层测试。如图所示,有一台装有128GB DRAM的ESXi服务器,并连接了一张CXL加速器卡。这张PCIe加速卡也配备了128GB的内存。从ESXi服务器的角度看,ESXi DRAM和CXL加速器内存都被视为一个统一的连续内存地址空间。

我们的测试涉及创建了两个虚拟机。VM1是一个运行Oracle数据库的虚拟机,配置为12个vCPU和48GB的RAM,其中整个虚拟机的内存都来自ESXi的DRAM,这意味着VM1没有使用内存分层。

对于VM2,它与VM1的配置相同或非常相似,我们再次创建了一个具有相同配置的Oracle数据库:12个vCPU和48GB的RAM。但虚拟机的内存来自ESXi的DRAM和CXL加速器内存,分配比例大约为60%-40%,即60%来自DRAM,40%来自CXL加速器连接的内存。

此外,在图的顶部,还有两个虚拟机VM3和VM4。它们是运行HammerDB Oracle负载生成器的客户端虚拟机,这些负载生成器正在对VM1和VM2上的Oracle数据库进行压力测试。

接下来,我们基于实际运行和演示收集了统计数据。这些统计基本上涵盖了所有性能指标的具体细节。

从演示中可以看到,VM1(仅使用DRAM的虚拟机)每分钟能处理接近140万个事务,而VM2则接近每分钟130万个事务。相比之下,性能下降了约12.7万个事务/分钟,即下降了8.5%,这在长时间的观察中可以说是微乎其微,并且表现相当出色。

从内存分层的角度看,采用内存分层的虚拟机能够实现使用DRAM虚拟机约91%的性能。

本次演示的主要目的是展示内存分层对客户端性能的影响,在使用加速器时,这种影响非常小。在此演示中,我们使用了Oracle作为客户端应用程序,而主要性能指标则是Oracle的吞吐量,即每分钟Oracle提交的事务数量。

现在,让我们逐一看下屏幕上的各个窗口。首先,左上角的窗口展示了在基线虚拟机内运行的Oracle实例上,HammerDB客户端负责生成负载的控制台。图表中,x轴表示时间,y轴表示事务数。HammerDB控制台每5秒更新一次,显示Oracle的吞吐量达到了每分钟约150万个事务。这是我们的基准性能,代表了最高可实现的吞吐量,因为该基线虚拟机不受任何内存分层的影响。

接下来,我们看第二个窗口。在这个窗口中,我们展示了在内存分层虚拟机(MTBM)内运行的Oracle实例上,HammerDB客户端生成负载的控制台。与基准性能相比,这里的Oracle吞吐量略有下降,这是预期的,因为该虚拟机已经启用了内存分层,其中大部分内存已经降级到Tier 1设备。

再来看第三个窗口,它展示了MTBM中Oracle吞吐量占基线吞吐量的比率。这里的指标是通过将MTBM内部运行的Oracle实例的吞吐量除以基线Oracle吞吐量,然后乘以100来计算的,以百分比形式展示。平均而言,MTBM内部运行的Oracle吞吐量约为基线吞吐量的90%至92%。

最后,我们来看右下角的窗口,这里显示了VM内存中不同层级的详细信息。可以看到,约19GB的VM内存,即VM内存的40%,目前已经降级到Tier 1设备,而约29GB,即VM内存的60%,仍然保留在主设备中。此外,这个窗口还显示了连续的读写访问NVMe存储的情况,该存储支持P设备。这些连续的NVMe访问是本次演示中使用的WTP工作负载的直接结果。正如之前提到的,我们使用的是基于TPC-C配置文件的HammerDB工作负载,它展示了高度动态的访问模式,导致客户端工作集的连续变化。这些NVMe读取操作都与客户端内存访问模式的这些变化完全对应。具体来说,NVMe读取操作对应于客户端访问之前被标记为“冷”的页面,这些页面已被降级到NVMe存储。同样,所有NVMe写入操作都对应于之前被标记为“热”的页面,这些页面现在完全过渡到“冷”状态,因此正在被降级到NVMe存储。

最后,我们来看显示vCenter控制台的窗口。vCenter显示测试环境中有两台ESXi主机,分别编号为6和8。PB8主机有一个设备,并且正在运行基线VM和MTBM,而客户端主机则运行着Oracle客户端VM,即客户端一和客户端二。在vCenter控制台中,还有一个图表展示了VM的内存使用情况。这里的绿线表示VM配置的48GB内存都得到了充分利用。



--【本文完】---

近期受欢迎的文章:

  1. 2024年数据+AI发展报告

  2. 戴尔PowerScale存储升级,强化AI模型训练支持

  3. 为AI从InfiniBand转向以太网铺路

  4. 计算架构革新:现在是否正是时机?

  5. Meta:大规模AI基础设施



更多交流,可添加本人微信

(请附姓名/单位/关注领域)

继续滑动看下一个
Andy730
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存