Current trends in embedded system design and development consist in integrating machine learning and artificial intelligence into complex embedded applications. Due to the heavy computational requirements, designers are moving towards heterogeneous platforms consisting of multi-core CPUs coupled with massively parallel accelerators such as Graphical Processing Units (GPUs). The adoption of these platforms represents a difficult challenge for developers of real-time applications, due to the complexity of hardware and software that make it difficult to estimate performance and guarantee the timing constraints.

After describing the context and discussing the problems, in the first part of the talk I will present a novel real-time application model, called HPC-DAG (Heterogeneous Parallel Condition Directed Acyclic Graph Model), specifically conceived for heterogeneous platforms. An HPC-DAG allows the system designer to specify alternative implementations of a software component for different processing engines, as well as conditional branches to model if-then-else statements. We will see how this model can help designers explore the space of solutions for implementing real-time applications on heterogeneous platforms.

In the second part of the talk, we will delve into the problem of memory contention for real-time applications on multicore systems, and how modern architectures based on caches and shared buses are difficult to analyze due to high resource contention. We propose to replace cache memories with scratchpads, which can be easily controlled via software. Then, I will describe a method to schedule a set of complex applications, modeled by DAGs, on a multicore system with scratchpad, to minimize conflicts on the access to the main memory. We show the effectiveness of this approach via a set of synthetic experiments.

August 29 @ 16:40
16:40 — 17:10 (30′)

Prof. Giuseppe Lipari (University of Lille – FR)