In the upcoming future, numerous devices will be placed on the edge of the network in various forms in both industrial and residential environments. The edge devices will be used to sensor and collect user inputs and information around them, and to train predictive models. Unlike homogeneous data center servers, mobile devices on the network edge have different capabilities in terms of communication, computation, energy, and storage. Edge devices are also likely to show unpredictable latencies in performing computations for various reasons, such as hardware reliability, dynamically changing network conditions, shared resource congestion, and unbalanced workloads. We use coded strategy to design a scalable and robust system that can operate over many heterogeneous computing platforms in a highly variable and limited network.
The Coded Computing project focuses on addressing variability in response time due to abnormal system behavior, such as shared resources, background daemons, maintenance activities, network bandwidth, queuing, and energy management. Under these system challenges, we explore ways to overcome the performance and scalability problems of MDS-based coded computing. In particular, coded computing based on MDS coding needs to collect at least a certain number of complete coded computation results to recover the desired computation. However, many edge devices might not be able to fully complete or return the assigned computations due to limited batteries, limited communication capabilities, and mobility. Besides, due to the mobility of wireless edge devices, network connectivity is highly variable and can degrade quickly; thus, the master node does not have control over the structure of the encoding matrix used in worker nodes within a dynamically changing network. We propose to address these problems by developing techniques inspired by error-correcting-code that performs beyond the capability of MDS-based coded computing for matrix-vector multiplication, which is a fundamental step for many data analysis algorithms.