论文部分内容阅读
随着许多领域大规模科学计算问题的日益增多,在分布式资源中合理映射科学工作流实现多目标优化的调度变得愈发重要。尤其目前对计算资源的付费使用,已经成为了一种必然趋势。在以效用为基础的资源上对工作流进行调度时,不仅需要考虑工作流的执行完成时间,同时也需要考虑其执行费用,另外还有例如吞吐量、公平性、可靠性等。不同调度目标间相互联系且相互制约,如何达到多目标综合性能最优化是一个非常重要的NP难问题。针对多工作流共享一组资源的协同调度,既能够更充分利用任务之间的时隙,也有实际的应用需求,是近几年的研究热点之一。关于多工作流协同调度问题,尽管在提高资源利用率、平均完成率、公平性方面已经取得一定的成果,但如何在多个优化目标间进行权衡,仍然存在着很多需要进一步改进和解决的问题。在深入分析现有工作流调度研究现状与不足的基础上,围绕共享一组异构资源的有期限约束工作流调度中的任务子期限获取、吞吐量最大化、多工作流调度映射浪费时隙最小化及费用优化等一系列问题展开研究,合理处理多个工作流之间的调度关系。在提高网格、集群或云等分布式资源中的多用户工作流应用的资源利用率、在满足需求的基础上降低用户花费和资源提供者的成本方面,有着重要的理论和现实意义。主要的研究成果和创新点分为如下几个部分:(1)针对单个DAG在一组资源上的调度,提出了反向调度的RHEFT方法。通过获取反向任务的最早开始时间和最早结束时间,对应简单的求出每个任务的子期限和最迟开始时间。这个过程不仅考虑剩余关键路径长度,还考虑到DAG并行度的影响,使得每个任务在子期限约束下映射到资源后仍能确保其余任务有足够剩余时间。(2)针对有期限约束多DAG共享有限资源调度问题,提出了具有低复杂度的吞吐量最大化算法。首先,基于RHEFT获取到的任务最迟开始时间定义了各DAG中优先级最高任务相对宽松度的新衡量指标,通过对比选出相对最紧急的任务,在各资源中寻找能最早完成要调度任务的时隙进行映射,并在期限不足时根据子期限快速判定出过饱和现象,合理丢弃DAG另外扩展资源。实验结果表明,在多DAG吞吐量、浪费时隙量、公平性方面比起其它三种策略有着较好性能,并在类似性能下具有更低的时间复杂度。(3)针对有期限约束多DAG共享有限资源调度问题,提出了弹性时隙回填的浪费时隙最小化调度策略。多DAG通过比较时隙比率或期限紧急程度,获取调度顺序。每个任务按最早完成时间优先策略向资源映射时,若更早时隙太小,通过时隙扩展实现回填,充分利用现有算法中不符合要映射任务要求的最早时隙。同时,也考虑了选定资源不足时的DAG丢弃情况,达到DAG成功完成率最大化。实验表明,任务弹性时隙回填算法能达到浪费时隙最小化,并且具有时隙叠加后移特征,尤其适用于动态到达多DAG共同调度的情况。(4)针对有期限约束多DAG共享有限资源调度问题,通过对RHEFT方法的改进,进一步提出了MRHEFT算法,对多DAG公平的获取任务子期限。MRHEFT算法使反向DAG具有不同的起始时刻,最大期限DAG首先反向映射,每当到达下一反向期限时刻,加入其它DAG,并通过比较反向权值公平选择任务映射,获取相对公平的最早开始时间及完成时间,然后对应获取每个任务的子期限和最迟开始时间。并根据最迟开始时间是否为负,识别出多DAG是否能如期共同完成调度。(5)针对有期限约束多DAG共享有限资源调度,提出了基于相对宽松度的费用优化调度策略。首先基于MRHEFT算法获取每个任务的最迟开始时间和子期限,快速判定出是否存在DAG过饱和问题,若有过饱和则选择抛弃。然后依次计算各DAG第一个任务的宽松度来选取任务,根据子期限约束选择最廉价资源,直到全部任务映射完成得到优化的调度费用。实验结果表明该策略能够以很低的时间复杂度获取较好的性能。