Grid Computing Research Lab SUNY Binghamton 1 XCAT-C++: A High Performance Distributed CCA Framework Madhu Govindaraju.

Slides:



Advertisements
Similar presentations
Institute of Computer Science AGH Towards Multilanguage and Multiprotocol Interoperability: Experiments with Babel and RMIX Maciej Malawski, Daniel Harężlak,
Advertisements

18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Siebel Web Services Siebel Web Services March, From
TSpaces Services Suite: Automating the Development and Management of Web Services Presenter: Kevin McCurley IBM Almaden Research Center Contact: Marcus.
31242/32549 Advanced Internet Programming Advanced Java Programming
COM vs. CORBA.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
RPC Robert Grimm New York University Remote Procedure Calls.
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
The road to reliable, autonomous distributed systems
Distributed components
Distributed Heterogeneous Data Warehouse For Grid Analysis
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
Technical Architectures
Comparison of the RMI and the socket APIs
Milos Kobliha Alejandro Cimadevilla Luis de Alba Parallel Computing Seminar GROUP 12.
Web Service What exactly are Web Services? To put it quite simply, they are yet another distributed computing technology (like CORBA, RMI, EJB, etc.).
Web-based Portal for Discovery, Retrieval and Visualization of Earth Science Datasets in Grid Environment Zhenping (Jane) Liu.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
An Introduction to the Common Component Architecture for the poster: A Study of the Common Component Architecture (CCA) Forum Software Daniel S. Katz,
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
Checkpoint & Restart for Distributed Components in XCAT3 Sriram Krishnan* Indiana University, San Diego Supercomputer Center & Dennis Gannon Indiana University.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
第十四章 J2EE 入门 Introduction What is J2EE ?
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
Grid Computing Research Lab SUNY Binghamton 1 Plans for Babelizing XCAT-C++ Madhu Govindaraju Kenneth Chiu.
Ch 1. A Python Q&A Session Spring Why do people use Python? Software quality Developer productivity Program portability Support libraries Component.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
SCIRun and SPA integration status Steven G. Parker Ayla Khan Oscar Barney.
Adaptable Consistency Control for Distributed File Systems Simon Cuce Monash University Dept. of Computer Science and Software.
Shannon Hastings Multiscale Computing Laboratory Department of Biomedical Informatics.
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
Distributed Programming CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
Extreme! Computing Lab, Dept. of Computer Science, Indiana University 1 Programming the Grid with Components Madhu Govindaraju Aleksander Slominski Dennis.
Chapter 10 Intro to SOAP and WSDL. Objectives By study in the chapter, you will be able to: Describe what is SOAP Exam the rules for creating a SOAP document.
Presented by An Overview of the Common Component Architecture (CCA) The CCA Forum and the Center for Technology for Advanced Scientific Component Software.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Grid Services I - Concepts
XML and Web Services (II/2546)
Distributed Object Frameworks DCE and CORBA. Distributed Computing Environment (DCE) Architecture proposed by OSF Goal: to standardize an open UNIX envt.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
ICalendar Compatible Collaborative Calendar- Server (CCS) Web Services Ahmet Fatih Mustacoglu Indiana University Computer Science Department Community.
1 Engineering Web Based Legacy Systems By Kanchana Eramudugoda Distributed Computing – CS843.
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
Kemal Baykal Rasim Ismayilov
CSIT 220 (Blum)1 Remote Procedure Calls Based on Chapter 38 in Computer Networks and Internets, Comer.
1 Service Creation, Advertisement and Discovery Including caCORE SDK and ISO21090 William Stephens Operations Manager caGrid Knowledge Center February.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
Globus: A Report. Introduction What is Globus? Need for Globus. Goal of Globus Approach used by Globus: –Develop High level tools and basic technologies.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
CCA Distributed Framework Interoperability. Goals Assume you have two (or more) framework instances. –Assume it contains a network of component instances.
A service Oriented Architecture & Web Service Technology.
WEB SERVICES.
The XCAT Science Portal
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Introduction to Web Services
Distributed System using Web Services
Introduction to SOA and Web Services
Distributed System using Web Services
Presentation transcript:

Grid Computing Research Lab SUNY Binghamton 1 XCAT-C++: A High Performance Distributed CCA Framework Madhu Govindaraju

2 Introduction Building and deploying high performance grid applications is challenging –Software development model can help abstracts the complexity of the grid environment simplifies the programmer’s task can take advantage of extant software The Common Component Architecture (CCA) model –presents a promising approach to address this challenge –specifically designed for high-performance –Same specification can be used for different applications serial, parallel and distributed

3 A Few Definitions What is a Component Architecture –A Software Engineering Methodology/Standard to promote code reusability & reduce application complexity.. –A Component encapsulated software module with well defined public interfaces. strict set of behavior rules defined by the architecture. –A Component framework is - A compile-time/runtime environment for instantiating, composing and running components. Provides standard services expected by components

4 Component Composition Components can be linked along shared interfaces (ports) where one component invokes the services of another –Two types of Ports Provides Ports – implements a remote interface Uses Ports – uses a remote interface –A user and a provider of the same type can be linked –Details of run-time substrate shielded in stubs and skeletons Uses port - a call site for a remote function invocation Provides Port - A set of functions which can be invoked remotely

5 Building Applications by Composition Connect uses Ports to Provides Ports. getImage() adjustColor() Image tool graphical interface component setImage(…) Direct connect Single address space Remote component Image Processing Component doFFT(…) ACME FFT Component Image Database Component

6 XCAT XCAT-Java (Indiana University) –Interoperable with emerging standards in Grid Web services –Uses XSOAP communication library Implementation of the SOAP (XML + HTTP) specification XCAT-C++ (SUNY Binghamton) –Support for most of CCA API –Uses Proteus multi-protocol communication library tested with the binary protocol of Proteus XSOAP-C++ module within Proteus is currently being tested

7 Creation Mechanism CCA does not specify how components should be created. –Needs to be handled by the framework –Same BuilderService Interface is used create, connect, and disconnect for all kinds of frameworks (serial, distributed and parallel) XCAT-C++ –Supports use of SSH needs to have an apriori setup –Current work is on adding support for GRAM provide authenticated remote process creation globus-_url_copy to stage files for legacy applications

8 Proteus: Multi-Protocol Library One protocol does not suit all applications Proteus provides single- protocol abstraction to components –Allows users to dynamically switch between protocols Example:Protocol1 & Protocol 2, in the picture –Facilitates use of specialized implementations of serialization and deserialization CCA Framework Proteus API Protocol 1 Protocol 2 TCP Myrinet

9 CCA and Grid Web Services

10 User Interface C++ interface to the BuilderService Implementation Python interface via SWIG Example Snippets typeMapProv.putString( "remoteHost", “drake”) typeMapProv.putString("creationArgs", "-l xbmp.so”) connID = builderService.connect(…); # can also get a uses port and invoke “go” # from the python script

11 XCAT-C++ Component: Architecture

12 Performance

13 Performance: 2D arrays

14 Code Generation C++ Header File WSDL Document Proteus and XCAT++ Stubs and Skeletons Intermediate XML Format gccxml libxml WSDLPull

15 How Distributed Frameworks are Different Remote Creation Launch components in remote address spaces Heterogeneity management Use resource managers to service requests on each remote resource Store, move and replicate component binaries Remote Invocation Need global pointers and not local pointers Invoke methods across machine boundaries Need global namespace for names of components and services Mechanism for implementing remote method invocation (RMI) Introspection mechanisms to allow ports and services to be discovered and accessed

16 Current and Future Work Improve the code generation module Provide stable support for platforms other than Linux Add support for other communication protocols Integrate WS-GRAM for authenticated creation Publish latest tarball on project web page

17 Contact Information Madhu Govindaraju Phone:

18 Extra

19 The DOE Common Component Architecture A specification for a CA for large scale scientific computation –Both a DOE project and an open forum Sandia, llnl, argonne, pnnl, ornl, nasa (icase), utah, indiana, Maryland, ncsa, … about 50 people. Key concepts –An Interface Definition Language to support scientific data types (SIDL) –A concept of a “parallel data object” –Component composition model Support 0 copy data movement for components within the same addresss space as well as secure remote RPC. –Component services Event model, invocation services, composition services Component metadata directory