[发明专利]基于正交实验改进的谱聚类遗传算法的Hadoop任务调度方法有效
申请号: | 201710448520.2 | 申请日: | 2017-06-14 |
公开(公告)号: | CN107273197B | 公开(公告)日: | 2020-08-28 |
发明(设计)人: | 杨新武;王碧瑾;王巧慧 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06N3/12 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 沈波 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了基于正交实验改进的谱聚类遗传算法的Hadoop任务调度方法,包括基于正交实验改进的谱聚类遗传算法的过程;进行个体编码、初始化数据,并设定参数;进行正交种群初始化;对种群内的个体进行解码得到表现型空间,计算表现型空间个体的任务预测执行时间、本地性任务个数和机器负载,然后根据这三个值计算种群内个体的适应度值;在表现型空间对种群进行谱聚类;选择种群内个体参加遗传操作;对选择的个体进行正交交叉和变异操作;重复迭代直到得到最佳个体。本发明采用改进的遗传算法作为优化算法,同时以任务预测执行时间、本地性任务个数、机器负载三个因素作为参数进行优化求解。 | ||
搜索关键词: | 基于 正交 实验 改进 谱聚类 遗传 算法 hadoop 任务 调度 方法 | ||
【主权项】:
基于正交实验改进的谱聚类遗传算法的Hadoop任务调度方法,其特征在于:该方法的实现包括如下步骤,1)基于正交实验改进的谱聚类遗传算法设种群规模为popsize,交叉概率为pc,变异概率为pm,聚类个数为k,则基于正交实验改进的谱聚类遗传算法的步骤如下Step1.种群初始化,采用正交种群初始化产生初始种群initPop,并使得pop=initPop,gen=1;Step2.判断是否满足停止进化的条件,如果不满足执行Step3,如果满足,执行Step7;Step3.对pop进行谱聚类,并保存聚类结果;Step4.使用轮盘赌方法从pop中选择一个个体indiv1,然后产生一个0‑1之间的随机数p,如果p>pc,将indiv1直接遗传至种群popN中;否则的话,先获取indiv1的类别classid1,然后在pop中随机选择一个indivT,并获取indivT的类别classidT,使得classid1!=classidT,然后选择classidT类中适应度值最好的个体indiv2,让indiv1和indiv2两个个体进行正交交叉操作,并把新产生的个体放入popN中;此过程循环popsize次;Step5.使用轮盘赌算法从popN中选择一个个体indiv,并产生一个0‑1之间的随机浮点数p,如果p>pm,则把indiv直接遗传到种群popNM中,否则,让indiv进行变异操作,将变异后的个体放入popNM中;Step6.使得pop=popNM,获取pop中的最优个体indivBest,并gen=gen+1;Step7.结束进化,将pop中的最优个体indivBest解码后便是所寻最优解;2)基于SOXGASC的Hadoop任务调度算法(SOXGASCFxNew)设定有一个Hadoop集群,Hadoop集群中有p个TaskTracker,m个Job被提交到JobTracker,ttsL表示TaskTracker的列表,且ttsL={tts1,tts2,...,ttsp};JobQueue表示Job的队列,JobQueue={job1,job2,...,jobm};配置文件中只需要两个参数MinJob和SinglePercent,其中,MinJob:一次最少处理job个数,由用户配置文件实现,是一个大于1的整数;SinglePercent:当一个大任务独占资源时最多可占用的资源比例,由用户配置文件实现,是一个0‑1之间的浮点数;Step1.根据配置文件中的参数MinJob和SinglePercent以及JobQueue中的Job生成待调度的任务列表TaskQueue;Step2.获取TaskTracker列表ttsL;Step3.根据TaskQueue和ttsL构建任务预测执行时间矩阵ETC,任务本地性矩阵LTC以及机器负载列表loadList;Step4.根据TaskQueue、ttsL以及种群规模popsize进行正交种群初始化,设当前代数为1;Step5.令当前种群为pop,判断是否满足停止进化条件,如果满足执行Step10;如果不满足到Step6;Step6.对pop中的染色体进行解码,解码后根据ETC矩阵、LTC矩阵、loadList求出每个染色体的预测执行时间timeExcute、本地性任务个数totalNumLocal、机器负载load,然后根据公式(1)求出pop中个体的距离度矩阵dis;ΔtimeExcutei,j=timeExcutei-timeExcutejΔtatalNumLocali,j=totalNumLocali-totalNumLocaljΔloadi,j=loadi-loadjdi,j=ΔtimeExcutei,j2+ΔtatalNumLocali,j2+Δloadi,j2---(1)]]>Step7.使得pop中的染色体两两相连构成一个有权无向图,pop中的染色体看作顶点,距离矩阵dis中的值作为边的权值,然后求出该矩阵的邻接矩阵即为相似度矩阵S,然后进行谱聚类,并对聚类结果进行保存;Step8.对pop进行轮盘赌选出一个个体indiv1,然后随机生成一个0‑1之间的浮点数p,如果p大于交叉概率pc,直接把选择出的个体遗传到新种群popN中,否则,获取indiv1的类别为classid1,再随机的在pop中选取一个个体indiv2,获取indiv2的类别为classid2,使得classid1!=classid2,然后使得indiv2与indiv1进行正交交叉操作,然后把新个体放入popN中,并把这个过程循环popsize次;Step9.对popN进行轮盘赌选择选出一个个体indiv,随机生成一个0‑1间的浮点数p,如果p大于变异概率pm,则把indiv直接遗传至popNM中,否则,对indivi进行变异操作,把变异后的结果放入popNM中,把这个过程循环popsize次;并使pop=popNM;Step10.选出pop中适应度值最好的一个染色体记为bestIndiv,对bestIndiv进行解码操作生成一个map数据结构,key值为TaskTracker的编号,value值为要在该TaskTracker上执行的任务列表;Step11.根据请求调度任务的TaskTracker的编号,把任务列表返回给JobTracker。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710448520.2/,转载请声明来源钻瓜专利网。