(计算机科学与技术专业论文)网格工作流关键技术的研究与实现.pdf_第1页
(计算机科学与技术专业论文)网格工作流关键技术的研究与实现.pdf_第2页
(计算机科学与技术专业论文)网格工作流关键技术的研究与实现.pdf_第3页
(计算机科学与技术专业论文)网格工作流关键技术的研究与实现.pdf_第4页
(计算机科学与技术专业论文)网格工作流关键技术的研究与实现.pdf_第5页
已阅读5页,还剩82页未读 继续免费阅读

(计算机科学与技术专业论文)网格工作流关键技术的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国防科学技术大学研究生院学位论文 摘要 随着网格研究的深入和网格基础设施的发展,在网格上开发了越来越多的功能强大、 需要大量资源的科学计算和协同应用,很多网格应用也越来越复杂,具有时间、空间和资 源等多种约束。网格工作流能够方便的构建、执行、管理和监控网格应用,使得网格应用 能够较高效率地自动实施。网格的动态性、分布性、异构性和自治性导致传统工作流的一 些方法和技术不能有效的处理网格环境中的有关问题。 本文重点研究了国内外几个著名的网格工作流系统,详细分析和总结了其特点及不 足。在此基础上,提出了一个基于开放式网格体系结构( o g s a ) 的网格工作流体系结构, 对其关键技术进行了研究,设计和实现了其中的核心服务。具体的工作为:建立了一个适 合网格工作流调度的资源组织模型;提出了一个基于q o s 的资源调度模型;对基于角色 任务的网格工作流访问控制模型进行了研究,并给出了实现方法:建立一了个使用e c a 规则的工作流模型,给出了其工作流引擎的驱动算法;利用事件监听模式和事件通道模式 相结合的事件驱动体系结构实现了其工作流引擎;最后给出了一个验证实例。 关键词网格工作流q o s 调度访问控制工作流引擎 第1 页 国防科学技术大学研究生院学位论文 a b s t r a c t i o r ea i l dm o r ep o 、e r f mc o m p u t i n ga l l dc o l l 蠢b 0 洲v eg r i d 印p l i c a t i o n st h a tr e q l l i r e 镌m e n d o u s 瑶s o u r c e sa r ec o n s 协j c e da s 壤eg r 至dr e s e a 辩圭1 霉sa n dg f i d 主n f 泌嫩l c t l l r eg r e a t 哆 a d v a n c e m a i l ya p p l i c a t i o n sa r cm o r ea 1 1 dm o r ec o m p l i c a t e dm l i c ha r ec o n s t r a i n e db yt e i n p o r a l 趾dr 。s o u r c e 咒l a t i o n s m p g r i dw o r k 矗o wc a nc o n v e 芏l i e n t l yc o n s t n l 砖e x e c u t e ,m a i l a g e 锄d m 刎妇。鲥d 印叫i c a t i o n s ,a n d8 u t o m a t e 舒di p p 】i c a t i o n s 谢t 1 1 拶船te 撒c i e n c y d u et ot 1 1 e d y n a n l i s m ,d i s t r i b 峨i o n ,h e t e r o g e n e i t ya n da u t o n o m yo fg 五da p p i i c a t i o n s c o n v e n t i o n a 量 w o r k f l o wt e c l u l o l o g yc a l ln o te f r e c t i v e l ys o l v em er e l a t i v ep r o b l e m so f 鲥de n v i r o 柚e m t h i sp a p e rc o n c e n t r a t c so nt 1 1 e s y s t e r 衄廿cs t r u c t i l r ca n de x e c u t i o nt e c h n o l o g yo f 也e w o 煳o wb a s e do n 酥d ,a n dp r o p o s c sag r 主dw o 蛐o wi b 觑s 扭l c 雠eb a s e do 拄也e0 p c n 繇d s e r v i c e sa r c l l i t e c n l r e ( o g s a ) a c c o r d i n gt oc h a r a c t e r i s t i c so f 皿dr e s o l l r c e s 姐d 鲥d 8 p p 畦c a t i o 芏l s ,也e & s 呈ss 协d yg 五dw o 救矗o wo 删z a t i 矗珏dr e s o 班宅em o d e l ,r e s o u r c e s c h e d i l l i n gb a s e do nq o s ,r o l e - b a s e da c c e s sc o m r 0 im o d e l b a s e do nt h e s er e s e a r c h ,n l ep a p e r p r o p o s c sa 蕊dw o 黻o wp c e s sm o d e l a n ds 鼬d yi t si m p l e m e n t a 虹。玛主n c l 磁通gg r i d 啪舢o we n g i n e ,嘶dw o 姻o wd e p l o 舯e n t k e y w o r d s : g r i dw o r k 置i o w ,w o r k n o we g i e ,q o s 第1 i 页 国防科学技术大学研究生院学位论文 图目录 图2 1g s f l 框架 图2 2t r i 趴a 框架 图2 3g r j d f l o w 资源层一 图3 1w c bs e r v i c e 协议栈 图3 2o g s a 体系结构 图3 3 网格工作流系统模型 图3 4 网格工作流运行过程 图4 1 网格服务的组织形式 图4 2 网格服务信息的组织 图4 3 网格服务信息的实现结构 图4 4 网格资源的0 0 s 指标体系 图4 5 空间( u ,s ,o p ) 图4 6 基于角色的访问控制r b a c 图4 7 一种访问策略使用场景 图4 8 基于角色一任务的访问控制 图4 9 运行前的工作流控制模型示例 图4 1 0 运行时工作流控制模型示例一 图4 1 1 基于e c a 规则的工作流执行机制 图4 12 典型的工作流控制逻辑 图4 1 3 一个工作流例子 图4 1 4 有向图表达的工作流例子 图4 1 5 工作流实例状态转换 图4 1 6 活动实例状态转换 图5 1g o s 的体系结构 图5 2g o s 的典型部署 图5 3 工作流管理服务的部署 图5 4 网格工作流的资源组织模型的实现 图5 5 基于q o s 网格资源的调度过程 图5 6 工作流运行时访问控制的实现 图5 7 流程服务的序列化过程 图6 1 流程实例用例图 图6 2 事件监听者模式 图6 3 事件通道模式 图6 4 事件驱动结构 图6 5 流程实例和活动实例的生命周期监听 图6 6 流程实例和活动实例的生命周期监听 图6 7 流程实例和活动实例的生命周期监听 图6 8 工作流引擎运行的时候的体系结构 图7 1 编译部署流程 图7 2 在g o s 上注册工作流服务 _ j m m m忽埘抖”并弘弘柏铊们拍钉鹌钉亚轮弱舛硒卯鲋盯醯订 国防科学技术大学研究生院学位论文 表目录 衰2 1 工作流集成的服务和工作流的主要应用的比较1 2 表2 2 工作流定义的比较1 3 表2 _ 3 工作流调度的比较1 3 表2 4 信息检索、错误容怨和数据移动的比较1 3 表4 1 平均隧橇一致往指针3 2 表4 2 常见类型状态事件4 8 表6 i 工 乍滤引擎中常见胞消息、消息消费者和消患供应老6 4 第i v 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意。 学位论文题目:圈整王丝渣差熊拉盎鲍盟窥盏塞丑 学位论文作者签名 么园力 日期:d 口j 年,2 月3 一日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文题目: 圆整三佳速羞毽撞盔煎煎塞量塞狸 学位论文作者签名:垒璺垄日期:j 吖年位月3 0 日 作者指导教师签名:与躯4 塑芝1日期:纱莎于年,2 一月歹口日 国防誊 学技术大学研究生院学位论文 第一章绪论 1 1 研究背景 网格是近年来逐渐兴起的种i n t e m e t 计算模式,已经被广泛的应用于科学计算和其它 应用领域。其羁的是为了在分布、异构、自治的网络资源环境上构造动态的虚拟组织,并 在其内部实现跨自治域的资源共享与资源协作。 从丽户的角度看采,弼格在使用上将类似毫力网。我们在使蔼电力时,不必考虑电力 从何而来,如何而来,只要将用电设备插入接线板插头就可以使用统一形式的电能。网格 龟希望给最终用户掇供与城瑾位置无关、与吴体设施无关的计算、服务熊力,用户可以将 网格看作单一的、自主管理的、性能强大的虚拟计算机。 从技术的角度来看,网格计算是分布式计算的一个新的阶段,网格需簧解决的主要问 题是在动态异构的虚拟组织中资源的共事鬏协依。这一阉题可以扶以下几方瑟进行理解: 1 ) 虚拟组织由遵守资源共事规则的一组个体和机构组成。虚拟组织具有分布性、动态性、 异构性。虚援组织豹成员霹以在撼理上分蠢,其成员数强、维织结构、管理模式和业务模 式等随时间变化,各成员在目标、结构、规模、管理臆行模式等方面各不相同。2 ) 资源 包括於范围穰广,诗算机、设备转n 天文麓运镜、雷达、家用邀器) 、软件、服务、数据、 知识等蹲都可以是资源。资源具有面向用户和透明性的特点,用户可以在不考虑资源物理 忿置豹待况下,方便懿使忍资源。3 ) 网格的彝豹是共事,这种共享已经不秀是镲荜的瓷 源互连和单一使用,而是通过资源互连、资源组合和资源协作来解决用户需要解决的问题, 满是用户靛服务需求。总之,网格其有分布性、异构性、动态往和蠡主性簿特性,它不仅 仅强调资源的赢连互通,还强调资源的互操作能力,强调虚拟组织上资源的协同和共享。 网格是目前越来越重要的研究领域,被称为是下一代的i n t e m e t i l j ,网格是一种关系科 磷、经济、拄会、国防豹重要国家基础设施,农国内外都引起了广泛的关注。网格的发展 经历了三个阶段【3 1 :第一阶段是网格的萌芽阶段,开始于9 0 年代早期,研究内容是关于千 兆羽试验床以及一些愆诗算【4 】方薤豹工作;第二阶段是一些早期的试验,对闽大概从9 0 年 代中期到晚期,出现了一些比较重要的开创性和奠基憔的研究项目,比如i - w a v ”, 联o b u s 5 l ,l e 西o n 】等;嚣前是鼹搭诗算的迅速发矮狳段,关予翮格豹研究、开发_ 秘应用项 目大量出现,出现了影响很大的组织全球网格论坛g g f ( g l o b a lg r i df o n l l l l ) 【s j ,司时网 格计算也不再仅仅局辊于科学研究,工业界与学术界联盟,正致力予傻掰格计算在更广泛 的领域得到推广和应用。 随糟网格技术的发展,网格上的资源越来越丰富,如何将现有耐格资源进行有效快速 地整合和集成,组成新的应用,是当今网格技术发展的强烈需求。 为了按合网格资源,实现资源的共享和协作,人们越来越多的将工作流技术应用在网 第1 页 国防科学技术大学研究生院学位论文 格上。工作流就是业务过程的完全或者部分的自动化,在此过程中,撮据一系列过程规则, 文档、信息或任务在不同的执行者之间传递以完成活动【2 j 。工作流技术的目的是通过恰当 地描述业务过程以得到适合予计算枫处理的模型,建立一个开放的人机系统体系结构。在 前者的基础上把分布、异构和相对独立的瘦用子系统,各种各样的信息资源以及各类人员 有机地联合成一个协作系统。工作流技术最大的优点是实现了磁用逻辑与过程逻辑的分 离,在过糕逻辑的建立过程中,可以不考虑资源的异构性,雨将相关豹资源融入到单个的 过程逻辑中,有效地把所有资源合理地组织在一起。 工作流技术在阏格上的应用,对予网格豹发展来说,既是搬运也是挑战。将工作流技 术应用在网格上,能够根据不同的业务逻辑,快速的集成网格服务组成新的威用。由于网 格平台屏蔽了参与工作流运行的资源豹分布往和异构性,对于最终用户来说,就像使用一 台计算机上的一个应用程序。再有,由于网格服务所具有的动态性和层次性,使得集成的 应用可以在运行的时候,根据闱户的需要动态遣选择资源。 由于网格蛉分毒性和动态性特征,工炸流技术在露格上的成用,也存在难点。主要表 现在:1 ) 在网格计算环境下,各种资源分布在不同的虚拟组织中,而且类型复杂、规模 较大、可以动态加入和撤除。在工馋漉映射到具体瓷源鲍过程中,工嚣漉可熊会在不同灼 虚拟组织中执行。在不同的虚拟组织之间进行资源与任务的分配和调度、安全的传输和通 信、饪务之闯的交互、愿户与系统以及用户与用户之翔的交互等都是筹要解决的闻题。2 ) 网格的动态性使得随着时间的变化,网格拥有的资源或服务可能增加或减少,网格的性能 ( 始网络带宽等) 会发囊变化。因此,基予瓣格豹工作滤应该具有有效的监测撬期、莛好 的容错性以及恢复机制,才能确保工作流能顺利地运行完成。 近两年来,刚格工作流技术的研究是网格研究的热点之一。出现了p e g a s u s 例、 c o n d o r 1 0 1 、g r i d a n t 【l l 增网格工作流系统。但是,这些项目大多集中禚科学领域,强调对 高性能计算机集群的使用:通常不支持跨虚拟组织;调度的策略单一,通常为最短运行时 闻,不支持基于q o s 的调度。照着网格的发展,列格服务不再局限于科学计算,而是向着 “企业网格”、“商业网格”、“政府网格”、“娱乐网格”等多领域发展。当前的网格工作流系 统显然不能满足此要求。 1 2 论文的主要工作 针对现有网格工作流系统的不足,本文致力于基于o g s a 网格体系结构的网格工作流关 键技术的研究与实现。主要为以下几方蘑: 1 ) 基于o g s a 的网格工作流系统体系结构的研究 2 ) 适会网格工作流调度的资源组织的磷究。 3 ) 基于q o s 的网格资源调度的研究。 4 ) 基予角色。任务的弼格工作漉访翔控制模型的研究。 5 ) 使用e c a 规则的工作流模型研究。 第2 页 国防科学技术大学研究生院学位论文 第二章网格工作流技术综述 网格誓作流技术是j 厦来网格研究的一个热点。网格的动态性和分布性决定了搠格工作 流的复杂性。本节对网格工作流进行了撅述,总结了网格工作流的特点,对网格工作流研 究的关键技术进行了介绍。网格工作流现在还没有统一的规范,在此,本文介绍了g s f l l l 2 j 、 g t i dw b r k f l o w 两种影响较大的网格工作流相关的规范。现有的国内外煺格工作流项目,本 文选取了典型的c a n d o rd a g m a l l 、p e g a s u s 、t r i a i l a l ”j 、t a v e m 4 j 、g r i d f l o o h j 、c g s p 【1 6 】 尉格工作沆项星,进葶亍介绍,详细地将它们在集成的服务、主要应用场所、工作流定义、 工作流调度、信息检索、错误容忍、数据移动等特性上进行了比较,给出了相应的评论。 2 1 网格工作流技术概述 网格工作流( 鲥d 、o r k n o w ) 技术是在网格平台上应用工作流技术,将网格平台上的 资源进行整合。网格工作流根据一系歹| j 的过程规剩,靛够完全或部分蟪把运行在网格环境 下的各种置相作用的网格资源有机地结合在一起,其间的文档、信息或数据在不同的网格 资源之间传递和执行,从而实瑗一组逻辑相关的使用网格资源的任务的自动化处理。 阚格中的工馆流技术具有在冥构环境中处理复杂事务鲍能力,最主要豹特点如下。 1 ) 对分布式异构环境的支持 缰成嬲格工作流豹网格月受务所对应的资源分蠢在不鬻的寝撒组织之中,具有不问的运 行环境。网格工作流提供了对这些处于异构环境属于不同虚拟资源组织的访问。 2 ) 高度抽象性 出于网格技术中的网格服务可以表示成与物理位置无关的舞度抽象的虚拟服务。网格 工作流中的服务由网格服务构成,它具有较高的抽象性。它可以使工作流程制作人员彻底 将注意力放在流稷的功能、逻辑结构上,面不耀再关注谁、在哪里提供了这个服务。可以 这么说,网格工作流彻底地将工作流程逻辑和工作流程实现进行了分离。 3 ) 动态性 动态性是网格服务最基本的特性,个别网格资源动态的加入、撤离和迁移对网格服务 本身没有什么影响。网格服务的动态性、网格服务和实际资源的一对多映射的特性,决定 了由网格服务组成的网格工作流本身也是动态的。当网格资源动态减少或者资源出现故障 的对候,阏格工侔流系统能及时采取措施,实现任务的自动迁移。 舢可优化性 网格服务的动态性和网格服务的有状态性,使得网格工作流可调度,并且这种调度呈 现出不目的粒度。瘸格工作流瓣可调度,饺得网格工作流本身可以稷撂用户豹不同需求进 行服务的筛选、优化,提供给符合用户服务要求的工作流程:可以对组成工作流的网格服 务按照用户服务要求进行调度:当网格工佟流整体作为其健稠格工作流摇的伙伴对,可以 第4 页 豳防科学技术大学研究生院学位论文 实现更高级别的调度。 5 1 可靠性 在网格技术中,高层次的网格服务往往对应了多个分布在异构环境中的具体资源。 这样,为组成工侮流熬服务提供了一个或多个备选的资源。当一个具体的资源发生数障的 时候,网格系统可以自动的为其对应的抽象服务选择另一个资源。而这种内部资源的变动, 不仅对舔户是透明的、对于工体流程来讲也是透明豹,工作流程本身不会感觉型这种变动。 这种机制极大地增加了流程的可靠性和健壮性。 整个网格系统是建立在安全体系之下的,网格服务和网格服务的使用者都是有安全 性保障的。由此组成的网格工作流,参与其中的每个网格服务都是安全的、网格服务之间 的倍息传输也是安全的,妇果组成静王作流本身也是网格服务,那么整个网格工作流将呈 现高度的安全性。 网格服务本身是有状态的,由黼格联务组成的网格工作流也是网格服务对,也将是 有状态的。因此,网格工作流可以进行长时间的、临时的运行,可以提供启动、中断、挂 起、恢复、“重傲( r e d o ) ”等操作。 2 2 网格工作流研究的关键技术 网格工作流技术是实现网格工作流建模、网格工作流仿真、网格工作流优化、网格工 作流管理与集成,从恧袋终实现网格工作滚的自动他的核心技术。它研究豹主要河题包括 下面几个方面。 i ) 掰格工侔流描述语言的研究 基于网格的工作流具有广域分布性、动态性和服务交互性。网格服务又是动态的、 具有生命期的,灵有不同层次的抽象性和复杂性。两格服务属予异构的虚拟组织。因此, 设计一种能够满足这些需求的网格工作流描述语言十分重要。定义工作流的规范必须能够 摇述网格服务的创建、交互与删除,服务实例的生命期,错误处理,工作流的控制以及网 格服务的集成等。 2 1 网格工作流的优化处理 工 乍溅优化的嚣是减少工作滤豹运行时阔,使工作流执行熬成功率最裔。网格工作 流的优化处理主要解决以下的问题: 动态和鑫动优化技术:网格是一个动态变化的玮境,工作流规划系统必须动态遗 选择合适的优化策略和规则,实现工作流的动态优化和自动优化。 优化策略:网格工俸流梅成复杂且蔡有分布秣,必须针对不弼级别豹工作流采用 不同级别的优化策略。搬据访问资源的范围,可有效地使用本地优化和全局优化方法,或 者两者结合使用。 优化算法:灵活的优化算法可以根据动态变化的因素,动态地选择合适的工作流 优化规则和策略。 3 ) 网穆工 乍滚的映射与调度 第5 页 国防科学技术大学研究生院学位论文 工作流映射、调度的目的是根据工作流管理系统调度的结果将复杂抽象的网格工作 流映射到网格环境中具体的资源,以集成满足用户服务质量需求的特定服务。这是网格服 务集成中一个重要、复杂、困难的过程。工作流管理系统如何进行调度,调度是静态的还 是动态的、调度的结构是集中的还是分布的、调度是基于历史数据还是基于现有数据进行 推测、调度的目标是基于全局的还是局部的,和与此相关的调度级别、调度策略、调度算 法等问题都有待解决。 4 ) 网格工作流的监测和错误处理 高度分布且异构系统中的出错很平常,网格环境又存在大量动态、不确定的因素, 如何提高工作流中的容错能力,如何提供工作流的监测和出错后的恢复机制,任务级和工 作流级别各自的容错机制是什么,如何加强工作流系统的健壮性和可靠性等也网格工作流 研究的内容。 5 ) 网格工作流执行与管理 网格工作流的执行着重每个流程实例之间的控制。网格工作流的管理主要功能是: 预见已规定的工作流的部署和执行情况。协调网格工作流之间的关系。应用合适的 规则保证网格工作流能及时、正常的执行。 2 3 国内外研究状况 本文对现有的网格工作流规范进行介绍,列举了一些国内外主要的研究项目,并对 其进行了分析比较。除了本文列举的以外,国外网格工作流研究项目比较有名的还有: i c e n i 【1 7 】、g r i d a n t 、g r a d s 1 踟、嘶c o r c 【1 9 1 、嘶d b u sw 0 衄o w 剐、k 删a 1 1 唑k e p l e r 田】 等。 2 3 1 网格工作流规范 2 3 1 1g s f l g s f l 力图利用w s f l ( w e bs e n ,i c ef l o wl a n g i l a g e ) 技术结合网格服务来描述网格 服务流程。g s f l 利用已有的网格服务集成心得网格服务,或者成为其他网格服务的组成 部分,描述网格的执行顺序和网格服务之间的交互。采用w s f l 的思想,描述w e b 服务 的流程语言,采用流程模型和全局模型。流程模型指定了行为的执行顺序和行为间的数据 交换。全局模型将w e b 服务操作绑定到聚集服务定义的操作,包括导出的操作和生命周 期的操作。g s f l 中引入了点对点的通信,使单个网格服务能在网格服务引擎协同下直接 通信,减少了网格服务和引擎之间的通信量。 g s f l 是在o g s a 框架上描述工作流的规范语言,采用ls c h e m s 定义。整个框 架如图2 1 。 第6 页 国防科学技术大学研究生院学位论文 2 - 3 1 2g r i dw o r k n o w 圈2 1g s f l 框架 g g f ( g l o b a lg 耐f o m m ) 提出工作流的推荐规范蕊dw o r k f l o w ,针对网格环境特 征,采用l 定义了王作流当中的鹅性和内容。对予瓣格工作流的试汇进行了定义,如 下: 控制流:任务执行的顺序。 一 网格输出变量:采用 v a r i a b l en 锄e 形式来定义网格过程中的输出变量。 工作流:标识一个工作流,包括属性i d 和c o m e n t 。 计葬任务:包括属性抽p m ,诞和c o n 自撒t 。 资源查询:查询网格活动所需的资源,包含属性i d 和c o n t e n t 。 数据传输:在网格环境中进行数据传输。 重新启动;根据一系列条件魔动一个活动。 分支任务:采用分解的方法来执行一个大的网格任务。 软件请求:完成任务所需要的软件。 资源请求:资源约束。 资源管理者请求:制定本地的资源管理器。 环境参数:指定远程避程的环境变爨。 客户端钩予( c l i n c t h o o k ) :指导工作流引擎返回给客户端的控制。 监控:工作流孳i 擎盗餐网格活动的状态。 第7 茭 国防科学技术大学研究生院学位论文 2 3 2 网格王作流系统 2 3 2 1c a n d o rd a g m a n c a i l d o r 是w i s c o n s 靠m a d i s o n 大学开发的计算密集作业的资源管理系统。c 缸l d o r 通过 连接可用的分布资源,包括p c 机到超级计算机,提供一个高吞吐量韵计算环境。 c a n d o 中的c a n d o r - g ,利用了g l o b i l s 啜谴m 服务佟为异搀批作业系统的统一接口, 因此能支持大规模的网格计算。c a i l d o r 中的m a 廿n a k i n g ,将作业和资源按照分类进行匹 配。如果有多个资源可以匹配俸业, 有向非循环图管理器( d a g m a l l ) 是c a i l d o r 作业的元任务调度器( m c 乜s c h e d l l l e r ,它 处理作业闻的相关性。d a g m a n 通过使用有商菲循环图( d a g ) 作为表达作泣稆关性的 数据结构。每个作业是和i c l l i 中的一个结点,每条边表示两个节点的相关性。每个节点有 任意的“父结点”和“子结点”。只有“父结点”究成后,“子绪患”才能进行工作。在有囱非循 环图中不存在“圈”,因为这样会导致死循环。d a g m 越不支持自动的中间数据的移动, 因此用户必须在处理作业运行前后定义数据的传输。 单独的终业是透过c 觚d o r 调度嚣来管理豹。如果终娩因为分布式结构的蹶医嚣产生 失败,比如,丢失了网络链接,c a i l d o r 能通过重新连接将其恢复,d a g m a n 意识不到这 静镫误。d a g m a n 受责瓣已提交雏作业进行错误擞告,产生枣 救豹d a g 。在骞错豹情况 下,d a g 仍然执行,直到没有作业可以执彳亍。失败的结点能在两己置的时间限制内进行重 傲。补救的d a g 指明了d a g 中没有完成的部分。罔户熊纠正失败懿错误,并重掰提交 补救的d a g 。 2 3 2 2p e ga s u s g r i p h y _ n 2 3 1 是美国国家科学研究纂金会支持的网格项目,其目的是为了支持需要大规 模计算能力和海量数据处理的物理实验,如高能物理实验、天文实验、引力波物理实验等。 p e g a s u s 痰划系统是其中豹工作淀管理系统。p e g a s u s 规划系统来宠成复杂抽象熬工 作流到网格环境中具体资源的映射,并且产生可执行的工作流。抽象的工作流可以通过检 索蕊叛数据系统c 轴n e 箍来构逡,也可班焉d a x ( d a g l 插述) 来构造。构造寤的 抽象流程由逻辑文件和逻辑应用部件构成的,通过有向非循环图( d a g ) 来表明它们的 相关性。在进行资源映射前,髓髓s 在假定产生数据集的代价眈存取西处理结果的代价 更高的前提下,通过重用虚拟组织内其他用户产生的可用的数据集合来简化抽象工作流。 遥过简化,去掉了了冗余的作泣,缩短了工作流的长度,从而减少了执行时间。 p e g a s u s 使用复本定位服务( r l s ) 来定位所需数据的副本,使用变换目录服务来发 现逻辑应用部件。p e g a s u s 同时需要g i o b u s 的监控和发现服务( m d s ) 来发现可用的资源及 其服务数据。 第8 页 国防科学技术大学研究生院学位论文 p e g a s u s 使用了两种方法来进行资源的匹配,随机分配方法和基于性能预测的方法。 后一种方法,p e g 船u s 使用了p r o p h e s y l “。p r o p h e s y 能提供分布、并行应用的建模和性能 分析,它通过历史性能数据来预测应用部件最佳的执行时间。p r o p h e s y 获取和存储每个应 用的性能数据。这些性能信息能反映应用和硬件,应用、编译和运行系统间的性能关系。 基于这些性能数据,p m p h e s y 产生分析模型,然后它的预测引擎通过这个分析模型来预测 应用在不同平台上运行的性能。p e g a s l l s 发送一个 部件名,参数名,参数值,可用资源列 表 给p m p h e s y ,p m p h e s y 将返回一个该应用使用资源的优先级表。 p e g a s l l s 支持静态的和实时的调度,支持可插入的任务调度策略。p e g l l s 是将工作流 转换成c a i l d o r 的作业通过c a n d o rd a g m a n 来管理执行。 2 3 2 3t r i a n a t r i a l l a 是c a r d 证大学开发的一个可视化的工作流导向的数据分析环境,它通过使用 g r i d l a bg a t 【2 5 】( 网格应用工具接口) 来集成网格服务。g a t 通过使用j x l r a 、w 曲服 务和o g s a 技术提供了较高层次的对网格核心服务的访问。 t r i a l l a 提供了一个可视化的编程接口。可以通过拖动所需单元,连接它们来形成工作 流。这些单元除了工作单元外,包括控制单元( 如w h i l e ) 、逻辑单元( 如i f ) 和连接单元 ( 负责其他单元间的连接) 。用户可也以建立自己的单元。 图2 2 t r i a n a 框架 t r i a n a 客户端能登陆t r i 锄控制服务器( 阿a n ac o n t r o l l 址gs e n r i c e ) ,远程建立和运行 工作流,得到可视化的结果。每个a 1 1 a 控制服务器和t r i a l l a 引擎进行交互,每个引擎 提供一个t r i a l l a 服务,能执行全部或者部分的任务。引擎可以按照特定的分配协议将工 作流中的部分代码分配给其他n i a n a 引擎。引擎之间可以进行交互,如图2 2 。这种分配 协议是基于组单元概念,支持两种分配协议:并行协议和点对点协议。两种协议将工作流 中的一组单元分配给不同的主机,但是只有使用点对点协议的主机间能够进行信息交换。 因为t r i a n a 使用了这种分配方式,它的工作流的任务调度不是固定的,而是动态分配的。 第9 页 国防科学技术大学研究生院学位论文 2 3 2 41 h v e r n a t a v e m a 是m y g r i d 【2 7 1 网格计划里的工作流管理系统。m y g r i d 利用网格技术来支持生 物实验。t a v e m a 为科学家提供了生物信息工作流在网格平台上的开发和执行。t a v e m a 提供数据模型和图形化的用户接口。1 a v e m a 将f r e e f l u 0 【2 8 】作为工作流引擎。 t a v e m a 中,流程模型即可用图形方式表达也可以用一种基于) ( 1 m 。的语言s c u f l ( s i r n p l ec o n c e p n l a lu n i 丘e df l o wl 姐g u a g e ) 来表达。流程模型包括输入,输出,处理器, 数据流和控制流。除了规定的执行顺序,也可因为父处理器执行的时候状态的转换触发相 应的控制流。和其他工作流语言相比,s c u f l 允许在规定的策略下进行隐式的迭代。在 执行层,工作流引擎提供了多线程的机制来加速迭代处理。用户可以设置“线程”( n 腿a d ) 属性来定义迭代处理时并发实例的数量。这种机制很适合用于处理大量并发执行的过程, 比如,一个使用集群的服务。在这种机制下,工作流引擎可以同时发送下一个输入的数据, 因为当前的计算是基于现有的输入。因此,可以缩短等待时间。 t a v e m a 提供了良好的用户界面给用户来定义工作流、选择合法资源、执行和监控工 作流;允许用户查看工作流的中间结果和最终结果:用户可以以不同的方式存储本地和远 程的结果。 1 如e m a 提供了良好的错误容忍机制。用户可以对工作流中的错误容忍进行配置,如: 重试的次数,时间的限制和备选的处理单元。用户也可以设置“关键c r i t i c a l ”属性给特定 的处理单元。如果这个“关键”的处理单元,重试和备选的处理都失败,则整个工作流执行 将被终结。如果是“非关键的处理单元,重试和备选的处理都失败,工作流仍然继续,失 败的处理单元不再执行。 m y g r i d 采用的是服务导向的网格体系结构,在工作流管理系统中支持不同的服务, 包括基于w s d l 的具有唯一操作的w 曲服务,s o a p l a bb i o s e r v i c e 【2 9 】和本地服务如j a v a 类。 另外,在服务发现的模块使用了一些信息服务类,比如u d d i 【3 1 】和本体目剥3 0 】。 2 3 2 5g r i d f i o w g r i d f l o w 是美国w 豇w i c k 大学开发的网格工作流管理系统。它是建立在基于a g e n t 的网格计算资源管理系统( a r m s ) 之上的。g r i d f l o w 关注的焦点在服务层的调度和网格 工作流的管理上。 g r i d f l o w 将资源分为3 个层次:网格资源,局部网格资源和全局网格资源,如图2 3 。 网格资源就是指一个特定的网格资源。局部资源包括了属于同一个社区的多个网格资源。 全局网格资源包括所有的局部网格资源。g r i d f l o w 的工作流由子工作流组成,每个子工 作流代表一组属于同一个局部资源的网格资源。 g r i d f l o w 的调度是分层次的调度,包括全局工作流调度和局部子工作流的调度。全局 工作流调度通过工作流仿真来发现较优的匹配。用户接受了仿真的结果后,g r i d f l o w 通 第1 0 页 豳防科学技术大学研究生院学位论文 过a l t m s 将工作流调度到不嗣豹蜀郝网格中。他a n ,作为网穆资源的管理者,负责对局 部网格资源进行管理、调度。和全局调度相比,局部网格调度,主要是处理属于不同工作 流的子工作流在资源使用上的冲突。 图2 - 3 g r i d f l o w 资源层 g 五d f l o w 镬耀了p a c e 工其包来进行性能豹读溅。僵楚p a c e 豹性戆预测嚣蘸只限于 科学计算任务并行程序的分析预测,如m p i 或者p v m 。 2 3 2 6a s k a l o n a s k a l o n 是澳大剥亚i n n s b f l k k 大学开发的一个网格应用开发和计算环境。a s k a l 瓣的 主要目的是让网格工作流应用的开发和优化简单容易。 a s l 【a l 滩具有分布式服务导向的体系结构。a s k a l o n 包据两令予系绕,抽象网格工作流 语言a g w l 和t e u t a ,t c u t a 支持网格工作流应用的开发。a g w l 是一种基于订l 的语 言,提供了丰富的控制结构,包括顺序、并霉予、选择、迭代等。工作流应用的开发者可以 在较高的层次上定义约束,为任务和任务间的依赖定义功能和非功能上的参数。这有利于 工佧流的优化。巍g a 也支持图形亿豹z 作流定义,然后将其转换为a g w l 。 a s k a l o n 的调度引擎建立农一个可插入的体系结构上,因此,可以使用不同的调度算 法。这些调度算法可以采用用户自定义的度黧标准,比如运行时间、经济成本、效率和其 他用户定义的任意的q o s 。同慰,用户可以对工作流中的每个作业进行性能约束。a s k a l o n 使用静态调度和动态调度混合的方法进行工作流的调度。静态的方法是预先给整个工作流 映射资源。动态调度算法是在静态调发算法的基础上,根据系统性能预测的基础上辩网格 工作流进行优化。 a s l 【a l o n 提供了3 个级别的预测。系统级剐:预测网格部件的性能,包括露络的性能 ( 延迟、带宽) ,计算系统的性能( c p u 负载,存储使用率,可用的带宽) 。应用级 嗣:预测活动的运行时闷,包括( 应带、数据传输) 。工作流级羽的预测,预测工彳乍漉及 其子系统的运行时间。 a s k a l o n 监控每个任务是否正确执行,决定任务是否迁移。a s k a l o n 提供了容错引擎, 通过检查点印迁移技术采保证工作滚执行时的可靠性。 a s k a l o n 网格资源管理系统( g r i d a r m ) 提供了基于g o l u b st 0 0 k i t e4 的分布式注册 来映浆全局和域豹作业。a s k a l o n 还握供了有关网穆和嗣格应用瞧能的问题和错误的自动 第l l 页 营防科学技术大学研究生院学位论文 接索。益控和性能分析部件提供弼格系统豹静态信患和诗算资添、两络帮应用的动态信息。 对于工作流应用来说,动态信息包括撼个工作流和正作流中任务的信息。a s k a l o n 通过历 史数据和分析模型来评价任务在不同负载蠢不同阀题援禳对运符时阐。 2 3 2 7c g s p 当前国内的网格项目,大多致力予对网格工作流的支持。但从发糍的版本来看,支持 网格工作流较好的是c l l i n a g r i d 公共支撑平螽。 c h j n a g t i d 公菇支撑平台( c 1 l i i l a g d ds u p p o np l a t f o n ,简称c g s p ) ,旨在对教育和科 研系统中的各种资源进行整合。c g s p 是通过作业管理器来对佟业进行管理。作业管理器 是c g s p 核心模块之一,它的主要功能包括服务请求提交,服务调度,服务状态管理,服 务合成和应罔流程管理等。其中,服务合成踅非业管理器的重要功能,俸业管理器期握对 合成服务的流程进行管理,包括流程创建,流程执行过程的管理、流程执行过程中相关数 据浆管理戳及流程生命期的管瑗。 c g s p 提供了良好的交互界面让用户定义工作流。c g s p 将图形化的工作流,转换成 了使用j d l 语言的工作流描述。j d l 为c g s p 开发的一种网格工作流语言。该语言包含 了对资源的需求信息,如c p u 频率、c p u 数量、磁盘空间等。 c g s p 的资源调度算法,是先匹配本地资源,然后匹配异地的资源。c g s p 提供了资 源实例的运幸亍、接起、羧复等操作。 c g s p 支持w 曲服务,网格服务和w s r f 服务。 2 3 2 8 两格工作流系统分析比较 本文从网格工作流系统集成的服务、主要应用、工作流定义、工作流调度、信息检索、 错误容忍、数据移动等特点对上述工作滤管理系统进霉比较。 表2 1 工作流集成的服务和工作流的主要应用的比较 名豁其弛组件网格集成瘦用 d a g m a nc 町l d o rg t 2 科学计算 p e g a s 璐 c a n 抽r 】) a g m a nc 卸d o r 数据密集翦应用,氇 g l o u b u sr l sg t 3 可支持其他类型的应 用 州a n a cg a tg a t ( j ) ( t a ,w e b 服务, 计算密集型 g l o b u s ) 1 a v e m aj a v a l 4 w 曲s e r v i c e ,s o 叩l 曲, 网格服务 s o a p l 曲,本地代码( 如 j a v a ) , g r i d f l o w 基于a g e n t 的资源管理系 并行系统( 如m p i 、p v m )m p i 和p v m 统,性能分析蒋征环境 第1 2 页 国防科学技术大学研究生院学位论文 ( p a c e ) a s k a l o ng l o b l i st b o l k i tg t 2 ,g t 4 ,w s r f ,w 曲 性能导向的应用 服务 c g s p g l o b u st b o l k i tg t 3 ,w s r f ,w 曲服务 科学计算 表2 2 工作流定义的比较 名称数据结构工作流模型工作流的表达 q o s d a g m a n d a g 抽象模型基于语言的,用户定义的用户定义所需资 源级别的表达 p e g a s u s d a g 抽象模型用户自定义,基于语言: g l o u b u s 鑫动生成 r l s 瓢a n a 非d a g抽象模型用户皂定义,基于图形; t a v e m ad a g 抽象模型用户自定义,基于图形和基 具体模型,于语言; g r 破f l o wd a g 抽象模型 m p l 和p v l 应用执行时间 a s k a l o n非d a g抽象模型用户自定义,基于图形和基用户定义的约束 于语言;和预定义的约粜 c g s pd a g抽象模型用户自定义,蒸于语言用户定义对资源 的约柬 说明: 工作流的抽象模型是指:定义工作流时,工作流中任务使用的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论