Wireless Communications and Mobile Computing

Wireless Communications and Mobile Computing / 2021 / Article
Special Issue

Service-Oriented Resource Allocation and Management for 5G/B5G Radio Access Networks

View this Special Issue

Research Article | Open Access

Volume 2021 |Article ID 8897814 | https://doi.org/10.1155/2021/8897814

Shichao Li, Qiuyun Wang, Yunfeng Wang, Jianli Xie, Cuiran Li, Dengtai Tan, Weigang Kou, Wenjie Li, "Joint Congestion Control and Resource Allocation for Delay-Aware Tasks in Mobile Edge Computing", Wireless Communications and Mobile Computing, vol. 2021, Article ID 8897814, 16 pages, 2021. https://doi.org/10.1155/2021/8897814

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

Academic Editor: J. Joaquin Escudero-Garzas
Received27 Jun 2020
Revised18 Oct 2020
Accepted20 Nov 2020
Published09 Jan 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 parameter increases from to , 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.

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 [57].

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 an trade-off. Compared with the intelligent heuristic (IH) algorithm, when the control parameter increases from to , 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 Section 2. 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.


NotationDescription

Number of SMDs
Set of SMDs
Number of subcarriers
Set of subcarriers
Number of CPU cores in MEC server
Set of CPU cores in MEC server
Bandwidth of the system
Time slot
Slot duration
Subcarrier allocated to SMD at slot
CSI of SMD on subcarrier at slot
Transmission power of SMD on subcarrier at slot
Transmission bits of task in SMD to MEC server at slot
Number of required CPU-cycle frequency to accomplish one bit of task in SMD
CPU-cycle frequency allocated to task in SMD at slot
Maximal CPU-cycle frequency of SMD
Conversion coefficient of SMDs
CPU-cycle frequency of CPU core allocated to tasks at slot
Maximal CPU-cycle frequency of CPU core
Bits of task in SMD executed by the CPU cores in MEC server at slot
Power consumption for CPU cores in MEC server at slot
Conversion coefficient of CPU cores
Tasks executed by the SMD at slot
Backlogs of tasks executed by the SMDs at slot
Generated bits in SMD at slot
Vectors of generated bits in each SMD at slot
Maximum generated bits of task in SMD
Congestion control of SMD at slot
Task in SMD executed by MEC server at slot
Backlogs of tasks executed by MEC server at slot
Control parameter
Vectors of congestion control
Vectors of SMD power
Vectors of subcarrier
Vectors of CPU-cycle frequency allocation
Vectors of task execution bits in MEC server
Vectors 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

Figure 1 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 denote the set of SMD indices, which can also be viewed as the set of task indices.

For the task offloading, we consider the conventional OFDMA system. is the available bandwidth of the system, and the whole system bandwidth is divided into subcarriers. Therefore, each subcarrier bandwidth is . The set of subcarrier is denoted by . Since the subcarriers are orthogonally allocated to the SMDs, there is no interference between them. We denote a binary variable to indicate that subcarrier is allocated to SMD at slot with , and otherwise. Each slot duration is . We denote as the channel state information (CSI) of SMD on subcarrier at slot . Note that the CSI accounts for fast fading, path loss, shadow fading, antenna gain, and noise. represents the transmission power of SMD on subcarrier at slot . Therefore, the transmission bits of task in SMD to the MEC server at slot can be given by

2.2. SMD Computation Model

Each task can be partially executed on the SMD and MEC server. We denote as the number of required CPU-cycle frequency to accomplish one bit of task in SMD .

When the tasks are partially executed by the local SMDs, let be the CPU-cycle frequency allocated to task in SMD at slot , and the maximal CPU-cycle frequency of SMD is . Therefore, the bits of task executed by the local SMD at slot is given by [19]

The power consumption for the local SMD at slot is given by where is the conversion coefficient of SMDs, and it is determined by the CPU chip architecture [20].

2.3. MEC Server Scheduling Model

There are -core CPU in the MEC server, let denote the set of CPU cores. Let represent the CPU-cycle frequency of CPU core allocated to tasks at slot , and the maximal CPU-cycle frequency of CPU core be . Each CPU core can execute bits from different SMDs. Therefore, the bits of task in SMD executed by the CPU cores in the MEC server at slot should satisfy 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 slot is given by where 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 Figure 2; 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.

For the task execution queues in the SMDs. We denote as the backlogs of the tasks executed by the SMDs at slot . is the generated bits vector in each SMD at slot . Generally speaking, the generated bits of each task normally follows a truncated Poisson distribution with the average arrival rate . We denote as the maximum generated bits of task in SMD . At each slot, the SMDs need to decide the number of bits from the newly generated bits to be stored in the buffers. Let denote the congestion control. Therefore, the task in the SMD execution queue model can be expressed as where .

For the task execution queues in the MEC server. We denote as the backlogs of the tasks executed by the MEC server at slot . According to Equation (1), we can obtain the task execution queues in the MEC server for the task in SMD at slot as

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. denotes the system utility function, which means executed bits benefit for the task in SMD . can be regarded as a function of nondecreasing concave continuous with the task in SMD . A typical example of is . 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 quantity as

For example, can be viewed as the average execution queue backlogs for task in SMD .

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. When , we define the single queue is strongly stable.

Definition 2. When , we define the single queue is mean rate stable.
Let , , , and denote the vectors of congestion control, SMD power, subcarrier, and CPU-cycle frequency allocation, respectively. Let , denote the vectors of bits of task execution and CPU-cycle frequency allocation in the MEC server, respectively. We denote the system operation as .

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 where and are the maximum transmission power and task execution power of the SMD , respectively. 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 . Then, the corresponding virtual queues are given by where the initial value . can be regarded as the executed bits of virtual queue , and can be regarded as the generated bits of virtual queue , respectively.

For the average power constraint (9l), we also define the virtual queues , which can be expressed as where and can be regarded as the executed and generated bits of virtual queue , respectively.

We introduce as the vector of auxiliary variables. Then problem (P1) can be transformed into the following equivalent problem

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 define and as the vector of virtual queues and , respectively. is the combined vector of virtual queues and actual queues, which is given by

The quadratic Lyapunov function can be written as [25]

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]

Based on the virtual queues and actual queues above, the upper bound of is derived in the following proposition [25].

Proposition 2. According to the Lyapunov optimization method, the upper bound of can be obtained from the following inequality: where and is a constant.

Proof. See Appendix B.

4.2. Problem Transformation

Instead of minimizing the upper bound of directly, the drift-plus-penalty theory can be utilized to minimize the following “drift-plus-penalty” problem [26]. where represents an arbitrary control parameter, which can be used to control the system utility and delay trade-off. A larger means that more emphasis is put on the system utility during the optimization. On the other hand, when 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 as

Similarly, the congestion control subproblem can be obtained by splitting as

The SMD computation resource allocation subproblem can be obtained by splitting as

The joint power and subcarrier allocation subproblem can be obtained by splitting and as

The MEC server scheduling subproblem can be obtained by splitting and as

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

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 where is the weight of task in SMD and is the maximum desired offloading ratio of task in SMD [23]. In general, and . Therefore, the solution of Equations (24a) and (24b) is

5.2. SMD Congestion Control Subproblem

For the SMD congestion control subproblem, we can transform Equations (20a) and (20b) as

The optimal solution of Equations (27a) and (27b) is related to the queue backlogs of and , which can be expressed as

From Equation (28), we can find that if , the newly generated bits can be admitted into the SMD . On the contrary, if , 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

For Equations (29a), (29b), and (29c), when , , and are constant, the optimal SMD computation resource allocation is

5.4. Joint Power and Subcarrier Allocation Subproblem

The joint power and subcarrier allocation subproblem can be expressed as

For problem (P3), the optimal solution is related to the queue backlogs of and . If , the optimal solution is and . If , 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

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 where is the Lagrange multiplier at slot .

Proof. See Appendix C.
is instantaneous power; we denote as the average power allocated by SMD on subcarrier at slot . With determined average power allocation values, the time-share variables of problem (P3) can be solved by the following problem: 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 where is the marginal utility of SMD and is the Lagrange multiplier at slot .

Proof. See Appendix D.

Proposition 3 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 subcarrier is determined. Secondly, the time-share values can be obtained when is determined.

According to the results of two subproblems, a joint power and subcarrier allocation algorithm is proposed to solve problem (P3), which is summarized in Algorithm 1.

1: Initialization;
2: Set the feasible set for ;
3: Set the th iteration value for , compute th iteration by utilizing Equation (33);
4: Set the th iteration value for , compute th iteration value for by utilizing Equation (36);
5: if stopping termination criterion is satisfied then
6: Break
7: else
8: Go to step 3
9: end if
Algorithm 1: Joint power and subcarrier allocation algorithm.
5.5. MEC Server Scheduling Subproblem

For the MEC server scheduling subproblem, it can be represented as

For problem (37a), (37b), (37c), and (37d), we can utilize the following proposition to solve it in closed form.

Proposition 5. For any feasible , 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 . We denote the SMD index as.

Proof. See Appendix E.

According to Proposition 5, problem (37a), (37b), (37c), and (37d) can be reformulated as

Since , there exists an optimal solution of problem (38a), (38b), (38c), and (38d) such that . By substituting it into the objective function, we can get the optimal solution of from

Therefore, the optimal solution of is

Based on Equations (4) and (40), the optimal solution for bits of task execution in the MEC server can be calculated by and , .

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

By solving the five subproblems, the DTCCRA algorithm is proposed in Algorithm 2.

1: Initialization
2: whiledo
3:for to do
4:Computing according to Equation (26);
5:Computing according to Equation (28);
6:Computing according to Equation (30);
7:Computing and according to Algorithm 1;
8:Computing and according to Equations (40) and (41), respectively;
9:Updating , , , and according to Equations (6), (7), (10), and (11), respectively;
10:end for
11: end while
Algorithm 2: Proposed DTCCRA algorithm.

In the proposed DTCCRA algorithm, we first solve the system utility maximization subproblem, the solution can be obtained. And then, we solve the SMD congestion control subproblem and SMD computation resource allocation subproblem to obtain the solution of and . Furthermore, according to Algorithm 1, and can be obtained. At last, solving the MEC server scheduling subproblem, and 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: where is the maximal system utility of problem (P1). Equation (42) means that the system utility of the proposed DTCCRA algorithm can arbitrarily close to by increasing the control parameter .

Proof. Please refer to Appendix F.

Proposition 7. The bound of the actual queue backlogs can be expressed as where is a parameter and can be found in Equation (B.9).

Proof. See Appendix G.

Based on Proposition 6 and Proposition 7, we can conclude that the system utility and execution delay can achieve an 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 as , where is the distance between the SMDs and MEC server. The noise power spectral density is  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, cycle/bit, [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. . The task average generated bits rate  kbits/slot. The simulation results are obtained by averaging 500 randomly generated network topologies over 1000 slots.

Figure 3 shows the total system utility versus different control parameter . The total system utility increases with respect to the control parameter at first. Because the larger means that system utility is given more weight. However, with the increase of , the improvement of total system utility is diminishing. Because the resources are limited, the system utility cannot increase all the time.

Figure 4 shows the total backlogs versus different . It can be observed that the total backlogs are linearly increased with . 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 5 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.

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 paper

Figures 6 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 8 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 9 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.

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.

Appendix

A. Proof of Proposition 1

We denote and as the optimal system utility of problem (P1) and problem (P2), respectively. For this proposition, we need to prove that problem (P1) and problem (P2) have the same optimal solution. If we can prove , and , Proposition 1 can be proved.

We first prove . We denote the optimal solution to obtain as . Considering is a concave function, by utilizing Jensen’s inequality, we have

Besides, since is a nondecreasing function and , we have

Considering the constraints of problem (P1) are also the constraints of problem (P2), is a feasible solution for problem (P1), and the system utility is no larger than . Thus, we have

And then, we need to prove . We denote the optimal solution to obtain as . Considering can satisfy the constraints (9b)–(9l) in problem (P1), the constraint (12e) in problem (P2) also can be satisfied. We set which can satisfy the constraints (12b) and (12c) in problem (P2). Thus, and are the feasible solutions of problem (P2). According to the definition of long-term time-average expectation, we have . Therefore, we can obtain

According to the above analysis, we have .

Thus, Proposition 1 is proved.

B. Proof of Proposition 2

According to the equation

For Equation (6), we can obtain

By utilizing the same method for actual queue , virtual queues and , we have

According to Equation (15), (B.2), (B.3), (B.4), and (B.5), we can obtain as the following