基于预算约束的云服务工作流调度方法_2

文档序号:9249155阅读:来源:国知局
看上是否有需要的软件,如果没有,则将软件的下载和安 装时间添加到任务执行时间上;最后,计算所有前序任务数据传输到该任务上的总时间,并 添加到任务占用虚拟机的时间上,得出该任务在该虚拟机上的总占用时间。
[0029] 根据所构建的一个与任务n;和虚拟机V湘关的优势权值Wi(n。Vj,V')(简称Wi,若 Vj.和V'互换位置则简称W1'),为每个任务选出最优虚拟机,把每个任务分配到相应的虚拟 机上,完成初始调度,得到初始调度方案S,并计算初始调度方案下的最大完工时间Lid和 总花费C(jid。
[0030] 优势权值Wi(n。Vj,V')表征了任务n在Vj上执行相对于其在V'上执行的优势, 相应地,Wi(ni,v',Vj.)表征任务n;在V'上执行相对于其在Vj.上执行的优势。优势权值的 计算方法如下:
[0031]
[0032] 其中,V'表示任务叫的当前最佳虚拟机,C(n。Vj)、est(n。Vj)、eft(n。Vj)分别表 示任务rii部署在虚拟机Vj上的花费、最早开始时间、最早结束时间;C(n。Vj)、est(n。Vj)、 eftOii'Vj)分别表示任务叫部署在虚拟机V'上的花费、最早开始时间、最早结束时间;口 和0是两个0到1之间的参数,分别表示花费和时间的影响因子,且a+0 = 1,可W根据 具体问题合理设置a和0的具体值,使其更符合问题需要,找到最佳方案;
[0033] 若Wi〉Wi'则表明任务n;在虚拟机VJ上执行相对于其在虚拟机V'上执行更有优 势,则将当前最佳虚拟机V'替换为Vj.。
[0034] 在为任务分配最佳虚拟机时,可将所有虚拟机按照计算能力大小升序排列,并将 各个任务的最佳虚拟机V'初始化为该队列中的首个虚拟机,然后按照该队列次序依次将 各虚拟机与当前最佳虚拟机进行比较。
[00对 B、重调度阶段:
[0036] 本发明根据所构建的一个与任务和虚拟机相关的关系权值W2(n。vp来对初始调 度方案进行重新调整,具体如下:
[0037] 首先按照W下公式计算云服务工作流中的每一个任务与每一个虚拟机之间的关 系权值,并将所计算出的所有非零的关系权值按照从小到大进行排序:
[0038]
[00測式中,W2(ni,Vj.)表示任务n;与虚拟机Vj.之间的关系权值,和C"id是云服务工 作流采用初始调度方案的完工时间和花费,T。。,和C是指采用将任务ni部署到虚拟机VJ 上所得到的新的调度方案下云服务工作流的完工时间和花费;
[0040] 然后,判断初始调度方案下云服务工作流的花费是否小于用户的资金预算,如是, 则从第一个关系权值开始,按照该关系权值所对应的任务和虚拟机向后逐步调整调度方 案,直到调整后调度方案下所述云服务工作流的花费恰好不大于用户的资金预算,如否,贝U 从最后一个关系权值开始,按照该关系权值所对应的任务和虚拟机向前逐步调整调度方 案,直到调整后调度方案下所述云服务工作流的花费恰好不大于用户的资金预算。
[0041] 图2、图3显示了本发明调度方法的一种具体算法流程,其中图2为初始调度阶段 的算法流程,图3为重调度阶段的算法流程。
[0042] 如图2所示,初始调度阶段包括W下步骤:
[0043] 步骤S201,计算工作流中每个任务的rank值,并按此值降序排列;
[0044] 步骤S202,将任务在某虚拟机上的占用时间表示成任务执行时间、软件安装时间 和数据传输时间之和,并计算该任务的最早开始时间、最早结束时间W及该任务在虚拟机 上的花费;
[0045] 步骤s203,利用步骤s202中计算出的各个值,计算W1 (n。Vj,V');
[004引步骤S204若Wi(叫,Vj,V')大于Wi(叫,V',Vj),则用Vj替换V';
[0047] 步骤S205若已计算完所有的化的值,转步骤S206,否则转步骤S202;
[0048] 步骤S206,得到初始调度结果S,计算S的完工时间T和总花费C。
[0049] 如图3所示,重调度阶段包括W下步骤:
[0050] 步骤S301,建立数组丫 [闲[V],根据之前的调度结果,若任务n;分配到Vj.上,则 丫 [i] [j]为0,转步骤S304,否则转步骤S302;
[005。 步骤S302,假设把n;分配到Vj上,并依据之前的规则完成n义后的任务的虚拟机 分配,并计算此分配下新的完工时间T。。,和新的花费C。。,;
[00閲步骤s303,计算W2 (叫,vp,并将其赋给A山山;
[0053] 步骤S304,将数组丫中的非0值放入数组5中并升序排列;
[0054] 步骤S305,若5非空,转步骤S306,否则转步骤S311;
[00巧]步骤s306,如果当前花费大于预算值,转步骤s308 ;否则转步骤s307 ;
[0056] 步骤s307从数组5中取出第一个元素;
[0057] 步骤S308,从数组5中取出最后一个元素;
[0058] 步骤S309,将任务n;分配到虚拟机VJ上,计算此时的总花费;
[0059] 步骤S310,如果总花费大于预算值,取消之前的分配动作,转步骤S305;
[0060] 步骤S311,如果最终的总花费小于预算值,转步骤S305;
[0061] 步骤S312,返回调度结果S;
[0062] 步骤S313,返回不存在满足条件的调度方案。
[0063]通过上述过程,本发明实现了云环境资源的高效供应,在有效保证了在用户预算 之内完成其工作流的情况下,最小化了工作流的完工时间。
【主权项】
1. 基于预算约束的云服务工作流调度方法,其特征在于,该方法以用户租用云服务的 花费不超出用户的资金预算作为约束条件,以工作流最大完工时间最小化为目标,为工作 流中的各任务分配相应的虚拟机。2. 如权利要求1所述云服务工作流调度方法,其特征在于,包括以下步骤: 步骤A、按照其到开始任务的最长路径的长度从大到小的次序,依次对云服务工作流中 的各任务分配初始的虚拟机,得到云服务工作流的初始调度方案;对于任意一个当前任务 叫,具体按照以下方法为其分配初始的虚拟机:将当前任务Iii的可选虚拟机按照计算能力 从大到小进行排序,先以其中第一个可选虚拟机作为当前任务的当前最佳虚拟机V',然后 计算第二个可选虚拟机Vj相对于当前最佳虚拟机V'的优势权值Wi以及V'相对于Vj的 优势权值w/jnwpw/,则将当前最佳虚拟机v'替换为Vj,否则,继续比较下一个可选虚拟 机;依此类推,直到当前任务的所有可选虚拟机均完成比较;其中,虚拟机Vj相对于当前最 佳虚拟机V'的优势1的计算公式如下:式中,COii,Vj)、estOii,Vj)、eftOii,Vj)分别表示任务IIi部署在虚拟机Vj上的花费、最 早开始时间、最早结束时间;COii,Vj)、estOii,Vj)、eftOii,Vj)分别表示任务Iii部署在虚拟 机V'上的花费、最早开始时间、最早结束时间;a和e是两个O到1之间的预设参数,且 a+0 = 1 ;步骤B、首先按照以下公式计算云服务工作流中的每一个任务与每一个虚拟机 之间的关系权值,并将所计算出的所有非零的关系权值按照从小到大进行排序:式中,W2 (叫,Vj)表示任务叫与虚拟机V』之间的关系权值,T。1(1和C。1(1是云服务工作流 采用初始调度方案的完工时间和花费,Tmw和CnOT是指采用将任务ni部署到虚拟机上所 得到的新的调度方案下云服务工作流的完工时间和花费; 然后,判断初始调度方案下云服务工作流的花费是否小于用户的资金预算,如是,则从 第一个关系权值开始,按照该关系权值所对应的任务和虚拟机向后逐步调整调度方案,直 到调整后调度方案下所述云服务工作流的花费恰好不大于用户的资金预算,如否,则从最 后一个关系权值开始,按照该关系权值所对应的任务和虚拟机向前逐步调整调度方案,直 到调整后调度方案下所述云服务工作流的花费恰好不大于用户的资金预算。3. 如权利要求2所述云服务工作流调度方法,其特征在于,任一任务部署在某一虚拟 机上的花费为该任务在该虚拟机的占用时间乘以该虚拟机的单位时间租赁费用,所述占用 时间包括任务执行时间、数据传输时间和软件安装的准备时间。
【专利摘要】本发明公开了一种基于预算约束的云服务工作流调度方法,属于云计算调度技术领域。本发明方法以用户租用云服务的花费不超出用户的资金预算作为约束条件,以工作流最大完工时间最小化为目标,为工作流中的各任务分配相应的虚拟机。本发明进一步通过构建的两个权值分别进行初始调度和重调度,使得算法更简单快速。本发明实现了云环境资源的高效供应,在有效保证了在用户预算之内完成其工作流的情况下,最小化了工作流的完工时间,且算法简单,易于实现。
【IPC分类】G06F9/46
【公开号】CN104965755
【申请号】CN201510222549
【发明人】李小平, 付志昆, 朱夏, 陈竹西, 王亚敏
【申请人】东南大学
【公开日】2015年10月7日
【申请日】2015年5月4日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1