1:2 Xiaoyu Xia, Sheik Mohammad Mostakim Faah, and Muhammad Ali Babar
including wearable cognitive assistance, augmented reality (AR), smart healthcare, facial recognition,
and road safety monitoring [
171
]. However, IoT devices typically have limited computational
resources, storage, network coverage, and energy. Therefore, resource-intensive IoT applications
often face signicant challenges in maintaining the expected Quality of Services (QoS) [
61
,
85
].
A conventional approach to maintain the expected QoS is to leverage cloud computing [
65
] by
utilizing resources from remote cloud servers in dierent forms such as virtual machines, virtual
storage, and virtual private networks [
8
]. However, cloud computing is now considered inadequate
to meet the low-latency requirements of resource-intensive and delay-sensitive IoT applications
[
88
]. The reason is two-fold. First, the number of IoT devices is exponentially increasing and it is
expected that it will be approximately 125 billion by 2030 [
4
]. These devices generate a large volume
of network trac that burdens the backhaul network and signicantly aects its performance by
network congestion [
55
,
138
]. Second, cloud servers are typically placed at a remote distance from
IoT devices. As a result, cloud computing introduces a considerable amount of delay in service
provisioning, which degrades the overall QoS of delay-sensitive IoT applications [73, 154].
Edge computing is a relatively new paradigm that oers an alternative computing solution for
delay-sensitive and resource-intensive IoT applications. Edge computing extends cloud computing
technologies to the edge of a network, closer to users and IoT devices [
65
]. It allows a resource-
limited IoT device (a.k.a., edge devices) to fully or partially ooad its data and computational tasks
to nearby powerful edge servers or other edge devices [
1
]. It substantially improves the latency and
energy eciency of IoT applications. This also reduces the trac congestion at the core network.
Edge servers also work as data caches to store frequently accessed data by IoT devices to improve
the QoS of the applications [171, 177].
IoT devices are typically connected to an edge infrastructure using wireless networks [
88
].
However, a good wireless network infrastructure may not always be available in some of the
remotest areas, e.g., rural or mountain [
50
]. Moreover, a wireless network infrastructure can easily
be aected by natural disasters such as earthquakes, oods, or storms. In military operations
or emergency rescue missions, it may often be dicult to have a trustworthy wireless network
infrastructure [
58
]. Unmanned Aerial Vehicle (UAV) technologies have opened a new opportunity
where edge computing services are provisioned using UAVs in military operations, disaster response,
or rural areas. This is also known as UAV-enabled edge computing (UEC) [
90
]. UAVs oer a wide
range of bets such as mobility, exibility, and cost-eciency, which make UEC a promising
solution. A UAV typically works as an aerial edge server or a relay in a UEC environment [
62
]. IoT
devices ooad their computational tasks fully or partially to a nearby UAV. A UAV either processes
the tasks locally or sends them for remote execution to nearby edge/cloud servers.
1.2 Resource Management in Edge Computing and UEC
Resource management in edge computing has been investigated intensively by many researchers
in the last decades [
68
,
139
]. Edge computing oers many unique advantages, such as distributed
frameworks and low-latency services, however, it poses many unique challenges, including resource
provisioning, computation ooading, and resource allocation.
In general, resource management refers to the use of a set of actions and methodologies to allocate
resources, such as bandwidth, energy, CPU, GPU and many others, to devices or tasks for achieving
specic objectives, i.e., maximizing utility, minimizing service latency, etc [
40
,
60
,
78
,
80
,
143
]. In
edge computing, the resource has its new characteristics: 1) limited - the resources on an edge server
are usually constrained due to the limited physical size with smaller processors and a limited power
budget [
11
,
51
,
59
]; 2) dynamic - task requirements, device mobility, available resource amounts on
edge servers are always changing over time [
145
]; and 3) heterogeneous - both resources on edge
servers and resources requirements of devices and tasks are heterogeneous [98].
ACM Comput. Surv., Vol. 1, No. 1, Article 1. Publication date: January 2024.