Análises Estáticas para a Distribuição de Dados e Computações em Memória Distribuída

  • Raul Junji Nakashima USP
  • Gonzalo Travieso USP

Abstract


This work describes static compiler analysis techniques based on linear algebra and linear programming to optimize the distribution of forall loops and array elements in programs written in the SISAL programmig language for distributed memory parallel machines. In the alignment phase, that tries to find the portions of different arrays that need to be distributed together, we work with alignment hyperplanes. In the partitioning phase, that tries to break the computations and data in independent parts, we use two afine functions: the data decomposition function and the computation decomposition function. The last phase, the mapping, distributes the elements of computation into the processing elements through a set of inequations. The techniques are being implemented in a SISAL compiler, but can be used without changes to other single assignment languages, and with the addition of dependecy analysis to other languages as well.

Keywords: optimization, static compiler analysis, alignment, partitioning, mapping, forall

References

ANDERSON, J. M, Automatic Computation and Data Decomposition For Multiprocessors, Thesis CSL-TR-97-719, Stanford University, Mar 1997.

BOOKMAN, J. B., Kogge, P. M., The Case for Processing-in-Memory, Technical Report TR-97-03, University of Notre Dame, Jan. 1997

CULLER, D., et. al, Parallel Computer Architecture: A Hardware/Software Approach, Morgan Kaufmann Publishers, ISBN 1558603433, 1999.

FEO, J. T. et. al, A Report on the Sisal Language Project, Journal of Parallel and Distributed Computing, 10, 349-366, Dec. 1990.

MEYER, C. D., Matrix Analysis and Applied Linear Algebra, Society for Industrial & Applied Mathematics-SIAM, ISBN: 0898714540, Jun. 2000.

MCGRA W, J. et al. SISAL: Stream and lteration in a Single Assignment Language, Language Reference Manual, Technical Report M-146, Rev. I, University of California, Lawrence Livermore National Laboratory, Mar. 1985.

O'BOYLE, M. F. P., Program and Data Transformations for Efficient Execution on Distributed Memory Architectures, Technical Report UMCS-93-1-6, Department of Computer Science, University of Manchester, Jun. 1993.

SKEDZIELEWSKI, S. K. and Glauert, J., IFI An lntermediate Form for Applicative Languages, Manual M170, Lawrence Livermore National Laboratory, Livermore, California, Jan. 1985.

SKEDZIELEWSKI, S. K., Parallel and Functional Languages and Compilers, ACM Press, 1991

WOLF, E. M., lmproving Locality and Parallelism in Nested Loops, Department of Computer Science, Stanford University, Aug. 1992.
Published
2001-09-10
NAKASHIMA, Raul Junji; TRAVIESO, Gonzalo. Análises Estáticas para a Distribuição de Dados e Computações em Memória Distribuída. In: SYMPOSIUM ON HIGH PERFORMANCE COMPUTING SYSTEMS (SSCAD), 2. , 2001, Pirenópolis. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2001 . p. 17-22. DOI: https://doi.org/10.5753/wscad.2001.19118.