Predicting parallel application performance via machine learning approaches: Research Articles

Consistently growing architectural complexity and machine scales make the creation of accurate performance models for large-scale applications increasingly challenging. Traditional analytic models are difficult and time consuming to construct, and are often unable to capture full system and application complexity. To address these challenges, we automatically build models based on execution samples. We use multilayer neural networks, because they can represent arbitrary functions and handle noisy inputs robustly. In this paper we focus on two well-known parallel applications whose variations in execution times are not well understood: SMG 2000, a semicoarsening multigrid solver, and HPL, an open-source implementation of LINPACK. We sparsely sample performance data on two radically different platforms across large, multidimensional parameter spaces and show that our models based on these data can predict performance within 2p to 7p of actual application runtimes. Copyright © 2007 John Wiley & Sons, Ltd.