An Experimental Survey of Energy Management Across the Stack
Citation: Melanie Kambadur, Martha A. Kim An Experimental Survey of Energy Management Across the Stack.
Previous research on power, runtime, and energy saving measures have not been comparable to each other. Authors attempt to rectify this by testing many measures individually and together:
"To restore a broad context for software energy research, this work measures the relative power, performance, and energy effects of a range of energy management strategies. While most of the strategies we study have been previously evaluated in some context, this is the first time that all of the results can be compared, because our experiments have standardized the architecture, OS, measurement tools, and benchmarks. We examine each technique in isolation as well as in combination with other techniques at different parts of the system. Examining 220 experimental configurations of 41 applications totaling more than 200,000 trial runs, we juxtapose the energy impacts of frequency scaling, sleep states, parallelism, compiler optimizations, application-specific power caps, and source-level optimizations."
- There is only so much room to save power in software
- Linux does not provide energy-efficient frequency tuning algorithms
- Overclocking has little to no effect on energy
- Parallelization can save so much energy relative to other strategies that energy-conscious software developers must embrace it
- Good compilation beats most other energy management techniques
- Java programs require special energy attention, but they don’t make it easy
- Power-oriented source code optimizations are probably not worth the average programmer’s time
- Idle states are very complementary to other techniques
- Non-complementary conservation strategies can undercut one another by half