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 more)