一种基于混合元启发式算法的Hadoop负载均衡任务调度方法与流程

文档序号:14714135发布日期:2018-06-16 01:00阅读:来源:国知局
一种基于混合元启发式算法的Hadoop负载均衡任务调度方法与流程

技术特征:

1.一种基于混合元启发式算法的Hadoop负载均衡任务调度方法,其特征在于,包括如下步骤:

S1、针对平衡任务处理节点的处理任务的计算压力,根据资源槽原理,建立资源槽压力模型;

S2、采用粒子群优化算法的求解资源槽压力模型;

S3、采用基于模拟退火与粒子群优化算法的混合元启发式优化算法求解资源槽压力模型;

S4、采用MPICH并行编程方法,转移启发式优化算法的复杂计算过程于额外计算节点,通过同时运行多个粒子群,让多个种群找到更多的局部最优解,然后提取其中效果最好的解用于任务调度。

2.根据权利要求1所述的基于混合元启发式算法的Hadoop负载均衡任务调度方法,其特征在于,所述资源槽压力模型的优化目标为最小化Hadoop集群Slave节点计算压力间的方差Variance,所述的资源槽压力模型为:

其中,Pressure表示Slave节点时间待处理的m个Map子任务所需的Map资源槽总和相较于该节点的Map资源槽总数M所造成待处理任务计算压力;ti表示第i个待处理任务所需的Map资源槽数量;Average表示集群中所有Slave节点待处理任务计算压力的平均值;Mi表示集群中第i个Slave节点的Map资源槽数量;S表示集群中Slave节点的数量;Variance表示集群中各Slave节点待处理任务计算压力间的方差。

3.根据权利要求2所述的基于混合元启发式算法的Hadoop负载均衡任务调度方法,其特征在于根据所建立的资源槽压力模型,将任务调度编码入了粒子群优化算法的粒子坐标中,同时设计的目标函数能够从粒子坐标中计算出当前粒子坐标表示的任务调度方案下,集群的Slave节点计算压力方差。所述的基于资源槽压力模型的粒子群优化算法具体参数与公式如下:

Xi(x1,x2,x3,...,xm);

Vi(v1,v2,v3,...,vm);

Vi'=w*Vi+c1*r1*(pBesti-Xi)+c2*r2*(gBest-Xi);

Xi′=Xi+Vi′;

其中,Xi(x1,x2,x3,...,xm)表示第i个粒子在解空间中的坐标;xm表示第m个待处理任务被分配到第xm个Slave节点上运行;Vi(v1,v2,v3,...,vm)表示第i个粒子的速度;Vi′表示第i个粒子根据上一轮迭代的学习经验更新后的速度w为惯性权重;c1和c2为学习因子;r1和r2为[0,1]上的随机数;pBesti为第i个粒子的个体最优点;gBest为种群的最优点;Xi'表示第i个粒子经过一轮迭代后的坐标;pBesti'为第i个粒子一轮迭代更新后的个体最优点;gBest'为一轮迭代更新后的种群最优点;f(Xi)为粒子群优化算法的目标函数,该函数的功能为根据例子坐标Xi(x1,x2,x3,...,xm)中的待处理任务与Slave节点间的对应关系,计算出集群中Slave节点待处理任务计算压力的方差Variance。

4.根据权利要求3所述的基于混合元启发式算法的Hadoop负载均衡任务调度方法,其特征在于,所述采用粒子群优化算法求解资源槽压力模型的约束包括:为了实现采用粒子群优化算法求解资源槽压力模型,需要预先对集群中所有Slave节点的计算资源进行的统计,同时在任务调度过程中需要为每一个Slave节点生成维护一个待处理任务队列,在对Map子任务分配方案进行求解前,需要从JobTracker中获取每一个Map子任务所需要的资源槽数量,从而通过资源槽压力模型的相关公式,进行求解。

5.根据权利要求3所述的基于混合元启发式算法的Hadoop负载均衡任务调度方法,其特征在于,采用基于模拟退火和粒子群优化算法的混合元启发式算法求解资源槽压力模型具体为:粒子群初始化种群中的粒子坐标和初始速度后,根据目前的粒子坐标对应的目标函数结果最优的粒子位置fmin和最差的粒子位置fmax间差生的目标函数结果差值以及预先设定的初始接受概率pr计算初始退火温度T0;在之后的每次迭代中,若根据粒子坐标更新规则计算得出的粒子坐标对应的目标函数值优于当前的粒子坐标对应的目标函数值,则直接使用新的粒子坐标更新当前的粒子坐标,如果新的粒子坐标对应的目标函数值差于当前的粒子坐标对应的目标函数值,则根据模拟退火算法中的接受法则判断是否接受新的坐标,否则保持粒子原坐标不变;模拟退火算法接受次优点坐标的特性,赋予了混合算法在粒子群陷入局部最优点后,通过接受次优点从而跳出局部最优点,从而最终收敛于全局最优点,具体公式如下:

Δf=f(Xi+V′i)-f(Xi);

Ti+1=ξTi。

其中,粒子群相关的公式与参数仅粒子坐标更新公式发生了改变,T0为初始退火温度;pr为初始接受概率;fmin和fmax为粒子群初始化后的最小、最大目标函数适应值;Ti为第i轮迭代时的退火温度;ξ为温度衰变系数;X′i表示第i个粒子经过一轮迭代后的坐标。

6.根据权利要求1所述的基于混合元启发式算法的Hadoop负载均衡任务调度方法,其特征在于,在限定的时间内,若任一种群达到了目标函数规定的约束条件,则当前种群便向Master节点传输计算所得的任务调度方案,Master节点在一定的时间片之后,对所获取的任务调度方案进行目标函数值对比,选取其中使集群中所有Slave节点计算压力最平均的任务调度方案用于任务资源分配;若在限定的时间内,尚存在种群未能达到收敛条件,则截取当前种群中的种群最优解作为该种群搜寻的最优任务调度方案传输给Master节点。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1