基于遗传算法的网格工作流调度综述_孙如祥
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网格计算随着并行与分布式计算技的发展趋势应运而生,它是以资源共享为目的,用高速的网络连接分布各地的可计算资源,组成一个具有单一系统映像的高性能计算和信息服务环境,支持对资源的远程并发访问。
其本质是在动态的、多机构的虚拟组织中协调资源共享和协同解决问题。
根据一系列的过程规则,将运行在网格环境下的各种网格服务有机的结合在一起即网格工作流,它是指一个网格服务自动化处理的过程,而关键在于在动态的,多机构的虚拟组织中协调与解决。
根据OGSA 架构的定义,网格下所有的资源均可表示成服务,通过工作流技术,能将已有的网格服务或网络服务组合成新的服务。
在网格工作流中,网格服务的调度往往是NP 完全问题。
在调度时不仅仅要考虑任务的最佳资源,还要考虑各个任务之间的时序与因果的约束条件。
网格工作流中的关键问题之一是网格工作流调度问题。
它是网格高效工作的基础,它对网格工作流执行成功与否和效率高低有着直接的影响。
网格调度时根据当前网格系统负载情况来对系统内作业进行合理的调度,遗传算法具有并行性和全局解空间搜索的能力,因此采用遗传算法解决网格工作流问题。
1
遗传算法及网格工作流调度的相关知识
1.1
遗传算法
遗传算法是Holland 于1975年提出的,它是一种以达尔文自
然进化论和孟德尔遗传变异论为基础的全局随机搜索技术,其过程是模拟达尔文的遗传选择和自然淘汰的生物进化过程,遗传算法具有全局搜索能力,适用于离散和连续变量问题,它的两个最显著的特点就是隐含并行性和全局解空间搜索。
遗传算法中个体代表优化问题的解,因此遗传算法搜索最优解的过程就是通过一代代遗传选择,最后寻找到适应度最高的个体的过程,适应度最高的个体即问题的最优解。
遗传算法是一种适应性方法,能用于解决如工作流调度这类的优化问题。
文献[1]中应用遗传算法试图寻求一个发现最优
调度的解决空间,该方法是首先产生一系列初始的调度,接着对这些调度进行评估以获得一个适当的度量,最后选出最合适的。
系统可以利用出现过的组织,不断重复使用当前的调度作为基本依据,通过交叉算子和变异算子组合它们在一起,形成一个新的解决方案。
1.2
网格调度的体系结构
随着网格系统愈来愈庞大,给网格调度平台提出了越来越多的要求,这些调度系统必须能合理有效的分配,管理和调度资源。
目前网格调度体系一般由四部分组成:网格调度器、信息服务,局部资源管理器和性能评估模块。
网格调度器:主要负责完成作业到资源的映射,并将接收到的用户提交的作业传送到指定的资源执行。
传统的并行分布式系统直接控制资源而网格调度器仅将资源作为作业代理与资源站点的局部调度器进行交互。
一个网格系统中可以存在多个网格调度器,根据不同的调度方式,可以将调度器分为三种形式:集中式,分布式和层次式。
网格调度器使得网格系统的扩展性变得更好,人们在刚刚将网格调度器引入网格系统中,网格调度器在系统的可有可无,然而在网络规模越来越大的今天,网格调度器已成为网格系统密不可分的一部分了。
信息服务:提供并维护网格资源的动态信息。
信息服务通过保存整个系统资源的信息为合理的调度方案的产生提供支持。
信息服务的设计好坏关系到网格的异构性和动态性对作业调度的影响。
局部资源调度器:监控本地资源的状态,负责对本地或网格调度器提交的作业进行调度。
并将资源状态的信息反映给信息服务。
性能评估模块:主要任务是综合作用属性和可用资源性能的信息并依据一定的评价标准对作业调度后产生的调度方案结果集的调度方案进行评估。
并选出其中最优的调度方案。
网格系统中的作业的调度靠这4个模块共同协作来完成,这些功能模块也构成了网格系统的整体框架。
1.3
网格资源调度
基于遗传算法的网格工作流调度综述
孙如祥1,阳琼芳2,夏曼
3
(1.广西职业技术学院计算机与电子信息工程系,广西南宁530226;2.广西职业技术学院教务科研处,
广西南宁530226;3.广西职业技术学院经贸系,广西南宁530226)
【摘
要】对遗传算法的基本概念和网格工作流相关知识进行介绍,针对网格工作流的特点,提出网格工作流调度中所面临
的问题,分析目前各种基于遗传算法的网格工作流调度的优缺点,并从不同的侧面进行比较和讨论,分析其中的关键问题,给出解决问题的方法和思路。
【关键字】遗传算法;网格工作流;调度【中图分类号】TP393【文献识别码】A
【文章编号】2095-3518(2013)06-101-03
2013年6月轻工科技
LIGHT INDUSTRY SCIENCE AND TECHNOLOGY
计算机与信息技术
DOI :CNKI:45-1165/TS.20130614.1658.049 网络出版时间:2013-06-14 16:58网络出版地址:/kcms/detail/45.1165.TS.20130614.1658.049.html
分布在互联网上的各种资源组成了网格系统,其中包括各类主机、工作站、机群系统、大型存储设备、数据库等,它们是异构的,要在这些平台上实现网格任务调度,因而网格系统中的任务调度是面向异构平台的。
在网格系统中,任务调度通常是大规模的、非集中式的,因为网格系统的巨大,使得一种全局的集中的任务调度无法实现。
网格中的资源和网格的结构总是在不停的改变的,因此,任务调度必须具有可扩展性且能够动态自适应。
网格资源分为三种:存储资源、计算资源、通信资源。
目前,网格资源调度主要有两种方式:一种是基于性能模型的调度,一种是基于经济模型的调度。
基于性能模型的调度使整个系统的执行时间最小化,满足高性能的要求,这种调度适合科学研究项目中网格工作流的应用。
但在商业应用中用户不但对系统有要求,而且对执行开销、完成时间等都有限制,加之资源提供者对用户使用资源的收费不同,使得资源调度的过程中必须从多个方面考虑,找出一种理想的解决方案——基于经济模型的调度。
网格调度过程有4个主要阶段:资源发现、资源选择、调度产生、作业执行。
资源发现的目的是为了识别已认证的资源列表,把决策制定提供可利用资源的动态信息,利用这些信息,调度者可以优化作业调度来保证可用资源的有效和高效使用。
当获取了一系列的可用目标资源后,那么就可以进行资源选择了,在最大程度上满足使用者的要求和条件。
调度产生包括两个步骤:作业选择和产生资源选择方案。
作业选择目的是从待执行的作业队列中挑选出一个作业,资源选择是为一个已经给定的作业从资源列表中选择资源。
一旦资源和作业被选中,接下来就是将作业提交并执行。
2基于遗传算法的工作流调度研究及分析
网格工作流调度问题是个NP问题,遗传算法具有很好的全局搜索能力,是一个动态规划算法,能很好的解决组合优化问题,因此,用遗传算法进行网格任务调度能得到很好的性能,然而,由于网格工作流的复杂性和传统遗传算法的缺陷,使得基于传统遗传算法的工作流调度性能并不高,目前研究大都针对基于传统遗传算法的工作流调度进行改进。
2.1基于传统遗传算法的缺点进行的研究
遗传算法中采用经典轮盘赌方法进行复制操作,但这种方法有时会造成局部有相对优势的个体数目急剧增加,而通过交叉、变异操作产生的新的适应度高的个体数量上不多,因此优势不是很明显,在后代的遗传操作中不能得到很好的保留。
即容易发生早熟现象。
最后得到的最优解可能不是全局最优解,而是局部最优解。
针对这一问题,文献[2]在遗传算法过程中加入模拟退火过程,后者具有很好的全局收敛性。
不失为改进遗传算法性能的一种很好的方式。
文献[3]通过定义收敛依据,采用最优保存策略实现跨代保留来改善算法的收敛性,通过适应度定标防止早熟收敛。
文献[4]中提出自适应的并行遗传算法,该算法运用新的自适应交叉策略并且采用子群内所有个体都参与复制、交叉与严格控制码距相结合的策略,较大地控掘出较优秀的资源,在扩大搜索域的同时使得有垄断发展势头的资源得到有效的控制。
有效的控制了过早收敛的现象。
文献[5]中提出,当作业数量很大的时候,考虑局部搜索策略来提高收敛性。
由于传统遗传算法运行时间长,因而得到的调度策略通常有不合理的情况,当调度规模扩大时,在一定得调度时间内遗传算法的收敛性会逐渐降低,文献[6]和文献[7]提出一种改进的Min-Min Genetic Algorithm(MMGA)算法,利用Min-Min算法简单、快速、有效的特点,弥补了传统遗传算法的不足,同时遗传算法并行性和执行效率高的特点弥补了Min-Min算法的不足,MMGA算法具有良好的调度性能和求解速度,且负载均衡性能也高。
且对大规模的任务调度性能也比较高。
传统遗传算法具有收敛速度慢,遗传算子存在局限性等问题,文献[8]中引入基本遗传算法(SGA)、自适应遗传算法(AGA)和CHC算法来构造分层遗传算法,分层遗传算法吸收了这三种算法的优点,提出了适合解决网格调度问题的遗传算子,很好的控制了调度策略的有效性,缩小了搜索空间,与其他算法相比,分层遗传算法在结果精度和收敛速度上有较大的提高。
文献[9]提出云遗传算法,利用云模型的稳定倾向性、随机性等特点,克服传统遗传算法的搜索速度慢、早熟等缺点,较好的实现了对最优值的定位,防止算法陷入局部最优。
该算法具备较好的搜索性能。
但该算法并没有考虑到经济因素、开支预算等。
传统遗传算法多数是考虑单任务或独立多任务调度,文献[10]提出一种改进的遗传算法,能够处理包含多个有前后约束关系、需要多种资源的子任务的任务。
文献[11]在传统遗传算法的基础上进行改进,在种群产生的初始时,将关键路径上的任务优先分配到各资源上,使算法向最优解的收敛速度加快。
使用任务复制的方法,减少人物之间的通信开销,缩短任务执行时间。
该改进后的算法比传统遗传算法具有更好的调度性能。
传统遗传算法在求解到一定范围时常常作大量无为的迭代冗余,造成求解精度低,文献[12]提出基于遗传算法和蚁群算法动态融合的网格任务调度策略,该算法主要是针对的缺陷。
利用蚁群算法正反馈收敛机制,优势互补,改进算法的调度性能。
2.2基于网格特点进行的研究
网格计算具有动态性和异构性的特点,文献[13]针对网格计算的特点提出了一种改进的遗传算法——动态遗传算法,该算法根据网格服务各节点的负载、计算能力和网络状态进行动态调度,使得总的完成时间和主机的空闲时间都最短,能较好的满足各任务截止时间的要求。
文献[14]针对网格资源的各种属性提出一种基于改进遗传算法的网格资源调度策略。
该算法综合考虑了任务截止、等待时间,任务分配量及资源利用率等参数,有效的减少总体时间耗费,提高资源调度的效率。
2.3基于其他方面进行的研究
除了上述两个方面外,人们还基于其他方面考虑了对基于遗传算法的网格工作流调度进行了研究并提出了改进的方法,文献[15]中在价格机制驱动下应用蚁群遗传算法,在进行网格资源调度时,有效的减少系统总执行时间和任务完成时间,使得系统负载均衡好。
文献[16]提出基于免疫遗传算法的网格工作流调度,与传统遗传算法相比,免疫遗传算法在全局搜索能力、种群整体收敛性上具有更大的优势。
文献[17]使用改进遗传算法来解决网格环境中多个子任务在异构资源之间的调度问题。
文献[18]提出了一种可预测和分组的基于遗传算法的工作流调度算法,该算法能根据历史执行记录来估计工作量以及预测最优的适应度的值,与传统遗传算法相比,该算法能高效率的找到最优的调
度解决方案。
3基于遗传算法的工作流调度中的问题
本文对基于遗传算法的网格服务工作流调度算法进行了讨论,分析了各类算法的优缺点,目前在基于遗传算法的工作流调度问题中仍有着以下问题没有得到很好的解决。
多数算法对网格动态性考虑较少,主要集中在静态调度。
网格的特点使得静态调用无法满足调度的需求,静态调度常常失灵的现象,因此,在基于性能预测的算法上需要进一步研究,对作业的调度应该结合资源的动态信息并且能实时跟踪任务,如:可以考虑预约技术,尽管准确的预测网格资源上的所有应用的执行时间很难,但对资源的预测能够使得作业调度更优化。
在资源的利用效率上考虑较少,目前算法基本没有考虑到根据系统资源的状态对作业进行调度。
下一步研究可以考虑引入重调度机制,通过重调度机制将作业迁移到空闲资源去执行。
多数算法是通过某种聚合方法把多维QoS属性聚合到一个目标函数中,即采用单目标对算法进行优化,所产生的是满足约束条件的单目标最优调度方案,并不是真正意义上解决多目标的优化调度。
目前大部分研究都是针对传统遗传算法的缺陷来改进算法,大部分考虑的是改进算法的执行性能,结果精度与执行时间。
少部分基于网格计算的特点来考虑,对于可利用性、可靠性等Qos属性涉及较少。
多数算法没有考虑在执行期间网格资源的不确定性,这是不可取的。
常常因为某些未知的因素使得执行失败。
所以调度算法应当具备容错机制来保证工作流顺利的执行。
目前基于遗传算法的工作流调度方法大部分相对简单,基本只是针对某一些方面的问题进行改进,使得调度策略比较单一,难以满足网格工作流应用中的不同需求,在如何保证用户的Qos个性需求方面还有很多工作要做。
基于遗传算法,设计一个通用的工作流调度模型仍是一个研究难题。
4结束语
调度在网络环境中扮演着重要的角色,一个基于网格的好的工作流调度应当具有适应性即资源可以自动加入或离开,在管理资源和作业时具有可扩展性,对不同集群级的调度者合作的协调能力,调度时能考虑到资源的使用代价,用户偏爱及站点策略。
尽管基于遗传算法的网格工作流的研究取得了很好的进展,但是由网格环境本身存在的巨大挑战,如:动态性、异构性、分布性等,同时遗传算法本身具有优缺点,使得基于遗传算法的网格工作流也有很多问题还需进一步研究,如建立面对服务动态绑定、数据流管理、对网格工作流的校验及优化等问题。
因此,如何改进遗传算法能更好的实现网格工作流调度仍是一个挑战。
参考文献
[1]Spooner,D.,Jarvis,S.,Cao,J.,Sami,S.and Nudd,G.Local Grid Scheduling Techniques Using Performance Prediction[J],IEE Pro.-Comp.Digit.Tech., 2003,150(2):87-96.
[2]丁一鸣,孙瑞志.基于遗传退火算法的网格工作流调度研究[J].计算机应用,2007,(27):89-91.
[3]郭文采,杨扬.基于遗传算法的网格服务工作流调度的研究[J].计算机应用,2006,26(1):54-56.
[4]武频,李建敦,刘权胜,等.基于一种自适应并行遗传算法的网格资源选择策略[J].上海大学学报(自然科学版),2007,13(5):629-633.
[5]V.Di Martino,ilotti.Sub optimal scheduling in a grid using genetic Algorithms[J].Parallel Computing,2004,30(5-6):553-565.
[6]马景奕,隋兵,舒万能.基于Min-Min遗传算法的网格任务调度方法[J].计算机工程与应用,2008,44(23):102-104.
[7]吴德鹏,张建.基于改进遗传算法的网格任务调度算法[J].计算机应用与软件,2009,26(3):126-222.
[8]刘海迪,杨裔,马生峰,等.基于分层遗传算法的网格任务调度策略[J].计算机研究与发展,2008,45(suppl.):35-39.
[9]王春莲,邱洪泽.一种基于云遗传算法的网格任务调度算法[J].电脑知识与技术,2009,5(5):1181-1182.
[10]马学彬,温涛,郭权,等.一种基于遗传算法的网格任务调度算法[J].东北大学学报(自然科学版),2007,28(7):973-977.
[11]肖青,杨长兴,杨炼.一种基于遗传算法的网格任务调度算法[J].计算机技术与发展,2008,18(8):32-34.
[12]彭建,于晓翠.基于遗传算法与蚁群算法动态融合的网格任务调度[J].计算机应用与软件,2009,26(7):121-123.
[13]赵政,薛贵香,宋建材,等.基于动态遗传算法的网格计算任务调度[J].计算机工程,2008,34(11):191-193.
[14]丁瑞,庄毅,黄福兴.一种基于改进遗传算法的网格资源调度策略[J].计算机工程与应用,2008,44(15):106-108.
[15]王刚,钟志水,黄永青.基于蚁群遗传算法的网格资源调度研究[J].计算机仿真,2009,26(4):240-242.
[16]陈延伟,张斌,郝宪文.基于免疫遗传算法的网格任务调度[J].东北大学学报,2007,28(3):329-332.
[17]林剑柠,吴慧中.基于遗传算法的网格资源调度算法[J].计算机研究与发展,2004,41(12):2195-2199.
[18]Maozhen Li,Bin Yu,Man Qi.A Predictable and grouped genetic algo⁃rithm for job scheduling[J].Future Generation Computer Systems,2006,22 (5):588-599.。