Managing the Energy-Delay Tradeoff in Mobile Applications with Tempus

Energy-efficiency is a critical concern in continuously-running mobile applications, such as those for health and context monitoring. An attractive approach to saving energy in such applications is to defer the execution of delay-tolerant operations until a time when they would consume less energy. However, introducing delays to save power may have a detrimental impact on the user experience. To address this problem, we present Tempus, a new approach to managing the trade-off between energy savings and delay. Tempus saves power by enabling programmers to annotate power-hungry operations with states that specify when the operation can be executed to save energy. The impact of power management on timeliness is managed by associating delay budgets with objects that contain time-sensitive data. A static analysis and the run-time service ensure that power management policies will not delay an object more than its assigned budget. We demonstrate the expressive power of Tempus through a case study of optimizing two real-world applications. Furthermore, laboratory experiments show that Tempus may effectively manage the energy-delay trade-off on realistic workloads. For example, in a news application, five Tempus annotations may be used to create a policy that reduces the latency of downloading images 10 times compared to the original implementation without affecting energy consumption. Our experiments also indicate that the overhead of tracking budgets in Tempus is small.

[1]  Michael Cohen,et al.  Energy types , 2012, OOPSLA '12.

[2]  Ramesh Govindan,et al.  Energy-delay tradeoffs in smartphone applications , 2010, MobiSys '10.

[3]  Laurie J. Hendren,et al.  Soot - a Java bytecode optimization framework , 1999, CASCON.

[4]  Dipankar Sarma,et al.  Energy-aware task and interrupt management in Linux , 2009 .

[5]  Laurie Hendren,et al.  Soot: a Java bytecode optimization framework , 2010, CASCON.

[6]  William G. Griswold,et al.  APE: an annotation language and middleware for energy-efficient mobile application development , 2014, ICSE.

[7]  Ranveer Chandra,et al.  Optimizing background email sync on smartphones , 2013, MobiSys '13.

[8]  Dan Grossman,et al.  EnerJ: approximate data types for safe and general low-power computation , 2011, PLDI '11.

[9]  Andrew T. Campbell,et al.  BeWell+: multi-dimensional wellbeing monitoring with community-guided user feedback and energy optimization , 2012, Wireless Health.

[10]  William G. Griswold,et al.  CitiSense: improving geospatial environmental assessment of air quality using a wireless personal exposure monitoring system , 2012, Wireless Health.

[11]  Jitendra Padhye,et al.  Procrastinator: pacing mobile apps' usage of the network , 2014, MobiSys.

[12]  Jacques Klein,et al.  FlowDroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps , 2014, PLDI.

[13]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.

[14]  David E. Culler,et al.  Versatile low power media access for wireless sensor networks , 2004, SenSys '04.

[15]  Michael Franz,et al.  Power reduction techniques for microprocessor systems , 2005, CSUR.