Evaluation of HPC applications’ Memory Resource Consumption via Active Measurement
Rights accessOpen Access
As the number of compute cores per chip continues to rise faster than the total amount of available memory, applications will become increasingly starved for memory storage capacity and bandwidth, making the problem of performance optimization even more critical. Also, understanding and optimizing the usage of an increasing number of hierarchical memory levels and complex cache management policies is becoming a very hard task. We propose a methodology for measuring and modeling the performance of hierarchical memories in terms of the application’s utilization of the key memory resources: capacity of a given memory level and bandwidth between two levels. This is done by actively interfering with the application’s use of these resources. The application’s sensitivity to reduced resource availability is measured by observing the effect of interference on application performance. The resulting resource-oriented model of performance both greatly simplifies application performance analysis and makes it possible to predict an application’s performance when running with various resource constraints. This is useful to predict performance for future memory-constrained architectures. This paper applies the proposed methodology to 6 important and well known High Performance Computing (HPC) codes to show the strength and the potential of analysis based on resource-oriented measurements.
CitationCasas, Marc; Bronevetsky, Greg. Evaluation of HPC applications’ Memory Resource Consumption via Active Measurement. "IEEE Transactions on Parallel & Distributed Systems", 2016, vol. 1.