Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University 2005.9.

Similar presentations


Presentation on theme: "A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University 2005.9."— Presentation transcript:

1 A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University 2005.9

2 Agenda Background SWFL Workflow Architecture SWFL Description Language SWFL Workflow Engine Multi-level Parallelisms in SWFL

3 Background: Service and Service Composition Service encapsulates various resources and make them available over the network via standard interface and protocol Web/grid services are emerging as important paradigms for distributed computing Service composition/workflow: complex application can created by simple services

4 Background: GSiB Current efforts such as BPEL mainly focus on business process Increased demands for scientific workflow, as parallel computing especially grid computing applications expands GSiB aims to a general workflow for both business and scientific areas, especially for the latter The convergence trend of grid services and web services make it feasible

5 GSiB Workflow Architecture VSCE Service Workflow Language SWFL Workflow Engine SWFL: an XML-based, graph-oriented service workflow description language Engine: Distributed enactment environment with multi-level parallelism support VSCE: Visual Service Composition Environment

6 SWFL: Basic Elements Types* FlowModel(name, isParallel, …) Message* (name, part* …) Variables* (name, type) Activity* Definition of all involved activities (normal/native services, assign, if, switch, for, while, do while and catchEnd activities) FlowModel* (name, isParallel …) ControlLink* (Source/Port, Target/Port) DataLink* (Source/Part, Target/Part)

7 SWFL: Graph-Oriented In GSiB, a workflow application can be described either as a validated XML (SWFL) documentation or a directed graph A node (activity in SWFL) could be either a standard service operation, an compound structure, or an on-machine program An edge (data/control link in SWFL) describes the data and control dependencies among involved activities

8 SWFL: An Example Data Source Activity A IF(a/b) Activity B Activity C Data Sink a>b …… … … …… …… … …… ……

9 SWFL vs. BPEL Both can be used to build workflows which involve peer-to-peer interactions between web services BPEL is mainly for business processes while SWFL is mainly for scientific areas BPEL uses a script-oriented approach, while SWFL follows a graph-oriented approach

10 SWFL: Why Graph-Oriented? Easy to use, especially using friendly VSCE: Like flow chart and UML model Flexible and dynamic in services schedule and execution –Completely decided by the engine –Making full use of dynamic runtime features, different strategies can be used for a flow –Straightforward support to multi-level parallelisms

11 VSCE: Make Complicated Things Easy Workflow Drawing Pane

12 VSCE: What is more… Friendly integrated visual tool for users to build, execute and control workflow –Make end users not have to know much about workflow Design (draw) a flow with fun: Drag- and-drop Configure and initiate the execution Retrieve results and track runtime status

13 A Grid Architecture Based on workflow Engines (1) <invoke name="registerAuctionResults" partnerLink="auctionRegistrationService" portType="as:auctionRegistrationPT" operation="process" inputVariable="auctionData"> <receive name="receiveAuctionRegistrationInformation" partnerLink="auctionRegistrationService" portType="as:auctionRegistrationAnswerPT" operation="answer" variable="auctionAnswerData"> Job Processor Workflow Engine Service Job Processor SWFL BPEL

14 A Grid Architecture Based on workflow Engines (2) Service Job Processor Workflow Engine Job Processor Workflow Engine Job Processor Workflow Engine Job Processor Service <invoke name="registerAuctionResults" partnerLink="auctionRegistrationService" portType="as:auctionRegistrationPT" operation="process" inputVariable="auctionData"> <receive name="receiveAuctionRegistrationInformation" partnerLink="auctionRegistrationService" portType="as:auctionRegistrationAnswerPT" operation="answer" variable="auctionAnswerData"> SWFL BPEL

15 GSiB Workflow Processing SWFL/MPFL Document Java Programs XML2Graph Graph2Java Enactment Environment ExecutionResult 1 2 3 Graph2XML

16 GSiB Instance: Graph Objects XML2Graph and Graph2Java tools Graph Objects –Two kinds: data graphs and control graphs –Straightforward format for VSCE –Schedule strategy is decided during runtime

17 Engine: Architecture Gateway Job Processor Storage Scheduler UDDI VSCE Engine

18 Engine: Components Gateway: a web service provides entry point to submit jobs and retrieval results and runtime status: three job formats Job Processor: computing resources composed of a pool of worker threads Scheduler: provides dynamic service execution strategy during runtime Storage: provides space as well as API for objects, results and status information

19 Engine: Multi-Level Parallelisms Service-level Flow-Level Message-Passing Parallelism in BPEL: explicitly described in the script

20 Service-Level Parallelism An activity is ready when all its input data are ready and all activities it has control dependencies are complete May exist several ready activities at the same time; Can be executed in parallel Greedy algorithm: execute an activity once it is ready; may waste storage and computing resource; not always optimum Question: how to schedule services?

21 Flow-Level Parallelism: An Example A BC DE F A B C D E F Partition Process 1 Process 2

22 Flow-Level Parallelism (2) Decentralized orchestration of services: divide a workflow into several sub-flows, to run by several job processors in parallel Two kinds: independent connected graphs; partition connected graph Parallelism achievements: quick response; high throughput; scalability Additional complexities: flow partition; coordination of distributed execution

23 Message-Passing Parallelism: Background and MPFL Parallelism in SWFL is suitable for applications with forms of parallelism that can be displayed in a workflow graph Most scientific applications exhibit more sophisticated parallelism like message passing, which is a normal thing MPFL: extends the SWFL flow model to support applications with message-passing

24 Message-Passing Parallelism: An Example A D B C Flow Model 1 for process 0 Flow Model 2 for processes with rank larger than 0 A D B C B C B C B C Process 0Process 1Process 2 Process 3 Process N-1 Workflow Application MPFL Model

25 Multi-layer heterogeneous communication domains are supported An instance is usually run on a cluster: parallelism just like a standard MPI program can be achieved Engine: accumulative extension of SWFL engine; still a work in progress Job Processor Workflow Engine Service Job Processor Cluster MPFL Message-Passing Parallelism

26 Conclusions Workflow framework in GSiB is grid-oriented, suitable for both business and scientific applications composed of web/grid services Graph-based SWFL provides much flexibilities for both end users and engine implementation VSCE provides visual tool to build and execute workflow applications SWFL engine provides an automatic and self- organizing enactment environment for the processing of workflow applications Better performance is achieved with the support of multi-level parallelism in SWFL engine


Download ppt "A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University 2005.9."

Similar presentations


Ads by Google