DocumentCode :
114145
Title :
Program energy efficiency: The impact of language, compiler and implementation choices
Author :
Abdulsalam, Sarah ; Lakomski, Donna ; Qijun Gu ; Tongdan Jin ; Ziliang Zong
Author_Institution :
Comput. Sci. Dept., Texas State Univ., San Marcos, TX, USA
fYear :
2014
fDate :
3-5 Nov. 2014
Firstpage :
1
Lastpage :
6
Abstract :
Today reducing the energy usage of computing systems becomes a paramount task, no matter they are lightweight mobile devices, complex cloud computing platforms or large-scale supercomputers. Many existing studies in green computing focus on making the hardware more energy efficient. This is understandable because software running on low-power hardware will automatically consume less energy. Little work has been done to explore how software developers can play a more proactive role in saving energy by writing greener code. In fact, very few programmers consider energy-efficiency when writing code and even fewer know how to evaluate and improve the energy-efficiency of their code. In this paper, we quantitatively study the impact of languages (C/C++/Java/Python), compiler optimization (GNU C/C++ compiler with O1, O2, and O3 flags) and implementation choices (e.g. using malloc instead of new to create dynamic arrays and using vector vs. array for Quicksort) on the energy-efficiency of three well-known programs: Fast Fourier Transform, Linked List Insertion/Deletion and Quicksort. Our experiments show that by carefully selecting an appropriate language, optimization flag and data structure, significant energy can be conserved for solving the same problem with identical input size.
Keywords :
data structures; fast Fourier transforms; green computing; power aware computing; program compilers; programming languages; sorting; Quicksort; code energy-efficiency; compiler choices; compiler optimization; complex cloud computing platforms; computing system energy usage reduction; data structure; dynamic arrays; fast Fourier transform; green computing; greener code writing; implementation choices; language choices; large-scale supercomputers; light-weight mobile devices; linked list insertion-deletion; optimization flag; program energy efficiency; software developers; Arrays; Java; Libraries; Optimization; Resource management; Software; Vectors; energy-efficient programming; green computing; software optimization;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Green Computing Conference (IGCC), 2014 International
Conference_Location :
Dallas, TX
Type :
conf
DOI :
10.1109/IGCC.2014.7039169
Filename :
7039169
Link To Document :
بازگشت