论文部分内容阅读
在天气预测、载人航天、基因生物计算、高能物理数据分析、生命科学计算、地震预测等复杂科研领域,问题求解越来越需要不同领域、不同学科、不同地域的科学家紧密合作才能得以有效解决,而科学工作流为这种异地科学家进行科研协作提供了有效手段。科学工作流被用来自动化科学任务的编排、执行、监控、以及追踪。传统上,科学工作流被部署在超级计算机、分布式集群系统以及网格系统等复杂且昂贵的分布式计算机系统上。随着问题求解规模和复杂性递增,一个大型复杂科学工作流通常包含成千上万个科学计算任务,这些任务本身不但涉及大规模的数据处理,任务间往往蕴含着海量的数据传输,因此,如何确保科学工作流在分布式计算环境中的高效执行一直是科学计算领域和分布计算领域共同面临的热点和难点问题。近来,随着分布计算技术的不断发展,在并行计算和网格计算等计算模式之后,又一种新的计算模型---云计算模型得到了计算机工业界和学术界的广泛关注。云计算技术是一种共享基础架构的方法,它通过虚拟技术将分布在不同地理位置的计算资源和存储资源虚拟成一个资源池,基于这种方式,云计算中心可以为科学工作流的执行提供灵活可伸缩、动态可扩展的计算资源和海量存储资源,而且成本低廉。尽管云计算技术高效、灵活、可定制的特点为解决科学工作流运行过程中遇到的难题提供了一种新的思路,但是云环境中跨数据中心科学工作流的高效执行仍然面临数据交互量大的问题。针对该问题,本文通过研究高效的数据放置和存储策略来有效减少任务间数据传输量,进而达到优化科学工作流执行的目的,具体工作如下:(1)、提出了一种改进的基于聚类的数据存储策略方法。传统基于聚类的数据放置策略方法尽管可以有效减少跨数据中心之间的数据移动次数,但是该方法并没有考虑科学工作流中数据集大小,一旦移动次数较少同时所移动的数据规模较大,总的数据传输开销不一定降低。针对这些不足,本文在原有方法基础上增加了对数据集大小的考虑,并从数据相关、任务调度、中间数据集放置三个方面对传统算法进行了优化和改进,实验表明,改进后的算法可以有效减少数据的总移动开销。(2)、提出了一种基于数据相关的两阶段高效数据放置和任务调度方法。本文在上述工作基础上,同时建立了一种基于数据相关的两阶段高效数据放置策略和任务调度策略:即在工作流建立阶段根据数据依赖关系图把关系紧密型数据集尽可能放置到同一数据中心;而后任务调度策略在运行阶段将任务调度到数据依赖最大的数据中心执行,并将新产生数据集放置到相关度最高的数据中心。实验表明,该方法能有效减少跨数据中心科学工作流执行时的数据传输量,从而提升了科学工作流执行效率以及减少了云资源租赁费用。