Denis Caromel 1
Denis Caromel, et al.
http://ProActive.ObjectWeb.org
OASIS Team
INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF
Short Introduction to Parallelism, Grid and ProActive, Distributed Objects and Components (GCM)
Short Introduction to Parallelism, Grid and ProActive, Distributed - - PowerPoint PPT Presentation
Short Introduction to Parallelism, Grid and ProActive, Distributed Objects and Components (GCM) Denis Caromel, et al. http://ProActive.ObjectWeb.org OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF Denis Caromel 1
Denis Caromel 1
Denis Caromel, et al.
http://ProActive.ObjectWeb.org
OASIS Team
INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF
Short Introduction to Parallelism, Grid and ProActive, Distributed Objects and Components (GCM)
Denis Caromel 2
Programming ProActive
a complete solution for Enterprise GRID
Composing Deploying
W r a p p i n g
Including: P2P, File Transfer, Branch & Bound, Load Balancing, Fault Tolerance
Denis Caromel 3
Denis Caromel 4
ProActive’s Framework in a nutshell
Open Source + PROFESSIONAL SUPPORT
Denis Caromel 5
Inside ProActive
IDE PROGRAMMING & COMPOSING DEPLOYMENT
Denis Caromel 6
ProActive GUIs
IC2D Eclipse, TimIt, …
Denis Caromel 7
Interface with The Scientific Free Software SciLab
Denis Caromel 8
A Theory of Distributed Objects
Springer 2005, Monograph A Calculus: ASP: Asynchronous Sequential Processes
THEORY
Denis Caromel 9 9
Grid Computing with ProActive
Nice Nice Nice Nice Amsterdam Amsterdam Amsterdam Amsterdam Beijing Beijing Beijing Beijing Shanghai Shanghai Shanghai Shanghai
Hierarchical Deployment
Challenges: Programming Model, Scale, Latency, Heterogeneity, Versatility (protocols, firewalls, etc.)
Denis Caromel 10 10
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
Thread
v1 v2 ag WBN!
Denis Caromel 11 11
A
Creating AO and Groups
V v = ag.foo(param); ... v.bar(); //Wait-by-necessity V
Group, Type, and Asynchrony are crucial for Cpt. and GRID
JVM
Denis Caromel 12 12
Broadcast and Scatter
JVM JVM JVM JVM ag cg
ag.bar(cg); // broadcast cg ProActive.setScatterGroup(cg); ag.bar(cg); // scatter cg
c1 c2 c3 c1 c2 c3 c1 c2 c3 c1 c2 c3 c1 c2 c3 c1 c2 c3
s
c1 c2 c3
s Broadcast is the default behavior Use a group as parameter, Scattered depends on rankings
Denis Caromel 13
Interactive Control & Debug for Distribution
Denis Caromel 14
Denis Caromel 15
Denis Caromel 16
Denis Caromel 17
Denis Caromel 18
Denis Caromel 19
Denis Caromel 20
Denis Caromel 21
Denis Caromel 22
JECS : 3D Electromagnetism A Generic Version of Jem3D
Denis Caromel 23
Code Coupling : Vibro Acoustic (courtesy of EADS)
Denis Caromel 24
N-Body Particules
Denis Caromel 25
Napoli Nice Metz Paris Pise Rennes Santiago San Diego Amsterdam Belfast Fribourg Grenoble Lille Manchester Melbourne Merida Metz Bombay
Denis Caromel 26
Mikros Image: Post Production
Denis Caromel 27
Mikros Image: Post Production
Denis Caromel 28
Conclusions and A Few Directions
ProActive:
A Strong Programming Model + Components + Env NOT discussed so far: Web Service, FT, Exceptions FACTS AND FIGURES 53 years of computation in 6 months in Desktop P2P Deployed at once on 2111 CPUs (PLUGTESTS on ssh, Globus, LSF, ...) (Close to) Beating Fortran on an Electromagnetic Application PERSPECTIVES: Behavior Specification, Fully Integrated Debugger A great alchemy for the Grid + SOA: Asynchrony + Wait By Necessity + Groups + Components
Denis Caromel 29
ProActive and SOA Integration