This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Joint Beamforming and Computation Offloading for Multi-user Mobile-Edge Computing

Changfeng Ding1, Jun-Bo Wang12, Ming Cheng1, Chuanwen Chang3, Jin-Yuan Wang4, and Min Lin4 1National Mobile Communications Research Laboratory, Southeast University, Nanjing 211111, China. 2School of Cyber Science and Engineering, Southeast University, Nanjing 211111, China. 3The 28th Research Institute of China Electronics Technology Group Corporation, Nanjing 210007, China. 4School of Science, Nanjing University of Posts and Telecommunications, Nanjing 210003, China. E-mail: {cfding, jbwang, mingcheng}@seu.edu.cn, [email protected], {jywang, linmin}@njupt.edu.cn
Abstract

Mobile edge computing (MEC) is considered as an efficient method to relieve the computation burden of mobile devices. In order to reduce the energy consumption and time delay of mobile devices (MDs) in MEC, multiple users multiple input and multiple output (MU-MIMO) communications is considered to be applied to the MEC system. The purpose of this paper is to minimize the weighted sum of energy consumption and time delay of MDs by jointly considering the offloading decision and MU-MIMO beamforming problems. And the resulting optimization problem is a mixed-integer non-linear programming problem, which is NP-hard. To solve the optimization problem, a semidefinite relaxation based algorithm is proposed to solve the offloading decision problem. Then, the MU-MIMO beamforming design problem is handled with a newly proposed fractional programming method. Simulation results show that the proposed algorithms can effectively reduce the energy consumption and time delay of the computation offloading.

I Introduction

Based on the fast development of electronic devices and mobile communication technologies, smart mobile devices (MDs) are expected to run more complicate applications such as face recognition, interactive gaming, and augmented reality, etc. Unfortunately, due to the constraints of cost and physical size, most MDs do not have enough energy supply or computation capability to run complicate applications. Therefore, efficient methods are required to relieve the contradiction between complicate applications’ demands and limited resources at MDs.

Driven by the growing demands of Internet of Things and mobile applications, mobile edge computing (MEC) is considered as a promising way to enable computation-intensive and latency-critical applications at the resource-limited MDs [1]. In MEC, the computing server is implemented at the edge of the network. Therefore, the computation intensive tasks of MDs can be handled by those edge node to reduce the energy consumption and time delay of certain applications. To promote the application of MEC, a lot of work has been done. The computation offloading strategy and radio resources allocation are jointly considered in an edge and central cloud computing system to optimize the energy consumption and time delay in [2]. The authors in [3] studied an offloading system where a MD can offload computation tasks to multiple edge servers, in which fixed and elastic CPU frequency are considered for MD. In most of the existing studies, MDs and base station (BS) are assumed to be equipped with single antenna, only a few researchers have applied the multi-antenna technology to MD or BS. Multi-antenna based energy harvesting strategy was introduced into MEC system [4] to enhance the computation capability and prolong the operation time of MDs. To realize wireless backhaul and exploit benefits from multi-antenna, the authors in [5] proposed to use receive beamforming at a multi-antenna BS, while multiple single antenna MDs transmit by using orthogonal multiple access techniques such as time/frequency-division. To improve the computation offloading efficiency, the authors in [6] utilized multi-antenna at both MD and BS to realize MIMO transmission. However, the MDs in the small cell still use orthogonal frequency resources.

With the growing of communication technologies, some novel techniques, such as massive MIMO technology [7], can be adopted to improve system’s performance. Uplink MU-MIMO communications was studied in [8], and the results show that uplink MU-MIMO communications can lead to significant improvement in cell throughput. The work in [9] showed that using multi-antenna for MIMO transmission can effectively reduce the transmission power and increase energy efficiency. Inspired by this, applying MU-MIMO transmission to MEC may further bring extra benefits and improve the performance of energy consumption and time delay during computation offloading.

In this paper, we consider the fusion of MEC and MU-MIMO communication to realize the MU-MIMO computation offloading for multiple MDs in the coverage area of a BS. The optimization problem is formulated as a joint offloading decision-making and MU-MIMO beamforming design problem under the constraints of maximum transmit power and time delay. The problem is a mixed-integer non-linear programming problem, which is NP-hard. Due to the complexity of the optimization problem, we deal with the optimization problem in two steps. First, the optimization problem is reformulated via quadratic constrained quadratic programming (QCQP) and semidefinite relaxation (SDR). And the offloading decisions are obtained through the approximation of the SDR solution as in Algorithm 1. Then, a fractional programming based method is adopted to transform the non-convex MU-MIMO beamforming problem into a convex one. And the optimal beamforming matrices are acquired via the proposed Algorithm 2. Simulation results show that the proposed MU-MIMO computation offloading method can effectively reduce the time delay and energy consumption.

II System Model

As shown in figure 1, this paper considers a MEC system that consists of a BS equipped with a MEC server and MM antennas and KK MDs equipped with NN antennas. Define 𝕌={1,,K}{\mathds{U}}=\left\{{1,\ldots,K}\right\} as the set of MDs. Then for MD kk (k𝕌k\in{\mathds{U}}), its computation task can be processed locally or offloaded to the BS. With the collected information from MDs (e.g. computation task size, local computing capability, channel state information and maximum tolerable delay), the BS can make optimized offloading decisions for MDs. A quasi-static scenario is considered where all the MDs remain stationary during an offloading period [3].

Refer to caption
Figure 1: Illustration of a MEC system

In this paper, uplink MU-MIMO communications are considered for computation offloading. Without loss of generality, each MD supports the transmission of dd streams over NN antennas (dNd\leq N and KdMKd\leq M). Let 𝕌o={1,,No}𝕌{{\mathds{U}}_{o}}=\left\{{1,\ldots,{N_{o}}}\right\}\subseteq{\mathds{U}} be the set of offloading MDs. When MD kk (k𝕌ok\in{{\mathds{U}}_{o}}) offloads its task to the BS, the received signal of lth{l_{th}} data stream from MD kk at BS can be expressed as [9]

yk,l\displaystyle{y_{k,l}} =\displaystyle= 𝐯k(l)H𝐇k𝐪k(l)xk,l\displaystyle{\bf{v}}_{k(l)}^{H}{{\bf{H}}_{k}}{{\bf{q}}_{k(l)}}{x_{k,l}} (1)
+\displaystyle+ 𝐯k(l)Hi𝕌o,ikj=1d𝐇i𝐪i(j)xi,j+𝐯k(l)H𝐧\displaystyle{\bf{v}}_{k(l)}^{H}\sum\limits_{i\in{{\mathds{U}}_{o}},i\neq k}{\sum\limits_{j=1}^{d}{{{\bf{H}}_{i}}{{\bf{q}}_{i(j)}}{x_{i,j}}}}+{\bf{v}}_{k(l)}^{H}{\bf{n}}

where 𝐪k(l){{\bf{q}}_{k(l)}} and 𝐯k(l){{\bf{v}}_{k(l)}} are the lth{l_{th}} column of N×dN\times d transmit beamforming matrix 𝐐k{{\bf{Q}}_{k}} and M×dM\times d receive beamforming matrix 𝐕k{{\bf{V}}_{k}}, respectively. xk,l{x_{k,l}} is the lth{l_{th}} symbol of the transmitted d×1d\times 1 data vector 𝐱k{{\bf{x}}_{k}}, and 𝐱k{{\bf{x}}_{k}} satisfies E[𝐱k𝐱kH]=IdE[{{\bf{x}}_{k}}{\bf{x}}_{k}^{H}]={I_{d}} and E[𝐱k𝐱lH]=𝟎E[{{\bf{x}}_{k}}{\bf{x}}_{l}^{H}]={\bf{0}} for klk\neq l. 𝐇k{{\bf{H}}_{k}} denotes the M×NM\times N channel matrix from MD kk to BS. 𝐧{\bf{n}} denotes the additive white Gaussian noise (AWGN) vector and E[𝐧𝐧H]=σ2𝐈ME[{\bf{n}}{{\bf{n}}^{H}}]={\sigma^{2}}{{\bf{I}}_{M}}. According to (1), the achievable data rate Rk{R_{k}} of the MD k{k} can be given by

Rk=l=1dBWlog2(1+𝐪k(l)H𝐇kH𝐯k(l)IN1𝐯k(l)H𝐇k𝐪k(l)){R_{k}}=\sum\limits_{l=1}^{\rm{d}}{B_{W}{{\log}_{2}}\left({1+{\bf{q}}_{k(l)}^{H}{\bf{H}}_{k}^{H}{{\bf{v}}_{k(l)}}{I_{N}^{-1}}{\bf{v}}_{k(l)}^{H}{{\bf{H}}_{k}}{{\bf{q}}_{k(l)}}}\right)} (2)

where BWB_{W} (Hz) is the system bandwidth and IN=iUo,ikj=1d𝐯k(l)H𝐇i𝐪i(j)𝐪i(j)H𝐇iH𝐯k(l)+σ2𝐯k(l)H𝐯k(l)I_{N}=\sum\nolimits_{i\in{U_{o}},i\neq k}{\sum\nolimits_{j=1}^{d}{{\bf{v}}_{k(l)}^{H}{{\bf{H}}_{i}}{{\bf{q}}_{i(j)}}{\bf{q}}_{i(j)}^{H}{\bf{H}}_{i}^{H}{{\bf{v}}_{k(l)}}}}+{\sigma^{2}}{\bf{v}}_{k(l)}^{H}{{\bf{v}}_{k(l)}}.

The computation task of MD kk is presented as Jk=(Bk,τmaxk){J_{k}}=\left({{B_{k}},\tau_{\max}^{k}}\right) (k𝕌k\in{\mathds{U}}), where Bk{B_{k}} (in bits) denotes the size of input data and τmaxk\tau_{\max}^{k} is the maximum tolerable delay (in seconds). Since the computation result is usually small, the time delay of receiving computation result is uauslly omitted [10]. For MD kk (k𝕌l=𝕌\𝕌ok\in{{\mathds{U}}_{l}}={\mathds{U}}\backslash{{\mathds{U}}_{o}}) in local computing, the local computation time can be expressed as Tloc,k=Ck/floc,k{T_{loc,k}}={{{C_{k}}}}/{{{f_{loc,k}}}}, where Ck=αBk{C_{k}}=\alpha{B_{k}} is the total number of CPU cycles to finish task computing and α\alpha (cycles/bit) is the processing density, and floc,k{f_{loc,k}} is the local computation capability (cycles/s) of MD kk. According to [11], the energy consumption of MD kk in local computing can be given as Eloc,k=κCkfloc,k2{E_{loc,k}}=\kappa{C_{k}}f_{loc,k}^{2}, where κ\kappa is a constant related to the hardware architecture [12].

To simplify the analysis, it is assumed that the BS starts task computation after receiving all MDs’ tasks. Hence, the data transmission delay of MD kk in 𝕌o{{\mathds{U}}_{o}} is given as Ttran,k=maxiUo{Bi/Ri}{T_{tran,k}}={\max_{i\in{U_{o}}}}\left\{{{B_{i}}/{R_{i}}}\right\}. While the execution time delay at BS can be formulated as Tc,k=Ck/fc,k{T_{c,k}}={{{C_{k}}}}/{{{f_{c,k}}}}, where fc,k{f_{c,k}} (cycles/s) is the computation resource allocated to MD kk.

According to the analysis stated above, when offloading decision is considered, the time delay of MD kk in 𝕌{\mathds{U}} during computation offloading can be denoted as Toff,k=maxiU{ciBi/Ri}+Tc,k{T_{off,k}}={\max_{i\in U}}\left\{{{{{c_{i}}{B_{i}}}\mathord{\left/{\vphantom{{{c_{i}}{B_{i}}}{{R_{i}}}}}\right.\kern-1.2pt}{{R_{i}}}}}\right\}+{T_{c,k}}, where ci{0,1}{c_{i}}\in\left\{{0,1}\right\} is the offloading decision of MD ii. If ci=0{c_{i}}=0, the MD ii computes its task at local; otherwise, the task is offloaded to the BS.

The circuit energy consumption of MD kk during idle time Tc,k{T_{c,k}} can be formulated as Ec,k=pkidTc,k{E_{c,k}}=p_{k}^{id}{T_{c,k}}, where pkidp_{k}^{id} is the power consumption (in watt) in idle state. Therefore, the energy consumption of MD kk during computation offloading can be given as Eoff,k=(Bk/Rk)pkt+Ec,k{E_{off,k}}=\left({{{{B_{k}}}\mathord{\left/{\vphantom{{{B_{k}}}{{R_{k}}}}}\right.\kern-1.2pt}{{R_{k}}}}}\right)p_{k}^{t}+{E_{c,k}}, where pkt=𝐐kF2p_{k}^{t}=\left\|{{{\bf{Q}}_{k}}}\right\|_{F}^{2} is the transmission power of MD kk. Since the computing result is usually small, the energy consumption of receiving the computing result is ignored at MD side. Finally, the time delay and energy consumption of MD kk can be computed respectively as

Ek\displaystyle{E_{k}} =\displaystyle= (1ck)Eloc,k+ckEoff,k\displaystyle\left({1-{c_{k}}}\right){E_{loc,k}}+{c_{k}}{E_{off,k}} (3)
Tk\displaystyle{T_{k}} =\displaystyle= (1ck)Tloc,k+ckToff,k.\displaystyle\left({1-{c_{k}}}\right){T_{loc,k}}+{c_{k}}{T_{off,k}}. (4)

Based on the above analysis, the objective of this paper is to minimize the weighted sum of energy consumption and time delay of all MDs. Mathematically, the optimization problem is formulated as

P1:min𝐜,,𝕍k=1K(λkeEk+λktTk)\displaystyle P1:{\rm{}}\mathop{\min}\limits_{{\bf{c}},{\mathds{Q,V}}}{\rm{}}\sum\limits_{k=1}^{K}{\left({\lambda_{k}^{e}{E_{k}}+\lambda_{k}^{t}{T_{k}}}\right)} (5a)
s.t.ck{0,1},k𝕌\displaystyle s.t.~{}~{}{c_{k}}\in\left\{{0,1}\right\},\forall k\in{\mathds{U}} (5b)
pktPmaxk,k𝕌\displaystyle p_{k}^{t}\leq P_{\max}^{k}{\rm{,}}\forall k\in{\mathds{U}} (5c)
Tkτmaxk,k𝕌\displaystyle{T_{k}}\leq\tau_{\max}^{k}{\rm{,}}\forall k\in{\mathds{U}} (5d)

where ={𝐐1,,𝐐K}{\mathds{Q}}=\left\{{{{\bf{Q}}_{1}},\ldots,{{\bf{Q}}_{K}}}\right\} and 𝕍={𝐕1,,𝐕K}{\mathds{V}}=\left\{{{{\bf{V}}_{1}},\ldots,{{\bf{V}}_{K}}}\right\} are the sets of transmit beamforming matrices and receive beamforming matrices, respectively. 𝐜=[c1,c2,,cK]T{\bf{c}}={[{c_{1}},{c_{2}},\ldots,{c_{K}}]^{T}} is the offloading decisions of all MDs. PmaxkP_{\max}^{k} is the maximum transmit power of MD kk. Note that in (5), the constraint (5b) guarantees that the offloading decision of each MD is binary variable. Constraint (5c) denotes the maximum transmission power of each MD, and constraint (5d) indicates the maximum tolerable delay. It can be observed that (5) is a mixed-integer non-linear programming problem, which is generally NP-hard [13]. Due to space limitation, the proof of the NP-hard problem (5) is omitted.

III Uplink MU-MIMO Offloading Decision Making

In this section, the QCQP and SDR based transformations are proposed to solve the offloading decision problem. Let max{Bk/Rkpkt}=pkcom\max\left\{{{{{B_{k}}}}/{{{R_{k}}}}p_{k}^{t}}\right\}=p_{k}^{com} and maxk𝕌{ckBk/Rk}=t{\max_{k\in{\mathds{U}}}}\left\{{{c_{k}}{{{B_{k}}}}/{{{R_{k}}}}}\right\}=t, we have BkpktpkcomRk,k𝕌{B_{k}}p_{k}^{t}\leq p_{k}^{com}{R_{k}},\forall k\in{\mathds{U}} and BkcktRk,k𝕌{B_{k}}{c_{k}}\leq t{R_{k}},\forall k\in{\mathds{U}}. Then, the problem (5) can be transformed to the problem (6) as

P2:min𝐜,,𝕍,𝐩com,tk=1K(δkck+λkeckpkcom+λktckt)+η\displaystyle P2:{\!\!\!\!\!\!\!\!}\mathop{\min}\limits_{{\bf{c}},{\mathds{Q,V}},{\bf{p}}^{com},t}{\rm{}}\sum\limits_{k=1}^{K}{\left({{\delta_{k}}{c_{k}}\!+\!\lambda_{k}^{e}{c_{k}}p_{k}^{com}\!+\!\lambda_{k}^{t}{c_{k}}t}\right)}\!+\!\eta (6a)
s.t.ck(1ck)=0,k𝕌\displaystyle s.t.~{}~{}{\rm{}}{c_{k}}\left({1-{c_{k}}}\right)=0{\rm{}},\forall k\in{\mathds{U}} (6b)
BkpktpkcomRk,k𝕌\displaystyle{B_{k}}p_{k}^{t}\leq p_{k}^{com}{R_{k}}{\rm{}},\forall k\in{\mathds{U}} (6c)
BkcktRk,k𝕌\displaystyle{B_{k}}{c_{k}}\leq t{R_{k}}{\rm{}},\forall k\in{\mathds{U}} (6d)
(1ck)Tloc,k+ck(t+Tc,k)τmaxk,k𝕌\displaystyle\left({1-{c_{k}}}\right)T_{loc,k}+{c_{k}}\left({t+T_{c,k}}\right)\leq\tau_{\max}^{k}{\rm{}},\forall k\in{\mathds{U}} (6e)
pktPmaxk,k𝕌\displaystyle p_{k}^{t}\leq P_{\max}^{k}{\rm{}},\forall k\in{\mathds{U}} (6f)

where 𝐩com={p1com,,pKcom}{{\bf{p}}^{com}}=\left\{{p_{1}^{com},\ldots,p_{K}^{com}}\right\}, δk=λkeEc,k+λktTc,k(λkeEloc,k+λktTloc,k){\delta_{k}}=\lambda_{k}^{e}E_{c,k}+\lambda_{k}^{t}T_{c,k}{\rm{-}}\left({\lambda_{k}^{e}E_{loc,k}+\lambda_{k}^{t}T_{loc,k}}\right) (k𝕌\forall k\in{\mathds{U}}) and η=k=1K(λkeEloc,k+λktTloc,k)\eta{\rm{=}}\sum\nolimits_{k=1}^{K}{\left({\lambda_{k}^{e}E_{loc,k}+\lambda_{k}^{t}T_{loc,k}}\right)} are constant, and η\eta can be omitted in the following analysis. The integer constraint in (5b) is replaced by quadratic constraint in (6b). To perform the QCQP transformation, a (4K+1)×1(4K+1)\times 1 vector s is defined as

𝐬=[c1,,cK,R1,,RK,p1com,,pKcom,p1t,,pKt,t]T.{\bf{s}}\!=\!{\left[\!{{c_{1}},\!\ldots\!,{c_{K}},{R_{1}},\!\ldots\!,{R_{K}},p_{1}^{com},\!\ldots\!,p_{K}^{com},p_{1}^{t},\!\ldots\!,p_{K}^{t},t}\right]^{T}}. (7)

Mathematically, P2 is transformed into the following standard QCQP problem

P3:mins(𝐬T𝐌1𝐬+2𝐜0T𝐬)\displaystyle P3:{\rm{}}\mathop{\min}\limits_{s}\left({{{\bf{s}}^{T}}{{\bf{M}}_{1}}{\bf{s}}+2{\bf{c}}_{0}^{T}{\bf{s}}}\right) (8a)
s.t.𝐬Tdiag(𝐞k)𝐬𝐞kT𝐬=0,k𝕌\displaystyle s.t.~{}~{}{\rm{}}{{\bf{s}}^{T}}{\rm{diag}}\left({{{\bf{e}}_{k}}}\right){\bf{s}}-{\bf{e}}_{k}^{T}{\bf{s}}=0,{\rm{}}\forall k\in{\mathds{U}} (8b)
𝐬T𝐌2𝐬+Bk(𝐞3K+kT𝐬)0,k𝕌\displaystyle{{\bf{s}}^{T}}{{\bf{M}}_{2}}{\bf{s}}+{B_{k}}\left({{\bf{e}}_{3K+k}^{T}{\bf{s}}}\right)\leq 0,{\rm{}}\forall k\in{\mathds{U}} (8c)
𝐬T𝐌3𝐬+(Bk𝐞kT)𝐬0,k𝕌\displaystyle{{\bf{s}}^{T}}{{\bf{M}}_{3}}{\bf{s}}+\left({{B_{k}}{\bf{e}}_{k}^{T}}\right){\bf{s}}\leq 0,{\rm{}}\forall k\in{\mathds{U}} (8d)
𝐬T𝐌4𝐬+(Tloc,k𝐞kT)𝐬+Tloc,kτmaxk,k𝕌\displaystyle{{\bf{s}}^{T}}{{\bf{M}}_{4}}{\bf{s}}+\left({-T_{loc,k}{\bf{e}}_{k}^{T}}\right){\bf{s}}+T_{loc,k}\leq\tau_{\max}^{k}{\rm{,}}\forall k\in{\mathds{U}} (8e)
(𝐞3K+kT𝐬)Pmaxk,k𝕌\displaystyle\left({{\bf{e}}_{3K+k}^{T}{\bf{s}}}\right)\leq P_{\max}^{k}{\rm{,}}\forall k\in{\mathds{U}} (8f)

where 𝐜0=(1/2)[δ1,,δK,𝟎1×3K,01×1]T{{\bf{c}}_{0}}=\left({1/2}\right){\left[{{\delta_{1}},\ldots,{\delta_{K}},{{\bf{0}}_{1\times 3K}},{0_{1\times 1}}}\right]^{T}} is a constant (4K+1)×1\left({4K+1}\right)\times 1 vector; 𝐞k{{\bf{e}}_{k}} and 𝐞k{{\bf{e}}^{\prime}_{k}} are standard unit vector with size of (4K+1)×1{\left({4K+1}\right)\times 1} and K×1K\times 1, respectively. And the matrices of 𝐌1{{\bf{M}}_{1}}, 𝐌2{{\bf{M}}_{2}}, 𝐌3{{\bf{M}}_{3}}, 𝐌4{{\bf{M}}_{4}}, 𝐌5{{\bf{M}}_{5}}, 𝐃e{{\bf{D}}_{e}}, 𝐜t{{\bf{c}}_{t}} and 𝐃p{{\bf{D}}_{p}} in (8) are listed as follows

𝐌1=12[𝟎K×K𝟎K×K𝐃e𝟎K×K𝐜t𝟎K×K𝟎K×K𝟎K×K𝟎K×K𝟎K×1𝐃e𝟎K×K𝟎K×K𝟎K×K𝟎K×1𝟎K×K𝐜tT𝟎K×K𝟎1×K𝟎K×K𝟎1×K𝟎K×K𝟎1×K𝟎K×101×1](4K+1)×(4K+1){{\bf{M}}_{1}}\!=\!\!\frac{1}{2}\!{\left[\!\!\!\!\!{\begin{array}[]{*{20}{c}}{{{\bf{0}}_{K\times K}}}&\!\!\!\!\!\!{{{\bf{0}}_{K\times K}}}&\!\!\!\!\!\!\!{{{\bf{D}}_{e}}}&{\begin{array}[]{*{20}{c}}\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!{{{\bf{0}}_{K\times K}}}&{{{\bf{c}}_{t}}}\end{array}}\\ {{{\bf{0}}_{K\times K}}}&\!\!\!\!\!\!\!{{{\bf{0}}_{K\times K}}}&\!\!\!\!\!{{{\bf{0}}_{K\times K}}}&\!\!\!\!\!\!\!\!\!{\begin{array}[]{*{20}{c}}\!\!{{{\bf{0}}_{K\times K}}}&\!{{{\bf{0}}_{K\times 1}}}\end{array}}\\ \!{{{\bf{D}}_{e}}}&\!\!\!\!\!\!\!{{{\bf{0}}_{K\times K}}}&\!\!\!\!\!{{{\bf{0}}_{K\times K}}}&\!\!\!\!\!\!\!\!\!\!{\begin{array}[]{*{20}{c}}\!{{{\bf{0}}_{K\times K}}}&\!{{{\bf{0}}_{K\times 1}}}\end{array}}\\ \!{\begin{array}[]{*{20}{c}}{{{\bf{0}}_{K\times K}}}\\ {{\bf{c}}_{t}^{T}}\end{array}}&\!\!\!\!\!\!\!\!\!{\begin{array}[]{*{20}{c}}{{{\bf{0}}_{K\times K}}}\!\!\\ {{{\bf{0}}_{1\times K}}}\end{array}}&\!\!\!\!\!{\begin{array}[]{*{20}{c}}{{{\bf{0}}_{K\times K}}}\\ \!{{{\bf{0}}_{1\times K}}}\end{array}}&\!\!\!\!\!\!\!\!\!\!\!{\begin{array}[]{*{20}{c}}{\begin{array}[]{*{20}{c}}{{{\bf{0}}_{K\times K}}}\\ \!\!{{{\bf{0}}_{1\times K}}}\end{array}}&\!\!\!\!\!\!\!\!{\begin{array}[]{*{20}{c}}{{{\bf{0}}_{K\times 1}}}\\ \!\!{{0_{1\times 1}}}\end{array}}\end{array}}\end{array}}\!\!\!\!\!\!\!\!\!\right]_{\!\!\left(\!{4K\!+\!1}\right)\!\times\!\left(\!{4K\!+\!1}\right)}} (9)
𝐌2=[𝟎K×K𝟎K×2K𝟎K×(K+1)𝟎2K×K𝐃p𝟎2K×(K+1)𝟎(K+1)×K𝟎(K+1)×2K𝟎(K+1)×(K+1)](4K+1)×(4K+1){{\bf{M}}_{2}}\!=\!\!{\left[\!\!\!\!{\begin{array}[]{*{20}{c}}{{{\bf{0}}_{K\!\times\!K}}}&{{{\bf{0}}_{K\!\times\!2K}}}&{{{\bf{0}}_{K\!\times\!\left(\!{K+1}\right)}}}\\ {{{\bf{0}}_{2K\!\times\!K}}}&{{{\bf{D}}_{p}}}&{{{\bf{0}}_{2K\!\times\!\left(\!{K+1}\right)}}}\\ {{{\bf{0}}_{\left(\!{K+1}\right)\!\times\!K}}}&{{{\bf{0}}_{\left(\!{K+1}\right)\!\times\!2K}}}&{{{\bf{0}}_{\left(\!{K+1}\right)\!\times\!\left(\!{K+1}\right)}}}\end{array}}\!\!\!\!\right]_{\!\!\left(\!{4K\!+\!1}\right)\!\times\!\left(\!{4K\!+\!1}\right)}} (10)
𝐌3=12[𝟎K×K𝟎K×K𝟎K×2K𝟎K×1𝟎K×K𝟎K×K𝟎K×2K𝐞p𝟎2K×K𝟎2K×K𝟎2K×2K𝟎2K×1𝟎1×K(𝐞p)T𝟎1×2K01×1](4K+1)×(4K+1){{\bf{M}}_{3}}\!=\!\!-\frac{1}{2}\!{\left[\!\!\!\!{\begin{array}[]{*{20}{c}}{{{\bf{0}}_{K\times K}}}&\!\!\!\!{{{\bf{0}}_{K\times K}}}&\!\!\!\!{{{\bf{0}}_{K\times 2K}}}&\!\!\!\!{{{\bf{0}}_{K\times 1}}}\\ {{{\bf{0}}_{K\times K}}}&\!\!\!\!{{{\bf{0}}_{K\times K}}}&\!\!\!\!{{{\bf{0}}_{K\times 2K}}}&\!\!\!\!{{\bf{e}}^{\prime}_{p}}\\ {{{\bf{0}}_{2K\times K}}}&\!\!\!\!{{{\bf{0}}_{2K\times K}}}&\!\!\!\!{{{\bf{0}}_{2K\times 2K}}}&\!\!\!\!{{{\bf{0}}_{2K\times 1}}}\\ {{{\bf{0}}_{1\times K}}}&\!\!\!\!{{{\left({{\bf{e}}^{\prime}_{p}}\right)}^{T}}}&\!\!\!\!{{{\bf{0}}_{1\times 2K}}}&\!\!\!\!{{0_{1\times 1}}}\end{array}}\!\!\!\!\right]_{\!\left(\!{4K\!+\!1}\right)\!\times\!\left(\!{4K\!+\!1}\right)}} (11)
𝐌4=12[𝟎K×K𝟎K×3K𝐞k𝟎3K×K𝟎3K×3K𝟎3K×1(𝐞k)T𝟎1×3K01×1](4K+1)×(4K+1){{\bf{M}}_{4}}\!=\!\!\frac{1}{2}{\left[\!\!\!\!{\begin{array}[]{*{20}{c}}{{{\bf{0}}_{K\times K}}}&{{{\bf{0}}_{K\times 3K}}}&{{\bf{e}}^{\prime}_{k}}\\ {{{\bf{0}}_{3K\times K}}}&{{{\bf{0}}_{3K\times 3K}}}&{{{\bf{0}}_{3K\times 1}}}\\ {{{\left({{\bf{e}}^{\prime}_{k}}\right)}^{T}}}&{{{\bf{0}}_{1\times 3K}}}&{{0_{1\times 1}}}\end{array}}\!\!\!\!\right]_{\!\left(\!{4K\!+\!1}\right)\!\times\!\left(\!{4K\!+\!1}\right)}} (12)
𝐃e=[λ1e00λKe]K×K{{\bf{D}}_{e}}={\left[{\begin{array}[]{*{20}{c}}{\lambda_{1}^{e}}&\cdots&0\\ \vdots&\ddots&\vdots\\ 0&\cdots&{\lambda_{K}^{e}}\end{array}}\right]_{K\times K}} (13)
𝐜t=[λ1t,,λKt]T{{\bf{c}}_{t}}={\left[{\lambda_{1}^{t},\ldots,\lambda_{K}^{t}}\right]^{T}} (14)
𝐃p=(12)[𝟎K×Kdiag(𝐞p)diag(𝐞p)𝟎K×K]2K×2K.{{\bf{D}}_{p}}=\left({-\frac{1}{2}}\right){\left[{\begin{array}[]{*{20}{c}}{{{\bf{0}}_{K\times K}}}&{diag\left({{\bf{e}}^{\prime}_{p}}\right)}\\ {diag\left({{\bf{e}}^{\prime}_{p}}\right)}&{{{\bf{0}}_{K\times K}}}\end{array}}\right]_{2K\times 2K}}. (15)

To solve the QCQP problem (8), the SDR method proposed in [14] can be used to transform P3 into a Semidefinite programming (SDP) problem. Define matrix 𝐆=[𝐬1][𝐬T1]{\bf{G}}=\left[{\begin{array}[]{*{20}{c}}{\bf{s}}\\ 1\end{array}}\right]\left[{\begin{array}[]{*{20}{c}}{{{\bf{s}}^{T}}}&1\end{array}}\right], then, P3 can be rewritten as

P4:min𝐆Tr(𝐖0𝐆)\displaystyle P4:~{}~{}\mathop{\min}\limits_{\bf{G}}{\rm{}}{\rm{Tr}}\left({{{\bf{W}}_{0}}{\bf{G}}}\right) (16a)
s.t.Tr(𝐖1𝐆)=0,k𝕌\displaystyle s.t.~{}~{}{\rm{Tr}}\left({{{\bf{W}}_{1}}{\bf{G}}}\right)=0{\rm{}},\forall k\in{\mathds{U}} (16b)
Tr(𝐖2𝐆)0,k𝕌\displaystyle{\rm{Tr}}\left({{{\bf{W}}_{2}}{\bf{G}}}\right)\leq 0{\rm{}},\forall k\in{\mathds{U}} (16c)
Tr(𝐖3𝐆)0,k𝕌\displaystyle{\rm{Tr}}\left({{{\bf{W}}_{3}}{\bf{G}}}\right)\leq 0{\rm{}},\forall k\in{\mathds{U}} (16d)
Tr(𝐖4𝐆)+Tloc,kτmaxk0,k𝕌\displaystyle{\rm{Tr}}\left({{{\bf{W}}_{4}}{\bf{G}}}\right)+T_{loc,k}-\tau_{\max}^{k}\leq 0{\rm{}},\forall k\in{\mathds{U}} (16e)
Tr(𝐖5𝐆)Pmaxk0,k𝕌\displaystyle{\rm{Tr}}\left({{{\bf{W}}_{5}}{\bf{G}}}\right)-P_{\max}^{k}\leq 0{\rm{}},\forall k\in{\mathds{U}} (16f)
𝐆0\displaystyle{\bf{G}}\succeq 0 (16g)
𝐆(4K+2)×(4K+2)=1\displaystyle{{\bf{G}}_{\left({4K+2}\right)\times\left({4K+2}\right)}}=1 (16h)
rank(𝐆)=1\displaystyle{\rm{rank}}\left({\bf{G}}\right)=1 (16i)

where the matrices of 𝐖0{{\bf{W}}_{0}}, 𝐖1{{\bf{W}}_{1}}, 𝐖2{{\bf{W}}_{2}}, 𝐖3{{\bf{W}}_{3}}, 𝐖4{{\bf{W}}_{4}}, 𝐖5{{\bf{W}}_{5}} are listed as follows

𝐖0=[𝐌1𝐜0𝐜0T0](4K+2)×(4K+2){{\bf{W}}_{0}}={\left[{\begin{array}[]{*{20}{c}}{{{\bf{M}}_{1}}}&{{{\bf{c}}_{0}}}\\ {{\bf{c}}_{0}^{T}}&0\end{array}}\right]_{\left({4K+2}\right)\times\left({4K+2}\right)}} (17)
𝐖1=[diag(𝐞k)1/2𝐞k1/2𝐞kT0](4K+2)×(4K+2){{\bf{W}}_{1}}={\left[{\begin{array}[]{*{20}{c}}{{\rm{diag}}\left({{{\bf{e}}_{k}}}\right)}&{-1/2{{\bf{e}}_{k}}}\\ {-1/2{\bf{e}}_{k}^{T}}&0\end{array}}\right]_{\left({4K+2}\right)\times\left({4K+2}\right)}} (18)
𝐖2=[𝐌21/2Bk𝐞3K+k1/2Bk𝐞3K+kT0](4K+2)×(4K+2){{\bf{W}}_{2}}={\left[\!\!{\begin{array}[]{*{20}{c}}{{{\bf{M}}_{2}}}&{1/2{B_{k}}{{\bf{e}}_{3K+k}}}\\ {1/2{B_{k}}{\bf{e}}_{3K+k}^{T}}&0\end{array}}\!\!\right]_{\!\left(\!{4K\!+\!2}\right)\!\times\!\left(\!{4K\!+\!2}\right)}} (19)
𝐖3=[𝐌31/2Bk𝐞k1/2Bk𝐞kT0](4K+2)×(4K+2){{\bf{W}}_{3}}={\left[{\begin{array}[]{*{20}{c}}{{{\bf{M}}_{3}}}&{1/2{B_{k}}{{\bf{e}}_{k}}}\\ {1/2{B_{k}}{\bf{e}}_{k}^{T}}&{{0}}\end{array}}\right]_{\left({4K+2}\right)\times\left({4K+2}\right)}} (20)
𝐖4=[𝐌41/2Tloc,k𝐞k1/2Tloc,k𝐞kT0](4K+2)×(4K+2){{\bf{W}}_{4}}={\left[{\begin{array}[]{*{20}{c}}{{{\bf{M}}_{4}}}&{-1/2T_{loc,k}{{\bf{e}}_{k}}}\\ {-1/2T_{loc,k}{\bf{e}}_{k}^{T}}&0\end{array}}\right]_{\left({4K+2}\right)\times\left({4K+2}\right)}} (21)
𝐖5=[𝟎(4K+1)×(4K+1)1/2𝐞3K+k1/2𝐞3K+kT0](4K+2)×(4K+2).{{\bf{W}}_{5}}={\left[{\begin{array}[]{*{20}{c}}{{{\bf{0}}_{({4K+1})\times({4K+1}})}}&{1/2{{\bf{e}}_{3K+k}}}\\ {1/2{\bf{e}}_{3K+k}^{T}}&0\end{array}}\right]_{\left({4K+2}\right)\times\left({4K+2}\right)}}. (22)

In the problem (16), only the constraint (16h) is non-convex. By dropping the rank-1 constraint (16h), (16) becomes a positive SDP problem which can be solved using standard CVX tools [15].

Define 𝐆{{\bf{G}}^{*}} as the optimal solution of the problem (16) without the rank-1 constraint, and note that 𝐆(4K+2,k)=s(k){\bf{G}}\left({4K+2,k}\right)=s\left(k\right) for k=1,,4K+1k=1,\ldots,4K+1. Therefore, 𝐆(4K+2,k){{\bf{G}}^{*}}\left({4K+2,k}\right), (k=1,,Kk=1,\ldots,K) can be used to recover the binary offloading decision ck{c_{k}}. Define 𝐃=[d1,,dK]T{\bf{D}}={\left[{{d_{1}},\ldots,{d_{K}}}\right]^{T}}, and let D=[𝐆(4K+2,1),,𝐆(4K+2,K)]TD={\left[{{{\bf{G}}^{*}}(4K+2,1),\ldots,{{\bf{G}}^{*}}(4K+2,K)}\right]^{T}}. Note that dk[0,1]{d_{k}}\in\left[{0,1}\right] for k=1,,Kk=1,\ldots,K. Define 𝐜~=[c~1,,c~K]T{\bf{\tilde{\bf{c}}}}={\left[{{{\tilde{c}}_{1}},\ldots,{{\tilde{c}}_{K}}}\right]^{T}} as the feasible binary offloading decision vector and γ\gamma as the decision making threshold, if dk>γ{d_{k}}>\gamma, c~k=1{\tilde{c}_{k}}=1; otherwise, c~k=0{\tilde{c}_{k}}=0. The overall offloading decision making and MU-MIMO Computation Offloading (DM-MMCO) algorithm is summarized in Algorithm 1.

Algorithm 1 Offloading Decision Making and MU-MIMO Computation Offloading (DM-MMCO)
1:  Initialization: system parameters K,BW,σ2,M,NK,B_{W},{\sigma^{2}},{M},{N};parameters of MDs Bk,Ck,floc,k,fc,k,Pmaxk,pkid,τkmax{B_{k}},{C_{k}},f_{loc,k},f_{c,k},P_{\max}^{k},p_{k}^{id},\tau_{k}^{\max},k𝕌\forall k\in{\mathds{U}}; Matrices in the problem (16) 𝐖0,𝐖1,𝐖2,𝐖3,𝐖4,𝐖5,k𝕌{{\bf{W}}_{0}},{{\bf{W}}_{1}},{{\bf{W}}_{2}},{{\bf{W}}_{3}},{{\bf{W}}_{4}},{{\bf{W}}_{5}},\forall k\in{\mathds{U}}.
2:  Solve the problem (16) to obtain optimal solution G{G^{*}}.
3:  Extract the values of 𝐆(4K+2,k),k=1,,K{\bf{G}}\left({4K+2,k}\right),k=1,\ldots,K to 𝐃=[d1,,dK]T{\bf{D}}={\left[{{d_{1}},\ldots,{d_{K}}}\right]^{T}}.
4:  Obtain offloading decision vector 𝐜~{\bf{\tilde{c}}} according to 𝐃{\bf{D}} and γ\gamma.
5:  Solve the MU-MIMO beamforming problem for MDs in 𝕌o{{\mathds{U}}_{o}} under 𝐜~{\bf{\tilde{\bf{c}}}}.
6:  Output: Offloading decision vector 𝐜~{\bf{\tilde{\bf{c}}}}, beamforming matrices sets ,𝕍{\mathds{Q,V}}

IV MU-MIMO Beamforming Design for Computation Offloading

When the offloading decision vector 𝐜~{\bf{\tilde{c}}} is achieved as stated in section III, the problem (P1) can be rewritten as

P5:min,𝕍k𝕌o(λkeBkRk𝐐kF2+λktmaxk𝕌o{BkRk})+ζP5:{\rm{}}\mathop{\min}\limits_{{\mathds{Q,V}}}{\rm{}}\sum\limits_{k\in{{\mathds{U}}_{o}}}\!\!{\left(\!{\lambda_{k}^{e}\frac{{{B_{k}}}}{{{R_{k}}}}\left\|{{{\bf{Q}}_{k}}}\right\|_{F}^{2}\!+\!\lambda_{k}^{t}\mathop{max}\limits_{k\in{{\mathds{U}}_{o}}}\left\{{\frac{{{B_{k}}}}{{{R_{k}}}}}\right\}}\!\!\right)}\!+\!\zeta{\rm{}} (23)

subject to constraints (5c)-(5d), where ζ=i𝕌l(λieEloc,i+λitTloc,i)+j𝕌o(λjeEc,j+λjtTc,j)\zeta\!=\!\sum\nolimits_{i\in{{\mathds{U}}_{l}}}{\left({\lambda_{i}^{e}E_{loc,i}+\lambda_{i}^{t}T_{loc,i}}\right)}+\sum\nolimits_{j\in{{\mathds{U}}_{o}}}{\left({\lambda_{j}^{e}E_{c,j}+\lambda_{j}^{t}T_{c,j}}\right)} is a constant and can be omitted in the following analysis. Obviously, the problem (23) is a nonconvex problem and is difficult to solve. Let maxk𝕌o{Bk/Rk}=q{\max_{k\in{{\mathds{U}}_{o}}}}\left\{{{B_{k}}/{R_{k}}}\right\}=q and the problem (23) can be transformed into

P6:min,𝕍,qk𝕌o(λkeBkRk𝐐kF2+λktq)\displaystyle P6:{\rm{}}\mathop{\min}\limits_{{\mathds{Q,V}},q}{\rm{}}\sum\limits_{k\in{{\mathds{U}}_{o}}}{\left({\lambda_{k}^{e}\frac{{{B_{k}}}}{{{R_{k}}}}\left\|{{{\bf{Q}}_{k}}}\right\|_{F}^{2}+\lambda_{k}^{t}q}\right)} (24a)
s.t.𝐐kF2Pmaxkk𝕌o\displaystyle s.t.{\rm{}}\left\|{{{\bf{Q}}_{k}}}\right\|_{F}^{2}\leq P_{\max}^{k}{\rm{}}\forall k\in{{\mathds{U}}_{o}} (24b)
q+Tc,kτmaxk,k𝕌o\displaystyle q+T_{c,k}\leq\tau_{\max}^{k},\forall k\in{{\mathds{U}}_{o}} (24c)
BkRkq,k𝕌o.\displaystyle\frac{{{B_{k}}}}{{{R_{k}}}}\leq q,\forall k\in{{\mathds{U}}_{o}}. (24d)

To solve the problem (P6), the quadratic transform proposed in [16] is adopted to solve the problem (24) in this paper. Then, a new objective is given by fq(,𝕍,𝕎,q)=k𝕌o(2wkλkeBk𝐐kF2wk2Rk+λktq){f_{q}}\left({{\mathds{Q,V,W}},q}\right)=\sum\limits_{k\in{{\mathds{U}}_{o}}}{\left({2{w_{k}}\sqrt{\lambda_{k}^{e}{B_{k}}\left\|{{{\bf{Q}}_{k}}}\right\|_{F}^{2}}-w_{k}^{2}{R_{k}}+\lambda_{k}^{t}q}\right)}, where 𝕎={wk,k=1,,No}{\mathds{W}}=\left\{{{w_{k}},k=1,\ldots,{N_{o}}}\right\} with wk{w_{k}}\in{\mathds{R}} introduced for each offloading MD. The the optimization problem (24) can now be recast to

P7:min,𝕍,𝕎,qfq(,𝕍,𝕎,q)\displaystyle P7:{\rm{}}\mathop{\min}\limits_{{\mathds{Q,V,W}},q}{\rm{}}{f_{q}}\left({{\mathds{Q,V,W}},q}\right) (25a)
s.t.𝐐kF2Pmaxk0,k𝕌o\displaystyle s.t.~{}~{}{\rm{}}\left\|{{{\bf{Q}}_{k}}}\right\|_{F}^{2}-P_{\max}^{k}\leq{\rm{0,}}\forall k\in{{\mathds{U}}_{o}} (25b)
q+Tc,kτmaxk0,k𝕌o\displaystyle q+T_{c,k}-\tau_{\max}^{k}\leq 0,\forall k\in{{\mathds{U}}_{o}} (25c)
BkRkq0,k𝕌o.\displaystyle\frac{{{B_{k}}}}{{{R_{k}}}}-q\leq 0,\forall k\in{{\mathds{U}}_{o}}. (25d)

Then, the multidimensional quadratic transform in [16] is applied to each SINR term inside the Rk{R_{k}} expression in (3), and further recast fq{f_{q}} to fqm{f_{qm}} as in (26)

fqm(,𝕍,𝕎,,q)=k𝕌o(2wkλkeBk𝐐kF2+λktqξ){f_{qm}}({\mathds{Q,\!V,\!W,\!Z}},q)\!\!=\!\!\!\!\sum\limits_{k\in{{\mathds{U}}_{o}}}\!\!\!{\left(\!\!{2{w_{k}}\sqrt{\lambda_{k}^{e}{B_{k}}\left\|{{{\bf{Q}}_{k}}}\right\|_{F}^{2}}\!+\!\lambda_{k}^{t}q\!-\!\xi}\!\!\right)} (26)

where ξ\xi is defined as

ξ=l=1dwk2BWlog2(1+2Re{zk(l)Hvk(l)HHkqk(l)}zk(l)HINzk(l))\xi{\rm{=}}{\!\!}\sum\nolimits_{l=1}^{d}{\!\!}{w_{k}^{2}B_{W}{{\log}_{2}}{\!\!}\left({\!}{1{\!\!}+{\!\!}2{\mathop{\rm Re}\nolimits}{\!\!}\left\{{\!\!}{z_{k(l)}^{H}v_{k(l)}^{H}{H_{k}}{q_{k(l)}}}{\!\!}\right\}{\!\!}-{\!\!}z_{k(l)}^{H}{I_{N}}{z_{k(l)}}}{\!\!}\right)}.

The final reformulation of the problem (24) after the twice use of the quadratic transform now becomes

P8:min,𝕍,𝕎,,qfqm(,𝕍,𝕎,,q)\displaystyle P8:{\rm{}}\mathop{\min}\limits_{{\mathds{Q,V,W,Z}},q}{\rm{}}{f_{qm}}\left({{\mathds{Q,V,W,Z}},q}\right) (27a)
s.t.𝐐kF2Pmaxk0,k𝕌o\displaystyle s.t.~{}~{}{\rm{}}\left\|{{{\bf{Q}}_{k}}}\right\|_{F}^{2}-P_{\max}^{k}\leq{\rm{0,}}\forall k\in{{\mathds{U}}_{o}} (27b)
q+Tc,kτmaxk0,k𝕌o\displaystyle q+T_{c,k}-\tau_{\max}^{k}\leq 0,\forall k\in{{\mathds{U}}_{o}} (27c)
BkRkq0,k𝕌o\displaystyle\frac{{{B_{k}}}}{{{R_{k}}}}-q\leq 0,\forall k\in{{\mathds{U}}_{o}} (27d)

where {\mathds{Z}} denotes the set of auxiliary variables {zk(l)C|k𝕌o,l=1,,d}\left\{{{z_{k(l)}}\in C|\forall k\in{{\mathds{U}}_{o}},l=1,\ldots,d}\right\} with zk(l){z_{k(l)}}\in{\mathds{C}} introduced for each data stream (k,l)\left({k,l}\right). Based on the above definitions, we can see that when {\mathds{Z}} and 𝕎{\mathds{W}} are both fixed, the problem (27) is a convex problem over {\mathds{Q}} and 𝕍{\mathds{V}}, so the optimal {\mathds{Q}} and 𝕍{\mathds{V}} can be efficiently found by using the standard numerical method [17].

Therefore, we propose an iterative optimization algorithm to solve the problem (27). According to [16], when all the other variables are fixed, the optimal zk(l){z_{k(l)}} is given by

zk(l)=IN1vk(l)HHkqk(l).z_{k(l)}^{*}=I_{N}^{-1}v_{k(l)}^{H}{H_{k}}{q_{k(l)}}. (28)

After updating zk(l){z_{k(l)}}, the optimal wk{w_{k}} is

wk=λkeBk𝐐kF2Rk.w_{k}^{*}=\frac{{\sqrt{\lambda_{k}^{e}{B_{k}}\left\|{{{\bf{Q}}_{k}}}\right\|_{F}^{2}}}}{{{R_{k}}}}. (29)

Then, the optimal {\mathds{Q}} is obtained by solving the problem (27) when 𝕍{\mathds{V}}, {\mathds{Z}} and 𝕎{\mathds{W}} are fixed. At last, the optimal 𝕍{\mathds{V}} is achieved by solving the problem (27) when {\mathds{Q}}, {\mathds{Z}} and 𝕎{\mathds{W}} are fixed. The whole iterative optimization algorithm for solving (27) is summarized in Algorithm 2.

Algorithm 2 MU-MIMO Beamforming Design for MU-MIMO Computation Offloading
1:  Initialization: 𝐐k(0),𝐕k(0),(k𝕌o){\bf{Q}}_{k}^{(0)},{\bf{V}}_{k}^{(0)},(\forall k\in{{\mathds{U}}_{o}}) into feasible values; iteration number: n=1n=1; maximum number of iterations: numiternumiter; fqm(0)=0f_{qm}^{(0)}=0 and tolerance ε\varepsilon.
2:  for n=1n=1 to numiternumiter
3:  Update auxiliary variables’ set {\mathds{Z}} and 𝕎{\mathds{W}} with fixed 𝐐k(n1),𝐕k(n1),(k𝕌o){\bf{Q}}_{k}^{(n-1)},{\bf{V}}_{k}^{(n-1)},(\forall k\in{{\mathds{U}}_{o}}) by (28) and (29). Then optimize 𝐐k(n),(k𝕌o){\bf{Q}}_{k}^{(n)},(\forall k\in{{\mathds{U}}_{o}}) with fixed {\mathds{Z}}, 𝕎{\mathds{W}} and 𝐕k(n1),(k𝕌o){\bf{V}}_{k}^{(n-1)},(\forall k\in{{\mathds{U}}_{o}}) by solving the optimization problem (27).
4:  Update auxiliary variables’ set {\mathds{Z}} and 𝕎{\mathds{W}} with fixed 𝐐k(n),𝐕k(n1),(k𝕌o){\bf{Q}}_{k}^{(n)},{\bf{V}}_{k}^{(n-1)},(\forall k\in{{\mathds{U}}_{o}}) by (28) and (29). Then optimize 𝐕k(n),k𝕌o{\bf{V}}_{k}^{(n)},\forall k\in{{\mathds{U}}_{o}} with fixed {\mathds{Z}}, 𝕎{\mathds{W}} and 𝐐k(n),(k𝕌o){\bf{Q}}_{k}^{(n)},(\forall k\in{{\mathds{U}}_{o}}) by solving the optimization problem (27).
5:  Calculate |fqm(n)fqm(n1)|\left|{f_{qm}^{(n)}-f_{qm}^{(n-1)}}\right|, if n>numitern>numiter or |fqm(n)fqm(n1)|<ε\left|{f_{qm}^{(n)}-f_{qm}^{(n-1)}}\right|<\varepsilon, terminate.
6:  end for.
7:  Output: MU-MIMO beamforming matrices set {\mathds{Q}} and 𝕍{\mathds{V}},and min{fqm(i)|i=1,,n}\min\left\{{f_{qm}^{(i)}|i=1,\ldots,n}\right\}.

V Simulation Results

In this section, simulation results are provided to show the performance of the proposed algorithms. Simulations is performed on a Monte Carlo simulation on a Matlab-based simulator. We adopt the 3GPP pathloss model [18] and Rayleigh fading with zero mean and unit variance. The background noise density is set to be 175-175dBm/Hz and BW=10B_{W}=10MHz. Bk{B_{k}} is uniformly chosen from 0.8MB to 1.2MB. We have Pmaxk=0.1WP_{\max}^{k}{\rm{=0}}{\rm{.1W}}, τmaxk=3s\tau_{\max}^{k}{\rm{=3s}} and pkid=0.005Wp_{k}^{id}{\rm{=0}}{\rm{.005W}} for each MD. floc,k{f_{loc,k}} and fc,k{f_{c,k}} for MD kk are uniformly chosen from 0.2G to 0.5G cycles/s and 0.8G to 1G cycles/s, respectively. Unless stated otherwise, some system parameters are set as follows: M=16{M}{\rm{=}}16, N=d=2{N}=d=2, κ=1025\kappa={10^{-25}}, α=237.5\alpha=237.5 cycles/bit, γ=0.8\gamma{\rm{=}}0.8, and error tolerance ε=103\varepsilon{\rm{=}}{10^{-3}}. Note that we set λke=1\lambda_{k}^{e}=1 and λkt=0\lambda_{k}^{t}=0 as the default values. For comparison, we also simulate the following offloading schemes: 1) Local-only: all the MDs compute their tasks locally; 2) OP-MMSE: each MD uses single antenna to offload computation tasks to the BS simultaneously. The MDs only have transmit power control, and MMSE receiver is used at BS side; 3) FDMA: MDs equipped with single antenna use orthogonal frequency resources to offload computation tasks and maximum transmit power is used; 4) TDMA: MDs equipped with single antenna sequentially offload computation tasks to the BS and maximum transmit power is used.

Figure 2 shows the energy consumption versus the number of MDs for different offloading schemes. It can be observed that the energy consumption of all offloading schemes increases with the increasing number of MDs. From the figure, it can be seen that the proposed DM-MMCO has the lowest energy consumption. It is because that the transmission time delay can be greatly reduced by using MIMO transmission and the energy efficiency is improved. Since the MD has limited computation capability, the local-only method has the highest energy consumption. It can be shown that without transmit beamforming and multiple data streams, the performance of OP-MMSE is inferior than the proposed DM-MMCO. The energy consumption for FDMA and TDMA grows quickly when the number of MDs increases. It can also be seen that when the number of MDs is small (e.g. 2, 3 and 4), the energy consumption of TDMA is smaller than FDMA. However, when the number of MDs is larger than 4, the energy consumption of TDMA grows fastly and is obviously larger than the energy consumption of FDMA. The reason is that the time delay will accumulate in TDMA and some MDs will choose to compute tasks at local if the maximum tolerable delay is not satisfied. This leads to the increasing of energy consumption in TDMA. It can be noted that the performance gap between the proposed DM-MMCO and OP-MMSE is small, the reason is that the power control method in OP-MMSE also adopts the quadratic transform proposed in [16] and can mitigate inter-user interference at certain degree. In addition, the quadratic transform proposed in [16] is similar to the WMMSE algorithm, which is described in [19]. Therefore, the performance gap between the proposed DM-MMCO and OP-MMSE is small. However, the proposed FP framework in [16] is more computationally efficient than WMMSE, which is proved in [19].

Refer to caption
Figure 2: Energy consumption versus the number of MDs

Figure 3 shows the impact of maximum tolerable delay on the energy consumption of different offloading schemes. It can be observed that with the increasing of maximum tolerable delay, all offloading schemes experience the decreasing of energy consumption. It can also be seen that the energy consumption of TDMA drops quickly with the increasing of maximum tolerable delay, which means more MDs choose to offload computation tasks and more energy consumption is reduced. It is shown that the proposed DM-MMCO has the lowest energy consumption among all the offloading schemes. It should be noted that the energy consumption of both the OP-MMSE scheme and the proposed DM-MMCO scheme decreases quickly with the increasing of maximum tolerable delay. The reason is that with the increasing of maximum tolerable delay, MDs in DM-MMCO or OP-MMSE can use less transmission power to finish task offloading, thus the energy consumption is reduced.

Refer to caption
Figure 3: Average time delay versus the number of MDs

VI Conclusions

In this paper, a joint computation offloading and MU-MIMO transmission problem was studied in a MEC system. A joint optimization of offloading decision-making and MU-MIMO beamforming problem was formulated to minimize MDs’ cost under maximum tolerable delay and transmission power constraints. To solve the optimization problem, two low complexity algorithms were proposed to obtain the offloading decisions and MU-MIMO beamforming matrices, respectively. Simulation results showed that the proposed algorithms have excellent performance in reducing the energy consumption and time delay of computation offloading.

VII Acknowledgements

This work is supported in part by the National Nature Science Foundation of China under Grant 61571115 and 61701254, and in part by Natural Science Foundation of Jiangsu Province BK20170901.

References

  • [1] IBM, “Ibm and nokia siemens networks announce world’s first mobile edge computing platform,” 2013.
  • [2] C. Wang, C. Liang, F. R. Yu, Q. Chen, and L. Tang, “Computation offloading and resource allocation in wireless cellular networks with mobile edge computing,” IEEE Transactions on Wireless Communications, vol. 16, no. 8, pp. 4924–4938, 2017.
  • [3] 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 Transactions on Communications, vol. 65; 65, no. 8; 8, pp. 3571–3584, 2017.
  • [4] S. Bi and Y. J. Zhang, “Computation rate maximization for wireless powered mobile-edge computing with binary computation offloading,” IEEE Transactions on Wireless Communications, vol. 17, no. 6, pp. 4177–4190, 2018.
  • [5] X. Hu, L. Wang, K. Wong, Y. Zhang, Z. Zheng, and M. Tao, “Edge and central cloud computing: A perfect pairing for high energy efficiency and low-latency,” CoRR, vol. abs/1806.08943, 2018.
  • [6] S. Sardellitti, G. Scutari, and S. Barbarossa, “Joint optimization of radio and computational resources for multicell mobile-edge computing,” IEEE Transactions on Signal and Information Processing over Networks, vol. 1, no. 2, pp. 89–103, 2015.
  • [7] E. Basar, “Index modulation techniques for 5g wireless networks,” IEEE Communications Magazine, vol. 54, no. 7, pp. 168–175, 2016.
  • [8] L. Nagel, S. Pratschner, S. Schwarz, and M. Rupp, “Efficient multi-user MIMO transmissions in the LTE-A uplink,” in 1st International Workshop on Link- and System Level Simulations, IWSLS2 2016, Vienna, Austria, July 1, 2016, 2016, pp. 1–6.
  • [9] H. Q. Ngo, E. G. Larsson, and T. L. Marzetta, “Energy and spectral efficiency of very large multiuser mimo systems,” IEEE Transactions on Communications, vol. 61; 61, no. 4; 4, pp. 1436–1449, 2013.
  • [10] J. Du, L. Zhao, J. Feng, and X. Chu, “Computation offloading and resource allocation in mixed fog/cloud computing systems with min-max fairness guarantee,” IEEE Transactions on Communications, vol. 66, no. 4, pp. 1594–1608, 2018.
  • [11] Y. Mao, C. You, J. Zhang, K. Huang, and K. B. Letaief, “A survey on mobile edge computing: The communication perspective,” IEEE Communications Surveys and Tutorials, vol. 19, no. 4, pp. 2322–2358, 2017.
  • [12] T. D. Burd and R. W. Brodersen, “Processor design for portable systems,” J. VLSI Signal Process. Syst., vol. vol. 13, pp. 203–221, 1996.
  • [13] M. Sheng, D. Zhai, X. Wang, Y. Li, Y. Shi, and J. Li, “Intelligent energy and traffic coordination for green cellular networks with hybrid energy supply,” IEEE Transactions on Vehicular Technology, vol.  66, no.  2, pp. 1631–1646, 2017.
  • [14] Z.-q. Luo, W.-k. Ma, A. So, Y. Ye, and S. Zhang, “Semidefinite relaxation of quadratic optimization problems,” IEEE Signal Processing Magazine, vol. 27, no. 3, pp. 20–34, 2010.
  • [15] M. Grant, S. Boyd, and Y. Ye, “Cvx: Matlab software for disciplined convex programming,” 2009.
  • [16] K. Shen and W. Yu, “Fractional programming for communication systems-part i: Power control and beamforming,” IEEE Transactions on Signal Processing, vol. 66, no. 10, pp. 2616–2630, 2018.
  • [17] A. Neumaier, Introduction to Numerical Analysis.   Cambridge University Press, 2001.
  • [18] 3GPP, “3gpp tr 36.814 v9.0.0,” 2010.
  • [19] K. Shen and W. Yu, “Fractional programming for communication systems part ii: Uplink scheduling via matching,” IEEE Transactions on Signal Processing, vol.  66, no.  10, pp. 2631–2644, 2018.