Denis Caromel1 Institut universitaire de France (IUF) OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis JAOO, Cannes, May 2004 Programming,

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

A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
European Commission Directorate-General Information Society Unit F2 – Grid Technologies INSERT PROJECT ACRONYM HERE BY EDITING THE MASTER SLIDE (VIEW.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
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.
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.
Eric MADELAINE1 E. Madelaine, Antonio Cansado, Emil Salageanu OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis OSCAR meeting, Valparaiso,
Denis Caromel Denis Caromel 3 Clouds.
Denis Caromel1 Quatrième partie Cours EJC 2003, AUSSOIS, Denis Caromel OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis.
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.
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.
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.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Monitoring OSGi platforms with ProActive Virginie Legrand OASIS Team - INRIA Sophia Antipolis.
Denis Caromel1 Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF 3 rd ProActive User Group, Nov Model.
OpenCCM: The Open CORBA Components Platform OSMOSE WP3 CCM Meeting 14th November 2003, LIFL, Lille, France Philippe Merle Jacquard Project.
Java Server Team 8. Overview What is a Java Server? History Architecture Advantages Disadvantages Current Technologies Conclusion.
Page 1 Building Reliable Component-based Systems Chapter 4 - Component Models and Technology Chapter 4 Component Models and Technology.
Web-based Software Development - An introduction.
SOA, BPM, BPEL, jBPM.
Fabien Viale 1 Matlab & Scilab Applications to Finance Fabien Viale, Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
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.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
1 Secure Distributed Objects for Grid Applications Laurent Baduel, Arnaud Contes, Denis Caromel OASIS team ProActive
Optimized Java computing as an application for Desktop Grid Olejnik Richard 1, Bernard Toursel 1, Marek Tudruj 2, Eryk Laskowski 2 1 Université des Sciences.
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.
Architectures of distributed systems Fundamental Models
Grid Computing Research Lab SUNY Binghamton 1 XCAT-C++: A High Performance Distributed CCA Framework Madhu Govindaraju.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Denis Caromel 1 Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF Open Source.
Objectives Functionalities and services Architecture and software technologies Potential Applications –Link to research problems.
OpenCCM MdC Philippe Merle LIFL - INRIA (soon)
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
Service - Oriented Middleware for Distributed Data Mining on the Grid ,劉妘鑏 Antonio C., Domenico T., and Paolo T. Journal of Parallel and Distributed.
1 UNIT –II Architecting Web Service. 2 Why SOA? – business point of view  Information Technology (IT) workers face many challenges, including: Limited.
Denis Caromel1 OASIS, Univ. of Nice Sophia-Antipolis, INRIA -- CNRS - I3S -- IUF October Web Services Resource Framework 2. Grid scalability.
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,
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.
A Component Platform for Experimenting with Autonomic Composition A component framework for supporting composition of autonomic services and bio-inspired.
ProActive components and legacy code Matthieu MOREL.
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.
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
1 ProActive GCM – CCA Interoperability Maciej Malawski, Ludovic Henrio, Matthieu Morel, Francoise Baude, Denis Caromel, Marian Bubak Institute of Computer.
Specifying Fractal and GCM Components With UML Solange Ahumada, Ludovic Apvrille, Tomás Barros, Antonio Cansado, Eric Madelaine and Emil Salageanu SCCC.
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.
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 OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis -- IUF IPDPS 2003 Nice Sophia Antipolis, April Overview: 1. What.
A service Oriented Architecture & Web Service Technology.
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © GridCOMP Grids Programming with components.
Web-based Software Development - An introduction
Inventory of Distributed Computing Concepts and Web services
ProActive Architecture of an Open Middleware for the Grid
The Grid Component Model and its Implementation in ProActive
Presentation transcript:

Denis Caromel1 Institut universitaire de France (IUF) OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis JAOO, Cannes, May 2004 Programming, Composing, Deploying for the GRID 1. Grid principles 2. Distributed Objects and Components: ObjectWeb ProActive LGPL environment 3. Application: 3D Electromagnetism 4. Towards Peer-To-Peer (P2P)

Denis Caromel2 The GRID PCs : 1 Milliard in 2002 (25 years) Forecast: 2 Milliards in 2008

Denis Caromel3 The Grid idea GRID = Electric Network Computer Power (CPU cycles) Electricity Can hardly be stored, if not used --> Lost But CPU cycles much harder to share than electricity: Production cannot be adjusted! Cannot really be delivered where needed! Not yet interoperability: Multiple Administrative Domains 2 important aspects : Computational + Data Grid Global management, Mutual sharing of the resource

Denis Caromel4 Example 50 Machines, 1.5 year of computation 5000 Machines, with only 50 % Efficiency ==> 10 days Applications: Simulate the stock market evolution Research for an urgent vaccine Forecast a bush-fire path Forecast in real time a flooding consequences... etc. Challenge: Scale up

Denis Caromel5 Ubiquitous: some numbers PCs in my lab (INRIA Sophia) : ~ 1500 French Riviera : 1.3 Millions France : 25 Millions Europe : 108 Millions USA : 400 Millions World : 1 Milliard in 2002 (25 ans) Forecast: 2 Milliards in 2008 France : 36 Millions of cellular phones 2.2 Millions of laptops 630 Thousand PDA (sources: ITU, Gartner Dataquest, IDC, 02-03, )

Denis Caromel6 The multiple GRIDs Scientific Grids : Parallel machines, Clusters Large equipments: Telescopes, Particle accelerators, etc. Enterprise Grids : Data, Integration: Web Services Remote connection, Security Intranet and Internet Grids, (miscalled P2P grid): Desktop office PCs: Desktop Intranet Grid Home PC: Internet Grid (e.g.

Denis Caromel7 Enterprise Grids Internet EJBServlets Apache Databases

Denis Caromel8 Scientific Grids Internet Clusters Parallel Machine Large Equipment

Denis Caromel9 Internet Grids Internet Job management for embarrassingly parallel application (e.g. SETI)

Denis Caromel10 The multiple GRIDs Scientific Grids Enterprise Grids Intranet and Internet Grids Strong convergence in process! At least at the infrastructure level, i.e. WS

Denis Caromel11 Grid: from enterprise... to regional Very hard deployment problems … right from the beginning

Denis Caromel12 Grid: from regional... to worldwide Communication Cannes-Los Angeles: 70 ms Light Speed Challenge: Hide the latency ! Define adequate programming model

Denis Caromel13 Distributed Objects and Components ProActive Programming

Denis Caromel14 Model: Remote Objects (Active Objects vs. Java RMI) Asynchronous Communications, with automatic Futures Group Communications, Migration (computation mobility) Environment: XML Deployment, dynamic class-loading Various protocols: rsh, ssh, LSF, Globus, BPS,... Graphical Visualization and monitoring: IC2D ProActive: A Java API + Tools for the GRID Parallel, Distributed, Mobile, Activities, across the world ! SMPClustersLAN Desktop

Denis Caromel15 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

Denis Caromel16 Mobility Same semantics guaranteed (RDV, FIFO order point to point, asynchronous) Safe migration (no agent in the air!) Local references if possible when arriving within a VM Tensionning (removal of forwarder)

Denis Caromel17 Mobility Same semantics guaranteed (RDV, FIFO order point to point, asynchronous) Safe migration (no agent in the air!) Local references if possible when arriving within a VM Tensionning (removal of forwarder)

Denis Caromel18 Mobility Same semantics guaranteed (RDV, FIFO order point to point, asynchronous) Safe migration (no agent in the air!) Local references if possible when arriving within a VM Tensionning (removal of forwarder) direct

Denis Caromel19 Mobility Same semantics guaranteed (RDV, FIFO order point to point, asynchronous) Safe migration (no agent in the air!) Local references if possible when arriving within a VM Tensionning (removal of forwarder) direct

Denis Caromel20 Mobility Same semantics guaranteed (RDV, FIFO order point to point, asynchronous) Safe migration (no agent in the air!) Local references if possible when arriving within a VM Tensionning (removal of forwarder) direct forwarder

Denis Caromel21 Mobility Same semantics guaranteed (RDV, FIFO order point to point, asynchronous) Safe migration (no agent in the air!) Local references if possible when arriving within a VM Tensionning (removal of forwarder) direct forwarder

Denis Caromel22 Mobility Same semantics guaranteed (RDV, FIFO order point to point, asynchronous) Safe migration (no agent in the air!) Local references if possible when arriving within a VM Tensionning (removal of forwarder) direct forwarder

Denis Caromel23 Mobility Same semantics guaranteed (RDV, FIFO order point to point, asynchronous) Safe migration (no agent in the air!) Local references if possible when arriving within a VM Tensionning (removal of forwarder) direct forwarder

Denis Caromel24 Parallel, Distributed, Hierarchical Components for the Grid Composing

Denis Caromel25 A CORBA Component My Business Component Component interface Facets Event sources Event sinks Attributes Receptacles OFFERED REQUIRED Courtesy of Philippe Merle, Lille, OpenCCM platform

Denis Caromel26 Building CCM Applications = Assembling CORBA Component Instances Provide + Use, but flat assembly

Denis Caromel27 Content Controller The Fractal model: Hierarchical Component Defined by E. Bruneton, T. Coupaye, J.B. Stefani, INRIA & FT

Denis Caromel28 Content Controller Interface = access point

Denis Caromel29 Content Controller Hierarchical model : composites encapsulate primitives, which encapsulates Java code

Denis Caromel30 Content Controller Binding = interaction

Denis Caromel31 Binding = interaction Content Controller

Denis Caromel32 Controllers : non-functional properties Component Identity Binding Controller LifeCycle Controller Content Controller Content Controller Component = runtime entity

Denis Caromel33 3. Parallel and composite component 1. Primitive component Java + Legacy 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 Caromel34 Composing: XML ADL Primitive-component "cd-player” implementation = "CdPlayer” // Java class with functional code Provides interface "input” … Requires … VirtualNode = VNa // Virtual Node name Composite-component ”stereo” VirtualNode = VNc, vn...// Virtual Node Provides … Requires … Primitive-component ”cd-player” Primitive-component ”speaker” Bindings bind "cd-player.output" to "speaker.input" Merging VNa, VNb, ---> VNc // Co-allocation in that case Example of an XML component file:

Denis Caromel35 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 Caromel36 Migration Capability of composites Migrate sets of components, including composites

Denis Caromel37 Migration Capability of composites Migrate sets of components, including composites

Denis Caromel38 Co-allocation, Re-distribution e.g. upon communication intensive phase

Denis Caromel39 Co-allocation, Re-distribution e.g. upon communication intensive phase

Denis Caromel40 Co-allocation, Re-distribution e.g. upon communication intensive phase

Denis Caromel41 Environment Deploying

Denis Caromel42 How to deploy on the Various Kind of Grids ? Internet EJBServlets Apache Databases Internet Clusters Parallel Machine Large Equipment Internet Job management for embarrassingly parallel application (e.g. SETI)

Denis Caromel43 Abstract Deployment Model Problem: Difficulties and lack of flexibility in deployment Avoid scripting for: configuration, getting nodes, connecting, etc. A key principle: Virtual Node (VN) + XML deployment file Abstract Away from source code: Machines Creation Protocols Lookup and Registry Protocols Protocols and infrastructures: Globus, ssh, rsh, LSF, PBS, … Web Services, WSRF,...

Denis Caromel44 Mapping Virtual Nodes: example (1) <sshProcess class="org.objectweb.proactive.core.process.ssh.SSHJVMProcess" hostname="sea.inria.fr"> Infrastructure informations JVM on the current HostJVM started using SSH

Denis Caromel45 <bsubProcess class="org.objectweb.proactive.core.process.lsf.LSFBSubProcess" hostname=”cluster.inria.fr"> 12 Mapping Virtual Nodes: example (2) Infrastructure informations Definition of LSF deployment, … Globus

Denis Caromel46 C AB VNaVNb C AB VNc = VN(a,b) XML Deployment (Not in source) Separate or Co-allocation

Denis Caromel47 IC2D: Interactive Control and Debugging of Distribution

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

Denis Caromel49 Application

Denis Caromel50 A Parallel Object-Oriented Application for 3D Electromagnetism Visualize the radar reflection of a plane, medicine on head, etc. Pre-existing Fortran MPI version: EM3D Jem3D: Sequential object-oriented design, modular and extensible (in Java) Sequential version can be smoothly distributed: --> keeping structuring and object abstractions Efficient distributed version, large domains, Grid environment

Denis Caromel51 The interface

Denis Caromel52 Some Results 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 Caromel53 Perspective: P2P

Denis Caromel54 Architectures: Server to Peer-To-Peer (P2P) Internet EJBServlets Apache Databases SOA: Service Oriented Architectures

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

Denis Caromel56 P2P Examples (1)

Denis Caromel57 P2P can be difficult: need to be fault-tolerant, self healing

Denis Caromel58 Not a P2P system

Denis Caromel59 Neither a P2P system

Denis Caromel60 P2P Examples (2)

Denis Caromel61 P2P Examples (2bis)

Denis Caromel62 A P2P system at work Credit: from the movie Atlantis, Luc Besson

Denis Caromel63 Conclusion GRIDs: - Scientific - Enterprise - Internet Strong convergence in process (infrastructure): WS, WSRF Challenge: adequate and precise programming+composing model Asynchronous distributed objects, Mobility, Components High-level of abstraction, still Open and flexible Modern languages: Java, or others not Fortran, MPI, C++, … not the answer Perspectives: Real P2P Interactive, Graphical, Deployment and Control: Content

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

Denis Caromel65 Merging Component + Activity / JVM Views: Component Monitoring Content Dynamic View

Denis Caromel66 Content Dynamic View Merging Component + Activity / JVM Views: Component Monitoring

Denis Caromel67 Conclusion (2) Infrastructure and Deployment Virtual Nodes and XML Protocols: ssh, Globus, LSF, PBS, … Transport: RMI, Ibis (Amsterdam) Web Services: XML, WSDL, SOAP (ongoing) OSGi (future work) Available in LGPL with ProActive in The freedom your applications deserve! Currently: a single application on 300 machines Goal: towards a few 1000s !

Denis Caromel68

Denis Caromel69

Denis Caromel70 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 Caromel71 Virtual Nodes in Programs (1) Load the descriptor file Descriptor pad = ProActive.getDescriptor ("file://ProActiveDescriptor.xml"); Activate the mapping VirtualNode vn = pad.activateMapping ("Dispatcher"); // Triggers the JVMs Use nodes Node node = vn.getNode();... C3D c3d = ProActive.newActive("C3D", param, node);

Denis Caromel72 Descriptors: Virtual Nodes in Programs (2) Descriptor pad = ProActive.getDescriptor ("file:.ProActiveDescriptor.xml"); VirtualNode vn = pad.activateMapping ("Dispatcher"); // Triggers the JVMs Node node = vn.getNode();... C3D c3d = ProActive.newActive("C3D", param, node); log (... "created at: " + node.name() + node.JVM() + node.host() );

Denis Caromel73 Descriptors: Virtual Nodes in Programs (3) Descriptor pad = ProActive.getDescriptor ("file:.ProActiveDescriptor.xml"); VirtualNode vn = pad.activateMapping ("Dispatcher"); // Triggers the JVMs Node node = vn.getNode();... C3D c3d = ProActive.newActive("C3D", param, node); log (... "created at: " + node.name() + node.JVM() + node.host() ); // Cyclic mapping: set of nodes VirtualNode vn = pad.activateMapping ("RendererSet"); while ( … vn.getNbNodes … ) { Node node = vn.getNode(); Renderer re = ProActive.newActive(”Renderer", param, node);

Denis Caromel74 Component Orientedness Level 1: Instantiate - Deploy - Configure Simple Pattern Meta-information (file, XML, etc.)JavaBeans, EJB Level 2: Assembly (flat) Server and client interfacesCCM Level 3: Hierarchic CompositeFractal, ProActive,... Level 4: Distributed + Reconfiguration Binding, Inclusion, Location ProActive + On going work Interactions / Communications: Functional Calls: service, event, stream Non-Functional: instantiate, deploy, start/stop, inner/outer, re-bind This talk

Denis Caromel75 C3D: distributed-//-collaborative