2017 IEEE International Conference on Cluster Computing (CLUSTER) (2017)
Honolulu, Hawaii, United States
Sept. 5, 2017 to Sept. 8, 2017
The performance model of an application can provide understanding about its runtime behavior on particular hardware. Such information can be analyzed by developers for performance tuning. However, model building and analyzing is frequently ignored during software development until performance problems arise because they require significant expertise and can involve many time-consuming application runs. In this paper, we propose a fast, accurate, flexible and user-friendly tool, Mira, for generating performance models by applying static program analysis, targeting scientific applications running on supercomputers. We parse both the source code and binary to estimate performance attributes with better accuracy than considering just source or just binary code. Because our analysis is static, the target program does not need to be executed on the target architecture, which enables users to perform analysis on available machines instead of conducting expensive experiments on potentially expensive resources. Moreover, statically generated models enable performance prediction on nonexistent or unavailable architectures. In addition to flexibility, because model generation time is significantly reduced compared to dynamic analysis approaches, our method is suitable for rapid application performance analysis and improvement. We present empirical validation results to demonstrate the current capabilities of our approach on small benchmarks and a mini application.
Tools, Analytical models, Measurement, Performance analysis, Hardware, Optimization, Computer architecture
K. Meng and B. Norris, "Mira: A Framework for Static Performance Analysis," 2017 IEEE International Conference on Cluster Computing (CLUSTER), Honolulu, Hawaii, United States, 2017, pp. 103-113.