Many applications require both high performance and predictable timing. High-performance can be provided by COTS Multi-Core System on Chips (MPSoC), however, as cores in these systems share main memory, they are susceptible to interference from each other, which is a problem for timing predictability. We achieve predictability on multi-cores by employing the predictable execution model (PREM), which splits execution into a sequence of memory and compute phases, and schedules these such that only a single core is executing a memory phase at a time. We present a toolchain consisting of a compiler and a scheduling tool. Our compiler uses region and loop based analysis and performs tiling to transform application code into PREM-compliant binaries. In addition to enabling predictable execution, the compiler transformation optimizes accesses to the shared main memory. The scheduling tool uses a state-of-the-art heuristic algorithm and is able to schedule industrial-size instances. For smaller instances, we compare the results of the algorithm with optimal solutions found by solving an integer linear programming model. Furthermore, we solve the problem of scheduling execution on multiple cores while preventing interference of memory phases. We evaluate our toolchain on Advanced Driver Assistance System (ADAS) application workloads running on an NVIDIA Tegra X1 embedded system-on-chip (SoC). The results show that our approach maintains similar average performance to the original (unmodified) program code and execution, while reducing variance of completion times by a factor of 9 with the identified optimal solutions and by a factor of 5 with schedules generated by our heuristic scheduler.

Combining PREM compilation and static scheduling for high-performance and predictable MPSoC execution / Matejka, J.; Forsberg, B.; Sojka, M.; Sucha, P.; Benini, L.; Marongiu, A.; Hanzalek, Z.. - In: PARALLEL COMPUTING. - ISSN 0167-8191. - 85:(2019), pp. 27-44. [10.1016/j.parco.2018.11.002]

Combining PREM compilation and static scheduling for high-performance and predictable MPSoC execution

Marongiu A.;
2019

Abstract

Many applications require both high performance and predictable timing. High-performance can be provided by COTS Multi-Core System on Chips (MPSoC), however, as cores in these systems share main memory, they are susceptible to interference from each other, which is a problem for timing predictability. We achieve predictability on multi-cores by employing the predictable execution model (PREM), which splits execution into a sequence of memory and compute phases, and schedules these such that only a single core is executing a memory phase at a time. We present a toolchain consisting of a compiler and a scheduling tool. Our compiler uses region and loop based analysis and performs tiling to transform application code into PREM-compliant binaries. In addition to enabling predictable execution, the compiler transformation optimizes accesses to the shared main memory. The scheduling tool uses a state-of-the-art heuristic algorithm and is able to schedule industrial-size instances. For smaller instances, we compare the results of the algorithm with optimal solutions found by solving an integer linear programming model. Furthermore, we solve the problem of scheduling execution on multiple cores while preventing interference of memory phases. We evaluate our toolchain on Advanced Driver Assistance System (ADAS) application workloads running on an NVIDIA Tegra X1 embedded system-on-chip (SoC). The results show that our approach maintains similar average performance to the original (unmodified) program code and execution, while reducing variance of completion times by a factor of 9 with the identified optimal solutions and by a factor of 5 with schedules generated by our heuristic scheduler.
2019
85
27
44
Combining PREM compilation and static scheduling for high-performance and predictable MPSoC execution / Matejka, J.; Forsberg, B.; Sojka, M.; Sucha, P.; Benini, L.; Marongiu, A.; Hanzalek, Z.. - In: PARALLEL COMPUTING. - ISSN 0167-8191. - 85:(2019), pp. 27-44. [10.1016/j.parco.2018.11.002]
Matejka, J.; Forsberg, B.; Sojka, M.; Sucha, P.; Benini, L.; Marongiu, A.; Hanzalek, Z.
File in questo prodotto:
File Dimensione Formato  
matejka_PARCO2019.pdf

Accesso riservato

Descrizione: Articolo principale (versione editoriale)
Tipologia: Versione pubblicata dall'editore
Dimensione 2.11 MB
Formato Adobe PDF
2.11 MB Adobe PDF   Visualizza/Apri   Richiedi una copia
Combining+PREM_new.pdf

Open access

Tipologia: Versione dell'autore revisionata e accettata per la pubblicazione
Dimensione 3.51 MB
Formato Adobe PDF
3.51 MB Adobe PDF Visualizza/Apri
Pubblicazioni consigliate

Licenza Creative Commons
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

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11380/1179007
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 6
  • ???jsp.display-item.citation.isi??? 6
social impact