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

Slides:



Advertisements
Similar presentations
European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies Experiences.
Advertisements

Vrije Universiteit Interdroid: a platform for distributed smartphone applications Henri Bal, Nick Palmer, Roelof Kemp, Thilo Kielmann High Performance.
MINJAE HWANG THAWAN KOOBURAT CS758 CLASS PROJECT FALL 2009 Extending Task-based Programming Model beyond Shared-memory Systems.
Christian Delbe1 Christian Delbé OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis November Automatic Fault Tolerance in ProActive.
26 Mai 2004 Séminaire Croisé : Sécurité Informatique Ubiquitaire1 Security Architecture for GRID Applications Séminaire Croisé Sécurité Informatique Ubiquitaire.
Setting up of condor scheduler on computing cluster Raman Sehgal NPD-BARC.
Parallel programming in Java. Java has 2 forms of support for parallel programming: –Multithreading Multiple threads of control (sub processes), useful.
Parallel Computation of the 2D Laminar Axisymmetric Coflow Nonpremixed Flames Qingan Andy Zhang PhD Candidate Department of Mechanical and Industrial Engineering.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
What iS RMI? Remote Method Invocation. It is an approach where a method on a remote machine invokes another method on another machine to perform some computation.
Benchmarking Parallel Code. Benchmarking2 What are the performance characteristics of a parallel code? What should be measured?
The road to reliable, autonomous distributed systems
Fabrice Huet Mobility of Active Objects Fabrice Huet INRIA-I3S-CNRS.
History of Distributed Systems Joseph Cordina
1 Ludovic Henrio Paris, An Open Source Middleware for the Grid Programming Wrapping Composing Deploying.
Denis Caromel1 Institut Universitaire de France (IUF) OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis ECCOMAS, July 2004 ProActive: Components.
Grid Adventures on DAS, GridLab and Grid'5000 Henri Bal Vrije Universiteit Amsterdam Faculty of Sciences.
Scripting Languages For Virtual Worlds. Outline Necessary Features Classes, Prototypes, and Mixins Static vs. Dynamic Typing Concurrency Versioning Distribution.
A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,
Using extremal optimization for Java program initial placement in clusters of JVMs E. Laskowski 1, M. Tudruj 1,3, I. De Falco 2, U. Scafuri 2, E. Tarantino.
Design and Implementation of a Single System Image Operating System for High Performance Computing on Clusters Christine MORIN PARIS project-team, IRISA/INRIA.
31 January 2007Craig E. Ward1 Large-Scale Simulation Experimentation and Analysis Database Programming Using Java.
Tomographic mammography parallelization Juemin Zhang (NU) Tao Wu (MGH) Waleed Meleis (NU) David Kaeli (NU)
KARMA with ProActive Parallel Suite 12/01/2009 Air France, Sophia Antipolis Solutions and Services for Accelerating your Applications.
1 Developing Native Device for MPJ Express Advisor: Dr. Aamir Shafi Co-advisor: Ms Samin Khaliq.
Denis Caromel1 Institut universitaire de France (IUF) OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis REUNA, Santiago, May 2004 GRID.
1 Secure Distributed Objects for Grid Applications Laurent Baduel, Arnaud Contes, Denis Caromel OASIS team ProActive
DOT’98 Heidelberg 1 A. Hoffmann & M. Born Requirements for Advanced Distribution and Configuration Support GMD FOKUS Andreas Hoffmann & Marc Born
This work was carried out in the context of the Virtual Laboratory for e-Science project. This project is supported by a BSIK grant from the Dutch Ministry.
Distributed Shared Memory: A Survey of Issues and Algorithms B,. Nitzberg and V. Lo University of Oregon.
การติดตั้งและทดสอบการทำคลัสเต อร์เสมือนบน Xen, ROCKS, และไท ยกริด Roll Implementation of Virtualization Clusters based on Xen, ROCKS, and ThaiGrid Roll.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
A Metadata Based Approach For Supporting Subsetting Queries Over Parallel HDF5 Datasets Vignesh Santhanagopalan Graduate Student Department Of CSE.
Performance Issues in Parallelizing Data-Intensive applications on a Multi-core Cluster Vignesh Ravi and Gagan Agrawal
Crossing The Line: Distributed Computing Across Network and Filesystem Boundaries.
SUMA: A Scientific Metacomputer Cardinale, Yudith Figueira, Carlos Hernández, Emilio Baquero, Eduardo Berbín, Luis Bouza, Roberto Gamess, Eric García,
Introduction, background, jargon Jakub Yaghob. Literature T.G.Mattson, B.A.Sanders, B.L.Massingill: Patterns for Parallel Programming, Addison- Wesley,
G-JavaMPI: A Grid Middleware for Distributed Java Computing with MPI Binding and Process Migration Supports Lin Chen, Cho-Li Wang, Francis C. M. Lau and.
Workflow Early Start Pattern and Future's Update Strategies in ProActive Environment E. Zimeo, N. Ranaldo, G. Tretola University of Sannio - Italy.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Evaluation of Agent Teamwork High Performance Distributed Computing Middleware. Solomon Lane Agent Teamwork Research Assistant October 2006 – March 2007.
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
Framework for Evaluating Distributed Smalltalk Interface Jan Lukeš Czech Technical University.
Cloud Age Time to change the programming paradigm?
1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid.
Derek Wright Computer Sciences Department University of Wisconsin-Madison MPI Scheduling in Condor: An.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Performance Evaluation of JXTA-* Communication Layers Mathieu Jan PARIS Research Group Paris, November 2004.
COMP381 by M. Hamdi 1 Clusters: Networks of WS/PC.
1 OASIS Team, INRIA Sophia-Antipolis/I3S CNRS, Univ. Nice Christian Delbé Data Grid Explorer 15/09/03 Large Scale Emulation Mobility in ProActive.
Tool Integration with Data and Computation Grid “Grid Wizard 2”
Wide-Area Parallel Computing in Java Henri Bal Vrije Universiteit Amsterdam Faculty of Sciences vrije Universiteit.
LSF Universus By Robert Stober Systems Engineer Platform Computing, Inc.
Exploring Parallelism with Joseph Pantoga Jon Simington.
1 Romain Quilici OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF July 2nd 2003 ProActive Architecture.
Parallel Computing on Wide-Area Clusters: the Albatross Project Aske Plaat Thilo Kielmann Jason Maassen Rob van Nieuwpoort Ronald Veldema Vrije Universiteit.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
09/03/2003Parrallel Computing Conference JToe : a Java API for Object Exchange Serge Chaumette, Pascal Grange, Benoit Métrot, Pierre Vignéras LaBRI,
Typed Group Communication & Object-Oriented SPMD Laurent Baduel.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Fault tolerance, malleability and migration for divide-and-conquer applications on the Grid Gosia Wrzesińska, Rob V. van Nieuwpoort, Jason Maassen, Henri.
Dynamic Mobile Cloud Computing: Ad Hoc and Opportunistic Job Sharing.
Java Distributed Object System
Componentising and Deploying a Scientific Application on the Grid
MPJ: A Java-based Parallel Computing System
ProActive Architecture of an Open Middleware for the Grid
Parallel programming in Java
L. Glimcher, R. Jin, G. Agrawal Presented by: Leo Glimcher
Presentation transcript:

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 ProActive: High Level Middleware for the Grid Ibis: High Performance Communications Java experimentations Comparison with a Fortran Implementation Conclusion

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

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

Overview

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

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)

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

Distribution of the Computation Example on 4 nodes N Communication Area: 2*N 2 Communication Area: 3*N 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

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…

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

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)

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

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

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

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

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

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 and IBM’s 1.4.1

Jem3D with 51x51x51 mesh

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

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

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 –Sun’s JDK Fortran/MPI –MPICH-1.2.5

Sequential Version TimeMemoryJava/Fortran MeshJavaFortranJavaFortranTimeMemory 21x21x2145s18.9s78M59M x31x31150s65s224M164M x41x41387s156s483M366M

Speedup, 51x51x51

Speedup, 81x81x81

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

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

Resources Jem3D: not available yet, but working on it ProActive: Available under LGPL – Ibis: Available under LGPL – Booth #2345