Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages

Editor's Notes

  • #2 ill be presenting work of ours that has been published between two different papers on programming languages and their energy efficiency. one of which we have won the best paper award and one which will be presented next week
  • #3 Come to a better realization of what we have been doing to the environment
  • #5 Both personal and large scale IT Resort to extreme measures
  • #6 Patterns, habits, structures algorithms
  • #7 Aware of the energy consumption problem, many times seeking help in resolving this, misconceptions within the programming community as to what causes high energy consumption, how to solve them a heavy lack of support and knowledge for energy-aware development This not only motivates this specific work, but motivates the whole GSL project
  • #9 So for this we need to be able to first obtain comparable solutions
  • #11 In order to compare (both in terms of execution time and energy consumption) different languages, we need solutions/programs for the same problems expressed in each of those languages. Developing comparable programs written in different languages is both complex and time consuming.
  • #12 Ranging from hashtable updates, DNA sequence scans, binary tree traversals etc. Essentially the exact commands to run the programs as they were submitted to produce the most efficient solutions It isn’t novel to use CLBG, it has been used countless amount of times in other research for comparing languages (usually for performance)
  • #13 Threads 40% - 80%
  • #15 Around 1 week of benchmarking time
  • #18 Focus on java for this example
  • #19 Focus on java for this example
  • #20 Some of you may remember a previous presentation on the topic of green software, and how I showed and explained how optimizing for energy is not necessarily the same as optimizing for performance. The results in this study show countless scenarios where faster languages are more energy inefficient than others, and vice-versa. Here we see [….] Moreover by observing the ratio values, we see a substantial variation between the languages average W consumption. If they were constant = time problem. Thus with this variation we can have languages with similar energy consumption and drastically different execution time. For example Pascal is 10% more energy efficient than Chapel, yet Chapel is 55% faster.
  • #21 Fortran
  • #23 Top 5 keep their ranks. Not surprise as in 9 out of 10 were one of the top 3 shown (CC++Rust) which are known to be heavily optimized and efficient for performance. Thus large advantage in energy efficiency too Although the most energy efficient language in each benchmark is almost always the fastest one, the fact is that there is no language which is consistently better than the others. Many examples of faster languages being more energy inefficient and vice versa. OCAML HASKELL RACKET PYTHON Scriptings
  • #24 OCAML HASKELL RACKET PYTHON
  • #26 Looking at the visual data, we can quickly see that there does not seem to be a consistent correlation between the DRAM energy consumption and peak memory usage
  • #27 Looking at the visual data, we can quickly see that there does not seem to be a consistent correlation between the DRAM energy consumption and peak memory usage
  • #28 To verify this, we tested the statistical relationship and correlation between the DRAM energy consumption and peak memory usage to understand how they relate. As our data is not normally distributed (Shapiro-Wilk) The result: rho value Surprised:
  • #29 Energy harvesting device Wearable device we use a multi-objective optimization algorithm to sort these languages, known as Pareto optimization
  • #30 Energy harvesting device Wearable device we use a multi-objective optimization algorithm to sort these languages, known as Pareto optimization