一种基于虚拟化下NUMA节点内存QoS的调节方法及装置制造方法

文档序号:6535773阅读:357来源:国知局
一种基于虚拟化下NUMA节点内存QoS的调节方法及装置制造方法
【专利摘要】本发明公开了一种基于虚拟化下NUMA节点内存QoS的调节方法及装置,其通过实时采集内存资源占用情况,根据一定的规则来对每个虚拟机未来的所需内存进行预测,从而得到系统下一时刻所需内存,并决定是否要进行内存负载均衡调整,以保证内存QoS;在内存资源不充足条件下,启动该内存平衡调节操作,根据各个虚拟机内存份额比例,并感知NUMA节点,来决定从哪些虚拟机收回内存,向哪些虚拟机分配内存,并计算可回收的和分配的内存大小,将给出的每个客户机操作系统的最佳内存值下发给实际调节部分;解决了现有技术在虚拟机运行的过程中,虚拟机无法感知自身所在节点的内存使用状况,无法从系统的角度进行内存QoS调节等技术问题。
【专利说明】—种基于虚拟化下NUMA节点内存QoS的调节方法及装置
【技术领域】
[0001]本发明属于计算机内存调度【技术领域】,具体涉及一种基于虚拟化下NUMA节点内存QoS的调节方法及装置。
【背景技术】
[0002]在虚拟机创建之初可以通过考虑负载均衡的初始放置算法,将各虚拟机创建在空闲内存较宽裕的节点上,以保证较好的内存QoS (服务质量)。但是随着虚拟机的运行,往往会有部分虚拟机会出于自身需求,占用过大的内存空间,而造成整个系统内存紧张,导致别的虚拟机匮乏内存资源,降低整个系统的性能。集群系统主要考虑如何以较低的成本将多台异构的节点计算机组成一个能提供强大的批处理和并行计算能力的系统。其资源管理就是分配系统的资源和监控系统资源的使用情况,能动态收集节点的状态信息,并响应节点的请求,如在系统运行中增加和删除一个节点计算机。传统物理机集群系统的资源调度使用基于任务调度的策略,不能覆盖所有类型的应用,具有一定的局限性,且调度粒度较大。而本发明针对的问题是基于NUMA(Non Uniform Memory Access Achitecture,非统一内存访问)架构的大型主机上部署的虚拟机,由于内存复用机制导致的负载随用户和应用的需求而变化,需要进行动态的内存资源调度,以保证QoS。
[0003]相关的现有技术有采用内存池分配和进程指派机制创建具有节点亲和性的进程,使用NUMA感知的堆管理器进行内存分配,针对多步长NUMA架构的内存管理方法,TMEM技术(超内存技术)以及气球驱动技术。但现有技术在虚拟机运行的过程中,虚拟机无法感知自身所在节点的内存使用状况,无法从系统的角度进行内存QoS调节。
[0004]专利号为US2012254267的国外专利提出了一种关于NUMA垃圾收集系统和方法,其将多处理器和存储器分到各个NUMA节点,并将堆空间分为多个池,分别存到存储器中。对每个节点,使用该节点内的垃圾回收线程对处理器和存储器进行垃圾回收,以减少远程内存访问。该技术方案未考虑在虚拟化条件下,虚拟机由于初始放置或内存复用,其内存分布在多个节点;该方案不能根据节点负载、虚拟机权值,高效地动态调节虚拟机的内存以提升虚拟机的性能
[0005]专利号为US7574567的国外专利提出一种NUMA系统的监测系统,其将数据收集和该节点上的监控线程相关联,以减少监测过程中节点间数据访问的频率。但该方案通过调度进程到本地内存访问,但未考虑虚拟化条件下的虚拟机的内存可能分布在多个节点上。

【发明内容】

[0006]针对现有技术所存在的上述技术问题,本发明提供了一种基于虚拟化下NUMA节点内存QoS的调节方法及装置,通过自适应的气泡机制和高效迁移虚拟机热点内存区域,从系统角度进行内存QoS调节。
[0007]一种基于虚拟化下NUMA节点内存QoS的调节方法,包括如下步骤:
[0008](I)实时检测NUMA节点上各虚拟机占用的实际内存值;[0009](2)根据实际内存值的实时检测数据通过以下预测模型计算NUMA节点上各虚拟机在下一时刻的内存预测值:
【权利要求】
1.一种基于虚拟化下NUMA节点内存QoS的调节方法,包括如下步骤: (O实时检测NUMA节点上各虚拟机占用的实际内存值; (2)根据实际内存值的实时检测数据通过以下预测模型计算NUMA节点上各虚拟机在下一时刻的内存预测值:
2.根据权利要求1所述的调节方法,其特征在于:所述的权重影响因子aik和bix根据第i个虚拟机在一段时间内每个时刻占用的实际内存值通过所述的预测模型利用最小二乘法进行线性拟合确定。
3.根据权利要求1所述的调节方法,其特征在于:所述的步骤(3)中对内存预测值进行修正的方法即使内存预测值乘上一个修正系数βρ
4.根据权利要求3所述的调节方法,其特征在于:所述的修正系数βfl+3 Oi, σ i为第i个虚拟机的平均相对误差;平均相对误差σ i的确定方法为:根据第i个虚拟机在一段时间内每个时刻占用的实际内存值,并利用预测模型计算出第i个虚拟机对应每个时刻的内存预测值,通过以下算式对每个时刻求平均得到σ 1:

5.根据权利要求1所述的调节方法,其特征在于:所述的步骤(3)中根据以下算式确定NUMA节点下一时刻的内存增量:
6.根据权利要求1所述的调节方法,其特征在于:所述的步骤(4)中判定NUMA节点在下一时刻的内存资源状态的标准如下: 若Fh > Λ C,则判定NUMA节点在下一时刻为内存资源充足状态; 若Fh < AC,则判定NUMA节点在下一时刻为内存资源紧缺状态; 其中:Λ C为NUMA节点下一时刻的内存增量,Fh为当前时刻NUMA节点可分配的空闲内存阈值。
7.根据权利要求1所述的调节方法,其特征在于:所述的步骤(4)中对NUMA节点的内存资源进行调节的方法为:判断下一时刻NUMA节点的内存利用率是否大于80%:若是,则确定NUMA节点上占用内存最大的虚拟机的热点内存区域,并将这部分热点内存区域迁移至系统中相对内存利用率较低的NUMA节点上;若否,且NUMA节点在下一时刻为内存资源紧缺状态,则按以下策略对NUMA节点上各虚拟机占用的内存进行回收: 对于任一虚拟机,首先回收其占用内存最少的NUMA节点上的这部分内存,然后按远端节点 >邻近节点 >本地节点的优先级顺序回收该虚拟机在各NUMA节点上的占用内存。
8.一种基于虚拟化下NUMA节点内存QoS的调节装置,其特征在于,包括: 内存监视器,用于实时检测系统中每个NUMA节点上各虚拟机占用的实际内存值; 内存策略管理器,用于根据实际内存值的实时检测数据计算每个NUMA节点上各虚拟机在下一时刻的内存预测值,并对内存预测值进行修正,进而确定每个NUMA节点下一时刻的内存增量,以判定NUMA节点在下一时刻的`内存资源状态; 内存迁移器,用于对下一时刻内存利用率大于80%的NUMA节点,确定这些NUMA节点上占用内存最大的虚拟机的热点内存区域,并将这部分热点内存区域迁移至系统中相对内存利用率较低的NUMA节点上; 气球驱动调节器,用于对下一时刻内存利用率小于80%且为内存资源紧缺状态的NUMA节点,按balloon机制对这些NUMA节点上各虚拟机占用的内存进行回收。
【文档编号】G06F9/48GK103823714SQ201410017344
【公开日】2014年5月28日 申请日期:2014年1月15日 优先权日:2014年1月15日
【发明者】黄步添, 陈建海, 何钦铭, 左起同, 周慧娟, 徐得景 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1