发明名称 IaaS云系统运行速率动态控制装置、系统及方法
摘要 本发明公开了一种IaaS云系统运行速率动态控制装置、系统及方法,属于云计算领域,本发明旨在更改云主机的运行速率,对负载的变化做出即时的响应,从而优化系统性能和能耗,使系统兼顾高负载状况下的执行效率和低负载状况下的节能性。本发明充分考虑了云系统负载的动态波动性,通过跟踪其趋势预测系统未来的运行速度需要,并提前进行增速或减速的控制;由于剔除了历史负载数据中的异常点影响,确保了趋势预测的精确性;本发明能够根据云系统负载变化趋势,估算未来预期的负载缺口,并制定可变的控制间隔时间,避免了“控制过密”和“控制过疏”两个极端。
申请公布号 CN103685541A 申请公布日期 2014.03.26
申请号 CN201310717182.X 申请日期 2013.12.23
申请人 重庆广播电视大学 发明人 李佳;江涛;白小燕
分类号 H04L29/08(2006.01)I;H04L12/24(2006.01)I 主分类号 H04L29/08(2006.01)I
代理机构 重庆市前沿专利事务所(普通合伙) 50211 代理人 郭云
主权项 一种IaaS云系统运行速率动态控制方法,其特征在于包括以下步骤:步骤1、收集IaaS云系统主机的存量任务时间信息:收集k个已经完成的任务在IaaS云系统主机上的执行时间序列ct1,dt2,...dtk和仍在IaaS云系统主机上执行的任务已用的执行时间序列et1,et2....etm,其中m为仍在执行的任务的数量,k和m均为正整数;步骤2、预测完成任务的执行时间:设定已经完成的任务依次在IaaS云系统主机上的执行时间序列中,剔除了异常值干扰后的对数步长平均增量为loinc;计算1olnc=mean{inci,j|0<i<j≤k,yc(i,j)=0}得到已经完成的任务依次在IaaS云系统主机上的执行时间序列中的剔除了异常值干扰的对数步长平均增量;所述yc(i,j)为判断inci,j是否是异常点的函数,mean为集合求算数平均值的操作,inci,j表示序列中第和个记录值之间形成的对数步长等效增量,所述i和j均为正整数; <mrow> <mi>in</mi> <msub> <mi>c</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>ct</mi> <mi>j</mi> </msub> <mo>-</mo> <msub> <mi>ct</mi> <mi>i</mi> </msub> </mrow> <mrow> <mi>log</mi> <mrow> <mo>(</mo> <mi>j</mi> <mo>-</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>;</mo> </mrow> <mrow> <mi>yc</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <mn>1</mn> <mi>if</mi> <mfrac> <mrow> <mo>|</mo> <mi>in</mi> <msub> <mi>c</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>|</mo> </mrow> <mi>mn</mi> </mfrac> <mo>></mo> <mi>a</mi> <mo>+</mo> <mn>1</mn> <mo>,</mo> <mo>|</mo> <mi>in</mi> <msub> <mi>c</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>|</mo> <mo>></mo> <mi>max</mi> <mo>{</mo> <mo>|</mo> <mi>in</mi> <msub> <mi>c</mi> <mrow> <mi>t</mi> <mo>,</mo> <mi>t</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>|</mo> <mo>|</mo> <mi>i</mi> <mo>&le;</mo> <mi>t</mi> <mo>&le;</mo> <mi>j</mi> <mo>}</mo> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> <mi>else</mi> </mtd> </mtr> </mtable> </mfenced> <mo>;</mo> </mrow>其中a为给定的参数,0.1≤a≤0.5;mn取值为:mn=mean{|incu,v||0<u<v≤k};设定完成任务的执行时间为nxt:计算 <mrow> <mi>nxt</mi> <mo>=</mo> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <mi>mean</mi> <mo>{</mo> <mi>c</mi> <msub> <mi>t</mi> <mi>i</mi> </msub> <mo>+</mo> <mi>loinc</mi> <mo>&times;</mo> <msup> <mi>e</mi> <mrow> <mi>k</mi> <mo>-</mo> <mi>i</mi> </mrow> </msup> <mo>|</mo> <mn>0</mn> <mo>&lt;</mo> <mi>i</mi> <mo>&le;</mo> <mi>k</mi> <mo>}</mo> <mi>if</mi> <mrow> <mo>(</mo> <mi>loinc</mi> <mo>+</mo> <msub> <mi>ct</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>></mo> <mi>max</mi> <mo>{</mo> <msub> <mi>et</mi> <mi>j</mi> </msub> <mo>|</mo> <mn>0</mn> <mo>&lt;</mo> <mi>j</mi> <mo>&le;</mo> <mi>m</mi> <mo>}</mo> </mtd> </mtr> <mtr> <mtd> <mi>min</mi> <mo>{</mo> <msub> <mi>et</mi> <mi>j</mi> </msub> <mo>|</mo> <mn>0</mn> <mo>&lt;</mo> <mi>j</mi> <mo>&le;</mo> <mi>m</mi> <mo>}</mo> <mo>+</mo> <munder> <mi>&Sigma;</mi> <mrow> <mn>0</mn> <mo>&lt;</mo> <mi>i</mi> <mo>&le;</mo> <mi>k</mi> <mo>,</mo> <mrow> <mo>(</mo> <msub> <mi>ct</mi> <mi>i</mi> </msub> <mo>+</mo> <mi>loinc</mi> <mo>&times;</mo> <msup> <mi>e</mi> <mrow> <mi>k</mi> <mo>-</mo> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> </msup> <mo>)</mo> </mrow> <mo>&lt;</mo> <mi>min</mi> <mo>{</mo> <msub> <mi>et</mi> <mi>j</mi> </msub> <mo>|</mo> <mn>0</mn> <mo>&lt;</mo> <mi>j</mi> <mo>&le;</mo> <mi>m</mi> <mo>}</mo> </mrow> </munder> <msub> <mi>ct</mi> <mi>i</mi> </msub> <mo>+</mo> <mi>loinc</mi> <mo>&times;</mo> <msup> <mi>e</mi> <mrow> <mi>k</mi> <mo>-</mo> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> </msup> </mtd> </mtr> </mtable> </mfenced> </mrow>得到完成下一个任务的执行时间;步骤3、计算动态速率扩展控制量和控制等待时间:所述计算动态速率扩展控制量按以下步骤进行:设定未来负载缺口值为qkz,计算 <mrow> <mi>qkz</mi> <mo>=</mo> <munder> <mi>&Sigma;</mi> <mrow> <mn>0</mn> <mo>&lt;</mo> <mi>j</mi> <mo>&le;</mo> <mi>m</mi> <mo>,</mo> <msub> <mi>et</mi> <mi>j</mi> </msub> <mo>></mo> <mi>nxt</mi> </mrow> </munder> <mrow> <mo>(</mo> <msub> <mi>et</mi> <mi>j</mi> </msub> <mo>-</mo> <mi>nxt</mi> <mo>)</mo> </mrow> </mrow>得到未来负载缺口值;读取IaaS云系统主机的处理器当前所处的速度等级L和该速度等级对应的等效执行率exe(L),设IaaS云系统主机拥有n个处理器,其最高的速度等级为第g级,L、n和g均为正整数;设定动态速率扩展控制量为kzl,计算 <mrow> <mi>kzl</mi> <mo>=</mo> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <mo>-</mo> <mn>1</mn> <mi>ifqkz</mi> <mo>=</mo> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mi>min</mi> <mo>{</mo> <mi>i</mi> <mo>|</mo> <mi>n</mi> <mo>&GreaterEqual;</mo> <mfrac> <mi>qkz</mi> <mrow> <mi>exe</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>+</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>-</mo> <mi>exe</mi> <msup> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>&prime;</mo> </msup> </mrow> </mfrac> <mn>0</mn> <mo>&le;</mo> <mi>i</mi> <mo>&le;</mo> <mi>g</mi> <mo>-</mo> <mi>l</mi> <mo>}</mo> <mi>else</mi> </mtd> </mtr> </mtable> </mfenced> </mrow>得到动态速率扩展控制量;所述计算控制等待时间按以下步骤执行:根据完成下一个任务的执行时间和仍在IaaS云系统主机上执行的任务已用的执行时间序列决定下一次控制的等待时间,设定控制的等待时间为dsj;计算 <mrow> <mi>dsj</mi> <mo>=</mo> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <mi>wcif</mi> <munder> <mi>&Sigma;</mi> <mrow> <mn>0</mn> <mo>&lt;</mo> <mi>j</mi> <mo>&le;</mo> <mi>m</mi> </mrow> </munder> <mrow> <mo>(</mo> <msub> <mi>et</mi> <mi>j</mi> </msub> <mo>-</mo> <mi>nxt</mi> <mo>)</mo> </mrow> <mo>&lt;</mo> <mn>0</mn> <mi>or</mi> <munder> <mi>&Sigma;</mi> <mrow> <mn>0</mn> <mo>&lt;</mo> <mi>j</mi> <mo>&le;</mo> <mi>m</mi> </mrow> </munder> <mrow> <mo>(</mo> <msub> <mi>et</mi> <mi>j</mi> </msub> <mo>-</mo> <mi>nxt</mi> <mo>)</mo> </mrow> <mo>></mo> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mi>&beta;</mi> <mo>&times;</mo> <mi>wcelse</mi> </mtd> </mtr> </mtable> </mfenced> <mo>,</mo> </mrow>得到下一次控制的等待时间;wc为系统初始给出的控制间隔时间,wc>0,1<β<10;步骤4、IaaS云系统主机根据所述控制的等待时间dsj和动态速率扩展控制量kzl,在控制的等待时间段内对IaaS云系统主机的运行速率进行控制。
地址 400052 重庆市九龙坡区九龙科技园华龙大道1号