Scheduling Stochastic Real-Time Jobs in Unreliable Workers
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.
READ FULL TEXT