论文部分内容阅读
随着计算机行业(包括计算机硬件软件以及网络)的发展,使早期提出的网格概念以及技术更具有现实意义。网格将网络中空闲的资源有效地管理利用,将网络中的一些空闲或高级设备方便地提供给网格用户使用,而网格调度是网格系统实现上述功能最重要的基础。网格任务调度的目的就是将网格任务以某种策略映射到相应网格资源上运行。网格用户对不同的任务会提出不同的QoS需求,而网格资源具有异构性、动态性、自治性以及分布性等特点,使得在网格环境下进行有效的任务调度具有挑战性。网格任务调度算法的优劣直接关系到网格任务执行以及网格系统运行的状况,在网格技术的研究中起着至关重要的作用。本文首先研究分析现实网格系统的硬件环境和软件环境,重点分析网格事实上的标准Globus的协议层次结构、以及网格开发工具包Globus Toolkit,并以Globus环境作为计算网格研究和开发的平台,对网格任务调度进行深入分析。着重分析了网格资源的特点、整个网格调度过程以及网格调度的特点,发现在网格调度过程中的每个阶段都有不同的需求,每一步操作都影响最终的调度结果,通过以上分析最终探究出网格任务调度的目标和对其优劣评价的标准。此外,网格调度的组织结构也是影响网格调度有效性的重要问题。本文在仔细分析现有的几种调度组织结构的特点后,提出了融合各方优点的基于容错策略的调度组织结构。本文深入分析、对比了几种经典网格调度算法的优缺点,同时还对经典调度算法的改进算法,以及大量最新的关于任务调度策略、解决思路等进行了广泛研究,最终提出了以指标体系为基础,以用户QoS需求为目标的调度算法体系。本调度算法体系将用户的QoS需求分为高中低三类,分别使用BQS(最优服务调度)、ACCOS(性能导向型调度)、COS(代价导向型调度)三种算法,三种算法的基石就是指标体系,该指标体系包括: CC(当前计算能力)、AC(预期可获得计算能力)、Hot(资源热度)、LB(资源负载)、LBChange(负载改变因子)、OC(资源原始代价)、CT(资源信誉度)、ACWithCT(计算能力与信誉度综合指标)、Cost(综合代价)、EC(效费比指标)。这些指标中的Cost与EC通过其它指标计算而得,因此,其它指标通过影响Cost来制衡调度结果,同时设立这些指标的目的还要制衡网格用户与网格资源提供者,而网格用户与网格资源提供者的行为又影响相应的指标,从而达到一个良性的互动体系。三种算法各具特点,满足不同QoS需求,其中BQS算法的核心思想是提供最优资源给当前任务,最首要考虑的指标是CC、CT以及LB;ACCOS算法的核心思想是提供较好的资源,但其代价要尽可能的低,因此算法要使用指标体系中除CC以外的所有指标;COS算法的核心思想是提供尽可能低的代价,但其性能应尽可能好。为了检验网格任务调度算法的有效性和各指标的控制作用,需要在不同资源、不同任务情况下进行测试,选用的方法必须便于实验、便于生成各种任务、便于形成不同的资源状况,并且应是一个可以重复和可控的环境,而在现实网格环境中难以达到如此要求,因此本文选用较为流行的GridSim网格模拟器,分析了使用GridSim实现任务调度算法的仿真技术和分析方法,在此基础上为满足本文算法以及指标体系的需求,进行了添加数据库访问组件的改进,同时为了能方便、准确地分析实验数据,进行了添加Excel表格输出组件的改进。在改进后的GridSim上实现了本文提出的三种网格任务调度算法,并进行了性能测试与对比分析。最终本文有效地实现了三种网格任务调度算法在实际的校园计算网格UCGrid3.0平台上的实际应用,该平台的核心技术是基于GT4开发的计算网格分布式中间件,实现后的网格任务调度算法作为平台的一个重要组件,显著增强了该网格计算平台的任务调度功能及其有效性。