The ever growing complexity of applications and the parallel systems we see today will only grow in the years to come. We are facing a real need for performance tools to go beyond the dominant practice of reporting simple statistics linked to the source code syntactic structure to environments that focus on identifying the behavioral structure of applications and the space/time characterization of such behavior. Given the rate of data generation by monitoring probes and the scale of the systems to target, the objective of getting insigth on the behavior of very large scale parallel programs is a really big data problem where analytics techniques will play a very important role.
We will present the performance analytics techniques being developed with a such vision at BSC. We will show examples of how these techniques can be used: to identify the fine grain structure of applications; to obtain a complete hardware counter characterization of the identified fine grain regions; to report instantaneous performances (eg: instantaneous MFLOP rate) or to model the application behavior and predict how will it evolve when scaling to much larger core counts.
We consider all of these techniques will prove extremely useful not only for application developers to guide their refactoring efforts in the most productive direction, but also for vendors to drive their designs based on precise characterization of applications.