Cargando…

Reducing the WCET and analysis time of systems with simple lockable instruction caches

One of the key challenges in real-time systems is the analysis of the memory hierarchy. Many Worst-Case Execution Time (WCET) analysis methods supporting an instruction cache are based on iterative or convergence algorithms, which are rather slow. Our goal in this paper is to reduce the WCET analysi...

Descripción completa

Detalles Bibliográficos
Autores principales: Pedro-Zapater, Alba, Segarra, Juan, Gran Tejero, Rubén, Viñals, Víctor, Rodríguez, Clemente
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Public Library of Science 2020
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7082033/
https://www.ncbi.nlm.nih.gov/pubmed/32191731
http://dx.doi.org/10.1371/journal.pone.0229980
_version_ 1783508281948372992
author Pedro-Zapater, Alba
Segarra, Juan
Gran Tejero, Rubén
Viñals, Víctor
Rodríguez, Clemente
author_facet Pedro-Zapater, Alba
Segarra, Juan
Gran Tejero, Rubén
Viñals, Víctor
Rodríguez, Clemente
author_sort Pedro-Zapater, Alba
collection PubMed
description One of the key challenges in real-time systems is the analysis of the memory hierarchy. Many Worst-Case Execution Time (WCET) analysis methods supporting an instruction cache are based on iterative or convergence algorithms, which are rather slow. Our goal in this paper is to reduce the WCET analysis time on systems with a simple lockable instruction cache, focusing on the Lock-MS method. First, we propose an algorithm to obtain a structure-based representation of the Control Flow Graph (CFG). It organizes the whole WCET problem as nested subproblems, which takes advantage of common branch-and-bound algorithms of Integer Linear Programming (ILP) solvers. Second, we add support for multiple locking points per task, each one with specific cache contents, instead of a given locked content for the whole task execution. Locking points are set heuristically before outer loops. Such simple heuristics adds no complexity, and reduces the WCET by taking profit of the temporal reuse found in loops. Since loops can be processed as isolated regions, the optimal contents to lock into cache for each region can be obtained, and the WCET analysis time is further reduced. With these two improvements, our WCET analysis is around 10 times faster than other approaches. Also, our results show that the WCET is reduced, and the hit ratio achieved for the lockable instruction cache is similar to that of a real execution with an LRU instruction cache. Finally, we analyze the WCET sensitivity to compiler optimization, showing for each benchmark the right choices and pointing out that O0 is always the worst option.
format Online
Article
Text
id pubmed-7082033
institution National Center for Biotechnology Information
language English
publishDate 2020
publisher Public Library of Science
record_format MEDLINE/PubMed
spelling pubmed-70820332020-03-24 Reducing the WCET and analysis time of systems with simple lockable instruction caches Pedro-Zapater, Alba Segarra, Juan Gran Tejero, Rubén Viñals, Víctor Rodríguez, Clemente PLoS One Research Article One of the key challenges in real-time systems is the analysis of the memory hierarchy. Many Worst-Case Execution Time (WCET) analysis methods supporting an instruction cache are based on iterative or convergence algorithms, which are rather slow. Our goal in this paper is to reduce the WCET analysis time on systems with a simple lockable instruction cache, focusing on the Lock-MS method. First, we propose an algorithm to obtain a structure-based representation of the Control Flow Graph (CFG). It organizes the whole WCET problem as nested subproblems, which takes advantage of common branch-and-bound algorithms of Integer Linear Programming (ILP) solvers. Second, we add support for multiple locking points per task, each one with specific cache contents, instead of a given locked content for the whole task execution. Locking points are set heuristically before outer loops. Such simple heuristics adds no complexity, and reduces the WCET by taking profit of the temporal reuse found in loops. Since loops can be processed as isolated regions, the optimal contents to lock into cache for each region can be obtained, and the WCET analysis time is further reduced. With these two improvements, our WCET analysis is around 10 times faster than other approaches. Also, our results show that the WCET is reduced, and the hit ratio achieved for the lockable instruction cache is similar to that of a real execution with an LRU instruction cache. Finally, we analyze the WCET sensitivity to compiler optimization, showing for each benchmark the right choices and pointing out that O0 is always the worst option. Public Library of Science 2020-03-19 /pmc/articles/PMC7082033/ /pubmed/32191731 http://dx.doi.org/10.1371/journal.pone.0229980 Text en © 2020 Pedro-Zapater et al http://creativecommons.org/licenses/by/4.0/ This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0/) , which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.
spellingShingle Research Article
Pedro-Zapater, Alba
Segarra, Juan
Gran Tejero, Rubén
Viñals, Víctor
Rodríguez, Clemente
Reducing the WCET and analysis time of systems with simple lockable instruction caches
title Reducing the WCET and analysis time of systems with simple lockable instruction caches
title_full Reducing the WCET and analysis time of systems with simple lockable instruction caches
title_fullStr Reducing the WCET and analysis time of systems with simple lockable instruction caches
title_full_unstemmed Reducing the WCET and analysis time of systems with simple lockable instruction caches
title_short Reducing the WCET and analysis time of systems with simple lockable instruction caches
title_sort reducing the wcet and analysis time of systems with simple lockable instruction caches
topic Research Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7082033/
https://www.ncbi.nlm.nih.gov/pubmed/32191731
http://dx.doi.org/10.1371/journal.pone.0229980
work_keys_str_mv AT pedrozapateralba reducingthewcetandanalysistimeofsystemswithsimplelockableinstructioncaches
AT segarrajuan reducingthewcetandanalysistimeofsystemswithsimplelockableinstructioncaches
AT grantejeroruben reducingthewcetandanalysistimeofsystemswithsimplelockableinstructioncaches
AT vinalsvictor reducingthewcetandanalysistimeofsystemswithsimplelockableinstructioncaches
AT rodriguezclemente reducingthewcetandanalysistimeofsystemswithsimplelockableinstructioncaches