EdgeUP: Utilization and Priority-Aware Load Balancing in Edge Computing
Abstract
:1. Introduction
- First, we introduce a novel load balancing metric, ServingValue, which incorporates two dynamic contexts in edge computing: IoT device context (i.e., task priority) and edge node context (i.e., CPU utilization). Our goal is to maximize this metric by optimizing task assignments (i.e., pairs of tasks and corresponding edge nodes).
- Second, we employ a lightweight greedy approach, EdgeUP, to address the task assignment problem, making it suitable for edge nodes with limited resources.
- Third, we provide a practical implementation of a load balancing module at the application layer.
- Finally, our proposal outperforms three well-known load balancing methods, including round-robin, hill climbing, and K-Means.
2. Related Works
3. Background and Motivation
3.1. Load Balancing-Aware Edge Computing in IoT
- Device layer: This layer comprises IoT devices such as mobile phones, sensor nodes, autonomous cars, smart traffic lights, and robots. In the load balancing-aware edge computing architecture, we consider scenarios where IoT devices request services from the upper layers. For example, they can request tasks, such as data processing, data caching/storage, and IoT management, from the edge layer.
- Edge layer: This layer consists of a cluster of edge nodes, which are capable of computing and storage, and are located close to IoT devices. Edge nodes in the cluster are classified into two types: one master node (i.e., controller node) and multiple edge nodes (i.e., worker nodes). In this architecture, the master node works as a load balancer, collecting task requests from IoT devices, as well as information (e.g., data, status, etc.) about IoT devices and edge nodes. It then executes load balancing strategies to assign the IoT devices’ task requests to the appropriate edge nodes. Edge nodes report their information (e.g., status (ACTIVE / NONACTIVE), memory, and CPU utilization, etc.) to the load balancer, receive task assignments from the load balancer, and execute the assigned tasks. As depicted in Figure 1, the red arrows indicate the task assignments progressing from the load balancer to edge nodes. Dotted lines present task offloading from edge nodes to others if they are incapable of performing the assigned tasks. In the case of any significant tasks that cannot be processed at the edge layer, they are offloaded to the upper layer (i.e., fog/cloud layer).
- Fog and Cloud layers (upper computing layer): This layer consists of machines with higher computing and storage capabilities than the lower layer (i.e., edge layer). If the significant tasks cannot be processed at the edge layer, they will be offloaded to and executed at this layer.
3.2. Load Balancing Methods in Edge Computing
4. EdgeUP: Utilization and Priority-Aware Load Balancing in Edge Computing
4.1. Overview of EdgeUP
- IoT devices: Send task requests to “Task” topic on the message broker.
- Message broker: A module that facilitates communication among components in the system, allowing them to exchange information through message queue topics. It includes predefined topics containing message queues. The “Task” topic holds messages about task requests from IoT devices. The “Utilization” topic stores messages about CPU utilization, which are reported by the edge nodes. The “Task Assignment” topic contains messages about the assignment results, specifically the (task, edge node) pairs determined by the load balancing algorithm.
- Balancer: Receives task requests and CPU utilization from the corresponding topics on the message broker, executes the load balancing algorithm (i.e., EdgeUP), and sends the assignment results to the “Task Assignment” topic on the message broker.
- Edge nodes: Receive task assignments from the “Task Assignment” topic on the message broker and execute the assigned tasks. Additionally, edge nodes periodically report their CPU utilization to the “Utilization” topic on the message broker.
- In the following part, we formulate the load balancing problem in EdgeUP.
4.2. Problem Formulation
- Each IoT device n at time t has the following:
- A binary variable , which denotes whether the IoT device n requests a task at time t or not.
- Priority value represents the importance or criticality of a task requested by IoT device n at time t. The priority values should be predefined, with higher values indicating tasks of greater importance and requiring more computational resources for execution.
- Each edge node e at time t has the following:
- , called “idle CPU” of edge node e at time t, represents a normalized value in the range of idle CPU percentage (i.e., idle CPU percentage is the complement of CPU utilization percentage, idle CPU = 100% - CPU utilization).
- A binary variable , which denotes whether edge node e at time t is assigned to a task or not.
- The serving value at time t of the pair (i.e., task n and edge node e, ) is
- The total serving value at time t is
- With a constraint of serving limitation of each edge node at each time,
- The objective of this study was to maximize the total serving value. This objective helps to obtain optimal task assignments to prevent edge nodes from being overloaded.
- The problem formulation is
- To maximize the total serving value at each timestamp, it is necessary to determine the optimal task and edge node pairs at each moment. Due to the limitation on the computation of edge nodes, we employ a lightweight approach to solve (4). The EdgeUP algorithm is presented in Algorithm 1.
Algorithm 1 EdgeUP: Utilization and priority-aware load balancing in edge computing. |
|
4.3. EdgeUP Procedure
- At stage (1, 2, 3), edge nodes report their utilization to the “Utilization” topic on the message broker
. Simultaneously, IoT devices send task requests to the “Task” topic on the message broker, represented by
. Subsequently, the balancer retrieves task requests and utilization reports from the “Task” and “Utilization” topics on the message broker, as shown at
and
, respectively. The retrieved data serve as input for the load balancing function, illustrated at
.
- At stage (4, 5, 6), the balancer uses the results from the previous step as inputs and executes the LoadBalancing function to determine task assignments, as indicated by
. The task assignments, represented as pairs of (edge node index, task index), are processed by SendAssignment in preparation for delivery to the message broker, shown at
. For example, in Figure 4, at stage (4, 5, 6), task assignments are EN_1:1, …, EN_E:N, meaning that the edge node 1 is assigned to task 1 and the edge node E is assigned to task N. Subsequently, these assignments are sent to the “Task Assignment” topic by the SendAssignment function, as illustrated at
. Finally, the ReadAssignment functions at the edge nodes retrieve the assignments by subscribing to the topic, as shown at
.
- At stage (7), edge nodes execute tasks assigned to them, as depicted at
. For example, EdgeNode1 carries out Task1, while EdgeNodeE executes TaskN. During this stage, edge nodes continue to report their utilization to the “Utilization” topic on the message broker at regular intervals, as indicated by
. Simultaneously, task requests are continuously generated, represented by
. The balancer retrieves task requests and utilization reports through the ReadTaskRequest and ReadUtilizationReport functions, which read from the relevant topics on the message broker, as shown at
and
, respectively.
4.4. Task Generator
- The probability of events/tasks occurring at the first sub-interval is zero;
- An event/task occurring in any given sub-interval is independent of other sub-intervals;
- The probability of one event occurring in a sub-interval is proportional to the length of the sub-interval.
5. Experiments and Results
5.1. Experimental Setup
- Kafka broker: Works as a message broker in Figure 3.
- Task generator: Generates 5 tasks of 3 task types (i.e., reading, writing, and MLP training) within each interval based on the Poisson process at the rate .
- Balancer: Performs 4 load balancing mechanisms (i.e., EdgeUP, round-robin, hill climbing, K-Means). Priorities of tasks are predefined (e.g., ).
- Kafka producer: Produces messages to their topics on the Kafka broker. In particular, after obtaining tasks from the task generator, the Kafka producer on the master node produces tasks to the “Task” topic as shown in Figure 3. The balancer obtains messages from the “Task” topic as one of two inputs. Additionally, after the load balancing mechanisms are executed and the task assignment results are provided, the Kafka producer produces those task assignments to the “Task assignment” topic.
- Kafka consumer: The master node can also work as a message consumer. With this role, it consumes messages on the "Utilization" topic as the other input of the balancer.
- Task: Executes tasks (i.e., reading, writing, and MLP training).
- Kafka producer: Periodically conducts CPU utilization reporting by gathering CPU utilization values and subsequently sending them to the “Utilization” topic on the Kafka broker. In experiments, we set up various reporting periods of edge nodes, such as in seconds.
- Kafka consumer: Consumes the “Task assignment” topic on the Kafka broker to identify the tasks assigned to edge nodes by the master node.
5.2. Results and Analysis
5.2.1. Impact of Reporting Period on ServingValue
5.2.2. Comparison of CPU Utilization
5.2.3. Execution Time
6. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
Appendix A. Rearrangement Inequality
References
- Kumar, S.; Tiwari, P.; Zymbler, M. Internet of Things is a revolutionary approach for future technology enhancement: A review. J. Big Data 2019, 6, 111. [Google Scholar] [CrossRef]
- Maiti, P.; Shukla, J.; Sahoo, B.; Turuk, A.K. Efficient data collection for IoT services in edge computing environment. In Proceedings of the 2017 International Conference on Information Technology (ICIT), Singapore, 27–29 December 2017; pp. 101–106. [Google Scholar]
- Zhu, G.; Xu, J.; Huang, K.; Cui, S. Over-the-air computing for wireless data aggregation in massive IoT. IEEE Wirel. Commun. 2021, 28, 57–65. [Google Scholar] [CrossRef]
- Lukaj, V.; Martella, F.; Fazio, M.; Galletta, A.; Celesti, A.; Villari, M. Gateway-Based Certification Approach to Include IoT Nodes in a Trusted Edge/Cloud Environment. In Proceedings of the 2023 IEEE/ACM 23rd International Symposium on Cluster, Cloud and Internet Computing Workshops (CCGridW), Bangalore, India, 1–4 May 2023; pp. 237–241. [Google Scholar]
- Ferrag, M.A.; Debbah, M.; Al-Hawawreh, M. Generative ai for cyber threat-hunting in 6g-enabled iot networks. arXiv 2023, arXiv:2303.11751. [Google Scholar]
- Cecchinel, C.; Jimenez, M.; Mosser, S.; Riveill, M. An architecture to support the collection of big data in the internet of things. In Proceedings of the 2014 IEEE World Congress on Services, Anchorage, AK, USA, 27 June–2 July 2014; pp. 442–449. [Google Scholar]
- Khare, S.; Totaro, M. Big data in IoT. In Proceedings of the 2019 10th International Conference on Computing, Communication and Networking Technologies (ICCCNT), Kanpur, India, 6–8 July 2019; pp. 1–7. [Google Scholar]
- Sasaki, Y. A survey on IoT big data analytic systems: Current and future. IEEE Internet Things J. 2021, 9, 1024–1036. [Google Scholar] [CrossRef]
- Verma, S.; Kawamoto, Y.; Fadlullah, Z.M.; Nishiyama, H.; Kato, N. A survey on network methodologies for real-time analytics of massive IoT data and open research issues. IEEE Commun. Surv. Tutor. 2017, 19, 1457–1477. [Google Scholar] [CrossRef]
- Taherkordi, A.; Eliassen, F.; Horn, G. From IoT big data to IoT big services. In Proceedings of the Symposium on Applied Computing, Marrakech, Morocco, 4–6 April 2017; pp. 485–491. [Google Scholar]
- Jang, H.S.; Jin, H.; Jung, B.C.; Quek, T.Q. Versatile access control for massive IoT: Throughput, latency, and energy efficiency. IEEE Trans. Mob. Comput. 2019, 19, 1984–1997. [Google Scholar] [CrossRef]
- Shukla, S.; Hassan, M.F.; Tran, D.C.; Akbar, R.; Paputungan, I.V.; Khan, M.K. Improving latency in Internet-of-Things and cloud computing for real-time data transmission: A systematic literature review (SLR). In Cluster Computing; Springer: Berlin/Heidelberg, Germany, 2021; pp. 1–24. [Google Scholar]
- Pereira, C.; Pinto, A.; Ferreira, D.; Aguiar, A. Experimental characterization of mobile IoT application latency. IEEE Internet Things J. 2017, 4, 1082–1094. [Google Scholar] [CrossRef]
- Chen, B.; Wan, J.; Celesti, A.; Li, D.; Abbas, H.; Zhang, Q. Edge computing in IoT-based manufacturing. IEEE Commun. Mag. 2018, 56, 103–109. [Google Scholar] [CrossRef]
- Sun, X.; Ansari, N. EdgeIoT: Mobile edge computing for the Internet of Things. IEEE Commun. Mag. 2016, 54, 22–29. [Google Scholar] [CrossRef]
- Chen, X.; Shi, Q.; Yang, L.; Xu, J. ThriftyEdge: Resource-efficient edge computing for intelligent IoT applications. IEEE Netw. 2018, 32, 61–65. [Google Scholar] [CrossRef]
- Naveen, S.; Kounte, M.R. Key technologies and challenges in IoT edge computing. In Proceedings of the 2019 Third International Conference on I-SMAC (IoT in Social, Mobile, Analytics and Cloud) (I-SMAC), Palladam, India, 12–14 December 2019; pp. 61–65. [Google Scholar]
- Alnoman, A.; Sharma, S.K.; Ejaz, W.; Anpalagan, A. Emerging edge computing technologies for distributed IoT systems. IEEE Netw. 2019, 33, 140–147. [Google Scholar] [CrossRef]
- Liu, X.; Yu, J.; Wang, J.; Gao, Y. Resource allocation with edge computing in IoT networks via machine learning. IEEE Internet Things J. 2020, 7, 3415–3426. [Google Scholar] [CrossRef]
- Long, C.; Cao, Y.; Jiang, T.; Zhang, Q. Edge computing framework for cooperative video processing in multimedia IoT systems. IEEE Trans. Multimed. 2017, 20, 1126–1139. [Google Scholar] [CrossRef]
- Sivarajah, U.; Kamal, M.M.; Irani, Z.; Weerakkody, V. Critical analysis of Big Data challenges and analytical methods. J. Bus. Res. 2017, 70, 263–286. [Google Scholar] [CrossRef]
- Satyanarayanan, M. The Emergence of Edge Computing. Computer 2017, 50, 30–39. [Google Scholar] [CrossRef]
- Kashani, M.H.; Ahmadzadeh, A.; Mahdipour, E. Load balancing mechanisms in fog computing: A systematic review. arXiv 2020, arXiv:2011.14706. [Google Scholar]
- Ashouri, M.; Davidsson, P.; Spalazzese, R. Quality attributes in edge computing for the Internet of Things: A systematic mapping study. Internet Things 2021, 13, 100346. [Google Scholar] [CrossRef]
- Fan, Q.; Ansari, N. Towards Workload Balancing in Fog Computing Empowered IoT. IEEE Trans. Netw. Sci. Eng. 2020, 7, 253–262. [Google Scholar] [CrossRef]
- Zhang, J.; Guo, H.; Liu, J.; Zhang, Y. Task Offloading in Vehicular Edge Computing Networks: A Load-Balancing Solution. IEEE Trans. Veh. Technol. 2020, 69, 2092–2104. [Google Scholar] [CrossRef]
- Dong, Y.; Xu, G.; Ding, Y.; Meng, X.; Zhao, J. A ‘Joint-Me’ Task Deployment Strategy for Load Balancing in Edge Computing. IEEE Access 2019, 7, 99658–99669. [Google Scholar] [CrossRef]
- Yu, Y.; Li, X.; Qian, C. SDLB: A Scalable and Dynamic Software Load Balancer for Fog and Mobile Edge Computing. In Proceedings of the Workshop on Mobile Edge Communications, New York, NY, USA, 21 August 2017; MECOMM ’17. pp. 55–60. [Google Scholar] [CrossRef]
- Li, G.; Yao, Y.; Wu, J.; Liu, X.; Sheng, X.; Lin, Q. A new load balancing strategy by task allocation in edge computing based on intermediary nodes. EURASIP J. Wirel. Commun. Netw. 2020, 2020, 3. [Google Scholar] [CrossRef]
- Yu, R.; Kilari, V.T.; Xue, G.; Yang, D. Load balancing for interdependent IoT microservices. In Proceedings of the IEEE INFOCOM 2019-IEEE Conference on Computer Communications, Paris, France, 29 April–2 May 2019; pp. 298–306. [Google Scholar]
- Li, P.; Xie, W.; Yuan, Y.; Chen, C.; Wan, S. Deep reinforcement learning for load balancing of edge servers in iov. Mob. Netw. Appl. 2022, 27, 1461–1474. [Google Scholar] [CrossRef]
- Baek, J.y.; Kaddoum, G.; Garg, S.; Kaur, K.; Gravel, V. Managing fog networks using reinforcement learning based load balancing algorithm. In Proceedings of the 2019 IEEE Wireless Communications and Networking Conference (WCNC), Marrakesh, Morocco, 15–18 April 2019; pp. 1–7. [Google Scholar]
- Esmaeili, M.E.; Khonsari, A.; Sohrabi, V.; Dadlani, A. Reinforcement learning-based dynamic load balancing in edge computing networks. Comput. Commun. 2024, 222, 188–197. [Google Scholar] [CrossRef]
- Lin, J.; Yu, W.; Zhang, N.; Yang, X.; Zhang, H.; Zhao, W. A Survey on Internet of Things: Architecture, Enabling Technologies, Security and Privacy, and Applications. IEEE Internet Things J. 2017, 4, 1125–1142. [Google Scholar] [CrossRef]
- Ray, P.P. A survey on Internet of Things architectures. J. King Saud Univ. Comput. Inf. Sci. 2016, 30, 291–319. [Google Scholar] [CrossRef]
- Jin, J.; Gubbi, J.; Marusic, S.; Palaniswami, M.S. An Information Framework for Creating a Smart City Through Internet of Things. IEEE Internet Things J. 2014, 1, 112–121. [Google Scholar] [CrossRef]
- Pydi, H.P.R.; Iyer, G.N. Analytical Review and Study on Load Balancing in Edge Computing Platform. In Proceedings of the 2020 Fourth International Conference on Computing Methodologies and Communication (ICCMC), Erode, India, 11–13 March 2020; pp. 180–187. [Google Scholar]
- Khan, W.; Ahmed, E.; Hakak, S.; Yaqoob, I.; Ahmed, A. Edge computing: A survey. Future Gener. Comput. Syst. 2019, 97, 219–235. [Google Scholar] [CrossRef]
- Zhang, J.; Elnikety, S.; Zarar, S.; Gupta, A.; Garg, S. {Model-Switching}: Dealing with Fluctuating Workloads in {Machine-Learning-as-a-Service} Systems. In Proceedings of the 12th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud 20), Online, 13–14 July 2020. [Google Scholar]
- Curiel, M.; Pont, A. Workload generators for web-based systems: Characteristics, current status, and challenges. IEEE Commun. Surv. Tutor. 2018, 20, 1526–1546. [Google Scholar] [CrossRef]
- Fischer, W.; Meier-Hellstern, K. The Markov-modulated Poisson process (MMPP) cookbook. Perform. Eval. 1993, 18, 149–171. [Google Scholar] [CrossRef]
- Computing, T.C.; The Quantum Cloud Computing and Distributed Systems (qCLOUDS) Laboratory. CloudSim: A Framework For Modeling and Simulation of Cloud Computing Infrastructures and Services. Available online: http://www.cloudbus.org/cloudsim/ (accessed on 27 November 2023).
- Li, F. CloudSimPy. Available online: https://github.com/FengcunLi/CloudSimPy (accessed on 27 November 2023).
- Sonmez, C.; Ozgovde, A.; Ersoy, C. Edgecloudsim: An environment for performance evaluation of edge computing systems. Trans. Emerg. Telecommun. Technol. 2018, 29, e3493. [Google Scholar] [CrossRef]
- Kong, X.; Wu, Y.; Wang, H.; Xia, F. Edge Computing for Internet of Everything: A Survey. IEEE Internet Things J. 2022, 9, 23472–23485. [Google Scholar] [CrossRef]
- Qiu, T.; Chi, J.; Zhou, X.; Ning, Z.; Atiquzzaman, M.; Wu, D.O. Edge Computing in Industrial Internet of Things: Architecture, Advances and Challenges. IEEE Commun. Surv. Tutor. 2020, 22, 2462–2488. [Google Scholar] [CrossRef]
- De Bruijn, B.; Nguyen, T.A.; Bucur, D.; Tei, K. Benchmark datasets for fault detection and classification in sensor data. In Proceedings of the International Confererence on Sensor Networks, Vienna, Austria, 11–14 April 2016; pp. 185–195. [Google Scholar]
Study | Static Context | Dynamic Context | IoT Layer | System Layer | ML | Opt | Greedy |
---|---|---|---|---|---|---|---|
Fan et al. [25] | NA | Fog | Physical | ✔ | |||
Li et al. [29] | ✔ | NA | Edge | Physical | ✔ | ||
Dong et al. [27] | NA | Edge | Physical | ✔ | |||
Yu et al. [30] | NA | Cloud | Application | ✔ | |||
Li et al. [31] | NA, DA | Edge | Physical | ✔ | |||
Baek et al. [32] | NA | Fog | Physical | ✔ | |||
Esmaeili et al. [33] | ✔ | NA, DA | Edge | Physical | ✔ | ||
EdgeUP | NA, DA | Edge | Application | ✔ |
Master Node | Edge Node | |
---|---|---|
Quantity | 1 | 4 |
Configuration | Raspbian OS | Raspbian OS |
4 CPUs | 4 CPUs | |
Tools | Apache Kafka | Apache Kafka, |
Python Threading, | ||
TensorFlow Keras | ||
Modules | Kafka broker, | Kafka producer, |
Kafka producer, | Kafka consumer, | |
Kafka consumer, | Tasks (reading, writing, | |
LB mechanisms, | MLP training) | |
Task generator |
Round-Robin | K-Means | Hill Climbing | EdgeUP | |
---|---|---|---|---|
Execution time | 0.21 μs | 1.1 ms | 0.03 s | 0.6 ms |
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. |
© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Nguyen, L.A.; Kim, S.; Son, Y. EdgeUP: Utilization and Priority-Aware Load Balancing in Edge Computing. Electronics 2025, 14, 565. https://doi.org/10.3390/electronics14030565
Nguyen LA, Kim S, Son Y. EdgeUP: Utilization and Priority-Aware Load Balancing in Edge Computing. Electronics. 2025; 14(3):565. https://doi.org/10.3390/electronics14030565
Chicago/Turabian StyleNguyen, Lan Anh, Sunggon Kim, and Yongseok Son. 2025. "EdgeUP: Utilization and Priority-Aware Load Balancing in Edge Computing" Electronics 14, no. 3: 565. https://doi.org/10.3390/electronics14030565
APA StyleNguyen, L. A., Kim, S., & Son, Y. (2025). EdgeUP: Utilization and Priority-Aware Load Balancing in Edge Computing. Electronics, 14(3), 565. https://doi.org/10.3390/electronics14030565