  We consider the problem of coded distributed computing where a large linear
computational job, such as a matrix multiplication, is divided into k smaller
tasks, encoded using an (n,k) linear code, and performed over n distributed
nodes. The goal is to reduce the average execution time of the computational
job. We provide a connection between the problem of characterizing the average
execution time of a coded distributed computing system and the problem of
analyzing the error probability of codes of length n used over erasure
channels. Accordingly, we present closed-form expressions for the execution
time using binary random linear codes and the best execution time any
linear-coded distributed computing system can achieve. It is also shown that
there exist good binary linear codes that not only attain (asymptotically) the
best performance that any linear code (not necessarily binary) can achieve but
also are numerically stable against the inevitable rounding errors in practice.
We then develop a low-complexity algorithm for decoding Reed-Muller (RM) codes
over erasure channels. Our decoder only involves additions and subtractions and
enables coded computation over real-valued data. Extensive numerical analysis
of the fundamental results as well as RM- and polar-coded computing schemes
demonstrate the excellence of the RM-coded computation in achieving
close-to-optimal performance while having a low-complexity decoding and
explicit construction. The proposed framework in this paper enables efficient
designs of distributed computing systems given the rich literature in the
channel coding theory.
