A%20High%20Performance%20Middleware%20in%20Java%20with%20a%20Real%20Application PowerPoint PPT Presentation

presentation player overlay
About This Presentation
Transcript and Presenter's Notes

Title: A%20High%20Performance%20Middleware%20in%20Java%20with%20a%20Real%20Application


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
t lt tmax
t tmax
Solution Saving
9
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
Deployment Descriptor- Examples
VirtualNode jem3dNode Mapping jem3dNode
? VM1, VM2 Infrastructure VM1 ? Local VM VM2
? SSH host1 then Local 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 Suns 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
  • Suns 1.5.0 and IBMs 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
  • Suns JDK 1.4.2
  • Fortran/MPI
  • MPICH-1.2.5

24
Sequential Version
Time Time Memory Memory Java/Fortran Java/Fortran
Mesh Java Fortran Java Fortran Time Memory
21x21x21 45s 18.9s 78M 59M 2.38 1.32
31x31x31 150s 65s 224M 164M 2.30 1.36
41x41x41 387s 156s 483M 366M 2.48 1.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
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
Write a Comment
User Comments (0)
About PowerShow.com