网格环境下基于平均负载的启发式任务调度算法
A Heuristic Algorithm for Task Scheduling Based on Mean Load on Grid
-
摘要: 随着网络技术和计算机技术的发展,以及人们对高性能计算需求的日益增加,出现了网格技术,它实现了分布、异构、大规模、多组织环境的互连互通、资源共享。根据处理能力和应用需求,出现了计算网格、信息网格、知识网格和语义网格等。语义网格创造了将Internet、传感器网络、移动设备及语义连接的全新互联环境,以对资源和服务实现更有效的共享、协同、管理和调度。知识网格是一组结构良好的知识和一组知识管理操作,允许用户在网格上组合、存储、共享和执行知识发现工作流,并把它们作为网格的新组件和服务发布。在下一代网格的基本层次结构中,知识网格层属于网格的应用层,计算网格层为整个网格提供基本支持。为了对上层的知识应用提供更好地支持,计算网格必须在底层有效地管理资源和调度任务。有效的任务调度是并行和集群系统取得高性能的关键,一般的DAG问题调度已被证明是NP完全的。由于网格资源具有动态、自治和异构等特性,网格环境下的资源管理更加具有挑战性,其中,任务调度是一个非常重要的问题。在开放动态的网格环境中,任务调度器试图优化系统的性能指标,如:最小化平均任务执行时间、最大化一定周期内任务执行数等,以提高整个系统的性能,满足用户的各种QoS需求。已经提出的任务调度模型及算法应用到网格环境时,由于网格资源的异构性而导致较低的性能。本文我们对网格环境下任务调度问题的研究来自于许多研究者的兴趣,然而他们没有考虑机器的性能指标,我们提出的优化调度策略将系统的性能考虑进去。在异构环境中,通常采用启发式调度算法,这种算法利用任务执行时间和系统负载的历史数据来调度任务。然而,在动态网格环境中,执行时间和负载不能提前确定,因此网格调度需要预测模型。本文提出的网格环境下的启发式任务调度算法是基于文献14-19提出的预测模型来得到任务的预测执行时间。我们研究的一个显著创新是把网格上的任务调度作为一个定义良好的优化问题来处理。我们形式化地提出了最优调度策略的概念,并给出了取得最优调度策略的方法。我们所提出的算法基于预测执行时间采用平均负载作为启发信息对任务进行初始调度,然后选择满足条件的两台机器交换它们的负载,在它们平均负载的启发下采用贪心策略重新分配任务,得到一个优化调度策略。本文也给出了机器和任务选择的有效方法,算法效率显著地提高,系统总体性能被优化。文中分析了算法的效率,并进行了深入的实验。实验结果表明,我们的算法在机器性能上优于其他几个算法,能够有效地保证负载均衡,并且几乎总能取得最优调度策略;实验也表明我们的算法从时间复杂性角度来说是一个高效的调度算法。Abstract: Efficient task scheduling is critical to achieving highperformance on grid computing environment. The task scheduling on gridis studied as optimization problem in this paper. A heuristic taskscheduling algorithm satisfying resources load balancing on gridenvironment is presented. The algorithm schedules tasks by employingmean load based on task predictive execution time as heuristicinformation to obtain an initial scheduling strategy. Then an optimalscheduling strategy is achieved by selecting two machines satisfyingcondition to change their loads via reassigning their tasks under theheuristic of their mean load. Methods of selecting machines and tasksare given in this paper to increase the throughput of the system andreduce the total waiting time. The efficiency of the algorithm isanalyzed and the performance of the proposed algorithm is evaluated viaextensive simulation experiments. Experimental results show that theheuristic algorithm performs significantly to ensure high loadbalancing and achieve an optimal scheduling strategy almost all thetime. Furthermore, results show that our algorithm is high efficient interms of time complexity.