Task Allocation and Scheduling Algorithms for Network Edge Applications
Author | : Olamilekan Fadahunsi |
Publisher | : |
Total Pages | : |
Release | : 2021 |
ISBN-10 | : OCLC:1291127617 |
ISBN-13 | : |
Rating | : 4/5 (17 Downloads) |
Download or read book Task Allocation and Scheduling Algorithms for Network Edge Applications written by Olamilekan Fadahunsi and published by . This book was released on 2021 with total page pages. Available in PDF, EPUB and Kindle. Book excerpt: "Advances in cloud computing enabled the development of exciting applications in the Internet of Things (IoT) domain, however, the higher latency reaching the clouds from the IoT has motivated the need for the distribution of cloud resources towards the network edge. One of the complications of the distribution of cloud resources is resource management, which typically revolves around resource and task allocation, task scheduling, workload balance and quality of service (QoS) to achieve performance improvements. The problem of task allocation and scheduling is more challenging in the distributed configuration when compared to the centralized version of cloud computing. The geo-distribution of cloud servers complicates the server selection problem for a given task. In this thesis, we develop algorithms for task allocation and scheduling problems when the cloud servers are distributed to the network edge from the core. In the first part, we propose a two-phase approach that focuses on the allocation and scheduling of independent tasks. The first phase decides the allocation of the devices to the fogs (distributed cloud servers close to the network edge). The fogs are allocated in a two-tiered manner, i.e., for each device, a home fog and a pool of backup fogs are allocated. In the second phase, the task requests from the devices are routed to the allocated fogs or the cloud. Using simulation studies, we compared the performance of the proposed allocation algorithms against existing ones. The results indicate that the proposed algorithms outperform existing ones. Applications in IoT tend to have a mix of real-time and non real-time requirements, which complicates the task allocation and scheduling problems. In the second part of this thesis, we propose a two-stage scheduling framework that can map the tasks of the application across a collection of edge computing servers (distributed cloud servers that are closer to the network edge than fogs). The application model focuses on a mix of real-time and non real-time independent tasks. In the first stage, the framework does a task to resource matching, taking into consideration the requirements associated with the task. In the second stage, the framework schedules the tasks such that real-time deadlines of the tasks are respected, and non real-time tasks are scheduled to use available free time slots. Both stages of the framework completely operate in the user-level and deadline sensitive scheduling is performed by divvying up the CPU resources efficiently in the user space. We implement the framework over heterogeneous collections of machines and measure its performance under different conditions. Results show that the two-stage architecture is better because the flexibility offered by the architecture can be used by the edge servers to obtain higher performance.While task allocation and scheduling are important, we also illustrate that edge computing is more susceptible to latency variation in the last hop. To handle this problem, we present an architecture for network-aware scheduling for edge applications and develop algorithms that go into the architecture. The architecture observes the state of the network and schedules the application using the observed knowledge. Our proposed network-aware algorithm deploys the best schedule that minimizes the application execution time given the network conditions. As part of the architecture, we develop a switching algorithm that speculatively deploys better schedules when a network change is detected. The combination of both algorithms in the architecture offers better performance to the application. We evaluate the algorithms by comparing them to a baseline approach that is network-unaware. Our results show the performance benefits of the proposed algorithms over the network-unaware approach"--