140 likes | 257 Views
Distributed Computing With Triana. A Short Course Matthew Shields, Ian Taylor & Ian Wang. Course Outline. Introduction History and Overview Tools and Toolboxes, Components and Groups How to compose a workflow Triana as a workflow editor. Course Outline cont. Service-oriented Components
E N D
Distributed Computing With Triana A Short Course Matthew Shields, Ian Taylor & Ian Wang
Course Outline • Introduction • History and Overview • Tools and Toolboxes, Components and Groups • How to compose a workflow • Triana as a workflow editor
Course Outline cont. • Service-oriented Components • Web services as components • Web service workflow • Peer 2 Peer services as components • Distributed service workflow • Grid-oriented Components • Grid file and job primitives as components • Complex Grid workflow
Install Triana • Unpack the triana.tar.gz to a location of your choice • Set env $TRIANA (Unix) or %TRIANA% (Windows) to the unpacked directory • Run $TRIANA/bin/triana (Unix) or %TRIANA/bin/triana.bat (Windows) • Course website http://www.trianacode.org/shortcourse/
About Triana • Distributed Problem Solving Environment • Workflow Based • Multiple Component Domains • Signal 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 execution • Components are defined in XML files: • Naming information • Input and output ports • Parameter information • Why Components? • To simplify the application design process and to speed up application development
Triana Workflow • Triana is inherently flow based • Data flow - data arriving at component triggers execution • Control flow - control commands trigger execution • Decentralised execution • Data 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 - DAG • Tasks • Connections • External XML representation • Simple XML syntax • List of participating Task definitions • Parent/Child connection • Hierarchical (Compound components)
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
Plug-in Applications • flexible: apps can use Triana in various ways, as a: • GUI • remote control GUI • or in full inc. GAP/GAT Triana Engine TCS Command Service Control 3rd Party Application Triana TaskGraph Reader Triana TaskGraph Writer Triana Command Reader Triana Command Writer XML Reader WSFL Reader TCom Reader Other Reader XML Writer Other Writer TCom Writer Other Writer 3rd Party Application Interactive Interactive/Offline Communication Channels Triana Pluggable Architecture Application’s Insert Points