网格环境下任务调度机制的研究与仿真
【摘要】:网格技术将所有可用于共享的资源(例如,计算机、高性能设备、昂贵仪器、存储设备、科学数据、软件、数据库等)通过网络连接起来,并将它们转化成一种随处可得的、可靠的、标准的、经济的计算能力。用户将任务提交给网格后,需要对任务进行合理的分配和调度,即将任务分配给网格资源去执行。
由于网格中任务调度直接影响到整个系统的计算性能,因此调度成为网格计算中的一项关键技术。任务调度问题是一类NPC问题,经典调度理论一般仅能获得问题的近似最优解。
本文采用理论分析与仿真实验相结合的方法,研究网格计算中具有依赖关系的多任务分配与调度的遗传算法。遗传算法是一种有导向性的随机搜索算法,它以适应度函数为导向,模拟自然界生物进化和遗传过程,搜索全局最优解。
本文针对网格系统中任务调度问题提出一个适用的遗传算法框架。算法中染色体的编码采用二维0-1矩阵,即文中的“资源-任务”匹配矩阵。在此基础上采用三类遗传算子,即外部交叉算子、内部交叉算子和可变的变异算子。外部交叉算子和内部交叉算子具有生成最优解的能力;变异算子有效的保存了种群的多样性。为了保证遗传算法的全局搜索能力,采用任务最大深度值与最小深度值来共同确定任务的深度值;为了防止早熟,算法自适应的加大变异概率。
遗传算法中主要控制参数的取值通过仿真实验确定,而任务DAG图、任务数、任务工作量、资源数、资源计算能力、资源间通信延迟均可在仿真系统初始化时手动或随机生成。经仿真试验的结果数据比较,本文算法具有较好的解全局搜索能力,以及较快的收敛速度,能够在较少的进化代数之内收敛于近似最优解。