GridCOMP ProActive/GCM tutorial and and Hands-On Grid Programming



Similar documents
An approach to grid scheduling by using Condor-G Matchmaking mechanism

Branch-and-Bound with Peer-to-Peer for Large-Scale Grids

MPI / ClusterTools Update and Plans

GridWay: Open Source Meta-scheduling Technology for Grid Computing

Asynchronous Peer-to- Peer Web Services and Firewalls

Alcatel-Lucent IMS Application Server

Middleware Lou Somers

Load balancing in SOAJA (Service Oriented Java Adaptive Applications)

Grid Sun Carlo Nardone. Technical Systems Ambassador GSO Client Solutions

The GridWay Meta-Scheduler

A Survey Study on Monitoring Service for Grid

System Models for Distributed and Cloud Computing

Enabling Large-Scale Testing of IaaS Cloud Platforms on the Grid 5000 Testbed

The Service Revolution software engineering without programming languages

Cluster, Grid, Cloud Concepts

Service Oriented Architectures

Unleashing the Performance Potential of GPUs for Atmospheric Dynamic Solvers

Final Report. Cluster Scheduling. Submitted by: Priti Lohani

Storage Virtualization from clusters to grid

Distribution transparency. Degree of transparency. Openness of distributed systems

Distributed Systems and Recent Innovations: Challenges and Benefits

Grid Computing With FreeBSD

Cognos8 Deployment Best Practices for Performance/Scalability. Barnaby Cole Practice Lead, Technical Services

Scalable monitoring and configuration tools for grids and clusters

Grids Computing and Collaboration

COM 440 Distributed Systems Project List Summary

Cloud Computing Architecture with OpenNebula HPC Cloud Use Cases

Distributed and Cloud Computing

Distributed Systems Lecture 1 1

How To Create A C++ Web Service

Analyses on functional capabilities of BizTalk Server, Oracle BPEL Process Manger and WebSphere Process Server for applications in Grid middleware

Provisioning and Resource Management at Large Scale (Kadeploy and OAR)

Processing big data by WS- PGRADE/gUSE and Data Avenue

25 May Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy

What s Cool in the SAP JVM (CON3243)

Project SailFin: Building and Hosting Your Own Communication Server.

Manjrasoft Market Oriented Cloud Computing Platform

Scientific Computing Programming with Parallel Objects

HPC and Grid Concepts

How To Understand The Concept Of A Distributed System

A Unified Messaging-Based Architectural Pattern for Building Scalable Enterprise Service Bus

OSGi Service Platform in Integrated Management Environments Telefonica I+D, DIT-UPM, Telvent. copyright 2004 by OSGi Alliance All rights reserved.

ebay : How is it a hit

a division of Technical Overview Xenos Enterprise Server 2.0

Software Development around a Millisecond

MIDDLEWARE 1. Figure 1: Middleware Layer in Context

Using WestGrid. Patrick Mann, Manager, Technical Operations Jan.15, 2014

Chapter 1 - Web Server Management and Cluster Topology

Persistent, Reliable JMS Messaging Integrated Into Voyager s Distributed Application Platform

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

EAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES. Enterprise Application Integration. Peter R. Egli INDIGOO.

ObjectWeb. An Introduction

Sentinet for BizTalk Server SENTINET

IC2D: Interactive Control and Debugging of Distribution

CompatibleOne Open Source Cloud Broker Architecture Overview

Grid Scheduling Architectures with Globus GridWay and Sun Grid Engine

Analisi di un servizio SRM: StoRM

Why is CICS Still Alive? Dr Geoff Sharman Visiting Professor in Computer Science Birkbeck College

XSEDE Service Provider Software and Services Baseline. September 24, 2015 Version 1.2

Parallel Programming at the Exascale Era: A Case Study on Parallelizing Matrix Assembly For Unstructured Meshes

Closer Look at Enterprise Service Bus. Deb L. Ayers Sr. Principle Product Manager Oracle Service Bus SOA Fusion Middleware Division

Test of cloud federation in CHAIN-REDS project

Orchestrating Web Services: The Case for a BPEL Server. An Oracle White Paper June 2004

Manjrasoft Market Oriented Cloud Computing Platform

GridSolve: : A Seamless Bridge Between the Standard Programming Interfaces and Remote Resources

Grid Computing. Web Services. Explanation (2) Explanation. Grid Computing Fall 2006 Paul A. Farrell 9/12/2006

IONA Security Platform

LSKA 2010 Survey Report Job Scheduler

Enabling the Information Age

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

Building Hyper-Scale Platform-as-a-Service Microservices with Microsoft Azure. Patriek van Dorp and Alex Thissen

Gajaba: Dynamic Rule Based Load Balancing Framework

Creating new university management software by methodologies of Service Oriented Architecture (SOA)

ANALYSIS OF GRID COMPUTING AS IT APPLIES TO HIGH VOLUME DOCUMENT PROCESSING AND OCR

Exploring Oracle E-Business Suite Load Balancing Options. Venkat Perumal IT Convergence

LOAD BALANCING TECHNIQUES FOR RELEASE 11i AND RELEASE 12 E-BUSINESS ENVIRONMENTS

GRID COMPUTING Techniques and Applications BARRY WILKINSON

Monitoring Clusters and Grids

Transcription:

GridCOMP ProActive/GCM tutorial and and Hands-On Grid Programming Cédric Dalmasso, Antonio Cansado and Denis Caromel INRIA - OASIS Team INRIA -- CNRS -- I3S -- Univ. of Nice Sophia-Antipolis, IUF IV Grid@Work, Tsinghua University, Beijing

General agenda Talk: A short introduction to ProActive middleware Practical session: ProActive fundamentals Talk: ProActive / GCM Practical session: ProActive / GCM Talk: IDE Talk: Autonomic Practical session: Autonomic 2

Short Introduction to ProActive

Agenda (Update It) Overview Programming Deploying What else? GUIs and tools Applications Conclusion 4

Overview

The team : 30+ members OASIS Team at INRIA in Nice, France Joint team INRIA / CNRS / Univ. Nice Team leader: Denis Caromel 3 professors 2 researchers 1 postdoc 7 engineers 7 PhD students + Interns, visiting researchers Collaborations: ObjectWeb, CoreGRID, GridCOMP etc.. 6

Originates from work on Eiffel // Started in 1999 The library Official releases ~ every 6 months ProActive 3.2.1 released in April 2007 (Version 3.9 soon) Metrics: 2000 classes, ~ 300.000 LOC (160.000 NCLOC) Compliant with several (de facto) standards ProActive startup: ActiveEon Training, Consulting, Integrating and Support 7

Theory Henrio & Caromel ASP Calculus: Asynchronous Sequential Processes Based on Sigma-Calculus (Abadi-Cardelli) Formal Proofs of determinism (in greek) Implemented in ProActive 8

ProActive s Framework in a nutshell Open Source + PROFESSIONAL SUPPORT 9

Inside ProActive IDE PROGRAMMING & COMPOSING DEPLOYMENT 10

Rationale Distributed programming entities Parallel processes Asynchronism Synchronization facilities Sequential Multithreaded Distributed 11 11

Grid Computing with ProActive Budapest Nice Hierarchical Deployment Amsterdam Challenges: Programming Model, Scale, Latency, Heterogeneity, Versatility (protocols, firewalls, etc.) Beijing 12 12

Programming

Active objects : structuring entities (subsystems) Passive objects (fields) 1 thread / AO Request queue ProActive: Model Full control to serve incoming requests (reification) Sequential processing Typed entities (safe) Asynchronous Communication between active objects No shared passive objects - deep-copy of parameters 14

JVM Creation, Invocation and Sync. A ag = newactive ( A, [ ], VirtualNode) V v1 = ag.foo (param); V v2 = ag.bar (param);... v1.bar(); //Wait-By-Necessity v2 v1 ag JVM A A WBN! V Java Object Active Object Req. Queue Future Object Proxy Request Thread 15 15

Automatic Continuations a c V= b.bar () b v c.gee (V) Transferable futures v c Concurrent activities Data-flow synchronization 16

Explicit Synchronizations A ag = newactive ( A, [ ], VirtualNode) V v = ag.foo(param);... v.bar(); //Wait-by-necessity Explicit Synchronization: - ProActive.isAwaited (v); // Test if available - ProActive.waitFor (v); // Wait until availab. Vectors of Futures: - ProActive.waitForAll (Vector); // Wait All - ProActive.waitForAny (Vector); // Get First 17

Architecture : a Meta-Object Protocol VM1 VM2 mobility generated on-the-fly communication layer asynchronism service metaobjects proxy body Stub_a 18 b future a

JVM Active Objects and Groups A ag = newactivegroup ( A, [ ], VirtualNode) V v = ag.foo(param);... v.bar(); //Wait-by-necessity A V Typed Group Java or Active Object Group, Type, and Asynchrony are crucial for Cpt. and GRID 19 19

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

Deploying

Deployment : an abstract model Problem: Heterogeneous environments/protocols Scalability issues (large number of hosts / latency) A key principle: Separate design from deployment infrastructure Nothing about infrastructure, protocols or physical resources in the app. code XML deployment file Creation Protocols ssh, gsissh, rsh, rlogin lsf, pbs, sun grid engine, oar, prun globus(gt2, GT3 and GT4), unicore, glite, arc (nordugrid) Registry/Lookup and Comm. Protocols rmi, http, rmissh, ibis, soap Files Transfers scp, rcp unicore, arc (nordugrid) other protocols like globus, glite will be supported soon Virtual Node (VN) 22

Activating a XML Desc.... <virtualnodesdefinition> <virtualnode name='dispatcher'/>... ProActiveDescriptor <map virtualnode='dispatcher'> pad = ProActive.getProactiveDescriptor(String xmlfile); <jvmset> // Returns a ProActiveDescriptor objectfrom the xmlfile <vmna me value='jvm1'/> VirtualNode... dispatcher = pad.getvirtualnode('dispatcher'); // Returns the <jvm VirtualNode name="jvm1"> Dispatcher as a java object <creation> dispatcher.activate(); <processreference refid="sshprocess"/> // Activates </creation> the VirtualNode Node node < /jvm> = dispatcher.getnode();... // Returns the first node available among nodes mapped to the VirtualNode <processes> <processdefinitionid="jvmprocess"> C3DDispatcher <jvmprocess c3ddispatcher class="org.objectweb.proactive.core.process.jvmnodeprocess"/> = newactive( C3DDispatcher',param, node); </processdefinition> <processdefinitionid="sshprocess"> <sshprocess class="org.objectweb.proactive.core.process.ssh.sshprocess hostname="sea.inria.fr">... 23

Same Application, Many Deployments Write once, deploy everywhere Internet One Host Local Grid Distributed Grids 24

What else?

Other important features Component framework, the ProActive/GCM (just later!) P2P environment + Branch & Bound API Legacy code wrapping (MPI!) Middleware services: - Fault Tolerance - SOA integration (OSGI compliancy) - Migration - Load Balancing - Security 26

GUIs and tools

28

29

30

TimIt

32

33

34

Some Applications

Java 3D Electromagnetism Maxwell 3D equation solver, Finite Volume Method (FVM) Pre-existing Fortran MPI version: EM3D (CAIMAN team @ INRIA) 300+ machines at the same time (Intranet and cluster) 900 800 Large data sets: 150x150x150 (100 million facets) temps (secondes) 700 600 500 400 300 200 100 0 0 10 20 30 40 50 60 70 nombre de processeurs taille du maillage 21*21*21 31*31*31 43*43*43 55*55*55 81*81*81 97*97*97 113*113*113 121*121*121 36

JECS : A Generic Version of Jem3D 37

Code Coupling : Vibro Acoustic (courtesy of EADS) 38

Scilab Grid Toolkit 39

Post Production movie processing 40

Post Production movie processing 41

Large Scale Deployments Amsterdam Belfast Fribourg Grenoble Lille Manchester Melbourne Merida Metz Bombay Grid Plugtests 2004, 2005 & 2006 20 to 40 sites worldwide 100 GFlops in 2004 1700 Gflops in 2006 4130 cores (2111) in 2006 Melbourne Nancy Metz Napoli IBM, Sun, Bull, Apple, x86, 64bits Linux, Windows, Solaris, MacOS ssh, rsh, sshgsi, GRAM PBS, LSF, SGE, OAR, Globus, Prun 42 Nancy Pise Napoli Rennes Nice Santiago Metz San Diego Paris Grid 5000 - DAS etc P2P INRIA Infrastructure 53 years computation in 6 months on 200+ machines

On-going activities Programming model Grid Component Model, adaptive components Model checking, formal verification of behavioral properties High level parallelism patterns (skeletons) Deployment OSGi gateways MPI / native codes wrapping Easier specification, Scheduler Middleware services Security at application level Distributed garbage collection Industrial strength product Quality development process, Support, ServicesProActive/GCM User Group and Contest at GRIDs@Work 2007: IV GRID PLUGTESTS, Joint European Union/China GRID 28 Oct.-2 Nov. 2007, Beijing, China 43

Conclusion Usability - High Level Abstractions - Latency Strong programming model formal model, active objects, groups, components Deployment - Multiple Administrative Domains - Heterogeneity - Scalability Dynamicity - Adaptivity - Instability Versatile deployment framework Interfaced with Grid & cluster standards Pluggable middleware services Mobility, fault tolerance, security etc 44

http://proactive.objectweb.org Let s practice! 45