  In modern computer systems, jobs are divided into short tasks and executed in
parallel. Empirical observations in practical systems suggest that the task
service times are highly random and the job service time is bottlenecked by the
slowest straggling task. One common solution for straggler mitigation is to
replicate a task on multiple servers and wait for one replica of the task to
finish early. The delay performance of replications depends heavily on the
scheduling decisions of when to replicate, which servers to replicate on, and
which job to serve first. So far, little is understood on how to optimize these
scheduling decisions for minimizing the delay to complete the jobs. In this
paper, we present a comprehensive study on delay-optimal scheduling of
replications in both centralized and distributed multi-server systems.
Low-complexity scheduling policies are designed and are proven to be
delay-optimal or near delay-optimal in stochastic ordering among all causal and
non-preemptive policies. These theoretical results are established for general
system settings and delay metrics that allow for arbitrary arrival processes,
arbitrary job sizes, arbitrary due times, and heterogeneous servers with data
locality constraints. Novel sample-path tools are developed to prove these
results.
