Joint Optimization of Execution Latency and Energy Consumption for Mobile Edge Computing with Data Compression and Task Allocation
Minh Hoang Ly Thinh Quang Dinh Ha Hoang Kha






Joint Optimization of Execution Latency and Energy Consumption for Mobile Edge Computing with Data Compression and Task Allocation 




    Minh Hoang Ly1, Thinh Quang Dinh2, Ha Hoang Kha1

1Ho Chi Minh City University of Technology, VNU-HCM, Vietnam 

hoang.ly-minh@student-cs.fr, hhkha@hcmut.edu.vn 

2Trusting Social, Vietnam 

thinh.dinh@trustingsocial.com





































    December 30, 2023
=====================================================================================================================================================================================================================================================================




This paper studies the mobile edge offloading scenario consisting of one mobile device (MD) with multiple independent tasks and various remote edge devices. In order to save energy, the user's device can offload the tasks to available access points for edge computing. Data compression is exploited to reduce offloaded data size prior to wireless transmission to minimize the execution latency. The problem of jointly optimizing the task allocation decision and the data compression ratio to minimize the total tasks' execution latency and the MD's energy consumption concurrently is proposed. We show that the design problem is a non-convex optimization one but it can be recasted into a convex one through a semidefinite relaxation (SDR) based approach. Numerical simulations demonstrate the outperformance of the proposed scheme compared to the benchmark one.





Mobile edge computing, data compression, task offloading, semidefinite relaxation.




§ INTRODUCTION

Mobile devices have been playing a vital role in today’s world. Various applications, ranging from voice communication, web surfing to navigation are available on a single mobile phone <cit.>. At the same time, there is an increasing number of computation-intensive applications providing smart services which mobile devices (MDs) can hardly support due to limited computing ability and battery capacity <cit.>. Hence, an energy efficiency-based data processing approach is critical for battery-powered devices. Mobile cloud computing increases the capabilities of MDs to enhance user experience and, thus, can be viewed as a potential solution <cit.>. Since there are much higher computation and storage resources on the cloud servers, migrating demanding tasks to clouds can eliminate the burden of computing, storage, and computation energy on the MDs. A variety of offloading frameworks allow the MDs to partition their applications into executable tasks which can be processed on cloud servers with various hardware architectures <cit.>.

Although adequate cloud resources can be utilized to support MDs to collect, store and process data, the interaction between the cloud and MDs is challenging. For example, cloud servers are commonly geographically far from MDs, which results in high communications latency. The trade-off between energy savings and computing efficiency also affects user experience. In addition, communication delay and energy cost between MDs and the cloud are not negligible. Moreover, finite backhaul capacity is a bottleneck of remote cloud computing <cit.>,<cit.>. Mobile edge computing (MEC) could be the key to solve the problem. Unlike remote cloud computing, MDs can offload computing tasks to a nearby MEC server to reduce huge backhaul latency caused by offloading to a remote cloud. Consequently, if small cell access points (AP) are capable of processing tasks for MDs, this paradigm can make a reduction in the application response time <cit.>,<cit.>. In 2009, the authors in <cit.> introduced the idea of bringing both computational and communication capacities close to users. However, in all works to date, an MD can only associate with either a single remote server or an edge device. With the dense deployment of APs in upcoming networks <cit.>, we can use this diversity by considering a scenario when an MD can offload to multiple nearby APs with computational capacities (Computing Access Point or CAP), instead of only a single CAP.

On the other hand, data compression applied in modern applications to reduce the data size of text, audio, image, and other types is ubiquitous <cit.>,<cit.>. By this way, data compressing can save storage space or lower data transmission time in wireless networks <cit.>. Moreover, implementing data compression in MEC systems would help save transmission energy since energy consumption for transmitting data is normally significantly higher than that of computing <cit.>. For the reason that executing data compression algorithms takes time and energy, there is a cost of applying data compression on all data in MEC systems. Thus, an amount of offloaded task data to be compressed together with task allocation and offloading decision should be optimized. In this context, extensive works have focused on investigating energy or latency minimizing problems but few works jointly considered data compression and MEC <cit.>,<cit.>. Additionally, computational offloading affects both the tasks’ execution latency and energy consumption of the MD. However, most of the earlier work either concentrated only on execution latency <cit.>,<cit.> or energy consumption <cit.>,<cit.>. To the best of our knowledge, no previous work has studied in applying data compression in MEC systems to jointly minimize execution latency and energy consumption.

In this work, we investigate the case when a single MD is able to allocate tasks to multiple CAPs. We introduce a framework where the MD minimizes a weighted sum of the cost of its tasks’ execution latency and energy consumption by jointly optimizing the task allocation decision and the task compression ratio. By exploiting this flexibility in terms of allocation decision and compression ratio, we can improve the MD’s task latency performance and energy consumption. We show that the associated problem can be formulated as a non-convex quadratically constrained quadratic program (QCQP), which is, in general, NP-hard. To tackle this problem, an efficient semidefinite relaxation (SDR) algorithm <cit.> and a randomization mapping method is proposed. Simulation results validate the advantages of our approach.



§ SYSTEM MODEL AND PROBLEM FORMULATION

Consider the framework that consists of an MD with N independent tasks. Each of these tasks can be locally processed by the MD's CPU or offloaded to a CPU of  M wireless CAPs as shown in Fig. <ref>. Before offloading, the potentially offloaded tasks can be compressed to reduce the transmission energy. The set of tasks and the set of CPUs are denoted by 𝒩 = {1,..., N} and ℳ = {0,..., M}, respectively, where CPU 0 is the MD's CPU [Later on, unless otherwise stated, we include MD's CPU whenever we mention CPUs]. The MD has to make the decision about whether tasks would be remotely or locally processed.

Every task i, i ∈𝒩, is represented by a tuple {α_i, β_i, ω_i} where α_i is the input data size (in bits), β_i is the output data size (in bits), and ω_i is the number of CPU cycles that are required to process the task, respectively. We assume that the amount of data to be processed, which is of irregular sizes, is known beforehand <cit.>. Each of the CAPs offers the MD with fixed service rate (CPU frequency) r_k (cycles/sec or Hertz). The downlink and uplink rates between the CAPs and user are denoted as C_k^DL and C_k^UL (bits/sec), respectively. In this paper, it is assumed that CAPs have full channel state information (CSI) and, thus, C_k^UL and C_k^DL are known to the MD. Therefore, the effective rate C_k^DL and C_k^UL during the whole period can be approximated by their mean values. An indicator x_ik, ∀ i ∈𝒩, k ∈ℳ is utilized to denote the task allocation,

    x_ik =  1,     if task i is assigned to CPU k,
     0,     otherwise.

Define X = {x_ik}∈{0, 1}^N×(M+1) the task allocation matrix, and x = [x_0^T, x_1^T,...,x_k^T,...x_M^T]^T, where x_k = [x_1k, x_2k,..., x_Nk]^T, i.e., the k^th column vector of X.





































We assume that when a task is about to be uploaded to a CAP, all the fraction of the task (the whole task) is offloadable, <cit.> and prior to transmission, the task can be compressed down to an arbitrary size. It is also assumed that lossless data compression methods are manipulated so that original data can be perfectly reconstructed at the MEC server <cit.>. Let J^C (cycles/bit) and E^C (Joules/cycle) be the computation for compressing 1-bit of task data and energy consumption per CPU cycle at the MD, respectively. We assume that γ∈ [0, 1] fraction of all offloaded task is compressed before offloading, i.e. the size of compressed data (after the compression step) is equivalent to (1-γ) times the size of original data. The time delay for task i's local compression is t_i^Compr = α_iJ^Cγ/r_0 <cit.>. The time delay for task i's decompression at k^th CAP is t_ik^Decompr = α_iJ^Cγ/r_k <cit.>.



	
We define g_ik^DL, g_ik^UL and g_ik^Comp as the downlink, uplink and computation latency, respectively, when offload task i to CPU k, where g_ik^UL = α_i/C_k^UL, g_ik^DL = β_i/C_k^DL and g_ik^Comp = ω_i/r_k. Therefore, the total compression latency T_k^Compr, upload latency T_k^UL, decompression latency T_k^Decompr, computation latency T_k^Comp and download latency T_k^DL are given by T_k^Compr = ∑_i ∈𝒩x_ikα_iJ^Cγr_0, T_k^UL = ∑_i ∈𝒩x_ikα_i(1-γ)C_k^UL, T_k^Decompr = ∑_i ∈𝒩x_ikα_iJ^Cγr_k, T_k^Comp = ∑_i ∈𝒩x_ikω_ir_k and T_k^DL = ∑_i ∈𝒩x_ikβ_iC_k^DL, respectively. In this paper, for simplicity, we assume independent and non-overlapped steps at CAPs, meaning that a CAP only starts to process tasks after receiving all. The execution latency of the batch uploaded to CPU k, ∀ k ∈ℳ is computed as
T_k = T_k^Compr+ T_k^UL + T_k^Decompr+ T_k^Comp + T_k^DL=∑_i ∈𝒩x_ik(α_iJ^Cγr_0 + α_i(1-γ)C_k^UL + α_iJ^Cγr_k + ω_ir_k + β_iC_k^DL)
=∑_i ∈𝒩x_ikG_ik, where G_ik = α_iJ^Cγr_0 + α_i(1-γ)C_k^UL + α_iJ^Cγr_k + ω_ir_k + β_iC_k^DL. For the local processing case, there are no uplink, downlink as well as compression and decompression latency, i.e., G_i0 = ω_i/r_0.

The energy consumption of the MD is mostly contributed by computational processing, local compression and (wireless) transmission.


  * The computational energy consumption of the MD is

    E^Comp = P^Comp∑_i ∈𝒩x_i0G_i0,

where P^Comp is the computational power of the MD.

  * Local compression energy consumption is defined as <cit.>
[                        E^Compr                              =  J^CE^C∑_k ∈ℳ{0}∑_i ∈𝒩x_ikα_iγ;                                                             = P^Compr∑_k ∈ℳ{0}∑_i ∈𝒩x_ikα_iγ ],

where P^Compr = J^CE^C (Joules/bit) is the power consumption for 1-bit compression at the MD.

  * Transmission energy consumption is given as
E^TR = P^Tx∑_k ∈ℳ{0}∑_i ∈𝒩x_ikα_i(1-γ)C_k^UL + P^Rx∑_k ∈ℳ{0}∑_i ∈𝒩x_ikβ_iC_k^DL = ∑_k ∈ℳ{0}∑_i ∈𝒩(P^Txx_ikg_ik^UL(1-γ) + P^Rxx_ikg_ik^DL), where P^Tx and P^Rx, which, regarded as constants, are the transmitting and receiving power, respectively.

The metrics of the main objective functions can be represented as follows:

	
  * Execution latency: Since CAPs are able to process tasks in parallel <cit.>, the execution latency is defined as
	
    t(𝒳, γ) = max_k ∈ℳT_k.

	
  * Total energy consumption: The total energy consumption of the MD is given by
	
    e(𝒳, γ) = E^Comp + E^Compr + E^TR.


In the subsequent sections, we jointly minimize the weighted sum of execution latency and energy consumption by investigating the trade-off between the two objectives and defining the joint objective function as

    ψ(X, γ) = λ_tt(X, γ) + λ_ee(X, γ),

where λ_t, λ_e ∈ [0, 1] are scalar weights. These weights itself demonstrate the correlation and relative significance between the latency and energy. The problem can be formulated as Problem 𝒫1:

	
    𝒫1:			min_X, γ    ψ(X, γ)
    s.t     ∑_k ∈ℳx_ik = 1,   ∀  i ∈𝒩, 
        x_ik∈{0, 1},
       γ∈ [0, 1].

	

𝒫1 is an NP-hard problem <cit.>.


§ TASK OFFLOADING OPTIMIZATION SOLUTION

To find the optimal solution of 𝒫1, we introduce a new variable t with additional constraint t = max_k ∈ℳ(∑_i ∈𝒩x_ikG_ik) to transform 𝒫1 to a new problem 𝒫2

	
    𝒫2:			min_X, γ    ψ(X, γ)=λ_tt + λ_e(E^Comp + E^Compr + E^TR)
    s.t     ∑_i ∈𝒩x_ikG_ik≤ t,   ∀  k ∈ℳ, 
       ∑_k ∈ℳx_ik = 1, ∀ i ∈𝒩
        x_ik∈{0, 1},
       γ∈ [0, 1].

	



 §.§ Quadratic Program Transformation

To convert the optimization problem 𝒫2 into a semidefinite program (SDP), we transform it to a quadratically constrained quadratic program (QCQP). Define y = [x^T, γ, t]^T and Q = NM + N, the objective function can be rewritten as
ψ(X, γ) = λ_tt + λ_eP^Comp∑_i ∈𝒩x_i0G_i0 + λ_eP^Compr∑_k ∈ℳ{0}∑_i ∈𝒩x_ikα_iγ + 
λ_e∑_k ∈ℳ{0}∑_i ∈𝒩(P^Txx_ikg_ik^UL(1-γ) + P^Rxx_ikg_ik^DL) = y^T(λ_eP^ComprA_1 - P^Txλ_eA_2)y + b_0^Ty = ψ(y),
where

    A_1 = [    0_Q × Q                0_N× 1 0_(Q+1)× 1;                             α_M2           ;     0_1× N     α_M^T2          0           ;  0_1×(Q+1)                                0           ;            ],

α = [α_1, α_2,..., α_N]^T, α_M = [α^T, α^T,...,α^T_M times]^T,

    A_2 = [     0_Q× Q                0_N× 1 0_(Q+1)× 1;                            g^UL2           ;     0_1× N    g^UL^T2          0           ;  0_1×(Q+1)                                0           ;            ],

g^UL = [g_1^UL^T, g_2^UL^T,..., g_M^UL^T]^T and g^DL = [g_1^DL^T, g_2^DL^T,..., g_M^DL^T]^T where
g_k^UL = [g_1k^UL, g_2k^UL,..., g_Nk^UL]^T, g_k^DL = [g_1k^DL, g_2k^DL,..., g_Nk^DL]^T, k ∈ℳ{0},

b_0 = [λ_eP^Compℓ_0^T, λ_eb_0'^T, 0, λ_t]^T, b_0' = P^Txg^UL + P^Rxg^DL, ℓ_0 = [ω_1r_0, ω_2r_0,...,ω_Nr_0]^T.


We now examine the execution latency constraint

    T_k = ∑_i ∈𝒩x_ikG_ik≤ t, ∀ k ∈ℳ.

Note that G_ik = G_ik(γ) is an affine function of γ∈ [0, 1]. Thus, we have G_ik(γ) ≤max{G_ik|γ = 0; G_ik|γ = 1} or equivalently t ≥max{T_k|γ = 0; T_k|γ = 1}. These constraints, together with constraint (3a) can be rewritten as:


    ∑_i ∈𝒩x_i0ω_ir_0≤ t,


    ∑_i ∈𝒩x_ik(α_iC_k^UL +  ω_ir_k + β_iC_k^DL) ≤ t, ∀ k ∈ℳ{0},


    ∑_i ∈𝒩x_ik(α_iJ^C(1r_0 + 1r_k) + ω_ir_k + β_iC_k^DL) ≤ t, ∀ k ∈ℳ{0}.

Let D = {D_ik} = α_iC_k^UL +  ω_ir_k + β_iC_k^DL where i ∈𝒩, k ∈ℳ{0}; D_k = [D_1k, D_2k,..., D_Nk]^T, i.e., the k^th column of D and G_0 = [G_10, G_20,..., G_N0]^T. Then constraints (4) and (5) are equivalent to 
    A_3y≤0_(M+1)×1,

where A_3 = [  G_0^T 0_1× N 0_1× N      ⋯ 0_1× N      0     -1; 0_1× N  D_1^T 0_1× N      ⋯ 0_1× N      0     -1; 0_1× N 0_1× N  D_2^T      ⋯ 0_1× N      0     -1;      ⋮      ⋮      ⋮      ⋱      ⋮      ⋮      ⋮; 0_1× N 0_1× N 0_1× N      ⋯  D_M^T      0     -1;        ].

Similarly, denote E = {E_ik} = α_iJ^C(1r_0+1r_k) +  ω_ir_k + β_iC_k^DL, where i ∈𝒩, k ∈ℳ{0} and E_k = [E_1k, E_2k,..., E_Nk]^T, i.e., the k^th column of E, then (6) can be rewritten as

    A_4y≤0_M× 1,

where A_4 = [ 0_1× N  E_1^T 0_1× N      ⋯ 0_1× N      0     -1; 0_1× N 0_1× N  E_2^T      ⋯ 0_1× N      0     -1;      ⋮      ⋮      ⋮      ⋱      ⋮      ⋮      ⋮; 0_1× N 0_1× N 0_1× N      ⋯  E_M^T      0     -1;        ].

Finally, the binary constraint (3c) can be replaced by a quadratic one:

    x_ik∈{0, 1}↔ x_ik(x_ik-1) = 0,

and constraint (3d) can be replaced by

    γ∈ [0, 1] ↔γ(γ-1) ≤ 0.


Therefore, problem 𝒫2 is equivalent to 𝒫3:

	
    𝒫3:			min_y    ψ(y)=y^T(λ_eP^ComprA_1 - P^Txλ_eA_2)y + b_0^Ty
    s.t     A_3y≤0_(M+1)× 1, 
       A_4y≤0_M× 1, 
       A_5y= 1_N× 1,
       y^Tdiag(u_p)y - u_p^Ty = 0,       p = 1, 2,..., Q, 
       y^Tdiag(u_Q+1)y - u_Q+1^Ty≤ 0.

	

where A_5 = [I_N, 0, I_N, 1,...,I_N, M, 0_N×1, 0_N×1], I_N, k is a N-dimensional identity matrix, ∀ k ∈ℳ and u_p is a (Q+2)×1 unit vector with the p^th entry being 1. Here, constraint (3a) is equivalent to constraints (7a) and (7b) while constraints (3b), (3c), (3d) are equivalent to constraints (7c), (7d) and (7e), respectively.



 §.§ Semidefinite Relaxation Approach

In this section, we develop an algorithm to tackle problem 𝒫3. According to <cit.>, by adding the rank one constraint, a QCQP problem can be recast a semidefinite program, which can be efficiently solved in polynomial time using a standard SDP solver <cit.>,<cit.>.

Define Z = [ y; 1;   ][y^T    1] and Q_2 = Q+2 = MN + N +2,
𝒫3 is homogenized to 𝒫4

	
    𝒫4:			min_Z    Tr(B_0Z) 
    s.t     Tr(H_hZ) ≤ 0,       h = 1, 2,..., M+1, 
       Tr(J_jZ) ≤ 0,       j = 1, 2,..., M, 
       Tr(G_pZ) = 1,       p = 1, 2,..., N,
       Tr(K_qZ) = 0,       q = 1, 2,..., Q, 
       Tr(K_qZ) ≤ 0,       q = Q+1, 
       Z≽ 0, rank(Z) = 1, z_Q+3, Q+3 = 1.

	

where 

B_0 = [     A_6   12b_0; 12b_0^T       0 ],
A_6 = λ_eP^ComprA_1 - λ_eP^TxA_2,
H_h = [ 0_Q_2× Q_2  A_3, h^T2;    A_3, h2          0 ],
J_j = [ 0_Q_2× Q_2  A_4, j^T2;    A_4, j2          0 ],
G_p = [ 0_Q_2× Q_2  A_5, p^T2;    A_5, p2          0 ],
K_q = [ diag(u_q)     -u_q2;   -u_q^T2         0 ].

Moreover, z_Q+3, Q+3 is the element at row Q+3 and column Q+3 of the matrix Z; A_3, h, A_4, j and A_5, p are the h^th, j^th and p^th row of the matrix A_3, A_4 and A_5, respectively. Constraints (7a)-(7e) correspond to constraints (8a)-(8e), respectively.

Constraint rank(Z) = 1 is the only non-convex constraint in problem 𝒫4 while other constraints and the objective function are convex. Let Z^* is the optimal solution of problem 𝒫4 without the rank constraint found by the convex programming solver. If Z^* is of rank 1, then the found solution is optimal. If rank(Z^*) ≠ 1, we propose an algorithm to obtain an near-optimal solution for problem 𝒫1 based on Gaussian randomization. The main ideas of the algorithm are as follows:

	
  * Generate randomly L feasible solutions of 𝒫1 based on a multivariate Gaussian distribution having zero mean and Z' as the covariance matrix, where Z' is the Q× Q upper-left sub-matrix of Z^*;
	
  * Determine the solution that minimizes the objective function in 𝒫1.


Once the sub-matrix Z' is extracted from Z, we can generate L random (MN+N)× 1 vectors where the l^th vector denoted by x̂^(l) is based on x̂^(l)∼𝒩(0_(MN+N)× 1, Z'),  l = 1,..., L. Note that the number of elements in x̂^(l) is equal to the number of elements in x. Here, we need to recover the binary characteristic of x̂^(l) to make it a valid solution of 𝒫1. To satisfy constraint (2a), we recover the binary characteristic of x̂^(l) as follows:


	
  * Reshape x̂^(l)∈ [0, 1]^(MN+N) to its corresponding matrix form X̂^(l)∈ [0, 1]^N×(M+1);
	
  * For each row of X̂^(l), set the element with the highest value to 1 and the others to 0 to obtain the matrix X̅^(l)∈{0, 1}^N×(M+1).

Finally, the optimal solution to 𝒫1 can be obtained by searching over all L matrices X̅^(l).

The detailed algorithm is described in Algorithm 1 which can be considered as a variant of the randomization approaches in <cit.>,<cit.>,<cit.>. Note that the symbols z^*_ik, x̂^(l)_ik and x̅^(l)_ik represent the element in i^th row and k^th column of matrix Z^*, X̂^(l) and X̅^(l), respectively.





§ SIMULATION RESULTS

In this section, we investigate the performance of the proposed algorithm based on the parameters value specified in <cit.>,<cit.>,<cit.>,<cit.>. Concretely, we consider a device with CPU frequency of 400×10^6 Hertz and P^Comp, P^Tx, P^Rx of 0.8W, 1.258W and 1.181W, respectively. We choose Gzip as the application to show the relationship between the number of computational cycles and input data size, that is, ω_i = κα_i where κ = 330 cycles/bit, according to <cit.>. The output data size β_i is set to be of 20% of the input data size α_i. The size of input data is α_i = 4Mb, ∀ i ∈𝒩. The uplink and downlink data rates are controlled in three ranges, from 500kbps to 1Mbps, 1Mbps to 2Mbps and 2Mbps to 10Mbps representing low, average and high data rate ranges, respectively. The weights are λ_t = λ_e = 0.5. The parameters J^C and E^C are uniformly distributed within [200, 500] cycles/bit and [10, 20]× 10^-11 Joules/cycle, respectively. The number of Gaussian samples L = 100 and the number of CAPs is two, whose rates are 2× 10^9 and 2.2× 10^9 Hertz. The simulation results are obtained after averaging over 50 realizations.

Fig. <ref> compares the proposed scheme with the benchmark one where there is no data compression before the transmission. It is shown that the MD's energy and time response of the applications are saved the most when data rate is low. When the data rate increases, the total cost functions of the two algorithms are reduced as compared to the low data rate case, and the data compression step has less effect on the cost reduction. Finally, in case of high data rate range of [2, 10] Mbps, the two schemes output the same results when the MD decides that there is no need to compress the data before offloading because the amount of time response saved outweighs the amount of energy used for wireless transmission.



§ CONCLUSION

This work has investigated a computation offloading framework where one MD can offload tasks to different available CAPs. We have focused on minimizing the total cost which includes both the MD tasks' execution latency and energy consumption by coupling data compression and task allocation decisions. The non-convex problem was converted into a convex one through an SDR approach. Our simulations show that the data compression scheme is advantageous in cases of low data rates. In this work, we apply the same data compression ratio to all the offloaded tasks, which may not true in reality when the data sizes vary among different tasks. Thus, this scenario may serve as a fruitful avenue for future works.



§ ACKNOWLEDGEMENT

This research is funded by Vietnam National Foundation for Science and Technology Development (NAFOSTED) under grant number 102.04-2017.308.

00
b1 K. Kumar, J. Liu, Y.-H. Lu, and B. Bhargava, "A survey of computation offloading for mobile systems," Mobile Networks and Applications, vol. 18, no. 1, pp. 129–140, Feb. 2013
b2 D. Xu, Q. Li and H. Zhu, "Energy-Saving Computation Offloading by Joint Data Compression and Resource Allocation for Mobile-Edge Computing," IEEE Commun. Letters, vol. 23, no. 4, pp. 704-707, Apr. 2019.
b3 M. Chen, B. Liang and M. Dong, "A semidefinite relaxation approach to mobile cloud offloading with computing access point," in Proc. IEEE SPAWC, Stockholm, 2015, pp. 186-190.
b4 T. Q. Dinh, J. Tang, Q. D. La and T. Q. S. Quek, "Offloading in Mobile Edge Computing: Task Allocation and Computational Frequency Scaling," IEEE Trans Commun, vol. 65, no. 8, pp. 3571-3584, Aug. 2017.
b5 M. Satyanarayanan, P. Bahl, R. Caceres, and N. Davies, "The case for VM-based cloudlets in mobile computing," IEEE Pervasive Comput., vol. 8, no. 4, pp. 14–23, Oct. 2009.
b6 T. Q. Quek, G. de la Roche, I. Güvenç, and M. Kountouris, Small cell networks: Deployment, PHY techniques, and resource management. Cambridge University Press, 2013.
b7 D. Salomon, Data compression: the complete reference. Springer Science & Business Media, 2004.
b8 X. Li, C. You, S. Andreev, Y. Gong, and K. Huang, "Wirelessly powered crowd sensing: Joint power transfer, sensing, compression, and transmission," IEEE J. Sel. Areas Commun., vol. 37, no. 2, pp. 391–406, 2019.
b9 P. Mach and Z. Becvar, "Mobile edge computing: A survey on architecture and computation offloading," IEEE Commun. Surveys Tuts., vol. 19, no. 3, pp. 1628–1656, 2017.
b10 M.-R. Ra, A. Sheth, L. Mummert, P. Pillai, D. Wetherall, and R. Govindan, "Odessa: Enabling interactive perception applications on mobile devices," in Proc. ACM MobiSys, Bethesda, MD, USA, Jun. 2011, pp. 43–56.
b11 X. Gu, K. Nahrstedt, A. Messer, I. Greenberg, and D. Milojicic, "Adaptive offloading for pervasive computing," IEEE Pervasive Comput., vol. 3, no. 3, pp. 66–73, Jul. 2004.
b12 Z. Li, C. Wang, and R. Xu, "Computation offloading to save energy on handheld devices: A partition scheme," in Proc. Int. Conf. Compilers, Architecture, and Synthesis for Embedded Systems, Atlanta, GA, USA, Nov. 2001, pp. 238–246.
b13 K. Kumar and Y.-H. Lu, "Cloud computing for mobile users: Can offloading computation save energy?" Computer, vol. 43, no. 4, pp. 51–56, Apr. 2010.
b14 Z.-Q. Luo, W.-K. Ma, A.-C. So, Y. Ye, and S. Zhang, "Semidefinite relaxation of quadratic optimization problems," IEEE Signal Process. Mag., vol. 27, pp. 20–34, 2010.
b15 O. Munoz, A. Pascual-Iserte, and J. Vidal, "Optimization of radio and computational resources for energy efficiency in latency-constrained application offloading," IEEE Trans. Veh. Technol., vol. 64, no. 10, pp. 4738–4755, Oct. 2015.
b16 Z.-Q. Luo, W.-k. Ma, A. M.-C. So, Y. Ye, and S. Zhang, "Semidefinite relaxation of quadratic optimization problems," IEEE Signal Process. Mag., vol. 27, no. 3, pp. 20–34, May 2010.
b17 M. Grant, S. Boyd, and Y. Ye, "CVX: Matlab software for disciplined convex programming," 2009. [Online]. Available: http://cvxr.com/cvx/.
b18 D. Bertsimas and Y. Ye, "Semidefinite relaxations, multivariate normal distributions, and order statistics," in Handbook of Combinatorial Optimization. Springer, 1998, pp. 1473–1491.
b19 Z.-Q. Luo, N. D. Sidiropoulos, P. Tseng, and S. Zhang, "Approximation bounds for quadratic optimization with homogeneous quadratic constraints," SIAM Journal on optimization, vol. 18, no. 1, pp. 1–28, Feb. 2007.
b20 A. P. Miettinen and J. K. Nurminen, "Energy efficiency of mobile clients in cloud computing," in Proc. 2nd USENIX Conference on Hot Topics in Cloud Computing, Boston, MA, USA, Jun. 2010, pp. 4–11.
b21 Y. Xiao, P. Savolainen, A. Karppanen, M. Siekkinen, and A. Ylä-Jääski, "Practical power modeling of data transmission over 802.11 g for wireless applications," in Proc. 1st Int. Conf. Energy-Efficient Comput. Netw., Passau, Germany, 2010, pp. 75–84.

