论文部分内容阅读
异构分布式计算系统作为高性能的计算平台,为科学计算、工程应用等众多领域提供了强有力的技术支撑。工作流作为异构分布式计算系统的常见执行对象,其调度策略的质量直接影响到工作流执行效率、资源利用率等,因此如何为工作流制定高效的调度策略是一个十分重要的研究内容。本文针对异构分布式计算系统下工作流执行时间优化问题以及工作流执行时间和成本花费优化问题,分别做了如下研究:(1)针对异构计算环境下工作流执行时间最小化问题,提出一种改进后的列表启发式调度算法LOEFT(level&out-degree earliest finish time,LOEFT)。LOEFT算法分为三个阶段:任务分级、任务排序和处理器分配。任务分级依据深度值将任务划入不同层级,在最大化同级任务并发性的同时保证数据传输的完整性;任务排序结合任务出度分别计算每个任务在不同处理器上的异构优先排序值并据此排序以精细控制调度差异;处理器分配时LOEFT选择最早完成时间作为分配依据以实现处理器分配最优化。通过随机生成DAG(Directed Acyclic Graph)工作流及实际应用工作流进行实验仿真,验证了LOEFT算法能显著缩短工作流执行时间。(2)针对异构计算环境下工作流执行时间和成本花费最小化问题,提出一种基于遗传算法的工作流时间和成本优化算法NEGA(novel encode mechanism genetic algorithm,NEGA)。NEGA可分为任务合并和任务分配两个阶段。任务合并阶段,工作流中的“管道任务对”被合并,以减少任务间通信成本开销及缩小搜索空间;任务分配阶段,利用遗传算法为任务分配能够同时最小化执行时间和成本花费的处理器,NEGA根据工作流拓扑结构设计了一种新颖的基于随机浮点数序列的编码/解码策略,保证算法在执行选择、交叉和变异操作时有效维护工作流先序约束。实验证明,NEGA算法能较好地同步优化调度时间和成本,且随机浮点数序列的编码/解码策略具有良好的通用性。