Adoption of multi- and many-core processors in real-time systems has so far been slowed down, if not totally barred, due do the difficulty in providing analytical real-time guarantees on worst-case execution times. The Predictable Execution Model (PREM) has been proposed to solve this problem, but its practical support requires significant code refactoring, a task better suited for a compilation tool chain than human programmers. Implementing a PREM compiler presents significant challenges to conform to PREM requirements, such as guaranteed upper bounds on memory footprint and the generation of efficient schedulable non-preemptive regions. This article presents a comprehensive description on how a PREM compiler can be implemented, based on several years of experience from the community. We provide accumulated insights on how to best balance conformance to real-time requirements and performance and present novel techniques that extend the applicability from simple benchmark suites to real-world applications. We show that code transformed by the PREM compiler enables timing predictable execution on modern commercial off-the-shelf hardware, providing novel insights on how PREM can protect 99.4% of memory accesses on random replacement policy caches at only 16% performance loss on benchmarks from the PolyBench benchmark suite. Finally, we show that the requirements imposed on the programming model are well-aligned with current coding guidelines for timing critical software, promoting easy adoption.
The Predictable Execution Model in Practice: Compiling Real Applications for COTS Hardware / Forsberg, B.; Solieri, M.; Bertogna, M.; Benini, L.; Marongiu, A.. - In: ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS. - ISSN 1539-9087. - 20:5(2021), pp. 1-25. [10.1145/3465370]
Data di pubblicazione: | 2021 | |
Titolo: | The Predictable Execution Model in Practice: Compiling Real Applications for COTS Hardware | |
Autore/i: | Forsberg, B.; Solieri, M.; Bertogna, M.; Benini, L.; Marongiu, A. | |
Autore/i UNIMORE: | ||
Digital Object Identifier (DOI): | http://dx.doi.org/10.1145/3465370 | |
Rivista: | ||
Volume: | 20 | |
Fascicolo: | 5 | |
Pagina iniziale: | 1 | |
Pagina finale: | 25 | |
Codice identificativo ISI: | WOS:000679808100010 | |
Codice identificativo Scopus: | 2-s2.0-85111709771 | |
Citazione: | The Predictable Execution Model in Practice: Compiling Real Applications for COTS Hardware / Forsberg, B.; Solieri, M.; Bertogna, M.; Benini, L.; Marongiu, A.. - In: ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS. - ISSN 1539-9087. - 20:5(2021), pp. 1-25. [10.1145/3465370] | |
Tipologia | Articolo su rivista |
File in questo prodotto:
File | Descrizione | Tipologia | |
---|---|---|---|
TECS-2020-0094.R1_Proof_fl.pdf | Post-print dell'autore (bozza post referaggio) | Administrator Richiedi una copia |
Pubblicazioni consigliate

I metadati presenti in IRIS UNIMORE sono rilasciati con licenza Creative Commons CC0 1.0 Universal, mentre i file delle pubblicazioni sono rilasciati con licenza Attribuzione 4.0 Internazionale (CC BY 4.0), salvo diversa indicazione.
In caso di violazione di copyright, contattare Supporto Iris