[发明专利]一种基于DAG人工蜂群的任务流调度方法在审
申请号: | 202211576323.6 | 申请日: | 2022-12-09 |
公开(公告)号: | CN116302386A | 公开(公告)日: | 2023-06-23 |
发明(设计)人: | 罗清杰;严义 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06N3/006;G06N7/01 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310018 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 dag 人工 蜂群 任务 调度 方法 | ||
1.一种基于DAG人工蜂群的任务流调度方法,其特征在于,包括如下步骤:
步骤A.定义人工蜂群算法的相关参数,构建蜂群模型,所述参数包括:种群规模,蜜源集合中蜜源的个数,最大循环次数,蜜源最大采集次数;
步骤B.生成蜜源,具体包括以下子步骤:
步骤B1.获取任务流,所述任务流中包括若干子任务,按以下方式根据任务流构建有向无环图:以子任务为结点、子任务之间的依赖关系为边,构建得到有向无环图;建立蜜源,所述蜜源为每次循环生成的分配方案的集合;
步骤B2.找出有向无环图中所有入度为0的子任务,生成一个子任务集合,所述子任务集合中的元素为所述有向无环图中入度为0的子任务;
先判断入度为0的子任务数量是否大于虚拟机的数量,并按以下方式得到子任务集合中子任务的分配方案:
若入度为0的子任务数量不大于虚拟机的数量,则将所述子任务集合中的入度为0的子任务分配至不同的虚拟机,否则将所述入度为0的子任务在所有的虚拟机中进行随机分配;
所述分配方案中包括若干个对应关系,所述对应关系是指分配方案中,子任务与被分配处理该子任务的虚拟机之间一一对应的关系;将所述对应关系作为蜜源中的元素,放入所述蜜源中,然后进入步骤B3;
步骤B3.将步骤B2中已经分配至虚拟机的子任务从所述有向无环图中移除,判断所述有向无环图中是否还有子任务,如果还有则重新进入B2执行,否则进入步骤B4;
步骤B4.计算蜜源的适应度,并设置蜜源采集次数为0,所述适应度代表任务流完成时间,其计算公式为:
MakeSpan(k)=max{STFT(i)}
其中STFT(i)为子任务i的完成时间,MakeSpan(k)为分配方案k的完成时间;
所述子任务完成时间的计算方式如下:
STFT(i)=STBT(i)+STET(i)
其中,STBT(i)为子任务i开始执行的时间;STET(i)为子任务i执行时间;
所述子任务执行时间STET的计算方式如下:
其中,len(i)为子任务i的数据长度;MIPS(j)为虚拟机j的单字长定点指令平均执行速度;
所述子任务开始执行的时间STBT,按以下公式计算:
STBT(i)=max{STFT(k),max{STFT(ip)+DTT(ip)}}ip∈Pre(i)
其中,DTT(ip)表示在不同虚拟机执行的相互依赖的任务之间的数据传输时间;Pre(i)表示子任务i的前继任务;STFT(k)表示虚拟机上最后一个任务k的完成时间;STFT(ip)表示子任务i的前继任务的完成时间;
步骤C.在所述蜂群模型中,设置采蜜蜂基于其对应的蜜源生成一个新蜜源,并与采蜜蜂生成所述新蜜源之前的原蜜源进行对比,选择新蜜源与原蜜源之中适应度较低的蜜源,并更新蜜源采集次数;
步骤D.在所述蜂群模型中,设置观察蜂采用轮盘赌算法跟随采蜜蜂生成蜜源,并与原蜜源进行对比,选择适应度较低的蜜源,并更新蜜源采集次数;
步骤E.在所述蜂群模型中,查询所有蜜源的采集次数,若蜜源的采集次数达到上限,侦查蜂则根据步骤B的方式生成新的蜜源;
步骤F.更新最佳蜜源信息,所述最佳蜜源是指适应度最小的蜜源;
步骤G.判断循环次数是否达到步骤A中设定的最大循环次数,若达到则结束循环,输出最佳蜜源信息作为调度方案,否则循环次数增加1并重新进入步骤C。
2.根据权利要求1所述一种基于DAG人工蜂群的任务流调度方法,其特征在于,所述步骤C具体包括如下步骤:
步骤C1:所述蜂群模型中的采蜜蜂在其对应的蜜源中,随机选择一个子任务设为子任务i,然后进入步骤C2;
步骤C2:获取包含子任务i的子任务集合,并获取所述子任务集合中子任务的分配方案,然后进入步骤C3;
步骤C3:根据步骤C2获取的分配方案,将该子任务i随机分配给未在分配方案中的虚拟机,若不存在未在分配方案中的虚拟机,则将子任务i随机分配给所有的虚拟机中的任意一个;通过上述方式更改分配方案,基于更改后的分配方案生成一个新的蜜源,然后进入步骤C4;
步骤C4:计算新生成蜜源的适应度值,并和更改分配方案之前的原蜜源进行比较,选择适应度较低的蜜源,如果选择原蜜源,则原蜜源采集次数加1,反之则设置新生成蜜源采集次数为0,然后进入步骤D。
3.根据权利要求2所述一种基于DAG人工蜂群的任务流调度方法,其特征在于,步骤D中,所述生成蜜源的方式与采蜜蜂生成蜜源的方式相同,所述轮盘赌算法中,所述采蜜蜂被所述观察蜂选中的概率按以下公式得到:
其中,n代表蜜源个数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211576323.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种增材制造钛合金的方法
- 下一篇:一种挤压成型通体花纹无机人造石的布料方法