Energy Prediction of OpenMP Applications Using Random Forest Modeling Approach

OpenMP, with its extended parallelism features and support for radically changing HPC architectures, spurred to a surge in developing parallel applications among the HPC application developers community, leading to severe energy consumption issues. Consequently, a notion of addressing the energy consumption issue of HPC applications in an automated fashion increased among compiler developers although the underlying optimization search space could increase tremendously. This paper proposes a Random Forest Modeling (RFM) approach for predicting the energy consumption of OpenMP applications in compilers. The approach was tested using OpenMP applications, such as, NAS benchmarks, matrix multiplication, n-body simulations, and stencil applications while tuning the applications based on energy, problem size, and other performance concerns. The proposed RFM approach predicted the energy consumption of code variants with less than 0.699 Mean Square Error (MSE) and 0.998 R2 value when the testing dataset had energy variations between 0.024 joules and 150.23 joules. In addition, the influences of energy variations, number of independent variables used, and the proportion of testing dataset used during the RFM modeling process are discussed.

[1]  Hermann Härtig,et al.  Measuring energy consumption for short code paths using RAPL , 2012, PERV.

[2]  Martin Schulz,et al.  A regression-based approach to scalability prediction , 2008, ICS '08.

[3]  Michael F. P. O'Boyle,et al.  Fast compiler optimisation evaluation using code-feature based performance prediction , 2007, CF '07.

[4]  Ian Foster,et al.  Predicting application run times with historical information , 2004, J. Parallel Distributed Comput..

[5]  Shajulin Benedict,et al.  Application of energy reduction techniques using niched pareto GA of energy analzyer for HPC applications , 2014, 2014 Seventh International Conference on Contemporary Computing (IC3).

[6]  Mor Harchol-Balter,et al.  Optimal power allocation in server farms , 2009, SIGMETRICS '09.

[7]  Kwang-Hoon Kim,et al.  Performance Analytic Models and Analyses for Workflow Architectures , 2001, Inf. Syst. Frontiers.

[8]  Pavan Balaji,et al.  Energy-aware hierarchical scheduling of applications in large scale data centers , 2011, 2011 International Conference on Cloud and Service Computing.

[9]  Enrique S. Quintana-Ortí,et al.  Saving Energy in the LU Factorization with Partial Pivoting on Multi-core Processors , 2012, 2012 20th Euromicro International Conference on Parallel, Distributed and Network-based Processing.

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

[11]  Qiang Xu,et al.  Performance prediction with skeletons , 2008, Cluster Computing.

[12]  Stephen A. Jarvis,et al.  Performance prediction technology for agent-based resource management in grid environments , 2002, Proceedings 16th International Parallel and Distributed Processing Symposium.

[13]  Marco Aurélio Amaral Henriques,et al.  Contention-sensitive static performance prediction for parallel distributed applications , 2006, Perform. Evaluation.

[14]  Barbara Chapman,et al.  Using OpenMP - portable shared memory parallel programming , 2007, Scientific and engineering computation.

[15]  David Atienza,et al.  Free cooling-aware dynamic power management for green datacenters , 2012, 2012 International Conference on High Performance Computing & Simulation (HPCS).

[16]  Barbara Chapman,et al.  Using OpenMP: Portable Shared Memory Parallel Programming (Scientific and Engineering Computation) , 2007 .

[17]  Stephen A. Jarvis,et al.  An Investigation into the Application of Different Performance Prediction Methods to Distributed Enterprise Applications , 2005, The Journal of Supercomputing.

[18]  Guangwen Yang,et al.  An analytical model for performance evaluation in a computational grid , 2007, China HPC.

[19]  MengChu Zhou,et al.  Performance modeling and analysis of workflow , 2004, IEEE Transactions on Systems, Man, and Cybernetics - Part A: Systems and Humans.

[20]  Xingfu Wu,et al.  Using kernel couplings to predict parallel application performance , 2002, Proceedings 11th IEEE International Symposium on High Performance Distributed Computing.

[21]  Rafael Mayo,et al.  Analysis of Strategies to Save Energy for Message-Passing Dense Linear Algebra Kernels , 2012, 2012 20th Euromicro International Conference on Parallel, Distributed and Network-based Processing.

[22]  Thomas Fahringer,et al.  Multi-Objective Auto-Tuning with Insieme: Optimization and Trade-Off Analysis for Time, Energy and Resource Usage , 2014, Euro-Par.

[23]  Xiaofeng Gao,et al.  A Performance Prediction Framework for Scientific Applications , 2003, International Conference on Computational Science.

[24]  Giovanni Giuliani,et al.  A methodology to predict the power consumption of servers in data centres , 2011, e-Energy.

[25]  Yuichi Inadomi,et al.  Performance prediction of large-scale parallell system and application using macro-level simulation , 2008, 2008 SC - International Conference for High Performance Computing, Networking, Storage and Analysis.

[26]  Jürgen Brehm,et al.  Performance prediction for complex parallel applications , 1997, Proceedings 11th International Parallel Processing Symposium.

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

[28]  Hui Li,et al.  Predicting job start times on clusters , 2004, IEEE International Symposium on Cluster Computing and the Grid, 2004. CCGrid 2004..