Runtime support for scalable programming in Java
- 106 Downloads
The paper research is concerned with enabling parallel, high-performance computation—in particular development of scientific software in the network-aware programming language, Java. Traditionally, this kind of computing was done in Fortran. Arguably, Fortran is becoming a marginalized language, with limited economic incentive for vendors to produce modern development environments, optimizing compilers for new hardware, or other kinds of associated software expected of by today’s programmers. Hence, Java looks like a very promising alternative for the future.
The paper will discuss in detail a particular environment called HPJava. HPJava is the environment for parallel programming—especially data-parallel scientific programming—in Java. Our HPJava is based around a small set of language extensions designed to support parallel computation with distributed arrays, plus a set of communication libraries. A high-level communication API, Adlib, is developed as an application level communication library suitable for our HPJava. This communication library supports collective operations on distributed arrays. We include Java Object as one of the Adlib communication data types. So we fully support communication of intrinsic Java types, including primitive types, and Java object types.
KeywordsHPJava Parallel runtime library mpiJava
Unable to display preview. Download preview PDF.
- 2.Agrawal A, Sussman A, Saltz J (1995) An integrated runtime and compiletime approach for parallelizing structured and block structured applications. IEEE Trans Parallel Distrib Syst 6 Google Scholar
- 3.Briggs WL, Van Henson E, McCormick SF (2000) A multigrid tutorial. The Society for Industrial and Applied Mathematics (SIAM) Google Scholar
- 5.DeSouza J, Kale LV (2003) Jade: A parallel message-driven java. In: Proceedings of the 2003 workshop on Java in computational science, Melburne, Australia. Available from http://charm.cs.uiuc.edu/papers/ParJavaWJCS03.shtml
- 6.Java for computational science and engineering—simulation and modelling (1997) Concurr Pract Exp 9(6) Google Scholar
- 8.Java Grande Forum home page. http://www.javagrande.org
- 9.Lee HK (2003) Towards efficient compilation of the HPJava language for high performance computing. PhD thesis, Florida State University Google Scholar
- 10.Moreira JE, Midkiff SP, Gupta M, Lawrence R (1999) High performance computing with the array package for Java: a case study using data mining. In: Supercomputing 99, November 1999 Google Scholar
- 11.Moreira JE, Midkiff SP, Gupta M (2001) A comparision of three approaches to language, compiler and library support for multidimensional arrays in Java. In: ACM 2001 Java grande/ISCOPE conference. ACM Press Google Scholar
- 12.Timber Compiler Home Page. http://pds.twi.tudelft.nl/timber
- 13.Yelick K, Semenzato L, Pike G, Miyamoto C, Liblit B, Krishnamurthy A, Hilfinger P, Graham S, Gay D, Colella P, Aiken A (1998) Titanium: a high-performance Java dialect. In: ACM workshop on Java for high-performance network computing. Concurr Pract Exp 10(11-13):825–836 Google Scholar