Next Article in Journal
Development of an Automatic Solar Tracker Control System for a Tandem-Winged UAV and Its Implementation Strategies
Next Article in Special Issue
Dynamic Offloading in Flying Fog Computing: Optimizing IoT Network Performance with Mobile Drones
Previous Article in Journal
DroneNet: Rescue Drone-View Object Detection
Previous Article in Special Issue
A Computation Offloading Scheme for UAV-Edge Cloud Computing Environments Considering Energy Consumption Fairness
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Joint Trajectory Planning, Service Function Deploying, and DAG Task Scheduling in UAV-Empowered Edge Computing

1
College of Electronics and Information Engineer, Nanjing University of Information Science and Technology, Nanjing 210044, China
2
The Sixty-Third Research Institute, National University of Defense Technology, Nanjing 210007, China
*
Authors to whom correspondence should be addressed.
Drones 2023, 7(7), 443; https://doi.org/10.3390/drones7070443
Submission received: 30 May 2023 / Revised: 2 July 2023 / Accepted: 3 July 2023 / Published: 5 July 2023
(This article belongs to the Special Issue Edge Computing and IoT Technologies for Drones)

Abstract

:
Efficient task scheduling plays a key role in unmanned aerial vehicle (UAV)-empowered edge computing due to the limitation in energy supply and computation resource on the UAV platforms. This problem becomes much more complicated when the processing-dependent tasks that can be described as directed acyclic graphs (DAGs) and each of their components can only be processed on a virtual machine or container that deploys the desired service function (SF). In this paper, we first build an optimization problem that aims to minimize the completion time of all DAG tasks subject to constraints including task dependency, computation resource occupied by the UAVs, etc. To tackle this problem, a genetic algorithm-based joint deployment and scheduling algorithm, named GA-JoDeS, is put forward, since solving the established 0–1 integer programming problem in polynomial time is infeasible. Subtask offloading decision and UAV position are encoded into the chromosome in the GA-JoDeS algorithm, and the fitness value of an individual is decided by the maximum completion time of all DAG tasks. Through selection, crossover, and mutation, the GA-JoDeS algorithm evolves until it determines the individual with the optimal fitness value as the suboptimal solution to the problem. To evaluate the performance of the proposal, a series of simulations is conducted, and three traditional methods are chosen as comparison benchmarks. The results show that the GA-JoDeS algorithm can convergence quickly, and it can effectively reduce the completion time of DAG tasks with different parameter settings.

1. Introduction

Thanks to the advantages brought by unmanned aerial vehicles (UAVs), such as strong mobility, low cost, and high flexibility, UAV-empowered mobile edge computing (MEC) has been increasingly popular in placing computation power near data sources in different scenarios. Mobile devices can offload tasks to nearby UAVs for processing to save their precious energy while reducing the response time of computation-intensive applications. The UAVs act as adaptable platforms for computing, transmission, and storage while distributing resources in accordance with the demands of mobile devices. To increase coverage area, multiple UAVs cooperate with each other in the form of an aerial network to collaboratively process their received computation tasks. In consideration of the limited resource at the UAVs, the efficient utilization of the computation and transmission resource plays a critical role in enhancing the quality of service (QoS), for instance, minimizing the completion time of offloaded tasks of UAV-empowered edge computing. So far, a few task offloading schemes have been proposed for optimizing different goals with various restrictions. However, two main challenges still hinder practitioners from applying existing solutions in practical scenarios. First, most efforts over-simplify offloaded tasks as singletons without considering the dependency among them, this does not comply with the fact that most of the computation-intensive tasks can be described as a directed acyclic graph (DAG). A DAG task is composed of multiple subtasks with data dependency among them [1]. Second, most efforts only abstract task execution processes from the perspective of computing cycle numbers, without considering the correlation between task execution and the service function (SF), including software modules and data, deployed on the UAVs.This can lead to a great gap between the results based on analysis and in real-world scenarios deployment [2,3]
In this backdrop, this paper focuses on solving the two aforementioned challenges. To be specific, we consider a scenario, where a few UAVs collaborate with each other to process a given set of DAG tasks offloaded from mobile devices on the ground. Minimizing the maximum completion time of all DAG tasks is adopted as the optimization goal, and UAVs’ positions, SF deployment, and task scheduling decisions are optimized jointly. The main work and contributions of this paper are three-fold:
  • A 0–1 integer optimization problem is built after establishing the system model for the UAV-empowered edge computing scenario. The completion time of all DAG tasks is minimized with restrictions, such as data dependency among subtasks, and the computational resources available to the UAVs, etc.
  • To solve the established NP-hard problem, a genetic-algorithm-based joint deployment and scheduling algorithm, named GA-JoDeS, is put forward. In the GA-JoDeS algorithm, the subtask offloading decision and UAV position are encoded into the chromosome, and the fitness value of an individual is decided by the maximum completion time of all DAG tasks. Through selection, alternating crossover and mutation, the GA-JoDeS algorithm evolves until it finds individuals with the optimal fitness values.
  • A series of simulations is conducted to evaluate the effectiveness of the GA-JoDeS algorithm, and three algorithms are chosen as comparison benchmarks. Results show that the GA-JoDeS algorithm can greatly reduce the maximum completion time of DAG tasks.
The remaining of this paper is organized as follows. Section 2 summarizes existing efforts. Section 3 presents the system model and states the established optimization problem. Section 4 illustrates the detail of our algorithm design. The simulation and results analysis are provided in Section 5. Finally, Section 6 briefly concludes this work.

2. Related Work

Adopting UAVs as edge servers for providing integrated computation and communication services to mobile devices has been increasingly popular due to the unique advantages of UAVs, such as flexibility, high mobility, and line-of-sight communication capability. Performance optimization of UAV edge computing is critical to improving QoS, as resources on the UAV platform are limited to minimize the time it takes to complete task offloading.
Hu et al. [4] minimized the service delay of all users through jointly coordinating the optimization of the offloading strategy and UAV trajectory. Zhao et al. [5] investigated the fair-aware offloading and trajectory optimization problem in a multi-UAV-empowered edge-computing system. They aimed to minimize the weighted sum of energy consumption for both mobile devices and UAVs to ensure the fair consumption of energy and extended service times, and proposed an iterative optimization algorithm to alternate between optimizing the offloading strategy and UAV trajectory. Yang et al. [6] minimized the weighted energy consumption for all user devices and UAVs by optimizing device-offloading strategies, UAV-hovering positions, and computing rates. Yu et al. [7] jointly optimized UAV positions, communication, computation resource allocation, and task-splitting decisions to minimize the weighted sum of service latency for all IoT devices and UAV energy consumption. Ren et al. [8] proposed an offloading scheme for minimizing both the global computation time and energy consumption of UAVs, then used KKT conditions to calculate the optimal offloading ratio, and used dynamic non-cooperative game theory to solve the optimal offloading strategy and the shortest computation time. Ei et al. [9] considered the limited energy budget of UAVs for configuring edge-computing servers, and proposed a joint problem of device association, task assignment, and computing resource allocation. They aimed at minimizing the energy consumption of both mobile devices and UAVs, decomposed the non-convex problem into sub-problems, and used an iterative block coordinate descent algorithm to solve the problem.
When performing task offloading, there are different types of tasks, and edge servers with limited resources that can only deploy a subset of all the SFs [10,11]. For the SF deployment problem, Li et al. [12] designed a new genetic-algorithm-based SF deployment algorithm, and designed a new edge-computing-service-deployment management platform. The platform uses efficient deployment strategies to deploy SFs in edge systems, reducing the average response time for client access to services for multiple tenants renting computation resources. Cai et al. [13] applied deep reinforcement learning (DRL) methods to solve the edge service deployment problem, proposing a service deployment and resource allocation method based on the deep deterministic policy gradient (DDPG).
When performing task offloading, the position of the UAV affects the data transmission rate, so many scholars studied the impact of the UAV position on MEC. Zhan et al. [14] studied the joint design of computation offloading, resource allocation, and UAV trajectory based on the task and energy budget constraints of IoT devices in order to minimize UAV energy consumption and completion time. In reference [15], a model based on UAVs that can both process data and forward information to remote base stations is established. This work minimizes the energy consumption of UAVs by optimizing slot allocation, bit allocation, power allocation, and UAV trajectories. Regarding the situation where the UAV position is fixed, Yang et al. [6] considered a mobile edge computing network composed of multiple UAVs. They proposed a total power minimization problem with delay and coverage constraints through the joint optimization of user association, power control, computation allocation, and location planning, and decomposed the problem into several sub-problems to minimize the weighted total energy consumption of user devices and UAVs through iterative alternating optimization. Yu et al. [7] jointly optimized UAV positions, communication and computation resource allocation, and task-splitting decisions to minimize the weighted sum of service delay for all Internet of Things (IoT) devices and the UAV energy consumption. Xu et al. [16] investigated the problem of minimizing the completion time with the communication bandwidth, UAV transmission power, computation resources, and three-dimensional UAV position as optimization variables, and proposed a joint optimization algorithm based on continuous convex approximation. The aforementioned work explores resource allocation issues in various aspects of the UAV-assisted edge-computing scenario. However, they do not take into account the complexity of offloading tasks.
Table 1 provides a comprehensive comparison of the differences between this work and existing ones. It can be seen that this paper is the first to combine DAG tasks with SF and the UAV position, and optimize the task scheduling plan jointly.

3. System Model and Problem Statement

3.1. System Model

Figure 1 shows the overall scenario considered in this work, in which multiple UAVs serve as integrated computation, transmission, and storage platforms, providing services for mobile devices on the ground. Here, to simplify the expression, we replace the mobile devices by their respective DAG tasks, i.e., colored circles in Figure 1, which are computationally intensive and delay sensitive. A mobile device can offload its DAG tasks to the UAVs. UAVs are inter-connected to each other through a wireless network in the sky, and collaborate to process DAG tasks. A DAG task includes multiple subtasks, and each subtask is shown as a colored rectangle in Figure 1. When the UAV decides to offload one subtask, the subtask needs to instantiate the SF corresponding to the subtask; the instantiated SF is called a service instance (SI), and different types of subtasks require scheduling the corresponding SI for offloading. Since the resource of one single UAV is limited, only a few SFs can be deployed on each UAV. The main symbols used in this paper are shown in Table 2.

3.1.1. DAG Task Model

Consider a geographical area containing M mobile devices, which comprises a set of M independent tasks, represented by V = { V 1 , V 2 , , V M } . The position of the m-th mobile device is assumed to be fixed, and is defined as q G , m = { q G , m x , q G , m y , 0 } . Typically, each independent DAG task consists of multiple subtasks with data dependency. The structure of an independent task can be described as a DAG, denoted as G = ( V , ε ) , where V is the set of subtasks, and ε is the set of edges connecting the subtasks. For example, the set of subtasks for the m-th task, i.e., V m , is denoted as V m = { v m , 1 , v m , 2 , v m , i , v m , α m } , where α m is the number of subtasks in the m-th DAG, and v m , i represents the i-th subtask in V m . If there is an edge from v m , j to v m , i , i.e., ε ( m , j ) , ( m , i ) ε , the execution of v m , i depends on the result of v m , j . v m , j is called the predecessor of v m , i , while v m , i is the successor of v m , j . A subtask can only be executed after all its predecessors are finished. In a DAG task, a subtask with no predecessors is called an entry subtask, and a task with no successor is called an exit subtask.

3.1.2. UAV Model

In total, R UAVs equipped with miniature base stations are dispatched to the area for providing communication and computation service. The set of UAVs is represented by U = { u 1 , u 2 , u r , , u R } , where u r represents the r-th UAV. u r ’s position is defined as q U , r = { q U , r x , q U , r y , H } . For simplicity, to ensure flight safety and communication quality, it is assumed that all UAVs are deployed at the same height, i.e., H. Here, H can be set to the lowest height that can avoid all obstacles within the service area. Defining a subtask offload decision variable y v m , i r as executing subtask v m , i on the r-th UAV, we have
y v m , i r { 0 , 1 } , m , i , r
y v m , i r = 1 means that v m , i will be executed on the r-th UAV; otherwise, y v m , i r = 0 . To ensure that each subtask can only be executed on one UAV, the following constraint should be fulfilled, i.e.,
r = 1 R y v m , i r = 1

3.1.3. SF Deployment Model

An SF is the abstraction of the software and data for supporting the execution of a subtask [17]. The set of all SFs in the system is denoted as F = { f 1 , f 2 , , f Q } , where Q is the total number of SFs. Due to limited resources, each UAV can only deploy a subset of F , denoted as F r . We require that there is at least one instance of an SF in the UAV network. Therefore, we have
F 1 F 2 F R = F
where F r is the set of SFs deployed on u r . Assume that the total computation resources of the r-th UAV is C r , and the number of CPU cycles allocated by the r-th UAV to subtask v m , i is denoted as f v m , i r . Then, we have
s ( m , i ) F r f v m , i r C r
Each subtask can be mapped to one SF in F . Let s ( m , i ) be the SF corresponding to the i-th subtask in the m-th DAG task. Therefore, v m , i can only be executed on a UAV that has deployed its corresponding SF. We have
v m , i V , s ( m , i ) F
To describe the deployment of an SF on the UAV, define a decision variable x s ( m , i ) r as
x s ( m , i ) r { 0 , 1 } , m , i , r
Here, x s ( m , i ) r = 1 means s ( m , i ) corresponding to v m , i will be deployed on the r-th UAV; x s ( m , i ) r = 0 indicates that the r-th UAV will not deploy s ( m , i ) . There are constraints between the decision variable x s ( m , i ) r and the parameter y v m , i r , which are defined as follows:
x s ( m , i ) r = 1 i f y v m , i r = 1 y v m , i r = 0 i f x s ( m , i ) r = 0
y v m , i r = 1 means that v m , i is offloaded onto the r-th UAV. This can only be true when x s ( m , i ) r = 1 , i.e., s ( m , i ) is deployed on the r-th UAV. In other words, x s ( m , i ) r = 1 is a necessary but not sufficient condition for y v m , i r = 1 .

3.2. Task Execution Model

3.2.1. Communications Model

Three stages are required for processing a DAG task, i.e., task-uploading stage, task-computing stage, and results-returning stage. Following the common settings of previous works [18,19], this paper ignores the time consumed by the third stage since it is usually much less than that of the other two stages. For instance, for an image-recognition task, only the recognition results needs to be transmitted to the mobile device, and its occupied bandwidth can be neglected. During the mission calculation phase, multiple subtasks are offloaded simultaneously on each UAV. The time consumed by each subtask includes three parts, namely, the data transmission time, the waiting time, and the execution time as shown in Figure 2. During the mission upload phase, the data from the incoming subtasks of the DAG mission are transferred to the corresponding UAV. Therefore, the time of the mission upload phase is the data transfer time of the inbound subtask.

3.2.2. Data Transmission Time

A subtask’s data-transmission time refers to the time it takes for its input data to be transmitted from the device where the data are generated to its intended executing UAV. For an entry subtask, its input data are generated from the mobile device. For a non-entry subtask, its input data are generated from all its predecessor subtasks’ executing UAVs. Next, we describe them separately.
The data transmission time for the entry subtask. The m-th DAG task is generated from the m-th mobile device, and its entry subtask is represented as v m , 1 . Define γ v m , 1 as the UAV that executes v m , 1 , then γ v m , 1 U . Assume that it is offloaded onto the UAV γ v m , 1 . The probability that there is a line-of-sight (LoS) link between the m-th mobile device and the j-th UAV is
P m , γ v m , 1 L o s = 1 1 + ψ . exp ( β ( θ m , γ v m , 1 ψ ) )
The parameters depend on the communication probability and propagation environment. θ m , γ v m , 1 refers to the angle of elevation between the mth device and the UAV, and is defined as
θ m , γ v m , 1 = 180 π × sin 1 ( H d m , γ v m , 1 G U )
where H is the height of the UAV, and d m , γ v m , 1 G U is the distance between the m-th mobile device and the UAV γ v m , 1 , defined as
d m , γ v m , 1 G U = q U , γ v m , 1 q G , m 2
The transmission path loss between the m-th mobile device and the γ v m , 1 -th UAV is
L m , γ v m , 1 = η 2 ( 4 π f d m , γ v m , 1 G U c ) ε , N o n L o s L i n k η 1 ( 4 π f d m , γ v m , 1 G U c ) ε , L o s L i n k
where f is the carrier frequency; ε is the path loss exponent; η 1 and η 2 are the path loss coefficients for Los and Non-Los transmissions, respectively; and c is the speed of the light. The average transmission loss between the m-th mobile device and the γ v m , 1 -th UAV is
L m , γ v m , 1 = ( P L o s m , γ v m , 1 η 1 + ( 1 P L o s m , γ v m , 1 ) η 2 ) ( 4 π f c d m , γ v m , 1 G U ) ε
The received signal-to-interference-plus-noise ratio (SINR) at the UAV γ v m , 1 from the m-th mobile device is
γ m , γ v m , 1 G U = P m G ( I m , γ v m , 1 + σ 2 ) L m , γ v m , 1
where P m G is the transmission power of the m-th mobile device, I m , γ v m , 1 is the interference power of other electromagnetic spectrum devices, and σ 2 is the environmental noise power. In this case, the m-th mobile device will choose the UAV with the highest SINR value. The transmission rate from the m-th mobile device to the UAV γ v m , 1 can be expressed as
r m , γ v m , 1 G U = w 1 log 2 ( 1 + γ m , γ v m , 1 G U )
where w 1 is the transmission bandwidth. The data transmission time for the entry task is
t m , 1 γ v m , 1 = η v m , 1 r m , γ v m , 1 G , U
where η v m , 1 is the size of the input data bits for v m , 1 .
The data transmission time of the non-entry subtask. Define t m , i , j r , r as the data transmission time from subtask v m , i to its successor subtask v m , j in the m-th DAG task. Here, assume that v m , i and v m , j are executed on u r and u r , respectively. The distance between u r and u r is
d r r U U = | | q U , r q U , r | | 2
In the free space path loss model, the channel gain of the aerial link between u r and u r is β 0 ( d r r U U ) 2 , in which β 0 is the channel gain at distance d = 1 m . Therefore, the transmission rate between u r and u r is
r r , r U U = w log 2 ( 1 + P r U U β 0 ( d r r U U ) 2 σ 2 )
where w is the wireless transmission bandwidth of the wireless link between u r and u r . P r U U β 0 ( d r r U U ) 2 σ 2 γ 0 is the SINR received at u r , and it is required to be larger than a predefined threshold γ 0 . Let the amount of data bits transmitted from the v m , i to v m , j be d a t a i , j m . The data transmission time will be
t m , i , j r , r = d a t a i , j m r r , r U U
When two subtasks are offloaded to the same UAV, i.e., r = r , note that t m , i , j r , r = 0 .

3.2.3. Waiting Time

The waiting time refers to the time duration between the arrival of a subtask’s input data and the start time of its execution. When multiple subtasks mapping to the same SF arrive at the UAV, a queue is built for each SF on the UAV. Each subtask has to wait at the queue until it is scheduled by the SF for execution. Define Q T v m , i r as the waiting time of v m , i on u r , and it is determined by the queue length at the SF. Define E T k r as the execution time of the k-th subtask in the queue. Assume that v m , i ’s position in the queue is β r . Then, we have
Q T v m , i r = k = 1 β r 1 E T k r

3.2.4. Task Execution Time

v m , i can only be executed when all of its predecessor subtasks have completed and transmitted their results to u r . The total amount of received data bits for executing v m , i is assumed to be η v m , i . The required number of CPU cycles for processing each bit is c v m , i . Let f v m , i r be the CPU frequency that u r assigns to execute v m , i , and it can be obtained through a program analyzer. Define E T v m , i r as the task execution time of v m , i , and it can be derived as
E T v m , i r = η v m , i c v m , i f v m , i r
Let S T v m , i r be the earliest starting time of v m , i . It is defined as
S T v m , i r = y v m , k r · y v m , i r · x s ( m , i ) r · x s ( m , k ) r · max v m , k p r e ( v m , i ) { F T v m , k r + t m , i , k r , r }
where F T v m , k r is the completion time of its predecessor that is executed on u r , v m , k p r e ( v m , i ) . Correspondingly, the completion time of v m , i on the u r is
F T v m , i r = S T v m , i r + E T v m , i r + Q T v m , i r .
The completion time of v m , i equals the sum of the execution time and waiting time of a task from the moment it begins execution. From the above equation, it can be inferred that the completion time of the last subtask of the m-th DAG task is F T v m , α m γ v m , α m . Therefore, the response time of the m-th DAG task is
R T m = F T v m , α m γ v m , α m S T v m , 1 γ v m , 1

3.3. Problem Statement

The main challenge for DAG task scheduling and SF deployment comes from the dependency among subtasks. Figure 3 shows an instance of the scenario, in which multiple DAG tasks need to be executed. In this circumstance, multiple queues are built on each UAV for its deployed SFs. This can lead to long waiting times due to the limited resources available for UAVs. Therefore, in the case of scheduling multiple DAG tasks, a parallel approach is adopted to solve the problem. In Figure 3, there are three UAVs, i.e., u 1 , u 2 , and u 3 , and two DAG tasks, i.e., V 1 and V 2 , whose structures are also shown. V 1 includes five subtasks, and V 2 contains four subtasks. The colored circles and squares represent the subtasks and data edges in the DAG tasks, respectively. v 11 in V 1 is mapped to f 5 , and it is scheduled onto f 5 on u 1 . Then, v 12 and v 13 are scheduled onto f 2 and f 7 deployed on u 2 . v 12 and v 13 are both the successor subtasks of v 11 , and they can be executed in the same time. After the calculation is completed, the results are transmitted to v 14 , and then to v 15 . Finally, the execution results are output. V 2 ’s entry subtask is v 21 and is also offloaded onto u 1 , where v 11 is already located. Therefore, v 21 needs to wait for v 11 to be completed. Finally, when f 5 on u 1 is idle, and v 23 is completed, v 24 starts to execute, and finally outputs the execution result.
In this paper, the goal is to minimize the maximum completion time of all tasks:
max y v m , j r , y v m , i r , x s ( m , i ) r , x s ( m , j ) r , q r { F T 1 , , F T M } s . t . ( 1 ) , ( 2 ) , ( 4 ) , ( 6 ) , ( 7 )
This is a non-linear programming problem with mixed 0-1 integers, and is a NP-hard problem. To solve this problem with low complexity, we propose an effective algorithm in the next section.

4. Algorithm Design

4.1. Chromosome Design

To apply the genetic algorithm for solving the problem in (24), we first need to map the solution to this problem as an individual or chromosome. To be specific, each chromosome contains two parts: the first part is adopted to reflect the subtask offloading decision, expressed in p o f f ; the second part is the positions of the UAVs, expressed in p u a v as shown in Figure 4. The offloading decision of each subtask is coded as an integer between 1 and R, which represents the index of the UAV executing this subtask. For example, if v 11 is offloaded on u 2 , the gene coding for v 11 is 2. The latter part of the chromosome is encoded as the positions of R UAVs. In total, each chromosome has D = m = 1 M i = 1 α m v m , i + 2 R genes. For each individual, its fitness value is set to be the reciprocal of its maximum completion time calculated using (24). This can ensure that the solution that can achieve a lower maximum completion time will obtain a higher fitness value.

4.2. Algorithm Design

4.2.1. Overall Working Flow

To accelerate the convergence of genetic algorithm’s iteration process, we propose the GA-based joint deployment and scheduling (GA-JoDeS) algorithm, and generate two populations, one for subtask offloading decision making, i.e., P o f f l o a d , and the other for the UAV position determination, i.e., P u a v x y . Each population includes G number of individuals with size D. The overall iteration process is shown in Figure 5. At first, both P o f f l o a d and P u a v x y are randomly initialized, and are optimized in an iterative manner. To be specific, each individual in P o f f l o a d only interacts, including selection, crossover and mutation with individuals within P o f f l o a d . Moreover, during each operation, only genes in the first part, i.e., p o f f , are changed, and those genes in p u a v remain the same. This is also true for those individuals in P u a v x y . This means individuals in P u a v x y can only be operated with other individuals in P u a v x y , and genes in p o f f remain the same during this process. The individuals in P o f f l o a d first evolve for n rounds to find the best offloading decision for a fixed p u a v , which is shown in process F 2 of Figure 5, and its pseudo code is described in Algorithm 1. Then, as shown in process F 3 of Figure 5, p o f f of the best individual in P o f f l o a d is assigned to the first part of all the individuals in P u a v x y . Then, individuals in P u a v x y first evolve for n rounds to find the best UAVs’ position determination for a fixed p o f f , which is shown in process F 4 of Figure 5, and its pseudo code is described in Algorithm 1 too. Afterwards, as shown in process F 5 of Figure 5, p u a v of the best individual in P u a v x y is assigned to the second part of all the individuals in P o f f l o a d . In this way, both P o f f l o a d and P u a v x y can evolve with iterations until the number of iterations achieves the pre-defined number N.

4.2.2. Population Evolve Process

As we can see in Figure 5, F 1 , F 2 and F 4 are both populations’ evolution processes. Algorithm 1 provides pseudo code for the evolution of n generation. The inputs include the population size G, crossing probability p c , mutation probability p m , and the population P. The output of Algorithm 1 is the next generation of the population p o p . Evolutionary processes include selection, crossover, mutation, etc. The algorithm starts by initializing G number of individuals using random sampling, which costs the time complexity o ( G ) . In the process of chromosome selection, Steps 2–8 select superior individuals and eliminate inferior ones in the population. Here, G number of individuals are selected. After selection, Steps 9–17 select two individuals for crossover; using a two-point crossover approach, the cases of P o f f l o a d and P u a v x y are considered separately. After the crossover is completed, Steps 18–31 consider the cases of P o f f l o a d and P u a v x y , respectively, and select the individuals and genes for mutation by p m . In crossover and mutation operations, the time complexity is related to the total number of iterations and the dimension of chromosome genes. Step 32 obtains the evolved population p o p . The time complexity of the proposed Algorithm 1 is o ( n . G . D ) , where G is the number of individuals, D is the dimension of the population individual and n is the maximum evolution generation.
Algorithm 1 Population evolution in GA-JoDeS algorithm.
Input: population P, population size G, crossing probability p c , mutation probability p m , evolved generations n
Output: evolved population p o p .
  1:
for  i ( 1 , 2 , n )  do
  2:
    Evaluate all fitness f i t P of P, retain the individual with the largest fitness value, p o p P b e s t .
  3:
    Compute min fitness Z min = min j ( 1 , G ) f i t P j .
  4:
    The sum of fitness t o t a l = 0 .
  5:
    Fitness for each individual minus minimum fitness f i t P f i t P Z min .
  6:
    The sum of fitness t o t a l = j = 1 G f i t P j .
  7:
    The proportion of fitness for each individual p s P = f i t P / t o t a l .
  8:
    Select G 1 individuals by roulette wheel algorithm,
    p o p { P k 1 , P k 2 , P k n , , P k G 1 } , k n ( 1 , G 1 ) .
  9:
   for i = 1 to G do
10:
       According to p c select two individuals p o p i and p o p j .
11:
       Two intersections p and q are randomly selected of p o p j .
12:
       if P = = P o f f l o a d then
13:
          Cross p o p i and p o p j , the new p o p i which is composed of three parts:
     { p o p i 0 , p o p i p 1 } , { p o p j p , p o p j q } , { p o p i q + 1 , p o p i D 2 R } .
14:
       else
15:
          Cross p o p i and p o p j , the new p o p i which is composed of three parts:
     { p o p i D 2 R + 1 , p o p i p 1 } , { p o p j p , p o p j q } , { p o p i q + 1 , p o p i D } .
16:
       end if
17:
   end for
18:
   for i = 1 to G do
19:
       According to p m select a individual p o p i for mutation.
20:
       if P = = P o f f l o a d then
21:
           for j = 1 to D 2 R do
22:
               According to p m select a point for mutation.
23:
               The point’s corresponding subtask reselect UAV randomly.
24:
           end for
25:
       else
26:
            for j = D 2 R + 1 to D do
27:
                According to p m select a point for mutation.
28:
                the point’s corresponding UAV reassign a position.
29:
             end for
30:
        end if
31:
    end for
32:
end for
33:
Return the evolved population p o p .
Initialization. As described above, both P o f f l o a d and P u a v x y are randomly initialized. Firstly, initializing p o f f of the P o f f l o a d individuals, each subtask randomly select a UAV in U s e t , which is a set of UAVs that have been deployed the subtask’s corresponding SF or whose remaining resource is greater than the resource required by the subtask. Secondly, initializing p u a v of the P u a v x y individuals, each UAV randomly generates a position for which the value is an integer in the range. Thirdly, initialize p u a v of the P o f f l o a d individuals by assigning the p u a v of the first individual in P u a v x y to the second part of all individuals in P o f f l o a d . Lastly, initialize p o f f of P u a v x y ’s individuals by assigning the p o f f of the first individual in P o f f l o a d to the first part of all individuals in P u a v x y .
Selection. Before selecting individuals for evolved population p o p , the fitness of all individuals is calculated. p o p will firstly retain the individual with the largest fitness value. In order to increase the gap in the probability that an individual is selected before, the fitness value of each individual is subtracted from the minimum value of all fitness values. Then, by the roulette wheel algorithm, a select G number of individuals are retained to p o p .
Crossover. Two individuals, for instance, p i and p j , for crossover are based on the crossing probability p c . In P o f f l o a d (or P u a v x y ), only the genes in p o f f (or p u a v ) contained in p i and p j will engage in the crossover process, while p u a v ( p o f f ) in p i and p j is not affected. Two intersections are randomly generated for crossover, and the genes in p j between the two intersections are assigned to p i . After the crossover operation, only p i is changed.
Mutation. Mutation can prevent the algorithm from getting stuck in a local optimum, and the mutation probability is controlled by parameter p m . Based on p m , an individual p i is randomly selected for mutation. If p i is chosen from P o f f l o a d , all genes in p o f f of individual p i will mutate with probability p m , i.e., the mutated subtask re-selects a UAV for offloading. If p i is chosen from P u a v x y , all genes in p u a v of individual p i will mutate with probability p m , i.e., the mutated UAV reassigns a new position, which is adjacent to the UAV current position.
Note that in the initialization, crossover, and mutation process, if a subtask cannot select an eligible UAV to offload, it will select a UAV randomly, release all subtasks on the selected UAV and offload the subtask to the UAV; other released subtasks re-select UAVs. The above process ensures that each subtask has a UAV to offload.
Finally, the optimal individual is selected to determine the subtasks’ offloading decision and the positions of the UAVs. The SF deployment results are determined based on the subtask offloading decision. In other words, if the subtask is offloaded on that UAV, then the SF corresponding to the subtask must be placed on the UAV.

5. Simulation and Results Analysis

5.1. Experimental Setup

Consider a service scenario with 10 UAVs that are deployed in a 500 m × 500 m area. Each UAV offload corresponding subtask has a height of 100 m, and the average resource of the UAVs is abstracted to one dimension and has an average resource range of 20 to 80 units. The DAG of each arrived task contains 5, 6, or 7 sub-tasks, and the weights on the edge between two subtasks fall between 0.6 Mb and 2 Mb. There are 20 different SFs in total, and they vary from 2 to 8. The main parameter settings are included in Table 3.
To evaluate the performance of the GA-JoDeS algorithm, three algorithms are chosen as comparison benchmarks:
  • Random algorithm: The subtasks randomly select UAVs to offload, and the positions of UAVs are also randomly generated within the range.
  • Genetic algorithm (GA): The chromosome coding part is the same as the GA-JoDeS. G number of individuals is generated in the population. The opposite of the total task completion time of an individual is set as the fitness value. The roulette wheel algorithm is utilized to select good individuals to form a new population next by single-point crossover and mutation between individuals. N generations are generated to obtain the best individual.
  • Simulated annealing (SA) algorithm: First, an initial solution is generated based on the task offloading schedule and the positions of the UAVs; then the maximum completion time of the solution is calculated. Afterwards, the initial temperature, end temperature, and temperature drop factor in the algorithm are determined. The initial solution is randomly changed several times, and the difference between the changed objective function value and the initial value is recorded. The metropolis criterion is utilized to determine whether the change would be accepted. If the new solution is accepted as the current solution, a new temperature is set according to the temperature drop factor. The above steps are repeated until the temperature is lower than the end temperature.

5.2. Results and Analysis

This experiment was run in a Python environment with a processor of the 12th i9-12900KF. The average running time is 10 min for the algorithm to achieve merit convergence.To ensure the accuracy of each experimental result, at least 20 simulations were conducted for different initial values and algorithms, and the average value was taken as the experiment result and recorded.

5.2.1. The Convergence of the GA-JoDeS

Figure 6 shows the completion time of GA-JoDeS with the increase in the evolutional generation when there are 60 DAG tasks, and the average resource of the UAVs is 40 units. One can see that GA-JoDeS converges quickly to a stable state. According to the GA-JoDeS, the alternate optimization method is used to optimize p o f f (as shown in Figure 6a) and p u a v (as shown in Figure 6b), separately. The “avgFT” represents the average completion time of an individual in a certain generation, and the “bestFT” represents the best completion time of an individual in a certain generation. It can be seen that as the number of evolution generations increases, the “bestFT” gradually decreases in each generation, and “avgFT” also shows a downward trend. After several repeated experiments, we found that when the evolution generation is set to 600, the “avgFT” and the “bestFT” gradually approach each other, and the graph tends to be stable, proving that GA-JoDeS has good convergence ability.

5.2.2. The Comparison of Rate of Convergence of GA-JoDeS and GA

Figure 7a,b show the comparison of the rate of convergence of GA-JoDeS and GA when the number of DAG tasks is set to 70 and the resource is set to 40 units, and the number of DAG tasks is set to 50 and the resource is set to 60 units, respectively. The red and blue curves represent the GA-JoDeS and GA algorithms, respectively. As shown in Figure 7, the completion time of the subtasks decreases with the increase in the evolution generation. Furthermore, during the evolution process, we can observe that the completion time of GA-JoDeS is always less than GA, and the descent speed is greater than GA. The phenomenon shows that GA-JoDeS not only has a faster rate of convergence than GA but also has a better final convergence result than GA.

5.2.3. Results Analysis with Different Number of Tasks

Figure 8 shows the comparison of the completion time of different algorithms with different numbers of DAG tasks. The number of DAG tasks is set to be 30, 40, 50, 60, 70, and 80, respectively, while the average resource of the UAVs is 40 units. The evolutionary generation, i.e., N of GA-JoDeS and GA, is 600. The population size is 80. In the SA algorithm, the initial and end temperatures are 100 and 0.1, respectively; the temperature drop factor is 0.99.
From Figure 8, one can see that as the number of DAG tasks increases, the completion time of the four algorithms gradually increases. This is due to the fact that we offload all subtasks in a parallel model since the resources of UAVs become tense, making it difficult for subtasks to find a suitable time slot, increasing the queuing time and the overall latency when the number of DAG tasks increases. The GA-JoDeS algorithm significantly outperforms the other three algorithms in the completion time of tasks, especially when the number of DAG tasks is large. This is mainly because the resource of the UAVs for subtask offloading is relatively sufficient. When the number of DAG tasks is smaller, subtasks can easily find suitable UAVs for offloading, so the advantages of GA-JoDeS are not obvious. However, when the number of DAG tasks increases, the results obtained by GA-JoDeS are significantly better than that of other algorithms, which also proves the superiority of the GA-JoDeS algorithm.

5.2.4. Results Analysis with Different Resources

Figure 9 shows the comparison of the completion time of different algorithms with different resources. The number of DAG tasks is 50, the population size is 80, and the average resource of UAVs is 20, 40, and 60 units, respectively. From the Figure 9, we can see that the GA-JoDeS algorithm’s tasks completion time is remarkably lower than that of the other three algorithms. When the UAVs’ resources are fewer, the task completion time gradually increases. Therefore, the following conclusions can be drawn from the results. When the UAVs resources are sufficient, on the one hand, subtasks can be offloaded flexibly between multiple UAVs and more suitable time slots can be found for execution, thereby shortening the overall latency and improving the system performance; on the other hand, as the UAVs resources increase, subtasks can easily find UAVs that meet the conditions for offloading.

5.2.5. The Distribution of SFs

Table 4 illustrates the distribution of SFs types and completion time among ten UAVs with 80 DAG tasks when resources are 20 units and 40 units, respectively. The SFs deployment on the UAVs are determined by the subtasks offloading decision. As shown in Table 4, when the UAVs resources are 20 units, there are relatively few UAVs with SFs types corresponding to subtasks, resulting in longer queue times for subtasks during offloading, and longer total task completion time compared to when resources are sufficient.

5.2.6. The Positions of UAVs

Figure 10 and Figure 11 show the derived positions of UAVs by the GA-JoDeS algorithm in different scenarios. At first, the UAVs positions are randomly determined. Through optimization, the optimal individual is eventually obtained, and the positions of the UAVs are shown in Figure 10. It can be seen that the positions of ten UAVs are gradually converged. During the calculation process, the maximum task completion time consists of the transmission time and the subtasks execution time, and the data transmission time between UAVs accounts for a large proportion. Therefore, during the optimization process, to reduce the data transmission time, the positions of the UAVs gradually approach each other. The experimental results also confirm this phenomenon.
Figure 11 shows the UAVs positions when 50 DAG tasks are deployed within a small area between 350 m and 400 m. The entry subtask of each DAG task has a large data volume. As shown in Figure 11, UAVs will move to the deployed area of DAG tasks. When the data volume of the entry subtasks is large, the transmission time between the entry subtask and the UAV account for a relatively large proportion of the total completion time. Therefore, the UAVs gradually approached the location of the DAG tasks. This demonstrates that when the location of the DAG tasks is known, this algorithm can be used to determine the best locations for the UAVs.

6. Conclusions

In this paper, we consider the offloading of DAG tasks in UAV-empowered edge computing, and minimize the task completion time by combining the UAVs positions, SFs deployment and DAG tasks scheduling. According to the above, we build an 0–1 optimization problem. Then, an algorithm named GA-JoDeS is put forward to find the optimal solution of the problem. To evaluate the performance of the GA-JoDeS algorithm, three algorithms are chosen as comparison benchmarks. Results show that the GA-JoDeS algorithm always outperforms the other three algorithms in its maximum completion time of DAG tasks. The same observations can be made with different parameter settings, such as the number of DAG tasks, the resource occupied by a UAV, etc.
We will investigate the scenario in which mobile devices or DAG tasks can move dynamically in the deployment area in the future.

Author Contributions

Conceptualization, R.J. and Y.W.; software, K.Z. and R.J.; validation, R.J. and K.Z.; formal analysis, R.J. and K.Z.; investigation, G.Z.; resources, Y.W. and G.T.; data curation, R.J.; writing—original draft preparation, R.J. and Y.W.; writing—review and editing, X.W.; visualization, R.J.; supervision, R.J.; project administration, Y.W.; funding acquisition, K.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Natural Science Foundation of China under Grant No. 62176128.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Ra, M.R.; Sheth, A.; Mummert, L.B.; Pillai, P.; Govindan, R. Odessa: Enabling Interactive Perception Applications on Mobile Devices. In Proceedings of the International Conference on Mobile Systems, Washington, DC, USA, 28 June–1 July 2011. [Google Scholar]
  2. Wei, X.; Liu, J.; Wang, Y.; Tang, C.; Hu, Y. Wireless edge caching based on content similarity in dynamic environments. J. Syst. Archit. 2021, 115, 102000. [Google Scholar] [CrossRef]
  3. Wei, X.; Tang, C.; Fan, J.; Subramaniam, S. Joint optimization of energy consumption and delay in cloud-to-thing continuum. IEEE Internet Things J. 2019, 6, 2325–2337. [Google Scholar] [CrossRef]
  4. Hu, Q.; Cai, Y.; Yu, G.; Qin, Z.; Zhao, M.; Li, G.Y. Joint offloading and trajectory design for UAV-enabled mobile edge computing systems. IEEE Internet Things J. 2018, 6, 1879–1892. [Google Scholar] [CrossRef]
  5. Zhao, N.; Cheng, F.; Yu, F.R.; Tang, J.; Chen, Y.; Gui, G.; Sari, H. Caching UAV assisted secure transmission in hyper-dense networks based on interference alignment. IEEE Trans. Commun. 2018, 66, 2281–2294. [Google Scholar] [CrossRef] [Green Version]
  6. Yang, Z.; Pan, C.; Wang, K.; Shikh-Bahaei, M. Energy efficient resource allocation in UAV-enabled mobile edge computing networks. IEEE Trans. Wirel. Commun. 2019, 18, 4576–4589. [Google Scholar] [CrossRef]
  7. Yu, Z.; Gong, Y.; Gong, S.; Guo, Y. Joint task offloading and resource allocation in UAV-enabled mobile edge computing. IEEE Internet Things J. 2020, 7, 3147–3159. [Google Scholar] [CrossRef]
  8. Ren, Y.; Xie, Z.; Ding, Z.; Sun, X.; Xia, J.; Tian, Y. Computation offloading game in multiple unmanned aerial vehicle-enabled mobile edge computing networks. IET Commun. 2021, 15, 1392–1401. [Google Scholar] [CrossRef]
  9. Ei, N.N.; Kang, S.W.; Alsenwi, M.; Tun, Y.K.; Hong, C.S. Multi-UAV-assisted MEC system: Joint association and resource management framework. In Proceedings of the 2021 International Conference on Information Networking (ICOIN), Jeju Island, Republic of Korea, 13–16 January 2021; pp. 213–218. [Google Scholar]
  10. Mach, P.; Becvar, Z. Mobile edge computing: A survey on architecture and computation offloading. IEEE Commun. Surv. Tutorials 2017, 19, 1628–1656. [Google Scholar] [CrossRef] [Green Version]
  11. Wei, X.; Cai, L.; Wei, N.; Zou, P.; Zhang, J.; Subramaniam, S. Joint UAV Trajectory Planning, DAG Task Scheduling, and Service Function Deployment based on DRL in UAV-empowered Edge Computing. IEEE Internet Things J. 2023, 1–13. [Google Scholar] [CrossRef]
  12. Li, D.C.; Chen, B.H.; Tseng, C.W.; Chou, L.D. A novel genetic service function deployment management platform for edge computing. Mob. Inf. Syst. 2020, 2020, 1–22. [Google Scholar] [CrossRef]
  13. Cai, L.; Wei, X.; Xing, C.; Zou, X.; Zhang, G.; Wang, X. Failure-resilient DAG task scheduling in edge computing. Comput. Netw. 2021, 198, 108361. [Google Scholar] [CrossRef]
  14. Zhan, C.; Hu, H.; Sui, X.; Liu, Z.; Niyato, D. Completion time and energy optimization in the UAV-enabled mobile-edge computing system. IEEE Internet Things J. 2020, 7, 7808–7822. [Google Scholar] [CrossRef]
  15. Zhang, T.; Xu, Y.; Loo, J.; Yang, D.; Xiao, L. Joint computation and communication design for UAV-assisted mobile edge computing in IoT. IEEE Trans. Ind. Inform. 2019, 16, 5505–5516. [Google Scholar] [CrossRef] [Green Version]
  16. Xu, Y.; Zhang, T.; Yang, D.; Xiao, L. UAV-assisted relaying and MEC networks: Resource allocation and 3D deployment. In Proceedings of the 2021 IEEE International Conference on Communications Workshops (ICC Workshops), Montreal, QC, Canada, 14–23 June 2021; pp. 1–6. [Google Scholar]
  17. Gao, Y.; Guan, H.; Qi, Z.; Yang, H.; Liang, L. A multi-objective ant colony system algorithm for virtual machine placement in cloud computing. J. Comput. Syst. Sci. 2013, 79, 1230–1242. [Google Scholar] [CrossRef]
  18. Kao, Y.H.; Krishnamachari, B.; Ra, M.R.; Fan, B. Hermes: Latency optimal task assignment for resource-constrained mobile computing. In Proceedings of the 2015 IEEE Conference on Computer Communications (INFOCOM), Kowloon, Hong Kong, 26 April–1 May 2015. [Google Scholar]
  19. Zhang, W.; Wen, Y.; Wu, D.O. Collaborative Task Execution in Mobile Cloud Computing Under a Stochastic Wireless Channel. Wirel. Commun. IEEE Trans. 2015, 14, 81–93. [Google Scholar] [CrossRef]
Figure 1. The multi-UAV-empowered edge-computing scenario. Multiple UAVs compose an aerial network, and they collaborate with each other to provide services to mobile devices on the ground. Each mobile device has a DAG task to be offloaded. Each DAG task consists of multiple subtasks with dependencies, and the execution of each subtask requires a corresponding SF, which contains the necessary software module and data for executing the subtask. Due to the limited available resource on each UAV, it can only support the parallel execution of a few SFs. Note that different subtasks in the same DAG task can be executed on different UAVs. This will lead to data transmission among UAVs.
Figure 1. The multi-UAV-empowered edge-computing scenario. Multiple UAVs compose an aerial network, and they collaborate with each other to provide services to mobile devices on the ground. Each mobile device has a DAG task to be offloaded. Each DAG task consists of multiple subtasks with dependencies, and the execution of each subtask requires a corresponding SF, which contains the necessary software module and data for executing the subtask. Due to the limited available resource on each UAV, it can only support the parallel execution of a few SFs. Note that different subtasks in the same DAG task can be executed on different UAVs. This will lead to data transmission among UAVs.
Drones 07 00443 g001
Figure 2. Subtask offload process.
Figure 2. Subtask offload process.
Drones 07 00443 g002
Figure 3. Task scheduling instance.
Figure 3. Task scheduling instance.
Drones 07 00443 g003
Figure 4. Chromosome encoding.
Figure 4. Chromosome encoding.
Drones 07 00443 g004
Figure 5. GA-based joint deployment and scheduling (GA-JoDeS) algorithmic processes.
Figure 5. GA-based joint deployment and scheduling (GA-JoDeS) algorithmic processes.
Drones 07 00443 g005
Figure 6. Comparison graph of average completion time and optimal completion time under different evolutionary generations. (a) Subtask offloading decision; (b) the UAVs positions.
Figure 6. Comparison graph of average completion time and optimal completion time under different evolutionary generations. (a) Subtask offloading decision; (b) the UAVs positions.
Drones 07 00443 g006
Figure 7. The comparison of rate of convergence of GA-JoDeS and GA. (a) The number of DAG tasks is set to 70 and the resource is set to 40 units; (b) the number of DAG tasks is set to 50 and the resource is set to 60 units.
Figure 7. The comparison of rate of convergence of GA-JoDeS and GA. (a) The number of DAG tasks is set to 70 and the resource is set to 40 units; (b) the number of DAG tasks is set to 50 and the resource is set to 60 units.
Drones 07 00443 g007
Figure 8. The completion time of different number of DAGs under different algorithms.
Figure 8. The completion time of different number of DAGs under different algorithms.
Drones 07 00443 g008
Figure 9. The completion time of different UAVs resources under different algorithms.
Figure 9. The completion time of different UAVs resources under different algorithms.
Drones 07 00443 g009
Figure 10. DAG tasks distributed randomly.
Figure 10. DAG tasks distributed randomly.
Drones 07 00443 g010
Figure 11. DAG tasks distributed within a fixed range.
Figure 11. DAG tasks distributed within a fixed range.
Drones 07 00443 g011
Table 1. The comparison of existing efforts and this work.
Table 1. The comparison of existing efforts and this work.
References Tasks Types Optimize CharactersOptimization Objective
Single TasksDAG TasksUAV PositionService DeploymentTask Scheduling
[5,6] Minimization of energy consumption
[7,8] Minimization of energy consumption and service latency
[9] Minimization of energy consumption
[11] Minimization of response time
[12] Minimization of response time
[13] Task completion time
[14] Minimization of energy consumption
[4] Minimization of service delay
[15] Minimization of energy consumption
This work Task execution time
Table 2. Symbols in the system model.
Table 2. Symbols in the system model.
SymbolMeaning
MThe total number of tasks in the overall DAG
RThe number of UAVs
d r r U U The distance between the r-th UAV and the r -th UAV
r r , r U U The transmission rate between the r-th UAV and the r -th UAV
q U , r The position of the r-th UAV
q G , m The position of the m-th DAG
v m , i The i-th subtask in the m-th DAG task
ε ( m , j ) , ( m , i ) The size of the data at the edge of the v m , i and v m , j
d a t a i , j The amount of data being carried of the v m , i to v m , j
t m , i , j r , r The transmission time of the v m , i to v m , j
α m The number of subtasks in the m-th DAG task
F The set of all SFs in the system
QThe total number of SFs
s ( m , i ) The SF corresponding to the v m , i
S T v m , i r The start time of the v m , i executed on the r-th UAV
F T v m , i r The completion time of the v m , i executed on the r-th UAV
y v m , i r The task scheduling variable
x s ( m , i ) r The deployment variable of SFs
p r e ( v m , i ) The set of predecessor subtasks of v m , i
E T v m , i r The execution time of the v m , i on the r-th UAV
η v m , i The amount of data to be processed by the v m , i
Q T v m , i r The queuing and waiting time of v m , i on the r-th UAV
β The queue length
f v m , i r The number of CPU cycles allocated by the r-th UAV to the v m , i
C r The total computing resource of the r-th UAV
fThe carrier frequency
ε The path loss exponent
cSpeed of light
γ i j U G Signal-to-interference-and-noise ratio
r γ v m , 1 , 1 U , G Transmission rate between the UAV and the ground task
t m , i , j r , r The transmission rate between the subtasks
R T m Response time of the m-th DAG task
θ i j The elevation angle between ground equipment and UAV
C r The average UAVs resource
Table 3. Parameter settings.
Table 3. Parameter settings.
Simulation ParametersValue
s f 20
R10
x r [1, 500] m
y r [1, 500] m
H100 m
ψ 11.95
β 0.14
ε 2
η 1 3
η 2 10
f2 GHz
σ 2 10 6
I i j 10 6
w 1 200 MHz
P j U G 10 5 w
w2 MHz
β 0 1.4 × 10 3
p c 0.8
p m 0.2
f v m , i r [2, 8]
N600
Table 4. The deployment of SFs on UAVs.
Table 4. The deployment of SFs on UAVs.
Average Resource of a UAV2040
SFs deployed on U 0 f 2 , f 7 , f 8 , f 15 , f 17 , f 19 f 2 , f 3 , f 4 , f 5 , f 6 , f 7 , f 10 , f 11 , f 14 , f 15 , f 19
SFs deployed on U 1 f 3 , f 4 , f 5 , f 11 , f 13 , f 19 f 1 , f 3 , f 4 , f 5 , f 6 , f 8 , f 13 , f 14 , f 15 , f 16 , f 19
SFs deployed on U 2 f 3 , f 5 , f 6 , f 11 , f 14 , f 15 f 3 , f 4 , f 5 , f 6 , f 9 , f 10 , f 11 , f 14 , f 15 , f 17 , f 19
SFs deployed on U 3 f 10 , f 4 , f 13 , f 7 f 1 , f 2 , f 3 , f 5 , f 7 , f 9 , f 11 , f 12 , f 13 , f 15 , f 18 , f 19
SFs deployed on U 4 f 7 , f 9 , f 11 , f 12 , f 15 , f 16 , f 19 f 1 , f 2 , f 3 , f 5 , f 6 , f 7 , f 9 , f 11 , f 12 , f 15 , f 16 , f 18
SFs deployed on U 5 f 2 , f 7 , f 9 , f 16 , f 18 , f 19 f 1 , f 4 , f 6 , f 7 , f 8 , f 10 , f 11 , f 12 , f 17 , f 19
SFs deployed on U 6 f 1 , f 9 , f 10 , f 11 , f 17 f 2 , f 3 , f 4 , f 5 , f 7 , f 11 , f 14 , f 15 , f 16 , f 17 , f 18 , f 19
SFs deployed on U 7 f 1 , f 4 , f 8 , f 9 , f 15 , f 18 f 1 , f 2 , f 4 , f 6 , f 7 , f 10 , f 11 , f 12 , f 13 , f 19
SFs deployed on U 8 f 1 , f 4 , f 11 , f 13 , f 14 , f 15 f 2 , f 3 , f 5 , f 6 , f 8 , f 9 , f 11 , f 13 , f 16 , f 18
SFs deployed on U 9 f 3 , f 6 , f 9 , f 13 , f 16 f 1 , f 3 , f 7 , f 8 , f 11 , f 12 , f 14 , f 15 , f 16 , f 17 , f 18
The maximum task completion time 63.27 s 18.77 s
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Jia, R.; Zhao, K.; Wei, X.; Zhang, G.; Wang, Y.; Tu, G. Joint Trajectory Planning, Service Function Deploying, and DAG Task Scheduling in UAV-Empowered Edge Computing. Drones 2023, 7, 443. https://doi.org/10.3390/drones7070443

AMA Style

Jia R, Zhao K, Wei X, Zhang G, Wang Y, Tu G. Joint Trajectory Planning, Service Function Deploying, and DAG Task Scheduling in UAV-Empowered Edge Computing. Drones. 2023; 7(7):443. https://doi.org/10.3390/drones7070443

Chicago/Turabian Style

Jia, Runa, Kuang Zhao, Xianglin Wei, Guoliang Zhang, Yangang Wang, and Gangyi Tu. 2023. "Joint Trajectory Planning, Service Function Deploying, and DAG Task Scheduling in UAV-Empowered Edge Computing" Drones 7, no. 7: 443. https://doi.org/10.3390/drones7070443

Article Metrics

Back to TopTop