Toward a Machine Assisted Software Performance Diagnosis Methodology
Anup Mathur, Marc Abrams · 1993
This paper discusses a methodology for diagnosing performance problems for parallel and distributed programs. The methodology is based on the formulation and testing of hypotheses about the cause of performance bottlenecks. The process is illustrated with a case study of an actual problem arising in a parallel discrete event simulation program in which granularity is a primary bottleneck and barrier implementation is a secondary bottleneck. The paper also describes the evolution of Chitra, a software performance measurement and analysis tool whose objective is to automate certain steps in software performance diagnosis. 2 1 Introduction Tools that reduce the human time required to diagnose performance problems in parallel and distributed systems are a key to the widespread use of massively parallel systems. Since massively parallel machines increasingly rely on features such as complex memory hierarchies and interconnection networks, the task of tuning the performance of software ru...