Distributed Components for Integrating Large- Scale High Performance Computing Applications Nanbor Wang, Roopa Pundaleeka and Johan Carlsson

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

1 Communication in Distributed Systems REKs adaptation of Tanenbaums Distributed Systems Chapter 2.
RPC Robert Grimm New York University Remote Procedure Calls.
Distributed Object & Remote Invocation Vidya Satyanarayanan.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
.NET Remoting. .Net Remoting Replaces DCOM (Distributed Component Object Model – a proprietary Microsoft technology for communication among software components.
Objectives In this session, you will learn to:
CORBA Architecture Nitin Prabhu. Outline CORBA Object Model CORBA Architecture Static Invocation Dynamic Invocation CORBA Communication Model.
Broker Pattern Pattern-Oriented Software Architecture (POSA 1)
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
Scripting Languages For Virtual Worlds. Outline Necessary Features Classes, Prototypes, and Mixins Static vs. Dynamic Typing Concurrency Versioning Distribution.
Communication in Distributed Systems –Part 2
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 17 Client-Server Processing, Parallel Database Processing,
Cross Cluster Migration Remote access support Adianto Wibisono supervised by : Dr. Dick van Albada Kamil Iskra, M. Sc.
.NET Mobile Application Development Remote Procedure Call.
Client-Server Processing and Distributed Databases
Client/Server Software Architectures Yonglei Tao.
Center for Component Technology for Terascale Simulation Software 122 June 2002Workshop on Performance Optimization via High Level Languages and Libraries.
Object and component “wiring” standards This presentation reviews the features of software component wiring and the emerging world of XML-based standards.
A Hybrid Decomposition Scheme for Building Scientific Workflows Wei Lu Indiana University.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
1 Chapter 2. Communication. STEM-PNU 2 Layered Protocol TCP/IP : de facto standard Our Major Concern Not always 7-layered Protocol But some other protocols.
A Comparison of Java RMI, CORBA, and Web Services Technologies for Distributed SIP Applications Mark D. Hanes Stanley C. Ahalt Ashok K. Krishnamurthy Department.
DEVS Namespace for Interoperable DEVS/SOA
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
CcaEcloud Phase I Wrap-up Phase I Doe SBIR Stefan Muszala, PI DOE Grant No DE-FG02-08ER85152 Tech-X Corporation Boulder, CO Updates: onRamp, FACETS+Babel,
Lecture 15 Introduction to Web Services Web Service Applications.
October 8, 2015 Research Sponsored by NASA Applying Reflective Middleware Techniques to Optimize a QoS-enabled CORBA Component Model Implementation Nanbor.
Comparison of Web Services, RMI, CORBA, DCOM Usha, Lecturer MCA Department of Computer Science and Engineering.
11 September 2008CIS 340 # 1 Topics To examine the variety of approaches to handle the middle- interaction (continued) 1.RPC-based systems 2.TP monitors.
Crossing The Line: Distributed Computing Across Network and Filesystem Boundaries.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W. Grundke.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Plans and Opportunities Involving Beam Dynamics Components ComPASS SAP Project and Phase I and II Doe SBIR Boyana Norris (ANL) In collaboration with Stefan.
Grid Computing Research Lab SUNY Binghamton 1 XCAT-C++: A High Performance Distributed CCA Framework Madhu Govindaraju.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Center for Component Technology for Terascale Simulation Software CCA is about: Enhancing Programmer Productivity without sacrificing performance. Supporting.
CORBA Technologies and Beyond
SCIRun and SPA integration status Steven G. Parker Ayla Khan Oscar Barney.
Integrating Digital Libraries by CORBA, XML and Servlet Integrating Digital Libraries by CORBA, XML and Servlet Wing Hang Cheung, Michael R. Lyu and Kam.
Presented by An Overview of the Common Component Architecture (CCA) The CCA Forum and the Center for Technology for Advanced Scientific Component Software.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved RPC Tanenbaum.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Introduction to Spring Remoting Simplifying.
CSE 451: Operating Systems Winter 2015 Module 22 Remote Procedure Call (RPC) Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
May 2003National Coastal Data Development Center Brief Introduction Two components Data Exchange Infrastructure (DEI) Spatial Data Model (SDM) Together,
Update on CORBA Support for Babel RMI Nanbor Wang and Roopa Pundaleeka Tech-X Corporation Boulder, CO Funded by DOE OASCR SBIR.
Integrating Large-Scale Distributed and Parallel High Performance Computing (DPHPC) Applications Using a Component-based Architecture Nanbor Wang 1, Fang.
Eric Tryon Brian Clark Christopher McKeowen. System Architecture The architecture can be broken down to three different basic layers Stub/skeleton layer.
CCA Common Component Architecture CCA Forum Tutorial Working Group CCA Status and Plans.
Connections to Other Packages The Cactus Team Albert Einstein Institute
Toward interactive visualization in a distributed workflow Steven G. Parker Oscar Barney Ayla Khan Thiago Ize Steven G. Parker Oscar Barney Ayla Khan Thiago.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Distributed Components for Integrating Large-Scale High Performance Computing Applications – A Project Summary Nanbor Wang Tech-X Corporation.
Implementing Babel RMI with ARMCI Jian Yin Khushbu Agarwal Daniel Chavarría Manoj Krishnan Ian Gorton Vidhya Gurumoorthi Patrick Nichols.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
Web Service Definition Language. Web Services: WSDL2 Web Service Definition Language ( WSDL ) What is a web service? [ F. Leymann 2003 ] A piece of code.
(C) 2003 University of ManchesterCS31010 Lecture 14: CORBA.
1 Chapter 2. Communication. STEMPusan National University STEM-PNU 2 Layered Protocol TCP/IP : de facto standard Our Major Concern Not always 7-layered.
Toward a Distributed and Parallel High Performance Computing Environment Johan Carlsson and Nanbor Wang Tech-X Corporation Boulder,
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
CORBA Alegria Baquero.
Programming Models for Distributed Application
CORBA Alegria Baquero.
Presentation transcript:

Distributed Components for Integrating Large- Scale High Performance Computing Applications Nanbor Wang, Roopa Pundaleeka and Johan Carlsson Tech-X Corporation Boulder, CO CCA Meeting, October 11, 2007 Funded by DOE OASCR SBIR Grant #DE-FG02-04ER84099

Distributed Components 2 Nanbor Wang, Roopa Pundaleeka and Johan Carlsson Outline Motivation Distributed and Parallel High-Performance Computing (DPHPC) Exploring Diverse Distributed Technologies –Distributed Proxy Components –New Transport Mechanism to Babel RMI Babel RMI Babel RMI over CORBA IIOP –Performance Comparisons Future Work

Distributed Components 3 Nanbor Wang, Roopa Pundaleeka and Johan Carlsson Motivations for Distributed and Parallel Component-Based Software Engineering Existing component standards and frameworks designed with enterprise applications in mind –No support for features that are important for HPC scientific applications: interoperability with scientific programming languages (FORTRAN) and parallel computing infrastructure (MPI) Need to address needs of HPC scientific applications: combustion modeling, global climate modeling, fusion plasma simulations Motivating scenarios for Distributed and Parallel HPC (DPHPC): –Integrate separately-developed and established codes –Provide a different paradigm for partitioning problems – multi-physics simulations –Provide ways to better utilize high-CPU number hardware –Combine computing resources of multiple clusters/computing centers –Enable parallel data streaming between computing task and post- processing task

Distributed Components 4 Nanbor Wang, Roopa Pundaleeka and Johan Carlsson Distributed Proxy CCA Components Connect distributed parallel components by composing remote-capable proxy components into applications Hide the distributed aspect from the localized parallel CCA framework Provide low-cost mechanisms for connecting incompatible CCA infrastructures, e.g., Ccafeine, Dune, Ccain, and SciRUN

Distributed Components 5 Nanbor Wang, Roopa Pundaleeka and Johan Carlsson BABEL RMI CLIENT BABEL RMI SERVER Babel RMI Interface Simple Protocol New Transport Mechanism for Babel RMI Babel generates mapping for remote invocations, and uses Simple Protocol Babel has the capability to allow users to take advantage of various remoting technologies through third party RMI libraries We are developing a CORBA protocol library for Babel RMI using TAO (version or later) –TAO is the C++ based CORBA middleware framework –This protocol is essentially a bridge between Babel and TAO BABEL RMI CLIENT BABEL RMI SERVER Babel RMI Interface TAOIIOP TAO

Distributed Components 6 Nanbor Wang, Roopa Pundaleeka and Johan Carlsson Adding CORBA protocol for Babel RMI Goal –Utilize CORBA wire protocol for Babel RMI for communication between Babel clients and servants –Allow interoperability between existing CORBA and Babel objects (e.g., with SciRUN CORBA support) –Maintain performance of CORBA IIOP protocol Direct mapping approach –Requires support of certain Babel types; complex numbers, multidimensional arrays and exceptions –Exchange messages in CORBA format –Allow development of new SIDL-compatible CORBA objects

Distributed Components 7 Nanbor Wang, Roopa Pundaleeka and Johan Carlsson Client-side Operation Invocations CORBA uses Common Data Representation (CDR) – a binary serialization format, for transferring messages. Data packed directly No more CORBA – BABEL transformations for data

Distributed Components 8 Nanbor Wang, Roopa Pundaleeka and Johan Carlsson Server-side Request Handling A default TAO servant handles all Babel invocations Requests are dispatched to target Babel objects based on the instance/object ID Need to extend TAO’s PortableServer class to expose the Input (for reading input parameters) and Output (to sending the results) CDRs –SIDL Call and Response objects get a reference to the Input and Output CDRs respectively

Distributed Components 9 Nanbor Wang, Roopa Pundaleeka and Johan Carlsson Server-side Request Handling in TAOIIOP 1.Default TAO object (TaoIIOPObject) extends TAO PortableServer::ServantBase, and implements the ‘dispatch’ method, which gets the Input and Output CDRs in ServerReq obj. 2.The dispatch method creates the sidl::rmi::Response, which stores the CDR 3.Gets a reference to the target SIDL object from the InstanceRegistry 4.Executes the target method 1.Pack methods are called on the response object for return, inout and out parameters 2.The results are directly packed into the CDR

Distributed Components 10 Nanbor Wang, Roopa Pundaleeka and Johan Carlsson Features Implemented in TAOIIOP All Babel types except opaque Exception Handling One-way method Invocation Non-Blocking / Asynchronous Method Invocation

Distributed Components 11 Nanbor Wang, Roopa Pundaleeka and Johan Carlsson TAOIIOP V2.0 Optimizations Initial implementation provides a proof-of-concept but has many extra memory allocations, copying and conversions Added support to be able to directly add Babel types to CORBA CDR No conversions between Babel types and CORBA types to support discrepancies Aggregation of memory allocations

Distributed Components 12 Nanbor Wang, Roopa Pundaleeka and Johan Carlsson Performance Comparison 1

Distributed Components 13 Nanbor Wang, Roopa Pundaleeka and Johan Carlsson Performance Comparison 2

Distributed Components 14 Nanbor Wang, Roopa Pundaleeka and Johan Carlsson Performance Comparison 3

Distributed Components 15 Nanbor Wang, Roopa Pundaleeka and Johan Carlsson Performance Comparison 4

Distributed Components 16 Nanbor Wang, Roopa Pundaleeka and Johan Carlsson Performance Analysis TaoIIOP V1.0 takes a performance hit consistently –Performing extra conversions for arrays and complex number types between CORBA and Babel –Multiple, fine-grained memory allocations –Not taking advantage of TAO’s key optimization mechanisms Distributed proxy components suffers a bit again because data marshalling TaoIIOP V2.0 has a performance gain of 10% for double and 30% for complex numbers, compared to TaoIIOP 1.0 –Optimizations: Made CORBA-Babel mapping types native in TAO by implementing optimized, zero-copy version of marshaling and demarshaling support

Distributed Components 17 Nanbor Wang, Roopa Pundaleeka and Johan Carlsson Application of DPHPC We have developed an example application to demonstrate the use of DPHPC –Separating post-simulation data processing (after each time step –Based on Vorpal, a C++ plasma and beam simulation code –Implemented by Fang (Cherry) Liu (Indiana Univ) during summer internship Visible speed up using DPHPC –The actually trend of speedups are counter-intuitive –We are exploring different RMI approaches (TAOIIOP, oneway) and examining ways to optimize the use case

Distributed Components 18 Nanbor Wang, Roopa Pundaleeka and Johan Carlsson Summary Implemented the distributed proxy components and the TaoIIOP Babel RMI protocol for connecting distributed CCA applications into a large-scale systems Conducted performance benchmarking on preliminary prototype implementation (version 1.0) to identify key optimizations needed Implemented the optimizations to minimize the overhead (version 2.0) Developed a preliminary example application for remote high performance parallel application with local clusters for data analysis and/or visualization –Work performed by summer intern Fang Liu from Indiana University