Presentation is loading. Please wait.

Presentation is loading. Please wait.

A High Performance Middleware in Java with a Real Application Fabrice Huet*, Denis Caromel*, Henri Bal + * Inria-I3S-CNRS, Sophia-Antipolis, France + Vrije.

Similar presentations


Presentation on theme: "A High Performance Middleware in Java with a Real Application Fabrice Huet*, Denis Caromel*, Henri Bal + * Inria-I3S-CNRS, Sophia-Antipolis, France + Vrije."— Presentation transcript:

1 A High Performance Middleware in Java with a Real Application Fabrice Huet*, Denis Caromel*, Henri Bal + * Inria-I3S-CNRS, Sophia-Antipolis, France + Vrije Universiteit, Amsterdam, Netherlands

2 Outline Motivations and Overview Jem3D: 3D electromagnetism ProActive: High Level Middleware for the Grid Ibis: High Performance Communications Java experimentations Comparison with a Fortran Implementation Conclusion

3 Outline Motivations and Overview Jem3D: 3D electromagnetism ProActive: High Level Middleware for the Grid Ibis: High Performance Communications Java experimentations Comparison with a Fortran Implementation Conclusion

4 Motivations Offer an integrated solution for –Programming –Deploying –Running applications in an heterogeneous environment Investigate the current situation of Java programming for high performance

5 Overview

6 Outline Motivations and Overview Jem3D: 3D electromagnetism ProActive: High Level Middleware for the Grid Ibis: High Performance Communications Java experimentations Comparison with a Fortran Implementation Conclusion

7 Jem3D Solves 3D Maxwell equations Relies on finite volume approximation method Works on unstructured tetrahedral discretization of the computation domain In this paper, we compute the propagation of an eigenmode in a cubic metallic cavity (standard test case) The complexity of the computation is linked to the number of tetrahedra We set the number of points to be used for tetrahedra (Mesh size)

8 Jem3D (2) Initialization Compute mag. field, and update elec. field Compute elec. field, and update mag. field Calculation of the discrete electromagnetic energy Solution Saving t < t max t = t max Communication intensive

9 Distribution of the Computation Example on 4 nodes N 1 4 1 1 2 2 Communication Area: 2*N 2 Communication Area: 3*N 2

10 Outline Motivations and Overview Jem3D: 3D electromagnetism ProActive: High Level Middleware for the Grid Ibis: High Performance Communications Java experimentations Comparison with a Fortran Implementation Conclusion

11 ProActive Java library for parallel, distributed and concurrent programming Medium grain entities: active object –Has its own thread of execution –Stores and serves requests –Asynchronous communications with transparent future objects and wait by necessity Uses RMI or Soap-like protocol High level features: mobility, security, component, group communication, deployment descriptors…

12 Group Communications Idea / Goals –Manipulate groups as ‘simple’ Java objects –Maintain the ‘dot’ notation –Code reusability Remote method invocation on a group Multi-unicast approach –Based on the ProActive communication mechanism –Replication of n ‘single’ communication –Uses of multiple threads

13 Deployment Descriptor Abstract Away from source code: –Machines names –Creation/Connection Protocols –Lookup and Registry Protocols Interfaced with various protocols and Infrastructures: –Cluster: LSF, PBS, SGE, OAR and PRUN(custom protocols) –Internet and LAN: rsh, rlogin, ssh –Grid: Globus, Web services, gsissh API to query resources from within the application through symbolic names (VirtualNode)

14 Deployment Descriptor- Examples VirtualNode: jem3dNode Mapping: jem3dNode  VM1, VM2 Infrastructure: VM1  Local VM VM2  SSH host1 then Local VM VirtualNode: jem3dNode Mapping: jem3dNode  VM1 Infrastructure: VM1  SSH frontend then pbsProcess pbsProcess  PBS 10 nodes Local VM VM 2 VM 1 localhost host1 localhostfrontend VM App. jem3dNode App. jem3dNode

15 Outline Motivations and Overview Jem3D: 3D electromagnetism ProActive: High Level Middleware for the Grid Ibis: High Performance Communications Java experimentations Comparison with a Fortran Implementation Conclusion

16 Ibis Grid programming environment with efficient communications Java Implementation for portability Native Implementation for performance –TCP –Myrinet –MPI Various programming models: Group Method Invocation (GMI), Divide and Conquer (Satin), Remote Method Invocation (RMI) We focus here on the Java implementation for portability reasons

17 Improved RMI implementation Source compatible with Sun’s RMI (replace java.rmi.* with ibis.rmi.*) Reduced overhead through caching of type information Overall, reduce by 10% the amount of data sent over the wire Improved serialization –Generation of serialization code for all classes –Specially generated constructor to create empty objects

18 Outline Motivations and Overview Jem3D: 3D electromagnetism ProActive: High Level Middleware for the Grid Ibis: High Performance Communications Java experimentations Comparison with a Fortran Implementation Conclusion

19 Running Environment DAS-2 MultiCluster –200 Nodes on 5 sites –≥1GB of memory –We use 72 Nodes on 1 site, other evenly distributed –Intra domain nodes linked by 100Mb/s ethernet –Inter domains linked with 1Gb/s OS –RedHat 7.2 Java –Sun’s 1.5.0 and IBM’s 1.4.1

20 Jem3D with 51x51x51 mesh

21 Outline Motivations and Overview Jem3D: 3D electromagnetism ProActive: High Level Middleware for the Grid Ibis: High Performance Communications Java experimentations Comparison with a Fortran Implementation Conclusion

22 Comparison with a Fortran Implementation Not a Java vs Fortran/MPI Comparison! We compare: –The same algorithm –Implemented in very different languages (dynamic data structures in Java, static in Fortran) –By different persons –With different goals We want to know –How much we pay for the Java features –How much we can gain with Ibis

23 Running Environment Cluster located in Sophia-Antipolis –16 nodes of Pentium 3 at 1Ghz –512MB of RAM –Nodes linked with 100Mb/s Ethernet OS –Linux 2.4.17 –Sun’s JDK 1.4.2 Fortran/MPI –MPICH-1.2.5

24 Sequential Version TimeMemoryJava/Fortran MeshJavaFortranJavaFortranTimeMemory 21x21x2145s18.9s78M59M2.381.32 31x31x31150s65s224M164M2.301.36 41x41x41387s156s483M366M2.481.31

25 Speedup, 51x51x51

26 Speedup, 81x81x81

27 Outline Motivations and Overview Jem3D: 3D electromagnetism ProActive: High Level Middleware for the Grid Ibis: High Performance Communications Java experimentations Comparison with a Fortran Implementation Conclusion

28 ProActive + Ibis: –Integrated Solution –Allows a better speedup than plain RMI implementation –Gives to the application a better control on its environment Still slower (3x) than a “close” Fortran/MPI implementation but –Easier to compile –Easier to deploy (Jem3D ran on 150 nodes) Evaluate the native solutions –The native ibis version is installed/managed by an administrator –We compile against the Java classes only

29 Resources Jem3D: not available yet, but working on it ProActive: Available under LGPL –http://www-sop.inria.fr/oasis/ProActivehttp://www-sop.inria.fr/oasis/ProActive Ibis: Available under LGPL –http://www.cs.vu.nl/ibishttp://www.cs.vu.nl/ibis Booth #2345


Download ppt "A High Performance Middleware in Java with a Real Application Fabrice Huet*, Denis Caromel*, Henri Bal + * Inria-I3S-CNRS, Sophia-Antipolis, France + Vrije."

Similar presentations


Ads by Google