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
ProActive a complete solution for Enterprise GRID Programming W r a p p i n g Composing Deploying Including: P2P, File Transfer, Branch & Bound, Load Balancing, Fault Tolerance Denis Caromel 2
Overview Denis Caromel 3
ProActive’s Framework in a nutshell Open Source + PROFESSIONAL SUPPORT Denis Caromel 4
Inside ProActive IDE PROGRAMMING & COMPOSING DEPLOYMENT Denis Caromel 5
ProActive GUIs IC2D Eclipse, TimIt, … Denis Caromel 6
Interface with The Scientific Free Software SciLab Denis Caromel 7
THEORY 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 Denis Caromel 8
Grid Computing with ProActive Shanghai Shanghai Shanghai Shanghai Nice Nice Nice Nice Hierarchical Deployment Amsterdam Amsterdam Amsterdam Amsterdam Challenges: Programming Model, Scale, Latency, Heterogeneity, Versatility (protocols, firewalls, etc.) Beijing Beijing Beijing Beijing 9 Denis Caromel 9
ProActive : Active objects A ag = newActive (“A”, […], VirtualNode) V v1 = ag.foo (param); V v2 = ag.bar (param); ... v1.bar(); //Wait-By-Necessity JVM JVM A ag v2 v1 A WBN! V Wait-By-Necessity Req. Queue is a Java Object Active Object Dataflow Thread Request Future Object Proxy Synchronization 10 Denis Caromel 10
Creating AO and Groups A ag = newActiveGroup (“A”, […], VirtualNode) V v = ag.foo(param); ... v.bar(); //Wait-by-necessity JVM A V Group, Type, and Asynchrony ����������� ��������������������� are crucial for Cpt. and GRID 11 Denis Caromel 11
Broadcast and Scatter Broadcast is the default behavior Use a group as parameter, Scattered depends on rankings ag cg JVM s s c3 c3 c3 c1 c1 c1 c2 c2 c2 c3 c3 c3 c3 c1 c1 c1 c1 c2 c2 c2 c2 JVM JVM ag.bar(cg); // broadcast cg ProActive.setScatterGroup(cg) ; ag.bar(cg); // scatter cg JVM 12 Denis Caromel 12
4.2 IC2D Interactive Control & Debug for Distribution Eclipse GUI for the GRID Denis Caromel 13
ProActive Eclipse UI Denis Caromel 14
Denis Caromel 15
Denis Caromel 16
Denis Caromel 17
TimIt Denis Caromel 18
Denis Caromel 19
Denis Caromel 20
Denis Caromel 21
JECS : 3D Electromagnetism A Generic Version of Jem3D Denis Caromel 22
Code Coupling : Vibro Acoustic (courtesy of EADS) Denis Caromel 23
N-Body Particules Denis Caromel 24
Amsterdam Manchester Nancy Pise Belfast Melbourne Napoli Rennes Fribourg Merida Nice Santiago Grenoble Metz Metz San Diego Lille Bombay Paris ��������� ����� ���� ������ Denis Caromel 25
Mikros Image: Post Production Denis Caromel 26
Mikros Image: Post Production Denis Caromel 27
Conclusions and A Few Directions A Strong Programming Model + Components + Env ProActive : 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 28
ProActive and SOA Integration Denis Caromel 29
Recommend
More recommend