31
Workflow Specification in the Fraunhofer Resource Grid

Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Embed Size (px)

Citation preview

Page 1: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Workflow Specification in the Fraunhofer Resource Grid

Page 2: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Workflow Specification in the Fraunhofer Resource Grid

Global Grid Forum 10 – Berlin, Germany

Workflow Management RG

Andreas Hoheisel

([email protected])

Franz-Josef Pfreundt

([email protected])

Page 3: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 3

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

Outline

Fraunhofer Resource Grid

Grid Application Definition Language

GResourceDL

GJobDL

Petri Nets

Workflow Enactment

Grid Job Handler

Our Contributions

Page 4: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 4

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

Fraunhofer Resource Grid (FhRG)

Fraunhofer-Gesellschaft 58 Fraunhofer Institutes, focus: applied research

> 40 different locations in Germany

staff ≈ 12,700

Fraunhofer Resource Grid 5 Fraunhofer Institutes

Development and implementation of a computing Grid

Focus: Computational science and engineering applications

Open Source Software:

http://www.eXeGrid.net/

Page 5: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 5

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

Web Service

Grid Job Handlerm

Grid Job Buildern

Java Application

Task Mapping1

Web Portal

GJobDL (SOAP)

Usern

Globus 2.4

Run SimpleGlobus Job

RSL (GRAM), GridFTP

Web Services

GResourceDLRepository

l

<hardware><software>

<data><user>

(Meta) Scheduler1

MDS, LDAP

GResourceDL

GResourceDL

(SOAP)

Run Grid Job

Assemble/ Run Grid Job

GResourceDL (SOAP)

Solve Problem

Page 6: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 6

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

How to define a Grid application?

Grid Application Definition Language (GADL)

should enable us:

• to describe complex workflows

• to hide hardware resources

• to execute workflows on the Grid

• to monitor the job status

• to integrate it as Grid service

Page 7: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 7

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

Grid Application Definition Language (GADL)

GADL Set of XML-based description languages needed to

define and to execute Grid applications

The GADL consists of:

GResourceDL Description of resources

GJobDL Description of Grid jobs

→ Set of resources + workflow

GInterfaceDL Interface definition of software components

GDataDL Description of data

Page 8: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 8

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

GResourceDL example that depends on other resources

<?xml version="1.0" encoding="ISO-8859-1" ?><!DOCTYPE fhrgResources (View Source for full doctype...)><fhrgResources><resource id="sleep" type="software">...<dependencies type="depends"><resourceRef id="linux" type="softwareClass" /><resourceRef id="glibc-2-3" type="softwareClass" /><resourceRef id="x86" type="hardwareClass" />

</dependencies>...

</fhrgResources>

depends, conflicts, provides, suggests

Page 9: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 9

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

GResourceDL example that provides other resources

<?xml version="1.0" encoding="ISO-8859-1" ?><!DOCTYPE fhrgResources (View Source for full doctype...)><fhrgResources>...<resource id="harlekin.first.fraunhofer.de" type="hardware"><dependencies type="provides"><resourceRef id="x86" type="hardwareClass" /><resourceRef id="network-ethernet-100" type="hardwareClass" /><resourceRef id="linux-kernel-2-4-18" type="softwareClass" /><resourceRef id="glibc-2-3" type="softwareClass" />

</dependencies><authorization><userGroup id="all" read="true" write="false" /><userGroup id="first" read="true" write="true" execute="true" />

</authorization></resource>

</fhrgResources>

Page 10: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 10

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

What is a Grid Job?

Grid job Composition of Grid resources forming Grid applications

with specific workflow

Grid resource Software, hardware, data, (people)

Atomic job Single task, indivisible component of a Grid job

Now: Execution of a software component

Future: Invocation of a Web Service method call

GJobDL Description of Grid jobs on an abstract level

Independent from Grid infrastructure

Connecting software components and data

Based on Petri Nets

XML

Page 11: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 11

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

Why Petri Nets?

Page 12: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 12

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

Why Petri Nets?

Problem Description of complex workflows of grid jobs

DAG Directed Acyclic Graph

loops not explicitly defined by graph

Petri Nets Directed graph, can be made Turing complete

A

B C

D

Page 13: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 13

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

Petri Nets

Places Files, buffers, control places

Transitions Software components, control transitions

Arcs from places to transitions (Place is input place of transition)

Arcs from transitions to places (Place is output place of transition)

Tokens Data, State (done, failed)

Rule A transition is activated if all input places are filled with

tokens and all output places have not reached their

maximum capacity of tokens

Refinement A single part of a Petri Net can be replaced by a sub

Petri Net

Description of state A Petri Net describes workflow and state of a system

Page 14: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 14

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

Transitions of type “MethodCall“

data.tar.gz data<transition id = "unpack_data">

<methodCall>unpack()</methodCall></transition>

• unpack()

• transferData()

• transferExecutable(String softwareTransitionId)

• transferData(String softwareTransitionId)

• clear()

unpack()

Page 15: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 15

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

Transitions of type “Condition“

<transition id = "A_done"><condition>isDone()</condition>

</transition>

• isDone()

• isFailed()

• countLT(int maxCount)

• negate(String transitionID)

• timeGE(long msSince1970)

• idleTimeGE(long milliseconds)

Page 16: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 16

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

Parameter Studyn = total number of runs (e.g. 10,000)p = number of parallel runs (e.g. 128)

all submittedend

if count<n

Token generator

begin

else

Pre all

Pre Calc Post

Pre Calc Post

Pre Calc Post

Pre Calc Post

p parallel runs

Post allelse

if count<n-1

Token consumer

Page 17: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 17

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

Description of Petri Nets in XML

PNML Petri Net Markup Language

(modified from Jüngel, Kindler, Weber; HU-Berlin)

<place id="start"><initialMarking><value type="boolean" op="eq">true</value>

</initialMarking></place><place id="output"/><transition id="program"/><arc type="P2T" id="arc1"><placeRef id="start" /><transitionRef id="program" />

</arc><arc type="T2P" id="arc2"><transitionRef id="program"/><placeRef id="output" />

</arc>

start output

program

Page 18: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 18

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

Workflow Enactment

Page 19: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 19

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

Page 20: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 20

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

Application flow of Grid Job Handler

• Read the GJobDL document

• Create Petri Net from this job description

• Verify the Petri Net (well-formedness, liveliness, deadlocks, pits, ...)

• Start the Grid Job (own thread)

• Collect all activated transitions

• Evaluate conditions

• Invoke resource mapping repository, (meta-)scheduler

• Refine the Petri Net

insert GridFTPs, fault management, etc. if necessary

• Create and submit atomic jobs using grid middleware (e.g. GRAM)

• The transition fires, if atomic job is “done“ or has “failed“.

Page 21: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 21

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

Grid Job Handler

stdout

stderr

input 1

input 2output 1

start exit status

stdin stdout

stderr

input 1

input 2output 1

start exit status

d25.dat

d25-26.dat

d25-27.dat

cat.sh

failedbegin

donefailed

endstdin

cat.sh done

d26.dat

d27.dat

Page 22: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 22

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

Collect all enabled transitions …

stdout

stderr

input 1

input 2output 1

start exit status

stdin stdout

stderr

input 1

input 2output 1

start exit status

d25.dat

d25-26.dat

d25-27.dat

cat.sh

failedbegin

donefailed

endstdin

cat.sh done

d26.dat

d27.dat

Page 23: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 23

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

Lock input and output places

stdout

stderr

input 1

input 2output 1

start exit status

stdin stdout

stderr

input 1

input 2output 1

start exit status

d25.dat

d25-26.dat

d25-27.dat

cat.sh

failedbegin

donefailed

endstdin

cat.sh done

d26.dat

d27.dat

Page 24: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 24

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

Resource mapping

stdout

stderr

input 1

input 2output 1

start exit status

stdin stdout

stderr

input 1

input 2output 1

start exit status

d25.dat

d25-26.dat

d25-27.dat

cat.sh

Resource Manager

Contact =

harlekin.first.gmd.de:

failedbegin

donefailed

harlekin.first.gmd.de:/tmp/d25-d26.dat endstdin

cat.sh done

d26.dat

harlekin.first.gmd.de:/tmp/d25.dat

d27.dat

p1.itwm.uni-kl.de:/data/d26.dat

Page 25: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 25

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

Refine the Petri Net insert GridFTP

stdin stdout

stderr

input 1

input 2output 1

start exit status

d25.dat

d25-26.dat

cat.sh

harlekin:d26.dat

d26.dat

cat.sh

GridFTP

Resource Manager

Contact =

harlekin.first.gmd.de:

begin

p1.itwm.uni-kl.de:/data/d26.dat

Page 26: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 26

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

... The transition fires

stdout

stderr

input 1

input 2output 1

start exit status

stdin stdout

stderr

input 1

input 2output 1

start exit status

d25.dat

d25-26.dat

d25-27.dat

donecat.sh

failedbegin

failed

endstdin

cat.sh done

d26.dat

d27.dat

Page 27: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 27

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

Collect all enabled transitions …

stdout

stderr

input 1

input 2output 1

start exit status

stdin stdout

stderr

input 1

input 2output 1

start exit status

d25.dat

d25-26.dat

d25-27.dat

cat.sh

stdin

failed

d26.dat

begin

d27.dat

end

done

failed

done

cat.sh

Conflict evaluate

conditions isFailed()

and isDone()

Page 28: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 28

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

Page 29: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 29

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

Our Contribution

Page 30: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 30

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

Our Contribution

GResourceDL Grid Resource Definition Language to describe arbitrary

dependencies (software, hardware)

GJobDL Grid Job Definition Language based on Petri Nets

Implementation Working implementation of workflow enactment Web

Service available as Open Source

http://www.eXeGrid.net/

Page 31: Workflow Specification in the Fraunhofer Resource Grid · Workflow Specification in the Fraunhofer Resource Grid Global Grid Forum 10 – Berlin, Germany Workflow Management RG Andreas

Page 31

Ho

heis

el_

2004_G

GF10-W

ork

flo

w-R

G

More Information: http://www.fhrg.fhg.de/http://www.eXeGrid.net/http://www.andreas-hoheisel.de/[email protected]