Name: Seyyed Ahmad Razavi Majomard
Chair: Eli Bozorgzadeh
Date: February 28, 2022
Time: 1:00 pm
Committee: Eli Bozorgzadeh (chair), Solmaz Kia, Ian Harris
Title: Computation-Communication Co-Optimization in the Era of Networked Embedded Device
Nowadays, networked embedded systems are widely being used. These systems consist of multiple embedded devices connected through wired or wireless networks to accomplish a goal, such as rescue missions and surveillance systems. Networked embedded systems are driven by the tight coordination between computational components, sensors and the interaction with each other. These devices have a limited computation and computation capacity, therefore, solely considering just the computation or just the communication in designing applications, may result in enormous communication or computation overhead. Therefore, computation-communication aware design is unavoidable in order to achieve a reliable and yet fast execution. In this dissertation, we explore a graph based methodology to decentralize an application among a team of cooperative agents (networked embedded systems). As a case study, we focus on UKF based Cooperative Localization, where there is a tightly coupled data dependency between agents. Cooperative localization (CL) is a popular method for localizing a team of communicating robots in GPS-denied environments. Fast and accurate localization is essential because a delayed estimation may lead to a mission failure. Therefore, we first distribute the UKF based CL among robots, then using a replication technique, we reduce the communication overhead. Computation replication increases the CPU workload on the agents. Therefore, we provide a method to selectively replicate the computation to minimize the overall CPU overhead considering a user defined application latency.
Due to the limited computation capacity of embedded devices, for applications such as DNN, the data has to be sent to a node with a stronger computation unit, such as a local server, edge, or cloud. In addition, in some systems, agents are not willing to share their information with each other, other than a trusted node (e.g. edge), therefore computation offloading is unavoidable. The edge serves multiple applications, and its computation resources are shared among those applications. For an edge with a fixed time slotted schedule, the data arrival time affects the system performance. The data frames might arrive after the allocated time slot on the edge, or arrive too early, so they need to wait on the edge until the computation resource becomes available. We provide a framework, based on a feedback loop, to reduce the data frame wait time on the edge by staggering the end device sensing time. The on-device computation/network delay varies, and computing the staggering time is challenging. In our framework, based on the arrival time distribution, the edge computes the Target arrival time that minimizes the overall wait time on the edge. The staggering time is the difference between the Target arrival time and the Estimated arrival time. Since the arrival time is noisy, the edge uses estimation methods to compute the Estimated arrival time. Then, the edge sends a command to the end device to stagger its sensing time. In this dissertation, we illustrated how communication-computation co-optimization can improve the performance of networked embedded systems. We provided solutions for application decentralization while considering the computation-communication tradeoff. Furthermore, we show that the coordination between networked embedded systems and the edge can improve responsiveness despite the network noise by just utilizing the data arrival times and a feedback loop.