User Tools and Languages for Graph-based Grid Workflows User Tools - - PowerPoint PPT Presentation

user tools and languages for graph based grid workflows
SMART_READER_LITE
LIVE PREVIEW

User Tools and Languages for Graph-based Grid Workflows User Tools - - PowerPoint PPT Presentation

User Tools and Languages for Graph-based Grid Workflows User Tools and Languages for Graph-based Grid Workflows Global Grid Forum 10 Berlin, Germany Grid Workflow Workshop Andreas Hoheisel (andreas.hoheisel@first.fraunhofer.de) Fraunhofer


slide-1
SLIDE 1

User Tools and Languages for Graph-based Grid Workflows

slide-2
SLIDE 2

User Tools and Languages for Graph-based Grid Workflows

Global Grid Forum 10 – Berlin, Germany Grid Workflow Workshop

Andreas Hoheisel (andreas.hoheisel@first.fraunhofer.de) Fraunhofer Institute for Computer Architecture and Software Technology – Berlin, Germany

slide-3
SLIDE 3

Page 3

Hoheisel_2004_GGF10-Workflow-workshop

Outline Fraunhofer Resource Grid Grid Job Orchestration

Petri nets Grid Job Builder

Workflow Enactment

Dynamic Workflow Refinement Fault management Parameter Studies Grid Job Handler

Conclusions and future work

slide-4
SLIDE 4

Page 4

Hoheisel_2004_GGF10-Workflow-workshop

Fraunhofer Resource Grid (FhRG)

Ob Objectives jectives Development and implementation of a stable and robust Grid infrastructure Software layer on top of Globus to enable fast realizations of distributed applications (computational science & engineering) Integration of available resources

Open Source Software: http://www.eXeGrid.net/

slide-5
SLIDE 5

Page 5

Hoheisel_2004_GGF10-Workflow-workshop

Web Service Grid Job Handler

m

Grid Job Builder

n

Java Application Task Mapping

1

Web Portal

GJobDL (SOAP)

User

n

Globus 2.4

Run Simple Globus Job RSL (GRAM), GridFTP

Web Services GResourceDL Repository

l

<hardware> <software> <data> <user> (Meta) Scheduler

1 MDS, LDAP GResourceDL GResourceDL (SOAP) Run Grid Job Assemble/ Run Grid Job GResourceDL (SOAP) Solve Problem

slide-6
SLIDE 6

Page 6

Hoheisel_2004_GGF10-Workflow-workshop
slide-7
SLIDE 7

Page 7

Hoheisel_2004_GGF10-Workflow-workshop

Grid Job Orchestration

slide-8
SLIDE 8

Page 8

Hoheisel_2004_GGF10-Workflow-workshop

What is a Grid Job?

Grid job id job Composition of Grid resources forming grid applications Grid resource id resource Software, hardware, data, (people) Atomic job

  • mic job

Single task, indivisible component of a Grid job Execution of a software component with input data Future: Invocation of a WebService method call Componen Component Model Model Loosely coupled software components Executables that read input files and write output files Communication via files and GridFTP GJ GJobDL DL Description of Grid jobs on an abstract level Independent from Grid infrastructure Connecting software components and data Based on Petri Nets XML

slide-9
SLIDE 9

Page 9

Hoheisel_2004_GGF10-Workflow-workshop

Different Grid Workflow Approaches

Inherent model Inherent model Workflow is defined inside the software components (e.g. MPI, CORBA, Cactus) Externa External mo mode del Workflow is defined on top of software components Complete view of workflow (e.g. scripts or graphs) Scripts Scripts GridAnt, JPython (XCAT) Combined scripts + graphs Combined scripts + graphs WSFL, XLANG, BPEL4WS, UNICORE, GSFL Gra Graphs hs DAG: Condor DAGman, Symphony Petri net: GJobDL (Fraunhofer Resource Grid)

slide-10
SLIDE 10

Page 10

Hoheisel_2004_GGF10-Workflow-workshop

ERAMAS – Pollutant Transport in the Atmosphere:

Accident → Source → Atmospheric Transport → Exposure

Input data Risk assessment end Input data Visualization Ouput data Risk assessment start Accident-specific data (Location, Pollutant,...) Output data evaporation Input data evaporation Input data Lagrange Output data dw m Output data Lagrange Input data dw m Preprocessing Visualization (GIS -> html) Risk Assessment Model User Interface Monte Carlo Evaporation Model Lagrange Model Diagnostic Windfield Model

slide-11
SLIDE 11

Page 11

Hoheisel_2004_GGF10-Workflow-workshop

Why Petri Nets?

Prob Problem lem Description of complex workflows of grid jobs DAG DAG Directed Acyclic Graph (see Condor, Cactus, UNICORE) no loops PARENT A CHILD B C PARENT B C CHILD D Petri Petri Ne Nets ts Graphical flow control of discrete systems Directed graph, can be made Turing complete

A B C D

slide-12
SLIDE 12

Page 12

Hoheisel_2004_GGF10-Workflow-workshop

Petri Nets

Places Places Files, buffers, control places Transitions Transitions Software components, control transitions Arcs from places to transitions cs from places to transitions (Place is input place of transition) Arcs from transitions to cs from transitions to places places (Place is output place of transition) Tokens Tokens Data, State (done, failed) Rule 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 Ref Refinement nement A single part of a Petri Net can be replaced by a sub Petri Net Description of state scription of state A Petri Net describes workflow and state of a system

slide-13
SLIDE 13

Page 13

Hoheisel_2004_GGF10-Workflow-workshop

Petri Nets

(from van der Aalst und Kumar, 2000)

Task Sequence Choice

slide-14
SLIDE 14

Page 14

Hoheisel_2004_GGF10-Workflow-workshop

Petri Nets

Condition

slide-15
SLIDE 15

Page 15

Hoheisel_2004_GGF10-Workflow-workshop

Petri Nets

Parallel execution with synchronization

slide-16
SLIDE 16

Page 16

Hoheisel_2004_GGF10-Workflow-workshop

Petri Nets

Parallel execution without synchronization

slide-17
SLIDE 17

Page 17

Hoheisel_2004_GGF10-Workflow-workshop

Petri Nets

Wait all with time out

slide-18
SLIDE 18

Page 18

Hoheisel_2004_GGF10-Workflow-workshop

Petri Nets

Wait any with time out

slide-19
SLIDE 19

Page 19

Hoheisel_2004_GGF10-Workflow-workshop

Petri Nets

While … do

slide-20
SLIDE 20

Page 20

Hoheisel_2004_GGF10-Workflow-workshop

Grid Job Builder ///

slide-21
SLIDE 21

Page 21

Hoheisel_2004_GGF10-Workflow-workshop

Workflow Enactment

slide-22
SLIDE 22

Page 22

Hoheisel_2004_GGF10-Workflow-workshop

Dynamic Workflows

Ref Refinement nement The Grid Job Handler supplements the workflow during runtime by introducing additional tasks File File tran transfer sfer A GridFTP task may be introduced automatically to transfer files that are not available on the remote computer Software dep Software deploy

  • yment

ment A software deployment task may be introduced to install software components on a remote computer A A B deployment task A transfer transfer A.tar.gz A.tar.gz unpack unpack A.tar.gz A.tar.gz B A GridFTP idFTP transfer task

slide-23
SLIDE 23

Page 23

Hoheisel_2004_GGF10-Workflow-workshop

Implicit Fault Management

Grid middlewa id middleware Fault management that is included in the Grid middleware Petri Net refinemen Petri Net refinement Fault management tasks are introduced automatically if the submission or execution of an atomic task fails A count < 4 count < 4 failed failed re-schedule max. 3 times A

failed

slide-24
SLIDE 24

Page 24

Hoheisel_2004_GGF10-Workflow-workshop

Explicit Fault Management

Petri Net workflow model Petri Net workflow model The user defines the fault management explicitly by including user-defined fault management tasks in the Petri Net of his Grid job

end

done done

begin

failed failed A B C

done failed

slide-25
SLIDE 25

Page 25

Hoheisel_2004_GGF10-Workflow-workshop

Parameter Study

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

all submitted end if count<n if count<n

Token generator

begin els else

Pre all Pre all Pre Pre Calc Calc Post Post Pre Pre Calc Calc Post Post Pre Pre Calc Calc Post Post Pre Pre Calc Calc Post Post p parallel runs Post al Post all

els else if count<n-1 if count<n-1

Token consumer

slide-26
SLIDE 26

Page 26

Hoheisel_2004_GGF10-Workflow-workshop

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 N

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“.
slide-27
SLIDE 27

Page 27

Hoheisel_2004_GGF10-Workflow-workshop
slide-28
SLIDE 28

Page 28

Hoheisel_2004_GGF10-Workflow-workshop
slide-29
SLIDE 29

Page 29

Hoheisel_2004_GGF10-Workflow-workshop
slide-30
SLIDE 30

Page 30

Hoheisel_2004_GGF10-Workflow-workshop
slide-31
SLIDE 31

Page 31

Hoheisel_2004_GGF10-Workflow-workshop

Parameter Study

/// /// ///

slide-32
SLIDE 32

Page 32

Hoheisel_2004_GGF10-Workflow-workshop

Conclusions and Future Work

slide-33
SLIDE 33

Page 33

Hoheisel_2004_GGF10-Workflow-workshop

Conclusions

Description of w Description of workf rkflow

  • w

External, graph-based workflow definition GJobDL uses Petri Nets instead of directed acyclic graphs to model workflow of Grid jobs Petri Petri Ne Nets ts Easy orchestration of complex workflows, including conditions and loops Dynamic wo mic workflow mod flow model Petri Nets can be refined and modified during runtime Adding new tasks to the workflow, e.g.: transfer tasks software deployment tasks fault management tasks Fault Fault Management Management implicit automatic, included in Grid middleware explicit user-defined, included in workflow model

slide-34
SLIDE 34

Page 34

Hoheisel_2004_GGF10-Workflow-workshop

Future Work

Tight coupling sche Tight coupling scheme? me? Now: one transition one executable Future: one transition one method call (?) Grid Service (OGSA), Web Service Simulation of Petri Nets Simulation of Petri Nets Prediction of Petri Nets for advanced reservation of resources ( scheduler) based on software und hardware benchmarks Fault Fault management management Workflow check pointing, recovery of grid jobs

slide-35
SLIDE 35

Page 35

Hoheisel_2004_GGF10-Workflow-workshop

More Information: http://www.fhrg.fhg.de/ http://www.andreas-hoheisel.de/ andreas.hoheisel@first.fraunhofer.de

Wednesday, March 10th, 5:30pm – 7:00pm Senate Hall and Senate Hall corridor. Please join us for some German beer and pretzels sponsored by the Fraunhofer Grid Alliance