triana dr matthew shields, school of computer science, cardiff university a problem solving...

45
Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Upload: jasmin-fleming

Post on 26-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Triana

Dr Matthew Shields, School of Computer Science, Cardiff University

A Problem Solving Environment and Grid Workflow Tool

Page 2: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Course Outline

IntroductionHistory and Overview

Tools and Toolboxes, Components and Groups

How to compose a workflow

Triana as a workflow editor

Page 3: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Course Outline cont.

Service-oriented ComponentsWeb services as components

Web service workflow

Peer 2 Peer services as components

Distributed service workflow

Grid-oriented ComponentsGrid file and job primitives as components

Complex Grid workflow

Page 4: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Install Triana

Unpack the triana.tar.gz to a location of your choiceSet env $TRIANA (Unix) or %TRIANA% (Windows) to the unpacked directoryRun $TRIANA/bin/triana (Unix) or %TRIANA/bin/triana.bat (Windows)Course website http://www.trianacode.org/coregrid/

Page 5: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

About Triana

Distributed Problem Solving EnvironmentWorkflow Based

Multiple Component DomainsSignal Processing (original domain)

Image Processing

Text Processing

Audio

Composite Components

Page 6: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Our Research Motivation

Based on research within the Triana project:Triana - a vehicle for investigating research into distributed systemsa workflow-based Problem Solving Environment

Goals:To make the access of distributed services as seamless as possibleTo connect heterogeneous GridsTo abstract the core capabilities needed for service-based computing (in P2P, Web services or Grid Computing)

Page 7: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Research Scope

Triana is currently used in many projects

GridOneD - Radio Astronomy

DART - Distributed Audio Retrieval with Triana

WHiP - Workflows Hosted in Portals

Data-Mining Grid

BioDiversity WorldSee http://www.trianacode.org/collaborations

Page 8: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Components and Definitions

Component is unit of executionComponents are defined in XML files:

Naming informationInput and output portsParameter information

Why Components?To simplify the application design process and to speed up application development

Page 9: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Triana Workflow

Triana is inherently flow basedData flow - data arriving at component triggers execution

Control flow - control commands trigger execution

Decentralised executionData or Control messages sent along communication “pipes” from sender to receiver causes receiver to execute

Synchronous or Asynchronous messaging (Implementation dependant)

Multiple inputs can block or trigger immediately (Component designer defined)

Page 10: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Taskgraph

Internal object based workflow graph representation

Taskgraph - DAGTasksConnections

External XML representationSimple XML syntaxList of participating Task definitionsParent/Child connectionHierarchical (Compound components)

Page 11: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Simple Workflow Example

QuickTime™ and aTIFF (LZW) decompressor

are needed to see this picture.

Try It! $TRIANA/bin/triana

Page 12: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Example Continued

Image is converted to Grey scale and then thresholded (set image less than 136 to black and everything higher to white).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.Group the unit and save it as a new compound component

Page 13: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Coalescing Binary Search

GEO 600 Coalescing

Binary Search Algorithm

implemented as a Triana workflow

Page 14: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Triana, the GAT and the GAP

P2PS JXTAWeb

Services

GAP Interface

UDDISOAP

P2PSDiscovery

P2PSPipes

JXTADiscovery

JXTAPipes

GAT Interface

Condor

Globus RLS

Unicore

PBS GridLab

GRMS

SGESSH

WSRF

LDR

.NET

Other..

GridFTP

Grid Computing:

Job Submission,

File servicesA Graphical

Grid Computing

Environment or Portal

Service Based Computing:

Deployment, discovery and communication with distributed services e.g. P2P and (GSI) Web services

Grid services

Page 15: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

GAP Interface

Motivation by GAT (GridLab.org)A Simple Service based API, for

Service Deployment,Service DiscoveryPipe Based Communication

Static application interface with multiple middleware bindings

P2PS (name…?)JXTAWeb services

P2PS JXTAWeb

Services

GAP Interface

UDDISOAP

P2PSDiscovery

P2PSPipes

JXTADiscovery

JXTAPipes

Page 16: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Service Oriented Comms

network

babelfish.altavista.

com

BabelFish

en_fr

hello

bonjourService Discovery

Dynamic?Decentralized?

CommunicationMessage Format

SOAP?

Transport ProtocolTCP?UDP?

GAP

Page 17: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

GAP Interface

Simple Java APIPeer-to-Peer Discovery

Pipe-Based Communication

Multiple BindingsJXTA

P2PS

Web Services (WSPeer)

Page 18: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

P2P GAP Bindings

Two Main BindingsJxta

legacy implementation, due to upgrade soon…

P2PS Simple (lightweight) P2P System

Uses in Triana, NRL (sensor nets) and Simulations (within NS-2)

Useful in highly dynamic environments

Based on some Jxta principles i.e. pipes, rendezvous nodes, dynamic discovery, etc

Capable of building small-world networks (centralised-decentralised)

Page 19: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

P2PS Overview

Discovery ServiceBroadcast/Locate Adverts + Queries in Discovery Subnet

Pipe ServiceConnect Pipes using Endpoint Resolvers

Rendezvous ServiceSend/Receive Adverts + Queries from known Rendezvous Peers

ResolversPluggable Network InterfacesFor Ns2 simulation environment

TCP Resolver ??? Resolver

DiscoveryService

RendezvousService

P2PS Peer

PipeService

UDP Resolver

NetworkUDP TCP ???

Page 20: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Service Creation, Discovery, and invocation

Drag a Audio.Output.Play unit to a new scratchpadRight click on the Play unit and select create service

Select Local Service [P2PS] and press CreateLeave the default settings and click ok

Use menu File -> New to create a new scratchpadSelect menu Services -> Discover Services

Type Play in the search name panel and click ok

You should see a number of remote Play unitsDrag one of the remote Play units to the new scratch padDrag a Audio.Input.LoadSound unit and connect to the playDownload a sound file from the tutorial site http://www.trianacode.org/coregrid/Double click the LoadSound unit or right click and select properties, choose the sound file, click ok, click the play button.

Page 21: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Service Deployment

Peer-to-peer servicesDistributing Audio !!! Generic example - can try and distribute using other networksUses multicast or rendezvous to discover servicesShows the basic interface to distributionCan publish compound/group componnentsPublish as Web services

Need a running UDDI server for service publication and discovery

Page 22: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

WSPeer

High Level Interface to Web ServicesDiscovery InvocationDeploymentHosting

Abstract from usual Web Service Discovery and Communication Mechanisms (i.e. UDDI and HTTP)

P2PS Web Service Discovery?

Uses Apache AXIS as SOAP EngineExtends Capabilities of Apache AXIS

Stubless Invocation (including complex types)Non Standard Transports (i.e. P2PS)

Page 23: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

WSPeer

WSPeer – P2PS

Application

WSPeer – HTTP/UDDI

deploy publish locate invoke

UDDI

HTTPServer

deploy

launch server

publish locate

invoke

deploy

publish locate

invoke

Page 24: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Web servicesConnecting Web services and integrating with other Triana units

Xmethods - http://www.xmethods.com/Services -> Import Services

Bible Verses

http://www.stgregorioschurchdc.org/wsdl/Bible.wsdlDrag the readBible service to a new scratch padConnect a Common.String.StringGen and a Common.String.StringViewer componentDouble click StringGen for the input window

Psalm 119:105Matthew 5:3-12,44-48Matthew 5:3-12;John 1:1-5

Press Play, double click StringViewer to see the output

Web Service Choreography

Page 25: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool
Page 26: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Multiple Services

Xmethods - http://www.xmethods.com/Services -> Import Services

Urdu Translator

http://www.apniurdu.com/SOAP/Urdu2.wsdlDrag the Translate service to the scratch padDrag a Common.Control.Duplicator unit the scratch padConnect readBible to Duplicatorconnect one output from Duplicator to the StringViewerConnect the other output to the Translator serviceDrag a new StringViewer to the scratch pad and connect the output of the Translator to thatPress play and double click the string viewersTry different inputs for StringGen

Page 27: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool
Page 28: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Web Services Resource Framework

WSRF defines conventions for accessing stateful resources (WS-Resources) via Web service interactions

Resources are refered to using EPR in message headers

In Triana we refer to EPR/WS-addresses as a “context” for extendibility, i.e. WS-Security context

Example using Globus 4 CounterService example

Import http://d220.astro.cf.ac.uk:8080/wsrf/services/CounterService?wsdl

Page 29: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool
Page 30: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

The link between context and WSTypeGen is a “trigger” node to create a control dependency

Right click on WSTypeGen1, select Node Editor

Select “In Params” tab, click add, select “Trigger node only” select ok

Double click the WSTypeGen unit, type a number into the “int” field

To set the context on the Add service, double click or right click and select “Set Context”

Press play

Drag another WSTypeGen unit and Add service onto the scratch pad, set another integer and play again

Page 31: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool
Page 32: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

GridLab GAT

Application-level API (Gridlab.org)Abstract ‘Common’ Capabilities required by Grid Applications

Resource DiscoveryJob SubmissionFile Transfer

Capabilities extracted through a number of Grid Application Scenarios.Makes life as a Grid programmer easier … Motivation for the GGF SAGA research group (Simple API for Grid Applications)

Page 33: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Using the GAT

GATContext context = new GATContext();Preferences prefs = new Preferences();prefs.put("ResourceBroker.adaptor.name", "grms");

URI exe = new URI("file:////bin/hostname");File outFile = GAT.createFile(context, prefs, new URI("file:///out")

SoftwareDescription sd = new SoftwareDescription();sd.setLocation(exe);sd.setStdout(outFile);

ResourceDescription rd = new HardwareResourceDescription();rd.put("hostname", "bouscat.cs.cf.ac.uk");

JobDescription jd = new JobDescription(sd, rd);ResourceBroker broker = GAT.createResourceBroker(context, prefs);

Job job = broker.submitJob(jd);

Page 34: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Visual GAT

GAT Primitives represented as Workflow ObjectsJob Tasks

File Tasks

Grid Data Flow implicit in Workflow ConnectionsFile Task -> File Task = Data Transfer

File Task -> Job Task = Pre-Stage File

File Task -> Local Task = File Read

Grid Operations handled by GAT AdaptorsGrid File -> Grid File = GridFTP

HTTP File -> Local Task = HTTP

Grid File -> GRMS Job = GRMS Pre-Stage

Page 35: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Grid Workflow in Triana

Local JavaUnit

File (Local/Remote)

TemporaryFile

Job (Local/Remote)

File Write Pre-Stage Post-Stage File Read

Page 36: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Visual GAT Alternative

Grid Operations Expressed ExplicitlyGridFTP Tasks

File Write Tasks

File Read Tasks

Not Intuitive

Not Future Proof

Page 37: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

File Input (HTTP)

GridLab GAT

File CPI

Grid

FT

PA

dapto

r

HT

TP

Ada

ptor

Data

Movem

ent

Resource Broker CPI

LocalA

dapto

r

GR

MS

Ada

ptor

GR

AM

Ada

ptor

LocalA

dapto

r

www.gridlab.

org

Triana

WaveToy.par

Page 38: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

GridLab GAT

File CPI

Grid

FT

PA

dapto

r

HT

TP

Ada

ptor

Data

Movem

ent

Resource Broker CPI

LocalA

dapto

r

GR

MS

Ada

ptor

GR

AM

Ada

ptor

LocalA

dapto

r

www.gridlab.

org

Testbed

Triana

File Staging (GridFTP)

WaveToy.par

Page 39: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Mercury

GridLab GAT

File CPI

Grid

FT

PA

dapto

r

HT

TP

Ada

ptor

Data

Movem

ent

Resource Broker CPI

LocalA

dapto

r

GR

MS

Ada

ptor

GR

AM

Ada

ptor

LocalA

dapto

r

www.gridlab.

org

Testbed

GRMS

DataMvment

Testbed

Triana

Delphoi

GAS

iGrid

Job Submission 1

WaveToy.par

Cactus

Page 40: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

GridLab GAT

File CPI

Grid

FT

PA

dapto

r

HT

TP

Ada

ptor

Data

Movem

ent

Resource Broker CPI

LocalA

dapto

r

GR

MS

Ada

ptor

GR

AM

Ada

ptor

LocalA

dapto

r

www.gridlab.

org

Testbed

GRMS

DataMvment

Portal

Triana

GAS

Job Submission 2

Testbed

Cactus

InstantMess

MercuryDelphoiiGrid

Page 41: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

GridLab GAT

File CPI

Grid

FT

PA

dapto

r

HT

TP

Ada

ptor

Data

Movem

ent

Resource Broker CPI

LocalA

dapto

r

GR

MS

Ada

ptor

GR

AM

Ada

ptor

LocalA

dapto

r

www.gridlab.

org

Testbed

Portal

Triana

Job Submission (GRAM)

Testbed

Cactus

InstantMess

GRAM

Page 42: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

GridMonSteer

User Side Grid Side

WSPeer

User Interface

Web Service

GridMonSteer (gms)

cactus

phi_xy.jpgphi_yz.jpg

submit

Application(e.g. Triana)

run

monitor

invoke using SOAP

ResourceBroker

(e.g. GRMS)

gms http://www.xyx.org:4802/axis/gms cactus

phi_xy.jpgphi_yz.jpgrundirhttp://www.xyz.org/axis/gms

Page 43: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Triana Grid Workflow Summary

GridLab GATApplication-level APIAbstracts Common Capabilities required by Grid Applications such as Triana

Visual GATGAT Primitives represented in Triana as Workflow ObjectsGrid Data Flow implicit in Workflow Connections

GridMonSteerGeneric Architecture for Monitoring and Steering Legacy Applications

Page 44: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Future

Java GAT 2.0 (coming soon Vrije Universiteit)globus-4 web services, a windows shares adaptor (SAMBA/CIFS), an initial set of glite adaptors

Mrs DART - Distributed Audio Retrieval with TrianaDistribute music analysis workflows to P2P network to analyse user digital audio collections and make content based recommendations

AlchemistGeneric version of DART framework for distributed scientific search and analysis

WHiP - Workflows Hosted in PortalsShare workflows in collaborative Web portals for scientific collaboration and knowledge capture

Page 45: Triana Dr Matthew Shields, School of Computer Science, Cardiff University A Problem Solving Environment and Grid Workflow Tool

Links

Triana - http://www.trianacode.org/

WSPeer - http://www.wspeer.org/

WHiP - http://www.whipplugin.org/

Mrs DART - http://www.mrsdart.com/

Java GAT - http://www.cs.vu.nl/ibis/javagat.html