denis caromel 1 [email protected] a strong programming model bridging distributed and...
TRANSCRIPT
![Page 1: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/1.jpg)
Denis Caromel1
A Strong Programming ModelBridging Distributed and Multi-Core Computing
1. Background: INRIA, Univ. Nice, OASIS Team2. Programming: Parallel Programming Models:
a) Asynchronous Active Objects, Futures, Typed Groupsb) High-Level Abstractions (OO SPMD, Comp., Skeleton)
3. Optimizing4. Deploying
![Page 2: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/2.jpg)
Denis Caromel2
1. Background and Team at INRIA
![Page 3: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/3.jpg)
Denis Caromel3
OASIS Team & INRIA
Computer Science and Control
• 8 Centers all over France
• Workforce: 3 800
•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
![Page 4: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/4.jpg)
Denis Caromel4
Startup Company Born of INRIACo-developing, Providing support for Open Source ProActive Parallel Suite
Worldwide Customers (EU, Boston USA, etc.)
![Page 5: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/5.jpg)
Denis Caromel5
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)
![Page 6: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/6.jpg)
Denis Caromel6
ProActive Contributors
![Page 7: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/7.jpg)
Denis Caromel7
ProActive Parallel Suite:
Architecture
![Page 8: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/8.jpg)
Denis Caromel8
![Page 9: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/9.jpg)
Denis Caromel9
ProActive Parallel Suite
9
Physical InfrastructurePhysical Infrastructure
![Page 10: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/10.jpg)
Denis Caromel10
ProActive Parallel Suite
10
![Page 11: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/11.jpg)
Denis Caromel11
2. Programming Modelsfor
Parallel & Distributed
![Page 12: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/12.jpg)
Denis Caromel12
ProActive Parallel Suite
![Page 13: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/13.jpg)
Denis Caromel13
ProActive Parallel Suite
![Page 14: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/14.jpg)
Denis Caromel14 14
Distributed and Parallel
Active Objects
![Page 15: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/15.jpg)
Denis Caromel15 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
JVM
Active Object
Future Object Request
Req. Queue
Thread
v1v2 ag
WBN!
![Page 16: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/16.jpg)
Denis Caromel16 16
First-Class Futures
Update
![Page 17: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/17.jpg)
Denis Caromel17 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
![Page 18: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/18.jpg)
Denis Caromel18 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
![Page 19: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/19.jpg)
Denis Caromel19 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
![Page 20: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/20.jpg)
Denis Caromel20 20
Standard system at Runtime:No Sharing
NoC: Network On ChipProofs of Determinism
![Page 21: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/21.jpg)
Denis Caromel21
(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, …
![Page 22: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/22.jpg)
Denis Caromel22
No Sharing even for Multi-CoresRelated 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
![Page 23: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/23.jpg)
Denis Caromel23 23
TYPED
ASYNCHRONOUS
GROUPS
![Page 24: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/24.jpg)
Denis Caromel24 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
![Page 25: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/25.jpg)
Denis Caromel25 25
Broadcast and Scatter
JVM
JVM
JVM
JVM
agcg
ag.bar(cg); // broadcast cgProActive.setScatterGroup(cg);ag.bar(cg); // scatter cg
c1 c2c3c1 c2c3
c1 c2c3c1 c2c3
c1 c2c3
c1 c2c3
s
c1 c2c3
s
Broadcast is the default behavior Use a group as parameter, Scattered depends on rankings
![Page 26: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/26.jpg)
Denis Caromel26 26
Static Dispatch Group
JVM
JVM
JVM
JVM
agcg
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
Fastestemptyqueue
ag.bar(cg);
![Page 27: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/27.jpg)
Denis Caromel27 27
Dynamic Dispatch Group
JVM
JVM
JVM
JVM
agcg
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);
![Page 28: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/28.jpg)
Denis Caromel28 28
Handling Group Failures (2)
JVM
JVM
JVM
JVM
agvg
V vg = ag.foo (param);Group groupV = PAG.getGroup(vg);el = groupV.getExceptionList();...vg.gee();
failure
Except.
Except.List
![Page 29: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/29.jpg)
Denis Caromel29
Abstractions for Parallelism
The right Tool to execute the Task
![Page 30: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/30.jpg)
Denis Caromel30 30
Object-Oriented SPMD
![Page 31: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/31.jpg)
Denis Caromel31 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
![Page 32: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/32.jpg)
Denis Caromel32 32
Object-Oriented SPMDSingle Program Multiple Data
MotivationUse Enterprise technology (Java, Eclipse, etc.) for Parallel Computing
Able to express in Java MPI’s Collective Communications:
broadcast reduce
scatter allscatter
gather allgatherTogether with
Barriers, Topologies.
![Page 33: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/33.jpg)
Denis Caromel33 33
MPI Communication primitivesFor some (historical) reasons, MPI has many com. Primitives:
MPI_Send Std MPI_Recv Receive
MPI_Ssend Synchronous MPI_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
![Page 34: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/34.jpg)
Denis Caromel34
Application Semantics rather than
Low-Level Architecture-Based OptimizationMPI:
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
![Page 35: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/35.jpg)
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
![Page 36: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/36.jpg)
Denis Caromel36
Communication IntensiveCG Kernel (Conjugate Gradient)
Floating point operations
Eigen value computation
High number of unstructured communications
• 12000 calls/node
• 570 MB sent/node
• 1 min 32
• 65 % comms/WT
Message density distribution Data density distribution
![Page 37: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/37.jpg)
Denis Caromel37
Communication IntensiveCG Kernel (Conjugate Gradient)
Comparable Performances
![Page 38: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/38.jpg)
Denis Caromel38
Communication IntensiveMG Kernel (Multi Grid)
Floating point operations
Solving Poisson problem
Structured communications
• 600 calls/node
• 45 MB sent
• 1 min 32
• 80 % comms
Message density distribution Data density distribution
![Page 39: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/39.jpg)
Denis Caromel39
Communication IntensiveMG Kernel (Multi Grid)
Pb. With high-ratecommunications
2D 3D matrixaccess
![Page 40: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/40.jpg)
Denis Caromel40
Computation IntensiveEP Kernel (Embarrassingly Parallel)
Random numbers
generation
Almost no
communications
This is Java!!!
![Page 41: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/41.jpg)
Denis Caromel41
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
![Page 42: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/42.jpg)
Denis Caromel42 42
Parallel Components
![Page 43: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/43.jpg)
Denis Caromel43
GridCOMP Partners
![Page 44: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/44.jpg)
Denis Caromel44 44
Objects to Distributed Components
Typed Group Java or Active Object
V
AExample of
component
instance
JVM
Truly
Distributed
Components
IoC:InversionOf Control(set in XML)
![Page 45: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/45.jpg)
04/19/23
Denis Caromel
GCMScopes and Objectives:
Grid Codes that Compose and Deploy
No programming, No Scripting, … No Pain
Innovation:
Abstract Deployment
Composite Components
Multicast and GatherCast
MultiCastMultiCast GatherCastGatherCast
![Page 46: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/46.jpg)
Denis Caromel46
Optimizing MxN Operations
2+ composites can be involved in the Gather-
multicast
![Page 47: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/47.jpg)
Denis Caromel47
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
![Page 48: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/48.jpg)
Denis Caromel48
Skeleton
![Page 49: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/49.jpg)
04/19/23
Denis Caromel49
Algorithmic Skeletons for ParallelismHigh Level Programming Model [Cole89]
Hides the complexity of parallel/distributed programming
Exploits nestable parallelism patterns
Task
Parallelism Patterns
for
farm
pipeif
while
mapfork
divide & conquerData
fork
seq(f1) seq(f
2)
pipe
seq(f3)
d&c(fb,f
d,f
c)
BLAST Skeleton Program
![Page 50: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/50.jpg)
04/19/23
Denis Caromel50
Algorithmic Skeletons for ParallelismHigh Level Programming Model [Cole89]
Hides the complexity of parallel/distributed programming
Exploits nestable parallelism patterns
Task
Parallelism Patterns
for
farm
pipeif
while
mapfork
divide & conquerData
fork
seq(f1) seq(f
2)
pipe
seq(f3)
d&c(fb,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;}
![Page 51: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/51.jpg)
Denis Caromel51 51
3. Optimizing
![Page 52: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/52.jpg)
Denis Caromel52
Programming & OptimizingMonitoring, Debugging, Optimizing
![Page 53: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/53.jpg)
Denis Caromel53
![Page 54: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/54.jpg)
Denis Caromel54
Optimizing User Interface
![Page 55: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/55.jpg)
Denis Caromel55
IC2D
![Page 56: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/56.jpg)
Denis Caromel56
ChartIt
![Page 57: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/57.jpg)
Denis Caromel57
Pies for Analysis and Optimization
![Page 58: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/58.jpg)
Denis Caromel58
Video 1: IC2D OptimizingMonitoring, Debugging, Optimizing
![Page 59: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/59.jpg)
Denis Caromel59
![Page 60: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/60.jpg)
Denis Caromel60 60
4. Deploying &
Scheduling
![Page 61: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/61.jpg)
Denis Caromel61
![Page 62: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/62.jpg)
Denis Caromel62
Deploying
![Page 63: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/63.jpg)
Denis Caromel63
Deploy on Various Kinds of Infrastructures
Internet
Clusters
ParallelMachine
LargeEquipment
Internet
Job management forembarrassingly parallel application (e.g. SETI)
Internet
Internet
Servlets EJBs Databases
![Page 64: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/64.jpg)
Denis Caromel64
GCM StandardizationFractal Based Grid Component Model
4 Standards:1. GCM Interoperability Deployment2. GCM Application Description 3. GCM Fractal ADL4. GCM Management API
Overall, the standardization is supported by industrials: BT, FT-Orange, Nokia-Siemens, Telefonica,
NEC, Alcatel-Lucent, Huawei …
![Page 65: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/65.jpg)
Denis Caromel65
Protocols and Scheduler inGCM Deployment Standard
Protocols:Rsh, sshOarsh, Gsissh
Scheduler, and Grids:GroupSSH, GroupRSH, GroupOARSHARC (NorduGrid), CGSP China Grid, EEGE gLITE, Fura/InnerGrid (GridSystem Inc.)GLOBUS, GridBusIBM 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
![Page 66: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/66.jpg)
Denis Caromel66
Abstract Deployment Model
ProblemDifficulties and lack of flexibility in deployment Avoid scripting for configuration, getting nodes, connecting…
662009
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
![Page 67: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/67.jpg)
Denis Caromel67
Resource Virtualization
67
ApplicationApplication
Deployment DescriptorDeployment Descriptor
Mapping
ConnectionsConnections
NodesNodes
AcquisitionAcquisition
CreationCreation
Infrastructure
VN
Runtime structured entities: 1 VN --> n Nodes in m JVMs on k Hosts
2009
![Page 68: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/68.jpg)
Denis Caromel68
Resource Virtualization
68
VN1
VN2
GCM XMLDeployment Descriptor
node
node
HostJVM
node
JVM
Host
node
JVM
2009
![Page 69: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/69.jpg)
Denis Caromel69
Virtualization resources
69
VN1
VN2
node
node
HostJVM
node
JVM
Host
node
JVM
2009
![Page 70: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/70.jpg)
Denis Caromel70
Multiple Deployments
70
One Host Local Grid Distributed Grids
Internet
2009
![Page 71: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/71.jpg)
Denis Caromel71
SchedulingMode
![Page 72: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/72.jpg)
Denis Caromel72
Programming with flows of tasks
Program an application as an ordered set of tasksLogical 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
![Page 73: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/73.jpg)
Denis Caromel73
Defining and running jobs with ProActiveA 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
732009
![Page 74: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/74.jpg)
Denis Caromel74
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
![Page 75: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/75.jpg)
Denis Caromel75
Scheduler: User Interface
![Page 76: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/76.jpg)
Denis Caromel76
Scheduler: User Interface
![Page 77: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/77.jpg)
Denis Caromel77 77
Video 2:
Scheduling Scheduler and Resource Manager:
See the video athttp://proactive.inria.fr/userfiles/media/video
s/Scheduler_RM_Short.mpg
![Page 78: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/78.jpg)
Denis Caromel78
![Page 79: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/79.jpg)
Denis Caromel79
Summary
![Page 80: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/80.jpg)
Denis Caromel80
Current Open Source Tools:
Acceleration Toolkit :Concurrency
+Parallelism +Distribution
![Page 81: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/81.jpg)
Denis Caromel81
Conclusion
Applications:
3D Electromagnetism SPMD on 300 machines at once Groups of over 1000!Record: 4 000 Nodes
► Summary: Programming: OO
Asynchrony, First-Class Futures, No SharingHigher-level Abstractions (SPMD, Skel., …)
Composing: Hierarchical Components Optimizing: IC2D Eclipse GUI Deploying: ssh, Globus, LSF, PBS, …, WS
Our next target: 10 000 Core Applications
![Page 82: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/82.jpg)
Denis Caromel82
Conclusion: Why does it scale?
Thanks to a few key features:
Connection-less, RMI+JMS unified
Messages rather than long-living interactions
![Page 83: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/83.jpg)
Denis Caromel83
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
![Page 84: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/84.jpg)
Denis Caromel84
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!
![Page 85: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/85.jpg)
Denis Caromel85
![Page 86: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/86.jpg)
Denis Caromel86
Extra Material
Grid + SOA
J2EE + Grid
Amazon EC2 ProActive Image and Deployment
![Page 87: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/87.jpg)
Denis Caromel87
Perspective:
SOA + Grid
![Page 88: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/88.jpg)
Denis Caromel88
SOA Integration:Web Services, BPEL Workflow
![Page 89: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/89.jpg)
Denis Caromel89
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
![Page 90: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/90.jpg)
Denis Caromel90
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)
![Page 91: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/91.jpg)
Denis Caromel91
3 kinds of Parallel Services
3. Domain Specific ParallelServices: providing business functionalities executed inparallel
2. Parallelization services:typical parallel computingpatterns (ParameterSweeping, D&C, …)
1. Job Scheduling service: Schedule and Run jobs in parallel on the Grid.
Parallel ServicesParallel Services Operational ServicesOperational Services…
1. Job Scheduling
Service
2. ParameterSweeping
Service
2. Divide & Conquer Service
OtherOperational
Service
…
Domain Specific Parallel Service
…Other
Basic Service
High level Business Process
GridGrid
3. Domain Specific Parallel
Service
![Page 92: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/92.jpg)
Denis Caromel92
A sample pattern: Parameter Sweeping
I1I2
…In
O1O2
…On
ExecLogic
parameter sweeping
I1I2…In
O1O2…On
Parameter SweepingService, customized with an Exec logic X
ParamSweeping
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 Scheduler &PA Resource ManagerPA Resource Manager
![Page 93: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/93.jpg)
Denis Caromel93
Video
SOA Integration:Web Services, BPEL Workflow
![Page 94: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/94.jpg)
Denis Caromel94
6. J2EE IntegrationFlorin Alexandru Bratu
OASIS Team - INRIA
![Page 95: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/95.jpg)
Denis Caromel95
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
![Page 96: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/96.jpg)
Denis Caromel96
ProActive – J2EE Integration (1)
1. Delegating heavy computations outsides J2EE Applications
![Page 97: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/97.jpg)
Denis Caromel97
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
![Page 98: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/98.jpg)
Integration(2)
![Page 99: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/99.jpg)
Denis Caromel99
Grids & Clouds:
Amazon EC2 Deployment
![Page 100: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/100.jpg)
Denis Caromel100
Big Picture + Clouds
![Page 101: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/101.jpg)
Denis Caromel101
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 4 000 AMI)
Seamless Deployment:
no application change, no scripting, no pain
Open the road to : In house Enterprise Cluster and Grid + Scale out on EC2
![Page 102: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/102.jpg)
Denis Caromel102
ProActive Deployment onAmazon EC2
Video
![Page 103: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/103.jpg)
Denis Caromel103
![Page 104: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/104.jpg)
Denis Caromel104
P2P:Programming
Modelson
Overlay Networks
![Page 105: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/105.jpg)
Denis Caromel105
![Page 106: Denis Caromel 1 Denis.Caromel@inria.fr A Strong Programming Model Bridging Distributed and Multi-Core Computing 1.Background: INRIA, Univ. Nice, OASIS](https://reader038.vdocuments.mx/reader038/viewer/2022110101/56649e795503460f94b79b13/html5/thumbnails/106.jpg)
Denis Caromel106