Análise da Otimização de Acessos à Memória
Resumo
Projetos de processadores modernos têm enfocado o aumento do desempenho computacional, levando a um desbalanceamento entre a velocidade de computação e a velocidade da memória. De forma a aliviar esta diferença de velocidades, hierarquias de memória complexas têm sido elaboradas. Este trabalho apresenta um estudo onde se mostra a aplicabilidade de técnicas para melhorar o padrão de acessos à memória de forma a aumentar a localidade de referências, e assim, utilizar mais eficientemente todos os níveis da hierarquia de memória, desde os registradores até os módulos de memória remota. Os resultados obtidos revelam que o uso de um compilador para a otimização de acessos é bastante promissor.
Referências
ANDERSON, J. M. et al. Global optimizations for parallelism and locality on scalable parallel machines. In: SIGPLAN Conference on Programming Language Design and Implementation, 1993. Proceedings. p.112-25.
BACON, D. F. et al. Compiler transformations for high-performance computing. Technical Report No. UCB/CSD-93-781. Computer Science Division, University of California at Berkeley, 1993.
BANERJEE, U. Dependence analysis for supercomputing. Kluwer Academic Publ., 1988.
BOOTHE, R. F. Evaluation of multithreading and caching in large shared memory parallel computers. PhD Thesis, University of California at Berkeley, 1993.
CARR, S.; KENNEDY, K. Compiler blockability of numerical algorithms. In: International Conference in Supercomputing (ICS 92), 1992. Proceedings. p. 114-24.
CARR, S. Memory-hierarchy managemenl. PhD. Thesis. Rice University, 1993.
DONGARRA, J.J. et al. A set of level 3 basic linear algebra subprograms. ACM Transactions on Mathematical Software, v.16, n.1, p.1-17. 1990.
DONGARRA. J. J. Linear algebra library for high-performance computers: a personal perspective. IEEE Parallel & Distributed Technology, v.1, n1., p. 17-24. Feb. 1993.
GOLUB, G. H.; VAN LOAN, C. F. Matrix computations. 2.ed. John Hopkins University Press, 1989.
GRANSTON, E. D. Reducing memory access delays in large-scale, shared-memory multiprocessors. PhD Thesis. University of Illinois at Urbana-Champaign, 1992.
K.ANE. G. & HEINRICH, J. MIPS RISC architecture. Prentice-Hall. 1992.
LI, W. & PINGALI. K. Access normalization: loop restructuring for NUMA computers. ACMTrans. on Computer Systems, v.11. n.4, p.353-75, Nov. 1993.
MIDORIKAWA, E. T. Gerência de memória para um sistema de computação de alto desempenho. Dissertação de Mestrado, Escola Politécnica, Universidade de São Paulo, 1991.
MIDORIKAWA, E. T. Aplicação da tecnologia de compiladores paralelizantes para gerência de memória: um estudo de caso. In: Simpósio Brasileiro de Arquitetura de Computadores - Processamento de Alto Desempenho, 5, Florianópolis, 1993. Anais. Vol.1 , p.259-74.
POLYCHRONOPOULOS, C.D. Parallel programming and compilers. Kluwer Academic Publ., 1988.
POLYCRONOPOULOS, C. D. et al. The structure of Parafrase-2: an advanced parallelizing compiler for C and Fortran. In: GELERNTER, D. et al., eds. Languages and compilers for parallel computing. MIT Press, 1990. p.423-53.
ROGERS, A. M. Compiling for locality of reference. PhD Thesis, Cornel University, 1990.
SUN. SPARCstation 10 system architecture. Technical White Paper. Sun Microsystems, 1992.
TSENG, C-W. An optimizing Fortran D compiler for MIMD distributed-memory machines. PhD Thesis. Rice University. 1993
WOLF, M. E. & LAM, M. S. A data locality optimizing algorithm. In: SIGPLAN Conference on Programming Language Design and Implementation, 1991. Proceedings. p.30-44.
WOLFE, M. Optimizing supercompilers for supercomputers. MIT Press, 1989.
WOLFE, M. More iteration space tiling. Technical Report No. CS/E 89-003, Oregon Graduate Center, 1989.
ZIMA, H.; CHAPMAN, B. Supercompilers for parallel and vector computers. Addison-Wesley, 1991.