This project investigates novel systematic and ultimately automated design approaches that enable network-wide optimization and validation of embedded and cyber-physical systems (CPS) across computation and communication boundaries. A key aspect of CPS and the Internet of Things (IoT) is networking of hitherto disconnected computer systems. However, the networked aspect also poses new design challenges. Machine-to-machine communication comes with inherent uncertainties, such as data losses, yet systems have to perform under tight real-time, reliability, safety, efficiency and performance guarantees. Furthermore, mapping, scheduling and offloading of computations across the network comes with non-obvious tradeoffs that will greatly influence overall application performance and energy consumption. Consequently, on‐ and off‐chip system architectures will have to be designed and optimized taking their role in the overall network environment into account. Likewise, networks have to be assembled considering what systems will be connected as well as the applications running on top of them. Key decisions, such as where and when to execute a certain piece of computation in the network, how many and what types of cores, processors, accelerators, radios and network interfaces each device should have, or the amount of bandwidth and number of access points to be provided by the network cannot be sufficiently answered with current methods that design devices and networks in isolation. When combined with rapidly growing increases in complexity, traditional approaches in which computation and communication aspects are designed separately, and in an ad-hoc manner, hinder achieving system-wide correctness and leave a large optimization potential untapped. Rather, new tools for systematic network/system co‐design are needed.
The broad vision of this project is to establish an integrated, comprehensive network-of-system (NoS) design environment as outlined in the figure on the left. At any level, a requirement for systematic design is the definition of a corresponding methodology that breaks the design flow into a necessary and sufficient sequence of steps. Formally, in each step, synthesis is a process of successive exploration and refinement that transforms a specification into an implementation under a set of constraints and optimization objectives.
We first investigate formal models of computation and communication (MoCC) for NoS specification, including associated analysis and synthesis algorithms. We propose Reactive and Adaptive Dataflow Graph (RADF) to clearly and unambiguously define desired NoS behavior. NoS applications written in our programming model are further feed into a compiler and runtime framework (RIoT) to automatically derive optimized implementations with guaranteed correct execution schedule. Finally, we develop a novel NoS simulator (NoSSim) for fast yet accurate network/system co-simulation, where the network/system architecture definition, application mapping, and middleware and runtime system configuration can be optimized with a automatic design space exploration framework. Results of applying our NoS design flow to a range of NoS and IoT application case studies in both simulation and on physical testbeds have shown that it is possible to automatically generate NoS implementations from high-level, abstract application descriptions with real-time and correctness guarantees while maximizing their performance and minimizing resource or energy cost.
RADF Traditional dataflow models have shown their usefulness in analyzing isolated systems. However, these models cannot express the inherent requirements of connected applications, such as dynamic behavior associated with network losses and reactivity to external events. We propose a novel reactive and adaptive dataflow (RADF) model of computation. RADF, in addition to traditional lossless channels, provides lossy channels that do not require communication to be reliable. Losses in these channels are represented by replacing lost token(s) with empty token(s). This simple extension allows preserving analyzability and determinism of the underlying data flow model even in the presence of unreliable communication. |
|
RIoT Given the trade-off between latency and quality in open public networks, deploying distributed streaming applications under latency constraints is not trivial. To enable scheduling of distributed real-time streaming applications, we are developing a quality model for RADF, along with a scheduler that statically derives the optimal link latency budgets given the quality model and latency constraints. Futhermore, to realize the derived schedule and dynamically detect/inject empty tokens, we are proposing a runtime system. |
|
DeepThings We have developed a novel lightweight, general middleware for automatically and adaptively distributing application tasks across heterogeneous NoS clusters to optimize runtime performance while minimizing overheard in the presence of dynamically changing application scenarios. We have specifically applied our approach to execution of deep learning inference applications on resource-constrained IoT edge clusters that would otherwise not be able to run such complex machine learning workloads directly. Using our exploration flow, we were able to derive new task partitioning, mapping and execution strategies that enable running such applications in a distributed fashion with 68% reduced memory requirements and 2x improved speedup compared to existing approaches.
|
|
NosSim and NoSDSE NoSSim is a novel simulator for network/system co-simulation and virtual prototyping of NoS architectures and applications. NoSSim makes use of source-level simulation techniques proposed in our previous works to enable fast and accurate full-system simulation. It is further integrated with NoSDSE, an exploration framework for rapid, and early NoS design space exploration to support fully automated, joint network/system architecture definition, application mapping, and middleware and runtime system configuration on top of our NoS simulator.
|
National Science Foundation (NSF) Grant CSR-1421642 |