一种可自动调节参数的云计算系统负载预测方法

文档序号:6357574阅读:104来源:国知局
专利名称:一种可自动调节参数的云计算系统负载预测方法
技术领域
本发明提供了一种系统负载预测方法,具体涉及一种云计算平台中物理机或虚拟 机的负载预测,属于计算机系统与网络领域。
背景技术
为了提高整个云计算平台的系统资源利用率,需要对各个物理机上运行的虚拟机 进行调度。但是,通过查看物理机与虚拟机信息的方法,只能得到现有时刻的负载状况。因 此,应当建立适当模型,预测系统在未来时刻的负载需求,从而实现有效合理的调度。在实际应用中,负载预测有两个目标i.预测值与实际值的误差尽可能小;ii.预 测值大于实际值。后者是出于以下想法对于每个虚拟机,宁可多分配系统资源,以避免因 系统资源不足造成应用无法正常执行。而在实际的模型中,这两点往往需要做出权衡。Roberts T 1959 ρ^ Exponentially Weighted Moving Average (
称EWMA)方法目前被应用于诸多计算机领域(ROBERTS,S. W. (1959). Control chart tests based on geometric moving average. Technometrics 1239-250)。这是一个短期预测模 型,其形式如下E(t) = α E(t-l) + (l-a )0(t)其中E(t)表示在时刻t的预测值,0(t)表示在时刻t的实际观察值,α是一个固 定的权重,在0到1之间取值。EWMA方法存在的问题包括当负载序列呈上升趋势时,预测值将始终位于历史数 据与实际值之间,无法满足目标ii ; α的值是固定的,需要通过经验设定,且不能适应不同 阶段的负载特征;EWMA只能对负载进行短期预测,无法刻画负载的周期性质。

发明内容
为便于说明,本文约定t表示时刻,T表示一个负载周期;0(t)表示时刻t的系统 负载实际值,在每个时刻t由系统给出;E(t)表示在时刻t对时刻t+Ι系统负载的短期预 测值;ET(t)表示在时刻t对时刻t+T系统负载的长期预测值;a (t)表示用于求E (t)的参 数;a τ⑴表示用于求 Et(t)的参数;E(0) ,E(I) · · . · · E(t_l)、0(0)、0(1) · · . · · 0(t_l)统称 为历史数据。本发明的目的是提供一种参数实时更新机制,用以解决EWMA中固定参数造成的 预测精度下降;通过将参数的取值范围扩大到[_1,1]区间上,以达到预测值略大于实际值 的目的;将方法推广至长期预测,反映负载的周期性;将长期预测与短期预测相结合。本发明的原理是在每个时刻t,先通过系统调用得到当前时刻的系统实际负载 0(t);接着在执行短期预测时,利用0(t)值与历史数据计算a (t)与E(t);在执行长期预 测时,利用0(t)与历史数据计算aT(t) %ET(t);最后取E(t-l) %ET(t-T)中的较大值作 为时刻t的输出值。本发明提供的技术方案如下
方案1 一种可自动调节参数的云计算系统负载预测方法,其特征在于,包括如下 步骤(流程参见图1)A.在时刻t,通过系统调用计算得到时刻t的系统实际负载0(t);B.执行短期预测利用0(t)值与历史数据计算α (t)与E(t);C.执行长期预测利用0(t)与历史数据计算α T(t)与Et (t);D.综合短期预测与长期预测当t < T时,输出0(t),转步骤E ;否则,取E(t-l), ET(t-T) 二者的最大值或者平均值作为时刻t的输出;E.更新历史数据,等待时刻t+Ι,转步骤A。方案2:为方案1的一种优选方案,其特征在于,步骤A中的系统调用为调用虚拟 机管理器提供的应用程序接口,或者抽样查看虚拟机内存页,或者调用用户自定义的方法。方案3 为方案2的一种优选方案,其特征在于,获取系统实际负载0(t)的方法 为对于每个虚拟机,随机抽样选取一个工作集,通过统计工作集的负载得到整个虚拟机的 负载状况。方案4 为方案1的一种优选方案,其特征在于,步骤B的实现方法为Bi.初始情况下,即t = 0时,取E(t) = 0(t),转入步骤C;否则,转入步骤B2 ;B2.上一次短期预测的平方误差为f [a (t) ] = [Ε (t_l) _0 (t) ]2,将经典EWMA公 式E(t) = α (t)E(t-l) + [l-a (t) ] 0 (t)代入,展开,利用保存的历史数据,构造误差多项式 f[a (t)] = {[E(t-3)-0(t_2)]*a (t) 2+
* a (t)+
}2,这是 一个关于a (t)的多项式函数;B3.对误差多项式f[a (t)]求导,得到导函数f’ [a (t)],解出它在[_1,1]区间 上的所有解;若误差多项式不存在或f’ [a (t)]在[_1,1]上无解,取a (t) = -1,转入步 骤B5;否则,由于f[a (t)]次数不超过四次,因此f’ [a (t)]在[_1,1]上的解数不超过3 个,将解集记为S,转入步骤B4 ;B4.求误差多项式f[a (t)]对S U {-1,1}里所有元素的函数值,比较它们的大 小,选取它们中最小的一个所对应的自变量值为a (t);若有多个最小的函数值,取最小的 那个自变量作为a (t);B5.计算 E(t) = a (t) E (t_l) + [1_ a (t)]0(t)。方案5 为方案4的一种优选方案,其特征在于,步骤C的实现方法为Cl.初始情况下,即t < T时,Et(t) = 0(t),转入步骤D ;否则,转入步骤C2 ;C2.上一次长期预测的平方误差*fT[aT(t)] = [ET (t_T) _0 (t) ]2,将经典EWMA公 式的周期性推广形式Et (t) = aT(t)ET(t-T) + [l-aT(t)]0⑴代入,展开,利用保存的历史 数据,构造误差多项式 fT [ a T (t) ] = {[ET (t-3T) -0 (t-2T) ] * a T (t)2+
* a T(t) +
}2,这是一个关于aT(t)的多项式函数;C3.对上述误差多项式fT[aT(t)]求导,得到导函数f/ [aT(t)],解出它在[_1, 1]区间上的所有解;若误差多项式不存在或fT'[aT (t)]在[-1,1]上无解,取a τ⑴=-1, 转入步骤C5;否则,由于fT[aT(t)]次数不超过四次,因此f/ [aT(t)]在[_1,1]上的解 数不超过3个,将解集记为ST,转入步骤C4 ;C4.求误差多项式fT[ ciT(t)]对St U {_1,1}里所有元素的函数值,比较它们的大 小,选取它们中最小的一个所对应的自变量值为aT(t);若有多个最小的函数值,取最小的那个自变量作为aT(t);C5.计算 ET(t) = α T(t)ET(t-T) + [l-a T(t)]0(t)。方案6 为方案4的一种优选方案,其特征在于,步骤B3中求解集S的方法为1)对于三次函数,利用卡丹公式求得所有三个复数根;对于二次函数,利用求根 公式求得所有两个复数根;对于一次函数,直接利用斜率与偏移求得唯一实数根;2)所有复数根只保留其实部;3)删去所有不在[-1,1]中的根,剩下的构成解集S。本发明通过误差函数实时计算a (t)与a T(t),提高了经典EWMA的预测精度;通 过将a (t)与aT(t)扩充到[_1,1]区间上,使得预测值能满足略大于实际值的需求;通过 引入长期预测模块,提高了预测对云计算平台负载周期性的反应能力。


图1主框架流程。图2为实施例中导函数求解集方法流程图。
具体实施例方式下面通过实例对本发明做进一步的说明。设方法开始后将遇到的实际负载序列为50,42,35,31,26,22,21,周期T = 2。t = 0时,通过系统方法得到0(0) = 50 ;在执行执行短期预测时时,由于t = 0, 所以E(O) =50;在执行执行长期预测时时,由于t<T,所以Et(O) =50;综合时,由于t < T,所以输出50 ;此时的历史数据有
权利要求
1.一种可自动调节参数的云计算系统负载预测方法,其特征在于,包括如下步骤A.在时刻t,通过系统调用计算得到时刻t的系统实际负载0(t);B.执行短期预测利用0(t)值与历史数据计算α(t)与E(t);C.执行长期预测利用0(t)与历史数据计算aT(t)与&(0;D.综合短期预测与长期预测当t< !“时,输出0(t),转步骤E;否则,取E(t-l), ET(t-T) 二者的最大值或者平均值作为时刻t的输出;E.更新历史数据,等待时刻t+Ι,转步骤A。
2.如权利要求1所述的方法,其特征在于,步骤A中的系统调用为调用虚拟机管理器 提供的应用程序接口,或者抽样查看虚拟机内存页,或者调用用户自定义的方法。
3.如权利要求2所述的方法,其特征在于,获取系统实际负载0(t)的方法为对于每 个虚拟机,随机抽样选取一个工作集,通过统计工作集的负载得到整个虚拟机的负载状况。
4.如权利要求1所述的方法,其特征在于,步骤B的实现方法为Bi.初始情况下,即t = 0时,取E(t) =0(0,转入步骤(;否则,转入步骤82;B2.上一次短期预测的平方误差为f[a (t)] = [E(t-l)-0(t)]2,将经典EWMA公式 E(t) = α (t)E(t-l) + [l-a (t)]0(t)代入,展开,利用保存的历史数据,构造误差多项式 f[a (t)] = {[E(t-3)-0(t_2)]*a (t) 2+
* a (t)+
}2 ;B3.对误差多项式f[a (t)]求导,得到导函数f’ [a (t)],解出它在[_1,1]区间上的 所有解;若误差多项式不存在或f’[ a (t)]在[_1,1]上无解,取a (t) =_1,转入步骤85 ; 否则,由于f[a (t)]次数不超过四次,因此f’ [a (t)]在[_1,1]上的解数不超过3个,将 解集记为S,转入步骤B4;B4.求误差多项式f[a (t)]对S U {-1,1}里所有元素的函数值,比较它们的大小,选 取它们中最小的一个所对应的自变量值为a (t);若有多个最小的函数值,取最小的那个 自变量作为a (t);B5.计算 E(t) = a (t)E(t-l) + [l-a (t)]0(t)。
5.如权利要求4所述的方法,其特征在于,步骤C的实现方法为Cl.初始情况下,即t<T时,ET(t) = 0(t),转入步骤D ;否则,转入步骤C2 ;C2.上一次长期预测的平方误差*fT[aT(t)] = [ET(t-T)-0(t)]2,将经典EWMA公式的 周期性推广形式&(0 = aT(t)4(t-T) + [l-aT(t)]0(t)代入,展开,利用保存的历史数据, 构造误差多项式 fT [ a T (t) ] = {[ET (t-3T) -0 (t-2T) ] * a T (t)2+
* a T (t) + [ 0(t-T)-0(t)]}2;C3.对上述误差多项式fT[aT(t)]求导,得到导函数f/ [aT(t)],解出它在[-1,1]区 间上的所有解;若误差多项式不存在或f/ [aT(t)]在[_1,1]上无解,取aT(t) =_1,转 入步骤C5;否则,由于fT[aT(t)]次数不超过四次,因此f/ [aT(t)]在[_1,1]上的解数 不超过3个,将解集记为&,转入步骤C4 ;C4.求误差多项式fT[aT(t)]对& U {-1,1}里所有元素的函数值,比较它们的大小, 选取它们中最小的一个所对应的自变量值为aT(t);若有多个最小的函数值,取最小的那 个自变量作为aT(t);C5.计算 ET(t) = a T_T(t-T) + [l-a T(t)]0(t)。
6.如权利要求4所述的方法,其特征在于,步骤B3中求解集S的方法为1)对于三次函数,利用卡丹公式求得所有三个复数根;对于二次函数,利用求根公式 求得所有两个复数根;对于一次函数,直接利用斜率与偏移求得唯一实数根;2)所有复数根只保留其实部;3)删去所有不在[_1,1]中的根,剩下的构成解集S。
全文摘要
本发明公布了一种可自动调节参数的云计算系统负载预测方法。包括在时刻t,通过系统调用计算得到时刻t的系统实际负载O(t);执行短期预测利用O(t)值与历史数据计算α(t)与E(t);执行长期预测利用O(t)与历史数据计算αT(t)与ET(t);综合短期预测与长期预测当t<T时,输出O(t),转下一步;否则,取E(t-1),ET(t-T)二者的最大值或者平均值作为时刻t的输出;更新历史数据,等待时刻t+1,转第一步。本发明通过误差函数实时计算α(t)与αT(t),提高了经典EWMA的预测精度;通过将α(t)与αT(t)扩充到[-1,1]区间上,使得预测值能满足略大于实际值的需求;通过引入长期预测模块,提高了预测对云计算平台负载周期性的反应能力。
文档编号G06F9/50GK102135914SQ20111008433
公开日2011年7月27日 申请日期2011年4月2日 优先权日2011年4月2日
发明者宋维佳, 肖臻, 黄群 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1