170 likes | 509 Views
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
E N D
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: Matthew.Shields@astro.cf.ac.uk
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: Matthew.Shields@astro.cf.ac.uk
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: Matthew.Shields@astro.cf.ac.uk
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: Matthew.Shields@astro.cf.ac.uk
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: Matthew.Shields@astro.cf.ac.uk
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: Matthew.Shields@astro.cf.ac.uk
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: Matthew.Shields@astro.cf.ac.uk
<?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: Matthew.Shields@astro.cf.ac.uk
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: Matthew.Shields@astro.cf.ac.uk
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: Matthew.Shields@astro.cf.ac.uk
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: Matthew.Shields@astro.cf.ac.uk
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: Matthew.Shields@astro.cf.ac.uk
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: Matthew.Shields@astro.cf.ac.uk
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: Matthew.Shields@astro.cf.ac.uk
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: Matthew.Shields@astro.cf.ac.uk
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: Matthew.Shields@astro.cf.ac.uk
Links • http://www.triana.co.uk • http://www.GridOneD.org • http://www.GridLab.org Matthew S. Shields Email: Matthew.Shields@astro.cf.ac.uk