A Hybrid Decomposition Scheme for Building Scientific Workflows Wei Lu Indiana University.

Slides:



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

Chapter 19 – Service-oriented Architecture
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering 1.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
RPC Robert Grimm New York University Remote Procedure Calls.
WEB SERVICES DAVIDE ZERBINO.
Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy SOAP-based Web.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Workflow utilization in composition of complex applications based.
Transparent Robustness in Service Aggregates Onyeka Ezenwoye School of Computing and Information Sciences Florida International University May 2006.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Session 2: task 3.2 GCM, Kracow, June l Current status of GCM Denis Caromel (10 mn each talk) l Wrapping CCA Components as GCM Components Maciej.
Communication in Distributed Systems –Part 2
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Center for Component Technology for Terascale Simulation Software 122 June 2002Workshop on Performance Optimization via High Level Languages and Libraries.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Object and component “wiring” standards This presentation reviews the features of software component wiring and the emerging world of XML-based standards.
Grid Computing, B. Wilkinson, 20043b.1 Web Services Part II.
Software Design Refinement Using Design Patterns Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Enabling Embedded Systems to access Internet Resources.
DEVS Namespace for Interoperable DEVS/SOA
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
International Telecommunication Union Geneva, 9(pm)-10 February 2009 ITU-T Security Standardization on Mobile Web Services Lee, Jae Seung Special Fellow,
Lecture 15 Introduction to Web Services Web Service Applications.
Web Services Week 7 Aims: A detailed look at the underlying mechanisms for communication between web services Objectives: SOAP, WSDL, UDDI.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
SIAM Computational Science and Engineering1 10 February Components for Scientific Computing: An Introduction David E. Bernholdt Computer Science.
CCA Common Component Architecture CCA Forum Tutorial Working Group Introduction to Components.
Grid Computing Research Lab SUNY Binghamton 1 XCAT-C++: A High Performance Distributed CCA Framework Madhu Govindaraju.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Center for Component Technology for Terascale Simulation Software CCA is about: Enhancing Programmer Productivity without sacrificing performance. Supporting.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
Presented by An Overview of the Common Component Architecture (CCA) The CCA Forum and the Center for Technology for Advanced Scientific Component Software.
Part VII: Design Continuous
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
SOAP-based Web Services Telerik Software Academy Software Quality Assurance.
Distributed Components for Integrating Large- Scale High Performance Computing Applications Nanbor Wang, Roopa Pundaleeka and Johan Carlsson
Toward interactive visualization in a distributed workflow Steven G. Parker Oscar Barney Ayla Khan Thiago Ize Steven G. Parker Oscar Barney Ayla Khan Thiago.
CCA Common Component Architecture CCA Forum Tutorial Working Group An Overview of Components.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
Chapter 14 Advanced Architectural Styles. Objectives Describe the characteristics of a distributed system Explain how middleware supports distributed.
Web Services An Introduction Copyright © Curt Hill.
CCA Common Component Architecture CCA Forum Tutorial Working Group Common Component Architecture.
1 Service Oriented Architecture SOA. 2 Service Oriented Architecture (SOA) Definition  SOA is an architecture paradigm that is gaining recently a significant.
INFSO-RI Enabling Grids for E-sciencE Web Services Mike Mineter National e-Science Centre, Edinburgh.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Web Services Blake Schernekau March 27 th, Learning Objectives Understand Web Services Understand Web Services Figure out SOAP and what it is used.
CCA Common Component Architecture CCA Forum Tutorial Working Group Writing Components.
CCA Common Component Architecture CCA Forum Tutorial Working Group Common Component Architecture.
CCA Distributed Framework Interoperability. Goals Assume you have two (or more) framework instances. –Assume it contains a network of component instances.
CCA Common Component Architecture CCA Forum Tutorial Working Group Common Component Architecture.
CCA Common Component Architecture CCA Forum Tutorial Working Group A Simple CCA Component.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
A service Oriented Architecture & Web Service Technology.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
WEB SERVICES.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Unit – 5 JAVA Web Services
Web Ontology Language for Service (OWL-S)
Hierarchical Architecture
Programming Models for Distributed Application
Inventory of Distributed Computing Concepts and Web services
Service-centric Software Engineering
Service-centric Software Engineering 1
Service Oriented Architecture (SOA)
A Semantic Type System and Propagation
Presentation transcript:

A Hybrid Decomposition Scheme for Building Scientific Workflows Wei Lu Indiana University

Application Decomposition Large scientific applications require –Decomposing the problem into manageable units –Units need to be Self-described Self-encapsulated Independently developed and deployed composable Two decomposition dimensions –Functional Decomposition (a.k.a. Spatial Decomposition) C/C++, JAVA Component –Temporal Decomposition Unix Pipe Workflow –however, most PSEs provide only one approach to the exclusion of the other Our work

Common Component Architecture (CCA) Scientific computing imposes special requirements –Support for legacy software –Performance is crucial –languages, data types Fortran, C/C++, Python, Java, etc. Complex numbers and Arrays (as first-class objects) –Support the various parallel run-time platforms CCA –Component framework specification –Designed for the scientific high performance computing –Aims at improving the scientific software reusing

CCA Component Each component describes –What functionality it fulfills Provide port –What functionality it needs to fulfill its task Use port Use-Provide pattern –Plug-and-play The port is described in SIDL –Scientific Interface Definition Language –Partially derived from CORBA IDL –With constructs to describe the complex number, array, etc. –Babel : Language Interoperability Tool NonlinearFunction FunctionPort MidpointIntegrator IntegratorPort CFortran LinearFunction FunctionPort Python

Example of the CCA Composition interface IntegratorPort extends gov.cca.Port { double integrate(in double lowBound, in double upBound, in int count); }

Ccaffeine Parallel implementation of the CCA framework SCMD (Single Component Multiple Data) –Inter-components communication virtual function call in the same address space –Intra-components communication could be MPI, PVM, etc.

Kepler Scientific workflow enviroment –Data-flow oriented Basic unit: Actor –Input, Output –Typed dataflow structure –Lots of domain-specific actors supporting biology, ecology, astronomy –General facility actors Grid service actor Web service actor Wire the actors by piping GridFtp Classifier localFilePath URL Credential

Compare Side by Side Actor –Stands for one function Port –Input/Output –A data-structure definition Connection –Producer to Consumer Compositions defines “How” Advantages –Loosely coupled –Supports distributed resource sharing Component –Stands for one class Port –Provide/Use –An interface signature Connection –Caller to Callee Composition defines “What” Advantages –Good performance –Supports parallel programming model

A Hybrid solution Typical scientific applications –involve multiple distributed data processing phases. –Among those phases there are number of computationally intensive cores, often the classical numerical algorithm need the high performance execution environment. The hybrid scheme –use the workflow scheme to decompose based on the distribution of the resource –Then use the component scheme to further decompose those computationally intensive sub- problems to form the parallel solution. Benefit from both schemes

Service over Components Building web service over the CCA –Web service = good interoperability –Kepler supports web service as the actor –More resource and protocols (e.g., WS-BEPL) Façade pattern –External view by the coarse-grained web service –Internal functionality by the fine-grained components. Factory pattern –Workflow needs a task-specific service rather than meta-level service. –The task-specific Service Should be created dynamically and on-demand –But service is not instantiable ! service Task-specific service create

Architecture Job –A specific task performed by a group wired components Two phases execution –Compose the job –Run the job Two explicitly separated web services (CCA-Services) –Factory Service –Job Proxy Factory Service Ccaffeine Framework IPC Job Proxy Composer User Invocation Job description

Job Factory Service A Façade for the ccaffeine framework –Connects the ccaffeine muxer via a socket –Maintains the job tables, job lifecycle Create –parameters Gateway port – the task-specific interface Composition Description: –how components wired to support the Gateway port –Convert the SIDL to WSDL Gateway port definition to the equivalent WSDL –Forward the composition commands to the ccaffeine muxer Will be executed in parallel –Maintain job records internally –Create the Job Proxy service return its WSDL URL Modify –Change the composition without impacting the service interface

Job Proxy Service Façade for the wired components With task-specific WSDL interface When getting the SOAP message –Extract the argument from the message –Pass the argument to the ccaffeine –Invoke the ccaffeine –Get result from Driver and send SOAP response Job Proxy User SOAP request Arguments Driver

Example Factory Service socket Composer Gateway port composition Job Proxy Go Gateway port User SOAP Job WSDL Job table

Convert SIDL to WSDL SIDL Port interface (methods) object oriented –Port interface A virtual interface inheritance, polymorphism Can be referred as the function parameter type –No data structure so far WSDL PortType (operations) wire-format description –PortType A group of message exchanges no inheritance, no polymorphism can’t be referred as the method parameter type –Any type is data structure essentially (by XML Schema) No way to figure out the structural information from a SIDL port interface! Challenge Current workaround: Only allow the methods with primitive argument type Introducing structure in SIDL will alleviate the problem reasonably

Example interface IntegratorPort extends gov.cca.Port { double integrate(in double lowBound, in double upBound, in int count); }

Kepler Web Service Actor Kepler provides a general web service actor For a method defined in the WSDL –The actor will dynamically adjusts its input/output setting

Kepler CCA-Service Actor For CCA-Serivce –Recall that we have 2 explicit steps –the JobProxy service is dynamically created –We need to hide the procedure of creating the JobProxy service from the user CCA-Service Actor –Extended from the web service actor –First calls the JobFactory service to create the JobProxy service –With the WSDL of JobProxy, it does same thing as a general web service actor does

Change the GUI from Socket stream based to Soap message based.

Conclusion A hybrid decomposition scheme for scientific application Workflow scheme is used first based on the resource distribution Component scheme is used to further decompose the core parts Web service interface is the key to the integration CCA integrates into Kepler as a special actor, with GUI supporting unified visual environment. Converting SIDL to WSDL is inherently challenging, Structure is useful for distributed systems, so we need to introduce the Structure into SIDL

Thanks Thanks for the valuable comment by the reviewers