Skip to main content

Java as a language for scientific parallel programming

  • Parallel Programming Methods and Language Extensions
  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 1997)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1366))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. Aart J.C. Bik and Dennis B. Gannon.Automatically exploiting implicit parallelism in Java. To appear in Concurrency: Practise and Experience, special issue.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. Parallel Compiler Runtime Consortium.Common runtime support for high-performance parallel languages. In Supercomputing `93. IEEE Computer Society Press, 1993.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. High Performance Fortran Forum. High Performance Fortran language specification. Scientific Programming, special issue, 2, 1993.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. I. Foster and K. M. Chandy. Fortran M: A language for modular parallel programming. Journal of Parallel and Distributed Computing, 26(1):24, 1995.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. 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/.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. 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.

    Google Scholar 

  18. A.S. Grimshaw. An introduction to parallel object-oriented programming with Mentat. Technical Report 91 07, University of Virginia, 1991.

    Google Scholar 

  19. JavaSoft, Sun Microsystems, Inc. RMI Documentation, 1996. URL: http://java.sun.com/products/JDK/ 1.1/.

    Google Scholar 

  20. 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.

    Google Scholar 

  21. Inmos Ltd. occam 2 Reference Manual. Prentice-Hall International, 1988. ISBN: 0-13-629312-3.

    Google Scholar 

  22. MPICH-a portableimplementation ofMPI.URL: http://www.mcs.anl.gov/mpi/mpich/.

    Google Scholar 

  23. R. Parsons and D. Quinlan. A++/P++ array classes for architecture independent finite difference calculations. In Object Oriented Numerics Conference, 1994.

    Google Scholar 

  24. Jon Siegel. CORBA Fundamentals and Programming. Wiley, 1996. ISBN: 047112148-7.

    Google Scholar 

  25. Java for science and engineering computation. Workshop held at Syracuse University, Dec 16–17, 1996.

    Google Scholar 

  26. Gregory V. Wilson and Paul Lu, editors. Parallel Programming using C++. MIT Press, 1996. ISBN: 0-262-73118-5.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Zhiyuan Li Pen-Chung Yew Siddharta Chatterjee Chua-Huang Huang P. Sadayappan David Sehr

Rights and permissions

Reprints 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

Publish with us

Policies and ethics