2 research outputs found
Numerically Stable Binary Gradient Coding
A major hurdle in machine learning is scalability to massive datasets. One
approach to overcoming this is to distribute the computational tasks among
several workers. \textit{Gradient coding} has been recently proposed in
distributed optimization to compute the gradient of an objective function using
multiple, possibly unreliable, worker nodes. By designing distributed coded
schemes, gradient coded computations can be made resilient to
\textit{stragglers}, nodes with longer response time comparing to other nodes
in a distributed network. Most such schemes rely on operations over the real or
complex numbers and are inherently numerically unstable. We present a binary
scheme which avoids such operations, thereby enabling numerically stable
distributed computation of the gradient. Also, some restricting assumptions in
prior work are dropped, and a more efficient decoding is given.Comment: Conferenc
Efficient Replication for Straggler Mitigation in Distributed Computing
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