  Distributed computing has become a common approach for large-scale
computation of tasks due to benefits such as high reliability, scalability,
computation speed, and costeffectiveness. However, distributed computing faces
critical issues related to communication load and straggler effects. In
particular, computing nodes need to exchange intermediate results with each
other in order to calculate the final result, and this significantly increases
communication overheads. Furthermore, a distributed computing network may
include straggling nodes that run intermittently slower. This results in a
longer overall time needed to execute the computation tasks, thereby limiting
the performance of distributed computing. To address these issues, coded
distributed computing (CDC), i.e., a combination of coding theoretic techniques
and distributed computing, has been recently proposed as a promising solution.
Coding theoretic techniques have proved effective in WiFi and cellular systems
to deal with channel noise. Therefore, CDC may significantly reduce
communication load, alleviate the effects of stragglers, provide
fault-tolerance, privacy and security. In this survey, we first introduce the
fundamentals of CDC, followed by basic CDC schemes. Then, we review and analyze
a number of CDC approaches proposed to reduce the communication costs, mitigate
the straggler effects, and guarantee privacy and security. Furthermore, we
present and discuss applications of CDC in modern computer networks. Finally,
we highlight important challenges and promising research directions related to
CDC
