Detecção de Breakpoints em Programas MPI
Resumo
O processo ele depuração de programas é vital para o desenvolvimento de aplicações eficientes. São poucas as ferramentas existentes para depuração de programas paralelos distribuídos. Neste trabalho apresentamos uma ferramenta que permite a detecção de breakpoints em programas baseados no padrão MPI. A ferramenta consiste essencialmente em analisar o programa fonte desenvolvido pelo usuário, acrescentando e substituindo código necessário para a posterior execução do mesmo, visando identificar a ocorrência do breakpoint que se tem interesse verificar. São implementados algoritmos para os seguintes tipos de breakpoints: incondicionais, baseados em predicados conjuntivos e disjuntivos. A ferramenta é avaliada através de sua utilização na detecção de breakpoints em uma aplicação paralela baseada em algoritmos genéticos para solução do Travelling Purchaser Problem.
Referências
Drummond, L. M. A., and Barbosa, V. C. Distributed breakpoint detection in message-passing programs. Journal of Parallel and Distributed Computing 39 (1996), 153-167.
Dijkstra, E. W., Scholten, C. S. Termination detection for distributed computation. Inform. Processing Letter 11 (1980), 1-4.
Francez, N. Distributed termination. ACM Trans. on Programming Language and Systems 2 (1980), 42-55.
LeBlanc, T., Mellor-Crummey, J. M. Debugging parallel programs with instant replay. EEE Trans. Comput. 36 (1985), 471-482.
McDowell, C. , and Helmbold, D. Debugging concurrent programs. ACM Computing Surveys 21 (1989), 593-622.
Snir, M., Otto, S. W., Huss, S., Walker, D., Dongarra, J. MPI The Complete Reference, THE MIT PRESS (1996).
Ochi, L. S, Drummond, L. M. A., Figueiredo, R. M. V., Design and implementation of a parallel genetic algorithm for the travelling purchaser problem, ACM Symposium on Applied Computing (1997), 215-221.
Pinheiro, M. L. N. Detecção de predicados globais em programas MPI, Tese de Mestrado, Universidade Federal Fluminense (1997).
Shing-Tsaan, H. Termination detection by using distributed snapshots, Inform. Processing Letters 32 (1980).