Designing mixed criticality applications on modern heterogeneous MPSoC platforms
Files
Published version
Date
2019-07-09
Authors
Gracioli, Giovani
Tabish, Rohan
Mancuso, Renato
Mirosanlou, Reza
Pellizzoni, Rodolfo
Caccamo, Marco
Version
Published version
OA Version
Citation
Giovani Gracioli, Rohan Tabish, Renato Mancuso, Reza Mirosanlou, Rodolfo Pellizzoni, Marco Caccamo. 2019. "Designing Mixed Criticality Applications on Modern Heterogeneous MPSoC Platforms." 31st Euromicro Conference on Real-Time Systems (ECRTS 2019). Stuttgart, Germany, 2019-07-09 - 2019-07-12. https://doi.org/10.4230/LIPIcs.ECRTS.2019.27
Abstract
Multiprocessor Systems-on-Chip (MPSoC) integrating hard processing cores with programmable logic (PL) are becoming increasingly common. While these platforms have been originally designed for high performance computing applications, their rich feature set can be exploited to efficiently implement mixed criticality domains serving both critical hard real-time tasks, as well as soft real-time tasks. In this paper, we take a deep look at commercially available heterogeneous MPSoCs that incorporate PL and a multicore processor. We show how one can tailor these processors to support a mixed criticality system, where cores are strictly isolated to avoid contention on shared resources such as Last-Level Cache (LLC) and main memory. In order to avoid conflicts in last-level cache, we propose the use of cache coloring, implemented in the Jailhouse hypervisor. In addition, we employ ScratchPad Memory (SPM) inside the PL to support a multi-phase execution model for real-time tasks that avoids conflicts in shared memory. We provide a full-stack, working implementation on a latest-generation MPSoC platform, and show results based on both a set of data intensive tasks, as well as a case study based on an image processing benchmark application.
Description
License
© G. Gracioli, R. Tabish, R. Mancuso, R. Mirosanlou, R. Pellizzoni, and M. Caccamo; licensed under Creative Commons License CC-BY.