Denis Caromel 1 A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS.

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
Web Service Composition Prepared by Robert Ma February 5, 2007.
Christian Delbe1 Christian Delbé OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis November Automatic Fault Tolerance in ProActive.
Agenda 1. Background: OASIS, ActiveEon 2. ProActive Overview : Programming, Scheduling, Resourcing 3. Use Case: Genomics 4. Cloud Seeding D. Caromel,
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.
1 Key Objectives  Parallel Programming Model and Tools  desesperatly needed  for the masses (New Scientist, New SME)  for new architectures (Multi-cores)
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 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.
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
Agenda 1. Background: OASIS, ActiveEon 2. ProActive Overview 3. Programming (Components: GCM Standard) 4. Optimizing 5. Scheduling + Resourcing 6. SOA,
1 ProActive performance evaluation with NAS benchmarks and optimization of OO SPMD Brian AmedroVladimir Bodnartchouk.
1 1 Hybrid Cloud Solutions (Private with Public Burst) Accelerate and Orchestrate Enterprise Applications.
1 1 Hybrid Cloud Solutions (Private with Public Burst) Accelerate and Orchestrate Enterprise Applications.
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.
1 Secure Distributed Objects for Grid Applications Laurent Baduel, Arnaud Contes, Denis Caromel OASIS team ProActive
A Lightweight Platform for Integration of Resource Limited Devices into Pervasive Grids Stavros Isaiadis and Vladimir Getov University of Westminster
The Grid Component Model: an Overview “Proposal for a Grid Component Model” DPM02 “Basic Features of the Grid Component Model (assessed)” -- DPM04 CoreGrid.
Architecting Web Services Unit – II – PART - III.
The Grid Component Model and its Implementation in ProActive CoreGrid Network of Excellence, Institute on Programming Models D.PM02 “Proposal for a Grid.
1 Update Strategies for First Class Futures Khan Muhammad, Ludovic Henrio INRIA, Univ. Nice Sophia Antipolis,CNRS.
Formalism and Platform for Autonomous Distributed Components Bio-inspired Networks and Services A Distributed Component Model Formalisation in Isabelle.
Denis Caromel1 Troisieme partie Cours EJC 2003, AUSSOIS, Denis Caromel OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis.
Evaluation of Agent Teamwork High Performance Distributed Computing Middleware. Solomon Lane Agent Teamwork Research Assistant October 2006 – March 2007.
Denis Caromel 1 Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF Open Source.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
ServiceSs, a new programming model for the Cloud Daniele Lezzi, Rosa M. Badia, Jorge Ejarque, Raul Sirvent, Enric Tejedor Grid Computing and Clusters Group.
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.
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.
1. 2 Objects to Distributed Components (1) Typed Group Java or Active Object ComponentIdentity Cpt = newActiveComponent (params); A a = Cpt ….getFcInterface.
Denis Caromel 1 Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF Strong Programming.
GRID Overview Internet2 Member Meeting Spring 2003 Sandra Redman Information Technology and Systems Center and Information Technology Research Center National.
A Component Platform for Experimenting with Autonomic Composition A component framework for supporting composition of autonomic services and bio-inspired.
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.
Qusay H. Mahmoud CIS* CIS* Service-Oriented Computing Qusay H. Mahmoud, Ph.D.
© 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.
1 OASIS Active Objects, Semantics, Internet, and Security Large Scale, Parallel and Distributed Systems Middleware, Programming Models & Semantics, Verification.
VERIFYING THE CORRECT COMPOSITION OF DISTRIBUTED COMPONENTS: FORMALISATION AND TOOL Ludovic Henrio 1, Oleksandra Kulankhina 1,2, Dongqian Liu 3, Eric Madelaine.
Tool Integration with Data and Computation Grid “Grid Wizard 2”
1 ProActive GCM – CCA Interoperability Maciej Malawski, Ludovic Henrio, Matthieu Morel, Francoise Baude, Denis Caromel, Marian Bubak Institute of Computer.
Distributed Components and Futures: Models and Challenges A Distributed Component Model Distributed Reconfiguration Calculi for Components and Futures.
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.
Agenda 1. Background: INRIA, ActiveEon 2. ProActive Open Source: Programming, Scheduling, Resourcing 3. Cloud Seeding with GPU 4. UC: Genomics, Finance,
Typed Group Communication & Object-Oriented SPMD Laurent Baduel.
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.
Distributed Components and Futures: Models and Challenges
Hierarchical Architecture
The Grid Component Model and its Implementation in ProActive
Presentation transcript:

Denis Caromel 1 A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS Team 2.Programming: Parallel Programming Models: a)Asynchronous Active Objects, Futures, Typed Groups b)High-Level Abstractions (OO SPMD, Comp., Skeleton) 3.Optimizing 4.Deploying

Denis Caromel 2 1. Background and Team at INRIA

Denis Caromel 3 OASIS Team & INRIA Computer Science and Control 8 Centers all over France Workforce: Strong in standardization committees: – IETF, W3C, ETSI, … Strong Industrial Partnerships Foster company foundation: 90 startups so far - Ilog (Nasdaq, Euronext) - … - ActiveEon A joint team between: INRIA, Nice Univ. CNRS Participation to EU projects: –CoreGrid, EchoGrid, Bionets, SOA4ALL –GridCOMP (Scientific Coordinator) ProActive 4.0.1: Distributed and Parallel: From Multi-cores to Enterprise+Science GRIDs

Denis Caromel 4 Startup Company Born of INRIA Co-developing, Providing support for Open Source ProActive Parallel SuiteProActive Parallel Suite Worldwide Customers (EU, Boston USA, etc.)

Denis Caromel 5 OASIS Team Composition (35) Researchers (5): D. Caromel (UNSA, Det. INRIA) E. Madelaine (INRIA) F. Baude (UNSA) F. Huet (UNSA) L. Henrio (CNRS) PhDs (11): Antonio Cansado (INRIA, Conicyt) Brian Amedro (SCS-Agos) Cristian Ruz (INRIA, Conicyt) Elton Mathias (INRIA-Cordi) Imen Filali (SCS-Agos / FP7 SOA4All) Marcela Rivera (INRIA, Conicyt) Muhammad Khan (STIC-Asia) Paul Naoumenko (INRIA/Région PACA) Viet Dung Doan (FP6 Bionets) Virginie Contes (SOA4ALL) Guilherme Pezzi (AGOS, CIFRE SCP) + Visitors + Interns PostDoc (1): Regis Gascon (INRIA) Engineers (10): Elaine Isnard (AGOS) Fabien Viale (ANR OMD2, Renault ) Franca Perrina (AGOS) Germain Sigety (INRIA) Yu Feng (ETSI, FP6 EchoGrid) Bastien Sauvan (ADT Galaxy) Florin-Alexandru.Bratu (INRIA CPER) Igor Smirnov (Microsoft) Fabrice Fontenoy (AGOS) Open position (Thales) Trainee (2): Etienne Vallette d’Osia (Master 2 ISI) Laurent Vanni (Master 2 ISI) Assistants (2): Patricia Maleyran (INRIA) Sandra Devauchelle (I3S)

Denis Caromel 6 ProActive Contributors

Denis Caromel 7 ProActive Parallel Suite: Architecture

Denis Caromel 8

9 ProActive Parallel Suite 9 Physical Infrastructure

Denis Caromel 10 ProActive Parallel Suite 10

Denis Caromel Programming Models for Parallel & Distributed

Denis Caromel 12 ProActive Parallel Suite

Denis Caromel 13 ProActive Parallel Suite

Denis Caromel 14 Distributed and Parallel Active Objects

Denis Caromel 15 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 Caromel 16 First-Class Futures Update

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

Denis Caromel 18 Wait-By-Necessity: Eager Forward Based ba AO forwarding a future: will have to forward its value V= b.bar () c c c.gee (V) v v b

Denis Caromel 19 Wait-By-Necessity: Eager Message Based ba AO receiving a future: send a message V= b.bar () c c c.gee (V) v v b

Denis Caromel 20 Standard system at Runtime: No Sharing NoC: Network On Chip Proofs of Determinism

Denis Caromel 21 (2) ASP: Asynchronous Sequential Processes 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, … A strong guide for implementation, Fault-Tolerance and checkpointing, Model-Checking, …

Denis Caromel 22 No Sharing even for Multi-Cores Related Talks at PDP 2009 SS6 Session, today at 16:00 Impact of the Memory Hierarchy on Shared Memory Architectures in Multicore Programming Models Rosa M. Badia, Josep M. Perez, Eduard Ayguade, and Jesus Labarta Realities of Multi-Core CPU Chips and Memory Contention David P. Barker

Denis Caromel 23 TYPED ASYNCHRONOUS GROUPS

Denis Caromel 24 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 Composition JVM

Denis Caromel 25 Broadcast and Scatter JVM ag cg ag.bar(cg); // broadcast cg ProActive.setScatterGroup(cg) ; ag.bar(cg); // scatter cg c1 c2 c3 c1 c2 c3 c1 c2 c3 c1 c2 c3 c1 c2 c3 c1 c2 c3 s c1 c2 c3 s Broadcast is the default behavior Use a group as parameter, Scattered depends on rankings

Denis Caromel 26 Static Dispatch Group JVM ag cg c1 c2 c3 c4 c5 c6 c7 c8c0 c9c1 c2 c3 c4 c5 c6 c7 c8c0 c9 c1 c2 c3 c4 c5 c6 c7 c8c0 c9 Slowest Fastest empty queue ag.bar(cg);

Denis Caromel 27 Dynamic Dispatch Group JVM ag cg c1 c2 c3 c4 c5 c6 c7 c8c0 c9c1 c2 c3 c4 c5 c6 c7 c8c0 c9 c1 c2 c3 c4 c5 c6 c7 c8c0 c9 Slowest Fastest ag.bar(cg);

Denis Caromel 28 Handling Group Failures (2) JVM ag vg V vg = ag.foo (param) ; Group groupV = PAG.getGroup(vg); el = groupV.getExceptionList();... vg.gee(); failure Except. List

Denis Caromel 29 Abstractions for Parallelism The right Tool to execute the Task

Denis Caromel 30 Object-Oriented SPMD

Denis Caromel 31 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 Caromel 32 Object-Oriented SPMD Single Program Multiple Data Motivation Use Enterprise technology (Java, Eclipse, etc.) for Parallel Computing Able to express in Java MPI’s Collective Communications: broadcast reduce scatter allscatter gather allgather Together with Barriers, Topologies.

Denis Caromel 33 MPI Communication primitives For some (historical) reasons, MPI has many com. Primitives: MPI_Send StdMPI_Recv Receive MPI_Ssend SynchronousMPI_Irecv Immediate MPI_Bsend Buffer… (any) source, (any) tag, MPI_Rsend Ready MPI_Isend Immediate, async/future MPI_Ibsend, … I’d rather put the burden on the implementation, not the Programmers ! How to do adaptive implementation in that context ? Not talking about: the combinatory that occurs between send and receive the semantic problems that occur in distributed implementations

Denis Caromel 34 Application Semantics rather than Low-Level Architecture-Based Optimization MPI: MPI_Send MPI_Recv MPI_Ssend MPI_Irecv MPI_Bsend MPI_Rsend MPI_Isend MPI_Ibsend What we propose: High-level Information from Application Programmer (Experimented on 3D ElectroMagnetism, and Nasa Benchmarks) Examples: ro.foo ( ForgetOnSend (params) ); ActiveObject.exchange(…params ); Optimizations for Both  Distributed &  Multi-Core

35 NAS Parallel Benchmarks Designed by NASA to evaluate benefits of high performance systems Strongly based on CFD 5 benchmarks (kernels) to test different aspects of a system 2 categories or focus variations: communication intensive and computation intensive

Denis Caromel 36 Communication Intensive CG Kernel (Conjugate Gradient) Floating point operations Eigen value computation High number of unstructured communications calls/node 570 MB sent/node 1 min % comms/WT Message density distribution Data density distribution

Denis Caromel 37 Communication Intensive CG Kernel (Conjugate Gradient)  Comparable Performances

Denis Caromel 38 Communication Intensive MG Kernel (Multi Grid) Floating point operations Solving Poisson problem Structured communications 600 calls/node 45 MB sent 1 min % comms Message density distribution Data density distribution

Denis Caromel 39 Communication Intensive MG Kernel (Multi Grid) Pb. With high-rate communications 2D  3D matrix access

Denis Caromel 40 Computation Intensive EP Kernel (Embarrassingly Parallel) Random numbers generation Almost no communications  This is Java!!!

Denis Caromel 41 Related Talk at PDP 2009 T4 Session, today at 14:00 NPB-MPJ: NAS Parallel Benchmarks Implementation for Message Passing in Java Damián A. Mallón, Guillermo L. Taboada, Juan Touriño, Ramón Doallo Univ. Coruña, Spain

Denis Caromel 42 Parallel Components

Denis Caromel 43 GridCOMP Partners

Denis Caromel 44 Objects to Distributed Components Typed Group Java or Active Object V A Example of component instance JVM Truly Distributed Components IoC: Inversion Of Control (set in XML)

GCM Scopes and Objectives: Grid Codes that Compose and Deploy No programming, No Scripting, … No Pain Innovation: Abstract Deployment Composite Components Multicast and GatherCast MultiCast GatherCast

Denis Caromel 46 Optimizing MxN Operations 2+ composites can be involved in the Gather- multicast

Denis Caromel 47 Related Talk at PDP 2009 T1 Session, Yesterday at 11:30 Towards Hierarchical Management of Autonomic Components: a Case Study Marco Aldinucci, Marco Danelutto, and Peter Kilpatrick

Denis Caromel 48 Skeleton

49 Algorithmic Skeletons for Parallelism High Level Programming Model [Cole89] Hides the complexity of parallel/distributed programming Exploits nestable parallelism patterns Task Parallelism Patterns for farm pipe if while map fork divide & conquer Data fork seq(f 1 )‏ seq(f 2 )‏ pipe seq(f 3 )‏ d&c(f b,f d,f c )‏ BLAST Skeleton Program

50 Algorithmic Skeletons for Parallelism High Level Programming Model [Cole89] Hides the complexity of parallel/distributed programming Exploits nestable parallelism patterns Task Parallelism Patterns for farm pipe if while map fork divide & conquer Data fork seq(f 1 )‏ seq(f 2 )‏ pipe seq(f 3 )‏ d&c(f b,f d,f c )‏ BLAST Skeleton Program public boolean condition(BlastParams param){ File file = param.dbFile; return file.length() > param.maxDBSize; } public boolean condition(BlastParams param){ File file = param.dbFile; return file.length() > param.maxDBSize; }

Denis Caromel Optimizing

Denis Caromel 52 Programming & Optimizing Monitoring, Debugging, Optimizing

Denis Caromel 53

Denis Caromel 54 Optimizing User Interface

Denis Caromel 55 IC2D

Denis Caromel 56 ChartIt

Denis Caromel 57 Pies for Analysis and Optimization

Denis Caromel 58 Video 1: IC2D Optimizing Monitoring, Debugging, Optimizing

Denis Caromel 59

Denis Caromel Deploying & Scheduling

Denis Caromel 61

Denis Caromel 62 Deploying

Denis Caromel 63 Deploy on Various Kinds of Infrastructures Internet Clusters Parallel Machine Large Equipment Internet Job management for embarrassingly parallel application (e.g. SETI) Internet Servlets EJBsDatabases

Denis Caromel 64 GCM Standardization Fractal Based Grid Component Model 4 Standards: 1. GCM Interoperability Deployment 2. GCM Application Description 3. GCM Fractal ADL 4. GCM Management API Overall, the standardization is supported by industrials: BT, FT-Orange, Nokia-Siemens, Telefonica, NEC, Alcatel-Lucent, Huawei …

Denis Caromel 65 Protocols and Scheduler in GCM Deployment Standard Protocols: Rsh, ssh Oarsh, Gsissh Scheduler, and Grids: GroupSSH, GroupRSH, GroupOARSH ARC (NorduGrid), CGSP China Grid, EEGE gLITE, Fura/InnerGrid (GridSystem Inc.) GLOBUS, GridBus IBM Load Leveler, LSF, Microsoft CCS (Windows HPC Server 2008) Sun Grid Engine, OAR, PBS / Torque, PRUN Soon available in stable release: Java EE Amazon EC2

Denis Caromel 66 Abstract Deployment Model Problem Difficulties and lack of flexibility in deployment Avoid scripting for configuration, getting nodes, connecting … Problem Difficulties and lack of flexibility in deployment Avoid scripting for configuration, getting nodes, connecting … A key principle: Virtual Node (VN) 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

Denis Caromel 67 Resource Virtualization 67 Application Deployment Descriptor Mapping Connections Nodes Acquisition Creation Infrastructure VN Runtime structured entities: 1 VN --> n Nodes in m JVMs on k Hosts 2009

Denis Caromel 68 Resource Virtualization 68 Application VN1 VN2 GCM XML Deployment Descriptor node Host JVM node JVM Host node JVM 2009

Denis Caromel 69 Virtualization resources 69 Application VN1 VN2 node Host JVM node JVM Host node JVM 2009

Denis Caromel 70 Multiple Deployments 70 One Host Local Grid Distributed Grids Internet 2009

Denis Caromel 71 Scheduling Mode

Denis Caromel 72 Programming with flows of tasks Program an application as an ordered set of tasks Logical flow : Tasks execution are orchestrated Data flow : Results are forwarded from ancestor tasks to children as parameter The task is the smallest execution unit Two types of tasks: - Standard Java - Native, i.e. any third party application (binary, scripts, etc.) 72 Task 1(input 1) Task 2(input 2) Task 3(res1,res2) res1 res2 2009

Denis Caromel 73 Defining and running jobs with ProActive A workflow application is a job a set of tasks which can be executed according to a dependency tree Rely on ProActive Scheduler Java or XML interface Dynamic job creation in Java Static description in XML Task failures are handled by the ProActive Scheduler A task can be automatically re-started or not (with a user-defined bound) Dependant tasks can be aborted or not The finished job contains the cause exceptions as results if any

Denis Caromel 74 Scheduler / Resource Manager Overview 74 Multi-platform Graphical Client (RCP) File-based or LDAP authentication Static Workflow Job Scheduling, Native and Java tasks, Retry on Error, Priority Policy, Configuration Scripts,… Dynamic and Static node sources, Resource Selection by script, Monitoring and Control GUI,… ProActive Deployment capabilities : Desktops, Clusters, ProActive P2P,… 2009

Denis Caromel 75 Scheduler: User Interface

Denis Caromel 76 Scheduler: User Interface

Denis Caromel 77 Video 2: Scheduling Scheduler and Resource Manager: See the video at s/Scheduler_RM_Short.mpg

Denis Caromel 78

Denis Caromel 79 Summary

Denis Caromel 80 Current Open Source Tools: Acceleration Toolkit : Concurrency +Parallelism +Distribution

Denis Caromel 81 Conclusion  Applications:  3D Electromagnetism SPMD on 300 machines at once  Groups of over 1000!  Record: Nodes ► Summary:  Programming: OO  Asynchrony, First-Class Futures, No Sharing  Higher-level Abstractions (SPMD, Skel., …)  Composing: Hierarchical Components  Optimizing:IC2D Eclipse GUI  Deploying: ssh, Globus, LSF, PBS, …, WS Our next target: Core Applications

Denis Caromel 82 Conclusion: Why does it scale? Thanks to a few key features: Connection-less, RMI+JMS unified Messages rather than long-living interactions

Denis Caromel 83 Conclusion: Why does it Compose? Thanks to a few key features: Because it Scales: asynchrony ! Because it is Typed: RMI with interfaces ! First-Class Futures: No unstructured Call Backs and Ports

Denis Caromel 84 Perspectives for Parallelism & Distribution A need for several, coherent, Programming Models for different applications: –Actors (Functional Parallelism) + Active Objects + Futures –OO SPMD: optimizations away from low-level optimizations –Parallel Component: Codes and Synchronizations: MultiCast GatherCast: Capturing // Behavior at Interfaces! –Adaptive Parallel Skeletons –Event Processing (Reactive Systems) Efficient Implementations are needed to prove Ideas! Proofs of Programming Model Properties Needed for Scalability! Our Community never had a greatest Future! Thank You for your attention!

Denis Caromel 85

Denis Caromel 86 Extra Material Grid + SOA J2EE + Grid Amazon EC2 ProActive Image and Deployment

Denis Caromel 87 Perspective: SOA + Grid

Denis Caromel 88 SOA Integration: Web Services, BPEL Workflow

Denis Caromel 89 Active Objects as Web Services Why ? Access Active Objects from any language How ? HTTP Server SOAP Engine (Axis) Usage: ProActive.exposeAsWebService(); ProActive.unExposeAsWebService(); JVM Web Service Client Web Services

Denis Caromel 90 ProActive + Services + Workflows Principles: 3 kinds of Parallel Services 3. Domain Specific Parallel Services (e.g. Monte Carlo Pricing) 2. Typical Parallel Computing Services (Parameter Sweeping, D&C, …) 1.Basic Job Scheduling Services (parallel execution on the Grid)

Denis Caromel 91 3 kinds of Parallel Services 3. Domain Specific Parallel Services: providing business functionalities executed in parallel 2. Parallelization services: typical parallel computing patterns (Parameter Sweeping, D&C, …) 1. Job Scheduling service: Schedule and Run jobs in parallel on the Grid. Parallel Services Operational Services … 1. Job Scheduling Service 2. Parameter Sweeping Service 2. Divide & Conquer Service Other Operational Service … Domain Specific Parallel Service … Other Basic Service High level Business ProcessGrid 3. Domain Specific Parallel Service

Denis Caromel 92 A sample pattern: Parameter Sweeping I1 I2 … In O1 O2 … On Exec Logic parameter sweeping I1 I2 … In O1 O2 … On Parameter Sweeping Service, customized with an Exec logic X Param Sweeping Service Process using parameter sweeping service … All the running instances of the Exec logic X are executed on the grid as a whole PA Scheduler & PA Resource Manager

Denis Caromel 93 Video SOA Integration: Web Services, BPEL Workflow

Denis Caromel J2EE Integration Florin Alexandru Bratu OASIS Team - INRIA

Denis Caromel 95 J2EE Integration with Parallelism + Grids/Clouds Performing Grid & Cloud Computing From & In an Application Servers 1.Delegating heavy computations outsides J2EE Applications 2.Using Deployed J2EE Nodes as Computational Resources

Denis Caromel 96 ProActive – J2EE Integration (1) 1.Delegating heavy computations outsides J2EE Applications

Denis Caromel 97 ProActive – J2EE Integration (2) 2. Using Deployed J2EE Nodes as Computational Resources Objective Being able to deploy active objects inside the JVMs of application servers Implementation Based on a Sun standard – Java Connector Architecture JSR112 Deployment module: resource adapter (RAR)‏ Works with all J2EE-compliant Application Servers

Integration(2)‏

Denis Caromel 99 Grids & Clouds: Amazon EC2 Deployment

Denis Caromel 100 Big Picture + Clouds

Denis Caromel 101 Clouds: ProActive Amazon EC2 Deployment Principles & Achievements: ProActive Amazon Images (AMI) on EC2 So far up to 128 EC2 Instances (Indeed the maximum on the EC2 platform, … ready to try AMI) Seamless Deployment: no application change, no scripting, no pain Open the road to : In house Enterprise Cluster and Grid + Scale out on EC2

Denis Caromel 102 ProActive Deployment on Amazon EC2 Video

Denis Caromel 103

Denis Caromel 104 P2P: Programming Models on Overlay Networks

Denis Caromel 105

Denis Caromel 106