HieraAnalyses - Uma ferramenta para análise hierárquica de programas paralelos
Resumo
Informações detalhadas para a análise de desempenho de programas paralelos podem ser coletadas através de arquivos de trace. Geralmente, esses arquivos de trace contêm um registro de eventos individuais que ocorrem durante a execução do programa. Considerando que os eventos são geralmente de baixo nível, como operações de comunicação em um sistema paralelo, e que é cada vez mais comum para o programador de aplicações usar abstrações de alto nível (por exemplo, uma rotina paralela de autovalores), existe uma diferença semântica entre a informação coletada e os conceitos usados para o desenvolvimento da aplicação, impedindo o uso eficiente dessa informação. Neste trabalho, é proposta uma nova abordagem para arquivos de trace, onde os arquivos contêm informações sobre os diferentes níveis hierárquicos de uma aplicação. Os arquivos seguem o formato XML, onde as rotinas são tags XML, com rotinas auxiliares chamadas durante sua execução de tags filhos. A abordagem é demonstrada pela sua implementação para o nível da bilbioteca MPI e para o nível do OOPS, sendo este último um framework orientado a objetos com abstrações de alto nível para o desenvolvimento de programas paralelos que usam a biblioteca MPI para sua implementação. Para complementar este trabalho, ferramentas de análise usando o formato de arquivo são apresentadas.
Referências
PVM - Parallel Virtual Machine. hup://www.nctlib.org/pvm3.
W3C: World Wide Web Consortium. http://www.w3c.org.
R. A. Aydt. An Informal Guide to Using Pablo. Department of Computer Science-University of Illinois, May 12 1992.
Barton P. Miller. Paradyn Parallel Perfonnance Toots-VisiLib Programmer's Guide, release 4.2 edition, March 2005.
L. S. Blackford, 1. 1. Dongarra, and R. C. Whaley. ScaLA-PACK Users' Guide. Siam-Society for Industrial and Applied Mathematics, May 1997. ISBN 0-89871-397-8.
S. Browne, 1. Dongarra, and K. London. Review of Performance Analysis Tools for MPI Parallel Programs. NHSE Review, 3(1), 1998.
A. Chan, W. Gropp, and E. Lusk. User's Guide for MPE Extensions for MPI Programs. Technical report, Argone National Laboratory - University of Chicago, 1998.
C. Fineman, M. F. P. Hontalas, M. Hribar, and H. 1in. The Automated Instrumentation and Monitoring System. NASA Ames Research Center, version 3.7 edition, January 1997. http://www.nas.nasa.gov/Groups/Tools/Projects/AIMS/manual/ (visitada Maio/2008).
S. L. Graham, P. B. Kessler, and M. K. McKusick. gprof: A Call Graph Execution Profiler. In SIGPLAN Symposium on Compiler Construction, pages 120-126, June 1982.
J. K. Hollingsworth, R. B. Irvin, and B. P. Miller. The Integration of Application and System Based Metrics in a Parallel Program Performance Tool. In Proceedings ofthe 3rd ACM SIGPLAN Symposium on Principies & Practice of Parallel Programming, volume 26, pages 189-200, Williamsburg, VA, April 1991.
J. Labarta, J. Gimenez, 1. Caubet, and F. Escale. PARA VER: Parallel Program Visualization and Analysis Tool. European Center for Parallelism of Barcelona, October 2001. Version 3.1.
Message Passing Interface Forum. MPI: A Message-Passing Interface Standard, 1une 12 1995.
B. P. Miller, M. Clark, 1. K. Hollingsworth, S. Kierstead, S. S. Lim, and T. Torzewski. IPS-2: The Second Generation of a Parallel Program Measurement System. IEEE Transactions on Parallel and Distributed Systems, 1(2):206-217, February 1990.
S. Moore, O. Cronk, K. London, and J. Dongarra. Review of Performance Analysis Tools fo MPI Parallel Programs. In 8th European PVM/MPI Users' Group Meeting, pages 241-248, 2001.
B. P. Miller. Paradyn Parallel Performance Tools. http://www.paradyn.org.
S. Plimpton. Fast Parallel Algorithms for Short-range Molecular Dynamics. Journal of Computational Physics, 117(1):1-19, March 1995.
D. A. Reed, R. A. Aydt, R. J. Noe, P. C. Roth, K. A. Shields, B. W. Schwartz, and L. F. Tavera. Scalable Performance Analysis: The Pablo Performance Analysis Environment. In Proceedings of lhe Scalable Parallel Libraries Conference, pages 104-113. IEEE Computer Society, 1993.
F. A. Rodrigues and G. Travieso. Técnicas de Orientação ao Objeto para Computação Científica Paralela. Master's thesis, Instituto de Física de São Carlos - Universidade de São Paulo, April 2004.
E. Sonoda and G. Travieso. The OOPS Framework: High Level Abstractions for the Development of Parallel Scientific Applications. In OOPSLA'06: Companion to the 21st ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications, pages 659-660, New York, NY, USA, 2006. ACM Press.
J. C. Yan. Performance Tuning with AIMS-An Automated Instrumentation and Monitoring System for Multicomputers. In Proceedings ofthe 27th Hawaii Intemational Conference on System Sciences, volume II, pages 625-633, January 1994.