an xml component model in a workflow environment
Download
Skip this Video
Download Presentation
An XML Component Model in a Workflow Environment

Loading in 2 Seconds...

play fullscreen
1 / 17

An XML Component Model in a Workflow Environment - PowerPoint PPT Presentation


  • 288 Views
  • Uploaded on

An XML Component Model in a Workflow Environment. Matthew S. Shields Triana-Grid Group Dept. of Physics and Astronomy & Dept. of Computer Science Cardiff University. Agenda for Talk. Background Problem Solving Environment (PSE) Research Triana, GridOneD and GridLab

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' An XML Component Model in a Workflow Environment' - erika


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
an xml component model in a workflow environment

An XML Component Model in a Workflow Environment

Matthew S. Shields

Triana-Grid Group

Dept. of Physics and Astronomy

& Dept. of Computer Science

Cardiff University

Matthew S. Shields

Email: [email protected]

agenda for talk
Agenda for Talk
  • Background
    • Problem Solving Environment (PSE) Research
    • Triana, GridOneD and GridLab
  • Components and Definitions
    • XML Definitions
    • Compound Components and Taskgraphs
  • Taskgraphs and Workflow
    • Annotating Taskgraphs
    • Local Scheduling
    • Distributed Workflow
    • JXTA Example
    • Extending to Globus and the Grid

Matthew S. Shields

Email: [email protected]

pse research work
PSE Research Work
  • Joint project Department of Computer Science, Cardiff, BAE Systems and Southampton University
  • Wrap large legacy FORTRAN codes as CORBA objects
  • Wrapped component interfaces defined in XML documents
  • Visual Programming GUI to enable “drag and drop” application programming

Matthew S. Shields

Email: [email protected]

triana gridoned and gridlab
Triana, GridOneD and GridLab
  • Triana - general purpose Java based visual programming tool
  • GridOneD - PPARC funded project to research Java middleware (demonstrator - Triana)
  • Develop a P2P Triana to work on ‘The Consumer Grid’ – GGF-4
  • GridLab - European funded, general purpose application framework and tools for Grid programmers
  • Integrate Triana within the GridLab ‘GAT’

Matthew S. Shields

Email: [email protected]

slide5

Image Processing

GIFReader imports GIF images from disk. For this demo we need to have two output nodes. This is done by using the Node editor Window (left) which is viewed by right –clicking mouse button on the unit and selecting Node Editor. We connect this then to the GreyScale unit.

Matthew S. Shields

Email: [email protected]

slide6

The Image is converted to Grey scale and then thresholded (set image less than 136 to black and everything higher to white). The difference is then taken between this image and a image where the white lines are thinned out (i.e. detail is taken away). The resulting image is basically the detail of the white parts which were pruned by the ShrinkWhite unit which gives an outline of an image.

Matthew S. Shields

Email: [email protected]

components and definitions
Components and Definitions
  • Component is unit of execution
  • Components are defined in XML (simplified WSDL) files:
    • Naming information
    • Input and output ports
    • Parameter information
  • Why Components?
    • To simplify the application design process and to speed up application development
  • The component model provides an infrastructure for the interaction of components

Matthew S. Shields

Email: [email protected]

slide8

<?xml version="1.0" encoding="UTF-8"?>

<tool>

<name>FFT</name>

<description>Performs a Fast Fourier Transform or its inverse.</description>

<inportnum>1</inportnum>

<outportnum>1</outportnum>

<input>

<type>triana.types.MultipleAudio</type>

<type>triana.types.VectorType</type>

<type>triana.types.MatrixType</type>

</input>

<output>

<type>triana.types.ComplexSpectrum</type>

<type>triana.types.Spectrum</type>

<type>triana.types.ComplexSampleSet</type>

<type>triana.types.SampleSet</type>

<type>triana.types.Spectrum2D</type>

<type>triana.types.MatrixType</type>

</output>

<parameters>

<param name="minOut" value="0" type="internal" />

</parameters>

</tool>

Matthew S. Shields

Email: [email protected]

task graph definitions
Task Graph Definitions
  • Group of connected components or tasks
  • Workflow model
    • Execution of software, order controlled by computer representation of workflow logic
    • Decision points
      • One of a number of possible paths
      • Split and Join paths
  • Triana uses XML WSFL-like model
  • Recursive structure

Matthew S. Shields

Email: [email protected]

slide10
Taskgraph has 3 elements
    • Tasks or activities - one step operation
    • Control links - order of execution<controlLink name= “c1” source = “FFT” target= “Grapher”/>
    • Data links - flow of data<dataLink name = “d1” source= “FFT” target= “Grapher” />

Matthew S. Shields

Email: [email protected]

slide11
There are three control constructs which need to be represented within Triana:
    • Parallel Processing
      • Two or more tasks executed, order arbitrary
      • Modelled by split and join operations, task with multiple input/output
    • Conditional Processing
      • If/Else construct
      • Special task with multiple alternative outputs
    • Iteration
      • For loop or While loop

Matthew S. Shields

Email: [email protected]

internal vs external scheduling
Internal vs. External Scheduling
  • Internal scheduling/execution module
    • Triana runs a completed task graph
    • Control is passed between components
    • Publish/Subscribe model used to notify component completion
  • Interface to external scheduler
    • Triana can pass completed task graph as XML to scheduler
    • GAT integration

Matthew S. Shields

Email: [email protected]

distributing triana taskgraphs
Distributing Triana Taskgraphs
  • Mapping tasks or groups of tasks to resources
  • Two stages:
    • Taskgraph annotation, XML definition for each task or group of tasks extended to specify resources and message channels
    • Data distribution, annotated sub-sections of taskgraph passed to resources

Matthew S. Shields

Email: [email protected]

slide14

JXTA Mapping

  • Close Mapping between Triana and JXTA
  • Each Distribution Group is mapped to a Triana JXTA Service
    • Services chosen be user based on their requirements (e.g. CPU, memory, bandwidth etc.)

or

    • Triana automatically determines ‘best’ distribution
  • Output Nodes mapped to JXTA Output Pipes
  • Input Nodes mapped to JXTA Input Pipes

Matthew S. Shields

Email: [email protected]

jxta distribution
JXTA Distribution
  • Distribution Groups sent to Triana Service on its Control Pipe
  • For each Input Node:
    • Create + advertise a JXTA Input Pipe
    • Assign the pipe the unique name annotated by the Control Unit
  • For each Output Node:
    • Search for pipe adverts bearing the unique name annotated by the Control Unit
    • Bind to the pipe found

Matthew S. Shields

Email: [email protected]

slide16

GAT API (GridLab)

Gridlab Services

Resource Broker

Monitoring etc

OGSA

Triana Architectural Overview

P2P Status

XML Task Graph (e.g. WSFL)

Triana Service

JXTAServe API

JXTA

Peer

Matthew S. Shields

Email: [email protected]

links
Links
  • http://www.triana.co.uk
  • http://www.GridOneD.org
  • http://www.GridLab.org

Matthew S. Shields

Email: [email protected]

ad