基于非支配排序和猫头鹰搜索的多工作流调度方法技术

技术编号:29400007 阅读:14 留言:0更新日期:2021-07-23 22:37
本发明专利技术公开了基于非支配排序和猫头鹰搜索的多工作流调度方法,通过同时引入非支配排序遗传算法及猫头鹰搜索算法来计算多工作流调度方案的方法,利用非支配排序遗传算法的多样性生成和保持优点,对种群的50%较优个体进行更新,以保证优良个体的多样性,降低了算法非支配解搜索陷入局部最优的可能性。

【技术实现步骤摘要】
基于非支配排序和猫头鹰搜索的多工作流调度方法
本专利技术属于云计算
,具体涉及基于非支配排序和猫头鹰搜索的多工作流调度方法。
技术介绍
近年来,随着云计算的普及和应用的不断深入,越来越多的科学应用被部署到云平台上运行。这样,用户便无需购置和维护任何服务器等硬件和软件资源,即可通过远程访问可配置的共享计算资源池,按需获取计算能力、存储空间和信息服务,全身心地投入到自己的科学研究工作中。云环境下的多工作流调度是旨在寻找合适的云资源来同时执行多个工作流应用,即来自各个不同工作流的任务穿插执行,并同时满足多个用户的服务质量需求。合适的多工作流调度算法,应该能在保证多个用户服务质量QoS需求的同时,提高云服务提供商的利益。因此,云环境下的多工作流调度是一个带约束的多目标优化问题。目前流行的多目标工作流调度方法,以多目标进化调度方法和多目标群智能优化调度算法为主。具体来说,多目标进化调度方法,具有全局搜索优势以及避免陷入局部最优的能力,但是其搜索时间过长,影响了算法的实时性;多目标群智能优化算法,本质上是一种迭代算法,通过反复迭代来寻找最优解,具有较好的全局搜索能力与快速收敛性,并且能够在较短时间内找到全局最优解,不足之处是缺乏有效的局部搜索机制。
技术实现思路
有鉴于此,本专利技术提供了基于非支配排序和猫头鹰搜索的多工作流调度方法,能够实现混合云环境下多工作流的调度。本专利技术提供的基于非支配排序和猫头鹰搜索的多工作流调度方法,包括以下步骤:步骤1、获取具有截止期限和预算约束的多个工作流,根据工作流的截止期限为该工作流所属的任务分配子截止期限,按照所述子截止期限将所有任务排序,形成任务调度序列,采用所述任务调度序列初始化种群形成待处理种群;初始化迭代次数;步骤2、计算所述待处理种群中粒子对应的调度方案的适应度,所述适应度由工作流的总完工时间、执行成本及能耗表示;采用非支配排序遗传NSGA-II算法,计算种群中所有粒子的密度,并根据所述适应度和密度对待处理种群中所有粒子进行非支配排序得到不同的非支配层,其中最高非支配层即为非支配前沿解集;步骤3、当所述迭代次数为1时,由所述非支配前沿解集内所有满足所述截止期限和预算约束的非支配前沿解构成外部档案集;否则,利用待处理种群的所述非支配前沿解集与外部档案集中的所有粒子进行比较,更新外部档案集;当所述外部档案集不为空时,选择所述外部档案集中密度最高的解作为全局最优引导解;当所述外部档案集为空时,则选择所述非支配前沿解集中密度最高的解作为全局最优引导解;步骤4、当所述迭代次数达到设定阈值时,输出所述外部档案集中所有粒子对应的调度方案;否则,采用NSGA-II算法的精英解保留策略,遍历所述非支配层,形成大小相同的较优种群及较差种群,采用NSGA-II算法更新所述较优种群,采用猫头鹰搜索算法根据所述全局最优引导解更新所述较差种群;步骤5、将所述较优种群与较差种群合并形成整合种群,以所述整合种群更新所述待处理种群;所述迭代次数自加1,执行步骤2。进一步地,所述步骤2中根据所述适应度将种群中所有粒子进行非支配排序得到不同的非支配层,所述非支配排序采用粒子间两两比较的方式,比较过程中,如果两个粒子中仅有一个为可行解,则选择为可行解的粒子;如果两个粒子均为可行解或非可行解,则选择非支配粒子;所述非支配粒子为不被其他粒子支配的粒子,即若粒子Xi支配粒子Xj则粒子Xi为非支配粒子;所述粒子Xi支配粒子Xj需要至少满足下列情况之一:粒子Xi的总完工时间、执行成本和能耗均分别优于粒子Xj的总完工时间、执行成本和能耗;粒子Xi的总完工时间、执行成本和能耗三个指标中存在一个指标与粒子Xj的相应指标的取值相同,另外两个指标则分别优于粒子Xj的相应指标;粒子Xi的总完工时间、执行成本和能耗三个指标中存在两个指标均与粒子Xj的相应指标的取值相同,另外一个指标则优于粒子Xj的相应指标。进一步地,所述步骤4中的猫头鹰搜索算法为基于混沌序列的猫头鹰搜索算法,采用所述基于混沌序列的猫头鹰搜索算法根据所述全局最优引导解更新所述较差种群的过程包括以下步骤:步骤4.1、对较差种群P2中的每个粒子计算与当前全局最优引导解V之间的距离信息同时计算的强度变化量并根据混沌系统的规律对随机参数rat进行更新,即rat+1=μ×rat×(1-rat),其中,rat为第t代的随机参数,且0≤rat≤1;μ为混沌控制参数;步骤4.2、根据强度变化量,更新较差种群P2中的每个粒子并根据混沌系统的规律采用公式(1)计算新的步长参数值βt+1:其中,βmin和βmax分别表示步长参数β取值的上、下界;步骤4.3、对更新后的较差种群P2进行非支配排序得到非支配前沿解集,在非支配前沿解集的每个粒子Xs附近区域进行局部搜索,寻找更优解,具体步骤如下:步骤4.3.1、初始化混沌局部搜索循环次数k为1;步骤4.3.2、初始化混沌局部搜索的维度值d为随机整数,且0≤d<|T|,其中T为前粒子的任务集合;步骤4.3.3、根据任务td的可用资源数量,采用公式(2)计算当前粒子中任务td所对应的第d维元素xd的新混沌变量值xdnew:其中,|ARd|为任务td的可用资源集合ARd中总的资源数,将新的混沌变量值xdnew对应的调度方案保存为新粒子CXk;步骤4.3.4、若循环次数k小于设定的阈值,则k自加1,执行步骤4.3.2;若循环次数k大于或等于设定的阈值,则分别计算所有新粒子的适应度,并求出其中的最优解CX*,选择CX*与原粒子Xs中的非支配粒子更新原粒子Xs。进一步地,所述步骤2中计算所述待处理种群中粒子对应的调度方案的适应度,所述适应度中的总完工时间计算过程包括以下步骤:步骤2.1、采用公式(3)计算粒子中任务的开始执行时间:其中,ti为粒子的任务集合T中的第i个任务,tentry为工作流入口子任务;为执行任务ti的资源的可用时间,如果资源未启动,那么为资源的启动时间,否则为资源上当前执行的最后一个任务的完工时间;pred(ti)表示任务ti的父任务集合;FT(tp)为任务ti的父任务tp的完工时间;max{}表示取最大值的操作;步骤2.2、采用公式(4)计算粒子中任务的完工时间:FT(ti)=ST(ti)+ET(ti)+TT(ti)+soft(ti)(4)其中,ET(ti)为任务ti的执行时间,TT(ti)为任务ti的输入文件的读取时间,soft(ti)为任务ti执行所需软件的加载时间;步骤2.3、粒子的总完工时间makespan的计算公式为:有益效果:1、本专利技术采用同时引入非支配排序遗传算法及猫头鹰搜索算法来计算多工作流调度方案的方法,利用非支配排序遗传算法的多样性生成和保持优点,对种群的50%较优个体进行更新,以保证优良个体的多样性,降低了算法非支配解搜索陷入局部最优的可能性;利用猫头鹰搜索算法的计算简单及收敛本文档来自技高网...

【技术保护点】
1.基于非支配排序和猫头鹰搜索的多工作流调度方法,其特征在于,包括以下步骤:/n步骤1、获取具有截止期限和预算约束的多个工作流,根据工作流的截止期限为该工作流所属的任务分配子截止期限,按照所述子截止期限将所有任务排序,形成任务调度序列,采用所述任务调度序列初始化种群形成待处理种群;初始化迭代次数;/n步骤2、计算所述待处理种群中粒子对应的调度方案的适应度,所述适应度由工作流的总完工时间、执行成本及能耗表示;采用非支配排序遗传NSGA-II算法,计算种群中所有粒子的密度,并根据所述适应度和密度对待处理种群中所有粒子进行非支配排序得到不同的非支配层,其中最高非支配层即为非支配前沿解集;/n步骤3、当所述迭代次数为1时,由所述非支配前沿解集内所有满足所述截止期限和预算约束的非支配前沿解构成外部档案集;否则,利用待处理种群的所述非支配前沿解集与外部档案集中的所有粒子进行比较,更新外部档案集;当所述外部档案集不为空时,选择所述外部档案集中密度最高的解作为全局最优引导解;当所述外部档案集为空时,则选择所述非支配前沿解集中密度最高的解作为全局最优引导解;/n步骤4、当所述迭代次数达到设定阈值时,输出所述外部档案集中所有粒子对应的调度方案;否则,采用NSGA-II算法的精英解保留策略,遍历所述非支配层,形成大小相同的较优种群及较差种群,采用NSGA-II算法更新所述较优种群,采用猫头鹰搜索算法根据所述全局最优引导解更新所述较差种群;/n步骤5、将所述较优种群与较差种群合并形成整合种群,以所述整合种群更新所述待处理种群;所述迭代次数自加1,执行步骤2。/n...

【技术特征摘要】
1.基于非支配排序和猫头鹰搜索的多工作流调度方法,其特征在于,包括以下步骤:
步骤1、获取具有截止期限和预算约束的多个工作流,根据工作流的截止期限为该工作流所属的任务分配子截止期限,按照所述子截止期限将所有任务排序,形成任务调度序列,采用所述任务调度序列初始化种群形成待处理种群;初始化迭代次数;
步骤2、计算所述待处理种群中粒子对应的调度方案的适应度,所述适应度由工作流的总完工时间、执行成本及能耗表示;采用非支配排序遗传NSGA-II算法,计算种群中所有粒子的密度,并根据所述适应度和密度对待处理种群中所有粒子进行非支配排序得到不同的非支配层,其中最高非支配层即为非支配前沿解集;
步骤3、当所述迭代次数为1时,由所述非支配前沿解集内所有满足所述截止期限和预算约束的非支配前沿解构成外部档案集;否则,利用待处理种群的所述非支配前沿解集与外部档案集中的所有粒子进行比较,更新外部档案集;当所述外部档案集不为空时,选择所述外部档案集中密度最高的解作为全局最优引导解;当所述外部档案集为空时,则选择所述非支配前沿解集中密度最高的解作为全局最优引导解;
步骤4、当所述迭代次数达到设定阈值时,输出所述外部档案集中所有粒子对应的调度方案;否则,采用NSGA-II算法的精英解保留策略,遍历所述非支配层,形成大小相同的较优种群及较差种群,采用NSGA-II算法更新所述较优种群,采用猫头鹰搜索算法根据所述全局最优引导解更新所述较差种群;
步骤5、将所述较优种群与较差种群合并形成整合种群,以所述整合种群更新所述待处理种群;所述迭代次数自加1,执行步骤2。


2.根据权利要求1所述的方法,其特征在于,所述步骤2中根据所述适应度将种群中所有粒子进行非支配排序得到不同的非支配层,所述非支配排序采用粒子间两两比较的方式,比较过程中,如果两个粒子中仅有一个为可行解,则选择为可行解的粒子;如果两个粒子均为可行解或非可行解,则选择非支配粒子;
所述非支配粒子为不被其他粒子支配的粒子,即若粒子Xi支配粒子Xj则粒子Xi为非支配粒子;所述粒子Xi支配粒子Xj需要至少满足下列情况之一:
粒子Xi的总完工时间、执行成本和能耗均分别优于粒子Xj的总完工时间、执行成本和能耗;粒子Xi的总完工时间、执行成本和能耗三个指标中存在一个指标与粒子Xj的相应指标的取值相同,另外两个指标则分别优于粒子Xj的相应指标;粒子Xi的总完工时间、执行成本和能耗三个指标中存在两个指标均与粒子Xj的相应指标的取值相同,另外一个指标则优于粒子Xj的相应指标。


3.根据权利要求2所述的方法,其特征在于,所述步骤4中的猫头鹰搜索算法为基于混沌序列的猫头鹰搜索算法,采用所述基于混沌序...

【专利技术属性】
技术研发人员:李慧芳袁艳王彬阳王丹敬王一竹黄姜杭柴森春夏元清
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1