Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1852761.1852769acmotherconferencesArticle/Chapter ViewAbstractPublication PagespppjConference Proceedingsconference-collections
research-article

Multicore-enabling the MPJ express messaging library

Published: 15 September 2010 Publication History

Abstract

With the transition to multicore processors almost complete, the parallel processing community is seeking efficient ways to port legacy message passing applications on shared memory and multicore processors. MPJ Express is our reference implementation of Message Passing Interface (MPI)-like bindings for the Java language. Starting with the current release, the MPJ Express software can be configured in two modes: the multicore and the cluster mode. In the multicore mode, parallel Java applications execute on shared memory or multicore processors. In the cluster mode, Java applications parallelized using MPJ Express can be executed on distributed memory platforms like compute clusters and clouds. The multicore device has been implemented using Java threads in order to satisfy two main design goals of portability and performance. We also discuss the challenges of integrating the multicore device in the MPJ Express software. This turned out to be a challenging task because the parallel application executes in a single JVM in the multicore mode. On the contrary in the cluster mode, the parallel user application executes in multiple JVMs. Due to these inherent architectural differences between the two modes, the MPJ Express runtime is modified to ensure correct semantics of the parallel program. Towards the end, we compare performance of MPJ Express (multicore mode) with other C and Java message passing libraries---including mpiJava, MPJ/Ibis, MPICH2, MPJ Express (cluster mode)---on shared memory and multicore processors. We found out that MPJ Express performs signicantly better in the multicore mode than in the cluster mode. Not only this but the MPJ Express software also performs better in comparison to other Java messaging libraries including mpiJava and MPJ/Ibis when used in the multicore mode on shared memory or multicore processors. We also demonstrate effectiveness of the MPJ Express multicore device in Gadget-2, which is a massively parallel astrophysics N-body siimulation code.

References

[1]
}}M. Baker, B. Carpenter, G. Fox, S. H. Ko, and S. Lim. An Object-Oriented Java interface to MPI. In Proceedings of the International Workshop on Java for Parallel and Distributed Computing, San Juan, Puerto Rico, April 1999.
[2]
}}M. Baker, B. Carpenter, and A. Shafi. MPJ Express Meets Gadget: Towards a Java Code for Cosmological Simulations. In Proceedings of the 13th European PVM/MPI Users' Group Meeting, Lecture Notes in Computer Science, pages 358--365, Bonn, Germany, September 2006. Springer.
[3]
}}M. Bornemann, R. van Nieuwpoort, and T. Kielmann. MPJ/Ibis: A Flexible and Efficient Message Passing Platform for Java. In Proceedings of the 12th European PVM/MPI Users' Group Meeting, Lecture Notes in Computer Science, pages 217--224. Springer, 2005.
[4]
}}J. M. Bull, L. A. Smith, L. Pottage, and R. Freeman. Benchmarking Java against C and Fortran for scientific applications. In JGI '01: Proceedings of the 2001 joint ACM-ISCOPE conference on Java Grande, pages 97--105, New York, NY, USA, 2001. ACM. ISBN 1-58113-359-6.
[5]
}}B. Carpenter, G. Zhang, G. Fox, X. Li, and Y. Wen. HPJava: Data Parallel Extensions to Java. Concurrency: Practice and Experience, 10(11--13):873--877, 1998.
[6]
}}B. Carpenter, G. Fox, S.-H. Ko, and S. Lim. mpiJava 1.2: API Specification. Technical report, Northeast Parallel Architectures Center, Syracuse University, October 1999. http://www.hpjava.org/reports/mpiJava-spec/mpiJava-spec/mpiJava-spec.html.
[7]
}}G. Fox. Editorial: Java for Computational Science and Engineering - Simulation and Modeling. Concurrency: Practice and Experience, 9 (6):413--414, June 1997.
[8]
}}E. Gabriel, G. E. Fagg, G. Bosilca, T. Angskun, J. J. Dongarra, J. M. Squyres, V. Sahay, P. Kambadur, B. Barrett, A. Lumsdaine, R. H. Castain, D. J. Daniel, R. L. Graham, and T. S. Woodall. OpenMPI: Goals, Concept, and Design of a Next Generation MPI Implementation. In Proceedings of the 11th European PVM/MPI Users' Group Meeting, Lecture Notes in Computer Science, pages 97--104, Budapest, Hungary, September 2004. Springer.
[9]
}}G. P. Nikishkov, Yu. G. Nikishkov, and V. V. Savchenko. Comparison of C and Java Performance in Finite Element Computations. Computers and Structures, 81(X):2401--2408, 2003.
[10]
}}W. Gropp. MPICH2: A New Start for MPI Implementations. In D. Kranzlmüller, P. Kacsuk, J. Dongarra, and J. Volkert, editors, Proceedings of the 9th European PVM/MPI Users' Group Meeting, volume 2474 of Lecture Notes in Computer Science, page 7. Springer, October 2002. ISBN 3-540-44296-0.
[11]
}}Java Grande. The Java Grande Forum Home Page. http://www.javagrande.org.
[12]
}}Message Passing Interface Forum. MPI: A Message-Passing Interface Standard. University of Tenessee, Knoxville, TN, June 1995. http://www.mcs.anl.gov/mpi.
[13]
}}J. Moreira, S. Midkiff, and M. Gupta. From Flop to MegaFlops: Java for Technical Computing. In Languages and Compilers for Parallel Computing, volume 1656 of Lecture Notes in Computer Science. Springer, 1998.
[14]
}}A. Shafi and J. Manzoor. Towards Efficient Shared Memory Communications in MPJ Express. In IPDPS '09: Proceedings of the 2009 IEEE International Symposium on Parallel&Distributed Processing, pages 1--7, Washington, DC, USA, 2009. IEEE Computer Society. ISBN 978-1-4244-3751-1.
[15]
}}A. Shafi, B. Carpenter, and M. Baker. Nested parallelism for multi-core HPC systems using Java. J. Parallel Distrib. Comput., 69(6):532--545, 2009. ISSN 0743-7315.
[16]
}}V. Springel. The cosmological simulation code GADGET-2. Monthly Notices of the Royal Astronomical Society, 364:1105, 2005.
[17]
}}H. Sutter and J. Larus. Software and the concurrency revolution. Queue, 3(7):54--62, 2005. ISSN 1542-7730.
[18]
}}Top500. TOP500 Supercomputer Sites. http://www.top500.org.

Cited By

View all
  • (2020)On the parallelization and performance analysis of Barnes–Hut algorithm using Java parallel platformsSN Applied Sciences10.1007/s42452-020-2386-z2:4Online publication date: 10-Mar-2020
  • (2018)Parameter estimation of qualitative biological regulatory networks on high performance computing hardwareBMC Systems Biology10.1186/s12918-018-0670-y12:1Online publication date: 29-Dec-2018
  • (2016)Clonal Selection Algorithm parallelization with MPJExpress2016 8th Computer Science and Electronic Engineering (CEEC)10.1109/CEEC.2016.7835918(228-233)Online publication date: Sep-2016
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
PPPJ '10: Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java
September 2010
173 pages
ISBN:9781450302692
DOI:10.1145/1852761
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

  • Technical University of Vienna

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 September 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Java HPC
  2. Java MPI
  3. Java multicore programming
  4. MPI Java
  5. MPJ express

Qualifiers

  • Research-article

Conference

PPPJ '10
Sponsor:
PPPJ '10: Principles and Practice of Programming in Java
September 15 - 17, 2010
Vienna, Austria

Acceptance Rates

Overall Acceptance Rate 29 of 58 submissions, 50%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2020)On the parallelization and performance analysis of Barnes–Hut algorithm using Java parallel platformsSN Applied Sciences10.1007/s42452-020-2386-z2:4Online publication date: 10-Mar-2020
  • (2018)Parameter estimation of qualitative biological regulatory networks on high performance computing hardwareBMC Systems Biology10.1186/s12918-018-0670-y12:1Online publication date: 29-Dec-2018
  • (2016)Clonal Selection Algorithm parallelization with MPJExpress2016 8th Computer Science and Electronic Engineering (CEEC)10.1109/CEEC.2016.7835918(228-233)Online publication date: Sep-2016
  • (2016)Towards Scalable Java HPC with Hybrid and Native Communication Devices in MPJ ExpressInternational Journal of Parallel Programming10.1007/s10766-015-0375-444:6(1142-1172)Online publication date: 1-Dec-2016
  • (2014)Parallel Java Code Generation for Layer-unified Coarse Grain Task Parallel ProcessingIPSJ Online Transactions10.2197/ipsjtrans.7.1687(168-178)Online publication date: 2014
  • (2014)Design and Implementation of Hybrid and Native Communication Devices for Java HPCProcedia Computer Science10.1016/j.procs.2014.05.01729(184-197)Online publication date: 2014
  • (2014)FastMPJCluster Computing10.1007/s10586-014-0345-417:3(1031-1050)Online publication date: 1-Sep-2014
  • (2013)Distributed Gröbner Bases Computation with MPJProceedings of the 2013 27th International Conference on Advanced Information Networking and Applications Workshops10.1109/WAINA.2013.101(1429-1435)Online publication date: 25-Mar-2013
  • (2013)Java in the High Performance Computing arenaScience of Computer Programming10.1016/j.scico.2011.06.00278:5(425-444)Online publication date: 1-May-2013
  • (2011)Scalable Java Communication Middleware for Hybrid Shared/Distributed Memory ArchitecturesProceedings of the 2011 IEEE International Conference on High Performance Computing and Communications10.1109/HPCC.2011.37(221-228)Online publication date: 2-Sep-2011
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media