denis caromel institut universitaire de france (iuf) oasis team

Post on 08-Jan-2016

31 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Programming, Composing, Deploying for the GRID. Denis Caromel Institut universitaire de France (IUF) OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis JAOO, Cannes, May 2004. 1. Grid principles 2. Distributed Objects and Components: ObjectWeb ProActive LGPL environment - PowerPoint PPT Presentation

TRANSCRIPT

Denis Caromel 1

Denis CaromelInstitut universitaire de France (IUF)

OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis

JAOO, Cannes, May 2004

Programming, Composing, Deployingfor the GRID

1. Grid principles2. Distributed Objects and Components:

ObjectWeb ProActive LGPL environment3. Application: 3D Electromagnetism4. Towards Peer-To-Peer (P2P)

Denis Caromel 2

The GRIDPCs : 1 Milliard in 2002 (25 years) Forecast: 2 Milliards in 2008

Denis Caromel 3

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 Caromel 4

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 Caromel 5

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 Caromel 6

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. SETI@HOME)

Denis Caromel 7

Enterprise Grids

Internet

EJBServletsApache Databases

Denis Caromel 8

Scientific Grids

Internet

Clusters

ParallelMachine

LargeEquipment

Denis Caromel 9

Internet Grids

Internet

Job management forembarrassingly parallel application (e.g. SETI)

Denis Caromel 10

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 Caromel 11

Grid: from enterprise ... to regional

Very hard deployment problems … right from the beginning

Denis Caromel 12

Grid: from regional ... to worldwide Communication Cannes-Los Angeles: 70 ms Light Speed

Challenge: Hide the latency !

Define adequate programming model

Denis Caromel 13

Distributed Objects and Components

ProActiveProgramming

Denis Caromel 14

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 GRIDParallel, Distributed, Mobile, Activities, across the world !

SMP ClustersLANDesktop

Denis Caromel 15

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 Caromel 16

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 Caromel 17

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 Caromel 18

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 Caromel 19

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

direct

Denis Caromel 20

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

direct

forwarder

Denis Caromel 21

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

direct

forwarder

Denis Caromel 22

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

direct

forwarder

Denis Caromel 23

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

direct

forwarder

Denis Caromel 24

Parallel, Distributed, Hierarchical

Componentsfor the Grid

Composing

Denis Caromel 25

A CORBA Component

MyBusiness

Component

Component interface

Facets

Eventsources

Eventsinks

Attributes

Receptacles

OF

FE

RE

DR

EQ

UIR

ED

Courtesy of Philippe Merle, Lille, OpenCCM platform

Denis Caromel 26

Building CCM Applications =Assembling CORBA Component Instances

Provide + Use, but flat assembly

Denis Caromel 27

Content

Controller

The Fractal model:Hierarchical Component

Defined by E. Bruneton, T. Coupaye, J.B. Stefani, INRIA & FT

Denis Caromel 28

Content

Controller

Interface = access point

Denis Caromel 29

Content

Controller

Hierarchical model : composites encapsulate primitives, which encapsulates Java code

Denis Caromel 30

Content

Controller

Binding = interaction

Denis Caromel 31

Binding = interaction

Content

Controller

Denis Caromel 32

Controllers : non-functional properties

ComponentIdentity

BindingController

LifeCycleController

ContentController

Content

Controller

Component = runtime entity

Denis Caromel 33

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 Caromel 34

Composing: XML ADLPrimitive-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 Caromel 35

A

A

B

C

P

Group proxyGroup 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 Caromel 36

Migration Capabilityof composites

Migrate sets of components, including composites

Denis Caromel 37

Migration Capabilityof composites

Migrate sets of components, including composites

Denis Caromel 38

Co-allocation, Re-distribution

e.g. upon communication intensive phase

Denis Caromel 39

Co-allocation, Re-distribution

e.g. upon communication intensive phase

Denis Caromel 40

Co-allocation, Re-distribution

e.g. upon communication intensive phase

Denis Caromel 41

EnvironmentDeploying

Denis Caromel 42

How to deploy on the Various Kind of Grids ?

Internet

EJBServletsApache Databases

Internet

ClustersParallelMachine

LargeEquipment

Internet

Job management forembarrassingly parallel application (e.g. SETI)

Denis Caromel 43

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 Caromel 44

Mapping Virtual Nodes: example (1)<processDefinition id="linuxJVM">

<jvmProcess class="org.objectweb.proactive.core.process.JVMNodeProcess"/>

</processDefinition>

<processDefinition id=”sshProcess">

<sshProcess class="org.objectweb.proactive.core.process.ssh.SSHJVMProcess"

hostname="sea.inria.fr">

<processReference refid="linuxJVM"/>

</sshProcess>

</processDefinition>

Infrastructure

informations

JVM on the current Host

JVM started using SSH

Denis Caromel 45

<processDefinition id=" clusterProcess ">

<bsubProcess class="org.objectweb.proactive.core.process.lsf.LSFBSubProcess"

hostname=”cluster.inria.fr">

<processReference refid=”singleJVM"/>

<bsubOption>

<processor>12</processor>

</bsubOption>

</bsubProcess>

</processDefinition>

Mapping Virtual Nodes: example (2)

Infrastructureinformations

Definition of LSF deployment, … Globus

Denis Caromel 46

C A B

VNa VNb

C A B

VNc = VN(a,b)

XML Deployment (Not in source)

Separate or Co-allocation

Denis Caromel 47

IC2D: Interactive Control and Debugging of Distribution

Denis Caromel 48

Monitoring of RMI, Globus, Jini, LSF cluster Nice -- Baltimore

ProActive IC2D:

Width of links

proportional

to the number

of com-

munications

Denis Caromel 49

Application

Denis Caromel 50

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 Caromel 51

The interface

Denis Caromel 52

Some ResultsSeq. 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 Caromel 53

Perspective:

P2P

Denis Caromel 54

Architectures: Server to Peer-To-Peer (P2P)

Internet

EJBServletsApache Databases

SOA: Service Oriented Architectures

Denis Caromel 55

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 Caromel 56

P2P Examples (1)

Denis Caromel 57

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

Denis Caromel 58

Not a P2P system

Denis Caromel 59

Neither a P2P system

Denis Caromel 60

P2P Examples (2)

Denis Caromel 61

P2P Examples (2bis)

Denis Caromel 62

A P2P system at work

Credit: from the movie Atlantis, Luc Besson

Denis Caromel 63

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

http://ProActive.ObjectWeb.org

Denis Caromel 64

Interactive Composition in IC2D

Content

Composition ViewInstead of

XML ADL

<processDefinition id="linuxJVM">

<jvmProcess class="org.objectweb.proactive.core.process.JVMNodeProcess"/>

</processDefinition>

<processDefinition id=”sshProcess">

<sshProcess class="org.objectweb.proactive.core.process.ssh.SSHJVMProcess"

hostname="sea.inria.fr">

<processReference refid="linuxJVM"/>

</sshProcess>

</processDefinition>

Denis Caromel 65

Merging Component + Activity / JVM Views:Component Monitoring

Content

Dynamic View

Denis Caromel 66

Content

Dynamic View

Merging Component + Activity / JVM Views:Component Monitoring

Denis Caromel 67

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 http://ProActive.ObjectWeb.org in

The freedom your applications deserve!

Currently: a single application on 300 machinesGoal: towards a few 1000s !

Denis Caromel 68

Denis Caromel 69

Denis Caromel 70

ProActive Component DefinitionA 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 Caromel 71

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 Caromel 72

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 Caromel 73

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 Caromel 74

Component Orientedness

• Level 1: Instantiate - Deploy - Configure• Simple Pattern

• Meta-information (file, XML, etc.) JavaBeans, EJB

• Level 2: Assembly (flat)• Server and client interfaces CCM

• Level 3: Hierarchic• Composite Fractal, ProActive, ...

• Level 4: Distributed + Reconfiguration• Binding, Inclusion, Location ProActive + On going work

Interactions / Communications:Functional Calls: service, event, streamNon-Functional: instantiate, deploy, start/stop, inner/outer, re-bind

This talk

Denis Caromel 75

C3D: distributed-//-collaborative

top related