Scheduling Stochastic Real-Time Jobs in Unreliable Workers

Yu-Pin Hsu,Yu-Chih Huang,Shin-Lin Shieh
DOI: https://doi.org/10.48550/arXiv.1910.00916
2020-01-30
Abstract:We consider a distributed computing network consisting of a master and multiple workers processing tasks of different types. The master is running multiple applications. Each application stochastically generates real-time jobs with a strict job deadline, where each job is a collection of tasks of some types specified by the application. A real-time job is completed only when all its tasks are completed by the corresponding workers within the deadline. Moreover, we consider unreliable workers, whose processing speeds are uncertain. Because of the limited processing abilities of the workers, an algorithm for scheduling the jobs in the workers is needed to maximize the average number of completed jobs for each application. The scheduling problem is not only critical but also practical in distributed computing networks. In this paper, we develop two scheduling algorithms, namely, a feasibility-optimal scheduling algorithm and an approximate scheduling algorithm. The feasibility-optimal scheduling algorithm can fulfill the largest region of applications' requirements for the average number of completed jobs. However, the feasibility-optimal scheduling algorithm suffers from high computational complexity when the number of applications is large. To address the issue, the approximate scheduling algorithm is proposed with a guaranteed approximation ratio in the worst-case scenario. The approximate scheduling algorithm is also validated in the average-case scenario via computer simulations.
Distributed, Parallel, and Cluster Computing,Networking and Internet Architecture
What problem does this paper attempt to address?
The problem that this paper attempts to solve is the problem of scheduling random real - time tasks in unreliable worker nodes. Specifically, the paper focuses on a distributed computing network, which consists of a master node and multiple worker nodes with specific functions. Each application will randomly generate real - time tasks with strict deadlines, and these tasks need to be completed within the specified time. In addition, the worker nodes are unreliable and their processing speeds are uncertain. Therefore, it is necessary to design a scheduling algorithm to maximize the average number of completed tasks for each application. The paper proposes two scheduling algorithms: one is the optimal feasibility scheduling algorithm, and the other is the approximate scheduling algorithm. The optimal feasibility scheduling algorithm can meet the application requirements in the widest range, but has a high computational complexity; while the approximate scheduling algorithm has a lower computational complexity, but can still guarantee a certain performance in the worst case.