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

Slides:



Advertisements
Similar presentations
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Advertisements

Under the Hood of a Workflow Manager Matthew Shields, BiodiversityWorld GRID workshop, NeSC, 30 June - 1 July T r a ai n.
Web Service Architecture
Programming Workflow with Triana Services Matthew Shields, SC4DEVO Workshop, July 2004.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
WEB SERVICES DAVIDE ZERBINO.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
BiodiversityWorld GRID Workshop NeSC, Edinburgh – 30 June and 1 July 2005 Resource wrappers, web services, grid services Jaspreet Singh School of Computer.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Universität Dortmund Robotics Research Institute Information Technology Section Grid Metaschedulers An Overview and Up-to-date Solutions Christian.
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
JXTA P2P Platform Denny Chen Dai CMPT 771, Spring 08.
GridScape Ding Choon Hoong Grid Computing and Distributed Systems (GRIDS) Lab. The University of Melbourne Melbourne, Australia WW Grid.
Ch 12 Distributed Systems Architectures
JXTA Lecture 1.JXTA Overview a) Background to Project JXTA b) Design Constraints c) Terminology d) Overview and Architecture e) Introducing the Concepts.
Ian Taylor - UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping Scalable P2P Applications NATO.
Programming Scientific and Distributed Workflow with Triana Services Matthew Shields, GGF10 Workflow Workshop, 9th March.
Web-based Portal for Discovery, Retrieval and Visualization of Earth Science Datasets in Grid Environment Zhenping (Jane) Liu.
Introduction SOAP History Technical Architecture SOAP in Industry Summary References.
INTRODUCTION TO WEB DATABASE PROGRAMMING
SUN HPC Consortium, Heidelberg 2004 Grid(Lab) Resource Management System (GRMS) and GridLab Services Krzysztof Kurowski Poznan Supercomputing and Networking.
Grid Workflow within Triana Ian Wang Cardiff University.
Cli/Serv.: JXTA/151 Client/Server Distributed Systems v Objective –explain JXTA, a support environment for P2P services and applications ,
Discovering E-Services Using UDDI in SELF-SERV Quan Z. Sheng, Boualem Benatallah, Rayan Stephan, Eileen Oi-Yan Mak, Yan Q. Zhu School of Computer Science.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
WP9 Resource Management Current status and plans for future Juliusz Pukacki Krzysztof Kurowski Poznan Supercomputing.
Triana: Service-Oriented Examples Ian Taylor Cardiff University, and the Center for Computation and Technology LSU.
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
Grids and Portals for VLAB Marlon Pierce Community Grids Lab Indiana University.
Grid Resource Allocation and Management (GRAM) Execution management Execution management –Deployment, scheduling and monitoring Community Scheduler Framework.
Towards a Universal Client for Grid Monitoring Systems Towards a Universal Client for Grid Monitoring Systems Design and Implementation of the Ovid Browser.
1 Overview of the Application Hosting Environment Stefan Zasada University College London.
Workflow and Triana Services Matthew Shields, e-Science Workflow Services, 3-5 December T r a ai n.
Interoperability between Scientific Workflows Ahmed Alqaoud, Ian Taylor, and Andrew Jones Cardiff University 10/09/2008.
Grid Computing Research Lab SUNY Binghamton 1 XCAT-C++: A High Performance Distributed CCA Framework Madhu Govindaraju.
MobileMAN Internal meetingHelsinki, June 8 th 2004 NETikos activity in MobileMAN project Veronica Vanni NETikos S.p.A.
GEM Portal and SERVOGrid for Earthquake Science PTLIU Laboratory for Community Grids Geoffrey Fox, Marlon Pierce Computer Science, Informatics, Physics.
Resource Brokering in the PROGRESS Project Juliusz Pukacki Grid Resource Management Workshop, October 2003.
Grid Execution Management for Legacy Code Applications Grid Enabling Legacy Code Applications Tamas Kiss Centre for Parallel.
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
Dr. Ian Wang Cardiff University, U.K.. Ian Wang, Cardiff University Peer-to-Peer and Grids What does the Peer-to-Peer paradigm offer Grids? Scalable Decentralized.
Grid Architecture William E. Johnston Lawrence Berkeley National Lab and NASA Ames Research Center (These slides are available at grid.lbl.gov/~wej/Grids)
Composing workflows in the environmental sciences using Web Services and Inferno Jon Blower, Adit Santokhee, Keith Haines Reading e-Science Centre Roger.
Ian Taylor, Cardiff Work-Flow Application Toolkit Eger Meeting Ian Taylor & Ian Wang Cardiff University, UK.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
What is Triana?. GAPGAP Triana Distributed Work-flow Network Action Commands Workflow, e.g. BPEL4WS Triana Engine Triana Controlling Service (TCS) Triana.
Globus Toolkit Massimo Sgaravatto INFN Padova. Massimo Sgaravatto Introduction Grid Services: LHC regional centres need distributed computing Analyze.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
WHIP - Workflow Hosted in Portals Kurt Mueller and Andrew Harrison School of Computer Science, Cardiff And Ian Taylor School of Computer Science, Cardiff.
Ipgdec5-01 Remarks on Web Services PTLIU Laboratory for Community Grids Geoffrey Fox, Marlon Pierce, Shrideep Pallickara, Choonhan Youn Computer Science,
GridLab WP-2 Cactus GAT (CGAT) Ed Seidel, AEI & LSU Co-chair, GGF Apps RG, Gridstart Apps TWG Gabrielle Allen, Robert Engel, Tom Goodale, *Thomas Radke.
Grid Execution Management for Legacy Code Applications Grid Enabling Legacy Applications.
Distributed Computing With Triana A Short Course Matthew Shields, Ian Taylor & Ian Wang.
Enabling Grids for E-sciencE Astronomical data processing workflows on a service-oriented Grid architecture Valeria Manna INAF - SI The.
Introduction to Grids By: Fetahi Z. Wuhib [CSD2004-Team19]
Using Federated Services with Triana Matthew Shields Cardiff University.
Introduction to Taverna Online and Interaction service Aleksandra Pawlik University of Manchester.
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
A Demonstration of Collaborative Web Services and Peer-to-Peer Grids Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,
Development of e-Science Application Portal on GAP WeiLong Ueng Academia Sinica Grid Computing
Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab.
.NET Mobile Application Development XML Web Services.
Grid Execution Management for Legacy Code Architecture Exposing legacy applications as Grid services: the GEMLCA approach Centre.
December, 2006 ws-VLAM Workflow Management System a Re-factoring of VLAM Dmitry Vasyunin Adianto Wibisono Adam Belloum.
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) gLite Grid Introduction Salma Saber Electronic.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Practical using C++ WMProxy API advanced job submission
WEB SERVICES.
New Tools In Education Minjun Wang
Presentation transcript:

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

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

About Triana Distributed Problem Solving Environment Workflow Based Multiple Component Domains Signal Processing (original domain) Image Processing Text Processing Audio Composite Components

Our Research Motivation Based on research within the Triana project: Triana - a vehicle for investigating research into distributed systems a workflow-based Problem Solving Environment Goals: To make the access of distributed services as seamless as possible To connect heterogeneous Grids To abstract the core capabilities needed for service-based computing (in P2P, Web services or Grid Computing)

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 World See

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)

Simple Workflow Example Try It! $TRIANA/bin/triana

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, the GAT and the GAP P2PSJXTA Web Services GAP Interface UDDI SOAP P2PS Discovery P2PS Pipes JXTA Discovery JXTA Pipes GAT Interface Condor Globus RLS Unicore PBS GridLab GRMS SGESSH WSRF LDR.NET Other.. GridFTP Grid Computing: Job Submission, File services A 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

GAP Interface Motivation by GAT (GridLab.org) A Simple Service based API, for Service Deployment, Service Discovery Pipe Based Communication Static application interface with multiple middleware bindings P2PS (name…?) JXTA Web services P2PSJXTA Web Services GAP Interface UDDI SOAP P2PS Discovery P2PS Pipes JXTA Discovery JXTA Pipes

Service Oriented Comms network babelfish. altavista. com BabelFish en_fr hello bonjour Service Discovery Dynamic? Decentralized? Communication Message Format SOAP? Transport Protocol TCP? UDP? GAP

GAP Interface Simple Java API Peer-to-Peer Discovery Pipe-Based Communication Multiple Bindings JXTA P2PS Web Services (WSPeer)

P2P GAP Bindings Two Main Bindings Jxta 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)

P2PS Overview Discovery Service Broadcast/Locate Adverts + Queries in Discovery Subnet Pipe Service Connect Pipes using Endpoint Resolvers Rendezvous Service Send/Receive Adverts + Queries from known Rendezvous Peers Resolvers Pluggable Network Interfaces For Ns2 simulation environment TCP Resolver??? Resolver Discovery Service Rendezvous Service P2PS Peer Pipe Service UDP Resolver Network UDPTCP???

Service Creation, Discovery, and invocation Drag a Audio.Output.Play unit to a new scratchpad Right click on the Play unit and select create service Select Local Service [P2PS] and press Create Leave the default settings and click ok Use menu File -> New to create a new scratchpad Select menu Services -> Discover Services Type Play in the search name panel and click ok You should see a number of remote Play units Drag one of the remote Play units to the new scratch pad Drag a Audio.Input.LoadSound unit and connect to the play Download a sound file from the tutorial site Double click the LoadSound unit or right click and select properties, choose the sound file, click ok, click the play button.

Service Deployment Peer-to-peer services Distributing Audio !!! Generic example - can try and distribute using other networks Uses multicast or rendezvous to discover services Shows the basic interface to distribution Can publish compound/group componnents Publish as Web services Need a running UDDI server for service publication and discovery

WSPeer High Level Interface to Web Services Discovery Invocation Deployment Hosting Abstract from usual Web Service Discovery and Communication Mechanisms (i.e. UDDI and HTTP) P2PS Web Service Discovery? Uses Apache AXIS as SOAP Engine Extends Capabilities of Apache AXIS Stubless Invocation (including complex types) Non Standard Transports (i.e. P2PS)

WSPeer WSPeer – P2PS Application WSPeer – HTTP/UDDI deploypublishlocateinvoke UDDI HTTP Server deploy launch server publishlocate invoke deploy publish locate invoke

Web services Connecting Web services and integrating with other Triana units Xmethods Services -> Import Services Bible Verses Drag the readBible service to a new scratch pad Connect a Common.String.StringGen and a Common.String.StringViewer component Double click StringGen for the input window Psalm 119:105 Matthew 5:3-12,44-48 Matthew 5:3-12;John 1:1-5 Press Play, double click StringViewer to see the output Web Service Choreography

Multiple Services Xmethods - Services -> Import Services Urdu Translator Drag the Translate service to the scratch pad Drag a Common.Control.Duplicator unit the scratch pad Connect readBible to Duplicator connect one output from Duplicator to the StringViewer Connect the other output to the Translator service Drag a new StringViewer to the scratch pad and connect the output of the Translator to that Press play and double click the string viewers Try different inputs for StringGen

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 erService?wsdl

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

GridLab GAT Application-level API (Gridlab.org) Abstract ‘Common’ Capabilities required by Grid Applications Resource Discovery Job Submission File 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)

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);

Visual GAT GAT Primitives represented as Workflow Objects Job Tasks File Tasks Grid Data Flow implicit in Workflow Connections File Task -> File Task = Data Transfer File Task -> Job Task = Pre-Stage File File Task -> Local Task = File Read Grid Operations handled by GAT Adaptors Grid File -> Grid File = GridFTP HTTP File -> Local Task = HTTP Grid File -> GRMS Job = GRMS Pre-Stage

Grid Workflow in Triana Local Java Unit File (Local/Remote) Temporary File Job (Local/Remote) File WritePre-StagePost-StageFile Read

Visual GAT Alternative Grid Operations Expressed Explicitly GridFTP Tasks File Write Tasks File Read Tasks Not Intuitive Not Future Proof

File Input (HTTP) GridLab GAT File CPI GridFTP Adaptor HTTP Adaptor Data Movement Resource Broker CPI Local Adaptor GRMS Adaptor GRAM Adaptor Local Adaptor www. gridlab. org Triana WaveToy.par

GridLab GAT File CPI GridFTP Adaptor HTTP Adaptor Data Movement Resource Broker CPI Local Adaptor GRMS Adaptor GRAM Adaptor Local Adaptor www. gridlab. org Testbed Triana File Staging (GridFTP) WaveToy.par

Mercury GridLab GAT File CPI GridFTP Adaptor HTTP Adaptor Data Movement Resource Broker CPI Local Adaptor GRMS Adaptor GRAM Adaptor Local Adaptor www. gridlab. org Testbed GRMS Data Mvment Testbed Triana Delphoi GAS iGrid Job Submission 1 WaveToy.par Cactus

GridLab GAT File CPI GridFTP Adaptor HTTP Adaptor Data Movement Resource Broker CPI Local Adaptor GRMS Adaptor GRAM Adaptor Local Adaptor www. gridlab. org Testbed GRMS Data Mvment Portal Triana GAS Job Submission 2 Testbed Cactus Instant Mess MercuryDelphoi iGrid

GridLab GAT File CPI GridFTP Adaptor HTTP Adaptor Data Movement Resource Broker CPI Local Adaptor GRMS Adaptor GRAM Adaptor Local Adaptor www. gridlab. org Testbed Portal Triana Job Submission (GRAM) Testbed Cactus Instant Mess GRAM

GridMonSteer User Side Grid Side WSPeer User Interface Web Service GridMonSteer (gms) cactus phi_xy.jpg phi_yz.jpg submit Application (e.g. Triana) run monitor invoke using SOAP Resource Broker (e.g. GRMS) gms cactus phi_xy.jpgphi_yz.jpg rundir

Triana Grid Workflow Summary GridLab GAT Application-level API Abstracts Common Capabilities required by Grid Applications such as Triana Visual GAT GAT Primitives represented in Triana as Workflow Objects Grid Data Flow implicit in Workflow Connections GridMonSteer Generic Architecture for Monitoring and Steering Legacy Applications

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 Triana Distribute music analysis workflows to P2P network to analyse user digital audio collections and make content based recommendations Alchemist Generic version of DART framework for distributed scientific search and analysis WHiP - Workflows Hosted in Portals Share workflows in collaborative Web portals for scientific collaboration and knowledge capture

Links Triana - WSPeer - WHiP - Mrs DART - Java GAT -