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

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 more accurately to 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 adequately to 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 better 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.

[1]  P.H. Worley,et al.  Early Evaluation of the Cray X1 , 2003, ACM/IEEE SC 2003 Conference (SC'03).

[2]  William Gropp,et al.  Skjellum using mpi: portable parallel programming with the message-passing interface , 1994 .

[3]  Mark R. Fahey,et al.  GYRO: A 5-D Gyrokinetic-Maxwell Solver , 2004, Proceedings of the ACM/IEEE SC2004 Conference.

[4]  Emily Michelle Zechman,et al.  Improving Predictability of Simulation Models using Evolutionary Computation-Based Methods for Model Error Correction , 2005 .

[5]  Conor Ryan,et al.  Genetic Programming for Subjective Fitness Function Identification , 2004, EuroGP.

[6]  Sadaf R. Alam,et al.  A framework to develop symbolic performance models of parallel applications , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[7]  David H. Bailey,et al.  Performance Modeling: Understanding the Past and Predicting the Future , 2005, Euro-Par.

[8]  John R. Koza,et al.  Genetic Programming II , 1992 .

[9]  Mariacarla Calzarossa,et al.  A methodology towards automatic performance analysis of parallel applications , 2004, Parallel Comput..

[10]  Fabrizio Petrini,et al.  Predictive Performance and Scalability Modeling of a Large-Scale Application , 2001, ACM/IEEE SC 2001 Conference (SC'01).

[11]  Frank Mueller,et al.  Cross-Platform Performance Prediction of Parallel Applications Using Partial Execution , 2005, ACM/IEEE SC 2005 Conference (SC'05).

[12]  Frank Mueller,et al.  Predicting parallel applications' performance across platforms using partial execution , 2005 .

[13]  José E. Moreira,et al.  Demonstrating the scalability of a molecular dynamics application on a Petaflop computer , 2001, ICS '01.

[14]  Salim Hariri,et al.  Interpretive Performance Prediction for Parallel Application Development , 2000, J. Parallel Distributed Comput..

[15]  Jesús Labarta,et al.  A Framework for Performance Modeling and Prediction , 2002, ACM/IEEE SC 2002 Conference (SC'02).

[16]  Laura Carrington,et al.  A Framework for Application Performance Modeling and Prediction , 2002 .

[17]  Patrick H. Worley,et al.  Early Evaluation of the Cray X1 , 2003, SC.

[18]  G. Mahinthakumar,et al.  Performance analysis of GYRO: a tool evaluation , 2005 .

[19]  Jeffrey S. Vetter,et al.  An Empirical Performance Evaluation of Scalable Scientific Applications , 2002, ACM/IEEE SC 2002 Conference (SC'02).

[20]  Tomàs Margalef,et al.  Automatic Performance Analysis of Message Passing Applications Using the KappaPI 2 Tool , 2005, PVM/MPI.

[21]  F. Petrini,et al.  The Case of the Missing Supercomputer Performance: Achieving Optimal Performance on the 8,192 Processors of ASCI Q , 2003, ACM/IEEE SC 2003 Conference (SC'03).

[22]  Thomas Rauber,et al.  Automatic Tuning of PDGEMM Towards Optimal Performance , 2005, Euro-Par.

[23]  John R. Koza,et al.  Genetic programming II (videotape): the next generation , 1994 .