查看原文
其他

VMware内存分层技术:从NVMe分层到CXL加速器

常华Andy Andy730
2025-01-01
  • 题目:VMware Memory Vision for Real World Applications

  • 演讲者

    • 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月22日

Arvind Jagannath

我们将深入探讨VMware在内存技术创新方面的一些重要解决方案和进展。

幻灯片顶部的图清晰地展示了虚拟机密度的持续增长。红色和绿色条形图所呈现的持续上升趋势,意味着越来越多的客户在主机上部署了更多的虚拟机。

这与下面的图里的趋势紧密相关,客户在主机上配置了更多的内存资源。特别是在2022年至2023年之间,高内存容量主机内存池的增长尤为显著。这一趋势凸显了内存分层技术的重要性,因为它能够在不牺牲性能的前提下,降低内存的总成本和提升容量。

另一个值得注意的现象是,客户通常有备用的CPU核心。内存容量增加的另一大原因是客户试图通过内存分配来平衡资源利用。从左侧的图中显示,客户通常以某种方式配置内存,使得部分内存可以过度分配(over-provision),但并非所有过度分配的内存都能直接用于工作负载。这部分内存主要作为保险,以应对高峰需求。然而,这往往导致CPU资源的闲置,许多客户实际上拥有大量的备用CPU核心。相比之下,内存资源却常常成为瓶颈。此外,客户也倾向于超额配置内存资源。通过右侧的内存分层技术,我们可以从第二层提供这种保险容量,从而帮助客户充分利用和优化他们最昂贵且性能最佳的DRAM资源,同时利用性能稍低的二级存储层。

接下来,我们详细介绍这些解决方案。

这些解决方案的核心理念之一是“保险内存”。一个客观的情况是,许多客户的活动内存使用率大约在50%左右。这里的活动内存与消耗内存有所不同,它表示的是整个主机内存范围内的内存访问范围,通常这一比例在50%或更低。这意味着,通过智能的内存分层技术,将热点页面移回DRAM(成本最高且性能最佳的内存层),我们可以获得更好的系统性能。

关于内存分层及其具体实现方式,硬件是其底层支撑。这包括各种计划支持的硬件,如DDR、CXL加速器、CXL扩展设备、NVMe以及池化的NVMe。ESXi或vSphere的优势在于将这些硬件完全抽象化,为客户提供了一个统一的单一内存地址空间。现在,工作负载可以从这个完整的内存地址空间范围内分配内存,不仅仅包括DRAM,还包括一些可以作为二级存储层支持的其他设备。

那么,客户又能从中获得哪些好处呢?首先,资本支出(CapEx)降低了,因为现在客户无需部署成本高昂的DRAM,而可以采用一些成本较低的解决方案或硬件。其次,CPU核心利用率得到了提高。CPU和内存之间的不平衡问题得到了解决,客户现在能够更好地平衡他们的资源。此外,这也降低了运营支出(OpEx)。内存可以按需轻松部署,通过加速器等解决方案,不仅实现了内存相关的创新,降低了总拥有成本(TCO),还能拓展到一些传统的基于内存的应用场景之外。包括vMotion加速、页面追踪改进、内存韧性以及未来的一些高级应用场景,例如将某些处理任务卸载至硬件进行加密、重复数据删除、压缩或执行分析等。

在最左侧是2TB纯DRAM的成本比较。它显示了服务器极高的物料清单(BOM)成本,其中许多费用来源于DRAM的分配。现在,如果能减少DRAM并用低成本的内存(如NVMe)替代,可实现近19%的成本降低。若进一步采用基于CXL的加速器,其提供高达1:1的替换比例,可以实现大约35-36%的服务器BOM成本降低。这些都是真实的服务器OEM成本,客户将从中获得显著的TCO收益。

NVMe的一个显著优势是,查看服务器机箱上的可用插槽,可以直接将E3.S或EDSFF规格尺寸的NVMe插入这些插槽,瞬间就能扩展内存容量。

通过NVMe分层,VMware将实现基于软件的分层技术。该软件完全集成在ESXi内核中,意味着客户无需担心使用了哪些层以及如何分配。他们仍然可以享受到一个单一的内存地址空间,而软件分层则会在内核和管理程序的后台自动完成。

这是VMware正在开发的特殊加速器,它是硬件与软件协同设计的产物。这是一种Type 2加速器,预计将从Intel Granite Rapids CPU发布时开始提供。之前基于NVMe的解决方案也适用于Intel和AMD的上一代CPU。使用此加速器,关键在于它能够支持各种工作负载,因为硬件中内置了智能功能。它不仅能在ESXi主机上进行分层,还能进一步提升性能。它可以支持更广泛的工作负载,如VDI和数据库,包括性能敏感型工作负载。该加速器的另一个重要特点是无需任何特殊的配置或部署步骤,完全集成在vSphere的部署中。随着vSphere的安装和升级,该设备的组件也会相应地被安装和升级。此外,它还能提供高达4TB的额外内存容量。

想象一下,如果客户按照1:1的比例部署——即主机上的4TB DRAM与设备上的4TB内存,那么服务器将拥有高达8TB的总主机内存容量。

VMware一直在深入研究CXL技术。我们将支持CXL内存扩展器,也将支持内存分层解决方案,并随后支持基于CXL的加速器,这不仅能够提供更优质的内存分层解决方案,还能实现内存池化以及解耦功能。

右边的图中,蓝色阴影部分代表加速器。可以设想一种配置,其中主机能够访问多个设备,或者多个主机作为一个单一设备协同工作。这种配置能在整个集群中实现更高效的内存利用,并由VMware提供高效的管理。此外,加速器还能启用其他多种应用场景。我们可以开始利用设备进行卸载处理,因为设备具备智能处理能力。同时,它还能支持分析功能,最终将其发展成一个完全集成的硬件虚拟化设备,进行各种存储、网络和内存管理。

Sudhir Balasubramanian

Arvind已经详细介绍了CXL的应用场景和优势。在此之前,VMware已经通过分层内存架构和框架实现了内存分层。让我们简要回顾一下。

如图所示,有两台ESXi服务器:服务器一配备了X量的DRAM,服务器二也配备了同样量的DRAM(X),以及一些二级内存(我们暂且称之为Y)。这里的目的是证明,通过内存分层架构,我们能够运行更多的工作负载。基本上,我们利用DRAM和二级内存,并提供一个单一的统一地址空间。其性能与基于DRAM的工作负载非常接近或可接受。

这个应用场景主要是为非延迟敏感和非关键工作负载增加内存密度,例如开发、测试、训练等非生产环境工作负载。在这个配置下,我们能够在内存分层服务器上运行两个虚拟机,而在仅使用DRAM的服务器上只能运行一个虚拟机。所有虚拟机的配置,包括vCPU数量和内存量,都是完全相同的。

我们进行了多次测试,这里使用的是工作负载生成器SLOB(Silly Little Oracle Benchmark)。这是一种Oracle基准测试工具。由于测试是只读操作,因此更新百分比设置为零。测试运行时间为20分钟,我们进行了多次重复测试。

在所有这些测试中,我们主要关注了两个指标:每秒执行的SQL数量和每秒逻辑读取块数。就每秒执行的SQL数量而言,虚拟机的总指标(即VM1和VM2的总和)大约是每秒69000个,而仅使用DRAM的虚拟机则只能达到每秒41000个。每秒执行的SQL数量是数据库用来衡量其吞吐量和性能的关键指标,它代表了在特定工作负载时间段内执行了多少个SQL语句。

另一个重要指标是每秒逻辑读取块数,虚拟机1和虚拟机2的总和也显著超过了仅使用DRAM的虚拟机。

结合这两个指标来看,通过所有的测试结果,我们可以清晰地看到内存分层技术如何在不购买昂贵硬件的情况下帮助我们实现高虚拟机密度。

我们运行了多种工作负载,并采用了不同的分层技术,以下是简要总结。

首先,我们使用了NVMe分层技术,并运行了名为LoginVSI的VDI基准测试。在这种情况下,我们将DRAM与NVMe的比例设定为1:1。与纯DRAM基准相比,虚拟机密度增加了100%,即能够运行接近128到256台虚拟机,而性能下降仅为1-2%,且仅增加了五到六个额外的CPU核心。这是我们运行的第一个工作负载基准测试。

其次,我们进行了VMMark基准测试,这是VMware的性能基准测试,通常由我们的合作伙伴和OEM使用。我们模拟了多种工作负载,包括混合数据库、内存数据库(如MySQL),以及不同大小的虚拟机(从2GB到256GB)和vCPU数量(从2到8)。在这种情况下,我们将DRAM与NVMe的比例设定为4:1。与DRAM基准相比,使用NVMe分层技术后,tiles的数量增加了33%。

请注意,NVMe分层的应用场景主要是针对非关键、非生产环境的虚拟机密度提升。因此,这里的重点是总拥有成本(TCO)的降低。

再来看CXL加速器方面,我们运行了HammerDB基准测试,使用了Oracle TPC-H配置文件,这是一个端到端的解决方案,其中包含了NVMe的使用。我们针对一个48GB的虚拟机进行测试,将DRAM与CXL加速器的比例设定为1:1。使用基于CXL加速器的分层技术,能够达到接近DRAM虚拟机性能的91%,这对于大多数工作负载来说是可以接受的。同时,我们还在进行更多的工作负载测试和性能优化。

请注意,CXL加速器的应用场景主要是针对业务关键的低延迟生产工作负载,因此这里的重点是性能的提升。

总的来说,VMware正在引入多种内存解决方案,包括CXL扩展、NVMe分层以及基于CXL的加速器解决方案,这些方案在不影响性能的前提下,为用户带来了显著的TCO收益。内存分层技术不仅提高了系统的可扩展性,而且没有增加操作的复杂性,并且已经为未来技术(如资源池化和解耦)做好了准备。


--【本文完】---

近期受欢迎的文章:

  1. AI推动基础设施前沿:内存是关键(Meta)

  2. NVIDIA:如何构建世界级的AI Factory

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

  4. 打造基于DPU加速的PB级存储解决方案

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



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

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

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

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

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