Performance vs. Power and Energy Consumption: Impact of Coding Style and Compiler

Reaching a balance between performance and energy consumption has always been a difficult objective to achieve for energy and power-aware applications. The work presented in this paper investigates the impact of using different coding styles to achieve a balance between performance and energy efficiency. The research also studies how different compilers may affect not only the performance of the code but also the energy consumption. The research demonstrates and concludes the process of choosing the right combination of the coding style and compiler, the combination which works best with the nature of the application and the target hardware, is necessary if the balance between performance and energy is a software design goal. The study addresses some experimental aspects of the impact of coding style and choice of the compiler on energy and performance efficiency. It also shows how different coding practices for the same problem could produce different performance and energy consumption rates.

[1]  Evangelos P. Markatos,et al.  Using processor affinity in loop scheduling on shared-memory multiprocessors , 1992, Supercomputing '92.

[2]  Lizy K. John,et al.  Is Compiling for Performance — Compiling for Power? , 2001 .

[3]  Laurent Lefèvre,et al.  Demystifying energy consumption in Grids and Clouds , 2010, International Conference on Green Computing.

[4]  N.G. Santiago,et al.  Impact of source code optimizations on power consumption of embedded systems , 2008, 2008 Joint 6th International IEEE Northeast Workshop on Circuits and Systems and TAISA Conference.

[5]  Sangjin Lee,et al.  A recovery method of deleted record for SQLite database , 2011, Personal and Ubiquitous Computing.

[6]  Zhiqiang Wei,et al.  Research on SQLite Database Query Optimization Based on Improved PSO Algorithm , 2016 .

[7]  Anderson Faustino da Silva,et al.  Compiling for performance and power efficiency , 2013, 2013 23rd International Workshop on Power and Timing Modeling, Optimization and Simulation (PATMOS).

[8]  C. Mani Krishna,et al.  System-level power-aware computing in complex real-time and multimedia systems , 2003 .

[9]  Jenq Kuen Lee,et al.  Compiler optimization on instruction scheduling for low power , 2000, ISSS '00.

[10]  Simon J. Hollis,et al.  Identifying Compiler Options to Minimize Energy Consumption for Embedded Platforms , 2013, Comput. J..

[11]  Ajit Pal Low-Power Software Approaches , 2015 .

[12]  C. P. Ravikumar,et al.  Software power optimizations in an embedded system , 2001, VLSI Design 2001. Fourteenth International Conference on VLSI Design.

[13]  Rudolf Eigenmann,et al.  Fast and effective orchestration of compiler optimizations for automatic performance tuning , 2006, International Symposium on Code Generation and Optimization (CGO'06).

[14]  Luca Benini,et al.  Energy-efficient design of battery-powered embedded systems , 1999, Proceedings. 1999 International Symposium on Low Power Electronics and Design (Cat. No.99TH8477).

[15]  Jason Helge Anderson,et al.  The Effect of Compiler Optimizations on High-Level Synthesis for FPGAs , 2013, 2013 IEEE 21st Annual International Symposium on Field-Programmable Custom Computing Machines.

[16]  Keith D. Cooper,et al.  Understanding Energy Consumption on the C 62 x , .

[17]  Ranveer Chandra,et al.  Empowering developers to estimate app energy consumption , 2012, Mobicom '12.

[18]  Ahmed Shawky Moussa,et al.  Power Aware Computing Survey , 2014 .

[19]  Jörg Widmer,et al.  Survey on Energy Consumption Entities on the Smartphone Platform , 2011, 2011 IEEE 73rd Vehicular Technology Conference (VTC Spring).

[20]  Gernot Heiser,et al.  An Analysis of Power Consumption in a Smartphone , 2010, USENIX Annual Technical Conference.

[22]  Peter M. W. Knijnenburg,et al.  Automatic selection of compiler options using non-parametric inferential statistics , 2005, 14th International Conference on Parallel Architectures and Compilation Techniques (PACT'05).

[23]  Suresh Purini,et al.  Finding good optimization sequences covering program space , 2013, TACO.