Data Cache Analysis by Counting Integer Points
Analyse de cache de donnée par décompte de points à coordonnées entières
Résumé
The scheduling of reliable real-time systems require a precise and sound analysis of the execution times of their tasks. Part of these execution times is spent fetching data from the main memory to the cache memories. These fetch events occur on cache misses, but cache misses are hard to predict when the program accesses an array. An imprecise cache miss analysis can lead to an imprecise but still sound Worst-Case Execution Time (WCET) analysis. In this article we present a framework for deriving an upper bound to the number of times a data-accessing instruction triggers a cache miss. Backed by this framework, we present an analysis that produces numeric or symbolic bounds, by reasoning on a short history of accesses and by counting the number of integer points in a volume with an existing tool (Barvinok). Using such bounds will improve the precision of the estimations delivered by the WCET analyses.
L'ordonnancement de systèmes temps-réel fiables nécessite une analyse précise et correcte du temps d'exécution de leurs tâches. Un partie de ces temps d'exécution est passée à rapatrier des données depuis la mémoire centrale vers les mémoires caches. Cet événements ont lieu lorsque se produit un défaut de cache, mais ces défauts de cache sont difficiles à prédire quand le programme accède à un tableau. Une analyse de défaut de cache imprécise peut mener à une analyse imprécise, quoique correcte, du pire temps d'exécution. Dans cet article, nous présentons un cadre théorique pour dériver une borne supérieure au nombre de fois qu'une instruction accédant aux données peut déclencher un défaut de cache. En s'appuyant sur ce cadre, nous présentons une analyse qui produit des bornes numériques ou symboliques en raisonnant sur un bref historique des accès et en comptant un nombre de points à coordonnées entières dans un volume, à l'aide d'un outil existant (Barvinok). L'utilisation de ces bornes améliorera la précision des estimations réalisées par les analyses de temps d'exécution.
Origine | Fichiers produits par l'(les) auteur(s) |
---|