Compiler technology for machine-indepenent parallel programming
Tóm tắt
Historically, the principal achievement of compiler technology has been to make it possible to program in a high-level, machine-independent style. The absence of compiler technology to provide such a style for parallel computers is the main reason these systems have not found widespread acceptance. This paper examines the prospects for machine-independent parallel programming, concentrating on Fortran D and High Performance Fortran, which support machine-independent expression of “data parallelism.”
Tài liệu tham khảo
J. Backus, The history of Fortran I, II and III,ACM SIGPLAN Notices 13(8):165–180 (August 1978).
D. J. Kuck, R. H. Kuhn, B. Leasure, and M. Wolfe, The structure of an advanced vectorizer for pipelined processors,Proceedings of COMPSAC 80, The 4th International Computer Software and Applications Conference, pp. 709–715 (Chicago, Illinois, October 1980).
J. R. Allen and K. Kennedy, Automatic translation of Fortran programs to vector form,ACM Trans. on Programming Languages and Systems 9(4):491–542 (October 1987).
K. Kennedy, K. S. McKinley, and C. Tseng, Analysis and transformation in the ParaScope Editor,Proceedings of the 1991 ACM International Conference on Supercomputing (Cologne, Germany, June 1991).
D. J. Kuck, R. H. Kuhn, D. A. Padua, B. Leasure, and M. Wolfe, Dependence graphs and compiler optimizations,Conference Record of the Eighth Annual ACM Symposium on the Principals of Programming Languages, pp. 207–218 (Williamsburg, Virginia, January 1981).
M. J. Wolfe,Optimizing Supercompilers for Supercomputers (MIT Press, Cambridge, Mass. 1989).
H. Zima and B. Chapman,Supercompilers for Parallel and Vector Computers, (ACM Press, New York, NY, 1991).
C.-W. Tseng,An Optimizing Fortran D Compiler for MIMD Distributed-Memory Machines (Ph.D. Dissertation, Rice University, January 1993).
J. R. Allen, D. Callahan, and K. Kennedy, Automatic decomposition of scientific programs for parallel excution,Proceedings of the 14th Annual ACM Symposium on Principles of Programming Languages, pp. 63–76 (Munich, Germany, January, 1987).
G. Fox, M. Johnson, G. Lyzenga, S. Otto, J. Salmon, and D. Walker,Solving Problems on Concurrent Processors, Vol. 1 (Prentice-Hall, Englewood Cliffs, NJ, 1988).
Parallel Computing Forum, PCF: parallel Fortran extension,Fortran Forum 10(3) (September 1991).
D. Callahan and K. Kennedy, Compiling programs for distributed-memory multiprocessors,Journal of Supercomputing 2:151–169 (October 1988).
C. Koelbel and P. Mehrotra, Compiling global name-space parallel loops for distributed execution,IEEE Trans. on Parallel and Distributed Systems 2 (4) (October 1991).
A. Rogers and K. Pingali, Process decomposition through locality of reference,Proceedings of the SIGPLAN 89 Conference on Programming Language Design and Implementation (Portland, Oregon, June 1989).
M. Rosing, R. Schnabel, and R. Weaver, Expressing complex parallel algorithms in DINO,Proceedings of the 4th Conference on Hypercube Concurrent Computers and Applications (Monterey, California, March 1989).
H. Zima, H.-J. Bast, and M. Gerndt, SUPERB: a tool for semi-automatic MIMD/SIMD parallelization.
S. Hiranandani, K. Kennedy, and C. Tseng, Evaluation of compiler optimizations for Fortran D on MIMD distributed-memory machines,Proceedings of the ACM 1992 International Conference on Supercomputing, pp. 1–14 (Washington, DC, July 1992).
S. Hiranandani, K. Kennedy, and C. Tseng, Compiling Fortran D for MIMD distributedmemory machines,Communications of the ACM 35(8):66–80 (August 1992).
G. Fox, S. Hiranandani, K. Kennedy, C. Koelbel, U. Kremer, C. Tseng, and M. Wu, Fortran D language specification, Technical Report TR90-141 (Dept. of Computer Science, Rice University, December, 1990).
R. Mirchandaney, J. Saltz, R. Smith, D. Nicol, and K. Crowley, Principles of runtime support for parallel processors,Proceedings of the Second International Conference on Supercomputing (St. Malo, France, July 1988).
J. Wu, J. Saltz, S. Hiranandani, and H. Berryman, Runtime compilation methods for multicomputers,Proceeedings of the 1991 International Conference on Parallel Processing (St. Charles, Illinois, August 1991).
N. Carriero and D. Gelernter, Linda in context,Comm. ACM (April 1989).
A. Beguelin, J. Dongarra, G. A. Geist, R. Manchek, and V. S. Sunderam, Graphical development tools for network-based concurrent supercomputing,Proceedings of Supercomputing 91, pp. 435–444 (Albuquerque, New Mexico, November 1991).
A. Beguelin, J. Dongarra, A. Geist, R. Manchek, and V. Sunderam. Opening the door to heterogenous network supercomputing,Supercomputing Review 4(9):44–45 (1991).
J. C. Browne, Software engineering of parallel programs in a computationally oriented display environment. In D. Gelernter, A. Nicolau, and D. Padua, (eds.),Languages and Compilers for Parallel Computing, pp. 75–94 (MIT Press, Cambridge Mass., 1990).
K. M. Chandy and C. Kesselman, C++: A Declarative Concurrent Object Oriented Programming Language. Technical Report CS-TR-92-01 (California Institute of Technology, Pasadena, California).
I. Foster and K. M. Chandy, Fortran M: a language for modular parallel programming, Preprint MCS-P327-0992 (Argonne National Lab, 1992).
F. E. Allen, M. Burke, R. Cytron, J. Ferrante, V. Sarkar, and W. Hseih. A framework for determining useful parallelism,Proceedings of the Second International Conference on Supercomputing, St. Malo, France (July 1988).
F. E. Allen, M. Burke, P. Charles and R. Cytron, An overview of the PTRAN analysis system for multiprocessing,Parallel and Distributed Computing 5:617–640.
M. Girkar and C. D. Polychronopoulos, Automatic extraction of functional parallelism from ordinary programs,IEEE Trans. on Parallel and Distributed Systems 3(2):166–178 (March 1992).
C. D. Polychronopoulos, Toward auto-scheduling compilers,Journal of Supercomputing 2:297–330 (1988).
C. D. Polychronopoulos, The heirarchical task graph and its use in auto-scheduling,Proceedings of the 1991 ACM International Conference on Supercomputing, pp. 252–264 (Cologne, Germany, June 1991).
C. D. Polychronopoulos, M. B. Girkar, M. R. Haghighat, C. L. Lee, Bruce P. Leung, and D. A. Schouten, The structure of Parafrase-2: an advanced parallelizing compiler for C and Fortran. In D. Gelernter, A. Nicolau, and D. Padua (eds.),Languages and Compilers for Parallel Computing, pp. 114–125 (MIT Press, Cambridge Mass., 1990).
N. Carriero and D. Gelernter, Tuple analysis and partial evaluation strategies in the Linda precompiler. In D. Gelernter, A. Nicolau, and D. Padua (eds.),Languages and Compilers for Parallel Computing, pp. 114–125 (MIT Press, Cambridge Mass., 1990).
K. Sridharan, M. McShea, C. Denton, B. Eventoff, J. C. Browne, P. Newton, M. Ellis, D. Grossbard, T. Wise, and D. Clemmer, An environment for parallel structuring for Fortran programs,Proc. 1989 International Conference on Parallel Processing, Volume II: Software, pp. 98–106 (Chicago, Illinois, August 1989).
J. K. Lee and D. Gannon, Object oriented parallel programming: experiments and results,Proceedings of Supercomputing 91, pp. 273–282 (Albuquerque, New Mexico, November 1991).