论文部分内容阅读
网格计算的出现,使得人们可以利用分布在各地的闲散计算资源处理较为复杂的计算密集型的并行分布式应用。然而,如何将应用程序的任务调度到可用的资源上,是实现高性能的关键因素之一。任务调度直接影响网格应用的性能,网格自身的自治性、异构性、动态性、分布性等特性则对传统的任务调度方式及方法提出了新的挑战。
网格计算中一个大型的应用程序往往被分解为多个任务,由于应用程序分解的任务之间往往存在依赖关系,因此对依赖任务调度问题的研究具有很高的实用价值。对于由一组依赖任务构成的网格应用调度的首要目标是使得该应用程序在最短时间内完成,应用的执行时间是由为每一个任务选取的资源以及任务的执行次序决定的,在异构、动态的网格环境下,不仅资源的处理能力是不同的,资源间的网络带宽也是不同的,因而不同的资源分配使得任务的执行时间以及任务间的数据传输时间或通信时间都将是不同的,所以为了获得应用最短执行时间就需要针对整个依赖任务集合进行全局优化调度。
可见,为了使得应用的执行时间最短,首先需要解决的一个关键问题是针对整个任务集合生成一个全局的优化调度方案,然而,网格自身的自治性、动态性使得资源的性能是动态变化的,并且随时都可能有新的资源加入或已有的资源退出网格环境,针对整个任务集合的全局优化调度方案是在确定的网格资源环境下生成的,在这样的情况下,如何保证全局优化调度方案的可行性,即如何使得全局优化调度方案有效地适应网格资源的动态变化就成为依赖任务调度的另外一个关键问题。显然,一个既能进行全局优化调度又能够适应网格资源动态变化的调度方法是解决依赖任务调度问题的关键,针对该问题,本文提出了一个新的任务调度机制一基于资源主动适应的网格依赖任务调度机制,该机制可以描述为:首先根据任务的资源需求及任务间的依赖关系在当前可用资源上进行全局优化调度,生成一个全局优化调度方案;然后,资源状态发生变化后主动触发对其所影响的应用的调度计划的修正过程,从而使得已经生成的调度方案能够反映资源的动态变化,达到适应资源动态变化的目的。
本文的主要贡献在于:
1)提出了一个新的依赖任务调度机制一基于资源主动适应的网格依赖任务调度机制,该机制的基本思想是首先通过全局优化方法获得依赖任务在当前可用资源集合上的全局优化调度计划,然后针对资源的状态变化调整已有的调度计划。该调度机制能够实现针对应用进行全局优化调度的同时,还能适应网格资源的动态变化,同时由于对已有调度计划的调整过程是由资源状态变化主动触发的,可作为后台程序执行,因此对调度计划的调整过程不会增加整个应用的执行时间。
2)针对上述调度机制中全局优化调度计划生成问题,本文提出了一个表示任务与网格资源映射关系的方法:任务-资源分配图(Task-Resource Assignment Graph,T-RAG),该图将描述应用静态信息的任务图与动态的网格资源相结合,在T-RAG的基础上将全局优化调度计划生成问题转化为T-RAG的优化选取问题。基于任务-资源分配图优化选取的全局优化调度模型兼顾了任务间的依赖关系、资源间的依赖关系及资源的异构性,因而更适合网格中的依赖任务调度问题。基于该优化调度模型实现的算法与其它算法的对比分析表明,该模型对于依赖任务的全局优化调度问题是有效的。
3)为实现对全局优化调度计划的主动调整,将网格资源的变化抽象为有限的状态,本文定义了资源状态变迁事件,构建了针对网格资源的有限状态机。资源状态发生变化时,触发有限状态机根据预先制定的规则和算法对调度计划进行调整,从而使得在资源状态变化时,调度计划依然能够反映资源的动态变化,从而达到适应资源动态变化的目的。
4)为了提高基于资源主动适应的网格依赖任务调度机制的效率,提出了面向应用的网格资源表示及管理模型,面向应用需求的网格资源表示可以获得针对某个应用的资源,提高了全局优化调度的效率;面向应用执行的网格资源表示对任务可用资源根据性能建立了索引,可以提高调度计划的调整效率。
5)应用本文提出的基于资源主动适应的网格依赖任务调度机制,设计并实现了一个面向依赖任务的调度系统-DTOSS(Dependent Task Oriented Scheduling System,DTOSS),验证了所提出机制的有效性。