基于负载预测的numa架构中虚拟机调度方法

文档序号:8319001阅读:528来源:国知局
基于负载预测的numa架构中虚拟机调度方法
【技术领域】
[0001] 本发明涉及网络技术领域,具体涉及一种基于负载预测的NUM架构中虚拟机调 度方法。
【背景技术】
[0002] 随着计算机硬件的不断发展,服务器愈加倾向于承载多种相互独立的业务。虚拟 化技术便很好的适应了这种需求:其对计算机硬件资源进行合理分配给多个操作系统,使 得这些操作系统能够并发地运行在物理计算机之上。且操作系统间保持着相互的独立,很 好地解决了此类问题。现在,虚拟化技术已被广泛运用于互联网服务,云计算等一些领域。
[0003] 在虚拟化技术的诞生之初,计算机多采用SMP结构(Symmetric Multi-Processing,对称多处理结构),即内存空间为所有的CPU所共享,每一个CPU都可以 对内存的任意一个地址进行访问,因此,虚拟化系统大多将虚拟机默认为SMP结构。然而, 随着计算机CPU物理核个数的增加,现有的SMP结构会带来效率问题:当多个CPU同时访问 内存是会造成总线的竞争,从而导致系统整体性能的下降。于是NUMA结构(Non Uniform Memory Access Architecture,非统一内存访问)的计算机被引入:其将若干个CPU与一块 内存划分为一个节点,每个CPU访问本节点的私有内存时性能较高,访问其他节点的内存 时性能较低。通过操作系统对应用程序的合理调配,其能够最大程度地减少访存的竞争,同 时访存时间又不会有太大的影响。
[0004] 虚拟化技术亦适应了 NUMA体系结构的发展,虚拟机监视器创建支持NUMA体系结 构的虚拟机。虚拟机监视器为虚拟机的VCPU和内存划分为若干个虚拟节点,并在创建虚拟 机之初通过初始化虚拟机的APIC表中的SRAT表和SLIT表使得虚拟机操作系统能够感知 虚拟机的虚拟化NUMA拓扑结构。此后,虚拟机监视器在分配VCPU和内存时使得每一个虚 拟节点的VCPU和内存分配到同一个物理节点上,这样便解决了运行在虚拟机之上的操作 系统因为不了解底层NUM结构而造成的性能下降问题。
[0005] 然而,虚拟节点和物理节点的对应关系在虚拟机的运行过程中需要根据节点的负 载进行动态调整。现有的负载均衡方式往往是在负载最高的节点上根据CPU使用率和内存 使用率选取一个合适的虚拟机迀移到负载较低的目标节点中去。然而,在负载高的节点上 所采集到的CPU使用率并不等同于其迀移到目标节点之后给目标节点所增加的CPU使用率 开销。于是,基于传统的方法进行迀移,往往会造成迀移之后系统的负载的均衡度不能做到 最优。

【发明内容】

[0006] 针对现有技术的不足,本发明提出一种基于负载预测的NUM架构中虚拟机调度 方法。
[0007] 针对每个虚拟机,按照预设的时间间隔定时获取NUMA架构中各个物理节点的状 态信息,所述的状态信息包括相应物理节点的CPU、内存使用率,运行于其上的VCPU总数以 及运行于其上的当前虚拟机的VCPU数,每次获得状态信息后执行如下操作:
[0008] (1)根据状态信息计算各个物理节点的负载;
[0009] (2)根据各个物理节点的负载计算NUM架构的初始负载方差,并判断初始负载方 差是否大于预设的方差阈值;
[0010] 若初始负载方差小于或等于预设的方差阈值则进行虚拟机调度,则不操作(即休 眠一个时间间隔);
[0011] 否则,确定负载最高的物理节点并作为源节点,并通过负载预测确定是否存在调 度方案,所述的调度方案包括待迀移虚拟机和目标节点:
[0012] 若存在调度方案,则按照所述的调度方案将待迀移虚拟机从所述源节点迀移至目 标节点上;
[0013] 否则,不操作。
[0014] 本发明的虚拟机调度方法中进行次调度仅调度一个虚拟机,一次调度结束后,负 载可能仍然均衡,此时可能需要经过多次调度才能达到负载均衡。且由于整个过程中,各个 物理节点的使用状态也会改变,因此通过按照预设的时间间隔进行周期性调度,能够实时 对系统负载进行调度。
[0015] 本发明迀移时将待迀移虚拟机的内存和虚拟CPU同时从源节点迀移至目标节点 上,不会破坏系统的原有架构。
[0016] 执行步骤(1)和(2)的时间开销通常必须小于设定的时间间隔。本发明中所述的 时间间隔为1~5s,作为优选,所述的时间间隔为Is。
[0017] 本发明中计算各个物理节点的负载时同时考虑到CPU负载和内存负载,相应的, 所述步骤(1)利用如下公式根据状态信息计算各个物理节点的负载:
[0018] Load_degreenode= w cpu*cpu_usagenode+wmeni*mem_usage node
[0019] 其中,LoacLdegreemde为物理节点负载量,w _和w mem为CPU负载权重系数和内存 负载权重系数,cpu_usageMdeS该物理节点的CPU使用率,mem_usage mde为该物理节点的内 存使用率。
[0020] 其中,CPU负载权重系数Wciu和内存负载权重系数w _满足条件:w _+?_= 1。考 虑到实际应用时,CPU负载和内存负载对NUM架构中各个物理节点负载的影响,作为优选, 本发明中Ipu= Wm= 0. 5。
[0021] 设定的方差阈值的大小直接关系到最终进行虚拟机调度的频率,该方差阈值可根 据实际应用情况进行调整。本发明所述的方差阈值为0. 25~1。
[0022] 通过负载预测确定是否存在调度方案时包括如下步骤:
[0023] (2-1)以NUMA架构中除源节点外,负载小于预设的负载阈值的其他物理节点作为 候选节点;
[0024] 本发明中预设的负载阈值为0. 75~1。
[0025] (2-2)针对源节点上的每个虚拟机,分别预测将该虚拟机迀移至每个候选节点上 后NUM架构的负载方差;
[0026] 将当前虚拟机迀移至任意一个候选节点上后NUM架构的负载方差通过如下方法 预测:
[0027] (2-21)根据源节点和当前候选节点的状态信息分别预测当前虚拟机迀移至候选 节点后源节点和当前候选节点的负载;
[0028] 根据如下方法预测当前虚拟机迀移至当前候选节点后源节点的负载:
[0029] (al)预测迀移后源节点的CPU使用率Csp:
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1