2012 IEEE International Symposium on Workload Characterization (IISWC) (2012)
La Jolla, CA, USA USA
Nov. 4, 2012 to Nov. 6, 2012
Mark Roth , Simon Fraser University, Burnaby, British Columbia, USA
Micah J Best , University of British Columbia, Vancouver, USA
Craig Mustard , Simon Fraser University, Burnaby, British Columbia, USA
Alexandra Fedorova , Simon Fraser University, Burnaby, British Columbia, USA
Performance problems in parallel programs manifest as lack of scalability. These scalability issues are often very difficult to debug. They can stem from synchronization overhead, poor thread scheduling decisions, or contention for hardware resources, such as shared caches. Traditional profiling tools attribute program cycles to different functions, but do not generate immediate insight into issues limiting scalability. Profiling information is very program-specific and is usually processed manually by a human expert in a time-consuming and cumbersome process. Our experience in tuning performance of parallel applications led us to discover that performance tuning can be considerably simplified, and even to some degree automated, if profiling measurements are organized according to several intuitive performance factors common to most parallel programs. In this work we present these factors and propose a hierarchical framework composing them. We present three case studies where analyzing profiling data according to the proposed principle led us to improve performance of three parallel programs by a factor of 6–20×. Our work lays foundation for new ways of organizing and visualizing profiling data in performance tuning tools.
M. Roth, M. J. Best, C. Mustard and A. Fedorova, "Deconstructing the overhead in parallel applications," 2012 IEEE International Symposium on Workload Characterization (IISWC), La Jolla, CA, USA USA, 2012, pp. 59-68.