  We consider the setting of a Master server, M, who possesses confidential
data (e.g., personal, genomic or medical data) and wants to run intensive
computations on it, as part of a machine learning algorithm for example. The
Master wants to distribute these computations to untrusted workers who have
volunteered or are incentivized to help with this task. However, the data must
be kept private and not revealed to the individual workers. Some of the workers
may be stragglers, e.g., slow or busy, and will take a random time to finish
the task assigned to them. We are interested in reducing the delays experienced
by the Master. We focus on linear computations as an essential operation in
many iterative algorithms such as principal component analysis, support vector
machines and other gradient-descent based algorithms. A classical solution is
to use a linear secret sharing scheme, such as Shamir's scheme, to divide the
data into secret shares on which the workers can perform linear computations.
However, classical codes can provide straggler mitigation assuming a worst-case
scenario of a fixed number of stragglers. We propose a solution based on new
secure codes, called Staircase codes, introduced previously by two of the
authors. Staircase codes allow flexibility in the number of stragglers up to a
given maximum, and universally achieve the information theoretic limit on the
download cost by the Master, leading to latency reduction. Under the shifted
exponential model, we find upper and lower bounds on the Master's mean waiting
time. We derive the distribution of the Master's waiting time, and its mean,
for systems with up to two stragglers. For systems with any number of
stragglers, we derive an expression that can give the exact distribution, and
the mean, of the waiting time of the Master. We show that Staircase codes
always outperform classical secret sharing codes.
