[发明专利]基于EDA-GA混合算法的云计算多目标任务调度方法在审
申请号: | 201811316114.1 | 申请日: | 2018-11-07 |
公开(公告)号: | CN109491761A | 公开(公告)日: | 2019-03-19 |
发明(设计)人: | 庞善臣;李文好 | 申请(专利权)人: | 中国石油大学(华东) |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/48;G06F9/50;G06N3/12 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 266580 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 混合算法 任务调度 多目标 云计算 任务处理队列 调度 云计算环境 云计算资源 资源利用率 多个目标 任务特性 任务完成 系统负载 用户提交 差异性 异步性 多样性 均衡 分析 | ||
1.基于EDA-GA混合算法的云计算多目标任务调度方法,其特征在于,云用户提交的任务具有多样性与差异性,而且云计算资源具有异步性和动态性。本发明根据以上信息,得到一个合理的任务处理队列,并根据系统的多个目标对任务进行有效调度,从而找到一种最优化的任务调度方案。主要包括以下部分:
A、分析系统的整体架构和目标,并对云计算的任务调度机制建立模型;
B、设计一种合理的任务队列排列方法;
C、设计一种面向云计算多目标任务调度的EDA-GA混合算法。
2.根据权利要求1所述的基于EDA-GA混合算法的云计算多目标任务调度方法,其特征在于,所述的部分A中,从系统目标、约束条件等方面对云计算系统进行分析,并对任务调度机制建立模型。云计算任务调度的目标包括降低用户任务完成时间、满足用户SLA要求、保持负载均衡、提高资源利用率等。在进行任务调度时,当云系统收到用户提交的任务后,它采用批处理方式处理任务,该步骤是由任务管理器进行管理,任务管理器可以按照用户要求决定最终的任务处理队列。同时,资源管理器可以实时获得当前虚拟机资源的计算能力、利用率等。在得到任务管理器与资源管理器的相关信息以后,调度器开始任务调度工作,调度时需要满足一定的约束条件,如一个任务只能在一台虚拟机上执行且仅被执行一次,任务需要根据任务管理器中形成的任务队列顺序依次进行调度。
3.根据权利要求1所述的基于EDA-GA混合算法的云计算多目标任务调度方法,其特征在于,所述的部分B中,由于云计算用户的大量增加,用户向云计算系统提交的任务量快速增长,并且这些任务具有一些自身的特性,如任务的种类可能属于计算密集型、内存密集型或I/O密集型。而且云计算中资源是异构的,不同计算资源之间存在差异,因此任务在不同虚拟机资源上执行的时间会不同。同时,任务具有用户设定的截止时间和优先级两个特性。根据以上三种任务特性,首先得到任务在所有可用虚拟机资源上的执行效果差,再结合截止时间、优先级两个属性,设计合理的权重公式得到每个任务的权重,最后依据权重值的大小对任务进行排序,从而形成最终的任务处理队列。具体步骤如下:
①根据任务管理器以及资源管理器,获得任务大小和当前所有虚拟机资源的计算能力,并计算任务在虚拟机上的执行时间矩阵,计算公式如下:
假设用户提交的任务总数量为n,创建的虚拟机总数量为m,所以ETC矩阵是n×m,Ti表示任务i的大小,Sj表示虚拟机j的计算速度;
②根据①中计算得到的任务执行时间矩阵,求出该任务的平均执行时间和最小执行时间,计算公式如下:
Tmin=min(ETC(n,0),ETC(n,1),…,ETC(n,m-1))
③利用AMM(AverageMinusMinimum)算法原理,将该任务的平均执行时间减去最小执行时间得到一个差值,该差值即为执行效果差Q(i),差值越大的任务应尽可能越早地被调度到更合适的虚拟上,从而避免因调度不合适而引起整体完成时间的增加,计算公式如下:
Q(i)=Tavg(i)-Tmin(i)
④利用设计的权重公式,将任务的执行效果差、截止时间、优先级代入公式中进行计算,得到该任务的权重值,计算公式如下:
其中,和都是用来将任务的执行效果差和截止时间量化到与任务优先级相同的范围中;DL(i)表示任务i的截止完成时间,TDL表示所有任务中的最大截止完成时间;P(i)表示任务i的优先级,用0到9之间的整数进行标注,数字越小,代表优先级越高。
α,β,γ为权重参数值,且α+β+γ=1。本发明的目标之一是降低用户任务完成时间、满足用户SLA要求,而用户SLA要求在本发明中是根据截止时间进行约束的。因此,α与β的权重值相对γ较大,分别设置为0.4,0.4,γ设置为0.2。
⑤根据所有任务的权重值大小,按照从小到大的顺序对任务进行排列,形成最终的任务处理队列。权重值越小,代表该任务应越早被调度。
4.根据权利要求1所述的基于EDA-GA混合算法的云计算多目标任务调度方法,其特征在于,所述的部分C中,任务调度器根据全局资源管理器中提供的各个虚拟机的负载、利用率、计算速度等信息,以及任务管理器提供的任务处理队列,将请求的任务调度至合适的虚拟机上。根据系统目标,设计了三种子种群,每个子种群具有自己的调度策略,具体如下:
①完成时间优先-子种群(T-FP):该种群以完成时间最短为调度目标,当接收到某个任务时,计算该任务在所有可用虚拟机资源上的完成时间,完成时间为等待时间和处理时间之和,然后将该任务调度到具有最短完成时间的虚拟机上;
②利用率优先-子种群(U-FP):该种群以提高虚拟机的资源利用率为目标,当接收到某个任务时,获得当前时刻所有虚拟机的资源利用率,然后将任务调度到具有最小资源利用率的虚拟机上;
③学习-子种群(L-FP):通过抽样启发式进行初始化,通过完成时间优先-子种群和利用率优先-子种群的优秀解进行更新,并利用适应度函数进行评估,通过迭代方式逐渐接近最优解。
本发明的EDA-GA混合算法,在算法前期,三种子种群根据自身目标,利用EDA算法的概率模型实现任务到虚拟机的分配,然后对每个子种群中的个体进行适应度评估,将适应度值高的优秀个体选择出来,建立概率模型并进行采样,产生新的解。进而利用GA算法,对新产生的解编码,并以一定的概率进行交叉和变异操作,最后再进行适应度评估,以一定比例保留满足目标的优秀解,与EDA阶段的优秀解进行组合,形成新的子种群。最后对三种子种群进行更新,得到每个子种群的局部最优解,利用局部最优解来更新全局最优解,反复迭代,最终输出满足系统多个目标的最优解。
其中,本发明的目标函数定义为如下公式:
CompleteTime为整体完成时间,DBL为整体系统的负载均衡度。
和是权重系数,代表了任务完成时间和负载均衡在系统目标中所占的比重,本发明中由于两个目标都较为重要,因此将其都设置为0.5。
GValue的值越大,表示该调度方案在降低用户任务完成时间、提高资源利用率、保持系统负载均衡方面的效果越好。
基于EDA-GA混合算法的云计算多目标任务调度方法的具体步骤如下:
Step1:接收用户的任务请求;
Step2:基于任务特性,根据所设计的权重公式计算各个任务的权重值,依据权重值的大小按顺序对任务进行排列,形成最终的任务处理队列;
Step3:初始化整体种群的规模,并按照1:2:1的比例,将整体种群划分为完成时间优先子种群、学习-子种群和利用率优先-子种群;
Step4:对每个子种群进行初始化,按照各自种群的调度目标,将任务队列中的任务调度到合适的虚拟机上;
Step5:按照三个子种群各自的目标函数,对种群中的个体进行评估,保留一定比例的优秀个体;
Step6:完成时间优先子种群和利用率优先-子种群交换彼此的优秀个体,学习-子种群接收其他两个子种群的优秀个体;
Step7:根据交换后得到的新种群,利用EDA算法,建立概率模式,并利用轮盘赌方法进行采样,产生出新的个体,并根据整体目标函数进行适应度评估,保留一定数量的优秀个体;
Step8:将Step7中得到的新个体利用GA算法,通过编码、交叉、变异等步骤产生新的个体,并进行适应度评估,保留一定数量的优秀个体;
Step9:将Step7和Step8中筛选出来的优秀个体结合,形成新的子种群,并进行适应度评估,得到各个子种群的局部最优解;
Step10:根据局部最优解获得全局最优解;
Step11:三个子种群根据更新公式进行更新,并进行下一次迭代;
Step12:判断是否满足终止条件,若满足,则输出全局最优解;若不满足,则跳转到Step5。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国石油大学(华东),未经中国石油大学(华东)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811316114.1/1.html,转载请声明来源钻瓜专利网。