Article ID Journal Published Year Pages File Type
493792 Sustainable Computing: Informatics and Systems 2015 13 Pages PDF
Abstract

•This work concerns on how to implement mobile apps using an energy aware approach.•We used two energy saving techniques: Method Reallocation and Method Offloading.•We measured the amount of energy required to complete each job, in a case study that executes local Java and C routines in different scopes.•We identified when it is convenient to reallocate or to offload the processing job.

As devices like smartphones and tablets have been adopted by millions of users, the offer of mobile software products and services has as well evolved significantly. Current mobile software products require hardware resources, computer job and network connectivity that is reflected in increasing power needs. This power demand represents a major challenge to the strong autonomy requirement of mobile devices, powered by batteries. As a consequence, one of the most important qualities of mobile software development is the ability to produce applications that consume energy resources wisely. To accomplish this goal, different approaches have been proposed, including energy-aware software design and implementation techniques. The energy aware software design techniques considered in this work are two: Method Reallocation, which refers to the placement of pieces of code in different execution scopes within a single target (e.g., kernel space, application space, shared library space), and Method Offloading, which refers to the placement of pieces of code in external resources in different scopes (for instance a remote server). Both techniques aim to economize resources like processing power, and memory usage, but always upon the expenses carried by interfacing, communication and network overhead. Our goal is to investigate how each one can contribute to reduce the overall energy consumption of a mobile software application. As an experiment, we utilized a mobile application that runs software benchmarks coded in Java and C. We exercised the benchmarks in different execution scopes within the handheld target and a remote server counterpart, measuring the amount of energy required to complete each job. After determining the energy consumed by each routine for each execution scope, we identified in what cases it is convenient to reallocate the processing job, and when it is advisable to offload it to an external execution environment.

Related Topics
Physical Sciences and Engineering Computer Science Computer Science (General)
Authors
, , , ,