  Edge computing is emerging as a new paradigm to allow processing data at the
edge of the network, where data is typically generated and collected, by
exploiting multiple devices at the edge collectively. However, exploiting the
potential of edge computing is challenging mainly due to the heterogeneous and
time-varying nature of edge devices. Coded computation, which advocates mixing
data in sub-tasks by employing erasure codes and offloading these sub-tasks to
other devices for computation, is recently gaining interest, thanks to its
higher reliability, smaller delay, and lower communication cost. In this paper,
our focus is on characterizing the cost-benefit trade-offs of coded computation
for practical edge computing systems, and develop an adaptive coded computation
framework. In particular, we focus on matrix multiplication as a
computationally intensive task, and develop an adaptive coding for matrix
multiplication (ACM^2) algorithm by taking into account the heterogeneous and
time varying nature of edge devices. ACM^2 dynamically selects the best coding
policy by taking into account the computing time, storage requirements as well
as successful decoding probability. We show that ACM^2 improves the task
completion delay significantly as compared to existing coded matrix
multiplication algorithms.
