Friday, December 22, 2017

Energy Efficiency: A New Concern for Application Software Developers

Gustavo Pinto and Fernando Castor (via Jeremy W. Sherman):

One of the main challenges of software energy consumption research is to bring analysis to the static level. Currently, software energy consumption instrumentation can only be conducted at runtime. This approach has several limitations; such as sophisticated (and expensive) hardware equipment or applicability only to specific hardware configurations. This fact has the potential of limiting the usability of software energy consumption tools.


Pinto et al. observed that just updating from Hashtable to Concurrent HashMap in a Java program can yield a 3.5x energy savings. In particular, this transformation yields a 1.4x and a 9.2x energy savings in CPU and DRAM, respectively. As another example, Pathak et al. observed that I/O operations consume more energy partly because of the tail energy phenomenon. According to the authors, bundling I/O operations together can mitigate this tail energy leak. These results have a clear implication: Tools to aid developers in quickly refactoring programs can be useful if energy is important.


Li et al. discussed how to improve energy efficiency by favoring darker colors instead of lighter ones for smartphones with OLED displays. Using a search-based multi-objective approach, Linares-Vasquez et al. automatically optimized energy consumption and contrast, while using consistent colors with respect to the original color palette. Oliveira Jr. et al. analyzed the energy consumption of Android app development approaches, Java, JavaScript, and Java + C++, in both benchmarks and real apps. In both scenarios it was observed that different approaches have different impacts on energy. In particular, combining different approaches can yield more than an order of magnitude energy savings in compute-intensive apps.


Pathak et al. focus on understanding and monitoring system calls that are related to I/O operations. As a results, they found that most of the energy consumed in free apps is related to third-party advertisement modules (which can be responsible for up to 75% of the overall energy consumed by an app).

1 Comment RSS · Twitter

I bet if you count Facebook as advertising that 80% of most mobile device power draw comes from advertising. I have to imagine that all those slow loads of web pages on iOS Safari are tied to huge Javascript libraries tied to advertising in some way. I wish they'd get rid of them all.

Leave a Comment