DTM:一种适用于支持CXL(Clustered XLFire)分层内存技术的云虚拟机的、具备内存状态感知功能的动态分层存储方案

《Future Generation Computer Systems》:DTM: Memory state-aware dynamic tiering for cloud virtual machine with CXL-enabled tiered memory

【字体: 大 中 小 】 时间:2026年05月08日 来源:Future Generation Computer Systems 6.2

编辑推荐:

  刘荣凯 | 彭静 | 高翔 | 林贤成 | 朱元瑞 | 吴玉婷 | 陆刚 中国电信研究院,中国 摘要 基于Compute Express Link (CXL)的分层内存技术实现了按需分配和与高性能本地内存的灵活集成,为云计算带来了显著潜力。然而,工作负载的异构性以及

  刘荣凯 | 彭静 | 高翔 | 林贤成 | 朱元瑞 | 吴玉婷 | 陆刚
中国电信研究院,中国

摘要
基于Compute Express Link (CXL)的分层内存技术实现了按需分配和与高性能本地内存的灵活集成,为云计算带来了显著潜力。然而,工作负载的异构性以及云软件-硬件堆栈的复杂性给分层内存系统带来了巨大的性能挑战。现有研究主要集中在主机操作系统或虚拟机管理程序(hypervisor)内的分层管理上,导致云用户无法了解内存访问模式和调度决策。这种黑盒设计阻碍了用户根据工作负载特性优化分层内存配置。为了解决这一问题,我们提出了一种内存状态分析模型,该模型能够捕捉内存层之间的页面流动动态和访问分布,并描述了优化目标与分层策略之间的关系。利用该模型,我们设计了一种内存状态感知的分层算法,该算法能够根据工作负载特性动态调整页面迁移决策。基于所提出的模型和算法,我们开发了DTM( Dynamic Tiering Manager),这是一个适用于配备分层内存的虚拟机的用户级动态分层框架。DTM在用户空间收集内存状态信息,调用分层算法,并根据优化目标动态控制页面迁移。我们使用具有不同分层内存配置的代表性云工作负载对DTM进行了评估。对于单台虚拟机场景,DTM一致性地提高了内存密集型工作的性能,与最先进的分层系统相比,平均性能提升幅度在8.0%到20.2%之间。在模拟实际云部署的并发多虚拟机环境中,DTM也显著提升了性能。

引言
随着机器学习(ML)、人工智能(AI)、内存数据库、图计算和高性能计算(HPC)等主流应用对内存需求的持续增长,对先进内存解决方案的需求也在不断增加[1][2][3][4][5]。内存占据了数据中心成本的很大比例,消耗了总能耗的25%至40%[6],内存闲置比例约为25%[7],占总拥有成本(TCO)的37%至50%[8][9]。因此,云服务提供商迫切需要能够提供更大容量、更低成本和更高部署灵活性的内存解决方案。

Compute Express Link (CXL)是一种互连标准,它将内存与主机服务器分离,实现了远程内存访问[10][11][12]。它允许将内存作为共享资源进行池化和管理,类似于分布式存储系统[13],支持灵活的内存分配。图1展示了采用CXL分层内存系统的云架构。配备大容量内存的内存框通过CXL交换机[12][14]与计算服务器相互连接。CXL内存节点在每台服务器的主机操作系统(OS)中作为无CPU的NUMA节点暴露出来[7]。服务器通过虚拟机管理程序将CXL内存与本地内存、CPU和其他资源一起分配给虚拟机(VMs),并向云用户提供这些VM。

尽管CXL提高了计算服务器的内存容量[15],但通过CXL通道进行远程内存访问会使带宽减少9.8%到80.3%[16],延迟增加35%到200%[17],相比之下,本地内存的延迟更低。对运行时数据访问质量的下降可能会导致应用程序性能下降[16][18][19]。准确识别频繁访问的热数据并将其放置在高性能本地内存中,同时将不经常访问的冷数据放置到远程CXL内存中,对于缓解应用程序性能下降至关重要。

在云环境中,托管多个用户应用程序的虚拟机共享同一物理服务器。在执行内存分层的同时协调每个虚拟机的内存使用是一个重大挑战。当前的研究探讨了云架构各层中的内存分层技术。一些研究将热/冷数据管理任务卸载到硬件上,大大减少了调度开销[20][21][22]。将基于硬件的调度扩展到单个虚拟机具有挑战性,并且会妨碍虚拟机在不同硬件平台之间的迁移。一些研究在主机操作系统或虚拟机管理程序中实现内存调度,将热数据透明地移动到本地内存,将冷数据移动到CXL内存[7][23][24][25]。然而,这种方法会引起用户之间的公平性问题。即使虚拟机内存被限制在特定区域内,操作系统或虚拟机管理程序的统一调度也无法适应每个虚拟机内部多样的内存访问模式。虚拟机客户机操作系统(guest OS)内的内存调度主要是由内核驱动的[9][26][27]。为通用性和简单性设计的内核分层策略通常缺乏针对性,无法满足不同应用程序的独特需求。因此,Linux内核提供了DAMON模块[28],它提供了内存访问跟踪和迁移管理的用户界面。然而,DAMON只能进行离线分析并设置固定的热/冷阈值,无法根据动态内存访问模式调整策略。

如上所述,在云计算环境中,硬件级别、主机操作系统、虚拟机管理程序以及客户机操作系统内核中的内存调度存在固有的局限性。鉴于云客户对其工作负载最为熟悉,在客户机操作系统内提供用户级内存分层机制至关重要。这样的机制应该能够捕获内存访问轨迹,并根据工作负载特性灵活配置调度策略。此外,这些策略必须能够动态适应工作负载的变化。

本研究的关键挑战包括:(1) 准确描述分层内存系统中的内存状态;(2) 根据观察到的状态确定适当的内存分布;(3) 高效执行迁移决策。为了解决这些挑战,我们分析了分层内存系统的状态特性,并提出了一个面向虚拟机的内存分层框架。具体而言,我们建立了一个内存流动模型,该模型能够捕捉数据在内存节点之间的移动以及每个节点的访问状态。我们从理论上分析了提升和降级阈值对内存状态转换的影响,以评估分层策略的有效性。此外,我们制定了内存状态优化的目标,并建立了相应的优化模型。基于这个内存流动模型,我们设计了DTM,这是一个轻量级的用户级在线内存跟踪和动态分层框架。DTM通过客户机操作系统内核中的状态收集器收集内存状态信息,包括流动状态和访问状态。分层算法根据收集到的状态信息在用户空间中生成迁移策略,迁移控制器实时执行这些策略。我们基于所提出的内存状态优化模型为DTM设计了一种内存状态感知的分层算法。该算法从全局内存流动的角度考虑新分配、释放和迁移的内存的影响,并确定提升和降级阈值以优化内存状态。最后,我们建立了一个基于CXL分层内存的云计算环境,并评估了DTM的有效性。

本文的主要贡献如下:
• 建模:我们为分层内存系统建立了页面流动模型,并基于该模型分析了分层控制机制和内存状态优化目标。
• 框架:我们设计了一个面向用户的动态内存页面调度框架,能够动态捕捉内存流动和访问状态,提供可定制的用户级接口,并通过专用迁移控制器在线应用迁移决策。
• 算法:我们基于页面流动模型开发了一种由内存状态驱动的热冷页面分层算法,从全局内存状态的角度优化提升和降级决策。
• 评估:我们使用代表性的云工作负载在单虚拟机和多虚拟机场景中全面评估了DTM的性能。与最先进的分层框架相比,DTM在大多数工作负载中都实现了持续的性能提升。

部分摘录
**内存管理**
在云计算架构中,内存管理堆栈跨越多个层次,涉及复杂的协调机制。虚拟机必须明确考虑分层内存架构,并有效地管理不同内存层之间的页面放置。

**内存分层建模与分析**
在本节中,我们首先分析了内存状态,包括内存流动和访问状态(第3.1节)。然后,我们研究了调度策略对内存状态的影响(第3.2节)。最后,我们分析了内存状态优化目标如何指导调度策略的选择(第3.3节)。

**动态分层框架设计**
基于我们的模型,我们设计了一个调度框架,该框架能够实时获取内存状态信息,相应地确定迁移阈值,并动态更新和应用到分层内存系统中。

**实现**
我们基于Linux内核6.11修改了DAMON和DAMOS,并开发了监控和迁移模块。基于用户空间工具DAMO[39],我们实现了用于信息收集、信息分析和基于算法的调度用户空间模块。由于虚拟机已经隔离了资源,应避免过于复杂的NUMA拓扑结构。在我们的设计中,每个虚拟机只有两个NUMA节点:一个包含CPU和本地内存的本地节点,以及一个没有CPU的远程CXL内存节点。

**系统配置监控**
我们使用支持CXL 1.1协议的附加卡(AIC)来模拟远程CXL。该AIC具有8条通道,单通道最大速度为32 GT/s(即32 GB/s带宽)。AIC配备了两个32 GB的DDR4内存模块,工作速率为3200 MT/s。硬件配置如表2所示。CXL通过NUMA节点1的PCIe接口连接。QEMU将CXL节点视为普通节点传递给虚拟机。我们在QEMU中对虚拟机进行了硬件绑定。

**基于操作系统内核的分层**
在操作系统中,可以通过其页面管理机制直接实现分层内存管理[49][50][51][52][53]。所有页面采样和管理都在内核中进行。一些研究结合使用硬件和软件来提高页面采样效率[20][33][35][54][55]。基于软件的采样主要依赖于页面故障[9][48][56]和PTE扫描[34][57]。基于内核的调度算法通常具有较低的复杂性。

**结论**
本文总结了在云场景中使用CXL分层内存的特点。我们建立并分析了一个内存页面状态模型。我们设计并开发了用户空间分层框架DTM。DTM可以捕捉内存流动和访问状态,并动态调整分层策略。我们设计了一种内存状态感知算法来优化内存分配。在具有CXL内存的单虚拟机和并发虚拟机场景中的评估显示,与先进的分层解决方案相比,DTM能够...

**作者贡献声明**
刘荣凯:撰写——原始草稿、验证、软件部分;
彭静:撰写——审阅与编辑、监督、方法论;
高翔:验证、软件部分;
林贤成:撰写——审阅与编辑、概念化;
朱元瑞:项目管理、调查;
吴玉婷:撰写——审阅与编辑、资源管理;
陆刚:方法论、资金获取。

**利益冲突声明**
作者声明没有已知的竞争性财务利益或个人关系可能影响本文报告的工作。

林贤成拥有中山大学电子工程专业学士学位(2016年获得)。作为中国电信研究院广州分院的高级工程师,他在大型中央国有企业积累了多年的研发经验。目前,他专注于云计算架构、内存计算和高性能网络等前沿领域的研究和工程实践。凭借其深厚的硬件背景,他在这些领域取得了显著成就。
相关新闻
生物通微信公众号
微信
新浪微博

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号