论文总字数:24965字
摘 要
现代科学通常需要执行大规模、多阶段的仿真和数据分析,以便对复杂系统进行研究。这些分析中涉及的计算程序和数据文件需要可扩展的工作流管理系统进行统一管理,以便将各种分布式资源整合在一起,并进行高效协调运算。任务调度是工作流管理系统优化中十分重要的一个环节。根据任务调度及工作流DAG图的特点,可以借助超图理论,建立任务调度的超图模型,并进行相应优化。本文介绍了科学工作流的基本概念、Pegasus工作流管理系统基本结构和使用方式,以及工作流超图模型的基本内容。使用超图划分法对工作流超图模型进行划分,借助划分结果调度工作流任务,实现了Pegasus系统上的工作流优化。
关键词:Pegasus;科学工作流;超图划分;科学工作流管理系统
ABSTRACT
Modern science often requires large-scale, multi-stage simulation and data analysis to study complex systems. The computational programs and data files involved in these analyzes require a scalable workflow management system to be managed in order to integrate the various distributed resources together and perform efficient coordination operations. Task scheduling is a very important part of workflow management system optimization. According to the characteristics of task scheduling and workflow DAG diagram, the hypergraph model of task scheduling can be established by means of hypergraph theory and optimized accordingly. This paper introduces the basic concepts of scientific workflow, the basic structure and usage of Pegasus workflow management system, and the basic content of workflow hypergraph model. The workflow hypergraph model is divided by the hypergraph partitioning method, and the workflow task is dispatched to realize the workflow optimization on the Pegasus system.
KEY WORDS: pegasus, scientific workflows, workflow management system, hy-pergraph partitioning
目 录
摘 要 I
ABSTRACT II
第一章 绪论 1
第二章 科学工作流 3
第三章 Pegasus工作流管理系统 4
3.1 Pegasus系统结构 4
3.1.1 Pegasus抽象工作流描述 5
3.1.2 工作流映射 7
3.1.3 工作流执行 7
3.2 Pegasus适用环境 7
3.2.1 执行环境 8
3.2.2 远程工作流执行引擎 9
3.2.3 执行期间的数据管理 10
3.3 Pegasus工作流可用性 11
3.3.1 工作流组成 11
3.3.2 监控和调试 11
第四章 基于超图划分的工作流调度 14
4.1 超图划分 14
4.2 超图划分与科学工作流 15
第五章 工作流系统搭建 19
5.1 安装Pegasus 19
5.2 HTCondor安装及配置 20
5.2.1 HTCondor安装 20
5.2.2 HTCondor配置 20
5.3 使用Pegasus创建工作流 20
第六章 工作流实例分析 22
6.1创建实例工作流并转化为超图 22
6.2工作流超图划分 23
6.3配置并运行工作流 26
第七章 总结 30
致 谢 31
参考文献 32
第一章 绪论
近来,在高能物理学、天体物理学、生物信息学等以数据为中心的科学领域中,大型的科学实验方兴未艾,如大型强子对撞机实验、阿尔法磁谱仪实验、人类基因组计划等。这些应用呈现出以领域科学研究为核心、由大数据技术驱动、具体科学应用为导向的显著特征,是典型的科学大数据应用。
科学大数据应用进行分析的过程中,需要运行多个任务共同处理大量的数据流。科学工作流是指将一系列在大规模科研过程中所遇到的数据收集、处理、分析和可视化等工作按需进行组合,定义各步骤之间的逻辑关系,并对这些步骤进行服务选择和资源匹配,控制各个步骤在时间、空间以及资源等约束条件下自动完成的过程,同时在执行过程中记录每一步骤的相关细节以保证实验过程的可重复性和实验结果的可验证性。
由于现代科学研究中的问题往往较为复杂,常常伴随着大量的学科交叉,为了使科研工作者能够方便的进行协作与交流,科学工作流管理系统应运而生。这种管理系统可以支持科学工作流流程的组合、重用和共享,并控制和监控这些流程按序自动运行的软件系统,并为执行环境和数据来源信息的记录提供帮助。
随着全球科研共享环境的开发与完善,科学计算的规模空前增长,流程也日益复杂。在跨专业、跨领域的大规模协同开发过程中,单一领域的研究者很难对整个复杂计算流程进行有效控制和管理。科学工作流管理系统提供给研究者一个简单的流程组合工具进行流程设计并控制流程在网格环境下自动运行,以帮助研究者进行科学数据分析和可视化管理。
作为计算机软件方向的一个重要研究领域,科学工作流管理系统在科学计算、协同设计等方面发挥着非常重要的作用。作为工作流执行引擎的一个核心部分,工作流调度的最终目标是将工作流任务映射到最合适的计算资源中执行。不同于单一任务的调度,工作流的任务之间存在复杂的依赖关系,在调度中不能破坏任务间的时序约束关系。调度性能的好坏对系统的效率、资源利用率、任务能否顺利执行以及用户对工作流执行的满意程度都有直接且重要的影响。因此,科学工作流在各种分布式计算环境中的调度是也一直是工作流研究领域的重要内容之一。
基于智能算法求解约束条件下的工作流最优化调度问题也一直是工作流调度中的一个热点问题,目前主要的调度算法,如最小最小算法(Min-Min)、最大最小算法(Max-Min)、最大时间跨度算法(Max-Int)、快速贪吃算法(Fast-Greedy)、分代算法( Generation Scheduling,GS )[1]、DLS(Dynamic LevelScheduling)[2]等等现有的调度算法还存在较大的优化空间。此外,由于缺乏对资源当前负载状况、失效等因素的充分考虑,已有的工作流调度算法难以适应于动态的网络环境,不能充分满足使用者的计算需求。对于动态网络环境,每个执行站点都会分配一定目标权重的文件和任务,目标权重是预先确定的,这将反映用户偏好或者站点的存储容量以及计算能力。通过将数据和任务分配给适当的执行站点,可以在符合目标权重的同时降低与文件传输相关的成本。
超图除了具有一般图论中的通路、闭包、冗余边和冗余节点等概念,还可以解决一些一般图论无法解决的问题,如超边的合并与分解等,图论中所有概念可推广到超图中,并可获得更简洁的表达和更强的结果[3]。超图理论在多个领域都可以得到广泛的应用,如:基于有向超图的工作流可以支持资源分配优化方法[4],也有人提出了一种基于超图的VLSI处理阵列[5],等等。超图划分是超图理论中的一个基本问题,在许多研究领域得到应用。目前已有的超图划分方法包括Fiduccia-Mattheyses(FM)方法[6]、Kernighan-Lin(KL)方法[7]等。
剩余内容已隐藏,请支付后下载全文,论文总字数:24965字
该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;