Performance Debugging Based on Scalability Analysis,
CARNEGIE-MELLON UNIV PITTSBURGH PA SCHOOL OF COMPUTER SCIENCE
Pagination or Media Count:
This paper presents scalability as a basis for profiling and performance debugging of parallel programs, as only the purely scalable code runs efficiently in parallel. The approach is based on separating scalable and various kinds of non-scalable parts of a program, identifying the reasons for non-scalability, and focusing the programmers attention on why and where non-scalable execution is occurring. We specifically address parallel programs that are generated by a parallelizing compiler, and use compiler information to divide the execution times into logical categories that are meaningful to the programmer. We have designed and implemented a profiler that is integrated with a compiler for a variant of High Performance Fortran. The profiler classifies the execution cycles into ten categories that are easily understood by the user in terms of the source program. The paper includes two examples that demonstrate how the data reported by the profiler is used to identify and resolve performance bugs in parallel programs.
- Computer Programming and Software