- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一种面向分布式资源的工作流系统--Pegasus
一种面向分布式资源的工作流系统--Pegasus
余陶然 北京邮电大学信息与通信工程学院,北京 (100876) E-mail:sakurataoran@
摘 要:Pegasus 是由美国南加州大学网格技术中心开发出的一个开源的工作流映射引擎, 它的主要功能是将复杂抽象的科学工作流映射到分布式资源上,它使用户从实际的运行环境
中解放出来,而只需要考虑抽象层面上的工作流表示问题。Pegasus 在工作的过程中,首先 通过查阅 SC 目录查找当前可用的并且能通过验证的资源,接着利用 RC 目录中的中间资源
信息对工作流进行化简,在得到最简的抽象工作流之后,根据用户所选择的调度算法进行站 点的选择,然后将运行时所需要的数据和可执行程序导入到相应的站点,最后在各个站点运
行完相应的任务后,将运行后的结果进行分析整合再传送给用户端。本文的结构安排如下: 首先介绍常见类型的工作流,接着分析 Pegasus 的整体框架、目录结构以及实际运行时的环
境和工作流程,最后基于上述研究结果,提出 Pegasus 目前存在的不足与未来发展方向。 关键词:Pegasus;科学工作流;网格
1.引言
现今许多科学实验都需要对海量的数据进行分析计算,分析计算过程可能非常复杂并且 需要使用大量的资源,而这些资源可能分散在不同的地理位置,归属于不同的组织,同时参 与实验的科研人员也可能来自不同的组织[1]。在这样的研发环境下,开发大规模的应用程序 对协作性有很高的要求,并且在具体的研发过程中会面临多方面的挑战,比如对应用程序的 各个组成部分以及大量数据的管理,如何在分布式的资源上成功并且高效的运行等问题。
在研发过程中,我们习惯将应用程序的开发和实际的运行分开考虑。进行应用程序开发 时,只专注于如何在该科研领域实现某个想法和创意,而不去过多关注实际运行时所使用的 资源等问题;而在实际的运行过程中,我们则着重关注使用哪些资源,这些资源位于什么地 理位置,如何高效地使用这些资源等问题[2]。
本文中将要介绍的 Pegasus 工作流系统是一个把在应用程序开发过程中创建的工作流实 例转化为在实际的环境中的可运行的可执行工作流的开源软件。Pegasus 使得科研人员在开 发时无需考虑实际的运行环境是网格,是 Condor 池,还是某台主机,而只需在应用层上设 计工作流。并且 Pegasus 具有灵活的框架结构,可以适用于众多的科研领域和各种复杂的运 行环境。
2.工作流的类型 本小节将介绍工作流的三种常见形式:模板、实例和可执行工作流。 模板:同编程语言中的模板概念类似,模板为各个科学领域提供一些基本模块和模块间
的联系,但不包含具体应用所涉及到的数据和资源。模板可以由许多科研人员共同协商制定, 一旦定制好了,可以添加进库中供将来使用。
实例:在模板的基础上添加进具体应用涉及的数据,也可称作抽象工作流。工作流实例 可以唯一的标识某一科学领域的某个具体应用,但不包含具体运行时使用的相关资源信息。
工作流实例灵活性较强,可以映射到不同的运行环境中。 可执行工作流:在实例的基础上添加进相关资源信息,也称作具体工作流。可执行工作
流将定义每个具体应用中将使用的资源,提供和数据有关的导入、导出、数据注册或在远端 运行环境中创建工作文件夹等功能。
图 1 是抽象工作流的一个例子,由四个任务组成,Ti 代表一个任务,Fi 代表一个逻辑
文件名。输入文件 F1 经由任务 T1 处理后,生成 2 个 F2 文件。这两个文件由 T2 和 T3 处理 分别生成文件 F3 和 F4。然后将文件 F3 和 F4 同时交给任务 T4 处理得到最终想要得 F5 文 件。这就是一个工作流实例。
图 1 工作流实例的一个例子
产生工作流实例的方法通常有三种。
1. 根据预先定义的规则直接创建工作流实例,该方法比较适合那些具有工作流概念并 且有设计可执行工作流经验的科研人员。
2. 根据用户提供的使用 VDL 语言(virtual data language)描述的部分逻辑工作流,使 用 Chimera 创建工作流实例
3. 借助 Composition Analysis Tool(CAT)之类的智能化工作流编辑器来创建抽象工作 流。
不管是用哪种方法产生的工作流实例,最终都需要映射到实际环境中的资源上去执行。 而工作流映射问题通常考虑的是如何使工作流的整体执行时间最短,该时间是任务在远端主 机上的运行时间和将数据传输到远端主机导入、导出耗费时间的总和。
3.Pegasus的设计
3.1 Pegasus 的体系结构
Pegasus(Planning for Execution in Grids)是国外的一个开源工作流映射引擎[3]。从图 2 中可以看出,Pegasus 通过自动地把抽象的工作
文档评论(0)