Edge computing is an emerging paradigm in which computing and storage are placed at multiple locations between the endpoint Internet of Things (IoT) devices and the cloud. This is seen as a driving force behind the next wave of advances in IoT solutions. Edge services are predicted to become the next multi-billion dollar technology market and disrupt the current cloud computing based industry. Active industry-wide development and standardization efforts for edge computing are under way to define related architectures. Against this backdrop, this project designs and implements a system architecture to optimize multi-tier service orchestration across IoT devices, edge servers, and the cloud. In contrast to the typical per-application optimization approach, this project takes a unique view of joint, concurrent optimization of multiple applications. This architecture encourages the development of new distributed algorithms for decomposing the processing semantics of IoT applications. Further, the project contributes techniques and reference models to industry standardization efforts.
Harnessing edge capabilities to transform the IoT service landscape requires novel distributed algorithms and system architectures. This goes far beyond existing approaches for application code partitioning and computation offloading for individual applications. To that end, this project aims to build a system runtime that abstracts away the infrastructure complexity while automating the optimization of application processing. On the compute path, the project highlights new types of correlated computation, where the corresponding input and output are similar but not identical. Eliminating this holds the key to simultaneously optimizing for the computation latency and results quality. The techniques developed further provide primitives to restructure the processing pipelines of these applications. On the control path, the project departs from the existing server-centric control in a single client-server tier, and instead proposes client-centric control in a nested server model to leverage multiple tiers of computing capabilities. Finally, the above techniques are integrated into a system runtime, which further provides simple APIs (application programming interface) and generic system level support such as scheduling.
This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.