Community Research and Development Information Service - CORDIS

Optimizing the performance of parallel code

ArrayTracer is a high level, low overhead Parallel Performance Analysis (PPA) tool, which is easy-to-use and allows the level of trace detail (granularity) to be tuned. It is designed specifically for development and performance analysis of large parallel applications, on workstation networks and distributed parallel machines with shared-memory. By tracing data and code flow it provides information for the optimization of application code for the target system and results from the trace can be used as input into algorithms.

ArrayTracer provides programmers with many flexible trace options, including tracing of specific data during specified computation phases; tracing at elementary data object level; code tracing at higher levels; and flow control tracing with adjustable granularity. Whenever possible, ArrayTracer uses computation of events rather than tracing: this reduces the performance overhead during application execution, introduced by the tracing process itself, and distortions due to the tracing operation. Traces are produced at application run-time by trace commands inserted into the application's source code. This approach rare for PPA tools, eliminates the need for correlating trace data and mapping of correlation results into the corresponding application level events. It also minimizes program distortion compared with trace techniques which rely on trace data from a separate system monitor. These are also more time consuming, as they interrupt application execution to extract trace information from memory, and may have impacts on the control/data flow.

Reported by

Institute of Computer Science
Science and Technology Park Heraklion
71110 Crete
Follow us on: RSS Facebook Twitter YouTube Managed by the EU Publications Office Top