一种面向分布式资源的工作流系统--Pegasus.doc

上传人:小小飞 文档编号:3623376 上传时间:2019-09-18 格式:DOC 页数:7 大小:799KB
返回 下载 相关 举报
一种面向分布式资源的工作流系统--Pegasus.doc_第1页
第1页 / 共7页
一种面向分布式资源的工作流系统--Pegasus.doc_第2页
第2页 / 共7页
一种面向分布式资源的工作流系统--Pegasus.doc_第3页
第3页 / 共7页
一种面向分布式资源的工作流系统--Pegasus.doc_第4页
第4页 / 共7页
一种面向分布式资源的工作流系统--Pegasus.doc_第5页
第5页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《一种面向分布式资源的工作流系统--Pegasus.doc》由会员分享,可在线阅读,更多相关《一种面向分布式资源的工作流系统--Pegasus.doc(7页珍藏版)》请在三一文库上搜索。

1、精品论文一种面向分布式资源的工作流系统-Pegasus余陶然 北京邮电大学信息与通信工程学院,北京 (100876) E-mail:摘要:Pegasus 是由美国南加州大学网格技术中心开发出的一个开源的工作流映射引擎, 它的主要功能是将复杂抽象的科学工作流映射到分布式资源上,它使用户从实际的运行环境中解放出来,而只需要考虑抽象层面上的工作流表示问题。Pegasus 在工作的过程中,首先 通过查阅 SC 目录查找当前可用的并且能通过验证的资源,接着利用 RC 目录中的中间资源信息对工作流进行化简,在得到最简的抽象工作流之后,根据用户所选择的调度算法进行站 点的选择,然后将运行时所需要的数据和可执

2、行程序导入到相应的站点,最后在各个站点运行完相应的任务后,将运行后的结果进行分析整合再传送给用户端。本文的结构安排如下: 首先介绍常见类型的工作流,接着分析 Pegasus 的整体框架、目录结构以及实际运行时的环境和工作流程,最后基于上述研究结果,提出 Pegasus 目前存在的不足与未来发展方向。 关键词:Pegasus;科学工作流;网格1引言现今许多科学实验都需要对海量的数据进行分析计算,分析计算过程可能非常复杂并且 需要使用大量的资源,而这些资源可能分散在不同的地理位置,归属于不同的组织,同时参 与实验的科研人员也可能来自不同的组织1。在这样的研发环境下,开发大规模的应用程序 对协作性有

3、很高的要求,并且在具体的研发过程中会面临多方面的挑战,比如对应用程序的 各个组成部分以及大量数据的管理,如何在分布式的资源上成功并且高效的运行等问题。在研发过程中,我们习惯将应用程序的开发和实际的运行分开考虑。进行应用程序开发 时,只专注于如何在该科研领域实现某个想法和创意,而不去过多关注实际运行时所使用的 资源等问题;而在实际的运行过程中,我们则着重关注使用哪些资源,这些资源位于什么地 理位置,如何高效地使用这些资源等问题2。本文中将要介绍的 Pegasus 工作流系统是一个把在应用程序开发过程中创建的工作流实 例转化为在实际的环境中的可运行的可执行工作流的开源软件。Pegasus 使得科研

4、人员在开 发时无需考虑实际的运行环境是网格,是 Condor 池,还是某台主机,而只需在应用层上设 计工作流。并且 Pegasus 具有灵活的框架结构,可以适用于众多的科研领域和各种复杂的运 行环境。2工作流的类型 本小节将介绍工作流的三种常见形式:模板、实例和可执行工作流。 模板:同编程语言中的模板概念类似,模板为各个科学领域提供一些基本模块和模块间的联系,但不包含具体应用所涉及到的数据和资源。模板可以由许多科研人员共同协商制定, 一旦定制好了,可以添加进库中供将来使用。实例:在模板的基础上添加进具体应用涉及的数据,也可称作抽象工作流。工作流实例 可以唯一的标识某一科学领域的某个具体应用,但

5、不包含具体运行时使用的相关资源信息。工作流实例灵活性较强,可以映射到不同的运行环境中。 可执行工作流:在实例的基础上添加进相关资源信息,也称作具体工作流。可执行工作流将定义每个具体应用中将使用的资源,提供和数据有关的导入、导出、数据注册或在远端 运行环境中创建工作文件夹等功能。- 7 -图 1 是抽象工作流的一个例子,由四个任务组成,Ti 代表一个任务,Fi 代表一个逻辑文件名。输入文件 F1 经由任务 T1 处理后,生成 2 个 F2 文件。这两个文件由 T2 和 T3 处理 分别生成文件 F3 和 F4。然后将文件 F3 和 F4 同时交给任务 T4 处理得到最终想要得 F5 文 件。这就

6、是一个工作流实例。图 1 工作流实例的一个例子产生工作流实例的方法通常有三种。1.根据预先定义的规则直接创建工作流实例,该方法比较适合那些具有工作流概念并 且有设计可执行工作流经验的科研人员。2.根据用户提供的使用 VDL 语言(virtual data language)描述的部分逻辑工作流,使 用 Chimera 创建工作流实例3.借助 Composition Analysis Tool(CAT)之类的智能化工作流编辑器来创建抽象工作 流。不管是用哪种方法产生的工作流实例,最终都需要映射到实际环境中的资源上去执行。 而工作流映射问题通常考虑的是如何使工作流的整体执行时间最短,该时间是任务在

7、远端主 机上的运行时间和将数据传输到远端主机导入、导出耗费时间的总和。3Pegasus的设计3.1 Pegasus 的体系结构Pegasus(Planning for Execution in Grids)是国外的一个开源工作流映射引擎3。从图 2 中可以看出,Pegasus 通过自动地把抽象的工作流描述映射到分布式的执行环境上,将各个 科学领域和实际运行环境联系起来。简单来说就是把输入的工作流实例转化为相应的可执行 工作流的开源软件。图 2 Pegasus 的体系结构通常 Pegasus 和 Chimera 以及 DAGMan 一起构成的 GriPhyN 虚拟数据系统45,该系统 已经成功的

8、执行了很多由数量众多的短期小工作组成的大型工作流,和由少数几个长期的大 工作组成的工作流。图 3 描述了工作流的产生、映射和执行过程。用户通过 VDL 语言自定 义数据,Chimera 建立相应的抽象工作流表示,Pegasus 将该抽象工作流映射成可执行的工作流,然后由 DAGMan 来具体执行这些工作流。图 3 典型的工作流管理系统3.2 Pegasus 目录结构Pegasus 中主要使用三个目录,用于发现数据的地理位置、执行任务的主机、可用的资 源和它们的特性。本小节将逐一介绍这三个目录。(1) RC(Replica Catalog,备份目录) 备份目录用于动态的收集工作流运行所需数据的地

9、理位置信息。输入数据是在工作流执行前就必须具备的数据源,已经存在的中间数据的目录信息能够帮助数据重复利用并且在一 定程度上化简了工作流。备份目录存储了从逻辑文件到物理文件的映射,比如物理文件的所 在站点。我们借助 Globus 的 RLS(Replica Location Service)来实现备份目录。RLS 是由包 含逻辑文件名到物理文件名映射信息以及概括本地目录内容的分布式索引信息的本地目录 组成分布式备份管理系统。(2) TC(Transformation catalog)该目录用于收集网格中 transformations 在什么地方安装的相关信息。Transformations 是

10、 和工作流实例中的任务相对应的可执行程序。和备份目录类似,TC 目录存储从逻辑文件到 物理文件的映射。除了安装的可执行文件信息,该目录也存储静态链接的可执行程序的位置信息作为物理 映射的一部分。该静态链接可以被导入到远端主机,作为工作流的一部分。该目录同时也存 储可执行程序的诸如运行的操作系统、使用什么编译器、需要多少内存等相关属性。默认的 TC 目录的实现是一个遵从预先定义的规则的数据库。(3) SC(Site catalog) 该目录用于收集关于远端站点的位置信息。它同时存储静态和动态信息。静态信息包括如下信息:zGridFTP 的服务器端,可以将数据从站点上导入和导出。zGRAM Job

11、Manager,用于提交任务给网格站点上的本地调度器。z数据可以导入并作为运行工作流的一部分的临时目录 z最终的数据可以导出的存储目录 动态信息包括如下信息:z可利用的处理器数目z可利用的内存大小z可利用的磁盘空间大小Site catalog 可用 MDS(Monitoring and Discovery Service)提供的数据和用户或站点管理 员提供的附加信息构成,或者由 Grid 特定的目录(像是 GridCAT)构成。3.3 实际运行环境实际的运行环境中包含的主机可能有单处理器的普通主机、多处理器的集群系统和高性 能的并行系统,这些具有各异性的主机由网络连接成一个整体。图 3 工作流

12、的典型运行环境图 3 描述了一个典型的运行环境。每个资源都包括一个对网络可见的头节点。为了能够远程调度任务,资源必须提供一些相关的服务和存储单元,在该环境中,使用的是 GlobusToolkit 提供的一些服务:z远程任务的提交和管理(由 Globus 中 GRAM 的 JobManager 来负责)z远程数据导入和导出(由 GridFTP 来实现)z资源的状态信息(由 MDS(Monitoring and Discovery Service)来负责),MDS 提供可 用资源的数量和类型,以及资源的静态特性(如 CPU 数目)和动态特性(如当前空 闲内存大小)z资源上的可用数据信息(通过 RL

13、S(Replica Location Services)的 LRC(Local Replica Catalog)来提供),RLS 是由包含逻辑文件名到物理文件名映射信息以及概括本地目 录内容的分布式索引信息的本地目录组成分布式备份管理系统。为了在这样的环境中运行 Pegasus,必须有一个资源端安装并提供 Pegasus、DAGMan 和 Condor-G 软件6。后两个软件提供了工作流运行引擎和在各种基于 Globus 的资源上远程 提交任务的能力。我们称这个资源端为任务提交主机。该主机还得维护在网格资源上安装的 应用软件的相关信息(保存在 TC 目录中),以及用户关于运行环境的某些要求(保

14、存在 ST目录中)。任务提交主机也可以作为一些小工作流的本地运行平台。3.4 Pegasus 工作流程Pegasus 是一个将工作流实例通过一系列的转化最终变为可执行工作流的软件。工作流 实例(如图 1)由一些用逻辑转化、逻辑输入和输出文件名描述的任务组成的,与资源无关。 Pegasus 的目的就是在任务和可利用资源之间找到一个最佳的映射78。图 4 Pegasus 的工作流程z定义可利用的并且有使用权限的资源集合Pegasus 将查阅 SC 目录找到当前可利用的 资源,同时试着通过这些资源的验证以确定是否具有足够的权限使用这些资源。z工作流化简 Pegasus 将查阅 RC 目录确定有哪些可

15、利用的中间数据,并以此为依据对工 作流进行化简。最极端的情况是,最终所需的数据已经存在,则除了将数据传输到用户 指定的地点外不需要再执行其它任务了。以图 1 中的工作流实例为例,如果在 RC 目录 中查到文件 F3 和 F4 已经存在并可用,则将工作流化简为只剩下任务 T4。工作流化简 是基于直接获取已有数据比重新计算这些数据更为高效的假设之上的。此时就任务数量 来说,抽象工作流已经是最简了。z站点选择得到最简抽象工作流后,下一步工作是进行站点选择。该选择参考可利用资 源的情况和所需的输入数据的地理位置等因素。站点选择的算法可以由用户来设定,然 后作为 Pegasus 的一个插件来运行。目前

16、Pegasus 提供的选择算法有:随机算法、循环(round robin)算法、基于组的调度算法和 min min 调度算法。这些调度算法将利用 SC 目录中的资源相关信息、TC 目录中应用软件的位置信息和 RC 目录中备份数据的位置 信息,以及 Pegasus 插件中其他信息服务提供的信息。z任务集群Pegasus 提供将一些使用相同计算资源的小任务合并在一块的功能。z可执行文件的导入当远端网格站点上缺少某个可执行文件或是该站点上的可执行文 件已经过期时,Pegasus 可以提供将可执行文件导入到该站点的服务。目前还只能导入 静态链接的可执行文件,并且该可执行文件作为输入文件来处理。z添加数

17、据导入导出和注册任务继续图 1 的例子,当工作流化简为只剩下任务 T4 时, 得出的可执行工作流描述如图 5 所示,包括 3 个导入任务:其中 2 个是将输入文件导入 到站点 R(Pegasus 所选择的),1 个是将可执行文件 T4 导入到站点 R。之后将在站点 R 上运行任务 T4,并将生成的输出文件 F5 导出到用户指定的站点 U,并在 RLS 中注册F5。需要指出的是图中可执行工作流只是一个“计划”,需要由实际的工作流运行引擎来执行。z提交生成的文件此时的工作流包括计算、数据传输和注册,并且已经具有和实际执行 环境相对应的结构。最后我们需要将该工作流写成能被实际的工作流执行引擎(如 D

18、AGMan)识别的文件。 该文件将被递交给 DAGMan 和 Condor-G 去执行,DAGMan 根据工作流之间的联系将任务提交给 Condor-G,由 Condor-G 将任务指派给目标资源运 行。4总结图 5 对应化简后的抽象工作流(图 1 例子)的可执行工作流随着对网格研究的不断深入,网格工作流已经成为该领域的一个重要的研究方向。Pegasus 作为出色的网格工作流引擎,已经广泛的应用于天文、高能物理、生物医学等各个 领域91011,但是由于网格的动态性、分布性、异构性以及自治性的特点,和人们对网格应 用的要求越来越高,Pegasus 还有很多方面亟待改进。例如它的建模过程缺乏动态性

19、的考虑, 不能根据工作流的运行情况实时地进行调整,一定程度上造成网格资源的浪费;另一方面它 采用尽力而为的调度策略,没有很好的支持用户的 SLA 保证,同时资源发现功能也不是很 完善。所以考虑如何引入优化的调度算法,以及将 Pegasus 扩展成基于策略的自适应工作流 引擎具有十分重要的意义,需要我们进一步的探索和研究。参考文献1 Ewa Deelman, Gaurang Mehta, Gurmeet Singh, et alWorkflows for e-ScienceMHeidelbergSpringerBerlin20072 Daniel S. Katz, Joseph C. Jacob

20、, G.Bruce Berriman, et alComparison of Two Methods for BuildingAstronomical Image Mosaics on a GridAParallel Processing ICPP 2005 WorkshopsCUSA:IEEE ComputerSociety2005:85-943 http:/pegasus.isi.edu/index.php4 Ewa Deelman, James Blythe, Yolanda Gil, et alWorkflow management in GriPhyNAGrid resourcema

21、nagement: state of the art and future trendsCUSA: Kluwer Academic Publishers2004: 99 -1165 P Avery, I FosterThe GriPhyN Project: Towards Petascale Virtual Data GridsRGriPhyN Report2000-1USANSF Information and Technology Research Program20006 http:/www.cs.wisc.edu/condor/7 Ewa Deelman, James Blythe,

22、Yolanda Gil, et alPegasus: Mapping Scientific Workflows onto the GridMHeidelbergSpringer Berlin2004.8 Ewa Deelman, Gurmeet Singh, Mei-Hui Su, et alPegasus: A framework for mapping complex scientific workflows onto distributed systems JScientific Programming2005Volume 12 Number 3: 219-2379 Gurmeet Si

23、ngh, Ewa DeelmanMontage on the GridRNVO Technical Report2003.10 Ewa Deelman, Scott Callaghan, Edward Field, et alManaging Large-Scale Workflow Execution from Resource Provisioning to Provenance tracking: The Cyber Shake ExampleMe-Science 2006Amsterdam2006 11 GideonJuve,EwaDeelman ResourceProvisionin

24、gOptionsforLarge-ScaleScientific WorkflowsZ IndianaWorkshop on Scientific Workflows and Business Workflow Standards in e-Science(SWBES)2008.A Workflow System Based on Distributed Resources- PegasusYu TaoranSchool of Information and Communications Engineering, Beijing University of Posts andTelecommu

25、nications, Beijing (100876)AbstractPegasus is an open source workflow system developed by the Center for Grid Technologies atUniversity of Southern California. It can map the complex scientific workflow onto distributed resources. It enables users to concentrate on their fields and to build only abs

26、tract workflows. During the running period of Pegasus, it first find the available resources referring to the site catalog and then simplify the abstract workflow based on the information provided by the replica catalog, after getting the minimal abstract workflow, it will choose the remote sites ba

27、sed on specific scheduling algorithm and stage in the necessary data and executable programs to the remote sites and run the job, after that stage out the running results, analyze and integrate them, finally display to the users. In this paper we will first introduce the common types of workflows, and then analyze the architecture, catalogs and work processes of the Pegasus, finally comes to the final conclusion about the current weak points in Pegasus and the future trends based on the above research.Keywords: Pegasus; Scientific Workflow; Grid

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1