The maxim of the Performance Analysis Tools team is "Detail and Intelligence". With this aim, our group develops the following topics of the Performance Analytics area:
- Clustering, or cluster analysis, is applied to detect different trends in the application computation regions with minimum user intervention. This detection provides an unique insight of the application behaviour that serves as a starting point to perform different types of analyses around the applications' computation structure.
- On-line analysis targets to maximize the amount of useful information presented to the analyist, while keeping the trace size reasonably small. Clustering and time analysis techniques are applied to intelligently select the most relevant data as it is being collected.
- Tracking correlates performance information from different executions or time intervals. The most relevant code regions and their behavior are automatically identified and tracked across multiple experiments, enabling very diverse parametric and evolutionary studies.
- Folding combines both instrumentation and sampling for trace-based performance analysis tools. The folding mechanism takes advantage of long execution runs and low frequency sampling to finely detail the evolution of the user code without penalizing the application or distorting the performance results. The reports provided by the folding mechanism are extremely useful to understand the behavior of a region of code at a very low level.