一种面向分布式资源的工作流系统Pegasus.doc
《一种面向分布式资源的工作流系统Pegasus.doc》由会员分享,可在线阅读,更多相关《一种面向分布式资源的工作流系统Pegasus.doc(7页珍藏版)》请在三一文库上搜索。
1、精品论文一种面向分布式资源的工作流系统-Pegasus余陶然 北京邮电大学信息与通信工程学院,北京 (100876) E-mail:sakurataoran摘要:Pegasus 是由美国南加州大学网格技术中心开发出的一个开源的工作流映射引擎, 它的主要功能是将复杂抽象的科学工作流映射到分布式资源上,它使用户从实际的运行环境中解放出来,而只需要考虑抽象层面上的工作流表示问题。Pegasus 在工作的过程中,首先 通过查阅 SC 目录查找当前可用的并且能通过验证的资源,接着利用 RC 目录中的中间资源信息对工作流进行化简,在得到最简的抽象工作流之后,根据用户所选择的调度算法进行站 点的选择,然后将
2、运行时所需要的数据和可执行程序导入到相应的站点,最后在各个站点运行完相应的任务后,将运行后的结果进行分析整合再传送给用户端。本文的结构安排如下: 首先介绍常见类型的工作流,接着分析 Pegasus 的整体框架、目录结构以及实际运行时的环境和工作流程,最后基于上述研究结果,提出 Pegasus 目前存在的不足与未来发展方向。 关键词:Pegasus;科学工作流;网格1引言现今许多科学实验都需要对海量的数据进行分析计算,分析计算过程可能非常复杂并且 需要使用大量的资源,而这些资源可能分散在不同的地理位置,归属于不同的组织,同时参 与实验的科研人员也可能来自不同的组织1。在这样的研发环境下,开发大规
3、模的应用程序 对协作性有很高的要求,并且在具体的研发过程中会面临多方面的挑战,比如对应用程序的 各个组成部分以及大量数据的管理,如何在分布式的资源上成功并且高效的运行等问题。在研发过程中,我们习惯将应用程序的开发和实际的运行分开考虑。进行应用程序开发 时,只专注于如何在该科研领域实现某个想法和创意,而不去过多关注实际运行时所使用的 资源等问题;而在实际的运行过程中,我们则着重关注使用哪些资源,这些资源位于什么地 理位置,如何高效地使用这些资源等问题2。本文中将要介绍的 Pegasus 工作流系统是一个把在应用程序开发过程中创建的工作流实 例转化为在实际的环境中的可运行的可执行工作流的开源软件。
4、Pegasus 使得科研人员在开 发时无需考虑实际的运行环境是网格,是 Condor 池,还是某台主机,而只需在应用层上设 计工作流。并且 Pegasus 具有灵活的框架结构,可以适用于众多的科研领域和各种复杂的运 行环境。2工作流的类型 本小节将介绍工作流的三种常见形式:模板、实例和可执行工作流。 模板:同编程语言中的模板概念类似,模板为各个科学领域提供一些基本模块和模块间的联系,但不包含具体应用所涉及到的数据和资源。模板可以由许多科研人员共同协商制定, 一旦定制好了,可以添加进库中供将来使用。实例:在模板的基础上添加进具体应用涉及的数据,也可称作抽象工作流。工作流实例 可以唯一的标识某一科
5、学领域的某个具体应用,但不包含具体运行时使用的相关资源信息。工作流实例灵活性较强,可以映射到不同的运行环境中。 可执行工作流:在实例的基础上添加进相关资源信息,也称作具体工作流。可执行工作流将定义每个具体应用中将使用的资源,提供和数据有关的导入、导出、数据注册或在远端 运行环境中创建工作文件夹等功能。- 7 -图 1 是抽象工作流的一个例子,由四个任务组成,Ti 代表一个任务,Fi 代表一个逻辑文件名。输入文件 F1 经由任务 T1 处理后,生成 2 个 F2 文件。这两个文件由 T2 和 T3 处理 分别生成文件 F3 和 F4。然后将文件 F3 和 F4 同时交给任务 T4 处理得到最终想
6、要得 F5 文 件。这就是一个工作流实例。图 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 虚拟数据系统
8、45,该系统 已经成功的执行了很多由数量众多的短期小工作组成的大型工作流,和由少数几个长期的大 工作组成的工作流。图 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 在什么地方安装的相关信息。Trans
10、formations 是 和工作流实例中的任务相对应的可执行程序。和备份目录类似,TC 目录存储从逻辑文件到 物理文件的映射。除了安装的可执行文件信息,该目录也存储静态链接的可执行程序的位置信息作为物理 映射的一部分。该静态链接可以被导入到远端主机,作为工作流的一部分。该目录同时也存 储可执行程序的诸如运行的操作系统、使用什么编译器、需要多少内存等相关属性。默认的 TC 目录的实现是一个遵从预先定义的规则的数据库。(3) SC(Site catalog) 该目录用于收集关于远端站点的位置信息。它同时存储静态和动态信息。静态信息包括如下信息:zGridFTP 的服务器端,可以将数据从站点上导入和
11、导出。zGRAM JobManager,用于提交任务给网格站点上的本地调度器。z数据可以导入并作为运行工作流的一部分的临时目录 z最终的数据可以导出的存储目录 动态信息包括如下信息:z可利用的处理器数目z可利用的内存大小z可利用的磁盘空间大小Site catalog 可用 MDS(Monitoring and Discovery Service)提供的数据和用户或站点管理 员提供的附加信息构成,或者由 Grid 特定的目录(像是 GridCAT)构成。3.3 实际运行环境实际的运行环境中包含的主机可能有单处理器的普通主机、多处理器的集群系统和高性 能的并行系统,这些具有各异性的主机由网络连接成
12、一个整体。图 3 工作流的典型运行环境图 3 描述了一个典型的运行环境。每个资源都包括一个对网络可见的头节点。为了能够远程调度任务,资源必须提供一些相关的服务和存储单元,在该环境中,使用的是 GlobusToolkit 提供的一些服务:z远程任务的提交和管理(由 Globus 中 GRAM 的 JobManager 来负责)z远程数据导入和导出(由 GridFTP 来实现)z资源的状态信息(由 MDS(Monitoring and Discovery Service)来负责),MDS 提供可 用资源的数量和类型,以及资源的静态特性(如 CPU 数目)和动态特性(如当前空 闲内存大小)z资源上的
13、可用数据信息(通过 RLS(Replica Location Services)的 LRC(Local Replica Catalog)来提供),RLS 是由包含逻辑文件名到物理文件名映射信息以及概括本地目 录内容的分布式索引信息的本地目录组成分布式备份管理系统。为了在这样的环境中运行 Pegasus,必须有一个资源端安装并提供 Pegasus、DAGMan 和 Condor-G 软件6。后两个软件提供了工作流运行引擎和在各种基于 Globus 的资源上远程 提交任务的能力。我们称这个资源端为任务提交主机。该主机还得维护在网格资源上安装的 应用软件的相关信息(保存在 TC 目录中),以及用户关
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一种 面向 分布式 资源 工作流 系统 Pegasus
