[发明专利]虚拟化云中机器启动时间感知的实时任务与资源调度方法有效

专利信息
申请号: 201510607539.8 申请日: 2015-09-22
公开(公告)号: CN105159752B 公开(公告)日: 2018-03-30
发明(设计)人: 朱晓敏;陈黄科;邱涤珊;李志猛;祝江汉;马满好 申请(专利权)人: 中国人民解放军国防科学技术大学
主分类号: G06F9/455 分类号: G06F9/455;G06F9/48
代理公司: 国防科技大学专利服务中心43202 代理人: 郭敏
地址: 410073 湖*** 国省代码: 湖南;43
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 虚拟 化云中 机器 启动 时间 感知 实时 任务 资源 调度 方法
【权利要求书】:

1.一种虚拟化云中机器启动时间感知的实时任务与资源调度方法,其特征在于包括以下步骤:

第一步,初始化:

1.1设置等待执行任务集合WT为空,即

1.2令活跃主机的集合为Ha,令关闭主机的集合为Ho

1.2.1令j=1;

1.2.2如果j>m,m为主机数量,m为正整数,转第二步;否则,执行第1.2.3步;

1.2.3如果则Ha=Ha∪hj;如果则Ho=Ho∪hj;若表示主机hj在时刻t处于活跃状态,表示主机hj在时刻t处于关闭状态;主机hj∈H,1≤j≤m,表示云服务系统中的第j台主机,主机的集合H={h1,h2,…,hm};

1.2.4j=j+1,执行第1.2.2步;

第二步,当新任务动态到达后,更新系统的状态:

2.1将新到达任务加入到等待执行任务集合中,即WT=WT∪Tnew,其中,表示新到达的任务集合,其中|Tnew|为新到达任务的数量,ti'∈Tnew,1≤i≤|Tnew|,为新到达任务集合中的编号为i的任务;

2.2取消等待执行任务与虚拟机之间的映射关系,即令xi,jk=0,映射任务ti到非应急虚拟机vmjk表示让非应急虚拟机vmjk执行任务ti;变量xi,jk表示任务ti是否被分配到非应急虚拟机vmjk,如果任务ti被分配到非应急虚拟机vmjk,则xi,jk=1,如果任务ti没有被分配到非应急虚拟机vmjk,则xi,jk=0;任意一个任务ti表示为ti={ai,li,di},1≤i≤n,其中ai为任务ti的到达时间,li为任务ti的执行长度,单位为Hz,di为任务ti的截止期,n为正整数;

2.3更新每台非应急虚拟机vmjk的就绪时间rtjk,如果非应急虚拟机vmjk正在执行某个任务,vmjk的就绪时间就是虚拟机完成正在执行任务的时间;如果非应急虚拟机vmjk处于空闲状态,vmjk的就绪时间为当前时间;

2.4更新每台活跃主机hj上应急虚拟机lvmj的CPU频率分配,hj∈Ha

第三步,按任务截止期最早优先的顺序,从WT中选出截止期di最早的任务ti

第四步,将任务ti分配到可用的非应急虚拟机上,方法是:

4.1令selVmSet为一个虚拟机集合,初始化为minFt为一个变量,初始化为minFt=+∞;

4.2令j=1;|Ha|表示活跃主机的数量;

4.3如果j>|Ha|,则转第4.4步;否则,执行第4.3.1步;

4.3.1令k=1;|VMj|表示主机hj上非应急虚拟机的数量;

4.3.2如果k>|VMj|,则j=j+1,转第4.3步;否则,执行第4.3.3步;

4.3.3计算任务ti在虚拟机vmjk上的完成时间fti,jk,计算公式如下:

其中,为任务ti在虚拟机vmjk上的执行时间;

4.3.4如果任务ti在虚拟机vmjk上的完成时间fti,jk满足fti,jk<minFt,那么,清空虚拟机集合selVmSet即令并将虚拟机vmjk加入到selVmSet中;令minFt=fti,jk;k=k+1,转第4.3.2步;

4.4如果任务ti的最小完成时间满足它的时效性要求即minFt≤di,取出虚拟机集合selVmSet中的虚拟机,记为selVm;

4.5将任务ti映射到虚拟机selVm上即令xi,jk=1,同时更新虚拟机selVm的就绪时间rtjk为rtjk=minFt,转第八步;否则,执行第五步;

第五步,增加一台新虚拟机,并分配任务ti到新增加的虚拟机上,方法是:

5.1确定新增加虚拟机的CPU频率fnew,计算公式如下:

其中,li和di分别表示任务ti的执行长度和截止期;ct为当前时刻;ct(vm)为创建虚拟机的时间延迟;

5.2令selHostSet为一个主机集合,初始化为minRemFre为一个变量,初始化为minRemFre=+∞;

5.3寻找一台剩余资源大于fnew的活跃主机:

5.3.1令j=1;

5.3.2如果j>|Ha|,|Ha|表示活跃主机的数量,转第5.4步;否则,执行第5.3.3步;

5.3.3计算主机的剩余资源rfj,如下所示:

其中,表示主机hj的最大频率;和c(lvmj)分别表示非应急虚拟机集合和应急虚拟机使用的CPU频率;

5.3.4如果主机的剩余资源rfj大于新增加虚拟机的CPU频率fnew,且主机的剩余资源rfj小于minRemFre,即(fnew<rfj)&(rfj<minRemFre),则清空主机集合selHostSet,然后将主机hj加入到selHostSet,令minRemFre=rfj,更新j=j+1,转到第5.3.2步;

5.4如果选择的主机集合selHostSet为非空,即执行第5.5步;否则,执行第5.6步;

5.5创建新虚拟机,并映射任务ti到新虚拟机,转第八步;

5.6确定新增加虚拟机的CPU频率fnew,计算公式如下:

其中,li和di分别表示任务ti的执行长度和截止期;ct为当前时刻;ct(vm)为创建虚拟机的时间延迟;st(host)为启动主机的时间延迟;

5.7启动一台关闭的主机,然后创建一台新虚拟机:

5.7.1令j=1;

5.7.2如果j>|Ho|,|Ho|表示关闭主机的数量,转第六步;否则,转第5.7.3步;

5.7.3如果主机hj的最大CPU频率小于新增加虚拟机的CPU频率需求fnew,即则j=j+1,转第5.7.2步;否则,执行第5.7.4步;

5.7.4启动关闭的主机hj

5.7.5将主机hj加入到活跃主机集合Ha中,即Ha=Ha∪hj;同时,将主机hj从关闭主机集合Ho中移除;

5.7.6在主机hj上创建一台CPU频率为fnew的虚拟机,记为vmjk

5.7.7在主机hj上创建一台CPU频率为0的应急虚拟机lvmj

5.7.8将新建的非应急虚拟机vmjk加入到可用非应急虚拟机集合AVM中;

5.7.9将任务ti映射到新非应急虚拟机vmjk

5.7.10更新非应急虚拟机vmjk的就绪时间rtjk,即rtjk=di,转第八步;

第六步,将任务ti分配到应急虚拟机上,方法如下:

6.1确定应急虚拟机的最小CPU频率flash-up,计算公式如下:

其中,li和di分别表示任务ti的执行长度和截止期;ct为当前时刻;

6.2使用主机的剩余资源来增加应急虚拟机的CPU频率,然后将任务映射到应急虚拟机上:

6.2.1令j=1;

6.2.2如果j>|Ha|,|Ha|为活跃主机的数量,转第6.3步;否则,转第6.2.3步;

6.2.3如果主机hj上的应急虚拟机lvmj为空闲,即c(lvmj)=0,执行第6.2.4步;否则,更新j=j+1,转回第6.2.2步;

6.2.4如果主机hj的剩余CPU频率rfj不小于应急虚拟机的最小CPU频率flash-up,即rfj≥flash-up,执行第6.2.5步;否则,更新j=j+1,转回第6.2.2步;

6.2.5将主机hj的剩余CPU频率rfj分配给应急虚拟机lvmj,即c(lvmj)=rfj,rfj=0;

6.2.6将任务ti映射到应急虚拟机lvmj上,转第八步;

6.3转移非应急虚拟机的CPU频率到应急虚拟机,然后将任务映射到应急虚拟机上:

6.3.1令j=1;

6.3.2如果j>|Ha|,转第6.4步;否则,转第6.3.3步;

6.3.3如果主机hj上的应急虚拟机lvmj为空闲,即c(lvmj)=0,执行第6.3.4步;否则,更新j=j+1,转回第6.3.2步;

6.3.4令k=1;

6.3.4.1如果k>|VMj|,|VMj|为主机上非应急虚拟机数量,更新j=j+1,转第6.3.2步;否则,执行第6.3.4.2步;

6.3.4.2如果非应急虚拟机vmjk的CPU频率满足c(vmjk)≥flash-up,执行第6.3.4.3步;否则,更新k=k+1,转回第6.3.4.1步;

6.3.4.3令MTjk为映射到非应急虚拟机vmjk的任务集合;

6.3.4.4如果MTjk中每个任务ti'的截止期与完成时间之差不小于li/c(vmjk),即di'-fti',jk≥li/c(vmjk),执行第6.3.4.5步;否则,更新k=k+1,转回第6.3.4.1步;

6.3.4.5转移非应急虚拟机vmjk的CPU频率给应急虚拟机lvmj,即c(lvmj)=c(vmjk),c(vmjk)=0;

6.3.4.6将任务ti映射到应急虚拟机lvmj上,转第八步;

6.4转移非应急虚拟机的CPU频率到应急虚拟机,然后将任务映射到应急虚拟机,接着启动一台关闭的主机,并将非应急虚拟机迁移到新启动的主机上:

6.4.1令j=1;

6.4.2如果j>|Ha|,则转第七步;否则,执行第6.4.3步;

6.4.3如果主机hj上的应急虚拟机lvmj为空闲,即c(lvmj)=0,执行第6.4.4步;否则,更新j=j+1,转回第6.4.2步;

6.4.4令k=1;|VMj|为主机上非应急虚拟机数量;

6.4.4.1如果k>|VMj|,更新j=j+1,则转到第6.4.2步;否则,执行第6.4.4.2步;

6.4.4.2如果非应急虚拟机vmjk的CPU频率满足c(vmjk)≥flash-up,执行第6.4.4.3步;否则,更新k=k+1,转回第6.4.4.1步;

6.4.4.3令MTjk表示映射到非应急虚拟机vmjk的任务集合;

6.4.4.4如果MTjk中每个任务的截止期与完成时间之差满足di-fti,jk≥st(host)+mt(vmjk),st(host)和mt(vmjk)分别表示启动主机和迁移虚拟机的时间,执行第6.4.4.5步;否则,更新j=j+1,转到第6.4.2步;

6.4.4.5转移非应急虚拟机vmjk的CPU频率给应急虚拟机lvmj,即c(lvmj)=c(vmjk),c(vmjk)=0;

6.4.4.6将任务ti映射到应急虚拟机lvmj上;

6.4.4.7启动一台最大CPU频率大于c(lvmj)的关闭主机hj

6.4.4.8迁移非应急虚拟机vmjk到刚启动的主机hj上;

6.4.4.9配置虚拟机vmjk的CPU频率为c(vmjk)=c(lvmj);

6.4.4.10在主机hj上创建一台CPU频率为0的应急虚拟机lvmj

6.4.4.11将主机hj加入到活跃主机集合Ha中,即Ha=Ha∪hj;同时,将主机从关闭主机集合Ho中移除,即Ho=Ho-hj

6.4.4.12转第八步;

第七步,如果任务ti没有被映射到任何一台虚拟机上,则拒绝任务ti,即WT=WT-{ti};

第八步,如果待分配任务集合WT中存在未调度任务,则转第三步;否则,执行第九步;

第九步,结束。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201510607539.8/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top