The document discusses green computing and software optimization to reduce energy consumption. It notes that up to 50% of an organization's energy costs can be attributed to IT departments, and up to 90% of ICT hardware energy is due to software. The author describes analyzing and improving software energy efficiency through techniques like SPELL, which uses spectrum-based fault localization to identify probable energy hot spots in source code. Initial studies found SPELL helped developers reduce energy consumption by 26% on average while spending 43% less time optimizing. The author concludes by describing the Green Software Lab collaboration between several universities.
4. Green Computing
4
Caught the attention of many companies allowing them to save:
“close to 50% of the energy costs of an organization can be attributed to
the IT departments”
- [PICMET, 2009]
“up to 90% of energy used by ICT hardware can be attributed to software”
- [The Greenhouse Gas Protocol Report, 2013]
5. Green Software
Reducing energy consumption through software analysis and optimization
Problem:
How to analyze
How to interpret
How to improve
5
6. Green Software
Problems (extended to programmers):
How to analyze
How to interpret
How to improve
6
Mining questions about software energy consumption
- [MSR’14]
Integrated energy-directed test suite optimization
- [ISTA’14]
Seeds: A software engineer’s energy-optimization decision
support framework - [ICSE’14]
7. Energy vs. Power
7
Power (w) – rate (or effort) at which that work is done
Energy (J) – amount of work done
Power can change constantly while Energy is the accumulation
Energy = Power x Seconds
Power
Energy
100W360,000 J = x 3,600s
8. Is faster greener?
8
Understanding energy behaviors of thread management constructs
- [OOPSLA’14]
Energy-aware software: Challenges, opportunities and strategies
- [Journal of Computational Science’13]
Haskell in green land: Analyzing the energy behavior of a purely
functional language - [SANER’16]
An experimental survey of energy management across the stack
- [OOPSLA’14]
Power and energy implications of the number of threads used
- [PPMG’15]
Using the greenup, powerup, and speedup metrics to evaluate
software energy efficiency - [IGSC’15]
slower
Is faster greener?
20. Spectrum-based Fault Localization (SFL)
20
Error vector
Oracle
Low
High
Energy
Energy
Energy
Energy
Problem: Energy cannot be defined as binary values
22. SPELL – initial studies
22
Developers found the information to be very useful
Spent on average 43% less time
Produced more energy efficient programs (26% less energy on average)
SPELL is:
Language independent
Multi level analysis
Multi hardware component analysis
Points to probable hot spots in source code
23. SPELL – initial studies
23
Developers found the information to be very useful
Spent on average 43% less time
Produced more energy efficient programs (26% less energy on average)
SPELL is:
Language independent
Multi level analysis
Multi hardware component analysis
Points to probable hot spots in source code
24. Green Software Lab
24
3 Year FCT project
University of California @ Irvine
University of Kosice
Ericson @ Budapest
26. Green Computing as an Engineering
Discipline
Rui Pereira
Talk @ InfoBlender
ruipereira@di.uminho.pt
29/03/2017 greenlab.di.uminho.pt
Notes de l'éditeur
Patterns, habits, structures algorithms
Aware of the energy consumption problem,
many times seeking help in resolving this,
misconceptions
within the programming community as to what causes highenergy
consumption, how to solve them
a heavy lack of support and knowledge for energy-aware development
Most comment perception to the EC problem = performance issue (reduction in time = reduction in energy)
I would suggest this as a good starting point if someone were to ask me how to optimize, as do others.
But the opposite has been also observed, where an increase in time brought about a decrease in energy.