PREDICTING PARALLEL APPLICATION PERFORMANCE VIA MACHINE LEARNING APPROACHES
Consistently growing architectural complexity and machine scales make creating 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, since they can represent arbitrary functions and handle noisy inputs robustly. In this thesis, we focus on two well known parallel applications whose variations in execution times are not well understood: SMG2000, a semicoarsening multigrid solver, and HPL, an open source implementation of LINPACK. We sparsely sample performance data on two radically different platforms across large, multi-dimensional parameter spaces and show that our models based on this data can predict performance within 2% to 7% of actual application runtimes.
high-performance computing; performance modeling; artificial neural networks
dissertation or thesis