1 Ludovic Henrio Paris, 2006-06-08 An Open Source Middleware for the Grid Programming Wrapping Composing Deploying.

Slides:



Advertisements
Similar presentations
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,
Advertisements

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.
RPC Robert Grimm New York University Remote Procedure Calls.
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.
What iS RMI? Remote Method Invocation. It is an approach where a method on a remote machine invokes another method on another machine to perform some computation.
1 On Death, Taxes, & the Convergence of Peer-to-Peer & Grid Computing Adriana Iamnitchi Duke University “Our Constitution is in actual operation; everything.
The road to reliable, autonomous distributed systems
Fabrice Huet Mobility of Active Objects Fabrice Huet INRIA-I3S-CNRS.
Denis Caromel, Arnaud Contes OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis 1. Introduction to the GRID.
Denis Caromel Denis Caromel 3 Clouds.
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.
Denis Caromel1 Institut Universitaire de France (IUF) OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis ECCOMAS, July 2004 ProActive: Components.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
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.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Denis Caromel1 Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF 3 rd ProActive User Group, Nov Model.
Chapter 2 Architectural Models. Keywords Middleware Interface vs. implementation Client-server models OOP.
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
Technology Overview. Agenda What’s New and Better in Windows Server 2003? Why Upgrade to Windows Server 2003 ?  From Windows NT 4.0  From Windows 2000.
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.
Ramiro Voicu December Design Considerations  Act as a true dynamic service and provide the necessary functionally to be used by any other services.
Architectures of distributed systems Fundamental Models
1 Update Strategies for First Class Futures Khan Muhammad, Ludovic Henrio INRIA, Univ. Nice Sophia Antipolis,CNRS.
Cracow Grid Workshop, October 27 – 29, 2003 Institute of Computer Science AGH Design of Distributed Grid Workflow Composition System Marian Bubak, Tomasz.
Denis Caromel1 Troisieme partie Cours EJC 2003, AUSSOIS, Denis Caromel OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis.
Denis Caromel 1 Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF Open Source.
Spring/2002 Distributed Software Engineering C:\unocourses\4350\slides\DefiningThreads 1 RMI.
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
Client Call Back Client Call Back is useful for multiple clients to keep up to date about changes on the server Example: One auction server and several.
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.
Transparent Mobility of Distributed Objects using.NET Cristóbal Costa, Nour Ali, Carlos Millan, Jose A. Carsí 4th International Conference in Central Europe.
1. 2 Objects to Distributed Components (1) Typed Group Java or Active Object ComponentIdentity Cpt = newActiveComponent (params); A a = Cpt ….getFcInterface.
George Goulas, Christos Gogos, Panayiotis Alefragis, Efthymios Housos Computer Systems Laboratory, Electrical & Computer Engineering Dept., University.
ProActive components and legacy code Matthieu MOREL.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
MySQL and GRID status Gabriele Carcassi 9 September 2002.
© 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.
A visualisation and debugging tool for multi-active objects Ludovic Henrio, Justine Rochas LAMHA, Nov 2015.
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.
1 Distributed Systems Distributed Object-Based Systems Chapter 10.
Tool Integration with Data and Computation Grid “Grid Wizard 2”
LSF Universus By Robert Stober Systems Engineer Platform Computing, Inc.
A Theory of Distributed Objects Toward a Foundation for Component Grid Platforms Ludovic HENRIO l A Theory of Distributed Objects l Components l Perspectives.
Mastère RSD - TC4 2005/20061 Distributed JAVA Aims and Principles The ProActive library Models of behaviours Generation of finite (parameterized) models.
1 Romain Quilici OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF July 2nd 2003 ProActive Architecture.
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,
Typed Group Communication & Object-Oriented SPMD Laurent Baduel.
ASYNCHRONOUS AND DETERMINISTIC OBJECTS ASP: Asynchronous Sequential Processes l Distributed objects l Asynchronous method calls l Futures and Wait-by-necessity.
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © GridCOMP Grids Programming with components.
Asynchronous Distributed Components: Concurrency and Determinacy I. Context: Distributed Components and Active Objects II. Asynchronous Distributed Components.
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
ProActive Architecture of an Open Middleware for the Grid
Architectures of distributed systems Fundamental Models
The Grid Component Model and its Implementation in ProActive
Presentation transcript:

1 Ludovic Henrio Paris, An Open Source Middleware for the Grid Programming Wrapping Composing Deploying

2 Table of Contents 1.Distributed Objects 2.Deployment 3.Monitoring 4.Composing 5.Conclusion

3 A uniform framework: An Active Object pattern A formal model behind: Determinism (POPL’04) Programming Model (Active Objects): Asynchronous Remote Invocations, Wait-By-Necessity Groups, Mobility, Components, Security, Fault-tolerance, Load balancing Environment: XML Deployment Descriptors, File Transfers 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

4 Model Activity : coarse-grained structuring entities (subsystems) possibly owns many passive objects has exactly one thread, and one active object. No shared passive object -- Parameters are passed by deep-copy Asynchronous Communication between active objects Futures (promised replies) and wait-by-necessity. JVM copy! distant.foo(object )

5 An object created with A a = new A (obj, 7); can be turned into an active and remote object: Object-based: a = (A)ProActive.turnActive (a, node); Instantiation-based: A a = (A)ProActive.newActive(«A», params, node); The “node” is the AO container. Remaining of the code unchanged  “Transparency” Creating active objects

6 Future: result of a method call A call on an active object consists in 2 steps A request : name of the method, parameters… A Reply : the result of the method call A request returns a Future object which is a placeholder for the result The callee will update the Future when the result is available The caller can continue its execution event if the Future has not been updated Reply future = distant.query (parameters);

7 A Wait-by-necessity 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!

8 Collective Communications: Groups Typed and polymorphic Groups of active and remote objects Dynamic generation of group of results Language centric, Dot notation Manipulate groups of Active Objects, in a simple and typed manner: Be able to express high-level collective communications (like in MPI): broadcast, scatter, gather, all to all

9 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 Typed groups, and Asynchrony are crucial for Components and GRID JVM

10 Weak Migration of active objects Migration is initiated by the active object itself through a primitive: migrateTo Can be initiated from outside through any public method The active object migrates with: all pending requests all its passive objects all its future objects Automatic and transparent forwarding of: requests (remote references remain valid) replies (its previous queries will be fullfilled) 2 Techniques : Forwarders or Centralized server

11 Table of Contents 1.Distributed Objects 2.Deployment 3.Monitoring 4.Composing 5.Conclusion

12 How to deploy on the multiple Grids Internet Clusters Parallel Machine Large Equipment Internet Job management for embarrassingly parallel application (e.g. SETI) Internet Servlets EJBsDatabases enterprise scientific edge computing intranet

13 Abstract Deployment Model > Problems : Difficulties and lack of flexibility in deployment Avoid scripting for: configuration, getting nodes, connecting, etc. A key principle: Virtual Node (VN) in XML deployment file Abstract Away from source code: –Machines names –Creation/Connection Protocols –Lookup and Registry Protocols Interface with various protocols and infrastructures: –Cluster: LSF, PBS, SGE, OAR and PRUN(custom protocols) –Intranet P2P, LAN: intranet protocols: rsh, rlogin, ssh –Grid: Globus, Web services, ssh, gsissh

14 > Virtual Node (VN): Identified as a string name Used in program source Configured (mapped) in the XML descriptor file --> Nodes XML Deployment files Program Source Descriptor (RunTime) | | Activities (AO)--> VN VN --> JVMs --> Hosts Runtime structured entities: 1 VN --> n Nodes in m JVMs on k Hosts > Operations specified in descriptors: Mapping of VN to JVMs (leads to Node in a JVM on Host) Register or Lookup VNs Create or Acquire JVMs Security, Fault-tolerance

15 Same application, many deployments One Host Local Grid Distributed Grids Internet

16 Security: Key Features ProActive Security Features Authentication of users and applications (PKI X 509 certificates) Authentication, Integrity and Confidentiality of communication In XML deployment files, Not In Source Mobility Aware Dynamically negotiated policies Easily adaptable to the deployment

17 Pure P2P: Definition Only PEERs, no above everything, top level, server(s) Every peer is, somehow, also a server No master … No slave ! System gets organized dynamically, without static configuration Coherent, desired behavior, dynamically emerges

18 Peer-to-Peer Computing Model & Infrastructure Dynamic Computational Peer-to-Peer (P2P): Intranet & Internet Propose a High Level Model Dynamic JVMs Network (computation nodes) [infrastructure] P2P Programming Model for Branch and Bound (B&B) problems ProActive Context: no modification of Java language, of JVMs, … Inspired from Gnutella Use Sparse CPU Cycles from Desktop Workstations/clusters

19 Fault-tolerance in ProActive Rollback-Recovery fault-tolerance After a failure, revert the system state back to some earlier and correct version Based on periodical checkpoints of the active objects Stored on a stable server Two protocols are implemented Communication Induced Checkpointing (CIC) Low failure free overhead Slow recovery Pessimistic Message Logging (PML) Higher failure free overhead Fast recovery Fault-tolerance is set in deployment descriptors Fault-tolerance service attached to virtual nodes No source code alteration Transparent and non intrusive

20 Table of Contents 1.Distributed Objects 2.Deployment 3.Monitoring 4.Composing 5.Conclusion

21 IC2D: Interactive Control & Debug for Distribution Graphical Visualisation Textual Visualisation Control and Monitoring Job Management

22 IC2D: Application Monitoring Main Features: - Hosts, JVM, - Nodes - Active Objects - Topology - Migration

23 Table of Contents 1.Distributed Objects 2.Deployment 3.Monitoring 4.Composing 5.Conclusion

24 Content Controller ProActive Components

25 Table of Contents 1.Distributed Objects 2.Deployment 3.Monitoring 4.Composing 5.Conclusion

26 Appli: JEM 3D : Java 3D Electromagnetism together with Said El Kasmi, Stéphane Lanteri (caiman) 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

27 ProActive and (De Facto) Standards RMI, RMI-Ibis, Jini, HTTP rsh, ssh, scp Globus GTx, sshGSI, Unicore, EGEE gLite LSF, PBS, OAR, Sun Grid Engine Fractal Components Web Services OSGi

28 That’s it! A Strong Programming Model + A Strong Deployment Presented features: Active Objects, XML descriptors, Security, P2P, Fault-tolerance Features not detailed: OO SPMD, Web Services, load balancing, legacy wrapping, and more… Perspectives: Better Error Management (Exceptions, …) Behavior Specification (Model Checking) Tools for Distributed Programming: Code Analysis, Transformation, Integrated IDE Available in Open Source

29

30

31     f3 f1 Structure ASP foo f2 Active(a)

32 Openness Open Source Easy to extend Add new Deployment Protocols Add new File Transfer Protocols Not so hard to add new Transport (one could imagine hardware specific implementations) Add Checkpointing Protocols Add localization strategies for mobility

33 ASP: Summary and Results An Asynchronous Object Calculus: Structured asynchronous activities Structured communications with futures Data-driven synchronization ASP  Confluence and Determinacy Future updates can occur at any time Execution characterized by the order of request senders Determinacy of programs communicating over trees, …

34 Interactive Composition in IC2D Content Composition View Instead of XML ADL <sshProcess class="org.objectweb.proactive.core.process.ssh.SSHJVMProcess" hostname="sea.inria.fr">

35 Perspective for Components - PSE Graphical Composition, Monitoring, Migration

36 Perspective for Components - PSE Graphical Composition, Monitoring, Migration