ArrayTracer: A Parallel Performance Analysis Tool
Titos Saridakis, Christos N. Nikolaou, Maria Karavassili · 2005
ArrayTracer is a high-level, low-overhead performance analysis tool for parallel applications. It provides selective tracing facilities at a user-defined grain. The tracing technique used is program instrumentation. Instrumentation code is inserted at source code level during a source-to-source translation. The tool allows tracing of an application's high-level concepts (e.g. program variables, subroutine calls, interprocess communication events, etc.) rather than tracing of low-level events (e.g. memory location accesses, disk accesses, network accesses, etc.). ArrayTracer is heavily based on compiletime information and attempts to off-load the execution time tracing overhead by extracting as much information as possible during the static analysis of an application's source code. The tool's operations are divided into five stages: user interaction to determine trace parameters, instrumentation of source code during the compilation phase, collection of traces, processing of tr...