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

Slides:



Advertisements
Similar presentations
A Lightweight Platform for Integration of Mobile Devices into Pervasive Grids Stavros Isaiadis, Vladimir Getov University of Westminster, London {s.isaiadis,
Advertisements

Large-Scale, Adaptive Fabric Configuration for Grid Computing Peter Toft HP Labs, Bristol June 2003 (v1.03) Localised for UK English.
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Elton Mathias and Jean Michael Legait 1 Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis,
1 Communication in Distributed Systems REKs adaptation of Tanenbaums Distributed Systems Chapter 2.
1 Towards Building Generic Grid Services Platform A component oriented approach Jeyarajan Thiyagalingam Stavros Isaiadis, Vladimir Getov Distributed and.
Self-Regenerative Middleware Service for Cross-Standards and Ubiquitous Services Activation Mengjie Yu ( )
31242/32549 Advanced Internet Programming Advanced Java Programming
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
High-Performance Predictive XML Parsing with gSOAP Robert van Engelen Florida State University.
RPC Robert Grimm New York University Remote Procedure Calls.
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy SOAP-based Web.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
Harness and H2O Alternative approaches to metacomputing Distributed Computing Laboratory Emory University, Atlanta, USA
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.
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
Technical Architectures
1 Component-based Grid Environment for Programming Scientific Applications Maciej Malawski.
Institute of Computer Science AGH MOCCA - H2O-based CCA component framework for programming grids and metacomputing systems Maciej Malawski, Marian Bubak,
TerascaleSimulation Tools and Technologies Tutorial: Presenter Institution.
Web Services Michael Smith Alex Feldman. What is a Web Service? A Web service is a message-oriented software system designed to support inter-operable.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
Institute of Computer Science AGH MOCCA – A Distributed CCA Framework based on H2O Maciej Malawski, Dawid Kurzyniec, Vaidy Sunderam Distributed Computing.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
A Hybrid Decomposition Scheme for Building Scientific Workflows Wei Lu Indiana University.
NeSC Grid Apps Workshop Exposing Legacy Applications as OGSI Components using pyGlobus Keith R. Jackson Distributed Systems Department Lawrence Berkeley.
Presented by Xiaoyu Qin Virtualized Access Control & Firewall Virtualization.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
WEB SERVICES Mahmoud Rabie – EGJUG W EB SERVICES The world before Situation Problems Solutions Motiv. for Web Services Probs. with Curr. sols. Web.
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 Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Crossing The Line: Distributed Computing Across Network and Filesystem Boundaries.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
INMIDIO: an INteroperable MIddleware for service Discovery and service InteractiOn Daniele Sacchetti
Grid Computing Research Lab SUNY Binghamton 1 Plans for Babelizing XCAT-C++ Madhu Govindaraju Kenneth Chiu.
Cracow Grid Workshop, October 27 – 29, 2003 Institute of Computer Science AGH Design of Distributed Grid Workflow Composition System Marian Bubak, Tomasz.
Grid Computing Research Lab SUNY Binghamton 1 XCAT-C++: A High Performance Distributed CCA Framework Madhu Govindaraju.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
DataNet – Flexible Metadata Overlay over File Resources Daniel Harężlak 1, Marek Kasztelnik 1, Maciej Pawlik 1, Bartosz Wilk 1, Marian Bubak 1,2 1 ACC.
Distributed Programming CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
Virtualization in MetaSystems Vaidy Sunderam Emory University, Atlanta, USA
EC-project number: Universal Grid Client: Grid Operation Invoker Tomasz Bartyński 1, Marian Bubak 1,2 Tomasz Gubała 1,3, Maciej Malawski 1,2 1 Academic.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
CCA Common Component Architecture CCA Forum Tutorial Working Group CCA Status and Plans.
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
An Introduction to Web Services Web Services using Java / Session 1 / 2 of 21 Objectives Discuss distributed computing Explain web services and their.
Introduction to Web Services. Agenda Motivation History Web service model Web service components A walkthrough examples.
Implementing Babel RMI with ARMCI Jian Yin Khushbu Agarwal Daniel Chavarría Manoj Krishnan Ian Gorton Vidhya Gurumoorthi Patrick Nichols.
Web Services Architecture Presentation for ECE8813 Spring 2003 By: Mohamed Mansour.
1 ProActive GCM – CCA Interoperability Maciej Malawski, Ludovic Henrio, Matthieu Morel, Francoise Baude, Denis Caromel, Marian Bubak Institute of Computer.
Toward a Distributed and Parallel High Performance Computing Environment Johan Carlsson and Nanbor Wang Tech-X Corporation Boulder,
SOAP RMI Aleksander Slominski, Madhusudhan Govindaraju, Randall Bramley, Dennis Gannon Indiana University Extreme! Lab A New-Old Programming Model for.
Grid Execution Management for Legacy Code Architecture Exposing legacy applications as Grid services: the GEMLCA approach Centre.
CCA Distributed Framework Interoperability. Goals Assume you have two (or more) framework instances. –Assume it contains a network of component instances.
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Distribution and components
Inventory of Distributed Computing Concepts and Web services
WEB SERVICES Mr. P. VASANTH SENA.
Inventory of Distributed Computing Concepts
WEB SERVICES Mahmoud Rabie – EGJUG 2006.
Distributed System using Web Services
Distributed System using Web Services
Presentation transcript:

Institute of Computer Science AGH Towards Multilanguage and Multiprotocol Interoperability: Experiments with Babel and RMIX Maciej Malawski, Daniel Harężlak, Marian Bubak Institute of Computer Science AGH, Kraków, Poland ACC CYFRONET AGH, Kraków, Poland

Institute of Computer Science AGH 2 Outline Motivation: multiple languages and protocols in Grids Background: MOCCA = H2O + CCA RMIX multiprotocol library BABEL multilanguage interoperability tool Combining RMIX and Babel

Institute of Computer Science AGH 3 Motivation Grids are heterogeneous Multiple programming languages – in single application –Java for middleware –C for system programming –FORTRAN for computing –Python for scripting Multiple protocols – in single application –High speed local networks (Myrinet) –TCP/SSL/TLS in WAN –SOAP for loosely coupled message exchange –Overlay P2P networks for traversing private network boundaries (NATs) Context: MOCCA component framework

Institute of Computer Science AGH 4 Background: CCA and H2O Common Component Architecture (CCA) Component standard for HPC Uses and provides ports described in SIDL Support for scientific data types Existing tightly coupled (CCAFFEINE) and loosely coupled, distributed (XCAT) frameworks H2O Distributed resource sharing platform Providers setup H2O kernel (container) Allowed parties can deploy pluglets (components) Separation of roles: decoupling –Providers from deployers –Providers from each other RMIX: efficient multiprotocol RMI extension

Institute of Computer Science AGH 5 Example Scenarios of H2O 1. Provider = deployer e.g. resource = legacy application 2. Reseller:= developer = deployer e.g. computational service offered within a grid system 3. Client = deployer e.g. client runs custom distributed application on shared resources

Institute of Computer Science AGH 6 RMIX Communication Substrate Extensible framework Remote Method Invocations paradigm Pluggable protocol providers Multiple protocols supported –JRMPX, ONC-RPC, SOAP Request-Response and Asynchronous calls Combines simplicity, flexibility, and performance ONC-RPC Web Services SOAP clients JXTA RMIX RMIX XSOAP RMIX RPCX RMIX JXTA RMIX JRMPX Java Service

Institute of Computer Science AGH 7 RMIX: Multiple Protocols Protocol switching Protocol negotiation Various protocol stacks for different situations –SOAP: interoperability –SSL: security –ARPC, custom (Myrinet, Quadrics): efficiency Pluggable transport layer: support for JXTA P2P network Harness Kernel Internet security firewall efficiency H2O Kernel

Institute of Computer Science AGH 8 MOCCA Implementation in H2O Each component running in separate pluglet –Facilitated deployment and security Thanks to H2O kernel security mechanisms, multiple components may run without interfering Using RMIX for communication – efficiency, multiprotocol interoperability Flexibility and multiple scenarios – as in H2O MOCCA_Light: pure Java implementation - need for supporting multilanguage components

Institute of Computer Science AGH 9 Multilanguage Solution - Babel SIDL – Scientific Interface Definition Language –Standard for CCA Components –Supports arrays and complex types –Focus on interfaces Babel: –SIDL parser –Code generator –Runtime library Intermediate Object Representation (IOR) –Core of Babel object –Array of function pointers –Generated code in C package example version 1.2 { class Hello { string hello( in string hello); } // user defined non-static methods: /** * Method: hello[] */ public java.lang.String hello_Impl ( /*in*/ java.lang.String hello ) { // DO-NOT-DELETE splicer.begin(example.Hello.hello) // Insert-Code-Here {example.Hello.hello} (hello) return Server says: + hello; // DO-NOT-DELETE splicer.end(example.Hello.hello) } /** * Method: hello[] */ char* example_Hello_hello( /*in*/ example_Hello self, /*in*/ const char* hello);

Institute of Computer Science AGH 10 Currently: Babel for Local Applications All Babel objects in one process Implemented in CCAFFEINE framework Existing multilanguage CCA components – see CCA tutorial Java application Fortran native library SIDL C++ native library SIDL Babel IOR

Institute of Computer Science AGH 11 Our Solution Babel + RMIX Implementation of Babel RMI extensions – generic mechanism of method invocation (reflection) – Dynamic loading of communication library – No need for code generation and compilation Java application Fortran native library SIDL C++ native library SIDL Babel IOR RMIX library Babel IOR Network SIDL RMIX library SIDL

Institute of Computer Science AGH 12 sidl.iosidl.rmi Class Diagram > InstanceHandle > Invocation > ServerInfo > Response RmixInstanceHandleRmixSerializerRmixDeserializerRmixServerInfoRmixInvocationRmixResponse > Deserializer > Serializer rmix

Institute of Computer Science AGH 13 Client-side Invocation

Institute of Computer Science AGH 14 Server-side Invocation

Institute of Computer Science AGH 15 Conclusions Combining Babel with RMIX will offer distributed application flexibility Now: beginning of implementation phase Applicable to MOCCA framework, but the solution is general –Interfacing legacy systems –Interfacing Web services More interoperability? – multiple component standards...

Institute of Computer Science AGH 16 References Maciej Malawski, Dawid Kurzyniec, and Vaidy Sunderam. MOCCA – towards a distributed CCA framework for metacomputing, 10th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS2005) at IPDPS H2O Project homepage: CCA Forum: –CCA Specification –Tutorial Babel: MOCCA homepage: –Download binary and source distribution –README