基于改进遗传算法网格任务调度模型构建.docVIP

  • 5
  • 0
  • 约5.02千字
  • 约 10页
  • 2018-08-29 发布于福建
  • 举报

基于改进遗传算法网格任务调度模型构建.doc

基于改进遗传算法网格任务调度模型构建

基于改进遗传算法网格任务调度模型构建   摘要摘要:网格任务调度属于一个NP完全问题,传统遗传算法很难将这一多对象问题求得最优解。通过生成节点性能评估函数及构建任务动态调度模型,经由函数参数权重值调节,可实现将多对象问题转化为单一对象问题,并对遗传算法的杂交算子和变异算子进行优化,以实现全局最优解的求解。   关键词关键词:网络技术;任务调度;遗传算法;调度模型   DOIDOI:10.11907/rjdk.162355   中图分类号:TP302文献标识码:A文章编号文章编号2017)001001803   引言   网格技术以分布式计算为算法基础,解决了跨终端的任务分配与调度及资源共享问题[1]。目前的网格任务调度主要是利用遗传算法的动态迭代机制以及并行搜索的特点进行的,但存在着诸多问题。本文提出构建一个动态的任务调度模型,根据具体调度任务调整节点的性能参数及其权重值,以实现将多对象约束问题转化为单一对象问题,并将传统遗传算法的杂交算子及变异算子进行优化,实现全局最优解的求解。   1问题描述   在网格任务调度模型中,遗传算法容易陷入两大问题,其一便是容易陷入局部最优问题。众所周知,网格中的任务调度问题是一个多对象约束问题,也即是说,是一个NP完全问题[2]。因此,想要在一个NP完全问题中取得全局最优解,通常比较困难。既然如此,想要控制模型求解不陷入局部最优,而总是能够使其取得全局最优的结果,则需要对模型针对的问题进行一定程度上的优化。将这一多对象问题,转化为单一对象问题,问题则迎刃而解。然而,单对象约束问题很难达到网格调度模型期望的动态性。因此,必须引入一个动态调度函数,用以评估每个目标的不同需求,从而根据每个节点的性能参数得出期望中的调度模型,并对原有算法进行优化,以达到最终目标。   2动态调度模型构建   2.1节点性能评估函数ENPF生成   若要使一个属于NP完全问题的多目标异构问题能够保证得到全局最优解,需要引入一个网格系统中资源节点的性能函数。该函数既能够深刻刻画各节点性能,又能够根据用户的不同偏好和具体任务的不同需求进行用户定制[3]。要评估某个节点的性能,除了一些已知的性能参数外,还要考虑以下3个关键因素:   (1)与时间有关,称为活跃度,或者疲劳度,记为TINj。当此时间函数值越高,也即是说,就此网格节点而言,自上次完成任务到当前的时间间隔越长,此网格节点的动态性能评价越低。   (2)与节点使用频度有关,称为历史记录,记为CINj。此指标衡量源于对网格计算中针对任务贡献资源的节点所创立的激励机制,也即是说,对于向任务处理提供资源的节点,给予一定程度的激励回报或费用奖励,其具体方程式为:CINj=1-∑iCi∑iC0(1)其中,∑iCi为网格节点Pj以往所有成功完成任?罩械闹葱惺奔渥芎停弧?iC0为网格节点Pj以往所有成功完成任务中预计所需的执行时间总和。   (3)网格节点的动态累计可用性Uj,参数定义为:当节点在网格系统中处于可用状态时,此网格节点具体执行任务的时间比例。当网格系统中的某资源节点在某网格任务的接受和处理过程中处于可用状态时,此网格资源节点的可用时长累计为TA (Time of Available),相应的此网格节点的任务执行时长可累积计为TE(Time of Execution)。因此,网格节点的可用性定义如下:Uj=TEpj/TApj(2)其中,Uj为节点Pj的可用性,TEpj、TApj为网格资源节点Pj的执行时间与可用时间。   以上3个要素可以基本控制和调节不同用户、不同具体任务的不同需求,在节点性能评估函数ENPF(Estimate of Node Properties Function)Ej中,节点以上3项要素具体参数值的考量比例由其3个参数值前赋予的权重值决定,3个权重的取值不同,可以影响模型得到不同的最优解,更加能够满足用户和具体任务的需求。根据以上分析,网格中动态节点性能评估函数ENPF(Estimate of Node Properties Function)Ej为:Ej=α×e-TINj+β×CINj+γ×Uj(3)其中,α、β、γ为3个参数的权重值,它们满足下式:α+β+γ=1   0α,β,γ1(4)2.2动态调度模型构建   一个网格系统中要进行动态的任务调度,首先要设计一个任务调度池,记为S。接着,要明确模型所解决的问题,即:一个网格系统G拥有多个网格资源节点,以及多个需要其解决和处理的任务。现在需要将这多个任务分配到多个网格内的资源节点上,每个任务可以分配给多个节点协同处理。期望完成的效果是:将任务分配给多个节点,尽可能提高每个节点的处理效率,使任务的调度和完成效率能够达到令人满意的效果[4]

文档评论(0)

1亿VIP精品文档

相关文档