Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Workflow Management SystemThe Workflow Management System (WfMS) project is developed within the CoreGRID![]() | ||||||||
Line: 9 to 9 | ||||||||
Contacts
| ||||||||
Added: | ||||||||
> > | Main Web Sitehttp://wfms.forge.cnaf.infn.it![]() | |||||||
Papers
|
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Workflow Management SystemThe Workflow Management System (WfMS) project is developed within the CoreGRID![]() | ||||||||
Line: 11 to 11 | ||||||||
Papers
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
ConceptsPetri Nets in workflow modeling | ||||||||
Line: 162 to 163 | ||||||||
Workflow EngineThe engine, represent the core component of the WfMS. It is based on the HLPN formalism and has the responsability to schedule workflow tasks accoring to their interdependencies keeping the overall state of the workflow execution. The engine deals with the non-determinism in Petri Nets providing an unique design capable of guarantee state consistency and ideally inifinite parallelism in task execution. | ||||||||
Deleted: | ||||||||
< < | -- SimonePellegrini - 19 Dec 2007 | |||||||
| ||||||||
Added: | ||||||||
> > |
| |||||||
|
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Workflow Management SystemThe Workflow Management System (WfMS) project is developed within the CoreGRID![]() | ||||||||
Line: 7 to 7 | ||||||||
The fist prototype of the system have been tested with workflows accessing resources available on the Grid provided by the EGEE![]() ![]() ![]() | ||||||||
Added: | ||||||||
> > | Contacts
| |||||||
Papers
| ||||||||
Added: | ||||||||
> > |
| |||||||
Added: | ||||||||
> > | Concepts | |||||||
Petri Nets in workflow modelingRecent studies have demostrated that the modling capabilities of Petri Nets outperforms other formalisms tanks to the following properties:
| ||||||||
Line: 148 to 153 | ||||||||
Changed: | ||||||||
< < | The swOperation allows to invoke sub-workflows, which implements the particular operation. In this case, the JobExecute workflow describe (using the Petri Nets formalism) the operation to perform in order to execute a task in the gLite Grid middleware. The sequence of operation is depicted in the following figure: | |||||||
> > | The swOperation allows to invoke sub-workflows. A sub-workflow implements a particular operation on a specific infrastucure. In this case, the JobExecute workflow describes (using the Petri Nets formalism) the operation to perform in order to execute a task in the gLite Grid middleware. The sequence of operation is depicted in the following figure: | |||||||
![]() | ||||||||
Changed: | ||||||||
< < | and the wait_for_termination transition also invoke a sub-workflow which can be expressed (using a polling strategy) in the following figure:
![]() | |||||||
> > | The JobRegister , JobSubmit operations are provided by the WMS via its Web Service interface, this make it possible to express the JobExecute sub-workflow in terms of atomic operations (actually Web Service invocation) the engine can understand and execute. The execution of a job in the gLite middleware consists in a jobSubmit (which semantics can be also obtained by invoking -- in sequence -- jobRegister and a jobStart ) and the monitor of the job activity until done. Job monitoring can be done via the WMS using the Logging and Bookkeeping Service![]() wait_for_termination task can be modelled using a sub-workflow which implement a specific monitoring strategy (polling or notification-based). | |||||||
Workflow Engine | ||||||||
Changed: | ||||||||
< < | The main component of the WfMS is the workflow engine. It is based on an semplification of the HLPN formalism. | |||||||
> > | The engine, represent the core component of the WfMS. It is based on the HLPN formalism and has the responsability to schedule workflow tasks accoring to their interdependencies keeping the overall state of the workflow execution. The engine deals with the non-determinism in Petri Nets providing an unique design capable of guarantee state consistency and ideally inifinite parallelism in task execution. | |||||||
-- SimonePellegrini - 19 Dec 2007 |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Workflow Management SystemThe Workflow Management System (WfMS) project is developed within the CoreGRID![]() | ||||||||
Line: 154 to 154 | ||||||||
and the wait_for_termination transition also invoke a sub-workflow which can be expressed (using a polling strategy) in the following figure: | ||||||||
Changed: | ||||||||
< < | ![]() | |||||||
> > | ![]() | |||||||
Added: | ||||||||
> > | Workflow EngineThe main component of the WfMS is the workflow engine. It is based on an semplification of the HLPN formalism. | |||||||
-- SimonePellegrini - 19 Dec 2007 | ||||||||
Line: 160 to 161 | ||||||||
-- SimonePellegrini - 19 Dec 2007 | ||||||||
Deleted: | ||||||||
< < | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
|
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Workflow Management SystemThe Workflow Management System (WfMS) project is developed within the CoreGRID![]() | ||||||||
Line: 105 to 105 | ||||||||
<workflow> <place ID="p1"> | ||||||||
Changed: | ||||||||
< < | | |||||||
> > | | |||||||
Changed: | ||||||||
< < | | |||||||
> > | | |||||||
| ||||||||
Changed: | ||||||||
< < | | |||||||
> > | | |||||||
| ||||||||
Added: | ||||||||
> > | If we are going to address the gLite middleware the workflow can be converted into the following concrete representation:
<workflow> <place ID="p1"> <token><data><file xsd:type="xsd:string">file://home/data.dat</file></data></token> </place> <place ID="p1_jdl"> <token><data> <jdl xsd:type="xsd:string"> Type = "Job"; JobType = "Normal"; Executable = "/bin/cat"; Arguments = "data.dat"; StdOutput = "dump.txt"; InputSandbox = {"data.dat"}; OutputSandbox = {"dump.txt"}; Rank = -other.GlueCEStateEstimatedResponseTime; Requirements = (other.GlueCEInfoHostName == "ce06-lcg.cr.cnaf.infn.it"); </jdl></data></token> </place> <place ID="p2" /> <transition ID="cat"> <inputPlace placeID="p1" edgeExpression="in"/> <inputPlace placeID="p1_jdl" edgeExpression="jdl"/> <outputPlace placeID="q0" edgeExpression="out"/> <operation> <swOperation name="JobExecute" /> </operation> </transition> </workflow>The swOperation allows to invoke sub-workflows, which implements the particular operation. In this case, the JobExecute workflow describe (using the Petri Nets formalism) the operation to perform in order to execute a task in the gLite Grid middleware. The sequence of operation is depicted in the following figure:
![]() ![]() | |||||||
-- SimonePellegrini - 19 Dec 2007 | ||||||||
Line: 120 to 160 | ||||||||
-- SimonePellegrini - 19 Dec 2007 | ||||||||
Added: | ||||||||
> > | ||||||||
| ||||||||
Added: | ||||||||
> > |
| |||||||
| ||||||||
Added: | ||||||||
> > |
| |||||||
|
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Workflow Management SystemThe Workflow Management System (WfMS) project is developed within the CoreGRID![]() ![]() | ||||||||
Changed: | ||||||||
< < | The fist prototype of the system have been tested with workflows accessing resources available on the Grid provided by the EGEE![]() ![]() ![]() | |||||||
> > | The fist prototype of the system have been tested with workflows accessing resources available on the Grid provided by the EGEE![]() ![]() ![]() | |||||||
Papers
| ||||||||
Line: 49 to 49 | ||||||||
In the workflow there are no information about the operation associated to the Petri Net transiion T. More detailed information are provided by the concrete part of the description. A concrete operation could be the invocation of a Web Service, or the remote execution of a program or the invocation of a local routine. | ||||||||
Changed: | ||||||||
< < | The enactment process, performed by the WfMS, is responsable of mapping abstract operations -- associated to a Petri Net transisions -- to concrete operations. For example the plus operation represented in the above workflow can be mapped to a Web Service invocation as described in the following concrete workflow: | |||||||
> > | The enactment process, performed by the WfMS, is responsable of mapping abstract operations -- associated to a Petri Net transisions -- to concrete operations. For example the plus operation represented in the above workflow can be mapped to a Web Service invocation as described in the following concrete workflow: | |||||||
<workflow> <place ID="p1"> | ||||||||
Line: 95 to 95 | ||||||||
The WfMS and the EGEE/gLite Grid Middleware | ||||||||
Changed: | ||||||||
< < | The first prototype of the WfMS has been tested with workflows accessing the resources provided by the EGEE/gLite middleware. The gLite middleware takes care of finding the best available resources considering a set of users requirements and preferences (such as CPU architecture, OS, current load) disburdening the WfMS from the resources management. In the following picture an high-level view of the system is provided: | |||||||
> > | The first prototype of the WfMS has been tested with workflows accessing the resources provided by the EGEE/gLite middleware. The gLite middleware takes care of finding the best available resources considering a set of users requirements and preferences (such as CPU architecture, OS, current load) disburdening the WfMS from the resources management. In the following picture an high-level view of the system is provided: | |||||||
![]() | ||||||||
Added: | ||||||||
> > | The core component of the system is the workflow engine which execute concrete workflows written in GWorkflowDL. The engine simply schedules the activities accoriding to Petri Nets model and demand their execution to the WMS. However, the engine, by design, has no knowledge about the underying middleware and Grid operations, such as job submission, monitoring, etc... muse be expressed in terms of atomic operations the engine can execute. For example the submission of a job to the gLite middlware requires several web services to be invoked in sequence; sequence which can be easily represented using a workflow. As a conseguence, providing to the engine few atomic functionalities, such as web service interaction and local method execution make it possible to execute complex scientific processes simply by composing atomic operations as depicted below.
Consider the following abstract workflow, it consists in the remote execution of the command: /bin/cat data.dat.
<workflow> <place ID="p1"> <token><data><t1 xsd:type="ref:file">file://home/data.dat</t1></data></token> </place> <place ID="q0" /> <transition ID="cat"> <inputPlace placeID="p1" edgeExpression="a1"/> <outputPlace placeID="q0" edgeExpression="b"/> <operation/> </transition> </workflow> | |||||||
Deleted: | ||||||||
< < | -- SimonePellegrini - 19 Dec 2007 | |||||||
Added: | ||||||||
> > | -- SimonePellegrini - 19 Dec 2007 | |||||||
|
Line: 1 to 1 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Added: | |||||||||||
> > |
Workflow Management SystemThe Workflow Management System (WfMS) project is developed within the CoreGRID![]() ![]() ![]() ![]() ![]() Papers
Petri Nets in workflow modelingRecent studies have demostrated that the modling capabilities of Petri Nets outperforms other formalisms tanks to the following properties:
The Grid Workflow Descpription LanguageThe GWorkflowDL consists of two parts:
![]() <workflow> <place ID="p1"> <token><data><t1 xsd:type="xs:int">3</t1></data></token> </place> <place ID="p2"> <token><data><t2 xsd:type="xs:int">2</t2></data></token> </place> <place ID="q0" /> <transition ID="sum"> <inputPlace placeID="p1" edgeExpression="a1"/> <inputPlace placeID="p2" edgeExpression="a2"/> <outputPlace placeID="q0" edgeExpression="b"/> <operation /> <!-- generic operation --> </transition> </workflow>In the workflow there are no information about the operation associated to the Petri Net transiion T. More detailed information are provided by the concrete part of the description. A concrete operation could be the invocation of a Web Service, or the remote execution of a program or the invocation of a local routine. The enactment process, performed by the WfMS, is responsable of mapping abstract operations -- associated to a Petri Net transisions -- to concrete operations. For example the plus operation represented in the above workflow can be mapped to a Web Service invocation as described in the following concrete workflow: <workflow> <place ID="p1"> <token><data><t1 xsd:type="xs:int">3</t1></data></token> </place> <place ID="p2"> <token><data><t2 xsd:type="xs:int">2</t2></data></token> </place> <place ID="q0" /> <transition ID="sum"> <inputPlace placeID="p1" edgeExpression="a1"/> <inputPlace placeID="p2" edgeExpression="a2"/> <outputPlace placeID="q0" edgeExpression="b"/> <operation> <wsOperation wsdl="http://localhost/plus?wsdl" operationName="plus"> <in>n1</in> <in>n2</in> <out>q1</out> </wsOperation> </operation> </transition> </workflow>Or, for example, mapped to the local method invocation as depicted in the following concrete workflow: <workflow> <place ID="p1"> <token><data><t1 xsd:type="xs:int">3</t1></data></token> </place> <place ID="p2"> <token><data><t2 xsd:type="xs:int">2</t2></data></token> </place> <place ID="q0" /> <transition ID="sum"> <inputPlace placeID="p1" edgeExpression="a1"/> <inputPlace placeID="p2" edgeExpression="a2"/> <outputPlace placeID="q0" edgeExpression="b"/> <operation> <pyOperation operation="b = a1 + a2" /> </operation> </transition> </workflow> The WfMS and the EGEE/gLite Grid MiddlewareThe first prototype of the WfMS has been tested with workflows accessing the resources provided by the EGEE/gLite middleware. The gLite middleware takes care of finding the best available resources considering a set of users requirements and preferences (such as CPU architecture, OS, current load) disburdening the WfMS from the resources management. In the following picture an high-level view of the system is provided:![]()
|