Grants and Contributions:

Title:
Many-core Platforms for Time-Critical Systems
Agreement Number:
RGPIN
Agreement Value:
$185,000.00
Agreement Date:
May 10, 2017 -
Organization:
Natural Sciences and Engineering Research Council of Canada
Location:
Ontario, CA
Reference Number:
GC-2017-Q1-02389
Agreement Type:
Grant
Report Type:
Grants and Contributions
Additional Information:

Grant or Award spanning more than one fiscal year. (2017-2018 to 2022-2023)

Recipient's Legal Name:
Pellizzoni, Rodolfo (University of Waterloo)
Program:
Discovery Grants Program - Individual
Program Purpose:

Cyber-Physical Systems (CPS) are the next generation of smart, interconnected embedded systems. Advanced CPS, such as autonomous vehicles, rely on complex sensor processing and sensor fusion capabilities; hence, they require significant computational power. To address such needs, many-core architectures are increasingly considered attractive choices. Proposed platforms include both scaled-up versions of traditional multi-core architectures, as well as complex systems-on-chip comprising single-instruction-multiple-data accelerators such as GPU, which are especially suitable for video processing and similar highly parallel tasks. CPS are safety-critical systems exhibiting real-time requirements: a failure to compute required actuation commands within a precise time window (deadline) can lead to catastrophic results, including loss of human life. For this reason, computing platforms used in CPS must be timing predictable, i.e., able to provide strict timing guarantees and performance isolation between subsystems with different criticalities. Unfortunately, current Commercial-Off-The-Shelf (COTS) many-core architectures are mainly targeted at either the consumer or high-performance computing markets, and thus are not designed with such objectives in mind.

We argue that the key to guarantee predictable timing for safety-critical applications is to control accesses to shared resources, including the memory hierarchy and on-chip interconnections, and coordinate their usage between all processing cores. The main goal of this project is to develop, implement and demonstrate software-based, predictable execution models for real-time tasks on many-core platforms. An automated compiler toolchain will be used to analyze, compile and optimize parallel programs based on a parallel programming API (OpenMP). Novel thread allocation and scheduling schemes will be introduced to optimize the usage of memory and communication bandwidth, while at the same time facilitating timing analysis.

The proposed research will make essential contributions to the way high-performance, time-critical CPS are designed. We believe that this is a strategic area where fundamental research, as enabled by the Discovery program, is sorely needed to achieve initial prototype status. We will demonstrate the validity of our toolchain and algorithms through both architectural simulations and implementation on existing many-core COTS platforms. Our techniques will be integrated and tested in the context of an autonomous vehicle demonstrator, developed collaboratively at the University of Waterloo.