arXiv:1511.03698v1 [cs.NI] 11 Nov 2015
Cloud Offloading for Multi-Radio Enabled Mobile
Devices
S. Eman Mahmoodi
K. P. Subbalakshmi
Vidya Sagar
Dept. of Electrical
and Computer Engineering
Stevens Institute of Technology
Hoboken, New Jersey 07030–5991
Email:
[email protected]
Dept. of Electrical
and Computer Engineering
Stevens Institute of Technology
Hoboken, New Jersey 07030–5991
Email:
[email protected]
Dept. of Electrical
and Computer Engineering
Stevens Institute of Technology
Hoboken, New Jersey 07030–5991
Email:
[email protected]
Abstract—The advent of 5G networking technologies has
increased the expectations from mobile devices, in that, more
sophisticated, computationally intense applications are expected
to be delivered on the mobile device which are themselves getting
smaller and sleeker. This predicates a need for offloading computationally intense parts of the applications to a resource strong
cloud. Parallely, in the wireless networking world, the trend
has shifted to multi-radio (as opposed to multi-channel) enabled
communications. In this paper, we provide a comprehensive
computation offloading solution that uses the multiple radio links
available for associated data transfer, optimally. Our contributions include: a comprehensive model for the energy consumption
from the perspective of the mobile device; the formulation of the
joint optimization problem to minimize the energy consumed as
well as allocating the associated data transfer optimally through
the available radio links and an iterative algorithm that converges
to a locally optimal solution. Simulations on an HTC phone,
running a 14-component application and using the Amazon EC2
as the cloud, show that the solution obtained through the iterative
algorithm consumes only 3% more energy than the optimal
solution (obtained via exhaustive search).
I. I NTRODUCTION
The “anywhere, anytime” promise of 5G networking has
created a large demand for more sophisticated applications
on energy constrained mobile devices [1], leading to a huge
increase in computational demand on the end devices [2].
Meanwhile, the promise of 5G networking has also seen a
surge in mobile device generated web traffic. In the year 2012
alone mobile web traffic increased by 70% and is expected to
grow up to 13 times by 2017. One solution to this problem
is to offload computations to the more resource strong cloud
infrastructure [3]–[5].
The term cloud offloading can mean either data flow offloading in networking applications [6], [7] or offloading computation intense processes on to the cloud. In this paper, we
refer to the latter. Cloud offloading can be classified into three
categories: (a) those that always offload to the cloud [8]; (b)
“all or nothing offloading” where either the entire application
is offloaded to the cloud or executed locally, typically using
an energy threshold to decide between offloading and not
[9], [10]; and (c) piecewise decisions, where some parts are
executed locally while the others are offloaded to the cloud
[11]–[14]. The third category offers the most flexibility for
trade-offs, and can be done either at the coarse component
level [11], [15], [16] or at finer, method [13] or instruction
levels [17].
While computation offloading to a resource strong cloud
seems like the natural solution to the resource crunch at
the mobile device level, it is essential to take into account
the associated data transfer that must take place between
the components that are executed in the cloud and their
counterparts in the mobile device. Given the already increasing
demands on the wireless backbone caused by the promise of
5G networking, this means that computation offloading must
be viewed in the context of the already increasing mobile
traffic. Hence it would be prudent to optimally use all of
the radio interfaces (like WiFi, 3G, HSPA, and LTE), as
appropriate, that are available in the multi-radio equipped
mobile devices of today.
In this paper, we propose a solution that optimally decides
which components of an application to offload and which to
execute locally, while simultaneously optimizing the percentage of data (associated with this offloading) to be sent via each
radio interface. Given recent advances in technologies that
enable bandwidth aggregation in wireless devices [18], [19]
our solution is implementable in practice. To the best of our
knowledge, this is the first such solution that approaches cloud
offloading for multi-radio enabled devices. Other works that
fall under general umbrella of the radio-aware computation
offloading include [11], where the best of the available wireless
interfaces is chosen (only one of the wireless interfaces) for
data transfer, rather than a solution that considers using all of
the radio interfaces simultaneously. In [17] a cloud offloading
scheduling mechanism is proposed for queue stability, but this
work only deals with multi-channel systems, not multi-radio
networks. Etime [8] is an “everything on the cloud” offloading
strategy, which adapts to the condition of the wireless link, but
this work does not consider multiple interfaces.
In this paper, we develop a comprehensive model for the
energy consumed by the mobile device, including energy
expended in communicating relevant data between the cloud
and the device. We set up the computation offloading problem
as a joint optimization to minimize the energy consumed
on the device while at the same time maximizing the radio
resources available to the device, under two constraints: (1) the
total run time deadline of the application and (2) the maximum
flow rate constraint on the radio resources. Since this optimization problem is non-linear and hence computationally intense,
we also propose an iterative algorithm that converges to a
local optimum. Simulations show that the proposed iterative
2
Table I
PARAMETER D EFINITIONS .
2
3
3
1
1
4
4
5
5
6
6
23
0.4 d
0d56
Parameters
M
K
(m)
Pac (i)
(m)
Pid
(Tx)
(Rx)
Pk
(Pk
)
Cloud Offload Manager
LTE
(m)
0.6 d
23
1 d56
active component
(c)
τi
(τi )
(mc)
(cm)
τij,k (τij,k )
idle component
WiFi
(com)
Figure 1. An example of application offloading to the cloud. In this figure,
the dots represent components of the application. There are 6 components
in this application. Components 1,2, 4, and 6 run on the device, whereas
components 3 and 5 are executed in the cloud. Two radio links are available
to the mobile device for offloading components to the cloud and the diagram
shows the ratio of data that is sent via each radio interface. The terms active
(idle) components refers to the components that are executed (or not) in that
particular entity, mobile device or the cloud.
algorithm performs very close to the optimal solution for a
significant reduction in complexity.
II. S YSTEM M ODEL
Consider a mobile device with K radio interfaces, running
computationally intense applications with M components (See
Fig. 1, with an example where K = 2 and M = 6). Any
given component may require data from the other components
to complete execution. This data dependency is determined
based on the corresponding application call graph (dependency matrix). In this example, the optimal offloading strategy
stipulates that Components 1, 2, 4 and 6 be executed in the
mobile device, and Components 3 and 5 be offloaded to the
cloud. In Fig. 1, Component 3 requires d23 units of data from
Component 2 to complete execution. In this example, 60%
(ν2,1 = 0.6) of this data is sent through the Radio Interface 1
(WiFi, say), and 40% (ν2,2 = 0.4) through Interface 2 (LTE)
to give us the most performance efficient offloading strategy.
Once Component 3 and 5 have finished execution, the data
needed by Component 6 from Component 5 (d56 ) must be
sent to the mobile device via one of the radio interfaces (for
example in Fig. 1 is WiFi). We assume that only one radio
K
P
γi,k = 1), leaving the
interface is used for data reception (
k=1
optimization of radio resource allocation for the downlink as
future work. Also, we assume that the energy consumption
and the time required to transfer data within components that
are executing in the same entity (whether cloud or mobile) is
negligible in comparison to when the data must be transferred
between entities. We also assume that the components of the
application are executed in a predetermined manner [11], [13].
This is not an unreasonable assumption as the compiler usually
predetermines this order.
The parameters needed to set up the optimization are
described in Table I. We model the energy consumed by
the mobile device in running application component i, as
(com)
(c)
(m)
(com)
(c)
(m)
, where Ei , Ei and Ei
Ei = Ei + Ei + Ei
are all defined in Table I. The energy consumed to execute
Ti
αij
Ii
νi,k
γi,k
dij
(d)
(u)
Rk (Rk )
rk
Ei
(m)
Ei
(c)
(Ei )
(com)
Ei
Definitions
Number of components in the application.
Number of radio interfaces in the system model.
Power consumed by the mobile device when it
is actively processing component i.
Power consumed by the mobile in the idle mode.
Transmit (Received) power consumed by the
mobile device at radio interface k .
Time to process component i in mobile (cloud).
Time to transfer data required by component j
to mobile (cloud) from component i in the cloud
(mobile), using radio interface k.
Time to transfer necessary data between the
cloud and mobile, to execute component i.
Component dependency indicator: 1 if component i must be processed before j, 0 otherwise.
Processing place indicator: 1 if component i is
processed on cloud, 0 if processed on mobile.
Percentage of data upload using radio interface
k, for execution of component i in the cloud.
Radio receiving indicator: 1 if transferred data of
component i is received at radio k, 0 otherwise.
Data size required by component j from i.
Downlink (Uplink) service rate for radio k.
Demand rate for radio interface k.
Total energy consumed by the mobile device to
run component i.
Energy consumed by the mobile device to run
component i in the mobile (cloud).
Energy consumed by the mobile for data transfer
of component i between cloud and mobile.
component i locally, in the mobile device, is expressed as
(m)
(m)
(m)
= (1 − Ii )Pac (i)τi . If the component is executed
Ei
remotely, then the mobile will only spend the idle power
for the duration of this execution. Hence, the energy consumed by the mobile when component i is being remotely
(com)
(c)
(c)
comes
= Ii Pid τi . Ei
executed, is given by Ei
into play when either the component immediately preceding
the component i, or immediately succeeding component i
(com)
can be written as
is executed in the other entity. Ei
M P
K
P
(com)
=
Ei
(αij εij,k + αji εji,k ), where εij,k (or εji,k )
j=1 k=1
is the energy consumed in transferring data from component
i (j) to component j (i) using radio interface k, when
component i (j) is executed immediately before component
j (i). They can be written as follows:
(cm)
(Tx) (mc)
τij,k ,
(mc)
(Rx) (cm)
τji,k .
εij,k = Ii (1 − Ij )γj,k Pid τij,k + (1 − Ii )Ij νi,k Pk
(1)
εji,k = Ii (1 − Ij )νj,k Pid τji,k + (1 − Ii )Ij γi,k Pk
(2)
The first terms on the RHS of equations (1) and (2) represent
the idle powers consumed when the relevant component is
being executed in the cloud, and second terms represent the
energy consumed in transmitting or receiving the relevant data.
The time needed to transfer data in the downlink communication (cloud to mobile) and uplink communication (mobile
(cm)
(mc)
dij
dji
to cloud) are given by τij,k = (d)
and τij,k = (u)
(d)
(u)
Rk
Rk
respectively, where Rk and Rk are the downlink and uplink
rates respectively, on radio interface k. dij is the size of the
data that must be transferred from component i to j.
data that needs to be transferred, and is expressed as
M
X
III. E NERGY E FFICIENT AND R ADIO R ESOURCE
O PTIMIZED O FFLOADING
j=1
j6=i
A. Problem Formulation
In this section, we formulate an optimization problem to
minimize the total energy consumed by the mobile user
in executing a given application under total execution time
constraints. Specifically, we will formulate an optimization
problem that will determine which components should be
executed where (in the device or cloud) and what percentage of
data should be allocated to each radio link for necessary uplink
data transfer. This minimization is subject to the following
constraints: deadline on the execution time of the application;
flow rate control on each radio link used for computation
offloading; and the total value of data percentage allocated
to the radio interfaces for each offloaded component. The
optimization problem is mathematically formulated as
∆
min E =
ν,I
M
X
Ei ,
Ti ≤ Treq ,
(4)
M
P
L=
ζk (
M
P
φi (
αij
i=1
(com)
Ti
=
Ii (1 −
+
+
(cm)
αji γi,k τij,k ).
j=1 k=1
(1 −
(mc)
Ii )Ij (αij νi,k τij,k
(5)
This constraint allows us to take into consideration the potential time delays in sending and receiving the data related to
(com)
, ∀i) and trading it off
each component via radio links (Ti
optimally for energy consumption on the device.
In order for the system to be stable, the transmit data rate on
the radio interfaces must be less than the service rate of each
radio interface. This is represented by the second constraint:
M X
M
X
j=1
j6=i
(u)
αij (1 − Ii )Ij νi,k rk < Rk , ∀k.
(6)
i=1 j=1
j6=i
The final constraint ensures that for each component, the total
data allocations to the radio interfaces sums up to the total
(Ti (Ii , νi,k ) − Treq )+
(u)
− Ii )Ij νi,k rk − Rk ))+
(8)
νi,k − 1).
k=1
∆i = Λi +
(cm)
αij γj,k τji,k )+
M
P
αij ((1
i=1 j=1
j6=i
K
M
P
P
M
X
(c)
(1 − Ij )Γi,j −
M
X
(m)
Ij Γi,j ,
(9)
j=1
j6=i
j=1
j6=i
and Λi is independent of νi,k , and can be written as
(c)
Λi = Pid τi
(m)
(m)
− Pac
(i)τi
(c)
+ κ(τi
(m)
− τi
),
(10)
and
Γi,j = (Pid + κ)
(mc)
Ij )(αji νj,k τji,k
(7)
Minimizing L will involve finding the best set of values for
the parameters νi,k , and Ii , ∀i, k. To obtain the best offloading
policy (values of Ii ), we write Li as a function of Ii and a
constant term (c1 ) that does not depend on Ii . That is, Li =
∆i Ii + c1 , where
(c)
M X
K
X
∀i.
i=1
M P
M
P
k=1
i=1
where Treq is the execution time deadline of the application,
(m)
(com)
(c)
(m)
represents the time
, ∀i. Ti
and Ti = Ti + Ti + Ti
taken for component i to execute in the mobile device, and
(c)
(c)
(m)
(m)
= (1 − Ii )τi . Similarly, Ti = Ii τi is
is given by Ti
(com)
the time taken to execute component i in the cloud. Ti
is the time taken to complete the necessary data transfer for
execution of component i, and is given by
νi,k ≤ 1,
k=1
Ei (νi,k , Ii ) + κ
i=1
K
P
(3)
where I = [I1 I2 ...IM ] and ν is a matrix with entries νi,k ,
∀i, k and Ii ’s and νi,k ’s are defined in Table I. The constraint
on the total application execution time is given by
K
X
B. Proposed Solution
The objective function of the optimization problem is represented in Eq. (3) with the constraints in Eqns (4), (6),
and (7). The objective function and the constraint in Eq. (6)
involve product terms of two non-negative variables, thereby
forming a nonlinear convex function. Thus, the problem can
be solved using MIP (Mixed Integer Programming) using
Lagrangian multipliers: κ, ζk , φi , ∀i, k. The Lagrangian, L =
L(ν, I, κ, ζ, φ), is expressed as
i=1
M
X
αij
K
X
(mc)
(cm)
(αji νj,k τji,k + αij γj,k τji,k ),
(11)
k=1
and
(m)
Γi,j =
K
P
k=1
(Tx) (mc)
τij,k
αij νi,k Pk
(Rx) (cm)
τij,k +
+ αji γi,k Pk
(mc)
(cm)
κ(αij νi,k τij,k + αji γi,k τij,k ) + ζk αij νi,k rk .
(12)
In Algorithm 1, we present an iterative algorithm to find
the optimal values of νi,k and Ii for each component. The
algorithm is initialized with values for the Lagrange multipliers (κ, ζk , φi , ∀i, k) as well as an initial allocation of where
the given component i will be executed (values of Ii ). The
(r)
iteration index r is set to 0, and the initial value of Ii is
given by:
1 Λi < 0,
(r)
Ii =
(13)
0 Λi ≥ 0.
This initial schedule of components implies that the component i will be scheduled to run in the cloud if the trade-off
between energy consumption and execution time for running
.
it on the cloud is favorable to running it on the mobile.
To obtain optimum νi,k s, we rewrite L for Component i
and Radio Interface k as: Li,k = νi,k Ωi,k + c2 , where
M
P
(mc)
(Tx)
{αij (1 − Ii )Ij [τij,k (Pk
+ κ) + ζk rk ] + φi },
Ωi,k =
j=1
∗
and c2 is a constant w.r.t νi,k . The optimal value of νi,k , νi,k
for a given value of Ii is calculated as
M
P
Ωi,k
αij 6= 0
)
(1 − Ii )(1 − P
M P
K
j=1
Ωi,k
i=1 k=1
j6=i
∗
(14)
νi,k
=
M
P
α
=
0
0
ij
j=1
j6=i
∗
Now by using the value of νi,k
by using (14), Ii can be updated
by
1 ∆i < 0,
(r)
Ii =
(15)
0 ∆i ≥ 0.
The iterations continue until Eq. (8) is minimized. The
algorithm converges, when the Langrange parameters have
converged. The details are given in Algorithm 1.
Algorithm 1 Proposed Radio Aware Offloading Schedule.
1: initialization:
2:
Set r ← 0, modification index, s ← 1
(0)
3:
Set Ii using Eq. (13)
4:
Set ∆(0) using Eq. (10)
(0)
5:
Set νi,k using Eq. (14)
(s)
(s)
6:
Set initial values for parameters κ(s) , ζk , φi
7:
Set Xr = Xs ←False
8: repeat:
(r)
9:
if ∆i < 0, ∀i then
10:
while Xr =False do
(r+1)
= ∆i |Ii =I (r) ,ν =ν (r) by (9)
11:
calculate ∆i
13:
14:
15:
IV. P ERFORMANCE A NALYSIS
In this section, we investigate the efficiency of the proposed
approach using an HTC Vivid smartphone with a 1.2 GHz
dual core processor. This phone is equipped with two radio
interfaces (k = 2): WiFi, and LTE. Moreover, we assume
that whereas LTE is always available, the WiFi interface
can sometimes be unavailable (as is common in real life
scenarios). A multi-component video navigation application
was used for the experiments. This application uses video
processing, face detection, graphics, and clustering the video
points. Graphics library tools are used from the OpenGL
mobile Android applications [21], face detection is used from
i,k
ĩ
Iĩ → 1 − Iĩ ,
end if
M
M
P
P
(r)
(r+1)
Li then
≥
Li
if
16:
17:
18:
i=1
C. Convergance and Complexity of the Algorithm
In line 1, Ii and νi,k are initialized. In a nested loop,
these two variable parameters are modified such that the
Lagrangian formulation in Eq. (8) is minimized. The strategy
of Lines 3-17 of the algorithm has been discussed in subsection
B. The variables Ii and νi,k are opportunistically updated
using Eqns (15) and (14), respectively so that the objective
function is minimized (lines 12,13 of the algorithm). The outer
loop updates the Lagrangian multipliers using the subgradient
method. Using the logic in [20], we see that the updated
multipliers (κ, ζk , and φi , ∀i, k) will converge to the optimum
values of Ii and νi,k , ∀i, k.
Complexity of the modification loop (Lines 9-23) of the
algorithm is O(rmax M ), where rmax is the maximum number
of iterations required to find the optimum vector I. Note
that we assume M > K. Overall, the complexity of the
algorithm is O(smax rmax M ), where smax is the maximum
required number of iterations to satisfy all the constraints in
the optimization problem. The value of smax depends on the
initial values in line 6 and ǫ values in lines 28, 29 of the
algorithm. In the simulations (Section VI), we observe that
the mean values of smax and rmax are 3 and 2, respectively.
The complexity of the exhaustive search method is O(2M ×k),
which is prohibitively high.
i,k
i
(r+1)
by Eq. (15)
calculate Ii
(r+1)
calculate νi,k
by Eq. (14)
(r+1) (r)
∆i < 0 then
if ∃i : ∆i
(r+1)
Find min(∆i
; ∀i)
12:
i=1
19:
20:
21:
22:
23:
Xr =True,
end if
r → r + 1,
end while
end if
24:
κ(s+1) = κ(s) − εκ (Treq −
25:
(s+1)
ζk
26:
M
P
Ti )
i=1
(s)
= ζk − εζ ×
M M
(u) P P
|Ii − Ij |(1 − Ii )αij νi,k rk ), ∀k
(Rk −
i=1 j=1
j6=i
27:
28:
29:
30:
31:
32:
33:
(s+1)
φi
if
(s)
= φi − εφ (1 −
M
P
αij
K
P
j=1
k=1
j6=i
(s+1)
(s)
|ζk
−ζk |
|κ(s+1) −κ(s) |
κ(s+1)
< εκ &
(s+1)
(s)
|φi
−φi |
(s+1)
φi
< εφ , ∀i, k then
(s+1)
ζk
νi,k ), ∀i
< εζ &
Xs = True,
end if
s→ s+1
until any constraint in Eqs (4),(6),(7) is not satisfied:
(Xs =False).
[22], and all of the video processing features are available in
[23]. We used fourteen component applications to form the
codeset in our work. Note that the first and last components
are executed in the mobile device, because most mobile
initiated applications must start in the mobile device and
usually have an output/display that happens on the mobile
device. We measured execution time of the components in
the HTC phone and the cloud, uplink and downlink rates
and delays for WiFi and LTE. We obtained the dependency
matrix of this application, and the size of the data that needs
to be transferred between components. The Amazon Elastic
Compute Cloud (Amazon EC2) was used for cloud computing
capacity [24]. The average transmit power levels of the mobile
device for WiFi, and LTE services are 300 and 600 mWs,
respectively. The average received power levels were 100 and
250 mWs, respectively. The active and idle power levels of
the phone are 644.9 and 22 mWs, respectively. The power
consumption for the last component in the mobile device was
55 mWs. These power measurements are obtained by using
CurrentWidget: Battery monitor application [25]. The average
wireless service rates for WiFi, LTE are 0.80 and 2.96 Mbps
for the uplink transmission and 1.76 and 4 Mbps for the
downlink transmission, respectively. Also, local execution time
of the fourteen components are measured as [30 340 345 125
30 80 70 30 185 125 650 571 904 56] ms. The number of
arriving requests is modeled as a Poisson distributed variable
with average rate of 1.5 Mbps. The initial multiplier values for
κ, φ and ζ were set to 0.1, 0.1, and 10−6 , respectively. The
results shown are averages of 1000 independent test runs.
Four scenarios are compared in this section. First, we
consider the scenario that all components are executed locally
in the mobile. The energy consumed in this scenario is used
to normalize all energy values. The second scenario consists
of executing the entire application on the cloud (other than
the first and the last components). In this scenario, all data
must be uploaded to the cloud. The third scenario is a brute
force exhaustive search for the best values of Ii for each
component. That is, we manually schedule components i = 2
through 13 to run on either the cloud or the mobile and
calculate the associated energy and time. Note, that since the
first and last component must run on the mobile, we are left
with 2(14−2) combinations of possible values for the Ii ’s. For
each combination of I, the problem turns out to be a linear
optimization over the variable set ν. Thus, the radio allocation
percentages are calculated using linear programming. The
sets of Ii and νi,k , ∀i, k, values which minimize the energy
consumption give the over all optimal solution. The approach
in this scenario is called “Exhaustive search”. Finally, the
fourth set of results is obtained by our iterative algorithm.
Fig. 2 shows the average energy consumption for four different approaches while the application execution time equals
to 3.54 seconds. We observe that the proposed approaches
(exhaustive search and the proposed iterative algorithm) result
in lower energy consumptions in comparison to the others.
Note that 3.54 seconds is the minimum execution time to
execute the application locally, so that the execution time
deadline is satisfied in all of the approaches. On an average,
the proposed iterative algorithm consumes 3% more energy
in comparison to the proposed optimal solution (Exhaustive
search approach) for Treq = 580 ms. This is a fairly good
trade-off for the reduced complexity of the proposed iterative
algorithm. Fig. 3 presents the execution time of different
approaches in different scenarios. While local and remote
execution approaches require longer application execution
time, the proposed scheme gives us 29% and 27% faster
execution time in comparison to these approaches respectively
with the same amount of energy consumption to the remote
execution approach. If we desire to save 9% of energy, then we
have still 9% and 6% faster execution time in comparison to
local and remote execution respectively. On the other hand, if
only fast execution of the application is important for us, then
by costing 11% more energy than remote execution, we can
achieve 50% and 48% faster run rather than local and remote
execution. Fig. 4 plots the energy-execution time trade-off in
the proposed scheme in comparison to the local and remote
execution, while the proposed scheme takes advantage of three
scenarios for radio resources: 1. WiFi and LTE are used jointly;
2. only WiFi is used for offloading; and 3. only LTE is used for
offloading. The four points in the plot show local and remote
executions by using only LTE, only WiFi, or both. We see
that although remote execution by using LTE consumes much
more energy in comparison to the others, the execution time
for this scenario would be less than the others. Thus, there is
a trade off between energy consumption and execution time of
the application which is relied on the delay of offloading. On
the other hand by using the proposed offloading scheme lesser
energy is consumed with reasonable value for execution time.
When the execution time deadlines are longer, there is more
flexibility in offloading jobs to the cloud and hence energy
consumptions for the mobile device reduces. Also, it is clear
that joint use of radio resources gives less energy consumption
and requires less execution time.
Fig. 5 plots the percentage of data stream to the cloud
through WiFi (radio interface 1) versus RTT of the WiFi and
LTE in the proposed scheme. We observe that by increase of
RTT in WiFi for the range of 40-160 ms, less data stream is
allocated to WiFi and more data stream is allocated through
LTE for computation offloading. On the other hand, when RTT
of LTE increases in the range of 50-200 ms, more data stream
is allocated to WiFi and less data is allocated to LTE. Finally,
V. C ONCLUSION
We studied the problem of offloading computationally intense applications from mobile devices to a cloud infrastructure for multi-radio equipped mobile devices. We presented a
comprehensive model for the energy consumed in offloading
components to the cloud. We modeled the decision to offload
any given component to the cloud as an optimization problem that seeks to resolve the conflicting goals of reducing
computation costs while keeping the execution time of the
application below its deadline. We showed that this is a
non-linear optimization problem. We proposed an iterative
algorithm to find the local optima for the offload schedule
of the components as well as the percentage of the data to be
carried on each radio interface. We showed that the proposed
algorithm consumes within 4% of the optimal solution (obtained via brute force search) and also offers 31% less energy
consumption in comparison to offloading the entire application
to the cloud.
R EFERENCES
[1] G. Wu, S. Talwar, K. Johnsson, N. Himayat, and K. Johnson, “M2M:
From mobile to embedded internet,” IEEE Communication Magazine,
vol. 49, no. 4, pp. 36–43, 2011.
[2] K. Kumar and Y. H. Lu, “Cloud computing for mobile users: Can
offloading computation save energy?” Computer, vol. 43, pp. 51–56,
2010.
[3] N. Vallina-Rodriguez and J. Crowcroft, “Energy management techniques
in modern mobile handsets,” IEEE Communications Surveys Tutorials,
vol. 15, no. 1, pp. 179–198, 2013.
[4] X. Gu, K. Nahrstedt, A. Messer, I. Greenberg, and D. Milojicic, “Adaptive offloading for pervasive computing,” IEEE Pervasive Computing,
vol. 3, no. 3, pp. 66–73, 2004.
2500
Local Execution
Remote Execution using WiFi and LTE Jointly
Remote Execution using Only WiFi
Remote Execution using Only LTE
Proposed Scheme using Multi−Radios Jointly
Proposed Scheme while Only WiFi Offloading
Proposed Scheme while Only LTE Offloading
Average Energy Consumption [mJ]
2000
500
Remote Execution
Exhaustive Search
1000
Proposed Scheme
1500
Local Execution
Average Energy Consumption [mJ]
3500
3
4
0
1
2
3000
2500
2000
1500
Approach
4000
1000
500
1
2
0
3
Local Execution
1500
Remote Execution
2000
Proposed Scheme with
energy equal to 112%
of remote execution
2500
Proposed Scheme with energy
consumption equal to remote
execution
3000
Proposed Scheme with energy
consumption equal to 91% of remote
execution
Runtime of the Application [ms]
3500
4
5
Approach
Figure 3.
Execution time of Different Approaches.
[5] B.-G. Chun, S. Ihm, P. Maniatis, M. Naik, and A. Patti, “Clonecloud:
elastic execution between mobile device and cloud,” in Proceedings of
the sixth conference on Computer systems, 2011, pp. 301–314.
[6] S. Merlin, N. Vaidya, and M. Zorzi, “Resource allocation in multi-radio
multi-channel multi-hop wireless networks,” in Proc. of INFOCOM,
April 2008.
[7] V. Bhandari and N. H. Vaidya, “Scheduling in multi-channel wireless
networks,” bookchapter of Distributed Computing and Networking,
Springer, 2010.
[8] P. Shu, F. Liu, H. Jin, M. Chen, F. Wen, and Y. Qu, “etime: Energyefficient transmission between cloud and mobile devices,” in Proc. of
INFOCOM, April 2013, pp. 195–199.
[9] W. Zhang, Y. Wen, K. Guan, D. Kilper, H. Luo, and D. Wu, “Energyoptimal mobile cloud computing under stochastic wireless channel,”
IEEE Transactions on Wireless Communications, vol. 12, no. 9, pp.
4569–4581, 2013.
[10] Y. Wen, W. Zhang, and H. Luo, “Energy-optimal mobile application
execution: Taming resource-poor mobile devices with cloud clones,” in
Proc. of the IEEE International Conference on Computer Communications (INFOCOM), 2012, pp. 2716–2720.
[11] D. Huang, P. Wang, and D. Niyato, “A dynamic offloading algorithm
for mobile computing,” IEEE Transactions on Wireless Communications,
vol. 11, no. 6, pp. 1991–1995, 2012.
[12] D. Kovachev, T. Yu, and R. Klamma, “Adaptive computation offloading
from mobile devices into the cloud,” in IEEE Symposium on Parallel and
Distributed Processing with Applications (ISPA), 2012, pp. 784–791.
[13] E. Cuervo, A. Balasubramanian, D.-k. Cho, A. Wolman, S. Saroiu,
R. Chandra, and P. Bahl, “MAUI: Making smartphones last longer with
code offload,” in Proceedings of the 8th International Conference on
Mobile Systems, Applications, and Services, ser. MobiSys ’10. ACM,
2010, pp. 49–62.
[14] S. Kosta, A. Aucinas, P. Hui, R. Mortier, and X. Zhang, “Thinkair:
Dynamic resource allocation and parallel execution in the cloud for
mobile code offloading,” in Proc. of IEEE International Conference on
1000
2000
2500
3000
3500
4000
4500
5000
Execution Time of the Application [ms]
Figure 4. Average Energy Consumption versus execution time of the application. Jointly, it shows the trade-off between the cost of energy consumption
and execution time in the proposed scheme. We observe that the application
can be executed in half of the time (0.52) it takes to be executed in the cloud
with the cost of 12% more energy consumption, and also the application
can be executed with 20% more energy saving in comparison to the remote
execution with the cost of 42% execution time extension in comparison to
remote execution.
75
Percentage of WiFi Allocation [%]
Figure 2. Average Energy Consumption of the Four Approaches, while
execution time equals 3.54 seconds.
70
65
60
55
Proposed Scheme while RTT of WiFi is changing.
Proposed Scheme while RTT of LTE is changing.
50
20
40
60
80
100
120
140
160
180
200
Round Trip Time (RTT) [ms]
Figure 5. Percentage of WiFi Allocation in the Proposed Scheme versus
Round Trip Time (RTT) of WiFi and LTE.
Computer Communications (INFOCOM), 2012, pp. 945–953.
[15] X. Wang, A. V. Vasilakos, M. Chen, Y. Liu, and T. T. Kwon, “A survey of
green mobile networks: Opportunities and challenges,” Mobile Network
Applications, vol. 17, no. 1, pp. 4–20, Feb. 2012.
[16] X. Zhang, S. Jeong, A. Kunjithapatham, and S. Gibbs, “Towards an
elastic application model for augmenting computing capabilities of
mobile platforms,” in Mobile Wireless Middleware, Operating Systems,
and Applications, vol. 48. Springer, 2011, pp. 161–174.
[17] S. Barbarossa, S. Sardellitti, and P. Di Lorenzo, “Computation offloading
for mobile cloud computing based on wide cross-layer optimization,” in
Journal of Future Network and Mobile Summit, July 2013, pp. 1–10.
[18] K. Hong, S. Sengupta, and R. Chandramouli, “Spiderradio: A cognitive
radio implementation using ieee 802.11 components,” IEEE Transactions on Mobile Computing, vol. 12, no. 11, pp. 2105–2118, November
2013.
[19] D. Kaspar, “Multipath aggregation of heterogeneous access networks,”
SIGMultimedia Rec., vol. 4, no. 1, March 2012.
[20] S. Boyd and A. Mutapcic, “Subgradient methods,” Lecture Notes of
EE364b, Stanford Univ., Stanford, CA, Spring quarter 2008.
[21] Mar. 2014. [Online]. Available: http://www.opengl.org/.
[22] Jul.
2014.
[Online].
Available:
http://www.developer.com/ws/android/programming/face-detection-with-android-apis.html.
[23] Apr. 2014. [Online]. Available: http://opencv.org/.
[24] Jul. 2014. [Online]. Available: http://aws.amazon.com/ec2/.
[25] Jul. 2014. [Online]. Available: http://code.google.com/p/currentwidget/.