法律状态公告日
法律状态信息
法律状态
2016-04-27
授权
授权
2013-09-18
实质审查的生效 IPC(主分类):G06F9/455 申请日:20130517
实质审查的生效
2013-08-07
公开
公开
技术领域
本发明涉及计算机系统结构领域的系统级虚拟化技术及虚拟机整合技术, 具体涉及一种基于应用程序性能约束的虚拟机节能整合规划方法。
背景技术
随着云计算技术的不断发展和成熟,越来越多的应用程序运行在云上。虚 拟化技术作为云计算的一个关键底层支撑技术,在资源共享、性能隔离和动态 伸缩方面提供了独特的优势。另一方面,随着计算机制造工艺的不断进步,计 算机硬件性能得到了大幅的提升,如多核处理器、大容量内存、高速网络设备 等的出现,为虚拟机整合提供了可能性。把多个应用程序整合到一台物理服务 器上,可以充分的利用丰富的物理机资源,提高系统资源的利用率,同时通过 关闭空闲的物理机,能有效的降低数据中心的能量消耗。
但是,应用程序种类千差万别,其对资源的需求也各不相同,有些是CPU 密集型的,有些是内存密集型的,有些是I/O密集型,有些是混合型的。把多 个应用程序整合到一台物理服务器上时,可能导致应用程序性能的不同程度的 损耗。如何把尽量多的应用程度整合到一起,同时又能精确的控制每种应用程 序的性能是一个突出的挑战。
传统的虚拟机整合方法,通常是采用CPU利用率数据进行整合,使得每台 物理服务器的CPU利用率达到最高。但是这种方法具有以下两方面的局限性: (1)应用程序的性能与CPU利用率间的关系是复杂的,根据CPU利用率进行 整合并不能严格保证应用程序的性能;(2)在虚拟化环境中,虚拟机管理器往 往也需要消耗一定的CPU利用率,传统的整合方法往往忽视这个因素,因此整 合的结果准确性也受到一定的影响。
发明内容
本发明针对现有技术没有考虑应用程序的性能的缺点,提供一种既能有效 降低数据中心能耗,又能严格保证各种应用程序性能的一种基于应用程序性能 约束的虚拟机节能整合规划方法。
为了解决上述技术问题,本发明通过下述技术方案得以解决:
一种基于应用程序性能约束的虚拟机节能整合规划方法,包括如下步骤:
步骤a:设置每台服务器上允许容纳的最多的虚拟机个数C;
步骤b:对典型的M种应用程序进行全面的整合轮廓分析,全面的整合轮 廓分析的方案共种,Casei表示第i种整合方案,Xi表示Casei种 整合方案的个数,1≤i≤N,整合方案具体包括从M种应用程序中选择1个整 合到一台物理机上,从M种应用程序中选择2个整合到一台物理机上,一直到 从M种应用程序中选择M个整合到一台物理机上等情况,相同的应用程序可以 整合到同一个物理机上;
步骤c:把待整合的一系列应用程序输入节能整合规划器,Appi表示第i 种应用程序,Vi表示Appi的个数,1≤i≤M,总的待整合的应用程序个数为
步骤d:设置每种应用程序的性能约束,Pi表示第i种应用程序的性能约 束,1≤i≤M,如果某种应用程序的性能约束被设置为Pi,0<Pi<1,则意味着这 种应用程序在整合中的性能与该种应用程序单独运行在一台物理机上的性能 的比值大于等于Pi,Pi越接近于1,表示第i种应用程序在整合中的性能越好;
步骤e:把整合问题建模成一个最优化问题,优化的目标为最小化所需的 物理机个数,因为一种整合方案对应一台物理机,所以优化目标可以表示为Min Xi表示第i个整合方案的个数,它需满足如下约束:
其中,第一个约束表示保证所有的应用程度都被部署到物理机上,Ai,j表 示第j种应用程序Appj在第i个整合方案Casei中出现的个数;第二个约束表 示在所有的整合方案中,每种应用程序在整合时的性能都满足给定的性能约 束,Pi,j表示第j种应用程序Appj在第i个整合方案Casei中的性能;第三个约 束表示物理机个数是一个整数;
步骤f:节能整合规划器根据以上的最优化模型及输入的待整合的应用程 序和每种应用程序的性能约束,查询整合轮廓分析经验数据集后,计算出最优 的整合方案。
作为优选,所述的整合轮廓分析指的是对不同的应用程序进行不同的整合 实验,并记录在不同的整合方案下各种应用程序的性能表现作为经验数据指导 后续整合,整合方案的总数目由每台物理机允许容纳的最多的虚拟机个数C和 应用程序的种类M共同决定。
作为优选,所述的待整合的应用程序数目是不受限制的,如每种应用程序 的个数可以达到成千上万个,适用于实际的大规模虚拟化环境。
作为优选,所述的应用程序性能约束Pi是由用户预先设定的,可以根据需 求灵活调整,应用程序的性能指标因程序类型而异,如可以是吞吐量,也可以 是响应时间。
作为优选,所述的节能整合规划器是基于一个最优化数学模型计算的。
作为优选,所述的最优整合方案体现在最终的整合方案中,所计算出来的 物理机个数是最小的,即节能效果最佳,同时该方案中所有的应用程序都严格 满足给定的性能约束。
本发明第一次实现了在大规模虚拟机环境中,考虑应用程序性能约束,进 行最优节能整合的方法,并给出应用程序负载到物理机的最佳映射列表。它的 主要功能是通过对不同种类的应用程序在不同整合场景下的性能表现的分析, 建立一个最优化的数学模型,根据待整合的应用程序类型和数目及各种应用程 序的性能约束,通过最优化数学模型的计算,得出最佳的整合方案,最大程度 的减少了物理机个数,达到节能的目的,同时严格的维护了各种应用程序的性 能。
本发明由于采用了以上技术方案,具有显著的技术效果:
1、支持静态和动态的虚拟机整合:在静态整合场景下,只需输入各种应 用程序的类型及其数目、各种应用程序的性能约束,就可以通过最优化数学模 型计算出最佳的节能整合方案;在动态整合场景下,输入的一个初始的整合场 景,需要统计初始整合场景中各种应用程序的类型及其数目,并设定各种应用 程序的性能约束,然后通过最优化数学模型计算出最佳的节能整合方案。
2、有效提升应用程序性能:传统的没有考虑应用程序性能的整合方法可 能导致把两种性能很差的应用程序整合在一起,严重影响了服务质量,通过本 发明提出的最优整合方法,会自动选择应用程序性能表现好的整合方案,最大 程序的提升了各种应用程序的性能。
3、应用程序性能和节能效果的自适应调节:通过调整应用程序的性能约 束,可以影响最终的节能效果,如果应用程序的性能约束设置的越高,则意味 着每个物理机上允许整合的虚拟机数目就少,导致最终整合方案中所需的物理 机个数就多,节能效果就差;如果应用程序的性能约束设置的越低,则意味着 每个物理机上允许整合的虚拟机的数目就多,导致最终整合方案中所需的物理 机个数就少,节能效果就好,用户可以根据自己的需求动态的调节应用程序的 性能约束。
附图说明
图1为本发明方法的模型图。
具体实施方式
下面结合附图1与实施例对本发明作进一步详细描述:
实施例1
一种基于应用程序性能约束的虚拟机节能整合规划方法,如图1所示,包 括如下步骤:
步骤a:设置每台服务器上允许容纳的最多的虚拟机个数C;
步骤b:对典型的M种应用程序进行全面的整合轮廓分析,全面的整合轮 廓分析的方案共种,Casei表示第i种整合方案,Xi表示Casei种 整合方案的个数,1≤i≤N,相同的应用程序可以整合到同一个物理机上;
步骤c:把待整合的一系列应用程序输入节能整合规划器,Appi表示第i 种应用程序,Vi表示Appi的个数,1≤i≤M,总的待整合的应用程序个数为
步骤d:设置每种应用程序的性能约束,Pi表示第i种应用程序的性能约 束,1≤i≤M,如果某种应用程序的性能约束被设置为Pi,0<Pi<1,则意味着这 种应用程序在整合中的性能与该种应用程序单独运行在一台物理机上的性能 的比值大于等于Pi,Pi越接近于1,表示第i种应用程序在整合中的性能越好;
步骤e:把整合问题建模成一个最优化问题,优化的目标为最小化所需的 物理机个数,因为一种整合方案对应一台物理机,所以优化目标可以表示为Min Xi表示第i个整合方案的个数,它需满足如下约束:
其中,第一个约束表示保证所有的应用程度都被部署到物理机上,Ai,j表 示第j种应用程序Appj在第i个整合方案Casei中出现的个数;第二个约束表 示在所有的整合方案中,每种应用程序在整合时的性能都满足给定的性能约 束,Pi,j表示第j种应用程序Appj在第i个整合方案Casei中的性能;第三个约 束表示物理机个数是一个整数;
步骤f:节能整合规划器根据以上的最优化模型及输入的待整合的应用程 序和每种应用程序的性能约束,查询整合轮廓分析经验数据集后,计算出最优 的整合方案。
整合轮廓分析指的是对不同的应用程序进行不同的整合实验,并记录在不 同的整合方案下各种应用程序的性能表现作为经验数据指导后续整合,整合方 案的总数目由每台物理机允许容纳的最多的虚拟机个数C和应用程序的种类M 共同决定。
待整合的应用程序数目是不受限制的,如每种应用程序的个数可以达到成 千上万个,适用于实际的大规模虚拟化环境。
应用程序性能约束Pi是由用户预先设定的,可以根据需求灵活调整,应用 程序的性能指标因程序类型而异,如可以是吞吐量,也可以是响应时间。
所述的节能整合规划器是基于一个最优化数学模型计算的。
最优整合方案体现在最终的整合方案中,所计算出来的物理机个数是最小 的,即节能效果最佳,同时该方案中所有的应用程序都严格满足给定的性能约 束。
本发明已在Xen虚拟化平台上实现。Domain0和DomainU用的都是Ubuntu 8.10,内核版本为2.6.27。采用的物理机为Dell T710服务器,配置为双CPU, 共8核,32GB内存。每个虚拟机分配1个VCPU和1GB内存。
设置每台服务器上允许容纳的最多的虚拟机个数C=2,即每台物理机上最 多允许整合2个虚拟机应用程序。
假设某虚拟化数据中心中共存在M=4种类型的应用程序,分别为A、B、C、 D。在整合规划规划前先进行全面的整合轮廓分析实验,整合的方案共 组,详细的整合方案见表-1,整合轮廓分析的实验结果见表 -2。
假设待整合的应用程序输入为:
程序A的个数V1为100,
程序B的个数V2为200,
程序C的个数V3为300,
程序D的个数V4为400。
设置各应用程序的性能约束如下:
程序A的性能约束P1为95%,
程序B的性能约束P2为90%,
程序C的性能约束P3为85%,
程序D的性能约束P4为80%。
然后根据以下最优化数学模型求解最优的节能整合规划方案:
目标函数为
约束为:
计算的结果为所需的最少的物理机个数为具体的整合 方案为:
X4(1D)=400,
X5(2A)=50,
X10(1B+1C)=200,
X12(2C)=50,
即通过最优整合规划计算后需要700台物理机来运行这1000个虚拟机应 用程序,其中第1到400台物理机上面只运行1个D程序,第401到450台物 理机上面运行2个A程序,第451到650台物理机上面运行1个B和1个C程 序,第650到第700台物理机上面运行2个C程序。
所有应用程序的平均性能为0.9591,
其中程序A的平均性能为0.9989,程序B的平均性能为0.9211,程序C 的平均性能为0.9163,程序D的平均性能为1.0000,所有这四种应用程序都 严格满足了各自的性能约束。
可见,通过本发明的方法,可以减少30%的物理机个数,同时严格保证了 各种应用程序的性能约束,其平均性能达到0.9591,即相比于单个应用程序运 行在单个物理机的情况,应用程序的性能损耗少于5%。
为了研究应用程序约束与节能效果之间的权衡关系,我们进行了下面一组 实验。
假设待整合的应用程序种类和数目不变,即
程序A的个数V1为100,
程序B的个数V2为200,
程序C的个数V3为300,
程序D的个数V4为400。
把各应用程序的性能约束降低5%,即设置:
程序A的性能约束P1为90%,
程序B的性能约束P2为85%,
程序C的性能约束P3为80%,
程序D的性能约束P4为75%。
根据本发明的最优节能整合规划方案的计算,得到如下结果:
所需的最少的物理机个数具体的整合方案为:
X5(2A)=50,
X9(2B)=100,
X12(2C)=150,
X14(2D)=200,
即通过最优整合规划计算后需要500台物理机来运行这1000个虚拟机应 用程序,其中第1到50台物理机上面只运行2个A程序,第51到150台物理 机上面运行2个B程序,第151到300台物理机上面运行2个C程序,第301 到第500台物理机上面运行2个D程序。
所有应用程序的平均性能为0.9103,
其中程序A的平均性能为0.9989,程序B的平均性能为0.8662,程序C 的平均性能为0.9974,程序D的平均性能为0.7788,所有这四种应用程序都 严格满足了各自的性能约束。
可见,通过本发明的方法,可以减少50%的物理机个数,同时严格保证了 各种应用程序的性能约束,其平均性能达到0.9103,即相比于单个应用程序运 行在单个物理机的情况,应用程序的损耗少于9%。
由此,应用程序的性能和节能效果之间存在一个权衡关系:如果应用程序 的性能约束设置的越高,能节省的物理机个数就少,节能效果就差;如果应用 程序的性能约束设置的低,能节省的物理机个数就多,节能效果就好,但应用 程序的性能就收到影响。所以,用户可以根据需要调节应用的程序的约束,获 得所需的节能效果。
表-1 整合轮廓分析实验配置方案
表-2 整合轮廓分析实验的性能结果
总之,以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所作 的均等变化与修饰,皆应属本发明专利的涵盖范围。
机译: 基于应用程序性能动态启用或禁用用户设备节能机制的技术
机译: 通过基于虚拟机激活的虚拟机应用程序的请求恢复先前保存的状态来管理虚拟机状态的系统和方法
机译: 基于片上系统(SOC)中的应用程序性能以及相关方法和基于处理器的系统的动态时钟电压缩放(DCVS)