Institut National de Recherche en Informatique et en - Sophia

Bridging Distributed and Multi-Core Computing
Denis Caromel, et al.
http://ProActive.ObjectWeb.org
OASIS Team
INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF
September 4th,, DAPSYS, Debrecen, Hungary
1.
2.
3.
4.
5.
1
Denis Caromel
Background: INRIA, OASIS, ActiveEon
Active Objects
Components
GUI: IC2D
Applications and Perspectives: SOA+GRID
Background
2
Denis Caromel
INRIA and OASIS Team
Computer Science and Control
• 8 Centers all over France
• Workforce: 3 800
• 186 Million Euro annual budget
• Strong in standardization committees:
– IETF, W3C, ETSI, …
• Strong Industrial Partnerships
• Foster company foundation:
90 startups so far
- Ilog (Nasdaq, Euronext)
-…
- ActiveEon
3
Denis Caromel
A joint team between:
– INRIA, University of Nice- CNRS
•Created in 1999
•Started the ProActive Parallel Suite
•Over 40 persons
•Distributed and Parallel:
From Multi-cores to Enterprise GRIDs
Startup Company Born of INRIA
Co-developing, Providing support for Open Source ProActive Parallel Suite
Winner 80/1000 applications (Minister of Research Contest)
Several Customers (Worldwide: Boston USA, etc.)
4
Denis Caromel
• Written in Java
• Features:
1. Eclipse GUI
2. Parallel+Dist. Progr.
3. Scheduling & Grids
Used in
production by
industry
5
Denis Caromel
ProActive Parallel Suite (1)
Open
Source
+
PROFESSIONAL
SUPPORT
6
Denis Caromel
ProActive Parallel Suite: GUI
7
Denis Caromel
ProActive Parallel Suite: GUI
8
Denis Caromel
9
Denis Caromel
ProActive Parallel Suite: Deploy
10
Denis Caromel
ProActive Parallel Suite: Deploy
11
Denis Caromel
Deploy on Various Kinds of Infrastructures
Internet
Internet
Servlets
Internet
EJBs
Databases
Large
Equipment
Internet
Parallel
Clusters
Machine
Job management for
embarrassingly parallel
application (e.g. SETI)
12
Denis Caromel
Desktop Grid
P2P:
AO Overlay
Network
13
Denis Caromel
14
Denis Caromel
15
Denis Caromel
Scheduler and Resource Manager:
User Interface
16
Denis Caromel
Scheduler: User Interface
17
Denis Caromel
Video 1:
Scheduler, Resource Manager
18
Denis Caromel
The multiple GRIDs
Scientific Grids
Enterprise Grids
Internet Grids, (miscalled P2P grid)
Intranet Desktop Grids
Grid Too much associated with Internet Grid (Multi-Organizations)
Too many Promises, Too Early
My belief : however, several factors will make it coming slowly
19
Denis Caromel
19
What Future for GRIDs ?
Enterprise Grids:
End of Moore Law  Multi-cores to Distribution
Challenges:
Reduce Electric
Consumption  Optimize and Share Resources
SOA Architectures 
Dynamic Placement/Scheduling
Programming
Model
20
Denis Caromel
ProActive Parallel Suite: Program
21
Denis Caromel
ProActive Parallel Suite: Program
22
Denis Caromel
ProActive Parallel Suite: Program
23
Denis Caromel
2. Distributed and Parallel
Active Objects
ProActive
Programming
24
Denis Caromel
24
ProActive : Active objects
JVM
A ag = newActive (“A”, […], VirtualNode)
V v1 = ag.foo (param);
V v2 = ag.bar (param);
...
v1.bar(); //Wait-By-Necessity
JVM
A
v2 v1 ag
A
WBN!
V
25
Java Object
Active Object
Future Object
Proxy
Denis Caromel
Req. Queue
Request
Thread
Wait-By-Necessity
is a
Dataflow
Synchronization
25
ProActive:
Inter- to Intra- Synchronization
Sequential
Multithreaded
Distributed
Synchronizations, Behavior: not dependent upon
the physical location (mapping of activities)
26
Denis Caromel
26
ProActive:
First-Class Futures
Sequential
Multithreaded
Distributed
Synchronizations, Behavior: not dependent upon
the physical location (mapping of activities)
27
Denis Caromel
27
Wait-By-Necessity: First Class Futures
Futures are Global Single-Assignment Variables
V= b.bar ()
a
b
c.gee (V)
c
v
v
28
Denis Caromel
c
28
Standard system at Runtime:
No Sharing
NoC: Network On Chip
Proofs of Determinism
29
Denis Caromel
29
Calculus
ASP:
Asynchronous Sequential Processes
30
Denis Caromel
Proofs in GREEK
ASP  Confluence and Determinacy
Future updates can occur at any time, Mobility does not change behavior
31
Denis Caromel
TYPED
ASYNCHRONOUS
GROUPS
32
Denis Caromel
32
Creating AO and Groups
JVM
A ag = newActiveGroup (“A”, […], VirtualNode)
V v = ag.foo(param);
...
v.bar(); //Wait-by-necessity
A
V
Typed Group
33
Denis Caromel
Java or Active Object
Group, Type, and Asynchrony
are crucial for Cpt. and GRID
33
Broadcast and Scatter
Broadcast is the default behavior
Use a group as parameter, Scattered depends on rankings
cg ag
JVM
s
c1
c2
c1
c1
c2
c2
c3
c3
c3
JVM
JVM
ag.bar(cg);
// broadcast cg
ProActive.setScatterGroup(cg);
ag.bar(cg);
// scatter cg
JVM
34
Denis Caromel
34
Dynamic Dispatch Group
cg ag
Slowest
c0
c2
c1
c4
c3
c6
c5
c8
c7
JVM
c9
Fastest
JVM
c0
c2
c1
JVM
35
Denis Caromel
c3
c4
c6
c5
c8
c7
c9
ag.bar(cg);
JVM
35
Object-Oriented SPMD
Single Program Multiple Data
Motivation
Cluster / GRID computing
SPMD programming for many numerical simulations
Use enterprise technology (Java, Eclipse, etc.) for Parallel Computing
Able to express most of MPI’s Collective Communications:
broadcast
scatter
gather
reduce
allscatter
allgather
and Barriers, Topologies.
36
Denis Caromel
36
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
37
Denis Caromel
37
Parallel, Distributed, Hierarchical
3. Components
Composing
38
Denis Caromel
38
Objects to Distributed Components (1)
ComponentIdentity Cpt = newActiveComponent (params);
A a = Cpt … .getFcInterface ("interfaceName");
V v = a.foo(param);
IoC:
Inversion
Of Control
(set in XML)
A
Example of
component
instance
V
Truly
Distributed
Components
Typed Group
39
Denis Caromel
Java or Active Object
JVM
39
GCM: Grid Component Model
GCM Being defined in the NoE CoreGRID
(42 institutions)
Open Source ObjectWeb ProActive
implements a preliminary version of GCM
Service Oriented: NESSI relation
The vision: GCM to be the IT Service GSM
GridCOMP takes:
GCM as a first specification,
ProActive as a starting point, and
Open Source reference implementation.
40
Denis Caromel
GridCOMP Partners
41
Denis Caromel
GCM
Scopes and Objectives:
Grid Codes that Compose and Deploy
No programming, No Scripting, … No Pain
Innovation:
Abstract Deployment
MultiCast
Composite Components
Multicast and GatherCast
GatherCast
ProActive Parallel Suite
43
Denis Caromel
ProActive Parallel Suite
44
Denis Caromel
ProActive Parallel Suite (1)
45
Denis Caromel
4. IC2D
Interactive Control & Debug for Distribution
Eclipse GUI
for the GRID
46
Denis Caromel
GUI in ProActive Parallel Suite
47
Denis Caromel
GUI in ProActive Parallel Suite
48
Denis Caromel
Programmer Interface
for
Monitoring
Debugging
Optimizing
49
Denis Caromel
50
Denis Caromel
IC2D
51
Denis Caromel
Video 2: IC2D
Monitoring, Debugging, Optimizing
52
Denis Caromel
Ongoing Work: 3D View in IC2D
53
Denis Caromel
5. Example of
ProActive
Applications
54
Denis Caromel
Artificial Life Generation
Sylvain Cussat-Blanc, Yves Duthen – IRIT TOULOUSE
1
Application J+1
25
J+5
300 CPUs
J+6
J+7
Developpement of
artificial creatures
Version ProActive
55
Initial
Application
1 PC
56h52 => Crash!
ProActive
Version
300 CPUs
19 minutes
Denis Caromel
Artificial Life Generation
Sylvain Cussat-Blanc, Yves Duthen – IRIT TOULOUSE
56
Denis Caromel
JECS : 3D Electromagnetism
Radar Reflection on Planes
57
Denis Caromel
Code Coupling :
Vibro Acoustic (courtesy of EADS)
58
Denis Caromel
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 : communication intensive and computation
intensive
59
Communication Intensive
CG Kernel (Conjugate Gradient)
Floating point operations
Eigen value computation
High number of unstructured communications
• 12000 calls
• 570 MB sent
• 1 min 32
• 65 % comms
Data density distribution
60
Denis Caromel
Message density distribution
Communication Intensive
CG Kernel (Conjugate Gradient)
61
Denis Caromel
Enterprise IT: Software Tests
Amadeus (Opodo, Air France, KLM, Lufthansa):
500 programmers  50 machines with
ProActive to execute
Dist. Regression Tests
in the production chain
62
Denis Caromel
Parallel BLAST with ProActive (1)
together with Mario Leyton
Basic Local Alignment Search Tool for rapid sequence comparison
BLAST developed by NCBI (National Center for Biotechnology Information)
Standard native code package, no source modification!
With PPS Skeletons parallelization and distribution added to the application
A seamless deployment on all Grid platforms is obtained:
• Input Files are automatically copied to computational nodes at Job
submission
• Result Files will be copied on client host
BLAST Skeleton program using the Divide and Conquer skeleton:
• Division of Database based on conditions (Nb. Nodes, Size, etc.)
63
Denis Caromel
Speedup of Distributed BLAST on Grid5000
64
Denis Caromel
Monte Carlo Simulations,
Non-Linear Physics, INLN
65
Denis Caromel
Matlab and Scilab Grid Interface
66
Denis Caromel
Mikros Image: Post Production
67
Denis Caromel
New Project:
AGOS
68
Denis Caromel
AGOS
Grid Architecture for SOA
Building a Platform for Agile SOA with Grid
Partners and Solutions
Use Cases
69
Denis Caromel
AGOS: What for ?
AGOS Objectives:
70
•
Create an architecture and environment for integration of
– SOA business management with
– GRID IT management
•
Well fitted for data intensive and computational intensive applications:
– Enact sub-parts of a BPEL workflow on dynamically allocated resource
E.g.: Financial Simulations, Insurance, Revenue Management, BIO, HPC
•
Full dynamic scheduling of Services on GRIDs in the future
•
Integrated Management of SLO, SLA, QoS:
– Bottom to top
– Dynamic enforcement: Adaptive behavior
Denis Caromel
Summary
71
Denis Caromel
Concurrency + Parallelism
Multi-Cores + Distribution
Multi-Core to Distributed
72
Denis Caromel
Conclusion:
Why does it scale?
Thanks to a few key features:
Connection-less, RMI+JMS unified
Messages rather than long-living interactions
ACTIVE OBJECTS --- GROUPS --- COMPONENTS
73
Denis Caromel
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
ACTIVE OBJECTS --- GROUPS --- COMPONENTS
74
Denis Caromel
Summary-Perspective: Comprehensive Toolkit
Programming:
Models &
Tools
Parallel:
Multi-Core &
Distributed
75
Denis Caromel
ProActive/
GCM
Specifications
for
Components
Services
SLA
QoS
Open the way
to Soft.+Serv.
EU Industry
with
Clouds &
Utilities,
DAAS
Denis Caromel
76
Multi-Active Object in 1 Address Space for
Multi-cores
77
Denis Caromel