Skip to main content
SHARE
Publication

Parallel Performance Modeling using a Genetic Programming-based Error Correction Procedure...

by Kavitha Raghavachar, Gnanamanika Mahinthakumar, Patrick H Worley, Emily Zechman, Ranji Ranjithan
Publication Type
Journal
Journal Name
SIMULATION: Transactions of The Society for Modeling and Simulation International
Publication Date
Page Numbers
515 to 527
Volume
83
Issue
7

Performance models of high performance computing (HPC) applications are important for several reasons. First, they provide insight to designers of HPC systems on the role of subsystems such as the processor or the network in determining application performance. Second, they allow HPC centers to more accurately target procurements to resource requirements. Third, they can be used to identify application performance bottlenecks and to provide insights about scalability issues. The suitability of a performance model, however, for a particular performance investigation is a function of both the accuracy and the cost of the model.

A semi-empirical model previously published by the authors for an astrophysics application was shown to be inaccurate when predicting communication cost for large numbers of processors. It is hypothesized that this deficiency is due to the inability of the model to adequately capture communication contention (threshold effects) as well as other unmodeled components such as noise and I/O contention. In this paper we present a new approach to capture these unknown features to improve the predictive capabilities of the model. This approach uses a systematic model error correction procedure that uses evolutionary algorithms to find an error correction term to augment the existing model. Four variations of this procedure were investigated and all were shown to produce improved results than the original model. Successful cross-platform application of this approach showed that it adequately captures machine dependent characteristics. This approach was then successfully demonstrated for a second application, further showing its versatility.