Tools for Analyzing the Behavior and Performance of Parallel Applications

01 January 2012

New Image

Designing efficient scalable parallel applications is hard. As a result, proper tools for analyzing the behavior and performance of parallel applications are valuable assets for the application developer during the entire development cycle. To assist the application developer or researcher in analyzing the behavior of a parallel application, we have developed two analysis tools, called MICA-MT and Perfex-MT. MICA-MT is a program behavior analysis tool that captures and visualizes micro-architectural independent program execution characteristics of multithreaded applications. Perfex-MT is a performance analysis tool that captures a programmable set of performance statistics for each thread using hardware performance counters, both interval-based as well as full execution-based. Both tools are fully automated and provide many detailed statistics concerning the performance and behavior of a multi-threaded shared memory application. By linking all results back to the original source code, bottlenecks can easily be tracked and eliminated during application development. The strength of the two tools lies in combining the results from both tools, providing a complete picture of the characteristics and potential bottlenecks of the application.