Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

43
1 Elton Mathias and Jean Michael Legait Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF CoreGrid Summer School 2007 Grid Component Model (GCM) Programming and Deployment

description

Grid Component Model (GCM) Programming and Deployment. Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF CoreGrid Summer School 2007. General agenda. Talk: A short introduction to ProActive middleware - PowerPoint PPT Presentation

Transcript of Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

Page 1: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

1Elton Mathias and Jean Michael Legait

Elton Mathias, Jean Michael Legait,Denis Caromel, et al.

OASIS TeamINRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF

CoreGrid Summer School 2007

Grid Component Model (GCM) Programming and Deployment

Page 2: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

2Elton Mathias and Jean Michael Legait

General agenda

• Talk: A short introduction to ProActive middleware

• Practical session: ProActive fundamentals

• Talk: ProActive / GCM

• Practical session: ProActive / GCM

Page 3: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

3Elton Mathias and Jean Michael Legait

Elton Mathias, Jean Michael Legait,Denis Caromel, et al.

OASIS TeamINRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF

CoreGrid Summer School 2007

Short Introduction to ProActive

Page 4: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

4Elton Mathias and Jean Michael Legait

Agenda• Overview

• Programming

• Deploying

• What else?

• GUIs and tools

• Applications

• Conclusion

Page 5: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

5Elton Mathias and Jean Michael Legait

Overview

Page 6: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

6Elton Mathias and Jean Michael Legait

The team : 20+ members

OASIS Team at INRIA in Nice, FranceJoint 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 etc..

Page 7: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

7Elton Mathias and Jean Michael Legait

The library• Originates from work on Eiffel //

– Started in 1999

• Official releases ~ every 6 months– ProActive 3.2.1 released in April 2007 (Version 4.0 scheduled for the end of September)

• Metrics :– 2000 classes, ~ 300.000 LOC (160.000 NCLOC)

• Compliant with several (de facto) standards

• ProActive startup: ActiveEon– Training, Consulting, Integrating and Support

Page 8: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

8Elton Mathias and Jean Michael Legait

A Theory of Distributed Objects

D. Caromel, L. Henrio,

Springer 2005, Monograph

A Calculus:

ASP: Asynchronous Sequential Processes • Based on Sigma-Calculus (Abadi-Cardelli)• Formal Proofs of determinism• Releases a few important implementation constraints

THEORY

Page 9: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

9Elton Mathias and Jean Michael Legait

ProActive’s Framework in a nutshell

Open Source

+PROFESSIONAL

SUPPORT

Page 10: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

10Elton Mathias and Jean Michael Legait

Inside ProActiveIDE

PROGRAMMING&COMPOSING

DEPLOYMENT

Page 11: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

11Elton Mathias and Jean Michael Legait 11

Sequential Multithreaded Distributed

Library !

Rationale

• Distributed programming entities• Parallel processes• Asynchronism• Synchronization facilities

Page 12: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

12Elton Mathias and Jean Michael Legait 12

Grid Computing with ProActive

Nice

Amsterdam

Beijing

Budapest

Hierarchical Deployment

Challenges: Programming Model, Scale, Latency, Heterogeneity,Versatility (protocols, firewalls, etc.)

Page 13: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

13Elton Mathias and Jean Michael Legait

Programming

Page 14: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

Elton Mathias and Jean Michael Legait 14

VM1 VM2

body

Stub_a

mobility

asynchronism

proxy

ab

servicemeta-objects

Architecture : a Meta-Object Protocol

communicationlayer

generatedon-the-fly

future

Page 15: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

15Elton Mathias and Jean Michael Legait15

A

Proxy

Java Object

A ag = newActive (“A”, […], VirtualNode)V v1 = ag.foo (param);V v2 = ag.bar (param);...v1.bar(); //Wait-By-Necessity

V

JVM

A

JVM

Active Object

Future Object Request

Req. Queue

Thread

v1v2 ag

WBN!

Creation, Invocation and Sync.

Page 16: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

16Elton Mathias and Jean Michael Legait 16

A

Active Objects 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

Page 17: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

17Elton Mathias and Jean Michael Legait

Broadcast and Scatter

JVM

JVM

JVM

JVM

agcg

ag.bar(cg); // broadcast cgProActive.setScatterGroup(cg);ag.bar(cg); // scatter cg

c1 c2 c3c1 c2 c3

c1 c2 c3c1 c2 c3c1 c2 c3

c1 c2 c3

s

c1 c2 c3

s

Broadcast is the default behavior Use a group as parameter, Scattered depends on rankings

Page 18: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

18Elton Mathias and Jean Michael Legait

Deploying

Page 19: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

19Elton Mathias and Jean Michael Legait

Deployment : an abstract model

• Problem:– Heterogeneous environments/protocols– Scalability issues (large number of hosts / latency)– Lack of flexibility of scripting.

• A key principle: – Separate design from deployment infrastructure–- Nothing about infrastructure, protocols or physical resources in the app. code

• Support to many protocols: • 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

XML deployment file

Virtual Node (VN)

Page 20: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

20Elton Mathias and Jean Michael Legait

Activating a XML Desc. ................................. <virtualNodesDefinition> <virtualNode name='Dispatcher'/>................................. <map virtualNode='Dispatcher'> <jvmSet> <vmName value='Jvm1'/> ................................. <jvm name="jvm1">  <creation>    <processReference refid="sshProcess"/>  </creation>< /jvm>................................. <processes> <processDefinition id="jvmProcess">  <jvmProcess class="org.objectweb.proactive.core.process.JVMNodeProcess"/></processDefinition><processDefinition id="sshProcess">  <sshProcess class="org.objectweb.proactive.core.process.ssh.SSHProcess” hostname="sea.inria.fr">    .................................

ProActiveDescriptor pad = ProActive.getProactiveDescriptor(String xmlFile); // Returns a ProActiveDescriptor object from the xml file VirtualNode dispatcher = pad.getVirtualNode('Dispatcher');// Returns the VirtualNode Dispatcher as a java objectdispatcher.activate();// Activates the VirtualNodeNode node = dispatcher.getNode();// Returns the first node available among nodes mapped to the VirtualNode C3DDispatcher c3dDispatcher = newActive(‘C3DDispatcher',param, node);

Page 21: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

21Elton Mathias and Jean Michael Legait

Same Application, Many Deployments

One Host Local Grid Distributed Grids

InternetWrite once, deploy everywhere …

Page 22: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

22Elton Mathias and Jean Michael Legait

What else?

Page 23: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

23Elton Mathias and Jean Michael Legait

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

Page 24: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

24Elton Mathias and Jean Michael Legait

GUIs and tools

Page 25: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

25Elton Mathias and Jean Michael Legait

IC2DInteractive Control & Debug for

Distribution+

EclipseGUI for the GRID

Page 26: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

26Elton Mathias and Jean Michael Legait

Page 27: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

27Elton Mathias and Jean Michael Legait

Page 28: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

28Elton Mathias and Jean Michael Legait

Page 29: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

29Elton Mathias and Jean Michael Legait

TimIt

Page 30: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

30Elton Mathias and Jean Michael Legait

Page 31: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

31Elton Mathias and Jean Michael Legait

Page 32: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

32Elton Mathias and Jean Michael Legait

Page 33: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

33Elton Mathias and Jean Michael Legait

Some Applications

Page 34: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

34Elton Mathias and Jean Michael Legait

• 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)

• Large data sets: 150x150x150 (100 million facets)

0

100

200

300

400

500

600

700

800

900

0 10 20 30 40 50 60 70nombre de processeurs

tem

ps (s

econ

des)

21*21*21

31*31*31

43*43*4355*55*55

81*81*81

97*97*97

113*113*113

121*121*121

taille du maillage

Java 3D Electromagnetism

Page 35: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

35Elton Mathias and Jean Michael Legait

JECS : A Generic Version of Jem3D

Page 36: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

36Elton Mathias and Jean Michael Legait

Code Coupling : Vibro Acoustic (courtesy of EADS)

Page 37: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

37Elton Mathias and Jean Michael Legait

Scilab Grid Toolkit

Page 38: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

38Elton Mathias and Jean Michael Legait

Post Production movie processing

Page 39: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

39Elton Mathias and Jean Michael Legait

Post Production movie processing

Page 40: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

40Elton Mathias and Jean Michael Legait

Large Scale Deployments

MelbourneNancyMetz

Napoli

NancyNapoli NiceMetzParis

PiseRennesSantiago San Diego

AmsterdamBelfastFribourgGrenobleLille

ManchesterMelbourneMeridaMetzBombay

MelbourneNancyMetz

Napoli

Grid Plugtests 2004, 2005 & 200620 to 40 sites worldwide100 GFlops in 20041700 Gflops in 20064130 cores (2111) in 2006IBM, Sun, Bull, Apple, x86, 64bits…Linux, Windows, Solaris, MacOSssh, rsh, sshGSI, GRAMPBS, LSF, SGE, OAR, Globus, Prun

P2P INRIA Infrastructure53 years computation in 6 months on 200+ machines

Grid’5000 - DAS etc…

Page 41: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

41Elton Mathias and Jean Michael Legait

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, Services

ProActive/GCM User Group and Contest at GRIDs@Work 2007: IV GRID PLUGTESTS,Joint European Union/China GRID 28 Oct.-2 Nov. 2007, Beijing, China

Page 42: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

42Elton Mathias and Jean Michael Legait

ConclusionUsability - High Level Abstractions - Latency

Deployment - Multiple Administrative Domains - Heterogeneity - Scalability

Dynamicity - Adaptivity - Instability

Strong programming model

formal model, active objects, groups, components

Versatile deployment framework

Interfaced with Grid & cluster standards

Pluggable middleware services

Mobility, fault tolerance, security etc…

Page 43: Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team

43Elton Mathias and Jean Michael Legait

Let’s practice !

http://proactive.objectweb.org