Program Analysis of Overlap Area Usage in Self-Similar Parallel Programs

Highly parallel computers have the memory capacity and potential speed to perform very high-resolution time-dependent calculations. Parallel computers with hundreds of fast processors require highly scalable algorithms to avoid wasting expensive resources. On these machines careful attention must be given to program design to fully exploit scalable algorithms. We have proposed a programming model that can express a class of scalable algorithms. In this paper we show how compiler analysis can ease the task of writing programs within this programming model. We have used this programming model manually and have achieved good results in reducing communication and synchronization overhead. We describe early results of a prototype compiler transformation tool called TOPAZ that applies this analysis to real programs.

[1]  Rice UniversityCORPORATE,et al.  High performance Fortran language specification , 1993 .

[2]  Zhiyuan Li,et al.  An Interprocedural Parallelizing Compiler and Its Support for Memory Hierarchy Research , 1995, LCPC.

[3]  Michael Wolfe,et al.  High performance compilers for parallel computing , 1995 .

[4]  Ken Kennedy,et al.  The D Editor: a new interactive parallel programming tool , 1994, Proceedings of Supercomputing '94.

[5]  S. I. Feldman,et al.  A Fortran to C converter , 1990, FORF.

[6]  M. O'Keefe,et al.  The Design , Implementation , and Performance of a Parallel Ocean Circulation Model , 1994 .

[7]  Corporate Rice University,et al.  High performance Fortran language specification , 1993, FORF.

[8]  Russell W. Quong,et al.  ANTLR: A predicated‐LL(k) parser generator , 1995, Softw. Pract. Exp..

[9]  Ken Kennedy,et al.  Optimizing Fortran 90 Shift Operations on Distributed-Memory Multicomputers , 1995, LCPC.

[10]  P. Woodward,et al.  The Piecewise Parabolic Method (PPM) for Gas Dynamical Simulations , 1984 .

[11]  Mark N. Wegman,et al.  Efficiently computing static single assignment form and the control dependence graph , 1991, TOPL.

[12]  Monica S. Lam,et al.  Maximizing Multiprocessor Performance with the SUIF Compiler , 1996, Digit. Tech. J..

[13]  Monica S. Lam,et al.  Multiprocessors from a software perspective , 1996, IEEE Micro.

[14]  Matthew T. O'Keefe,et al.  A General Programming Model for Developing Scalable Ocean Circulation Applications , 1997 .

[15]  Paul R. Woodward,et al.  The Fortran-P Translator: Towards Automatic Translation of Fortran 77 Programs for Massively Parallel Processors , 1995, Sci. Program..

[16]  Michael Gerndt,et al.  SUPERB: A tool for semi-automatic MIMD/SIMD parallelization , 1988, Parallel Comput..

[17]  P. Woodward Piecewise-parabolic methods for astrophysical fluid dynamics , 1986 .

[18]  Geoffrey C. Fox,et al.  A Compilation Approach for Fortran 90D/HPF Compilers on Distributed Memory MIMD Computers , 1993 .

[19]  Alan Weiss,et al.  Allocating Independent Subtasks on Parallel Processors , 1985, IEEE Transactions on Software Engineering.

[20]  Rainer Bleck,et al.  Salinity-driven Thermocline Transients in a Wind- and Thermohaline-forced Isopycnic Coordinate Model of the North Atlantic , 1992 .

[21]  Karl SOLCHENBACH Grid applications on distributed memory architectures: Implementation and evaluation , 1988, Parallel Comput..

[22]  Matthew T. O'Keefe,et al.  A Comparison of Data-Parallel and Message-Passing Versions of the Miami Isopycnic Coordinate Ocean Model (MICOM) , 1995, Parallel Comput..

[23]  François Irigoin,et al.  Interprocedural Array Region Analyses , 1996, International Journal of Parallel Programming.