Fast and exact analysis for LRU caches - Archive ouverte HAL
Article Dans Une Revue Proceedings of the ACM on Programming Languages Année : 2019

Fast and exact analysis for LRU caches

Claire Maïza
Valentin Touzeau
David Monniaux

Résumé

For applications in worst-case execution time analysis and in security, it is desirable to statically classify memory accesses into those that result in cache hits, and those that result in cache misses. Among cache replacement policies, the least recently used (LRU) policy has been studied the most and is considered to be the most predictable. The state-of-the-art in LRU cache analysis presents a tradeoff between precision and analysis efficiency: The classical approach to analyzing programs running on LRU caches, an abstract interpretation based on a range abstraction, is very fast but can be imprecise. An exact analysis was recently presented, but, as a last resort, it calls a model checker, which is expensive. In this paper, we develop an analysis based on abstract interpretation that comes close to the efficiency of the classical approach, while achieving exact classification of all memory accesses as the model-checking approach. Compared with the model-checking approach we observe speedups of several orders of magnitude. As a secondary contribution we show that LRU cache analysis problems are in general NP-complete.
Fichier principal
Vignette du fichier
main.pdf (649.41 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-01908648 , version 1 (31-10-2018)
hal-01908648 , version 2 (18-12-2018)

Identifiants

Citer

Claire Maïza, Valentin Touzeau, David Monniaux, Jan Reineke. Fast and exact analysis for LRU caches. Proceedings of the ACM on Programming Languages, 2019, 3 (POPL), pp.#54. ⟨10.1145/3290367⟩. ⟨hal-01908648v2⟩
314 Consultations
348 Téléchargements

Altmetric

Partager

More