Abstract
Java may be a natural language for portable parallel programming. We discuss the basis of this claim in general terms, then illustrate the use of Java for message-passing and data-parallel programming through series of case studies. In the process we introduce some proposals for a Java binding of MPI, and describe the use of a Java class-library to implement HPF-style distributed data. Prospects for future Java-based parallel programming environments are discussed.
Preview
Unable to display preview. Download preview PDF.
References
A. Agrawal, A. Sussman, and J. Saltz. An integrated runtime and compile-time approach for parallelizing structured and block structured applications. IEEE Transactions on Parallel and Distributed Systems, 6, 1995.
Susan Atlas, Subhankar Banerjee, Julian C. Cummings, Paul J. Hinker, M. Srikant, John V. W. Reynders, and Mary Dell Tholburn. POOMA: A high performance distributed simulation environment for scientific applications. In Supercomputing `95, 1995.
Aart J.C. Bik and Dennis B. Gannon.Automatically exploiting implicit parallelism in Java. To appear in Concurrency: Practise and Experience, special issue.
J. Boyle, R. Butler, T. Disz, B. Glickfeld, E. Lusk, R. Overbeek, J. Patterson, and R. Stevens. Portable Programs for Parallel Processors. Holt, Rinehart and Winston, 1987.
D. B. Carpenter. Adlib: A distributed array library to support HPF translation, 1995. Presented at the 5th International Workshop on Compilers for Parallel Computers. URL: http://www.npac.syr.edu/users/dbc/Adlib.
K.M. Chandy and C. Kesselman. CC++: A declarative concurrent object-oriented programming notation. In Gul Agha, Peter Wegner, and Akinori Yonezawa, editors, Research Directions in Concurrent Object-Oriented Programming, page 24. MIT Press, 1993. ISBN: 0-262-01139-5.
A. Choudhary, G. Fox, S. Ranka, S. Hiranandani, K. Kennedy, C. Koelbel, and J. Saltz. Software support for irregular and loosely synchronous problems. Computing Systems in Engineering, 3:43–52, 1992.
Parallel Compiler Runtime Consortium.Common runtime support for high-performance parallel languages. In Supercomputing `93. IEEE Computer Society Press, 1993.
J.J. Dongarra, R. Pozo, and D.W. Walker. An object oriented design for high performance linear algebra on distributed memory architectures. In Object Oriented Numerics Conference, 1993.
Stephen J. Fink and Scott B. Baden. The KeLP User's Guide. University of California, San Diego, La Jolla, CA, March 1996. URL: http://wwwcse.ucsd.edu/groups/hpcl/scg/kelp.html.
High Performance Fortran Forum. High Performance Fortran language specification. Scientific Programming, special issue, 2, 1993.
Message Passing Interface Forum. MPI: A Message-Passing Interface Stan dard. University of Tenessee, Knoxville, TN, June 1995.URL: http://www.mcs.anl.gov/mpi.
I. Foster and K. M. Chandy. Fortran M: A language for modular parallel programming. Journal of Parallel and Distributed Computing, 26(1):24, 1995.
G.C.Fox and W. Furmanski. Towards interpreted run-time Fortran90D environment. Technical report, NPAC, 1992. URL: http://www.npac.syr.edu/projects/hpsin/hpfi.html.
Geoffrey C. Fox and Wojtek Furmanski. Computing on the Web: new approaches to parallel processing-petaop and exaop performance in the year 2007, 1997. URL: http://www.npac.syr.edu/users/gcf/petastuff/petaweb/.
Geoffrey C. Fox, Xiaoming Li, Yuhong Wen, and Guansong Zhang. Studies of integration and optimization of interpreted and compiled languages. Technical Report SCCS-780, NPAC, February 1997.
A. Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek, and V. Sunderam. PVM: Parallel Virtual Machine-A Users' Guide and Tutorial for Networked Parallel Computing. Scientific and Engineering Series. MIT Press, 1994. ISBN: 0-26257108-0.
A.S. Grimshaw. An introduction to parallel object-oriented programming with Mentat. Technical Report 91 07, University of Virginia, 1991.
JavaSoft, Sun Microsystems, Inc. RMI Documentation, 1996. URL: http://java.sun.com/products/JDK/ 1.1/.
C.H. Koelbel, D.B. Loveman, R.S. Schreiber, G.L. Steel, Jr., and M.E. Zosel. The High Performance Fortran Handbook. MIT Press, 1994. ISBN: 0-262-61094-9.
Inmos Ltd. occam 2 Reference Manual. Prentice-Hall International, 1988. ISBN: 0-13-629312-3.
MPICH-a portableimplementation ofMPI.URL: http://www.mcs.anl.gov/mpi/mpich/.
R. Parsons and D. Quinlan. A++/P++ array classes for architecture independent finite difference calculations. In Object Oriented Numerics Conference, 1994.
Jon Siegel. CORBA Fundamentals and Programming. Wiley, 1996. ISBN: 047112148-7.
Java for science and engineering computation. Workshop held at Syracuse University, Dec 16–17, 1996.
Gregory V. Wilson and Paul Lu, editors. Parallel Programming using C++. MIT Press, 1996. ISBN: 0-262-73118-5.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Carpenter, B., Chang, YJ., Fox, G., Li, X. (1998). Java as a language for scientific parallel programming. In: Li, Z., Yew, PC., Chatterjee, S., Huang, CH., Sadayappan, P., Sehr, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1997. Lecture Notes in Computer Science, vol 1366. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0032703
Download citation
DOI: https://doi.org/10.1007/BFb0032703
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64472-9
Online ISBN: 978-3-540-69788-6
eBook Packages: Springer Book Archive