论文部分内容阅读
在分布式系统中,随着系统中节点数目的增大,任务调度问题的复杂度也会随之增加,因此如何对任务进行合理地调度是极为重要的问题。传统的算法所考虑的条件比较单一,没有考虑系统和任务的动态性,缺乏综合衡量,很难满足系统发展的需求。针对这些问题本文建立了基于多Agent的任务调度模型,在该模型的基础上,构建了协商调度机制,使每个节点都具有独立的决策能力。针对不具有依赖关系的任务提出了分布式多目标动态调度算法(Distributed Multi-Objective Dynamical Task Scheduling Algorithm, DMOD),该调度算法对任务的完成时间、系统负载和通信量进行了综合评价。在异构分布式环境下,应用通常会被分解为多个具有依赖关系的任务来并行执行,如何对这类任务进行合理地调度也变得越来越重要。在对依赖任务进行调度时,传统的算法没有考虑分布式环境下计算节点的动态变化,这不符合未来发展的需求。某些计算节点会为多个应用提供服务,而不只为某一个依赖任务集提供服务,当计算节点同时为多个应用进行服务时,对任务完成时间进行估算并不能做到十分准确。针对这些问题本文从DAG图本身的结构出发,根据共同后继任务在DAG图中的最小层次值、任务的直接后继任务个数以及任务到出口任务的路径长度建立了多参数综合调度算法(Multi-Parameter Scheduling Algorithm, MPSA),以这三个因素共同构建算法中的评价函数,避免了在调度过程中由于对任务完成时间进行估算所带来的误差影响,并在评价函数中对各个参数进行归一化和标准化来消除参数间不同量纲和差值过大对结果带来的影响,最终以评价函数计算出的评价值作为依赖任务调度的依据。针对DMOD和MPSA,本文分别对多组任务集进行了测试。将DMOD算法与MinMin算法和基于树状架构的调度算法进行了比较,DMOD获得了较小的任务完成时间,且减少了系统的通信量,避免了由于系统中负载和通信量剧增而导致的性能下降,提高了系统的稳定性和任务的执行效率。将MPSA与ETF、LMT和HEFT算法在调度长度和加速比两个方面进行对比,MPSA均获得了较小的调度长度与较高的加速比。