[发明专利]一种基于网络流量优化的Storm任务调度方法有效
申请号: | 201810092610.7 | 申请日: | 2018-01-31 |
公开(公告)号: | CN108415761B | 公开(公告)日: | 2021-11-05 |
发明(设计)人: | 谷建华;周兴社;周健华;闫旭涛 | 申请(专利权)人: | 西北工业大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 西北工业大学专利中心 61204 | 代理人: | 金凤 |
地址: | 710072 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种基于网络流量优化的Storm任务调度方法,涉及数据交换网络领域,通过进程间流量统计,根据通信关系矩阵,采用遗传算法进行网络k划分,并在机器内Worker进程间流量优化,根据机器和进程的对应表和进程和线程对应表,通过Storm命令rebalance来触发实施任务分配,本发明减少了节点间的流量,提高了现有资源的使用效率,减少了很多不必要的流量传输,降低了系统的延迟、提高了吞吐量;弥补了Storm任务调度中对任务间流量信息考虑不足的问题,优化了系统内机器间和机器内进程间流量不均衡的问题,使得导致系统延迟降低、吞吐量得到提高。 | ||
搜索关键词: | 一种 基于 网络流量 优化 storm 任务 调度 方法 | ||
【主权项】:
1.一种基于网络流量优化的Storm任务调度方法,其特征在于包括下述步骤:步骤1:进程间流量统计通过tcpdump命令采用抓包的方式统计进程间发送的信息,统计运行时Storm各个Worker进程间的数据传输速率,即可得到通信关系矩阵;在n个进程中,进程di和进程dj间的数据传输速率为进程di到dj和dj到di的通信速率之和,其中,1≤i≤n,1≤j≤n,通信关系矩阵w中的i行j列的wij表示进程di和进程dj间的数据传输速率,将n个进程间的数据传输速率进行汇总得到通信关系矩阵w,通信关系矩阵如下所示:步骤2:根据Worker进程间的通信关系矩阵,将n个进程划分到k个机器上,本发明采用遗传算法进行网络k划分,所述遗传算法的步骤包括编码表示、定义适应度、选择操作、杂交操作和变异操作;首先按照步骤1得到通信关系矩阵,随机产生m个初始例子染色体,其中,m取值范围为20~100,据编码产生初始种群,计算每个染色体的适应度,然后执行选择操作,根据每个个体的适应度比例确定选择概率,根据选择概率和轮盘选择策略在种群中选择个体,若随机概率大于杂交概率α则进行杂交操作,若随机概率大于变异概率β则进行变异操作;不断循环整个过程,进行选择产生新种群、变异和杂交操作,进行r次循环,其中r的取值范围为100~500,直到适应度值达到稳定,即适应度值不再变化,将种群中适应度值最大的个体所代表的方案作为划分方案,得到机器对应的进程表;具体步骤如下:步骤2.1:编码表示共n个进程,运行在k个机器上,进行编码表示时将n个进程划分到k个子集,即等于现在使用的机器数量k,编码中染色体x表示为{g1,g2,...gi,...,gn},1≤i≤n,且gi取值范围为{0,1,2,...,k‑1},表示每个进程属于一个子集,且每个染色体应包含0到k‑1的所有值;步骤2.2:定义适应度定义无向图G=(V,E,w),顶点集V={v1,v2,v3...vn},边的集合用w表示各个边之间的权值,边的权值即是步骤1中的通信关系矩阵的权值,将无向图G划分为k个子集,P1,P2...,Pk,且子集间互不相交,最大化各个子集内的通信量如公式2所示:其中vi∈Ps,vj∈Pt,s,t∈{1,2,...,n}且s=t表示同一个子集,在子集内累加边的权值为w(vi,vj),且系统storm运行的应用不变的情况下总的权值和是固定的,当各子集中权值和最大时,子集间权重达到最小;fit表示每个染色体的适应度,适应度公式如下所示:其中,gi,gj∈{0,1,...,k‑1}表示子集,gi表示划分的子集,gi=gj表示划分到同一个子集中,traffic表示子集内所有节点间的w(vi,vj)传输速率和,balance表示均衡参数,均衡参数balance定义如下所示:si表示子集i包含的节点数,表示平均每个子集应得到的节点数,n代表进程个数,|si‑n/k|表示每个子集节点数与平均节点数差的绝对值;p表示均衡系数,为所有染色体中最小传输速率和与最大均衡参数的比值,定义如下所示:p=min(traffic)/max(balance) (5)定义参数σ改变对均衡度和传输量的重视程度,其中0≤σ≤1;步骤2.3:选择操作选择操作采用轮盘选择方法,根据步骤2.2计算个体适应度fit除以总的适应度表示选择概率,选择概率Pi如下所示:b为总群中染色体的个数,以Pi为概率选择新的个体;步骤2.4:杂交操作设置杂交概率为α,杂交概率取值范围为0.4~0.9,同时在此时产生随机数δ,其中,0<δ<1,当δ大于α时进行杂交操作,杂交时交换种群中两个染色体的u个对应位,其中,u取值范围为2~10,如果杂交操作使得部分基因缺少,即每个染色体x没有包含0到k‑1的所有值,则杂交失败,不进行该次杂交,杂交成功则保留染色体对u个位置改变;步骤:2.5:变异操作设置变异概率β,取值范围为0.0001~0.2,此时产生新的随机数δ′,当δ′大于β时进行变异操作,随机选择两个点,对换这两个点的数值即实现变异操作,连续v次随机对换一个染色体两个基因位即实现变异操作,其中,v取值为3~10;步骤3:机器内Worker进程间流量优化当两个进程间传输速率大于阈值h,h为网卡速度的1%~10%,将两个进程中的线程进行重新组织,详细步骤如下:步骤3.1:设定数据传输速率阈值h,h为网卡速度的2%,两个进程间数据传输速率大于阈值h的两两进程,得到进程配对表{c0c1,c1c2,...,cici+1},0
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810092610.7/,转载请声明来源钻瓜专利网。