Who should Consume more power

Analysis of the effects of computaional offloading on energy efficiency.
Shreya Bhushan
Electrical and Computer Engineering,
Carnegie Mellon University,
Pittsburgh, PA, United States.
Email: sbhushan@andrew.cmu.edu
Wahajuddin Syed
Electrical and Computer Engineering,
Carnegie Mellon University,
Pittsburgh, PA, United States.
Email: wsyed@andrew.cmu.edu


Abstract— The number of cellphones and mobile devices are
increasing exponentially and there is a subsequent growth in
their computational power. With the power ceiling limitations,
there is an increasing demand for their energy efficiency. Mobile
devices have become very efficient in handling multiprocessing
applications on multi cores and effectively communicating with
the networks, but the amount of energy the device requires for
the execution of these applications poses challenge to the
marketability of these mobile devices. The solution to this is
computational offloading to the remote servers thus saving the
energy consumption for the mobile device. But the effect that
computational offloading of the process on the servers also poses
a few challenges, like increased workloads on the server’s side
and redundant data transfers and bandwidth usage over the
network. This project intends to provide a comparative analysis
of the power consumptions by each side. As the number of
parameters involved both on the server and the smartphone sides
are plenty, the analysis of the interaction of a particular
application with the server and its performance efficiency will be
calculated. Also the possible optimal extent of computational
offloading will be studied including the various advantages and
disadvantages of the process.
Keywords: Computational Offloading, mobile cloud computing,
survey, energy efficiency, performance, mobile computing
I. INTRODUCTION
Mobile devices have become a very essential part of the
human life as a communication tool and with increased
computational efficiencies it serves the pocket computer job.
Mobile users have varied experiences of highly sophisticated
services of mobile applications provided by these devices.
These services involve processes that need to run on mobile
devices as well as remote servers via the communication
networks. As the number of computations increase on the
mobile device, there is a proportional drain on the devices’
energy.

Thus, the resources required to perform these services are
very limited in case of mobile devices and thus poses problems
to perform tasks, which were considered as the desktops
computers territory a few years ago. The biggest challenge
faced by the mobile manufacturing industries is to maximize
the end user performance on the device and be able to work-
around these bandwidth and battery power related challenges.
There is a great gap between the computational abilities
possible by these devices and resources available to do the
same.

II. OVERVIEW
In order to save the power consumed by these rich
computational applications, a concept called computational
offloading is used. The basic idea behind computational
offloading is moving the heavy computations of a particular
application onto the server side and saving the power
consumption of the mobile devices. In this manner the resource
rich servers are the devices that take up most of the load to
perform computations and then pass on the results to the
mobile devices to provide an experience to the users with the
illusion of the resource availability of the servers.


Fig 1. From paper “Mobile cloud computation: a survey”
Similar terms used for computational offloading are “cyber
foraging” and “surrogate computing”.
This also brings in focus the concept of “mobile cloud
computing” which has its unique advantages considering the
potential of cloud computing and the various applications the
mobile device can support. Thus it becomes a win-win
situation to implement both. But alongside the advantages,
there are a few possible applications why it is required[4]:
• Image processing in mobile devices
The maximum usage of a mobile phone in these days in to
click heavy resolution pictures and store them on cloud. In case
of tourists it can be used to identify a forign language or to
understand the various symbols that would otherwise become
difficult for him to understand. The easier method is to use the
Optical Character recognition Program and identify the
contents by simply sharing the information from the
neighbouring devices.
• Natural language processing
In the similar manner as mentioned in the above example, the
characters can also be identified and translated into the desired
language.
• Crowd Computing
Video recordings from multiple mobile devices can be used
to make a single video and that would eventually cover an
entire event. In such cases the users use the camera as GigaPan
sensing and collect various images to stich them into one.
Work is also being done to capitalize on the vast number of
smartphones present in earthquake prone areas in order to read
their accelerometer values and be able to assess if a place is
being hit by an Earthquake.
Thus, such type of applications provides a visible proof to
the various advantages that the concept of mobile cloud
computing brings for the user.

A significant amount of research has been done to enable
computational offloading on the servers, and deciding on the
computations to be transferred and developing offloading
infrastructures that would enable computation on the server
side and perform the computations. But there are limitations in
doing the same, because if a large number of users request such
a shift of computations to the server, the performance may
degrade due to bandwidth limitations. Thus, it can also be
viewed as a tradeoff between power and performance. This
raises the question on what the deciding factor of the
computational offloading should concept but the improvements
made in the virtualization technology, network bandwidths and
cloud computing infrastructures have made it possible to create
feasible decision-making algorithms.
There are many algorithms that have been developed for
offloading decisions on these computations to improve the
power efficiencies of the mobile devices. [1]. There are several
factors that are considered for deciding these offloading
algorithms like bandwidth, server speeds, available memory,
server loads and the amount of data exchanged between servers
and mobile devices [2, 3, 4, 5, 6, 7, 8, 9, 10]. For example a user
who is looking for nearby events sends his GPS co-ordinates to
the server, the server then takes these co-ordinates and runs a
search in the table with the locations of all the events from the
database and returns the appropriate events. This method is
much more efficient in both power usage and the network
bandwidth usage than the server sending in the entire location
table to the mobile device and leaving it to figure out which
one is closer. The offloading decisions are also based on the
following factors like,
• Why to offload (improve performance or save energy)
• When to decide offloading (static v/s dynamic)
• Advantages and disadvantages associated with
offloading.
• What mobile systems use offloading (laptops, PDAs,
robots, sensors)
• Types of applications (multimedia, gaming,
calculators, text editors, predictors)
• Infrastructures for offloading (grid and cloud
computing).


Fig 2. Interaction of a smartphone with a server.
After the decisions are made, the computations are shifted
onto the server side to analyze the power saved by offloading
the computations. But there are limitations to this as well like
power consumption increases on the server side and the
networking challenges also hinder the communication to the
devices. The other factors that affect the performance are
service level hindrances like frequent loss of connectivity,
privacy and security issues and the energy consumption
estimation [11,12,13,14,15,16, 17, 18, 19, 20, 21, 22, 23, 24].
Fig2 describes the complex exchange of messages via the
protocols that need to take place before actually transmission
or reception of data. Such overheads should also be considered
before shifting the computations to the server side which may
lead to a lot of data transfer back and forth. Such a
communication not only affects the network bandwidth
performance but also leads to power usage due to frequent
network operation. Such an issue may be even more significant
if the mobile is accessing the internet via a 3G or a 4g wireless
data network.

Fig 3. Data usage across multiple platforms.
Since there will be a number of devices accessing a given
server, the server should be able to have an access to the
identity of the device in order to be able to give the best
performance depending on the device. The desktops may
require little to no computational offloading when compared to
the tablets and the tablets on the other hand may require less
offloading compared to the mobile devices. So a smart server
should be able to offload data to the device in need and
maximize its own power efficiency.
With all these factors in mind, the major focus of our
analysis would be the energy consumption estimation. As per
the paper “Mobile cloud computing: a survey” presented by
Niroshinie Fernando, Seng W. Loke and Wenny Rahayu
refernces the work done by researchers that have done
considerable amount of work in energy estimation analysis and
have come up with solutions for energy estimation for J ava
based pervasive systems and states their methodology as :
• Overall Energy cost =Computational energy cost +
Communicational energy.
• System Energy cost =Overall Energy cost +Overall
infrastructure energy cost
Here, infrastructure cost is the cost incurred by the
operating system.
Thus, if the power saved on the mobile devices is lesser
than the increased power consumption by the server for
performing the shifted computations, then that would not be
efficient.
III. PROJ ECT AIM
The aim of this project is to create an android application,
which contains heavy computations, that effects the power
consumption on the mobile device and calculate the power
consumed by the CPU and network devices on the mobile
device. We would then determine the computational offloading
to the server side of the application. If there is a possible way
to calculate the power consumption by the server side for the
offloaded computations, then we will be able to demonstrate
the advantages and disadvantages if any of offloading these
computations.
For the purpose of determining the power consumed by the
applications, Google’s latest android release has power
monitoring function built in and also, a few third party
applications like power tutor can be used to assess the power
usage of the various parameters such as CPU, Network
Interface etc. with an impressive error rate of only about 1%.
For the data on power vs computation performance of the
servers, if we are not able to access such a power-modeling
tool for server power consumption analysis, we would consider
this as a comparative study and analysis project. This would be
done by selecting an application like Google whose power
consumption data both on the mobile device and the server is
available online. Both the power consumptions would be then
compared and studied to conclude the efficiency of the
offloading process.
After performing either of the two above-mentioned
processes, we would analyze various advantages and
disadvantages associated with the computational offloading
concept and present the adequate level of offloading required
for having a good balance between the two power
consumptions.
CONCLUSION
Mobile computational offloading using cloud-computing
technology could reduce a lot of energy related issues for the
mobile devices. It can enable the mobile user to experience
seamless and rich functionalities on their mobile devices,
regardless of the resource limitations. Even though it has lot of
limitations including resource allocation and bandwidth
redundancies, further research in this area is likely to provide
good results for the mobile cloud computing area. It has
opened the possibilities to explore the potential of mobile
clouds in using the embedded systems used in ubiquitous
devices and other everyday devices. But still the challenges
exist in performing the cloud of services and resources
efficiently and in a flawless and steady manner.
REFERENCES

[1] Mobile cloud computing: A survey by Niroshinie Fernando

, Seng W.
Loke

, Wenny Rahayu
[2] “Cloud computing for hand-held Devices: Enhancing Smart phones
viability with Computational Offload”, IOSR J ournal of Computer
Engineering (IOSR-J CE) e-ISSN: 2278-0661, p- ISSN: 2278-
8727Volume 13, Issue 1 (J ul. - Aug. 2013), PP 01-06
www.iosrjournals.org
[3] “The Model is not enough: Understanding the Energy Consumption in
mobile devices” by J ames Bornholt, Todd Mytkowicz and Kathryn S.
McKinley
[4] “A survey of Computational Offloading for Mobile Systems” by Karthik
Kumar, J ibang Liu, Yung-Hsiang Lu and Bharat Bhargava.
[5] Balan RK (2004) Powerful change part 2: reducing the power demands
of mobile devices. IEEE Pervasive Comput 3(2):71–73
[6] Chen G, Kang B-T, Kandemir M, Vijaykrishnan N, Irwin MJ ,
Chandramouli R (2004) Studying energy trade offs in offloading
computation/compilation in java-enabled mo- bile devices. IEEE Trans
Parallel Distrib Syst 15(9): 795–809
[7] Chu H, Song H, Wong C, Kurakake S, Katagiri M (2004) Roam, a
seamless application framework. J Syst Softw 69(3):209–226
[8] Gu X, Nahrstedt K, Messer A, Greenberg I, Milojicic D (2003) Adaptive
offloading inference for delivering applica- tions in pervasive computing
environments. In: IEEE inter- national conference on pervasive
computing and communi- cations, pp 107–114
[9] Gurun S, Krintz C (2003) Addressing the energy crisis in mo- bile
computing with developing power aware software. Tech- nical Report,
Department of Computer Science, University of California, Santa
Barbara
[10] Gurun S, Krintz C, Wolski R (2004) NWSLite: a light- weight
prediction utility for mobile devices. In: International conference on
mobile systems, applications, and services, pp 2–11
[11] Hong YJ , Kumar K, Lu YH (2009) Energy efficient content- based
image retrieval for mobile systems. In: International symposium on
circuits and systems, pp 1673–1676
[12] Huerta-Canepa G, Lee D (2008) An adaptable application offloading
scheme based on application behavior. In: Interna- tional conference on
advanced information networking and applications - workshops, pp
387–392
[13] Kremer U, Hicks J , Rehg J (2003) A compilation framework for power
and energy management on mobile computers. In: Proceedings of the
14th international conference on Lan- guages and compilers for parallel
computing. Cumberland Falls, KY, USA, pp 115–131
[14] Li Z, Wang C, Xu R (2001) Computation offloading to save energy on
handheld devices: a partition scheme. In: Interna- tional conference on
compilers, architecture, and synthesis for embedded systems, pp 238–
246
[15] Li Z, Wang C, Xu R (2002) Task allocation for distributed multimedia
processing on wirelessly networked handheld devices. In: Parallel and
distributed processing symposium, pp 79–84
[16] Li Z, Xu R (2002) Energy impact of secure computation on a handheld
device. In: IEEE international workshop on workload characterization,
pp 109–117
[17] Nimmagadda Y, Kumar K, Lu Y-H, Lee CSG (2010) Real- time moving
object recognition and tracking using computa- tion offloading. In: IEEE
international conference on intelli- gent robots and systems, pp 2449–
2455
[18] O’Hara KJ , Nathuji R, Raj H, Schwan K, Balch T (2006) Autopower:
toward energy-aware software systems for dis- tributed mobile robots.
In: IEEE international conference on robotics and automation, pp 2757–
2762
[19] Ou S, Yang K, Liotta A, Hu L (2007) Performance analy- sis of
offloading systems in mobile wireless environments. In: IEEE
international conference on communications, pp 1821–1806
[20] Rong P, PedramM (2003) Extending the lifetime of a net- work of
battery-powered mobile devices by remote process- ing: a markovian
decision-based approach. In: Conference on design automation, pp 906–
911
[21] Tilevich E, Smaragdakis Y (2006) J -orchestra: automatic J ava
application partitioning. In: European conference on object- oriented
programming, pp 1–3
[22] Wang C, Li Z (2004) Parametric analysis for adaptive computation
offloading. In: ACM SIGPLAN conference on programming language
design and implementation, pp 119–130
[23] Wolski R, Gurun S, Krintz C, Nurmi D (2008) Using band- width data
to make computation offloading decisions. In: IEEE international
symposiumon parallel and distributed processing, pp 1–8
[24] Xian C, Lu Y-H, Li Z (2007) Adaptive computation offloading for
energy conservation on battery-powered sys- tems. In: International
conference on parallel and distributed systems, pp 1–8