基于前馈和反馈控制的运行时虚拟资源动态分配方法和系统的制作方法

文档序号:6519228阅读:199来源:国知局
基于前馈和反馈控制的运行时虚拟资源动态分配方法和系统的制作方法
【专利摘要】本发明属于软件工程【技术领域】,具体为一种基于前馈和反馈控制的虚拟资源动态分配方法和系统。本发明通过设计一个MAPE自适应控制环路对虚拟资源进行优化控制。自适应控制环路包括:监控模块、分析模块、规划模块和执行模块;其中,规划模块由一个前馈控制器和一个反馈控制器组成,前者针对访问人数这个主要扰动因素,预先对虚拟资源数量进行动态调整,后者则针对其他扰动因素,把各个虚拟资源的响应时间作为反馈量,对各个虚拟资源处理的负载比例进行动态地调整;执行模块由资源管理模块和负载均衡模块组成。采用本发明可实现在运行时环境动态变化的情况下虚拟资源的优化配置,实现应用系统的优化运行和虚拟资源的高利用率。
【专利说明】基于前馈和反馈控制的运行时虚拟资源动态分配方法和系统
【技术领域】
[0001]本发明属于软件工程【技术领域】,适用于云计算中系统的优化控制,具体涉及云计算中虚拟资源的动态分配方法和系统。
【背景技术】
[0002]在云计算中应用系统可以方便地部署在云服务器上,而底层的软件、硬件和平台等资源则通过虚拟化技术和分布式技术按需提供给应用系统并且按使用量付费。在这种模式下,如果为应用系统分配的虚拟资源过少,那么应用系统的运行时服务质量可能无法保证,从而影响业务价值的实现;如果为应用系统分配的虚拟资源过多,那么有可能导致资源利用率过低,从而增加不必要的运行成本。目前,一种传统的虚拟资源分配方法是由系统管理员在运行时按照应用系统的运行状态进行手动调节。由于运行时环境的诸多不确定因素,这种方法要求系统管理员24小时全程监控系统的运行状态,并且需要快速地做出调整决策。这不但会增加系统管理员的负担,而且准确性较差并有一定的延迟。另一种传统方法是对应用系统的访问人数进行预先设定或者动态调整,从而限定对应用系统的访问数量,而超过访问人数阈值的用户将无法访问应用系统提供的服务。虽然这种方法能够保证应用系统的优化运行,但是以拒绝潜在用户为代价,因此可能对企业的声誉带来不可预估的负面影响。第三种传统的方法是在云端动态地调整虚拟资源以满足动态变化的访问量。这种方法一般是在发现应用系统运行时质量问题后进行资源动态调整的,因此具有一定的延迟性。此外,这种方法忽略了虚拟资源的异构性,即相同类型的虚拟资源也可能具有不同的性能,从而导致虚拟资源的整体利用率偏低。因此,云计算中的一个优化控制问题可以归结为:如何在保证应用系统优化运行的同时以一种考虑成本效益的方式来动态地分配和使用虚拟资源。
[0003]控制论是研究各类系统调节和控制规律科学。控制论中,根据系统的输出值对系统的控制作用有无影响可以把控制方法分为闭环控制(即反馈控制)和开环控制(即前馈控制)。反馈控制根据系统的输出反馈对系统进行动态控制,使被控对象的输出值尽量接近于系统的期望值。图1就是反馈控制系统的基本框图。反馈控制是在被控对象由于受到扰动而发生状态偏差之后进行的调节,这种控制作用是带有一定延迟性的,属于事后控制。而前馈控制利用扰动信号的大小和方向按照一定的控制规律直接对被控对象进行控制作用。图2就是前馈控制系统的基本框图。前馈控制是在被控对象受到扰动之后并且在被控对象发生状态偏差之前进行的调节,这种控制作用是带有一定预测性的,属于预先控制。近些年来,控制论逐渐被研究者引入到软件开发中,其目的是实现软件系统或软件开发过程的优化控制。

【发明内容】

[0004]本发明的目的是提供一种基于控制理论的虚拟资源动态分配方法和系统,从而根据运行时数据实现虚拟资源数量的调整以及各个虚拟资源处理的负载比例的调整,实现应用系统的优化运行和虚拟资源的高利用率。
[0005]本发明的基本思路是:应用系统中,并发访问人数是影响系统运行状态的一个主要扰动因素。当访问人数逐渐增加时,系统的吞吐量和响应时间也逐渐增加。当访问人数增加到一定数量时,系统的吞吐量达到一个最大值,此时系统处于饱和状态。当访问人数继续增加时,系统就会进入过载状态,系统的吞吐量会随着访问人数的增加而迅速下降,同时响应时间会随着访问人数的增加而极速增加,直到系统崩溃。因此,虚拟资源的数量应该根据访问人数的变化规律预先进行动态调整,从而提高整体运行效率。此外,其他扰动因素(例如虚拟资源自身的性能差异等)也会对应用系统的运行状态带来一定程度的影响,但是很难直观地建模出来。因此,各个虚拟资源处理的负载比例应该根据各个虚拟资源的性能反馈来动态的调整,从而提高整体利用效率。因此,本发明针对访问人数这个主要扰动因素,提出使用一个前馈控制器以预调节的方式动态调整虚拟资源的数量;而针对其他扰动因素,提出使用一个反馈控制器来动态地调整各个虚拟资源所承担的负载比例。
[0006]本发明的技术方案如下:
应用系统被部署在云端的多个虚拟资源上为用户提供服务。运行时通过设计一个MAPE(监控、分析、规划和执行)自适应控制环路对虚拟资源进行优化控制。具体而言,MAPE (监控、分析、规划和执行)自适应控制环路,包括:监控模块、分析模块、规划模块和执行模块;其中,监控模块负责收集应用系统的运行时数据;分析模块通过分析运行时数据获得应用系统的外部扰动(例如系统访问人数、访问人数变化率)以及性能参数(例如各个虚拟资源的响应时间);规划模块由一个前馈控制器和一个反馈控制器组成,前者针对访问人数这个主要扰动因素,预先对虚拟资源数量进行动态调整,后者则针对其他扰动因素,把各个虚拟资源的响应时间作为反馈量,对各个虚拟资源处理的负载比例进行动态地调整;执行模块由资源管理模块和负载均衡模块组成,前者负责动态地增加或者删除虚拟资源,后者负责动态地调整各个虚拟资源的负载比例。如图3所示。
[0007]基于前馈和反馈控制的虚拟资源动态分配方法,包括以下步骤:
(1)把应用系统部署在给定数量的虚拟资源上,每个虚拟资源平均分配负载比例;
(2)在运行时,监控模块定时地收集应用系统的运行时数据,通过分析模块获得在最近一段时间内的运行信息,包括应用系统的访问人数、访问人数变化率、以及各个虚拟资源处理请求的平均响应时间;
(3)规划模块中的前馈控制器根据访问人数及其变化率对虚拟资源数量预先进行动态调整;规划模块中的反馈控制器根据各个虚拟资源的平均响应时间对各个虚拟资源处理的负载比例进行动态地调整;
(4)执行模块中的资源管理负责动态地增加或者删除虚拟资源,而负载均衡负责动态地调整各个虚拟资源的负载比例;
(5)间隔一定时间后重复执行步骤(2)-(5)。
[0008]所述的基于前馈和反馈控制的虚拟资源动态分配方法,步骤(3)采用一个前馈控制器预先对虚拟资源数量进行动态调整,并采用一个反馈控制器对各个虚拟资源处理的负载比例进行动态地调整。
[0009]前馈控制需要获得系统扰动的数学模型以及相应的补偿函数,其基本过程如下:(I)为了获得访问人数与虚拟资源数量的数学模型,需要进行实验研究来确定在给定虚拟资源数量的情况下系统最多能支撑的访问人数(即系统饱和时的最大访问人数),并通过线性拟合得到虚拟资源与应用系统饱和时最大访问人数的数学模型NP (η)。
[0010](2)根据这个系统扰动的数学模型,给出访问人数对虚拟资源的补偿函数①:
【权利要求】
1.基于前馈和反馈控制的虚拟资源动态分配方法,应用系统被部署在云端的多个虚拟资源上为用户提供服务;通过设计一个MAPE自适应控制环路对虚拟资源进行优化控制;所述MAPE自适应控制环路,包括:监控模块、分析模块、规划模块和执行模块;其中,监控模块负责收集应用系统的运行时数据;分析模块通过分析运行时数据获得应用系统的外部扰动以及性能参数;规划模块由一个前馈控制器和一个反馈控制器组成,前者针对访问人数这个主要扰动因素,预先对虚拟资源数量进行动态调整,后者则针对其他扰动因素,把各个虚拟资源的响应时间作为反馈量,对各个虚拟资源处理的负载比例进行动态地调整;执行模块由资源管理模块和负载均衡模块组成,前者负责动态地增加或者删除虚拟资源,后者负责动态地调整各个虚拟资源的负载比例;具体步骤如下: (1)把应用系统部署在给定数量的虚拟资源上,每个虚拟资源平均分配负载比例; (2)在运行时,监控模块定时地收集应用系统的运行时数据,通过分析模块获得在最近一段时间内的运行信息,包括应用系统的访问人数、访问人数变化率、以及各个虚拟资源处理请求的平均响应时间; (3)规划模块中的前馈控制器根据访问人数及其变化率预先对虚拟资源数量进行动态调整;规划模块中的反馈控制器根据各个虚拟资源的平均响应时间对各个虚拟资源处理的负载比例进行动态地调整; (4)执行模块中的资源管理负责动态地增加或者删除虚拟资源,而负载均衡负责动态地调整各个虚拟资源的负载比例; (5)间隔一定时间后重复执行步骤(2)-(5)。
2.如权利要求1所述 的基于前馈和反馈控制的虚拟资源动态分配方法,其特征在于,步骤(3)中,采用前馈控制器实现对虚拟资源数量的动态调整,其基本过程如下: (1)通过实验研究,确定在给定虚拟资源数量的情况下系统最多能支撑的访问人数即系统饱和时的最大访问人数,并通过线性拟合得到虚拟资源与应用系统饱和时最大访问人数的系统扰动数学模型NP (η); (2)根据这个系统扰动数学模型,给出访问人数对虚拟资源的补偿函数①:
3.如权利要求1所述的基于前馈和反馈控制的虚拟资源动态分配方法,其特征在于,步骤(3)中,采用反馈控制器实现对各个虚拟资源的负载比例的动态调整,其基本过程如下: (1)根据监控得到的各个虚拟资源平均响应时间的度量值,计算当前时刻其较相应期望值的偏差e (t),根据各个虚拟资源平均响应时间的过往3个时刻的偏差e (t-2),e (t_l),e (t),由PID增量计算公式②计算各个虚拟资源的控制变量u (t):

4.一种基于权利要求1-3所述方法的虚拟资源动态分配系统,是一个MAPE自适应控制环路,其特征在于包括:监控模块、分析模块、规划模块和执行模块;其中,监控模块负责收集应用系统的运行时数据;分析模块通过分析运行时数据获得应用系统的外部扰动以及性能参数,其中,外部扰动包括系统访问人数、访问人数变化率,性能参数包括各个虚拟资源的响应时间;规划模块由一个前馈控制器和一个反馈控制器组成,前者针对访问人数这个主要扰动因素,预先对虚拟资源数量进行动态调整,后者则针对其他扰动因素,把各个虚拟资源的响应时间作为反馈量,对各个虚拟资源处理的负载比例进行动态地调整;执行模块由资源管理模块和负载均衡模块组成,前者负责动态地增加或者删除虚拟资源,后者负责动态地调整各个虚拟资源的负载比例。
【文档编号】G06F9/50GK103581333SQ201310574433
【公开日】2014年2月12日 申请日期:2013年11月13日 优先权日:2013年11月13日
【发明者】彭鑫, 陈碧欢, 俞岭, 赵文耘 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1