CBHPC’08: Component-Based High Performance Computing (16/10/08) 1 A GCM-Based Runtime Support for Parallel Grid Applications Elton Mathias, Françoise Baude.

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

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,
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Architecture Representation
European Commission Directorate-General Information Society Unit F2 – Grid Technologies INSERT PROJECT ACRONYM HERE BY EDITING THE MASTER SLIDE (VIEW.
RPC Robert Grimm New York University Remote Procedure Calls.
Parallel Computation of the 2D Laminar Axisymmetric Coflow Nonpremixed Flames Qingan Andy Zhang PhD Candidate Department of Mechanical and Industrial Engineering.
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006 GridCOMP Grids Programming with components. An.
CISC October Goals for today: Foster’s parallel algorithm design –Partitioning –Task dependency graph Granularity Concurrency Collective communication.
Technical Architectures
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.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Scripting Languages For Virtual Worlds. Outline Necessary Features Classes, Prototypes, and Mixins Static vs. Dynamic Typing Concurrency Versioning Distribution.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
Monitoring OSGi platforms with ProActive Virginie Legrand OASIS Team - INRIA Sophia Antipolis.
A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,
PRESENTED BY SANGEETA MEHTA EECS810 UNIVERSITY OF KANSAS OCTOBER 2008 Design Patterns.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
1 Parallel Simulations of Underground Flow in Porous and Fractured Media H. Mustapha 1,2, A. Beaudoin 1, J. Erhel 1 and J.R. De Dreuzy IRISA – INRIA.
1 ProActive performance evaluation with NAS benchmarks and optimization of OO SPMD Brian AmedroVladimir Bodnartchouk.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Lecture 4: Parallel Programming Models. Parallel Programming Models Parallel Programming Models: Data parallelism / Task parallelism Explicit parallelism.
An approach for solving the Helmholtz Equation on heterogeneous platforms An approach for solving the Helmholtz Equation on heterogeneous platforms G.
1 Developing Native Device for MPJ Express Advisor: Dr. Aamir Shafi Co-advisor: Ms Samin Khaliq.
Predictive Runtime Code Scheduling for Heterogeneous Architectures 1.
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
1 CCA Meeting, Januray 25th 2007 Supporting the Master-Worker Paradigm in the Common Component Architecture Hinde Lilia Bouziane, Christian Pérez, Thierry.
The Grid Component Model: an Overview “Proposal for a Grid Component Model” DPM02 “Basic Features of the Grid Component Model (assessed)” -- DPM04 CoreGrid.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
The Grid Component Model and its Implementation in ProActive CoreGrid Network of Excellence, Institute on Programming Models D.PM02 “Proposal for a Grid.
Chapter 3 Parallel Algorithm Design. Outline Task/channel model Task/channel model Algorithm design methodology Algorithm design methodology Case studies.
Formalism and Platform for Autonomous Distributed Components Bio-inspired Networks and Services A Distributed Component Model Formalisation in Isabelle.
MRPGA : An Extension of MapReduce for Parallelizing Genetic Algorithm Reporter :古乃卉.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Evaluation of Agent Teamwork High Performance Distributed Computing Middleware. Solomon Lane Agent Teamwork Research Assistant October 2006 – March 2007.
Programming Parallel and Distributed Systems for Large Scale Numerical Simulation Application Christian Perez INRIA researcher IRISA Rennes, France.
Service Oriented Architectures Presentation By: Clifton Sweeney November 3 rd 2008.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Asynchronous Components with Futures: Semantics, Specification, and Proofs in a Theorem Prover Components (Distributed) Futures Formalisations (and proofs)
A High Performance Middleware in Java with a Real Application Fabrice Huet*, Denis Caromel*, Henri Bal + * Inria-I3S-CNRS, Sophia-Antipolis, France + Vrije.
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © GridCOMP Grids Programming with components.
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006 GridCOMP Grids Programming with components. An.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
The Cosmic Cube Charles L. Seitz Presented By: Jason D. Robey 2 APR 03.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
1. 2 Objects to Distributed Components (1) Typed Group Java or Active Object ComponentIdentity Cpt = newActiveComponent (params); A a = Cpt ….getFcInterface.
Lecture 4 TTH 03:30AM-04:45PM Dr. Jianjun Hu CSCE569 Parallel Computing University of South Carolina Department of.
A Component Platform for Experimenting with Autonomic Composition A component framework for supporting composition of autonomic services and bio-inspired.
A Software Framework for Distributed Services Michael M. McKerns and Michael A.G. Aivazis California Institute of Technology, Pasadena, CA Introduction.
CS 484 Designing Parallel Algorithms Designing a parallel algorithm is not easy. There is no recipe or magical ingredient Except creativity We can benefit.
ProActive components and legacy code Matthieu MOREL.
October 2008 Integrated Predictive Simulation System for Earthquake and Tsunami Disaster CREST/Japan Science and Technology Agency (JST)
Cracow Grid Workshop, November 5-6, 2001 Concepts for implementing adaptive finite element codes for grid computing Krzysztof Banaś, Joanna Płażek Cracow.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Parallelization Strategies Laxmikant Kale. Overview OpenMP Strategies Need for adaptive strategies –Object migration based dynamic load balancing –Minimal.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 15. Review Interaction-Oriented Software Architectures – MVC.
1 ProActive GCM – CCA Interoperability Maciej Malawski, Ludovic Henrio, Matthieu Morel, Francoise Baude, Denis Caromel, Marian Bubak Institute of Computer.
A Pattern Language for Parallel Programming Beverly Sanders University of Florida.
Parallel Computing on Wide-Area Clusters: the Albatross Project Aske Plaat Thilo Kielmann Jason Maassen Rob van Nieuwpoort Ronald Veldema Vrije Universiteit.
2. CALCULUS: A S P. A Theory of Distributed Objects D. Caromel, L. Henrio, Springer 2005, Monograph A Calculus: ASP: Asynchronous Sequential Processes.
Typed Group Communication & Object-Oriented SPMD Laurent Baduel.
Hybrid Parallel Implementation of The DG Method Advanced Computing Department/ CAAM 03/03/2016 N. Chaabane, B. Riviere, H. Calandra, M. Sekachev, S. Hamlaoui.
AMSA TO 4 Advanced Technology for Sensor Clouds 09 May 2012 Anabas Inc. Indiana University.
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © GridCOMP Grids Programming with components.
Application of Design Patterns to Geometric Decompositions V. Balaji, Thomas L. Clune, Robert W. Numrich and Brice T. Womack.
Componentising and Deploying a Scientific Application on the Grid
The Globus Toolkit™: Information Services
Service Oriented Architecture (SOA)
The Grid Component Model and its Implementation in ProActive
Presentation transcript:

CBHPC’08: Component-Based High Performance Computing (16/10/08) 1 A GCM-Based Runtime Support for Parallel Grid Applications Elton Mathias, Françoise Baude and Vincent Cave {Elton.Mathias, Francoise.Baude, CBHPC’08: Component-Based High Performance Computing Karlsruhe - October 16th, 2008

CBHPC’08: Component-Based High Performance Computing (16/10/08) 2 Outline ● Introduction ● Related works and positioning ● Context – The ProActive Middleware – The Grid Component Model (GCM) ● Extensions to GCM ● The DiscoGrid Project and Runtime ● Evaluation ● Conclusion and perspectives

CBHPC’08: Component-Based High Performance Computing (16/10/08) 3 Introduction ● Strong trend to integrate parallel resources into grids ● Non-embarrassingly parallel applications must deal with heterogeneity, scalability and performance (+legacy applications) ● Message Passing (MPI!) is established as the main paradigm to develop scientific apps. – Asynchronism and group communications at application level – Applications must adapt to cope with a changing environment ● DiscoGrid project intends to solve this issues by offering a more high-level API, with treatment of these issues at runtime level

CBHPC’08: Component-Based High Performance Computing (16/10/08) 4 Related works and positioning ● Grid-oriented MPI – optimizations at comm. layer – unmodified apps. – strong code coupling – Ex: GridMPI, MPICH-G2, PACX-MPI, MagPIE ● Code Coupling - use of components - standalone apps. - weak code coupling - simplified communication – Ex.: DCA, Xchange mxn, Seine Approach: Code Coupling, but with advanced support to multipoint interactions (fine grained tightly component-based code coupling) DiscoGrid Project / Runtime: MPI boosted with advanced collective operations supported by a flexible component-based runtime that provides inter-cluster communication Approach: Code Coupling, but with advanced support to multipoint interactions (fine grained tightly component-based code coupling) DiscoGrid Project / Runtime: MPI boosted with advanced collective operations supported by a flexible component-based runtime that provides inter-cluster communication

CBHPC’08: Component-Based High Performance Computing (16/10/08) 5 ProActive Middleware ● Grid middleware for parallel, distributed and multi-threaded computing ● Featuring: – Deployment with support to several network protocols and cluster/grid tools – Reference implementation of the GCM – Legacy code wrapping ● C Java communication ● Deployment and control of legacy MPI application

CBHPC’08: Component-Based High Performance Computing (16/10/08) 6 Grid Component Model (GCM) ● Defined in the context of the Institute on Programming Models of CoreGRID Network of Excellence (EU project) ● Extension to the Fractal comp. model adressing key grid problematics: programmability, interoperability, code reuse and efficiency ● Main characteristics: – Hierarchical component model ● primitive and composite components – Collective interfaces

CBHPC’08: Component-Based High Performance Computing (16/10/08) 7 ProActive/GCM standard interfaces Collective interfaces are complementary: gathercast (many-to-one):synchronization parameter gatherind and result dispatch multicast (one-to-many): parallel invocation, param. dispatch and result gather Collective interfaces are complementary: gathercast (many-to-one):synchronization parameter gatherind and result dispatch multicast (one-to-many): parallel invocation, param. dispatch and result gather Standard collective interfaces are enough to support broadcast, scatter, gather and barriers But are not general enough to define many-to- many operation (MxN) Standard collective interfaces are enough to support broadcast, scatter, gather and barriers But are not general enough to define many-to- many operation (MxN)

CBHPC’08: Component-Based High Performance Computing (16/10/08) 8 Extending GCM collective interfaces: gather-multicast itfs ● server gather-mcast – exposes gcast itf – connected do internal components ● client gather-mcast – connects internal comp. – exposes mcast itf ● Communication semantic relies on 2 policies: gather policy dispatch policy Naïve gather-multicast MxN leads to bottlenecks in both communication policies Naïve gather-multicast MxN leads to bottlenecks in both communication policies

CBHPC’08: Component-Based High Performance Computing (16/10/08) 9 Gather-Multicast Optimization ● Efficient communication requires direct bindings ● Solution: controllers responsible for establishing direct MxN bindings + distribution of the comm. policies ● Configured along 3 operations: – (re) binding configuration (R) – dispatch policy (D) – gather policy (G) ● For now, these operations must be coded by developers

CBHPC’08: Component-Based High Performance Computing (16/10/08) 10 The DiscoGrid Project ● Promotes a new paradigm to develop non-embarrassingly parallel grid applications ● Target applications: – domain decomposition, requiring solution of PDEs – Ex.: electromagnetic wave propagation, fluid flow pbs ● DiscoGrid API – Resources seen as a hierarchical organization – Hierarchical identifiers – Neighborhood-based communication (update) – C/C++ and Fortran bindings ● DiscoGrid Runtime - Grid-aware partitioner – Modeling resources hierarchy – Support the DG API – converging to MPI when possible – Support to inter-cluster comm.

CBHPC’08: Component-Based High Performance Computing (16/10/08) 11 ProActive/GCM DiscoGrid Runtime

CBHPC’08: Component-Based High Performance Computing (16/10/08) 12 Optimizing the “update” operation DGOptimizationController.optimize (AggregationMode, DispatchMode, DGNeighborhood, … )

CBHPC’08: Component-Based High Performance Computing (16/10/08) 13 DiscoGrid Communication ● Point-to-point Communications ● Collective Communication – Bcast, gather, scatter ● Neighborhood Based – update DG Runtime convert calls to DG API into MPI or DG calls

CBHPC’08: Component-Based High Performance Computing (16/10/08) 14 Evaluation ● Conducted in the Grid5000 ● 8 sites (sophia, rennes, grenoble, lyon, bordeaux toulouse, lille) ● Machines with different processors (Intel Xeon EM64T 3GHz and IA32 2.4GHz, AMD Opterons 218, 246, 248 and 285) ● Memory of 2 or 4GB/node ● 2 clusters Myrinet-10G and 2000, backbone 2.5Gb/s ● ProActive 3.9, MPICH 1.2.7p1, Java SDK 1.6.0_02

CBHPC’08: Component-Based High Performance Computing (16/10/08) 15 Experiment: P3D ● Poisson3D equation discretized by finite differences and iterative resolution by Jacobi ● Bulk-synchronous behavior: – Concurrent computation ● jacobi over subdomain – Reduction of results ● reduce operation – Update of subdomain borders ● update operation ● Cubic mesh of elements (4GB of data) ● 100 iterations of the algorithm ● 2 versions: legacy version (pure MPI), DG version

CBHPC’08: Component-Based High Performance Computing (16/10/08) 16 Experiment: P3D (cont.) The entire DG communication is asynchronous DG update is faster ReduceAll in the DG version happens in parallel P3D Execution Time P3D update Time Time reduce as data/node reduces Simple gather-mcast interface is not scalable The update with the neighborhood happens in parallel

CBHPC’08: Component-Based High Performance Computing (16/10/08) 17 Conclusion ● Extensions to GCM provide many-to-many (MxN) communication – versatile mechanism ● any kind of communication ● even with limited connectivity – optimizations ensure efficiency and scalability ● The goal is not compete with MPI, but experimental results showed a good performance ● The DiscoGrid Runtime itself can be considered a successful component-based grid programming approach supporting an SPMD model ● The API and Runtime also permitted a more high-level approach to develop non-embarrassingly applications, where group communication/synchronization are handled as non-functional aspects

CBHPC’08: Component-Based High Performance Computing (16/10/08) 18 Perspectives ● Better evaluate the work through more complex simulations (BHE, CEM) and real-size data meshes ● Evaluate the work done in comparison to grid-oriented versions of MPI ● Explore deeper: – the separation of concerns in component architectures: consider SPMD parallel programming as a component configuration and (re)assembling activity instead of message passing. – adaptation of applications to contexts – the definition and usage of collective interfaces (GridComp)

CBHPC’08: Component-Based High Performance Computing (16/10/08) 19 Questions

CBHPC’08: Component-Based High Performance Computing (16/10/08) 20 Gather-Multicast μBenchmarks - factor = no of neighbors, spread throughout the sites (128 = All-to-All) - message size is constant independent on the factor - results are based on the average time to send the message and receive ack 0 MB (void) message 10 MB message for void messages, optimized version is slower for all-to-all void messages due to the nb of calls ( *2 vs ) optimized version is considerably faster when size increases because of reduction of bottlenecks Considering that all-to-all messages are avoided, we can expect a real benefit from the optimization