Detecção de Breakpoints em Programas MPI
Abstract
The process of debugging is vital to the development of efficient applications. In distributed environments there are few tools for parallel program debugging. In this work we present a tool that makes it possible to detect breakpoints in programs based ou MPI standard. The tool works by analyzing the users source code and adding or changing code as needed in order to perform the detection of the breakpoint the user is interested in. We present the implementation of four algorithms related to the following types of breakpoints: unconditional breakpoints, breakpoints based on disjunctives and conjunctive predicates. The resulting tool is tested by applying it to detect breakpoints in an application based on parallel genetic algorithms to solve the travelling purchaser problem.
References
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).
