# Reliability-enhanced mobile edge computing task unloading method

## An edge computing and reliability technology, applied in computing, program control design, program loading/starting, etc., can solve the problems of maximizing reliability and minimizing bandwidth consumption of IoT applications at the same time

Active Publication Date: 2020-12-25

ANYANG NORMAL UNIV

6 Cites 0 Cited by

## AI-Extracted Technical Summary

### Problems solved by technology

[0005] Aiming at the contradiction between the reliability level and the bandwidth consumption in the existing multi-objective optimization method of the Internet of Things application, the technical problem of maximizing the reliability and minimizing the bandwidth consumption of the Internet of Things application cannot be satisfied at the same time, the present invention p...

### Method used

[0116] On this basis, these collaborative tasks of the G IoT applications are offloaded to the edge server, while improving the reliability level of these IoT applications and reducing the bandwidth consumption of these IoT applications. Algorithm 1 gives the realization scheme of RETO. Line 2 sorts IoT applications in ascending order by deadline to uninstall time-critical IoT applications first. Lines 3-22 loop to obtain approximately optimal unloading schemes for all tasks in G IoT applications. Lines 4-5 get the number of structural layers Ai of each IoT application, and divide the task set Qi into Ai groups TaskGroup[l], l∈{1,2,...,Ai}. The loop in lines 6-9 selects the conta...

## Abstract

The invention provides a reliability-enhanced mobile edge computing task unloading method. The method comprises the following steps of firstly, constructing a mobile edge computing system model, and accessing Internet of Things equipment into the mobile edge computing system model to generate an Internet of Things application; secondly, constructing directed acyclic graphs of the Internet of Things application according to a plurality of cooperation tasks of the Internet of Things application; constructing a bandwidth consumption model and a reliability model; matching the plurality of cooperation tasks of the Internet of Things application with edge cloud by using a reliability-enhanced task unloading method; and finally, calculating a reliability level, bandwidth consumption and total completion time of the Internet of Things application by utilizing the bandwidth consumption model and the reliability model. According to the invention, the bandwidth consumption model and the reliability model based on a Poisson process are established, an approximately optimal method with low time complexity is provided, the cooperation task unloading scheme on the edge cloud can be effectively generated, and effectiveness of the method is proved through simulation experiments.

Application Domain

Resource allocationProgram loading/initiating +2

Technology Topic

Computing systemsInternet of Things +9

## Image

## Examples

- Experimental program(1)

### Example Embodiment

[0052] The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only some, not all, embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the protection scope of the present invention.

[0053] like figure 1 As shown, the embodiment of the present invention provides a mobile edge computing task offloading method with enhanced reliability, and the specific steps are as follows:

[0054] Step 1: Build a mobile edge computing system model based on the edge cloud, and connect IoT devices to the mobile edge computing system model to generate IoT applications. The IoT applications include multiple collaborative tasks; figure 2 As shown, the mobile edge computing system model includes a plurality of edge clouds provided by the Internet of Things system operator to provide Internet of Things services, and the multiple edge clouds are connected through an optical fiber backhaul network based on the entire network topology, and the edge clouds are connected through wireless The network is connected with IoT devices. Heterogeneous edge servers are deployed in the edge cloud, and containers or virtual machines are arranged in the heterogeneous edge servers. Since the focus of the present invention is task offloading of latency-sensitive IoT applications, all IoT services only consider offloading their latency-sensitive IoT applications to multiple edge clouds, not remote clouds. Each edge cloud is deployed near IoT devices and has a certain number of heterogeneous edge servers. Each edge server accommodates a certain number of containers (containers, Cs) or virtual machines (virtual machines, VMs).

[0055] Step 2: Construct the directed acyclic graph of the IoT application according to the multiple collaborative tasks of the IoT application; each delay-sensitive IoT application contains multiple collaborative tasks (tasks, Ts), and uses a directed acyclic graph to express, such as image 3 As shown in , where the gray circle represents the start task corresponding to the IoT application, and the arrow represents the dependency between tasks. Each task is indivisible and can only be handled by one container or virtual machine.

[0056] figure 2 In this method, P heterogeneous edge servers are randomly pre-deployed into H edge clouds of the reliability-aware mobile edge computing system. M containers or virtual machines indexed by the set Z={1,2,...,M} are randomly assigned to these edge servers. The container or virtual machine j has a certain processing capability c j (in instructions/sec), bandwidth bw j (in Mb/s), memory capacity L j (in instruction units), failure rate λ j and recovery rate u j. IoT devices are connected to the mobile edge computing system model and generate delay-sensitive IoT applications in any order and time. G IoT applications indexed by the set Ι={1,2,...,G} are in a certain Generated at point in time. IoT application i has a deadline requirement D in seconds i , is divided into |Q i | task, task q∈Q i have a certain instruction length l iq. When these tasks are offloaded to these edge clouds, the state of all containers or VMs is analyzed to determine which containers or VMs these tasks should be assigned to. At the same time, containers or virtual machines that have no tasks assigned to them can be shut down. Because containers or virtual machines with a high failure rate may fail during task processing, containers or virtual machines in the same cluster may be deployed in different edge servers, all of which affect the completion time and bandwidth consumption of IoT applications and reliability levels of IoT applications. Therefore, it is crucial to design a reliability-enhanced task offloading scheme for these IoT applications.

[0057] Step 3: Build a bandwidth consumption model and a reliability model for the mobile edge computing system model;

[0058] When IoT devices generate IoT applications, each IoT application will be divided into multiple collaborative tasks and offloaded to edge servers for processing by a cluster composed of multiple containers or virtual machines. Considering the communication between containers or virtual machines in the same cluster, the bandwidth and time required for the cluster to process IoT applications are directly related to the location of the containers or virtual machines in the edge cloud. This is because, if containers or virtual machines in the same cluster are located on the same edge server, communication between containers or virtual machines does not consume bandwidth and time; instead, it consumes a certain amount of bandwidth and time. Therefore, the total bandwidth consumed by the edge server after processing G IoT applications is expressed by formula (1).

[0059]

[0060] Among them, bandwidthC represents the total bandwidth consumed by G IoT applications, i=1, 2,..., G represents the i-th IoT application, Q i Indicates the total number of tasks of the i-th IoT application, H indicates the number of edge clouds, P h is the set of edge servers owned by the hth edge cloud; M p Indicates the collection of containers or virtual machines on the pth edge server; x qm Represents a binary variable, x qm =1 means that the qth task is deployed to the mth container or virtual machine, x qm = 0 means that the qth task is not deployed to the mth container or virtual machine; b mr Represents a binary variable, b mr =1 means that the task q being processed by the mth container or virtual machine is the sender and belongs to the same cluster as the task being processed by the rth container or virtual machine, b mr = 0 means that the task q being processed by the mth container or virtual machine is not the sender, and the rth container or virtual machine is not on the same heterogeneous edge server as the mth container or virtual machine; bw m Indicates the bandwidth from the mth container or virtual machine to the rth container or virtual machine.

[0061] Containers or virtual machines can fail while they are processing tasks. To better study the impact of container or virtual machine failures on the reliability level of IoT applications, these failures are considered recoverable. That is, the failed container or virtual machine continues to process tasks after a certain period of time (i.e. recovery time). Given the isolation nature of virtualization technology, all container or virtual machine failures are considered independent of each other. The processing time spent by container or virtual machine j to complete task q of IoT application i without failure is t iqj = l iq /c j. In the time interval (0,t iqj ], the failure occurs and obeys the failure rate parameter λj A Poisson process of , the total number of failures in a container or virtual machine j is denoted as N j (t iqj ). So far, N j (t iqj ) = the probability of k' can be calculated by formula (2).

[0062]

[0063] N j (t iqj ) can be calculated by formula (3).

[0064] E[N j (t iqj )]=λ j t iqj (3)

[0065] Recovery time R for the k'th failure on container or virtual machine j jk' (t iqj ) is the recovery rate parameter u j The exponentially distributed random variable of . Therefore, the total recovery time R on the jth container or virtual machine j (t iqj ) can be calculated by formula (4). Since the total recovery time R j (t iqj ) is a mixed Poisson process whose mean can be calculated by formula (5).

[0066]

[0067]

[0068] The average total processing time T of the qth task of the IoT application i on the jth container or virtual machine iqj From task processing time and failure recovery time E[R j (t iqj )], its value can be calculated by formula (6).

[0069]

[0070] Among them, E[R j (t iqj )] represents the total recovery time R on the jth container or virtual machine j (t iqj ) expectation, t iqj = l iq /c j Indicates the processing time spent by container or virtual machine j to complete task q of IoT application i without failure, l iq Indicates the instruction length corresponding to the qth task of the i-th IoT application, c j Indicates the processing capability of the container or virtual machine j (in instruction/second), and Ι={1,2,...,G} indicates the set of G IoT applications.

[0071] Furthermore, if some or all of the containers or VMs in the same cluster are not on the same edge server, it takes time for these containers or VMs with communication dependencies to transfer data. Therefore, the completion time of IoT application i (ie: totalT i ) consists of task processing time, fault recovery time and task communication time, as shown in formula (7).

[0072]

[0073] where W represents the task from the top level (such as T 2,1 , T 2,2 , T 2,3 ) to the underlying task (such as T 2,7 ) execution path collection {{T 2,1 , T 2,4 , T 2,7},{T 2,1 , T 2,5 , T 2,7},{T 2,2 , T 2,5 , T 2,7},{T 2,2 , T 2,6 , T 2,7},{T 2,3 , T 2,6 , T 2,7}}. v represents the task set of an execution path of the set W, β qz is a binary variable, β qz = 0 means task q and task z are on the same heterogeneous edge server, β qz = 1 means task q and task z are not on the same heterogeneous edge server, ρ qz is a binary variable, ρ qz = 1 means task q sends data to task z, ρ qz = 0 means task q does not send data to task z, data q Indicates the amount of data sent by task q, bw j Indicates the bandwidth of the container or virtual machine j where the task q is located, j∈Z indicates that the container or virtual machine j belongs to a set consisting of M containers or virtual machines, T iqj Indicates the processing time of the qth task of the IoT application i on the jth container or virtual machine.

[0074] As IoT system operators provide services to mobile users, reliability levels reflect how the system operates and thus how successfully the requested service can be provided. The present invention mainly studies the impact of container or virtual machine failure and recovery on the completion time (ie QoS) of IoT applications. If the completion time of IoT application i exceeds its deadline requirement D i , the QoS is considered to be violated. Therefore, the probability of QoS violation can be characterized by the ratio of the number of IoT applications that are not satisfied at a given time to the total number of IoT applications. In addition, the reliability level of IoT applications can be calculated by the probability of violating QoS, as shown in formula (8), where U represents the total number of IoT applications that violate QoS.

[0075]

[0076] in, Indicates the total number of IoT applications that violate QoS, difference (totalT i -D i ) indicates whether the QoS requirement of IoT application i is violated, (totalT i -D i )>0 when F(totalT i -D i )=1 means that the QoS requirement of IoT application i is violated, otherwise F(totalT i -D i )=0 means that the QoS requirement of the Internet of Things application i is not violated; totalT i Denotes the completion time of IoT application i, D i Indicates the upper limit of the total processing time of IoT application i, that is, the deadline.

[0077] In the mobile edge computing system model, edge clouds are interconnected by full topology of fiber optic backhaul network, and the communication between edge clouds is considered to be independent of load. Therefore, if the containers or VMs that handle the collaborative tasks of IoT applications i are not deployed on the same edge server, then the communication delay between these containers or VMs mainly depends on the bandwidth and data of the containers or VMs when sending state size. At the same time, since the container or virtual machine has a certain failure rate and recovery rate, the processing time of the IoT application is further increased, which also greatly affects the reliability level of the IoT application. While communication latency can be reduced by increasing communication bandwidth between tasks, edge servers have fixed bandwidth. That is, if the bandwidth between cooperating tasks of one IoT application increases, the bandwidth of other sending tasks on the same edge server and the reliability level of the IoT application where other tasks reside will decrease. Therefore, a compromise needs to be found to minimize the bandwidth consumption of G IoT applications while maximizing the reliability level of these IoT applications during task offloading, which can be expressed by Equation (9).

[0078]

[0079] Among them, F0 represents the multi-objective optimization function;

[0080] The constraints of the multi-objective optimization function F0 are:

[0081]

[0082] Among them, l iq Indicates the instruction length corresponding to the qth task of the i-th IoT application, L m Indicates the memory capacity (in instructions) of the container or virtual machine m. The first constraint of formula (10) means that each task can only be deployed on one container or virtual machine; the second constraint of formula (10) means that the memory capacity of each container or virtual machine is greater than or equal to the deployment The sum of the memory required by the tasks.

[0083] Since F( ) is a unit step function, the optimization problem F0 is nonlinear and difficult to solve. Therefore, define a boolean variable B i and assign B i =F(totalT i -D i ) can also be expressed as formula (11). Represents a very large positive number. In addition, formula (11) can be transformed into formula (12) by adding a small positive number ε, where ε is the tolerance of QoS violation, and the unit is second.

[0084]

[0085]

[0086] Furthermore, F0 can be expressed as a multi-objective integer linear programming optimization function, which can be expressed by formula (13).

[0087]

[0088] Among them, F1 represents the multi-objective integer linear programming optimization function, B i ∈{0,1}.

[0089] However, since the optimization problem F1 is still a multi-objective optimization problem, using the widely used weighted sum method, it can be transformed into a single-objective optimization problem by combining the objectives with weights, where the weights reflect the relative importance of each objective. The single-objective optimization problem F2 can be expressed as formula (14). The single-objective integer linear programming optimization function is:

[0090]

[0091] Among them, F2 represents the single-objective integer linear programming optimization function, θ 1 and θ 2 are adjustable factors, and θ 1 and θ 2 Both are positive numbers. Although the single-objective optimization problem F2 is still an integer linear programming problem, it can be solved by many methods (such as branch and bound method and exhaustive method) or optimization tools (such as CPLEX), but the computational complexity of these methods or tools is often very high. high. Therefore, it is urgent to adopt an approximate optimal method with low time complexity to solve this problem.

[0092] Step 4: According to the directed acyclic graph of the IoT application, multiple collaborative tasks of the IoT application are matched with the edge cloud using the Reliability-Enhanced Task Offloading Approach (RETO).

[0093]As mentioned earlier, the integer linear programming problem F2 has a high time complexity, and it is infeasible to find an optimal solution at such a large scale. Therefore, an approximate optimal method is introduced to solve it, and a mobile edge computing system model ( figure 2 ) to verify the method. In this system, all containers or virtual machines are randomly assigned to edge servers, and each IoT application is divided into multiple collaborative tasks ( image 3 ), and are assigned to these containers or virtual machines by the method proposed by the present invention.

[0094] The specific method is:

[0095] S41. Initialize all parameters of the reliability-enhanced task offloading method, sort the G IoT applications in ascending order according to the deadlines of the IoT applications, and construct a priority queue {T for the IoT applications 1 , T 2 ,...,T i ,...,T G};

[0096] S42. Determine the task hierarchy of G IoT applications according to the directed acyclic graph of G IoT applications, wherein the task hierarchy includes top-level tasks (for example, T 1,1 , T 1,2 , T 2,1 , T 2,2 , T 2,3 ), middle-level tasks (for example, T 2,4 , T 2,5 , T 2,6 ) and underlying tasks (eg, T 1,3 , T 2,7 ), the top-level tasks only send tasks, the bottom-level tasks only receive tasks, and the middle-level tasks are either send tasks or receive tasks;

[0097] S43. Specify the container or virtual machine where the second layer task of the i-th Internet of Things application is located, wherein the second layer task refers to the first layer of the middle layer task;

[0098] S43.1. Arrange the second-layer tasks of the i-th IoT application in descending order according to their instruction lengths, and obtain the second-layer task sequence {q of the i-th Internet of Things application i,2,1 ,q i,2,2 ,...,q i,2,a2}, a 2 Indicates the number of tasks for layer 2 tasks;

[0099] S43.2. Initialize parameter k2=1, set the number of containers or virtual machines to M;

[0100] S43.3. Calculate the qth i,2,k2 The average total processing time of a task on M-k2+1 containers or virtual machines, and select the container or virtual machine corresponding to the smallest average total processing time as the qth container or virtual machine i,2,k2 The container or virtual machine where the task resides;

[0101] S43.4, k2=k2+1, cyclically execute step S43.3, until all tasks of the second layer of the i-th IoT application are assigned to containers or virtual machines;

[0102] S44. Designate the container or virtual machine where the top-level task of the i-th IoT application is located;

[0103] S44.1. Sort the top-level tasks of the i-th IoT application in descending order according to their instruction lengths, and obtain the top-level task sequence {q of the i-th IoT application i,1,1 ,q i,1,2 ,...,q i,1,a1}, a 1 Indicates the number of tasks at the top level;

[0104] S44.2, initialization parameter k1=1;

[0105] S44.3. Calculate the qth i,1,k1 ω of tasks on M-a2-k1+1 containers or virtual machines q value, and choose the smallest ω q The corresponding container or virtual machine is used as the qth i,1,k1 The container or virtual machine where a task resides, where ω q Represents a dimensionless variable; for the top-level task q of the IoT application i, it is placed in the receiving task (such as T 2,4 , T 2,5 , T 2,6 ) on top of a container or virtual machine on the same edge server. If there is no such container or virtual machine, the container or virtual machine j for task q is selected by formula (15). That is, a container or virtual machine j is such that ω q The value of the minimized container or virtual machine.

[0106] The dimensionless variable ω q The calculation method is:

[0107]

[0108] Among them, α is an adjustable factor, and Ω represents a group of containers or virtual machines.

[0109] S44.4, k1=k1+1, execute step S44.3 in a loop until all top-level tasks of the i-th IoT application are assigned to containers or virtual machines;

[0110] After completing the above steps, the tasks of the top layer and layer 2 of the DAG are offloaded to the edge server. Next, other tasks in the DAG are also sequentially offloaded to the edge servers. Once the tasks of the previous layer are processed, these tasks are considered as sending tasks, and their processing results are sent to the tasks of the lower layer.

[0111] S45. Taking the next-level task as the current-level task, sorting the upper-level tasks in ascending order according to the completion time of the upper-level task of the current-level task, and then according to the unspecified container or virtual machine corresponding to the same upper-level task The instruction lengths of the current layer tasks are sorted in descending order to obtain the current layer task sequence;

[0112] S46. Select the container or virtual machine of the current layer task according to the operation method of step S44, jump to the next layer task, and return to step S45 until all tasks of the G Internet of Things applications are allocated to the container or virtual machine.

[0113] Step 5: According to the matching relationship between the collaboration task and the edge cloud, use the bandwidth consumption model and the reliability model to calculate the reliability level, bandwidth consumption and total completion time of the IoT application.

[0114] S51. According to the task hierarchy structure of the G IoT applications and the container or virtual machine where the task is located, respectively obtain G execution path sets {W 1 ,W 2 ,...,W G};

[0115] S52. According to the set of G execution paths {W 1 ,W 2 ,...,W G}, obtain the reliability level, bandwidth consumption and total completion time of the IoT application in the mobile edge computing system model through the reliability model calculation formula, the bandwidth consumption model calculation formula and the IoT application completion time calculation formula.

[0116] On this basis, these collaboration tasks of G IoT applications are offloaded to the edge server, while the reliability level of these IoT applications is improved, and the bandwidth consumption of these IoT applications is reduced. Algorithm 1 gives the implementation of RETO. Line 2 sorts IoT applications in ascending order by deadline to uninstall time-critical IoT applications first. Lines 3-22 loop to obtain approximately optimal unloading schemes for all tasks in G IoT applications. Lines 4-5 get the structure layer number A of each IoT application i , and set the task set Q i divided into A i Group TaskGroup[l],l∈{1,2,...,A i}. The loop in lines 6-9 selects the container or virtual machine j of task q in the set TaskGroup[2] in descending order of instruction length such that T iqj minimize. Lines 10-13 loop to specify the container or virtual machine j of task q in the set TaskGroup[1] in descending order of instruction length to minimize ω q. When the number of structural layers l of the directed acyclic graph is greater than or equal to 3, lines 14-21 arrange the container or virtual machine j of the task q in the specified set TaskGroup[l] in descending order according to the instruction length, so that ω q minimize. The loop in lines 23-31 gets the reliability level, bandwidth consumption and total completion time of G IoT applications.

[0117]

[0118]

[0119] A reliability-aware mobile edge computing simulation environment is constructed by extending the CloudSim simulator and ifogSim simulator, which consists of 25 edge clouds, 127 edge servers and 200 virtual machines. These edge clouds are evenly distributed in the 5G smart city network scenario, and are interconnected through the full topology of the optical fiber backhaul network. In each edge cloud, a base station is connected to other base stations through a fiber optic backhaul network; the number of edge servers interconnected through switches is randomly selected from the collection [4,6]; multiple IoT devices communicate with base stations using wireless access networks communication. The configuration information of each edge server can be randomly selected from the set {HP ProLiant G4, HP ProLiant G5}. The processing capacity and memory capacity of each virtual machine can be randomly selected from the set {500MIPS and 0.6GB, 1000MIPS and 1.7GB, 2000MIPS and 3.75GB, 2500MIPS and 0.85GB}. The disk capacity and bandwidth requirements of each virtual machine are 1GB and randomly selected from the set [10,50]Mbps, respectively.

[0120] The above parameter information is mainly used to configure the environment where tasks can be offloaded. Next, some offloading parameters will be set for the virtual machine based on the size of the virtual machine. The processing capability of each virtual machine is randomly selected from the set [0.5×106,106] (in instruction/second unit); the memory capacity of each virtual machine is randomly selected from the set [2×107,4×107] (in instruction unit) Select; Randomly select the failure rate and recovery rate of each virtual machine from the set [1%, 5%]. When an IoT device is connected to the edge cloud and generates 50 latency-sensitive IoT applications in any order and time, each IoT application is split into multiple collaborative tasks and offloaded to the edge cloud. The length of each task is randomly selected from the set [500,5000] (in instruction units). If a task is the sender, the amount of data it sends will be randomly selected from the set [1,2]Mb. The deadline requirement for each IoT application is randomly selected from the set [5,9] ms. Positive adjustable factors α, θ 1 and θ 2 Set to 0.0037, 1 and 2000 respectively.

[0121] Based on the configuration information above, the performance of RETO is evaluated by comparing it with the following benchmark methods.

[0122] Random Offloading (RO): When multiple virtual machines satisfy the constraints, a virtual machine is randomly selected to accommodate each task of the IoT application in turn.

[0123] Greedy Offloading (Greedy Offloading, GO): When multiple virtual machines meet the constraint conditions, select the virtual machine that makes the formula (6) take the minimum value, and accommodate each Task.

[0124]Differential Evolution (DE): Iteratively optimizes the single objective function F2 through the differential evolution algorithm to specify a virtual machine. When multiple virtual machines meet the constraint conditions, the DAG from the Internet of Things application Accommodates each task from top to bottom.

[0125] Next, when uninstalling G IoT applications, comparing RETO with RO, GO, and DE in three aspects: reliability level, bandwidth consumption, and total completion time after uninstalling IoT applications, and analyzing RETO’s performance in uninstalling IoT applications. performance when applied. At the same time, the influence of the experimental parameter IoT application number on these performance indicators is also analyzed.

[0126] like Figure 4 As shown, as the number of IoT applications increases from 20 to 50 in steps of 10, the level of reliability decreases and both bandwidth consumption and application completion time increase. Except for the method execution time increase of DE, there is little change in other methods. This is due to the increase in the number of IoT applications that increases the number of collaborative tasks that need to be offloaded to virtual machines with different processing capabilities, failure rates, and recovery rates. As a result, application completion times and bandwidth consumption increase to varying degrees. At the same time, the reliability level of each method is correspondingly reduced. Since the number of tasks determines the chromosome length of DE, its method execution time increases with the number of tasks. Furthermore, RETO has the greatest level of reliability among all methods, the smallest bandwidth consumption, the smallest application completion time, and moderate method execution time.

[0127] The above descriptions are only preferred embodiments of the present invention, and are not intended to limit the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present invention shall be included in the scope of the present invention. within the scope of protection.

## PUM

## Description & Claims & Application Information

We can also present the details of the Description, Claims and Application information to help users get a comprehensive understanding of the technical details of the patent, such as background art, summary of invention, brief description of drawings, description of embodiments, and other original content. On the other hand, users can also determine the specific scope of protection of the technology through the list of claims; as well as understand the changes in the life cycle of the technology with the presentation of the patent timeline. Login to view more.