原文地址:http://www.chinagrid.net/dvbbs/dispbbs.asp?boardID=8&ID=3211
日期:2004年7月
2 网格工作流介绍
2.1 网格工作流的概念
根据WFMC的定义,工作流是一类能够完全或部分自动执行的业务过程,根据一系列过程规则,文档、信息或任务在不同的执行者之间传递和执行。网格工作流是一个网格服务自动化处理的过程,它根据一系列的过程规则,能够完全或部分地把运行在网格环境下的各种互相作用的网格服务有机地结合在一起,其间的文档、信息或数据在不同的网格服务之间传递和执行。此外,网格工作流是一个运行在网格环境中的基本活动单元,并能够集成其它的网格工作流元素,建立更高级的网格服务。网格工作流可以分为抽象的工作流和具体的工作流。
2.2 网格工作流的特点
网格的工作流技术具有在异构环境中处理复杂事务的能力。网格工作流除了具备可视化设计,支持各种复杂流程,执行过程可监控、管理等特点外,最重要的特点是:
1) 分布性
在网格计算环境下,各种资源是广域地分布在不同的虚拟组织中的,而且是动态创建和删除的。在抽象的工作流映射到网格环境下具体资源的过程中,工作流可分布在提供计算能力的不同机构中执行。
2) 动态性
由于运行环境和资源的变化,工作流可动态地增加其它任务以成功地完成整个执行过程。例如:当需要传输远程的数据时,GridFTP任务可自动地引用到工作流程中。
3) 服务交互性
OGSA通过引用通知机制,以协调为主的网格工作流引擎使得网格服务之间可进行数据交换和通信。网格工作流的这种规定提高了工作流执行的效率和灵活性。
图1.网格服务工作流模型
3 网格工作流的基本过程与体系结构
3.1执行的基本过程
1)应用级:终端用户提交所需要的数据产品或服务,工作流系统利用合适的网格工作流描述语言把服务请求转换成应用级的元数据。
2)抽象工作流级:工作流系统根据组件的功能及其对应数据文件的内容,选择和构建可以产生所需求数据产品的组件,然后规定组件执行的次序,最后形成抽象工作流。抽象工作流引用的是文件和组件的逻辑名称,而不是物理数据文件。
3)具体工作流级:工作流系统根据抽象工作流,在网格环境中选择特定的资源、文件和额外的作业形成具体的工作流。根据组件规定的物理文件的位置、数据和资源,抽象工作流里的每个组件都转变成可执行的作业。
4)服务级:在网格的执行环境里,一系列的具体工作流被执行后集成终端用户所需的数据产品或服务。
3.2多层体系结构
网格工作流系统的体系结构建立在OGSA的基础上,是一个多层的体系结构[5]。最上层是用户界面,用于处理终端用户和应用程序的交互。工作流层实现工作流的产生、执行和管理,包括抽象工作流到具体工作流的映射,工作流的规划与调度,工作流的监控、错误处理和优化等。网格中间件层由Globus Toolkit[1]实现。Globus在网格计算逻辑结构中的组成部分包括:网格安全基础设施、Globus资源分配管理GRAM、元计算目录服务、Globus 监控和发现服务MDS,GridFTP服务,Globus复制定位服务RLS[2]。在工作流的映射过程中,可利用MDS和RLS发现网格环境中的资源及其特征,通过GRAM则可对工作流的作业和相关的资源进行调度。而GridFTP可提供高性能的数据传输服务。最底层是网格资源层,Globus通过相关的协议访问广域分布的计算资源、存储资源、网络、数据库、仪器设备等。
4网格工作流研究的关键问题
4.1 网格工作流描述语言
网格的工作流具有广域分布性、动态性和服务交互性,而且不同的虚拟组织是异构的,网格服务又是动态且有生命期,具有不同层次的抽象性和复杂性,因此,设计一种能够满足这些需求的网格工作流描述语言十分重要。定义工作流的规范必须能够描述网格服务的创建、交互与删除,服务实例的生命期,错误处理,工作流的控制以及网格服务的集成等。
XML是一种用来描述数据的语言,提供了独立的运行程序的方法来共享数据,解决了数据的统一接口问题。Globus用XML来描述各种信息。因此,基于XML的网格工作流描述语言具有很多优点。
4.2工作流的优化处理
工作流优化的目是减少工作流的运行时间,使工作流执行的成功率最高,根据用户的需求最少使用昂贵的资源。工作流的优化处理主要解决以下的问题:
1) 动态和自动优化技术:网格是一个动态变化的环境,工作流规划系统必须动态地选择合适的优化策略和规则,实现工作流的动态优化和自动优化。
2)优化策略: 网格的工作流复杂且具有分布性,必须针对不同级别的工作流采用不同级别的优化策略。
根据访问资源的范围,可有效地使用本地优化和全局优化方法,或者两者结合使用。在工作流的映射中,可使用Globus提供的RLS和元数据目录服务,减少工作流的复杂性。
3)优化算法:灵活的优化算法可以根据动态变化的因素,动态地选择合适的工作流优化规则和策略。
4.3工作流的规划与调度
工作流的规划负责把复杂抽象的网格工作流映射到网格环境中具体的资源,以集成特定的服务。而规划过程中对工作流的调度,可以提高工作流规划的效率。工作流的规划是网格服务集成中一个重要且复杂的过程,研究的重点是如何运用人工智能规划与在不确定的环境下规划技术,临时推理与调度技术,容错与优化等技术提高规划的性能、灵活性和可*性。
4.4 工作流的动态性和自动性
目前的网格工作流管理系统,用户要人为地组合细节性的工作流描述,发现资源和直接在网格上进行作业调度,这给网格资源的使用带来很大的不便[6];在工作流的产生和映射过程中,缺乏自动纠错和动态优化机制。提供自动产生和管理网格工作流,自动修复工作流执行中的错误,动态优化工作流的机制是网格工作流需要解决的问题。
4.5工作流的监测和错误处理
高度分布且异构系统中的出错很平常,网格环境又存在大量动态、不确定的因素,提高工作流中的容错能力,提供工作流的监测和出错后的恢复机制,可以加强工作流系统的健壮性和可*性。
4.6 工作流的执行与管理
网格工作流的执行着重每个作业之间的控制。网格工作流的管理主要功能是:1)预见已规定的工作流的部署和执行情况;2)协调工作流之间的关系;3)应用合适的规则保证工作流能及时执行。管理的内容包括工作流的创建、模拟、调度、执行、监控、出错的处理与恢复等[7]。
4.7用户的使用环境和工作流集成开发环境
提供一个可视化的使用环境可以方便用户使用和管理网格的工作流。
5 国外研究的现状
网格工作流是网格计算环境中一个重要的组成部分,但同时也是一个新的相对不成熟的研究领域。目前,网格的工作流主要应用在科学研究领域。
现有网格项目的研究重点是开发一种高级的抽象方法,使得复杂的工作流与来自底层组件和服务的集成变得更加容易。GriPhyN[4]是美国国家科学研究基金会支持的网格项目,包括GriPhyN 虚拟数据工具包,Chimera 虚拟数据系统,Pegasus 规划系统 和 Condor 工作流执行系统。GriPhyN虚拟数据工具包主要研究动态应用程序构架技术,并开发了虚拟数据目录、规划系统和执行环境来共同构造一种虚拟数据的概念;Chimera利用虚拟数据工具包提供的虚拟数据服务产生抽象的工作流,并提交给Pegasus 规划系统来完成复杂抽象的工作流到网格环境中具体资源的映射。Condor 系统负责管理和执行相关的工作流。
MyGrid[5]是英国 E-Science 支持的网格项目,结合WSFL产生一种新的基于XML的工作流描述语言 Scufl (Simple Conceptual Unified Flow Language) 和一个引用工作流的工作台应用程序。工作台可以编辑由Scufl定义的工作流,并翻译成虚拟的知识表示,使得工作流可以浏览并在Freefluo执行系统中执行。
JISGA是英国的一个研究网格工作流的项目,它定义了一种基于XML的工作流描述语L (Service Workflow Language)L规定了适合OGSA环境下的网格应用程序的工作流模型。JISGA使用工作流引擎为那些L描述的网格应用程序的集成提供一个执行环境。它通过动态产生和执行作业,为用户自动处理作业,并允许顺序和并行处理作业。
此外,还有Globus项目开发的GridAnt[3]网格工作流管理系统,利用网格工作流协议和描述语言为网格工作流管理系统构建Peer-to-Peer基础设施的SDSC Matrix项目等。
6结论
网格计算是目前网络计算、分布式计算和高性能计算技术研究的热点,而网格工作流属于网格的一个新的研究领域,相关的技术尚待进一步的发展与完善。目前,网格工作流的实现是基于OGSA机制和OGSI(Open Grid Service Infrastruction)规范的,OGSI定义了一系列的规范和使用WSDL和XML模式来支持有状态的Web 服务。随着Web 服务体系结构的不断发展,2004年初,一种新的协议WSRF将取代OGSI,网格与Web 服务彻底融和在一起,这使得网格计算技术从科学计算领域转入到商务应用领域。因此,网格的工作流不再局限于科学研究领域,会在商业领域得到广泛的应用。