• 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