Distributed Computing With Triana A Short Course Matthew Shields, Ian Taylor & Ian Wang.

Post on 14-Jan-2016

213 views 1 download

Transcript of Distributed Computing With Triana A Short Course Matthew Shields, Ian Taylor & Ian Wang.

Distributed Computing With Triana

A Short Course

Matthew Shields, Ian Taylor & Ian Wang

Course Outline

IntroductionHistory and Overview

Tools and Toolboxes, Components and Groups

How to compose a workflow

Triana as a workflow editor

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

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/shortcourse/

About Triana

Distributed Problem Solving EnvironmentWorkflow Based

Multiple Component DomainsSignal Processing (original domain)

Image Processing

Text Processing

Audio

Composite Components

Research Scope

Triana is currently funded through 2 main research projects:

GridOneD: to investigate P2P and integrating visual distributed programming for Gravitational Wave applications

GridLab: one of the 2 project applications (other is Cactus) used to shape the Grid Application Toolkit (GAT)

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

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)

Taskgraph

Internal object based workflow graph representation

Taskgraph - DAGTasksConnections

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

Simple Workflow Example

QuickTime™ and aTIFF (LZW) decompressor

are needed to see this picture.

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

Coalescing Binary Search

GEO 600 Coalescing

Binary Search Algorithm

implemented as a Triana workflow

Triana Pluggable Architecture

Application’s Insert Points

Triana TaskGraph

Writer

Triana Command

Writer

XML Writer

Other Writer

TComWriter

OtherWriter

Triana TaskGraph

Reader

Triana Command

Reader

XML Reader

WSFL Reader

TComReader

OtherReader

Interactive Interactive/Offline Communication Channels

TrianaEngine

Command ServiceControl

Plug-in Applications- flexible: apps can use Triana in various ways, as a:

- GUI - remote control GUI- or in full inc. GAP/GAT

3rd Party Application

3rd Party Application

VDT Reader and Writer