Abstract
Highly parallel scalable multiprocessing systems are powerful tools for solving large-scale scientific and engineering problems. Languages such as Vienna Fortran and High Performance Fortran (HPF) have been introduced to allow the programming of these machines at a relatively high level of abstraction, based on the data-parallel Single-Program-Multiple-Data (SPMD) model. Their main features focus on the distribution of data across the processors of a machine. In this paper, we outline the state-of-the-art in this area and provide a detailed description of HPF. A significant weakness of current HPF is its lack of support for many advanced applications, which require irregular data distributions, dynamic load balancing, or task parallelism. We introduce HPF+, an extension of HPF based on Vienna Fortran, that addresses these problems and provides the required functionality.
The work described in this paper was partially supported by the Austrian Research Foundation (FWF Grant P8989-PHY) and by the Austrian Ministry for Science and Research (BMWF Grant GZ 308.9281- IV/3/93). This research was also supported by the National Aeronautics and Space Administration under NASA Contract No. NAS1-18605, while the authors were in residence at ICASE, NASA Langley Research Center, Hampton, VA 23681.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
F.André,J.-L.Pazat and H. Thomas. PANDORE: A System to Manage Data Distribution. In: International Conference on Supercomputing (ICS'90), pp.380–388, June 1990.
H.E.Bal,M.F.Kaashoek, and A.S.Tanenbaum. Orca: A Language For Parallel Programming of Distributed Systems. IEEE Transactions on Software Engineering 18 (3):190–205, March 1992.
B. Chapman, P. Mehrotra, and H. Zima. Programming in Vienna Fortran. Scientific Programming 1(1):31–50, Fall 1992.
B. Chapman, P. Mehrotra, and H. Zima. High Performance Fortran Without Templates: A New Model for Data Distribution and Alignment. Proc. Fourth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, San Diego (May 19–22, 1993), ACM SIGPLAN Notices Vol.28, No.7, pp.92–101, July 1993.
B.Chapman,P.Mehrotra,J.Van Rosendale,and H.Zima. A Software Architecture for Multidisciplinary Applications: Integrating Task and Data Parallelism. Proc. CONPAR'94, Linz, Austria, September 1994. Also: Technical Report TR 94-1, Institute for Software Technology and Parallel Systems, University of Vienna, Austria, March 1994 and Technical Report 94-18, ICASE, NASA Langley Research Center, Hampton VA 23681.
B. Chapman, P. Mehrotra, and H. Zima. Extending HPF for Advanced Data-Parallel Applications. IEEE Parallel & Distributed Technology 2(3):59–70, Fall 1994.
I. T. Foster and K. M. Chandy. Fortran M: A Language for Modular Parallel Programming. Technical Report MCS-P327-0992 Revision 1. Mathematics and Computer Science Division, Argonne National Laboratory, June 1993.
G. Fox, S. Hiranandani, K. Kennedy, C. Koelbel, U. Kremer, C. Tseng, and M. Wu. Fortran D language specification. Department of Computer Science Rice COMP TR90079, Rice University, March 1991.
High Performance Fortran Forum. High Performance Fortran Language Specification Version 1.0. Technical Report, Rice University, Houston, TX, May 3, 1993. Also available as Scientific Programming 2(1–2):1–170, Spring and Summer 1993.
J.Li and M.Chen. Index Domain Alignment: Minimizing Cost of Cross-Referencing Between Distributed Arrays. Technical Report YALEU/DCS/TR-725, Yale University, November 1989.
P.Mehrotra. Programming Parallel Architectures: The BLAZE Family of Languages. In: Proc.Third SIAM Conference on Parallel Processing for Scientific Computing, Los Angeles, CA, pp.289–299, December 1988.
P. Mehrotra and J. Van Rosendale. Programming distributed memory architectures using Kali. In A. Nicolau, D. Gelernter, T. Gross, and D. Padua, editors, Advances in Languages and Compilers for Parallel Processing, pp. 364–384. Pitman/MIT-Press, 1991.
R.E.Millstein. Control Structures in ILLIAC IV Fortran. Communications of the ACM 16(10):621–627, October 1973.
MIMDizer User's Guide, Version 7.02. Pacific Sierra Research Corporation, Placerville, CA.,1991.
P.Hatcher,A. Lapadula,R.Jones,M.Quinn, and J.Anderson. A Production quality C* Compiler for Hypercube Machines. In: Proc.3rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming”, pp.73–82, April 1991.
A.P.Reeves and C.M.Chase. The Paragon Programming Paradigm and Distributed Memory Multicomputers.: In: (J.Saltz,P.Mehrotra,Eds.) Compilers and Runtime Software for Scalable Multiprocessors. Elsevier, Amsterdam, The Netherlands, 1991.
A.Rogers and K. Pingali. Process Decomposition Through Locality of Reference. In: Proc.ACM SIGPLAN Conference on Programming Language Design and Implementation, June 1989
M.Rosing,R.W.Schnabel and R.P.Weaver. Expressing Complex Parallel Algorithms in DINO. In: Proc.4th Conference on Hypercubes, Concurrent Computers, and Applications, pp.553–560, 1989.
J. Saltz, K. Crowley, R. Mirchandaney, and H. Berryman. Run-time scheduling and execution of loops on message passing machines. Journal of Parallel and Distributed Computing, 8(2):303–312, 1990.
J. Subhlok, J. Stichnoth, D. O'Hallaron, and T. Gross. Exploiting Task and Data Parallelism on a Multicomputer. Proc. Fourth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, San Diego (May 19–22, 1993), ACM SIGPLAN Notices Vol.28, No.7, July 1993.
Thinking Machines Corporation. CM Fortran Reference Manual, Version 5.2. Thinking Machines Corporation, Cambridge, MA, September 1989.
H. Zima, H. Bast, and M. Gerndt. Superb: A tool for semi-automatic MIMD/SIMD parallelization. Parallel Computing, 6:1–18, 1988.
H. Zima, P. Brezany, B. Chapman, P. Mehrotra, and A. Schwald. Vienna Fortran — a language specification. ICASE Internal Report 21, ICASE, Hampton, VA, 1992.
H. Zima and B. Chapman. Supercompilers for Parallel and Vector Computers. ACM Press Frontier Series, Addison-Wesley, 1990.
H. Zima and B. Chapman. Compiling for Distributed Memory Systems. Proceedings of the IEEE, Special Section on Languages and Compilers for Parallel Machines, pp. 264–287, February 1993. Also: Technical Report ACPC/TR 92-16, Austrian Center for Parallel Computation, November 1992.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Chapman, B., Mehrotra, P., Zima, H. (1995). High-level languages for parallel scientific computing. In: Bartosek, M., Staudek, J., Wiedermann, J. (eds) SOFSEM '95: Theory and Practice of Informatics. SOFSEM 1995. Lecture Notes in Computer Science, vol 1012. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60609-2_14
Download citation
DOI: https://doi.org/10.1007/3-540-60609-2_14
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60609-3
Online ISBN: 978-3-540-48463-9
eBook Packages: Springer Book Archive