Denis Caromel1 D. Caromel, et al. INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF June 23 2005, Beijing Open Source Middleware for the Grid:

Slides:



Advertisements
Similar presentations
1 Typed Groups for the Grid Laurent Baduel. 2 Outline Context and Objectives Typed groups Application: Jem3D Object-Oriented SPMD Group extensions and.
Advertisements

© 2007 Open Grid Forum SAGA: Simple API for Grid Applications Steven Newhouse Application Standards Area Director.
European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies Grid.
Designing Services for Grid-based Knowledge Discovery A. Congiusta, A. Pugliese, Domenico Talia, P. Trunfio DEIS University of Calabria ITALY
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,
European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies Experiences.
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
NGS computation services: API's,
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering 1.
Modeling Main issues: What do we want to build How do we write this down.
Christian Delbe1 Christian Delbé OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis November Automatic Fault Tolerance in ProActive.
European Commission Directorate-General Information Society Unit F2 – Grid Technologies INSERT PROJECT ACRONYM HERE BY EDITING THE MASTER SLIDE (VIEW.
26 Mai 2004 Séminaire Croisé : Sécurité Informatique Ubiquitaire1 Security Architecture for GRID Applications Séminaire Croisé Sécurité Informatique Ubiquitaire.
Denis Caromel1 Joint work with Ludovic Henrio – Eric Madelaine et. OASIS members OASIS Team INRIA -- CNRS - I3S – Univ. of Nice Sophia-Antipolis, IUF.
Denis Caromel, Arnaud Contes OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis 1. Introduction to the GRID.
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006 GridCOMP Grids Programming with components. An.
Denis Caromel Denis Caromel 3 Clouds.
Denis Caromel 1 Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF September 4.
1 Ludovic Henrio Paris, An Open Source Middleware for the Grid Programming Wrapping Composing Deploying.
Denis Caromel1 Institut Universitaire de France (IUF) OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis ECCOMAS, July 2004 ProActive: Components.
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.
Denis Caromel1 Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF 3 rd ProActive User Group, Nov Model.
A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,
Fabien Viale 1 Matlab & Scilab Applications to Finance Fabien Viale, Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S.
KARMA with ProActive Parallel Suite 12/01/2009 Air France, Sophia Antipolis Solutions and Services for Accelerating your Applications.
Denis Caromel1 Institut universitaire de France (IUF) OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis REUNA, Santiago, May 2004 GRID.
1 Secure Distributed Objects for Grid Applications Laurent Baduel, Arnaud Contes, Denis Caromel OASIS team ProActive
DISTRIBUTED COMPUTING
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
The Grid Component Model: an Overview “Proposal for a Grid Component Model” DPM02 “Basic Features of the Grid Component Model (assessed)” -- DPM04 CoreGrid.
The Grid Component Model and its Implementation in ProActive CoreGrid Network of Excellence, Institute on Programming Models D.PM02 “Proposal for a Grid.
SUMA: A Scientific Metacomputer Cardinale, Yudith Figueira, Carlos Hernández, Emilio Baquero, Eduardo Berbín, Luis Bouza, Roberto Gamess, Eric García,
1 Update Strategies for First Class Futures Khan Muhammad, Ludovic Henrio INRIA, Univ. Nice Sophia Antipolis,CNRS.
Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Models for the Verification of Distributed Java Objects Eric Madelaine work with Tomás Barros, Rabéa Boulifa,
Denis Caromel 1 Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF Open Source.
“DECISION” PROJECT “DECISION” PROJECT INTEGRATION PLATFORM CORBA PROTOTYPE CAST J. BLACHON & NGUYEN G.T. INRIA Rhône-Alpes June 10th, 1999.
Issues in (Financial) High Performance Computing John Darlington Director Imperial College Internet Centre Fast Financial Algorithms and Computing 4th.
OASIS OASIS Active Objects, Semantics, Internet, and Security Team: 30 persons Research Themes: Grid Computing Objects and Components Practice and Theory.
Spring/2002 Distributed Software Engineering C:\unocourses\4350\slides\DefiningThreads 1 RMI.
A High Performance Middleware in Java with a Real Application Fabrice Huet*, Denis Caromel*, Henri Bal + * Inria-I3S-CNRS, Sophia-Antipolis, France + Vrije.
1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid.
Denis Caromel1 Denis Caromel, Romain Quilici OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis Albufeira,
Emil Salageanu ProActive Parallel Suite ActiveEon March 2008 ActiveEon Hands On Programming.
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.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
1. 2 Objects to Distributed Components (1) Typed Group Java or Active Object ComponentIdentity Cpt = newActiveComponent (params); A a = Cpt ….getFcInterface.
Presented By:- Sudipta Dhara Roll Table of Content Table of Content 1.Introduction 2.How it evolved 3.Need of Middleware 4.Middleware Basic 5.Categories.
Denis Caromel 1 Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF Strong Programming.
ProActive components and legacy code Matthieu MOREL.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Denis Caromel1 Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF October
1 OASIS Team, INRIA Sophia-Antipolis/I3S CNRS, Univ. Nice Christian Delbé Data Grid Explorer 15/09/03 Large Scale Emulation Mobility in ProActive.
VERIFYING THE CORRECT COMPOSITION OF DISTRIBUTED COMPONENTS: FORMALISATION AND TOOL Ludovic Henrio 1, Oleksandra Kulankhina 1,2, Dongqian Liu 3, Eric Madelaine.
A Theory of Distributed Objects Toward a Foundation for Component Grid Platforms Ludovic HENRIO l A Theory of Distributed Objects l Components l Perspectives.
1 Romain Quilici OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF July 2nd 2003 ProActive Architecture.
Problem On a regular basis we use: –Java applets –JavaScript –ActiveX –Shockwave Notion of ubiquitous computing.
2. CALCULUS: A S P. A Theory of Distributed Objects D. Caromel, L. Henrio, Springer 2005, Monograph A Calculus: ASP: Asynchronous Sequential Processes.
Denis Caromel1 Institut universitaire de France (IUF) OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis JAOO, Cannes, May 2004 Programming,
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Topic 5: CORBA RMI Dr. Ayman Srour
Denis Caromel1 OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis -- IUF IPDPS 2003 Nice Sophia Antipolis, April Overview: 1. What.
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © GridCOMP Grids Programming with components.
Componentising and Deploying a Scientific Application on the Grid
University of Technology
DISTRIBUTED COMPUTING
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
ProActive Architecture of an Open Middleware for the Grid
The Grid Component Model and its Implementation in ProActive
Presentation transcript:

Denis Caromel1 D. Caromel, et al. INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF June , Beijing Open Source Middleware for the Grid: ObjectWeb ProActive 1. Asynchronous Distributed Objects: ProActive 2. Example of Application: 3D Electromagnetism 3. Composing for the Grids: Components ProActive. ObjectWeb. org

Denis Caromel2 Grid Computing Los Angeles Beijing Amsterdam Sophia Antipolis Challenges: Programming Model, Scale, Latency, Heterogeneity, Versatility (protocols, firewalls, etc.)

Denis Caromel3 1. Distributed Objects P r o g r a m m i n g Composing Deploying W r a p p i n g

Denis Caromel4 A uniform framework: An Active Object pattern A formal model behind: Determinism (POPL04) Programming Model: Remote Objects Asynchronous Communications, Wait-By-Necessity Groups, Mobility, Components, Security, Fault-Tolerance Environment: XML Deployment Descriptors Interfaced with: rsh, ssh, LSF, PBS, Globus, Jini, SUN Grid Engine Graphical Visualization and monitoring: IC2D In the www. ObjectWeb.org Consortium (Open Source LGPL) ProActive : A Java API + Tools for Parallel, Distributed Computing

Denis Caromel5 A ProActive : Active objects Proxy Java Object A ag = newActive (A, […], VirtualNode) V v1 = ag.foo (param); V v2 = ag.bar (param);... v1.bar(); //Wait-By-Necessity V Wait-By-Necessity is a Dataflow Synchronization JVM A Active Object Future Object Request Req. Queue Thread v1 v2 ag WBN!

Denis Caromel6 Explicit Synchronizations Single Future Synchronization: ProActive.isAwaited (v); // Test if available.waitFor (v); // Wait if not available Vectors of Futures:.waitForAll (Vector); // Wait all of them.waitForAny (Vector); // Get One A ag = newActive (A, […], VirtualNode) V v = ag.foo(param);... v.bar(); // Wait-by-necessity

Denis Caromel7 A Creating AO and Groups Typed Group Java or Active Object A ag = newActiveGroup (A, […], VirtualNode) V v = ag.foo(param);... v.bar(); //Wait-by-necessity V Group, Type, and Asynchrony are crucial for Cpt. and GRID JVM Object-Oriented Typed Group Communications

Denis Caromel8 OO SPMD A ag = newSPMDGroup (A, […], VirtualNode) // In each member myGroup.barrier (2D); // Global Barrier myGroup.barrier (vertical); // Any Barrier myGroup.barrier (north,south,east,west); A Still, not based on raw messages, but Typed Method Calls ==> Components

Denis Caromel9 IC2D: Interactive Control and Debugging of Distribution With any ProActive application Features: Graphical and Textual visualization Monitoring and Control

Denis Caromel10 Monitoring of RMI, Globus, Jini, LSF cluster Nice -- Baltimore ProActive IC2D: Width of links proportional to the number of com- munications

Denis Caromel11 2. Application 3D Electromagnetism

Denis Caromel12 JEM 3D : Java 3D Electromagnetism Maxwell 3D equation solver, Finite Volume Method (FVM) Pre-existing Fortran MPI version: EM3D (CAIMAN INRIA) Execution Time on a cluster nombre de processeurs temps (secondes) 21*21*21 31*31*31 43*43*43 55*55*55 81*81*81 97*97*97 113*113* *121*121 Mesh Size

Denis Caromel13 Interface

Denis Caromel14 Interface

Denis Caromel15 Interface

Denis Caromel16 Interface

Denis Caromel17 Beating Fortran MPI ? Current status: Sequential Java vs. Fortran code: 2 times slower Large data sets in Java ProActive: 150x150x150 (100 million facets) Large number of machines:up to 294 machines in Desktop P2P Speed up on 16 machines: - Fortran: ProActive/Ibis: 12 - ProActive/RMI:8.8 Grid on 5 clusters (DAS II, Netherlands): Speed up of 100 on 150 machines Fortran:no more than 40 proc. … Beating Fortran MPI with Java ProActive? X/40 (14/16) = 2X/ n (100/150) Yes, starting at 105 machines !

Denis Caromel18 3. Components for The GRIDs

Denis Caromel19 Content Controller The Fractal model: Hierarchical Components Common component model of the ObjectWeb consortium

Denis Caromel20 Content Controller Interfaces = Provided and Required Provided, Server Interfaces Required, Client Interfaces

Denis Caromel21 Content Controller Hierarchical model : Composites encapsulate Primitives, Primitives encapsulate Code

Denis Caromel22 Content Controller Binding = in an external file (XML ADL), Not in programs

Denis Caromel23 Content Controller Binding = in an external file (XML ADL), Not in programs

Denis Caromel24 Graphical Interface for Composing Components

Denis Caromel25 ProActive Component Definition A component is: Formed from one (or several) Active Object Executing on one (or several) JVM Provides a set of server ports: Java Interfaces Uses a set of client ports: Java Attributes Point-to-point or Group communication between components Hierarchical: Primitive component: define with Java code and a descriptor Composite component: composition of primitive + composite Parallel component: multicast of calls in composites Descriptor: XML definition of primitive and composite (ADL) Virtual nodes capture the deployment capacities and needs Virtual Node is a very important abstraction for GRID components

Denis Caromel26 Objects to Distributed Components Typed Group Java or Active Object ComponentIdentity Cpt = newActiveComponent (params); A a = Cpt ….getFcInterface ("interfaceName"); V v = a.foo(param); V A Example of component instance JVM

Denis Caromel27 A A B C P Group proxy A B C D Groups in Components Broadcast at binding, on client interface At composition, on composite inner server interface A parallel component!

Denis Caromel28 Wrapping Legacy MPI Components MPI Code C/Fortran: Messages on Tags sent/converted to Method Calls ProActive Java: Method Calls sent as Messages on Tags Virtual Nodes for Deployments

Denis Caromel29 On-going : MxN communications Control at binding points M components N components GATHERING SCATTERING REDISTRIBUTION from M to N also, Functional Code

Denis Caromel30 Call For Contributions GCM: Grid Component Model Within CoreGRID In charge (M. Danelutto, D. Caromel) of defining a Generic, Comprehensive, Open, European and World Wide GCM: Grid Component Model Ways to participate: to us, come to the Work Workshop Oct

Denis Caromel31 Conclusions and A Few Directions ProActive: A Strong Programming Model + Components FACTS AND FIGURES June 10 World Record: 52-years computation in 6 months in Desktop P2P Deployed at once on 1000 CPUs (Plugtests on ssh, Globus, LSF,...) (Close to) Beating Fortran on an Electromagnetic Application Looking for collaborations: Building reusable Cpts from Numerical Codes Generic Techniques for Wrapping Codes Available in LGPL with ObjectWeb

Denis Caromel32

Denis Caromel33 ProActive Non Functional Properties Currently in ProActive: Remotely accessible Objects (Classes, not only Interfaces, Dynamic) Asynchronous Communications First Class Futures: Wait-By-Necessity Group Communications, OO SPMD Mobility Visualization and monitoring (IC2D) Fault-Tolerance (checkpointing), Security Components Non-Functional Exceptions: Handler reification (prototype)

Denis Caromel34 3. Parallel and composite component 1. Primitive component 2. Composite component ProActive Components for the GRID An activity, a process, … potentially in its own JVM C D Composite: Hierarchical, and Distributed over machines Parallel: Composite + Broadcast (group)

Denis Caromel35 Call between Objects: Parameter passing: Copy of Java Objects ba x Copy: at serializ ation (Deep) Copies evolve independently -- No consistency b.foo(x)

Denis Caromel36 Call between Objects: Parameter Passing: Active Objects ba x Copy: at serializ ation Object passed by Deep Copy - Active Object by Reference b.foo(x, c) c c Reference Passing

Denis Caromel37 Wait-By-Necessity: First Class Futures ba Futures are Global Single-Assignment Variables V= b.bar () c c c.gee (V) v v

Denis Caromel38 Use only Virtual Nodes in the source code Describe mapping of virtual nodes in XML Deployment Descriptors Interfaced with various protocols for creation/lookup: rsh,ssh,Jini, LSF,PBS,Globus,OGSA... Abstract away machines, creation, registry, lookup protocols VirtualNodes: Dispatcher <RegisterIn RMIregistry, Globus, Grid Service, …> RendererSet Mapping: Dispatcher --> DispatcherJVM RendererSet --> JVMset JVMs: DispatcherJVM = sshProcess JVMset = GlobusProcess Processes: sshProcess = GlobusProcess = Unification of various deployment systems through ProActive runtimes Working on: acquire ProActive runtimes from voluntary PCs (P2P computing) running a ProActive P2P infrastructure Model and tools for deployment on the grid

Denis Caromel39 Physical infrastructure JVM3 JVM2 JVM4 JVM5 computer2 computer3 Runtime Deployment Descriptor Abstract deployment model Separates design from deployment infrastructure Virtual nodes Dynamic enactement of the deployment, from the application Host names Creation protocols of JVMs lookup registration Virtual architecture Source code VN1 VN2 ActivateMapping(« VN1 ») ActivateMapping(« VN2»)

Denis Caromel40 Jem3D: Geometry definition A Generic Numerical Method: Finite Volume Method (FVM) (vs. Finite Element Methods) Calculation of unknowns as average of Control Volume (vs. Vertices of the mesh for FEM) Valid on structured, unstructured, or hybrid meshes Computation: a flux balance through the boundary of Control Volume (M, E, EM, loop) Benchmarks here: Control Volume = Tetrahedron Facet = Triangle

Denis Caromel41 Same application, many deployments One Host Local Grid Distributed Grids Internet User constraints can be considered, but are manually expressed in deployment descriptors Can interface with meta- Grid Schedulers / mappers

Denis Caromel42 Content Composition View Distributed Components Graphical Composition, Monitoring, Migration

Denis Caromel43 Content Composition View Distributed Components Graphical Composition, Monitoring, Migration

Denis Caromel44

Denis Caromel45 3D Electromagnetism Sequential Application

Denis Caromel46 Control Volume in 2D and 3D

Denis Caromel47 Facets in 2D and 3D

Denis Caromel48 Architecture of the sequential version

Denis Caromel49 Application Skeleton

Denis Caromel50 3D Electromagnetism Parallel version

Denis Caromel51 Architecture of the sequential version

Denis Caromel52 Architecture of the ProActive distributed version An Object-Oriented SPMD program

Denis Caromel53 3. BENCHMARKS

Denis Caromel54 Preview 3

Denis Caromel55 Preview 2

Denis Caromel56 JEM 3D : Summary of Benchmarks Seq. Java/Fortran: 2 Comparison: Jem3D over - ProActive/RMI Sun - ProActive/RMI Ibis Em3D in - Fortran/MPI On 16 machines: Fortran: 13.8 ProActive/Ibis: 12 ProActive/RMI: 8.8 Grid experiment on 5 clusters (DAS 2): Speed up of 100 on 150 machines

Denis Caromel57 Conclusion - Beating Fortran ? Current status: Sequential Java vs. Fortran code: 2 times slower Large data sets in Java ProActive: 150x150x150 (100 million facets) Large number of machines:up to 294 machines in Desktop P2P Speed up on 16 machines: - Fortran: ProActive/Ibis: 12 - ProActive/RMI:8.8 Grid on 5 clusters (DAS 2): Speed up of 100 on 150 machines Fortran:no more than 40 proc. … Beating Fortran MPI with Java ProActive? X/40 (14/16) = 2X/ n (100/150) Yes, starting at 105 machines !