This work introduces a method for instrumenting applications, producing execution traces, and visualizing multiple trace instances to identify performance features. The approach provides information on the execution behavior of each process within a parallel application and allows differences across processes to be readily identified. Traces events are directly related to the source code and call-chain that produced them. This allows the identification of the causes of events to be easily obtained. The approach is particularly suited to aid in the understanding of the achieved performance from an application centric viewpoint. In particular, it can be used to assist in the formation of analytical performance models which can be a time-consuming task for large complex applications. The approach is one of human-effort reduction: focus the interest of the performance specialist on performance critical code regions rather than automating the performance model formulation process completel...
Daniel P. Spooner, Darren J. Kerbyson