[发明专利]一种云计算平台IaaS层的动态资源监测及调度方法有效
申请号: | 201310593595.1 | 申请日: | 2013-11-21 |
公开(公告)号: | CN103607459A | 公开(公告)日: | 2014-02-26 |
发明(设计)人: | 李丹程;马东琳;李全祚;王晓晨 | 申请(专利权)人: | 东北大学 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/46 |
代理公司: | 沈阳东大专利代理有限公司 21109 | 代理人: | 梁焱 |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 计算 平台 iaas 动态 资源 监测 调度 方法 | ||
1.一种云计算平台IaaS层的动态资源监测及调度方法,用于监测和调度由控制服务器和若干计算服务器构成的数据中心的资源,其特征在于:包括如下步骤:
步骤1:控制服务器收集数据中心的各个计算服务器的当前状态信息;
所述计算服务器的当前状态包括运行状态和候补状态;
所述运行状态是指计算服务器处于开机状态,处于运行状态的计算服务器为运行节点,开机状态分为工作状态和闲置状态,其中,工作状态是指计算服务器正在运行虚拟机的状态,处于工作状态的计算服务器为工作节点;闲置状态是指计算服务器未执行任务的状态,处于闲置状态的计算服务器为闲置节点;
所述候补状态是指计算服务器处于待机或者关机状态;处于待机状态或者关机状态的计算服务器为候补节点;
步骤2:控制服务器遍历并收集数据中心中所有工作节点的使用状态,包括:CPU利用率、内存利用率和带宽利用率;
步骤3:控制服务器根据当前遍历的工作节点的使用状态,判断数据中心中的工作节点负载状态,若判断当前的工作节点负载超过阈值,则从候补节点中选择一个候补节点使之成为运行节点,并结束遍历;否则继续遍历剩余的工作节点;
步骤4:控制服务器不停地遍历所有工作节点进行虚拟机迁移条件判断,所述虚拟机迁移条件包括虚拟机迁移上限触发条件和虚拟机迁移下限触发条件:判断工作节点满足虚拟机迁移上限触发条件,是,则当前工作节点为待迁移的工作节点,执行步骤5,否则判断工作节点是否满足虚拟机迁移下限触发条件,是,则执行步骤6,则当前工作节点为待迁移的工作节点,否则遍历下一个工作节点,若遍历结束时,没有满足虚拟机迁移条件的工作节点,则返回步骤1;
所述虚拟机迁移上限触发条件包括CPU利用率判断条件、内存利用率判断条件和带宽利用率判断条件;
步骤4-1:利用虚拟机迁移上限触发条件中的CPU利用率判断条件对工作节点进行判断,过程如下:
步骤4-1-1:控制服务器令当前遍历的工作节点运行测试任务,记录针对于每个测试任务的实际花费时间Treal,结合预期花费时间Texp计算出每项测试任务的SLA等级l:
式中,Treal表示每个测试任务的实际花费时间;Texp表示预期花费时间;
步骤4-1-2:根据计算出的所有SLA等级,控制服务器计算工作节点的综合SLA等级Lr,综合SLA等级即衡量工作节点CPU计算能力的标准:
式中,测试任务i=1……n,li为第i个测试任务的SLA等级;
将综合SLA等级、内存利用率和带宽利用率称为监测因素;
步骤4-1-3:在控制服务器中设定变量S,该变量用来表示该当前工作节点的SLA综合等级Lr连续低于当前工作节点中所有虚拟机的最大SLA综合等级Lmax的次数,经过连续k个数据采集周期的遍历过程,S的累计值若高于阈值μ,则执行步骤4-1-4;在连续k个数据采集周期的遍历过程中若出现某次Lr高于Lmax的情况则将S清零,并结束对当前工作节点的遍历;
步骤4-1-4:控制服务器预测当前工作节点在下一个数据采集周期内SLA综合等级L′r,若L′r仍然小于Lmax,则当前工作节点满足虚拟机迁移上限触发条件,执行步骤5,否则将S清零,并结束对当前工作节点的遍历;
步骤4-2:利用虚拟机迁移上限触发条件中的内存利用率/带宽利用率判断条件对工作节点进行判断,过程如下:
步骤4-2-1:在控制服务器中设定预测阈值μ1、迁移触发阈值μ2和遍历次数n1;
步骤4-2-2:控制服务器计算当前遍历的工作节点中的所有虚拟机所需内存上限/带宽上限之和Mr;
步骤4-2-3:控制服务器判断Mr是否大于当前遍历的工作节点的内存/带宽:是,则控制服务器获取当前遍历的工作节点的内存利用率/带宽利用率m,否,则结束对当前工作节点的遍历;
步骤4-2-4:控制服务器判断m是否大于μ1,是,则执行步骤4-2-5,否,则结束对当前工作节点的遍历;
步骤4-2-5:控制服务器连续k个数据采集周期获取当前遍历的工作节点的内存利用率/带宽利用率,若所有的内存利用率/带宽利用率均大于μ1,且k≥n1,则执行步骤4-2-6,否则结束对当前工作节点的遍历;
步骤4-2-6:控制服务器预测下一个数据采集周期的当前遍历的工作节点的内存利用率/带宽利用率m1,并判断m1是否大于μ2且内存利用率/带宽利用率预测值的走势呈上升趋势,是,则当前工作节点为待迁移的工作节点,执行步骤5,否,则步骤4-2-5;
判断工作节点是否满足虚拟机迁移下限触发条件的过程如下;
步骤4-3:利用当前工作节点的CPU利用率、内存利用率和带宽利用率,对工作节点进行判断,过程如下:
步骤4-3-1:在控制服务器中设定CPU闲置阀值Mv、内存闲置阀值Mw、带宽闲置阀值My和闲置统计量阀值Ms;
步骤4-3-2:控制服务器获取当前遍历的工作节点的CPU利用率v,内存利用率w和带宽利用率y,判断v≤Mv、w≤Mw、y≤My是否同时满足,是,则控制服务器将当前遍历的工作节点的闲置统计量加1,否,则将闲置统计量清零,并结束对当前工作节点的遍历;
步骤4-3-3:控制服务器判断当前遍历的工作节点的闲置统计量是否大于闲置统计量阀值,是,则执行步骤4-3-4,否,则结束对当前工作节点的遍历;
步骤4-3-4:控制服务器预测当前工作节点在下一个数据采集周期内的CPU利用率、内存利用率和带宽利用率,并判断v≤Mv、w≤Mw、y≤My是否同时满足,是,则当前工作节点为待迁移的工作节点,执行步骤5,否,则结束对当前工作节点的遍历;
步骤5:控制服务器选取待迁移的工作节点中的目标虚拟机,即需要被迁移的虚拟机;
步骤5-1:若待迁移的工作节点是由虚拟机迁移上限触发条件所触发的,则执行步骤5-2;若待迁移的工作节点是由虚拟机迁移下限触发条件所触发的,则该工作节点中的所有虚拟机均为目标虚拟机,并执行步骤6;
步骤5-2:在待迁移的工作节点中选取目标虚拟机;
步骤5-2-1:利用虚拟机迁移上限触发条件中的CPU利用率判断条件对待迁移的工作节点进行判断,过程如下:
步骤5-2-1-1:控制服务器将100%的内存利用率均分成N个区间,将所有虚拟机按照其已使用内存占当前工作节点的比例划分到相应区间内,并且将各个区间按照内存利用率从高到低进行排序,将没有虚拟机的区间剔除,剩余的每个区间均作为一个元素加入队列Q;
步骤5-2-1-2:控制服务器确定要迁移的虚拟机的个数n2;
步骤5-2-1-3:控制服务器判断队列Q是否为空:是,则选定目标虚拟机,否,则选取队列Q中第一个元素R并将其在队列Q中删除,执行步骤5-2-1-4;
步骤5-2-1-4:控制服务器判断元素R中虚拟机个数n3是否大于等于n2:是,则将R中的前n2个虚拟机加入目标虚拟机集合,即选取了目标虚拟机,否,则将R中的所有虚拟机加入目标虚拟机集合,并重设要迁移的虚拟机的个数为n2-n3,返回步骤5-2-1-3;
步骤5-2-2:利用虚拟机迁移上限触发条件中的内存利用率对待迁移的工作节点进行判断,过程如下:
步骤5-2-2-1:控制服务器遍历待迁移的工作节点中的所有虚拟机,按照其已使用内存占当前工作节点的比例由小到大的顺序对虚拟机进行排序;
步骤5-2-2-2:按照内存利用率从小到大的顺序,将虚拟机依次加入目标虚拟机集合中,直到某时刻剩余虚拟机的内存利用率之和小于预测阈值μ1时,当前的目标虚拟机集合即为选定的目标虚拟机;
步骤5-2-3:利用虚拟机迁移上限触发条件中的带宽利用率对待迁移的工作节点进行判断,过程如下:
步骤5-2-3-1:控制服务器将100%的内存利用率均分成N1个区间,将所有虚拟机按照其已使用内存占当前工作节点的比例划分到相应区间内,并且将各个区间按照内存利用率从低到高进行排序,将没有虚拟机的区间剔除,剩余的每个区间均作为一个元素加入队列Q1;
步骤5-2-3-2:控制服务器判断队列Q1是否不为空:是,则选取队列Q1中第一个元素R1,将其中的虚拟机按照带宽利用率从大到小的顺序进行排序,并将元素R1在队列Q1中删除;否,则选定目标虚拟机;
步骤5-2-3-3:控制服务器判断元素R1是否为空:是,则返回步骤5-2-3-2,否,则选取R1中的第一个虚拟机并将其加入目标虚拟机集合中;
步骤5-2-3-4:判断剩余虚拟机的带宽利用率之和是否小于预测阈值μ1,是,则当前的目标虚拟机集合即为选定的目标虚拟机;否,则返回步骤5-2-3-2;
步骤6:控制服务器为目标虚拟机选取目标服务器,即目标虚拟机要迁入的计算服务器;
步骤6-1:控制服务器判断所有工作节点是否能够容纳目标虚拟机:控制服务器遍历所有工作节点,判断工作节点的内存量和带宽量是否同时大于目标虚拟机的内存量和带宽量,且工作节点的SLA综合等级大于目标虚拟机集合的SLA综合等级,是,当前工作节点能够容纳目标虚拟机,否,则遍历下一个工作节点;
步骤6-2:采用轮盘赌算法确定目标虚拟机要迁入的计算服务器;
步骤6-2-1:控制服务器计算所有能够容纳目标虚拟机的工作节点的空闲系数;
式中,α为SLA综合等级权重值,β为内存利用率权重值,γ为带宽利用率权重值,α,β,γ取值全都大于零并且满足α+β+γ=1,li为当前计算服务器的SLA综合等级,为计算服务器的最大SLA综合等级,mi为内存利用率,Mi为物理内存,nj为带宽利用率,Ni为总带宽;
步骤6-2-2:控制服务器根据各工作节点的空闲系数计算该工作节点的区域长度按照各工作节点间的区域长度比例将轮盘划分区间,即确定出各工作节点所在区域;
步骤6-2-3:控制服务器选择一个0-1之间的随机数x,并通过确定该随机数所对应的工作节点Z,选取第Z个工作节点作为最终目标服务器;
步骤7:控制服务器将目标虚拟机迁入确定的目标服务器。
2.根据权利要求1所述的云计算平台IaaS层的动态资源监测及调度方法,其特征在于:所述步骤4-1-4、步骤4-2-6以及步骤4-3-4均采用线性回归方法进行预测,具体过程如下:
步骤1:控制服务器在一个时间序列上取得与该时间序列中的时间对应的监测因素,构成监测因素样本集合,设定误差阈值、最小步长、最小样本数和样本集合长度,并确定样本集合的开始索引为0;
步骤2:控制服务器根据时间序列及其对应的监测因素建立监测因素预测函数,用以描述监测因素与时间的线性关系v=at+b,其中,v为监测因素,t为时间,a、b为未知参数;
步骤3:控制服务器判断样本集合长度与开始索引ω的差是否大于最小样本数η,是,则执行步骤4,否,则执行步骤9;
步骤4:控制服务器计算监测因素预测函数中的未知参数a和b;
式中,为样本中的时间序列ti的平均值,为样本中的监测因素vi的平均值;
步骤5:控制服务器计算监测因素样本集合的实际误差σ2;
其中,n为样本集合的数量,中间变量中间变量
步骤6:控制服务器判断实际误差σ2是否小于误差阈值λ,是,则执行步骤7,否,则令并执行步骤3;
步骤7:控制服务器记录当前计算的a值和b值作为正确的a值和b值;
步骤8:控制服务器判断取值是否大于0并且大于最小步长θ,是,则令并执行步骤3,否,则执行步骤9;
步骤9:控制服务器判断是否存在正确的a值和b值,是,则取得前次正确的a值和b值,根据监测因素预测函数预测下一时刻的监测因素vn+1并结束,否,则直接结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310593595.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种车灯气密检测机的后车灯检测夹具
- 下一篇:浮头式换热器的试压胎具