# Resource Allocation Strategy of Edge Systems Based on Task Priority and an Optimal Integer Linear Programming Algorithm

^{*}

## Abstract

**:**

## 1. Introduction

- (1)
- Propose a local, MEC server, and edge cloud server collaborative processing task system, reasonably allocate energy and computing resources, and improve system performance, e.g., task processing capacity;
- (2)
- Use Lyapunov stability theory for local mobile device power stability and task processing delay as optimization goals, and jointly consider the local mobile device’s energy collection, computing power allocation, wireless link transmit power allocation, and MEC–edge cloud server resource allocation problem. In order to solve this problem, a Lyapunov algorithm based on task priority is first proposed to decompose this NP-hard problem into an integer programming problem. The task priority attribute can improve the performance of the system, and then an integer programming algorithm based on CPU utilization optimization is proposed to obtain the optimal resource allocation strategy. By comparing and analyzing with the integer linear programming (ILP) algorithm, the optimal integer linear programming (OILP) algorithm proposed has the lower latency and higher resource utilization;
- (3)
- Considering that MEC server resources are scarce, especially during the peak traffic, the CPU computing resources provided by the server through virtualization technology may not be utilized effectively. When the CPU resources are insufficient to handle the entire unload task, the proposed algorithm will split the task into two parts, one of which will be processed on the local device, and the other on the MEC server. This not only increases server resource utilization, but also reduces the number of tasks that cannot be processed. The simulation results show that the number of unprocessed tasks can be optimized by more than 10%.

## 2. Related Work

## 3. System Model and Problem Formulation

#### 3.1. Task Offloading Model

#### 3.2. Computing Model

#### 3.2.1. Local Computing

#### 3.2.2. MEC Server Computing

#### 3.2.3. Edge Cloud Server Computing

#### 3.3. Energy Harvesting Model

#### 3.4. Objective Function Based on Lyapunov Optimization

## 4. Proposed Algorithm

#### 4.1. Lyapunov Optimization Based on Task Priority

#### 4.2. Integer Programming Algorithm Based on CPU Utilization Optimization Strategy

**b**, $Aeq$,

**beq**, $lb$,$ub$ are respectively inequality constraint matrix, inequality constraint column vector, equality constraint matrix, equality constraint column vector, lower and upper values. ${F}^{T}$ is the problem coefficient matrix, and the target values of ${S}_{i,l}^{t}$, ${S}_{i,cj}^{t}$, ${S}_{i,j}^{t}$ and ${S}_{i,d}^{t},$ which are obtained by the first step, are used as the coefficient matrix element of the problem. This is expressed as

Algorithm 1. Optimal integer linear programming (OILP) algorithm. |

Input: (${D}_{i}^{t},{\rho}_{p},{d}_{i,j}^{t},{b}_{i}^{t},B,H$) Output: (${A}^{t}$,${U}_{j}$) 1. For t = 1, 2, … T do 2. For i =1, 2, … N do 3. Obtain the values of ${S}_{i,l}^{t}$, ${S}_{i,cj}^{t}$, ${S}_{i,j}^{t}$ and ${S}_{i,d}^{t}$ through the Lyapunov optimization, based on the task priority 4. End for 5. Solve P5 by integer programming algorithm 6. Find the tasks that cannot be processed 7. If the task was not processed due to the insufficient MEC server CPU resources and the edge cloud link resources then 8. Split the task, offload one part to MEC server, process the other locally, and keep the energy consumption as the energy consumed if the total task is offloaded to the MEC server for processing 9. Solve $P6$ algebraically to obtain ${f}_{i}^{t}$, ${p}_{i}^{t}$ and ${T}_{i,j}^{t}$ 10. If ${T}_{i,j}^{t}\le \tau $ then 11. Implement the optimization strategy and update the MEC server CPU usage 12. else 13. Continue to optimize the next unhandled task 14. endif 15. endif 16.$t=t+1$ 17. End for |

## 5. Simulation Results

#### 5.1. System Setting

#### 5.2. Results Analysis

## 6. Conclusions

## Author Contributions

## Funding

## Conflicts of Interest

## Abbreviations

CPU | Central Processing Unit |

QoS | Quality of Service |

NP | Non-deterministic Polynomial |

UAV | Unmanned Aerial Vehicle |

QoE | Quality of Experience |

DVFS | Dynamic Voltage and Frequency Scaling |

s.t. | subject to |

## References

- Xia, W.; Quek, T.Q.; Zhang, J.; Jin, S.; Zhu, H. Programmable hierarchical C-RAN: From task scheduling to resource allocation. IEEE Trans. Wirel. Commun.
**2019**, 18, 2003–2016. [Google Scholar] [CrossRef] - Huang, H.; Xia, W.; Xiong, J.; Yang, J.; Zheng, G.; Zhu, X. Unsupervised learning-based fast beamforming design for downlink MIMO. IEEE Access
**2019**, 7, 7599–7605. [Google Scholar] [CrossRef] - Rida, I.; Al-Maadeed, N.; Al-Maadeed, S.; Bakshi, S. A comprehensive overview of feature representation for biometric recognition. Multimed. Tools Appl.
**2020**, 79, 4867–4890. [Google Scholar] [CrossRef] - Abbas, N.; Zhang, Y.; Taherkordi, A.; Skeie, T. Mobile edge computing: A survey. IEEE Internet Things J.
**2018**, 5, 450–465. [Google Scholar] [CrossRef] [Green Version] - Kumar, K.; Liu, J.; Lu, Y.H.; Bhargava, B. A survey of computation offloading for mobile systems. Mob. Netw. Appl.
**2013**, 18, 129–140. [Google Scholar] [CrossRef] - ETSI White Paper. Mobile Edge Computing: A Key Technology towards 5G. Available online: https://infotech.report/Resources/Whitepapers/f205849d-0109-4de3-8c47-be52f4e4fb27_etsi_wp11_mec_a_key_technology_towards_5g.pdf (accessed on 7 June 2020).
- Sudevalayam, S.; Kulkarni, P. Energy harvesting sensor nodes: Survey and implications. IEEE Commun. Surv. Tutor.
**2011**, 13, 443–461. [Google Scholar] [CrossRef] [Green Version] - Tabassum, H.; Hossain, E.; Ogundipe, A.; Kim, D.I. Wireless-Powered cellular networks: Key challenges and solution techniques. IEEE Commun. Mag.
**2015**, 53, 63–71. [Google Scholar] [CrossRef] - Ulukus, S.; Yener, A.; Erkip, E.; Simeone, O.; Zorzi, M.; Grover, P.; Huang, K. Energy harvesting wireless communications: A review of recent advances. IEEE J. Sel. Areas Commun.
**2015**, 33, 360–381. [Google Scholar] [CrossRef] [Green Version] - Deng, M.; Tian, H.; Lyu, X. Adaptive sequential offloading game for multi-cell Mobile Edge Computing. In Proceedings of the 2016 23rd International Conference on Telecommunications (ICT), Thessaloniki, Greece, 16–18 May 2016; pp. 1–5. [Google Scholar] [CrossRef]
- Wang, F.; Xu, J.; Wang, X.; Cui, S. Joint offloading and computing optimization in wireless powered mobile-edge computing systems. IEEE Trans. Wirel. Commun.
**2018**, 17, 1784–1797. [Google Scholar] [CrossRef] - Zhao, H.; Du, W.; Liu, W.; Lei, T.; Lei, Q. QoE aware and cell capacity enhanced computation offloading for multi-server mobile edge computing systems with energy harvesting devices. In Proceedings of the 2018 IEEE SmartWorld, Ubiquitous Intelligence & Computing, Advanced & Trusted Computing, Scalable Computing & Communications, Cloud & Big Data Computing, Internet of People and Smart City Innovation (SmartWorld/SCALCOM/UIC/ATC/CBDCom/IOP/SCI), Guangzhou, China, 8–12 October 2018; pp. 671–678. [Google Scholar] [CrossRef]
- Yang, X.; Yu, X.; Huang, H.; Zhu, H. Energy efficiency based joint computation offloading and resource allocation in multi-access MEC systems. IEEE Access
**2019**, 7, 117054–117062. [Google Scholar] [CrossRef] - Chen, X.; Liu, Z.; Chen, Y.; Li, Z. Mobile edge computing based task offloading and resource allocation in 5G ultra-dense networks. IEEE Access
**2019**, 7, 184172–184182. [Google Scholar] [CrossRef] - Bi, S.; Zhang, Y.J. Computation rate maximization for wireless powered mobile-edge computing with binary computation offloading. IEEE Trans. Wirel. Commun.
**2018**, 17, 4177–4190. [Google Scholar] [CrossRef] [Green Version] - Ahn, S.; Lee, J.; Park, S.; Newaz, S.S.; Choi, J.K. Competitive partial computation offloading for maximizing energy efficiency in mobile cloud computing. IEEE Access
**2018**, 6, 899–912. [Google Scholar] [CrossRef] - You, C.; Huang, K.; Chae, H.; Kim, B.H. Energy-Efficient resource allocation for mobile-edge computation offloading. IEEE Trans. Wirel. Commun.
**2017**, 16, 1397–1411. [Google Scholar] [CrossRef] - Mao, Y.; Zhang, J.; Letaief, K.B. Dynamic computation offloading for mobile-edge computing with energy harvesting devices. IEEE J. Sel. Areas Commun.
**2016**, 34, 3590–3605. [Google Scholar] [CrossRef] [Green Version] - Li, B.; Fei, Z.; Shen, J.; Jiang, X.; Zhong, X. Dynamic offloading for energy harvesting mobile edge computing: Architecture, case studies, and future directions. IEEE Access
**2019**, 7, 79877–79886. [Google Scholar] [CrossRef] - Teng, Y.; Cheng, K.; Zhang, Y.; Wang, X. Mixed-Timescale joint computational offloading and wireless resource allocation strategy in energy harvesting multi-MEC server systems. IEEE Access
**2019**, 7, 74640–74652. [Google Scholar] [CrossRef] - Mehrabi, M.; You, D.; Latzko, V.; Salah, H.; Reisslein, M.; Fitzek, F.H. Device-Enhanced MEC: Multi-Access Edge Computing (MEC) aided by end device computation and caching: A survey. IEEE Access
**2019**, 7, 166079–166108. [Google Scholar] [CrossRef] - Zheng, J.; Gao, L.; Wang, H.; Li, X.; Xu, P.; Wang, L.; Yang, X. Joint downlink and uplink edge computing offloading in ultra-dense HetNets. Mob. Netw. Appl.
**2019**, 24, 1452–1460. [Google Scholar] [CrossRef] - Cheng, K.; Teng, Y.; Sun, W.; Liu, A.; Wang, X. Energy-Efficient joint offloading and wireless resource allocation strategy in multi-MEC server systems. In Proceedings of the 2018 IEEE International Conference on Communications (ICC), IEEE, Kansas City, MO, USA, 20–24 May 2018; pp. 1–6. [Google Scholar] [CrossRef] [Green Version]
- Ndikumana, A.; Tran, N.H.; Ho, T.M.; Han, Z.; Saad, W.; Niyato, D.; Hong, C.S. Joint communication, computation, caching, and control in big data multi-access edge computing. IEEE Trans. Mob. Comput.
**2019**, 19, 1359–1374. [Google Scholar] [CrossRef] [Green Version] - Zhao, P.; Tian, H.; Qin, C.; Nie, G. Energy-Saving offloading by jointly allocating radio and computational resources for mobile edge computing. IEEE Access
**2017**, 5, 11255–11268. [Google Scholar] [CrossRef] - Liu, J.; Li, P.; Liu, J.; Lai, J. Joint offloading and transmission power control for mobile edge computing. IEEE Access
**2019**, 7, 81640–81651. [Google Scholar] [CrossRef] - Liu, J.; Shi, C. Optimization of network-based caching and forwarding using mobile edge computing. IEEE Access
**2019**, 7, 181855–181866. [Google Scholar] [CrossRef] - Min, M.; Xiao, L.; Chen, Y.; Cheng, P.; Wu, D.; Zhuang, W. Learning-Based computation offloading for IoT devices with energy harvesting. IEEE Trans. Veh. Technol.
**2019**, 68, 1930–1941. [Google Scholar] [CrossRef] [Green Version] - Zhou, F.; Wu, Y.; Hu, R.Q.; Qian, Y. Computation rate maximization in UAV-enabled wireless-powered mobile-edge computing systems. IEEE J. Sel. Areas Commun.
**2018**, 36, 1927–1941. [Google Scholar] [CrossRef] [Green Version] - Pham, X.-Q.; Nguyen, T.-D.; Nguyen, V.; Huh, E.-N. Joint node selection and resource allocation for task offloading in scalable vehicle-assisted multi-access edge computing. Symmetry
**2019**, 11, 58. [Google Scholar] [CrossRef] [Green Version] - Guo, H.; Liu, J.; Qin, H. Collaborative mobile edge computation offloading for IoT over fiber-wireless networks. IEEE Netw.
**2018**, 32, 66–71. [Google Scholar] [CrossRef] - Liang, J.; Liu, C.; Tan, G.; Yang, L. Joint offloading and frequency scaling technology for mobile edge computing. In Proceedings of the 2019 IEEE 21st International Conference on High Performance Computing and Communications; IEEE 17th International Conference on Smart City; IEEE 5th International Conference on Data Science and Systems (HPCC/SmartCity/DSS), Zhangjiajie, China, 10–12 August 2019; pp. 2045–2052. [Google Scholar] [CrossRef]

**Figure 1.**A mobile edge computing (MEC)–edge cloud server collaborative system with energy harvesting technology.

**Figure 2.**The battery energy level when $N=6$ and $M=2$. (

**a**) The penalty value for the unprocessed tasks $\Phi =\tau $; (

**b**) the penalty value for the unprocessed tasks $\Phi =2\tau $.

**Figure 3.**Comparison of the integer linear programming (ILP) algorithm and the OILP algorithm on the number of unprocessed tasks. (

**a**) The relationship between the number of unprocessed tasks and the data size of the task; (

**b**) the relationship between the number of unprocessed tasks and the number of the local devices; (

**c**) the relationship between the number of unprocessed tasks and the number of MEC servers; (

**d**) the relationship between the number of unprocessed tasks and the number of wired speed limit links of each MEC server.

**Figure 5.**The CPU usage of each MEC server in each time slot. (

**a**) the CPU resource utilization of the MEC server by ILP algorithm; (

**b**) the CPU resource utilization of the MEC server by OILP algorithm.

**Figure 6.**The impact of the proportion of tasks with priority on the system. (

**a**) The relationship between the number of unprocessed tasks and the proportion of tasks with priority $\left({\rho}_{p}\right)$; (

**b**) the relationship between the time slot when the system reaches stability and the proportion of tasks with priority (${\rho}_{p}$).

Notation | Description | Notation | Description |
---|---|---|---|

${\mathit{n}}_{\mathit{i}}$ | index set of local devices | ${\mathit{f}}_{\mathit{i}}^{\mathit{t}}$ | frequency of ${\mathit{n}}_{\mathit{i}}$ |

${\mathit{m}}_{\mathit{j}}$ | index set of MEC server | ${\mathit{f}}_{\mathit{l}}^{\mathit{m}\mathit{a}\mathit{x}}$ | maximum value of ${\mathit{f}}_{\mathit{i}}^{\mathit{t}}$ |

$\mathit{T}$ | index set of time slot | ${\mathit{p}}_{\mathit{m}\mathit{a}\mathit{x}}$ | maximum value of transmit power |

$\mathit{\tau}$ | time slot interval | ${\mathit{r}}_{\mathit{i},\mathit{j}}^{\mathit{t}}$ | channel transmission rate |

${\mathit{d}}_{\mathit{i},\mathit{j}}^{\mathit{t}}$ | the distance between ${\mathit{n}}_{\mathit{i}}$ and ${\mathit{m}}_{\mathit{j}}$ | ${\mathit{E}}_{\mathit{i},\mathit{l}}^{\mathit{t}}$ | the energy consumption of the task processing locally |

${\mathit{D}}_{\mathit{i}}^{\mathit{t}}$ | task size (bits) generated by local device ${\mathit{n}}_{\mathit{i}}$ | ${\mathit{T}}_{\mathit{i},\mathit{l}}^{\mathit{t}}$ | the time delay of the task processing locally |

$\mathit{C}$ | number of CPU cycles required to process one bit of data | ${\mathit{E}}_{\mathit{i},\mathit{j}}^{\mathit{t}}$ | the energy consumption of task processing by the MEC server |

$\mathit{\rho}$ | task priority | ${\mathit{T}}_{\mathit{i},\mathit{j}}^{\mathit{t}}$ | the time delay of task processing by the MEC server |

${\mathit{\rho}}_{\mathit{p}}$ | probability of high priority tasks | ${\mathit{E}}_{\mathit{i},\mathit{c}}^{\mathit{t}}$ | the energy consumption of task processing by the edge cloud server |

${\mathit{D}}_{\mathit{i}\mathit{j}}^{\mathit{t}}$ | the size (bits) of task that be processed by MEC server | ${\mathit{T}}_{\mathit{i},\mathit{c}}^{\mathit{t}}$ | the time delay of task processing by the edge cloud server |

${\mathit{D}}_{\mathit{i}\mathit{l}}^{\mathit{t}}$ | the size (bits) of task that be processed locally | $\mathit{H}$ | number of divided wired links |

${\mathit{b}}_{\mathit{i}}^{\mathit{t}}$ | battery level | $\mathsf{\Phi}$ | penalty value if the task cannot be processed |

${\mathit{E}}_{\mathit{m}\mathit{a}\mathit{x}}$ | maximum value of ${\mathit{b}}_{\mathit{i}}^{\mathit{t}}$ | $\mathit{V}$ | weight of battery energy stability and time delay |

${\mathit{e}}_{\mathit{i}}^{\mathit{t}}$ | the value of energy collected locally | ${\mathit{U}}_{\mathit{j}}$ | CPU usage of MEC server |

${\mathit{E}}_{\mathit{i},\mathit{H}}^{\mathit{t}}$ | maximum value of ${\mathit{e}}_{\mathit{i}}^{\mathit{t}}$ | ${\mathit{U}}_{\mathit{j}\mathit{G}\mathit{o}\mathit{o}\mathit{d}}$ | best value of ${\mathit{U}}_{\mathit{j}}$ |

$\mathit{X}$ | the mode of task processing |

Parameter Attributes | Value |
---|---|

Local device number ($\mathit{N}$) | 5–30 |

MEC server number ($\mathit{M})$ | 2–3 |

Task size (bits) generated by local device (D) | 4 Kb |

Time slot interval $\left(\mathbf{\tau}\right)$ | 2 ms |

Safe CPU utilization (${\mathit{U}}_{\mathit{j}\mathit{G}\mathit{o}\mathit{o}\mathit{d}}$) | 0.7 |

Local CPU maximum (${\mathit{f}}_{\mathit{l}}^{\mathit{m}\mathit{a}\mathit{x}}$) | 1.5 GHz |

MEC CPU capability (${\mathit{f}}_{\mathit{m}}$) | 4 Ghz |

Edge cloud CPU capability (${\mathit{f}}_{\mathit{c}}$) | 4 Ghz |

Wired link upload rate (${\mathit{r}}_{\mathit{m}\mathit{c}}$) | 100 M/bps |

Number of wired speed limit links $\left(\mathit{H}\right)$ | 3 |

Probability of generating a priority task (${\mathbf{\rho}}_{\mathit{p}}$) | 0.2 |

© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Li, D.; Jin, Y.; Liu, H.
Resource Allocation Strategy of Edge Systems Based on Task Priority and an Optimal Integer Linear Programming Algorithm. *Symmetry* **2020**, *12*, 972.
https://doi.org/10.3390/sym12060972

**AMA Style**

Li D, Jin Y, Liu H.
Resource Allocation Strategy of Edge Systems Based on Task Priority and an Optimal Integer Linear Programming Algorithm. *Symmetry*. 2020; 12(6):972.
https://doi.org/10.3390/sym12060972

**Chicago/Turabian Style**

Li, Daoquan, Yingnan Jin, and Haoxin Liu.
2020. "Resource Allocation Strategy of Edge Systems Based on Task Priority and an Optimal Integer Linear Programming Algorithm" *Symmetry* 12, no. 6: 972.
https://doi.org/10.3390/sym12060972