# Joint Congestion Control and Resource Allocation for Delay-Aware Tasks in Mobile Edge Computing

Authors: Shichao Li; Qiuyun Wang; Yunfeng Wang; Jianli Xie; Cuiran Li; Dengtai Tan; Weigang Kou; Wenjie Li
Journal: Wireless Communications and Mobile Computing
 (2021)

---

## Abstract

Recently, in order to extend the computation capability of smart mobile devices (SMDs) and reduce the task execution delay, mobile edge computing (MEC) has attracted considerable attention. In this paper, a stochastic optimization problem is formulated to maximize the system utility and ensure the queue stability, which subjects to the power, subcarrier, SMDs, and MEC server computation resource constraints by jointly optimizing congestion control and resource allocation. With the help of the Lyapunov optimization method, the primal problem is transformed into five subproblems including the system utility maximization subproblem, SMD congestion control subproblem, SMD computation resource allocation subproblem, joint power and subcarrier allocation subproblem, and MEC server scheduling subproblem. Since the first three subproblems are all single variable problems, the solutions can be obtained directly. The joint power and subcarrier allocation subproblem can be efficiently solved by utilizing alternating and time-sharing methods. For the MEC server scheduling subproblem, an efficient algorithm is proposed to solve it. By solving the five subproblems at each slot, we propose a delay-aware task congestion control and resource allocation (DTCCRA) algorithm to solve the primal problem. Theoretical analysis shows that the proposed DTCCRA algorithm can achieve the system utility and execution delay trade-off. Compared with the intelligent heuristic (IH) algorithm, when the control parameterV increases from 106 to 107, the total backlogs are decreased by 5.03% and the system utility is increased by 3.9% on average for the extensive performance by using the proposed DTCCRA algorithm.


---

## Body

## 1. Introduction

With the recent advancement of wireless communication technology and the Internet of Things (IoT), smart mobile devices (SMDs) gain enormous popularity, which can support many intelligent applications, such as map navigation, interactive gaming, and virtual reality [1, 2]. These novel services and applications require intensive computation resources and strict delay. However, since the limitation of the resources (e.g., CPU-cycle frequency, storage capability, and energy), these applications cannot be executed by the SMDs. Therefore, the novel solutions extending the computation capability and reducing the task execution delay are emerging [3, 4]. Among them, mobile edge computing (MEC) has been proposed as a novel approach by offloading part or all of the data from the SMDs to the computation server on the edge of the network [5–7].By utilizing the MEC framework, resource utilization can be improved, and the computation capabilities of SMDs can be enhanced. Compared with the traditional cloud servers, MEC architecture has the advantages of low overhead and low latency [8]. However, considering the scalable deployment and economy, the MEC server has limited computation capability [9, 10]. In order to improve the system utility and resource utilization, novel resource allocation schemes should be carefully designed.Recently, task computation offloading and resource allocation in MEC have become a hot topic. There are mainly two different aspects to study task offloading and resource allocation. The first aspect is to consider the static task offloading strategies. The new tasks cannot be randomly generated before the old tasks are executed. A joint offloading selection, radio, and computation resource allocation scheme was proposed to minimize the SMDs energy consumption, where a suboptimal result was obtained by utilizing the reformulation-linearization-technique-based branch-and-bound method [11]. In order to achieve the trade-off between energy consumption and latency, an energy-aware offloading scheme was proposed by jointly optimizing communication and computation resources with the energy and sensitive latency constraints [12]. Wang et al. presented an alternating direction method of multiplier (ADMM) algorithm for task offloading, resource allocation, and Internet caching optimization to maximize the MEC system utility [13]. The second aspect focuses on the dynamic task offloading strategies. The tasks are randomly generated at each slot. Lyu et al. proposed the optimal offloading schedules for MEC under partial network knowledge, where a perturbed Lyapunov function was formulated to maximize the system utility function [14]. In order to minimize the mobile device power consumption, a Lyapunov optimization-based scheduling scheme for energy-efficient offloading for multicore mobile devices was proposed [15]. When considering the different timescales in the task execution process and the channel fading process, a Markov decision process-based task scheduling scheme was proposed [16]. All the previous works assumed that the randomly generated tasks are inside the network capacity region. However, when the randomly generated tasks exceed the network capacity region, the network will be congested. Therefore, considering the stability of the MEC system, congestion control is necessary. Moreover, for a lot of 5G services, such as the online game and virtual reality, both task execution delay and system utility are important performance metrics. Large delay and low system utility will reduce the quality of experience (QoE) of users [17, 18]. Therefore, how to make full use of the resources and achieve the trade-off between system utility and execution delay are challenging issues.This paper focuses on the joint congestion control and resource allocation with power, subcarrier, and computation resource constraints of SMDs and MEC server. With the help of the Lyapunov optimization method, the primal problem is transformed into five subproblems. Since the first three subproblems are all single variable problems, the solutions can be obtained directly. For the joint power and subcarrier subproblem, the alternating and time-sharing methods are utilized to solve it efficiently. For the MEC server scheduling subproblem, we propose an efficient algorithm. By utilizing the results of five separate subproblems, a delay-aware task congestion control and resource allocation (DTCCRA) algorithm is proposed. The performance bound of the proposal is analyzed, indicating that the system utility and task execution delay can achieve anO1/V,OV trade-off. Compared with the intelligent heuristic (IH) algorithm, when the control parameter V increases from 106 to 107, the total backlogs are decreased by 5.03% and the system utility is increased by 3.9% on average for the extensive performance by using the proposed DTCCRA algorithm.The rest of this paper is organized as follows. The system model is introduced in Section2. The system utility maximization problem formulation and transformation are provided in Section 3. In Section 4, five subproblems are transformed by utilizing the Lyapunov optimization method. By solving the five subproblems, the DTCCRA algorithm is proposed in Section 5. The performance bound of the proposed DTCCRA algorithm is analyzed in Section 6. Simulation results are given in Section 7, and the paper is concluded in Section 8. The notations used in this paper are summarized in Table 1.Table 1
Summary of key notations.
NotationDescriptionINumber of SMDsISet of SMDskNumber of subcarriersKSet of subcarriersMNumber of CPU cores in MEC serverMSet of CPU cores in MEC serverWBandwidth of the systemtTime slotτSlot durationαiktSubcarrierk allocated to SMD i at slot tgiktCSI of SMDi on subcarrier k at slot tpiktTransmission power of SMDi on subcarrier k at slot tdtrans,itTransmission bits of task in SMDi to MEC server at slot tsiNumber of required CPU-cycle frequency to accomplish one bit of task in SMDifloc,itCPU-cycle frequency allocated to task in SMDi at slot tfloc,imaxMaximal CPU-cycle frequency of SMDiκlocConversion coefficient of SMDsfser,mtCPU-cycle frequency of CPU corem allocated to tasks at slot tfser,mmaxMaximal CPU-cycle frequency of CPU coremdser,itBits of task in SMDi executed by the CPU cores in MEC server at slot tpsertPower consumption for CPU cores in MEC server at slottκserConversion coefficient of CPU coresHitTasks executed by the SMDi at slot tHtBacklogs of tasks executed by the SMDs at slottAitGenerated bits in SMDi at slot tAtVectors of generated bits in each SMD at slottBiMaximum generated bits of task in SMDiritCongestion control of SMDi at slot tQitTask in SMDi executed by MEC server at slot tQtBacklogs of tasks executed by MEC server at slottVControl parameterrVectors of congestion controlpVectors of SMD powerαVectors of subcarrierflocVectors of CPU-cycle frequency allocationdserVectors of task execution bits in MEC serverfserVectors of CPU-cycle frequency allocation in MEC server


## 2. System Model

We first describe the system model of MEC, including the transmission model, SMD computation model, MEC server scheduling model, and queue models in this section.


### 2.1. Transmission Model

Figure1 shows the proposed MEC offloading scenario. The system consists of one eNodeB which is connected to the MEC server via a fiber-wired link, and I SMDs; each SMD has one task to be executed. Let I=1,⋯,I denote the set of SMD indices, which can also be viewed as the set of task indices.Figure 1
System model.For the task offloading, we consider the conventional OFDMA system.W is the available bandwidth of the system, and the whole system bandwidth is divided into K subcarriers. Therefore, each subcarrier bandwidth is W/K. The set of subcarrier is denoted by K=1,..,K. Since the subcarriers are orthogonally allocated to the SMDs, there is no interference between them. We denote a binary variable αikt∈0,1 to indicate that subcarrier k is allocated to SMD i at slot t with αikt=1, and αikt=0 otherwise. Each slot duration is τ. We denote gikt as the channel state information (CSI) of SMD i on subcarrier k at slot t. Note that the CSI accounts for fast fading, path loss, shadow fading, antenna gain, and noise. pikt represents the transmission power of SMD i on subcarrier k at slot t. Therefore, the transmission bits of task in SMD i to the MEC server at slot t can be given by
(1)dtrans,it=∑k∈KαiktWKτlog21+giktpikt.


### 2.2. SMD Computation Model

Each task can be partially executed on the SMD and MEC server. We denotesi as the number of required CPU-cycle frequency to accomplish one bit of task in SMD i.When the tasks are partially executed by the local SMDs, letfloc,it be the CPU-cycle frequency allocated to task in SMD i at slot t, and the maximal CPU-cycle frequency of SMD i is floc,imax. Therefore, the bits of task executed by the local SMD i at slot t is given by [19]
(2)dloc,it=τfloc,itsi−1.The power consumption for the local SMDi at slot t is given by
(3)ploc,it=κlocfloc,i3t,where κloc is the conversion coefficient of SMDs, and it is determined by the CPU chip architecture [20].


### 2.3. MEC Server Scheduling Model

There areM-core CPU in the MEC server, let M=1,⋯,M denote the set of CPU cores. Let fser,mt represent the CPU-cycle frequency of CPU core m allocated to tasks at slot t, and the maximal CPU-cycle frequency of CPU core m be fser,mmax. Each CPU core can execute bits from different SMDs. Therefore, the bits of task in SMD i executed by the CPU cores in the MEC server at slot t should satisfy
(4)∑i∈Idser,itsi≤∑m∈Mfser,mtτ,which means that the allocated CPU cycles should be no larger than the total CPU cycles in the MEC server.The power consumption for CPU cores in the MEC server at slott is given by
(5)psert=∑m∈Mκserfser,m3t,where κser is the conversion coefficient of the CPU core, and it is determined by the CPU chip architecture [20].


### 2.4. Queue Models

In order to describe the task offloading process from the SMDs to the MEC server, we formulate two dynamic queue models in this system. The task offloading process is shown in Figure2; firstly, the task is executed in the SMDs, including task computation and task transmission. And then, the task is executed in the MEC server [21]. For these two phases, we can formulate task execution queues in the SMDs and task execution queues in the MEC server, respectively.Figure 2
Dynamic queue models.For the task execution queues in the SMDs. We denoteHt=H1t,⋯,Hit as the backlogs of the tasks executed by the SMDs at slot t. At=A1t,⋯,Ait is the generated bits vector in each SMD at slot t. Generally speaking, the generated bits of each task normally follows a truncated Poisson distribution with the average arrival rate λi=EAit. We denote Bi as the maximum generated bits of task in SMD i. At each slot, the SMDs need to decide the number of bits from the newly generated bits to be stored in the buffers. Let rit∈0,Ait denote the congestion control. Therefore, the task in the SMD i execution queue model can be expressed as
(6)Hit+1=maxHit−dsum,it,0+rit,where dsum,it=dtrans,it+dloc,it.For the task execution queues in the MEC server. We denoteQt=Q1t,⋯,Qit as the backlogs of the tasks executed by the MEC server at slot t. According to Equation (1), we can obtain the task execution queues in the MEC server for the task in SMD i at slot t+1 as
(7)Qit+1=maxQit−dser,it,0+dtrans,it.


## 2.1. Transmission Model

Figure1 shows the proposed MEC offloading scenario. The system consists of one eNodeB which is connected to the MEC server via a fiber-wired link, and I SMDs; each SMD has one task to be executed. Let I=1,⋯,I denote the set of SMD indices, which can also be viewed as the set of task indices.Figure 1
System model.For the task offloading, we consider the conventional OFDMA system.W is the available bandwidth of the system, and the whole system bandwidth is divided into K subcarriers. Therefore, each subcarrier bandwidth is W/K. The set of subcarrier is denoted by K=1,..,K. Since the subcarriers are orthogonally allocated to the SMDs, there is no interference between them. We denote a binary variable αikt∈0,1 to indicate that subcarrier k is allocated to SMD i at slot t with αikt=1, and αikt=0 otherwise. Each slot duration is τ. We denote gikt as the channel state information (CSI) of SMD i on subcarrier k at slot t. Note that the CSI accounts for fast fading, path loss, shadow fading, antenna gain, and noise. pikt represents the transmission power of SMD i on subcarrier k at slot t. Therefore, the transmission bits of task in SMD i to the MEC server at slot t can be given by
(1)dtrans,it=∑k∈KαiktWKτlog21+giktpikt.


## 2.2. SMD Computation Model

Each task can be partially executed on the SMD and MEC server. We denotesi as the number of required CPU-cycle frequency to accomplish one bit of task in SMD i.When the tasks are partially executed by the local SMDs, letfloc,it be the CPU-cycle frequency allocated to task in SMD i at slot t, and the maximal CPU-cycle frequency of SMD i is floc,imax. Therefore, the bits of task executed by the local SMD i at slot t is given by [19]
(2)dloc,it=τfloc,itsi−1.The power consumption for the local SMDi at slot t is given by
(3)ploc,it=κlocfloc,i3t,where κloc is the conversion coefficient of SMDs, and it is determined by the CPU chip architecture [20].


## 2.3. MEC Server Scheduling Model

There areM-core CPU in the MEC server, let M=1,⋯,M denote the set of CPU cores. Let fser,mt represent the CPU-cycle frequency of CPU core m allocated to tasks at slot t, and the maximal CPU-cycle frequency of CPU core m be fser,mmax. Each CPU core can execute bits from different SMDs. Therefore, the bits of task in SMD i executed by the CPU cores in the MEC server at slot t should satisfy
(4)∑i∈Idser,itsi≤∑m∈Mfser,mtτ,which means that the allocated CPU cycles should be no larger than the total CPU cycles in the MEC server.The power consumption for CPU cores in the MEC server at slott is given by
(5)psert=∑m∈Mκserfser,m3t,where κser is the conversion coefficient of the CPU core, and it is determined by the CPU chip architecture [20].


## 2.4. Queue Models

In order to describe the task offloading process from the SMDs to the MEC server, we formulate two dynamic queue models in this system. The task offloading process is shown in Figure2; firstly, the task is executed in the SMDs, including task computation and task transmission. And then, the task is executed in the MEC server [21]. For these two phases, we can formulate task execution queues in the SMDs and task execution queues in the MEC server, respectively.Figure 2
Dynamic queue models.For the task execution queues in the SMDs. We denoteHt=H1t,⋯,Hit as the backlogs of the tasks executed by the SMDs at slot t. At=A1t,⋯,Ait is the generated bits vector in each SMD at slot t. Generally speaking, the generated bits of each task normally follows a truncated Poisson distribution with the average arrival rate λi=EAit. We denote Bi as the maximum generated bits of task in SMD i. At each slot, the SMDs need to decide the number of bits from the newly generated bits to be stored in the buffers. Let rit∈0,Ait denote the congestion control. Therefore, the task in the SMD i execution queue model can be expressed as
(6)Hit+1=maxHit−dsum,it,0+rit,where dsum,it=dtrans,it+dloc,it.For the task execution queues in the MEC server. We denoteQt=Q1t,⋯,Qit as the backlogs of the tasks executed by the MEC server at slot t. According to Equation (1), we can obtain the task execution queues in the MEC server for the task in SMD i at slot t+1 as
(7)Qit+1=maxQit−dser,it,0+dtrans,it.


## 3. Problem Formulation and Transformation

In this section, we first formally formulate the stochastic problem with the objective function maximizing the system utility function with power, subcarrier, SMDs, and MEC server computation resource constraints. Furthermore, with the help of the Lyapunov optimization method, we transform the problem into an equivalent problem.


### 3.1. Queue Stability and Problem Formulation

The objective function is to maximize the average system utility in this paper.Uiri denotes the system utility function, which means executed bits benefit for the task in SMD i. Uiri can be regarded as a function of nondecreasing concave continuous with the task in SMD i. A typical example of U⋅ is log⋅. By using it, the proportional fairness among SMDs can be achieved.In this work, for the network stability, we first define the long-term time-average expectation of any quantityz as
(8)z¯≔limT→∞1T∑t=0T−1Ezt.For example,Hi¯ can be viewed as the average execution queue backlogs for task in SMD i.In order to model the impacts of joint congestion control and resource allocation on the system utility, the definitions of queue stability are given [22, 23].Definition 1.
WhenHi¯<∞, we define the single queue Ht is strongly stable.Definition 2.
WhenlimT→∞EHt/T=0, we define the single queue Ht is mean rate stable.
Letr=rit,i∈I, p=pikt,i∈I,k∈K, α=αikt,i∈I,k∈K, and floc=floc,it,i∈I denote the vectors of congestion control, SMD power, subcarrier, and CPU-cycle frequency allocation, respectively. Let dser=dser,it,i∈I, fser=fser,mt,m∈M denote the vectors of bits of task execution and CPU-cycle frequency allocation in the MEC server, respectively. We denote the system operation as ρ=r,p,α,floc,dser,fser.In order to maximize the system utility and ensure the queue stability by jointly optimizing congestion control and resource allocation for delay-aware tasks, the problem can be formulated as(9a)P1maxρ∑i∈IUiri¯(9b)s.t.HitandQitarestronglystable,(9c)∑k∈Kαiktpikt≤Ptrans,imax,∀i∈I,(9d)ploc,it≤Ploc,imax,∀i∈I,(9e)rit∈0,Ait,∀i∈I,(9f)floc,it∈0,floc,imax,∀i∈I,(9g)∑i∈Iαikt≤1,∀k∈K,(9h)αikt=0,1,∀i∈I,∀k∈K,(9i)∑i∈Idser,itsi≤∑m∈Mfser,mtτ,(9j)dser,it≥0,∀i∈I,(9k)fser,mt∈0,fser,mmax,∀m∈M,(9l)pser¯≤Pserav,where Ptrans,imax and Ploc,imax are the maximum transmission power and task execution power of the SMD i, respectively. Pserav is the average execution power of the MEC server. Constraint (9b) corresponds to queue stability. Constraints (9c) and (9d) are the transmission power and task execution power constraints, respectively. Constraint (9e) ensures that the amount of admitted data cannot exceed the amount of arrived data. Constraint (9f) corresponds to SMD computation resources. Constraints (9g) and (9h) guarantee that one subcarrier cannot be allocated to more than one SMD. Constraints (9i) and (9j) are the MEC server executed bits of task constraints. Constraint (9k) is the MEC server computation resources. Constraint (9l) is the power constraint in the MEC server. Considering the long-term average expectation and binary variables [24], we transform the problem in the following subsection.


### 3.2. Problem Transformation

It is difficult to handle problem (P1) since it involves maximizing the long-term average system utility. In this subsection, the Lyapunov optimization method is applied to transform problem (P1) as an equivalent problem [22]. The transformation can be achieved by introducing auxiliary variables γit. Then, the corresponding virtual queues Zit are given by
(10)Zit+1=maxZit−rit,0+γit,∀i∈I,where the initial value Zit=0. rit can be regarded as the executed bits of virtual queue Zit, and γit can be regarded as the generated bits of virtual queue Zit, respectively.For the average power constraint (9l), we also define the virtual queues Xit, which can be expressed as
(11)Xit+1=maxXit−Pserav,0+psert,∀i∈I,where Pserav and psert can be regarded as the executed and generated bits of virtual queue Xit, respectively.We introduceγ=γit,i∈I as the vector of auxiliary variables. Then problem (P1) can be transformed into the following equivalent problem
(12a)P2maxρ∑i∈IUiγi¯(12b)s.t.γi¯≤ri¯,∀i∈I,(12c)0≤γit≤Bi,∀i∈I,(12d)Hit,Qit,Zit,andXitarestronglystable,(12e)9c−9k.Proposition 1.
The optimal solution of problem (P1) can be turned into the optimal solution of problem (P2).Proof.
See Appendix A.
Since problem (P2) has a long-term average expectation and binary variables, it is hard to handle [24]. In the following section, we propose an efficient algorithm to solve problem (P2).


## 3.1. Queue Stability and Problem Formulation

The objective function is to maximize the average system utility in this paper.Uiri denotes the system utility function, which means executed bits benefit for the task in SMD i. Uiri can be regarded as a function of nondecreasing concave continuous with the task in SMD i. A typical example of U⋅ is log⋅. By using it, the proportional fairness among SMDs can be achieved.In this work, for the network stability, we first define the long-term time-average expectation of any quantityz as
(8)z¯≔limT→∞1T∑t=0T−1Ezt.For example,Hi¯ can be viewed as the average execution queue backlogs for task in SMD i.In order to model the impacts of joint congestion control and resource allocation on the system utility, the definitions of queue stability are given [22, 23].Definition 1.
WhenHi¯<∞, we define the single queue Ht is strongly stable.Definition 2.
WhenlimT→∞EHt/T=0, we define the single queue Ht is mean rate stable.
Letr=rit,i∈I, p=pikt,i∈I,k∈K, α=αikt,i∈I,k∈K, and floc=floc,it,i∈I denote the vectors of congestion control, SMD power, subcarrier, and CPU-cycle frequency allocation, respectively. Let dser=dser,it,i∈I, fser=fser,mt,m∈M denote the vectors of bits of task execution and CPU-cycle frequency allocation in the MEC server, respectively. We denote the system operation as ρ=r,p,α,floc,dser,fser.In order to maximize the system utility and ensure the queue stability by jointly optimizing congestion control and resource allocation for delay-aware tasks, the problem can be formulated as(9a)P1maxρ∑i∈IUiri¯(9b)s.t.HitandQitarestronglystable,(9c)∑k∈Kαiktpikt≤Ptrans,imax,∀i∈I,(9d)ploc,it≤Ploc,imax,∀i∈I,(9e)rit∈0,Ait,∀i∈I,(9f)floc,it∈0,floc,imax,∀i∈I,(9g)∑i∈Iαikt≤1,∀k∈K,(9h)αikt=0,1,∀i∈I,∀k∈K,(9i)∑i∈Idser,itsi≤∑m∈Mfser,mtτ,(9j)dser,it≥0,∀i∈I,(9k)fser,mt∈0,fser,mmax,∀m∈M,(9l)pser¯≤Pserav,where Ptrans,imax and Ploc,imax are the maximum transmission power and task execution power of the SMD i, respectively. Pserav is the average execution power of the MEC server. Constraint (9b) corresponds to queue stability. Constraints (9c) and (9d) are the transmission power and task execution power constraints, respectively. Constraint (9e) ensures that the amount of admitted data cannot exceed the amount of arrived data. Constraint (9f) corresponds to SMD computation resources. Constraints (9g) and (9h) guarantee that one subcarrier cannot be allocated to more than one SMD. Constraints (9i) and (9j) are the MEC server executed bits of task constraints. Constraint (9k) is the MEC server computation resources. Constraint (9l) is the power constraint in the MEC server. Considering the long-term average expectation and binary variables [24], we transform the problem in the following subsection.


## 3.2. Problem Transformation

It is difficult to handle problem (P1) since it involves maximizing the long-term average system utility. In this subsection, the Lyapunov optimization method is applied to transform problem (P1) as an equivalent problem [22]. The transformation can be achieved by introducing auxiliary variables γit. Then, the corresponding virtual queues Zit are given by
(10)Zit+1=maxZit−rit,0+γit,∀i∈I,where the initial value Zit=0. rit can be regarded as the executed bits of virtual queue Zit, and γit can be regarded as the generated bits of virtual queue Zit, respectively.For the average power constraint (9l), we also define the virtual queues Xit, which can be expressed as
(11)Xit+1=maxXit−Pserav,0+psert,∀i∈I,where Pserav and psert can be regarded as the executed and generated bits of virtual queue Xit, respectively.We introduceγ=γit,i∈I as the vector of auxiliary variables. Then problem (P1) can be transformed into the following equivalent problem
(12a)P2maxρ∑i∈IUiγi¯(12b)s.t.γi¯≤ri¯,∀i∈I,(12c)0≤γit≤Bi,∀i∈I,(12d)Hit,Qit,Zit,andXitarestronglystable,(12e)9c−9k.Proposition 1.
The optimal solution of problem (P1) can be turned into the optimal solution of problem (P2).Proof.
See Appendix A.
Since problem (P2) has a long-term average expectation and binary variables, it is hard to handle [24]. In the following section, we propose an efficient algorithm to solve problem (P2).


## 4. Problem Transformation

We take advantage of the Lyapunov optimization method to transform problem (P2) into five subproblems in this section.


### 4.1. Lyapunov Drift

We defineZt and Xt as the vector of virtual queues Zit and Xit, respectively. Θt is the combined vector of virtual queues and actual queues, which is given by
(13)Θt=HTt,QTt,ZZt,XTtT.The quadratic Lyapunov function can be written as [25]
(14)LΘt=12∑i∈IHit2+Qit2+Zit2+Xit2.In order to show the stability property of the queuing systems, we employ the well-developed stability theory in Markov chains using the Lyapunov drift. Based on the Lyapunov function, we define the Lyapunov drift as the expected change in the Lyapunov function from one slot to the next, which is given by [25]
(15)ΔΘt=ELΘt+1−LΘtΘt.Based on the virtual queues and actual queues above, the upper bound ofΔΘt is derived in the following proposition [25].Proposition 2.
According to the Lyapunov optimization method, the upper bound ofΔΘt can be obtained from the following inequality:
(16)ΔΘt≤D+EGtΘt,where
(17)Gt=∑i∈IHitrit−dsum,it+∑i∈IQitdtrans,it−dser,it+∑i∈IZitγit−rit+∑i∈IXitpsert−Pseravand D is a constant.Proof.
See Appendix B.


### 4.2. Problem Transformation

Instead of minimizing the upper bound ofΔΘt directly, the drift-plus-penalty theory can be utilized to minimize the following “drift-plus-penalty” problem [26].
(18a)minρEGt−V∑i∈IUiγitγit(18b)s.t.0≤γit≤Bi,∀i∈I,(18c)0≤rit≤Ait,∀i∈I,(18d)0≤floc,it≤floc,imax,∀i∈I,(18e)κfloc,i3t≤Ploc,imax,∀i∈I,(18f)∑k∈Kαiktpikt≤Ptrans,imax,∀i∈I,(18g)∑i∈Iαikt≤1,∀k∈K,(18h)αikt=0,1,∀i∈I,∀k∈K,(18i)∑i∈Idser,itsi≤∑m∈Mfser,mtτ,(18j)dser,it≥0,∀i∈I,(18k)fser,mt∈0,fser,mmax,∀m∈M,where V≥0 represents an arbitrary control parameter, which can be used to control the system utility and delay trade-off. A larger V means that more emphasis is put on the system utility during the optimization. On the other hand, when V is small, queue stability carries more weight during the optimization [27].Considering Equations (18a), (18b), (18c), (18d), (18e), (18f), (18g), (18h), (18i), (18j), and (18k) has a separable structure, we can transform it into five separate subproblems. The system utility maximization subproblem can be obtained by splitting γit as
(19a)maxγ∑i∈IVUiγit−Zitγit(19b)s.t.0≤γit≤Bi,∀i∈I.Similarly, the congestion control subproblem can be obtained by splittingrit as
(20a)maxr∑i∈IZit−Hitrit(20b)s.t.0≤rit≤Ait,∀i∈I.The SMD computation resource allocation subproblem can be obtained by splittingfloc,it as
(21a)maxfloc∑i∈IHitτfloc,itsi−1(21b)s.t.0≤floc,it≤floc,imax,∀i∈I,(21c)κlocfloc,i3t≤Ploc,imax,∀i∈I.The joint power and subcarrier allocation subproblem can be obtained by splittingpikt and αikt as
(22a)maxp,α∑i∈IHit−Qitdtrans,it(22b)s.t.∑k∈Kαiktpikt≤Ptrans,imax,∀i∈I,(22c)∑i∈Iαikt≤1,∀k∈K,(22d)αikt=0,1,∀i∈I,∀k∈K.The MEC server scheduling subproblem can be obtained by splittingdser,it and fser,mt as
(23a)maxdser,fser∑i∈IQitdser,it−Xitpsert(23b)s.t.∑i∈Idser,itsi≤∑m∈Mfser,mtτ,(23c)dser,it≥0,∀i∈I,(23d)fser,mt∈0,fser,mmax,∀m∈M.


## 4.1. Lyapunov Drift

We defineZt and Xt as the vector of virtual queues Zit and Xit, respectively. Θt is the combined vector of virtual queues and actual queues, which is given by
(13)Θt=HTt,QTt,ZZt,XTtT.The quadratic Lyapunov function can be written as [25]
(14)LΘt=12∑i∈IHit2+Qit2+Zit2+Xit2.In order to show the stability property of the queuing systems, we employ the well-developed stability theory in Markov chains using the Lyapunov drift. Based on the Lyapunov function, we define the Lyapunov drift as the expected change in the Lyapunov function from one slot to the next, which is given by [25]
(15)ΔΘt=ELΘt+1−LΘtΘt.Based on the virtual queues and actual queues above, the upper bound ofΔΘt is derived in the following proposition [25].Proposition 2.
According to the Lyapunov optimization method, the upper bound ofΔΘt can be obtained from the following inequality:
(16)ΔΘt≤D+EGtΘt,where
(17)Gt=∑i∈IHitrit−dsum,it+∑i∈IQitdtrans,it−dser,it+∑i∈IZitγit−rit+∑i∈IXitpsert−Pseravand D is a constant.Proof.
See Appendix B.


## 4.2. Problem Transformation

Instead of minimizing the upper bound ofΔΘt directly, the drift-plus-penalty theory can be utilized to minimize the following “drift-plus-penalty” problem [26].
(18a)minρEGt−V∑i∈IUiγitγit(18b)s.t.0≤γit≤Bi,∀i∈I,(18c)0≤rit≤Ait,∀i∈I,(18d)0≤floc,it≤floc,imax,∀i∈I,(18e)κfloc,i3t≤Ploc,imax,∀i∈I,(18f)∑k∈Kαiktpikt≤Ptrans,imax,∀i∈I,(18g)∑i∈Iαikt≤1,∀k∈K,(18h)αikt=0,1,∀i∈I,∀k∈K,(18i)∑i∈Idser,itsi≤∑m∈Mfser,mtτ,(18j)dser,it≥0,∀i∈I,(18k)fser,mt∈0,fser,mmax,∀m∈M,where V≥0 represents an arbitrary control parameter, which can be used to control the system utility and delay trade-off. A larger V means that more emphasis is put on the system utility during the optimization. On the other hand, when V is small, queue stability carries more weight during the optimization [27].Considering Equations (18a), (18b), (18c), (18d), (18e), (18f), (18g), (18h), (18i), (18j), and (18k) has a separable structure, we can transform it into five separate subproblems. The system utility maximization subproblem can be obtained by splitting γit as
(19a)maxγ∑i∈IVUiγit−Zitγit(19b)s.t.0≤γit≤Bi,∀i∈I.Similarly, the congestion control subproblem can be obtained by splittingrit as
(20a)maxr∑i∈IZit−Hitrit(20b)s.t.0≤rit≤Ait,∀i∈I.The SMD computation resource allocation subproblem can be obtained by splittingfloc,it as
(21a)maxfloc∑i∈IHitτfloc,itsi−1(21b)s.t.0≤floc,it≤floc,imax,∀i∈I,(21c)κlocfloc,i3t≤Ploc,imax,∀i∈I.The joint power and subcarrier allocation subproblem can be obtained by splittingpikt and αikt as
(22a)maxp,α∑i∈IHit−Qitdtrans,it(22b)s.t.∑k∈Kαiktpikt≤Ptrans,imax,∀i∈I,(22c)∑i∈Iαikt≤1,∀k∈K,(22d)αikt=0,1,∀i∈I,∀k∈K.The MEC server scheduling subproblem can be obtained by splittingdser,it and fser,mt as
(23a)maxdser,fser∑i∈IQitdser,it−Xitpsert(23b)s.t.∑i∈Idser,itsi≤∑m∈Mfser,mtτ,(23c)dser,it≥0,∀i∈I,(23d)fser,mt∈0,fser,mmax,∀m∈M.


## 5. The Proposed Delay-Aware Task Congestion Control and Resource Allocation Algorithm

By solving the five separate subproblems in the last section, the DTCCRA algorithm is proposed.


### 5.1. System Utility Maximization Subproblem

For the system utility maximization subproblem, we can transform Equations (19a) and (19b) as
(24a)maxγitVUiγit−Zitγit(24b)s.t.0≤γit≤Bi.In order to solve Equations (24a) and (24b), the format of the system utility function is the key point. Aiming at offloading the tasks as many as possible, we can obtain the system utility function as
(25)Uiγi=ωiminγi,xiλi,where ωi is the weight of task in SMD i and xi is the maximum desired offloading ratio of task in SMD i [23]. In general, 0≤xi≤1 and 0≤xiλi≤Bi. Therefore, the solution of Equations (24a) and (24b) is
(26)γit=xiλi,ifZit≤Vωi,0,otherwise.


### 5.2. SMD Congestion Control Subproblem

For the SMD congestion control subproblem, we can transform Equations (20a) and (20b) as
(27a)maxritZit−Hitrit(27b)s.t.0≤rit≤Ait.The optimal solution of Equations (27a) and (27b) is related to the queue backlogs of Hit and Zit, which can be expressed as
(28)rit=Ait,ifZit≥Hit,0,otherwise.From Equation (28), we can find that if Zit≥Hit, the newly generated bits can be admitted into the SMD i. On the contrary, if Zit<Hit, the newly generated bits are dropped.


### 5.3. SMD Computation Resource Allocation Subproblem

For the SMD computation resource allocation subproblem, we can transform Equations (21a), (21b), and (21b) as
(29a)maxfloc,itHitτfloc,itsi−1(29b)s.t.0≤floc,it≤floc,imax,(29c)κlocfloc,i3t≤Ploc,imax.For Equations (29a), (29b), and (29c), when Hit, τ, and si are constant, the optimal SMD computation resource allocation is
(30)floc,it=minfloc,imax,Ploc,imaxκloc3.


### 5.4. Joint Power and Subcarrier Allocation Subproblem

The joint power and subcarrier allocation subproblem can be expressed as(31a)P3maxp,α∑i∈IHit−Qitdtrans,itdtrans,it(31b)s.t.∑k∈Kαiktpikt≤Ptrans,imax,∀i∈I,(31c)∑i∈Iαikt≤1,∀k∈K,(31d)αikt=0,1,∀i∈I,∀k∈K.For problem (P3), the optimal solution is related to the queue backlogs ofHit and Qit. If Hit≤Qit, the optimal solution is pikt=0 and αikt=0. If Hit>Qit, we analyze the subproblem as follows.Problem (P3) is a mixed-integer nonlinear programming (MINLP) problem, in this subsection, we apply the time-sharing and alternating methods to solve it [28, 29].Firstly, by utilizing the time-sharing method, we relax constraint (31d) as
(32)αikt∈0,1,∀i∈I,∀k∈K.Secondly, problem (P3) can be addressed by alternately solving the following two subproblems. The first subproblem is to update the allocated power with fixed time-share values. The second subproblem is to update time-share values with fixed allocated power.Proposition 3.
With determined time-share values, the power allocation of problem (P3) can be expressed as(33)pikt=maxHit−QitWξitKln2−1gikt,0,where ξit is the Lagrange multiplier at slot t.Proof.
See Appendix C.
pikt is instantaneous power; we denote qikt=αiktpikt as the average power allocated by SMD i on subcarrier k at slot t. With determined average power allocation values, the time-share variables of problem (P3) can be solved by the following problem:
(34)αikt=argmaxαikt∑i∈I∑k∈KHit−Qit×αiktWKlog21+piktgikt,which is subject to the constraint (32).Proposition 4.
With determined average power allocation values, the time-share values of Equation (34) can be solved by
(35)uiyt=Hit−QitWKlog21+yt−ytln21+yt=βkt,yt=qiktgiktαikt,where uiyt is the marginal utility of SMD i and βkt is the Lagrange multiplier at slot t.Proof.
See Appendix D.Proposition3 indicates that when the subcarrier is determined, the marginal utility of SMDs can be balanced by the optimal time-share values. Based on the above analysis, an iterative algorithm is proposed to solve Equation (35).Firstly, we give feasible initial time-share values set when the subcarrierk is determined. Secondly, the time-share values can be obtained when qiklt is determined.
(36)αikt¯+1t=uikt¯tαikt¯t∑i=1Iuikt¯tαikt¯t,uikt¯t=uiqikltgiktαiklt.According to the results of two subproblems, a joint power and subcarrier allocation algorithm is proposed to solve problem (P3), which is summarized in Algorithm1.Algorithm 1: Joint power and subcarrier allocation algorithm.
1: Initialization;2: Set the feasible set forαikt;3: Set thelth iteration value for αiklt, compute lth iteration qiklt by utilizing Equation (33);4: Set thelth iteration value for qiklt, compute t¯+1th iteration value for αikt¯+1t by utilizing Equation (36);5:if stopping termination criterion is satisfied then6: Break7:else8: Go to step 39:end if


### 5.5. MEC Server Scheduling Subproblem

For the MEC server scheduling subproblem, it can be represented as(37a)maxdser,fser∑i∈IQitdser,it−Xit∑m∈Mκserfser,m3t(37b)s.t.∑i∈Idser,itsi≤∑m∈Mfser,mtτ,(37c)dser,it≥0,∀i∈I,(37d)fser,mt∈0,fser,mmax,∀m∈M.For problem (37a), (37b), (37c), and (37d), we can utilize the following proposition to solve it in closed form.Proposition 5.
For any feasiblefser,mt, the optimal solution for problem (37) is that at most, one SMD is scheduled at one slot, and the SMD being scheduled has the largest value of Qitsi−1. We denote the SMD index asiImax.Proof.
See Appendix E.According to Proposition5, problem (37a), (37b), (37c), and (37d) can be reformulated as
(38a)maxdser,iImaxt,fser,mtQiImaxtdser,iImaxt−XiImaxt∑m∈Mκserfser,m3t(38b)s.t.dser,iImaxtsiImax≤∑m∈Mfser,mtτ,(38c)dser,iImaxt≥0,∀i∈I,(38d)fser,mt∈0,fser,mmax,∀m∈M.SinceQiImaxt≥0, there exists an optimal solution of problem (38a), (38b), (38c), and (38d) such that dser,iImaxtsiImax=∑m∈Mfser,mtτ. By substituting it into the objective function, we can get the optimal solution of fser,m∗t from
(39)max0≤fser,mt≤fser,mmaxQiImaxtfser,mtτsiImax−1−XiImaxtκserfser,m3t.Therefore, the optimal solution offser,m∗t is
(40)fser,m∗t=minfser,mmax,QiImaxtτXiImaxtκsersiImax,XiImax>0,fser,mmax,XiImax=0.Based on Equations (4) and (40), the optimal solution for bits of task execution in the MEC server can be calculated by
(41)dser,iImax∗t=siImax−1∑m∈Mfser,m∗tτ,and dser,i∗t=0, i≠iImax.


### 5.6. Delay-Aware Task Congestion Control and Resource Allocation Algorithm

By solving the five subproblems, the DTCCRA algorithm is proposed in Algorithm2.Algorithm 2: Proposed DTCCRA algorithm.
1: Initialization2:whilet∈0,Tdo3:fori=1 to Ido4:Computingγit according to Equation (26);5:Computingrit according to Equation (28);6:Computingfloc,it according to Equation (30);7:Computingpikt and αikt according to Algorithm 1;8:Computingfser,mt and dser,it according to Equations (40) and (41), respectively;9:UpdatingHit, Qit, Zit, and Xit according to Equations (6), (7), (10), and (11), respectively;10:end for11:end whileIn the proposed DTCCRA algorithm, we first solve the system utility maximization subproblem, the solutionγit can be obtained. And then, we solve the SMD congestion control subproblem and SMD computation resource allocation subproblem to obtain the solution of rit and floc,it. Furthermore, according to Algorithm 1, pikt and αikt can be obtained. At last, solving the MEC server scheduling subproblem, fser,mt and dser,it can be obtained.


## 5.1. System Utility Maximization Subproblem

For the system utility maximization subproblem, we can transform Equations (19a) and (19b) as
(24a)maxγitVUiγit−Zitγit(24b)s.t.0≤γit≤Bi.In order to solve Equations (24a) and (24b), the format of the system utility function is the key point. Aiming at offloading the tasks as many as possible, we can obtain the system utility function as
(25)Uiγi=ωiminγi,xiλi,where ωi is the weight of task in SMD i and xi is the maximum desired offloading ratio of task in SMD i [23]. In general, 0≤xi≤1 and 0≤xiλi≤Bi. Therefore, the solution of Equations (24a) and (24b) is
(26)γit=xiλi,ifZit≤Vωi,0,otherwise.


## 5.2. SMD Congestion Control Subproblem

For the SMD congestion control subproblem, we can transform Equations (20a) and (20b) as
(27a)maxritZit−Hitrit(27b)s.t.0≤rit≤Ait.The optimal solution of Equations (27a) and (27b) is related to the queue backlogs of Hit and Zit, which can be expressed as
(28)rit=Ait,ifZit≥Hit,0,otherwise.From Equation (28), we can find that if Zit≥Hit, the newly generated bits can be admitted into the SMD i. On the contrary, if Zit<Hit, the newly generated bits are dropped.


## 5.3. SMD Computation Resource Allocation Subproblem

For the SMD computation resource allocation subproblem, we can transform Equations (21a), (21b), and (21b) as
(29a)maxfloc,itHitτfloc,itsi−1(29b)s.t.0≤floc,it≤floc,imax,(29c)κlocfloc,i3t≤Ploc,imax.For Equations (29a), (29b), and (29c), when Hit, τ, and si are constant, the optimal SMD computation resource allocation is
(30)floc,it=minfloc,imax,Ploc,imaxκloc3.


## 5.4. Joint Power and Subcarrier Allocation Subproblem

The joint power and subcarrier allocation subproblem can be expressed as(31a)P3maxp,α∑i∈IHit−Qitdtrans,itdtrans,it(31b)s.t.∑k∈Kαiktpikt≤Ptrans,imax,∀i∈I,(31c)∑i∈Iαikt≤1,∀k∈K,(31d)αikt=0,1,∀i∈I,∀k∈K.For problem (P3), the optimal solution is related to the queue backlogs ofHit and Qit. If Hit≤Qit, the optimal solution is pikt=0 and αikt=0. If Hit>Qit, we analyze the subproblem as follows.Problem (P3) is a mixed-integer nonlinear programming (MINLP) problem, in this subsection, we apply the time-sharing and alternating methods to solve it [28, 29].Firstly, by utilizing the time-sharing method, we relax constraint (31d) as
(32)αikt∈0,1,∀i∈I,∀k∈K.Secondly, problem (P3) can be addressed by alternately solving the following two subproblems. The first subproblem is to update the allocated power with fixed time-share values. The second subproblem is to update time-share values with fixed allocated power.Proposition 3.
With determined time-share values, the power allocation of problem (P3) can be expressed as(33)pikt=maxHit−QitWξitKln2−1gikt,0,where ξit is the Lagrange multiplier at slot t.Proof.
See Appendix C.
pikt is instantaneous power; we denote qikt=αiktpikt as the average power allocated by SMD i on subcarrier k at slot t. With determined average power allocation values, the time-share variables of problem (P3) can be solved by the following problem:
(34)αikt=argmaxαikt∑i∈I∑k∈KHit−Qit×αiktWKlog21+piktgikt,which is subject to the constraint (32).Proposition 4.
With determined average power allocation values, the time-share values of Equation (34) can be solved by
(35)uiyt=Hit−QitWKlog21+yt−ytln21+yt=βkt,yt=qiktgiktαikt,where uiyt is the marginal utility of SMD i and βkt is the Lagrange multiplier at slot t.Proof.
See Appendix D.Proposition3 indicates that when the subcarrier is determined, the marginal utility of SMDs can be balanced by the optimal time-share values. Based on the above analysis, an iterative algorithm is proposed to solve Equation (35).Firstly, we give feasible initial time-share values set when the subcarrierk is determined. Secondly, the time-share values can be obtained when qiklt is determined.
(36)αikt¯+1t=uikt¯tαikt¯t∑i=1Iuikt¯tαikt¯t,uikt¯t=uiqikltgiktαiklt.According to the results of two subproblems, a joint power and subcarrier allocation algorithm is proposed to solve problem (P3), which is summarized in Algorithm1.Algorithm 1: Joint power and subcarrier allocation algorithm.
1: Initialization;2: Set the feasible set forαikt;3: Set thelth iteration value for αiklt, compute lth iteration qiklt by utilizing Equation (33);4: Set thelth iteration value for qiklt, compute t¯+1th iteration value for αikt¯+1t by utilizing Equation (36);5:if stopping termination criterion is satisfied then6: Break7:else8: Go to step 39:end if


## 5.5. MEC Server Scheduling Subproblem

For the MEC server scheduling subproblem, it can be represented as(37a)maxdser,fser∑i∈IQitdser,it−Xit∑m∈Mκserfser,m3t(37b)s.t.∑i∈Idser,itsi≤∑m∈Mfser,mtτ,(37c)dser,it≥0,∀i∈I,(37d)fser,mt∈0,fser,mmax,∀m∈M.For problem (37a), (37b), (37c), and (37d), we can utilize the following proposition to solve it in closed form.Proposition 5.
For any feasiblefser,mt, the optimal solution for problem (37) is that at most, one SMD is scheduled at one slot, and the SMD being scheduled has the largest value of Qitsi−1. We denote the SMD index asiImax.Proof.
See Appendix E.According to Proposition5, problem (37a), (37b), (37c), and (37d) can be reformulated as
(38a)maxdser,iImaxt,fser,mtQiImaxtdser,iImaxt−XiImaxt∑m∈Mκserfser,m3t(38b)s.t.dser,iImaxtsiImax≤∑m∈Mfser,mtτ,(38c)dser,iImaxt≥0,∀i∈I,(38d)fser,mt∈0,fser,mmax,∀m∈M.SinceQiImaxt≥0, there exists an optimal solution of problem (38a), (38b), (38c), and (38d) such that dser,iImaxtsiImax=∑m∈Mfser,mtτ. By substituting it into the objective function, we can get the optimal solution of fser,m∗t from
(39)max0≤fser,mt≤fser,mmaxQiImaxtfser,mtτsiImax−1−XiImaxtκserfser,m3t.Therefore, the optimal solution offser,m∗t is
(40)fser,m∗t=minfser,mmax,QiImaxtτXiImaxtκsersiImax,XiImax>0,fser,mmax,XiImax=0.Based on Equations (4) and (40), the optimal solution for bits of task execution in the MEC server can be calculated by
(41)dser,iImax∗t=siImax−1∑m∈Mfser,m∗tτ,and dser,i∗t=0, i≠iImax.


## 5.6. Delay-Aware Task Congestion Control and Resource Allocation Algorithm

By solving the five subproblems, the DTCCRA algorithm is proposed in Algorithm2.Algorithm 2: Proposed DTCCRA algorithm.
1: Initialization2:whilet∈0,Tdo3:fori=1 to Ido4:Computingγit according to Equation (26);5:Computingrit according to Equation (28);6:Computingfloc,it according to Equation (30);7:Computingpikt and αikt according to Algorithm 1;8:Computingfser,mt and dser,it according to Equations (40) and (41), respectively;9:UpdatingHit, Qit, Zit, and Xit according to Equations (6), (7), (10), and (11), respectively;10:end for11:end whileIn the proposed DTCCRA algorithm, we first solve the system utility maximization subproblem, the solutionγit can be obtained. And then, we solve the SMD congestion control subproblem and SMD computation resource allocation subproblem to obtain the solution of rit and floc,it. Furthermore, according to Algorithm 1, pikt and αikt can be obtained. At last, solving the MEC server scheduling subproblem, fser,mt and dser,it can be obtained.


## 6. Performance Analysis

The performance bound of the proposed DTCCRA algorithm is analyzed in this section.Proposition 6.
The proposed DTCCRA algorithm can achieve the bound of system utility as follows:(42)U1∗−∑i∈IUiγi¯≤O1/V,where U1∗ is the maximal system utility of problem (P1). Equation (42) means that the system utility of the proposed DTCCRA algorithm can arbitrarily close to U1∗ by increasing the control parameter V.Proof.
Please refer to Appendix F.Proposition 7.
The bound of the actual queue backlogs can be expressed as(43)∑i∈IHi¯+∑i∈IQi¯≤Dε+OV,where ε is a parameter and D can be found in Equation (B.9).Proof.
See Appendix G.Based on Proposition6 and Proposition 7, we can conclude that the system utility and execution delay can achieve an O1/V,OV trade-off.


## 7. Simulation

The performance of the proposed DTCCRA algorithm is evaluated in this section. There are 10 SMDs uniformly distributed over the cell. We utilize the path loss model as31.5+40log10d, where d is the distance between the SMDs and MEC server. The noise power spectral density is 4×10−8 W/Hz. The slot duration is 1 ms. Both the maximum transmission power and task execution power of each SMD are set as 0.2 W. The maximal CPU-cycle frequency of each SMD is 100 MHz, si=737.5 cycle/bit, κloc=10−27 [19]. The system includes 10 subcarriers, and each subcarrier bandwidth is 1 kHz. In addition, there are 8 CPU cores in the MEC server, and the maximal CPU-cycle frequency of each CPU core is 8 GHz. The average execution power of the MEC server is 5 W. κser=10−27. The task average generated bits rate λ=400 kbits/slot. The simulation results are obtained by averaging 500 randomly generated network topologies over 1000 slots.Figure3 shows the total system utility versus different control parameter V. The total system utility increases with respect to the control parameter V at first. Because the larger V means that system utility is given more weight. However, with the increase of V, the improvement of total system utility is diminishing. Because the resources are limited, the system utility cannot increase all the time.Figure 3
Total system utility versus different control parameterV.Figure4 shows the total backlogs versus different V. It can be observed that the total backlogs are linearly increased with V. Because more tasks wait in the queues for transmission, Proposition 6 and Proposition 7 can verify the observations. Combining Figures 3 and 4, we can achieve the trade-off between the system utility and task backlogs. If we want to obtain higher system utility, the task backlogs will be higher and vice versa.Figure 4
Total backlogs versus different control parameterV.Figure5 shows the total system utility versus data arrival rate. As can be seen, the system utility is higher with a larger number of SMDs, which can be explained as multiuser diversity. Meanwhile, when the data arrival rate is 400 kbits/slot, the system utility is close to stability.Figure 5
Total system utility versus data arrival rate.In order to verify the effectiveness of the proposed DTCCRA algorithm, the numerical results of the other four different algorithms are given. For the four different algorithms, we utilize the same algorithm in this paper to solve the system utility maximization subproblem, SMD congestion control subproblem, and SMD computation resource allocation subproblem. However, for the joint power and subcarrier allocation subproblem, and MEC server scheduling subproblem, the methods are different.(i)
Intelligent heuristic (IH) algorithm: based on the greedy principle, a fast and intelligent heuristic greedy algorithm is proposed to solve the joint power, subcarrier, and MEC server scheduling subproblem [30](ii)
Average power allocation algorithm: in this algorithm, for the joint power and subcarrier allocation subproblem, the subcarrier allocation can be obtained by Equation (35), the power is allocated averagely in each subcarrier at one slot. For the MEC server scheduling subproblem, the MEC server resources are averagely allocated to each task at one slot(iii)
Average subcarrier allocation algorithm: in this algorithm, for the joint power and subcarrier allocation subproblem, the power allocation can be obtained by Equation (33), the subcarrier is allocated averagely at one slot. For the MEC server scheduling subproblem, the MEC server resources are averagely allocated to each task at one slot(iv)
Exhaustive search algorithm: in this algorithm, the joint power and subcarrier allocation subproblem can be obtained by the exhaustive search method. The MEC server scheduling subproblem utilized the same algorithm in this paperFigures6 and 7 show the total system utility and backlog comparison of five different algorithms, which have the same trend as Figures 3 and 4; we can explain them for the same reasons. Compared with the IH algorithm, the backlogs of the proposed DTCCRA algorithm are decreased by 5.03% on average, and the system utility is increased by 3.9% on average. Meanwhile, compared with the exhaustive search algorithm, the backlogs of the proposed DTCCRA algorithm are only increased by 1.76% on average, and the system utility is decreased by 1.72% on average. Therefore, the proposed DTCCRA algorithm is effective.Figure 6
Total system utility of five different algorithms.Figure 7
Total backlogs of five different algorithms.Figure8 illustrates the total system utility versus SMD number. Due to the multiuser diversity, the system utility is higher with a larger SMD number. Compared with the exhaustive search algorithm, the system utility of the proposed DTCCRA algorithm only decreases by 1.97% on average. However, compared with the IH algorithm, the system utility increases by 4.97% on average when the SMD number grows from 8 to 12.Figure 8
Total system utility versus SMD number.Figure9 illustrates the total system utility versus the maximal CPU-cycle frequency of each CPU core. The system utility is higher with a higher CPU-cycle frequency. With the increasing of CPU-cycle frequency, more tasks can be executed. Compared with the exhaustive search algorithm, the system utility of the proposed DTCCRA algorithm only decreases by 2.03% on average. However, compared with the IH algorithm, the system utility increases by 3.93% on average when the maximal CPU-cycle frequency of each CPU core grows from 6 GHz to 10 GHz.Figure 9
Total system utility versus maximal CPU-cycle frequency of each CPU core.


## 8. Conclusion

In this paper, we formulated a joint congestion control and resource allocation problem with power, subcarrier, SMDs, and MEC server computation resource constraints to maximize the system utility. With the help of the Lyapunov optimization method, five subproblems are transformed. For the first three single variable subproblems, we can obtain the solutions directly. For the joint power and subcarrier allocation subproblem, the time-sharing and alternating methods were utilized. For the MEC server scheduling subproblem, we proposed an efficient algorithm. According to the results of five subproblems, the DTCCRA algorithm was proposed. Simulation results verify the effectiveness of the proposed DTCCRA algorithm through numerical analyses.



---

*Source: 8897814-2021-01-09.xml*