The potential of distributed computing to improve the performance of big data processing engines is contingent on mitigation of several challenges. In particular, by relying on multiple commodity servers, the performance of a distributed computing engine is dictated by the slowest servers, known as stragglers. Redundancy could mitigate stragglers by reducing the dependence of the computing engine on every server. Nevertheless, redundancy could yet be a burden to the system and aggravate stragglers. In this paper, we consider task replication as the redundancy technique andstudy the optimum redundancy planning to improve the performance of a master-worker distributed computing system. We start with optimum assignment policy of a given set of redundant tasks to a set of workers. Using the results from majorization theory, we show thatif the service time of workersis a stochastically (decreasing and) convex random variable , a balanced assignment of non-overlapping batches of tasks minimizes the average job compute time. With that results, we then study the optimum level of redundancy from the perspective of average job compute time and compute time predictability. We derive the efficient redundancy level as a function of tasks' service time distribution . We observe that , the redundancy level that minimizes average  compute time is not necessarily the same as the redundancy level that maximized compute timepredictability . Finally, by running experiments on Google cluster traces, we show that a careful planning of redundancy according to the tasks' service time distribution can speed up the computing job by an order of magnitude  .
Master-worker distributed computing systems use task replication in order to mitigate the effect of slow workers, known as stragglers. Tasks are grouped into batches and assigned to one or more workers for execution. We first consider the case when the batches do not overlap and, using the results from majorization theory, show that, for a general class of workers' service time distributions , a balanced assignment of batches to workers minimizes the average job compute time. We next show that this balanced assignment of non-overlapping batches achieves lower average job compute time compared to the overlapping schemes proposed in the literature. Furthermore, we derive the optimum redundancy level as a function of the service time distribution at workers. We show that the redundancy level that minimizes average job compute time is not necessarily the same as the redundancy level that maximizes the predictability of job compute time, and thus there exists a trade-off between optimizing the two metrics . Finally, by running experiments on Google cluster traces, we observe that redundancy can reduce the compute time of the jobs in Google clusters by an order of magnitude , and that the optimum level of redundancy depends on the distribution of tasks' service time .
R
The potential of distributed computing to improve the performance of big data processing engines is contingent on mitigation of several challenges. In particular, by relying on multiple commodity servers, the performance of a distributed computing engine is dictated by the slowest servers,
Master-worker distributed computing systems use task replication in order to mitigate the effect of slow workers,
R
Redundancy could mitigate stragglers by reducing the dependence of the computing engine on every server. Nevertheless, redundancy could yet be a burden to the system and aggravate stragglers. In this paper, we consider task replication as the redundancy technique andstudy the optimum redundancy planning to improve the performance of a master-worker distributed computing system. We start with optimum assignment policy of a given set of redundant tasks to a set of workers. Using the
Tasks are grouped into batches and assigned to one or more workers for execution. We first consider the case when the batches do not overlap and, using the
R
we show thatif the service time of workersis a stochastically (decreasing and) convex random variable
show that, for a general class of workers' service time distributions
R
non-overlapping batches of tasks
batches to workers
R
With that results, we then study the optimum level of redundancy from the perspective of
We next show that this balanced assignment of non-overlapping batches achieves lower
R
and compute time predictability. We derive the efficient
compared to the overlapping schemes proposed in the literature. Furthermore, we derive the optimum
R
tasks'
the
R
. We observe that ,
at workers. We show that
A
job
R
maximized compute timepredictability
maximizes the predictability of job compute time, and thus there exists a trade-off between optimizing the two metrics
R
show that a careful planning of redundancy according to the tasks' service time distribution can speed up the computing job
observe that redundancy can reduce the compute time of the jobs in Google clusters
A
, and that the optimum level of redundancy depends on the distribution of tasks' service time