2007 · 39 citations · 25 references
ComputingComputer EngineeringComputer ScienceComputer ArchitectureMessage PassingParallel ComputingAlgorithm AnalysisData ParallelismParallel Performance AnalysisParallel Programming ModelsPerformance ModelingScalability AnalysisExecution Time AnalysisParallel ProgrammingScalabilityScalability BottlenecksScalability Cost AnalysisScalability ModelingStrong ScalingWeak Scaling
We present a new technique for identifying scalability bottlenecks in executions of single-program, multiple-data (SPMD) parallel programs, quantifying their impact on performance, and associating this information with the program source code. Our performance analysis strategy involves three steps. First, we collect call path profiles for two or more executions on different numbers of processors. Second, we use our expectations about how the performance of executions should differ, e.g., linear speedup for strong scaling or constant execution time for weak scaling, to automatically compute the scalability of costs incurred at each point in a program's execution. Third, with the aid of an interactive browser, an application developer can explore a program's performance in a top-down fashion, see the contexts in which poor scaling behavior arises, and understand exactly how much each scalability bottleneck dilates execution time. Our analysis technique is independent of the parallel programming model. We describe our experiences applying our technique to analyze parallel programs written in Co-array Fortran and Unified Parallel C, as well as message-passing programs based on MPI.
25
The Paradyn parallel performance measurement tool
Barton P. Miller, Mary Callaghan, Jon Cargille et al. · Computer · 1995 · 828 citations
Co-array Fortran for parallel programming
Robert W. Numrich, John Reid · ACM SIGPLAN Fortran Forum · 1998 · 671 citations