论文部分内容阅读
随着计算机网络的快速发展,智能计算、面向服务的体系架构等新技术和新概念的广泛应用,有效地促使人们实现计算机支持与协同工作。工作流技术作为计算机完成协同工作的抽象化手段,在企业流水线生产、办公自动化和科研领域等方面扮演者重要角色,有效促进业务系统的自动化和柔性化。工作流调度是工作流管理系统中的关键技术,随着工作流的服务资源从无偿服务转换为有偿服务,根据工作流的服务质量QoS (Quality of Service)属性,如服务的执行时间、费用、可靠性等,如何选择最优的服务资源来动态地满足不同用户的业务需求?本文主要介绍基于分层思想的截止时间下费用优化的工作流调度算法,提出一个基于并行分层的工作流调度算法,并完成了一个工作流调度的仿真平台开发。具体创新性贡献表现在如下几方面:针对给定截止时间约束下用有向无环图DAG(DirectedAcyclic Graph)描述的工作流时间费用优化问题,DBL(Deadline Bottom Level)算法未考虑工作流中各个任务实际执行过程的并行性而带来相对较多的时间碎片,本文提出了一种基于并行分层的工作流调度算法CLWS(Concurrent Level Workflow Scheduling)。该算法将工作流在实际执行过程中某个任务和其它一个(或具有依赖关系的相邻多个)并行执行的任务尽量划分到同一层,并且根据各层的并行度分配冗余时间,对每层中具有依赖关系的多个相邻任务采用MDP(MarkovDecision Process)算法进行时间费用优化。仿真实验表明,CLWS算法效率具有较为显著地改进。同时,考虑到实际执行环境的复杂性,存在突发事件等多方面因素,工作流任务的QoS服务不一定能准确地预测,本文结合并行分层算法提出了一个简单实用的针对服务延迟的工作流动态调度算法,当某延迟任务的结束时间不超过所在层的层截止时间时,只需调整同层中该任务的直接后继结点;当该任务的结束时间超过所在层的层截止时间时,调整其后续层次的时间区间,使得层中的所有任务都能在足够大的时间区间中选择服务。实验表明,该算法能在满足用户的截止时间约束下,使得工作流的总费用最大化优化。为了对比工作流调度算法间的优化性能,验证CLWS算法的有效性,本文开发出一个工作流调度仿真平台。该平台能自动完成给定工作流的自动生成,并按照选定的算法进行执行,最终给出算法的执行结果对比图表。