1 / 29

A High Performance Middleware in Java with a Real Application

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. Outline. Motivations and Overview Jem3D: 3D electromagnetism

Download Presentation

A High Performance Middleware in Java with a Real Application

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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. Communication intensive Jem3D (2) Initialization Compute mag. field, and update elec. field Compute elec. field, and update mag. field Calculation of the discrete electromagnetic energy t < tmax t = tmax Solution Saving

  9. 1 2 1 1 2 4 Communication Area: 3*N2 Communication Area: 2*N2 Distribution of the ComputationExample on 4 nodes N

  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. VM1 VM2 jem3dNode VirtualNode: jem3dNode Mapping: jem3dNode  VM1 Infrastructure: VM1  SSH frontend then pbsProcess pbsProcess  PBS 10 nodes Local VM VM VM VM VM VM VM VM VM VM VM jem3dNode Deployment Descriptor- Examples VirtualNode: jem3dNode Mapping: jem3dNode  VM1, VM2 Infrastructure: VM1  Local VM VM2  SSH host1 thenLocal VM localhost App. host1 localhost frontend App.

  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

  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. Conclusion • 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/ProActive • Ibis: Available under LGPL • http://www.cs.vu.nl/ibis • Booth #2345

More Related