TY - GEN
T1 - Precise and efficient analysis of context-sensitive cache conflict sets
AU - Brandner, Florian
AU - Noûs, Camille
N1 - Publisher Copyright:
© 2020 ACM.
PY - 2020/6/9
Y1 - 2020/6/9
N2 - Bounding the Worst-Case Execution Time (WCET) of real-time software requires precise knowledge about the reachable program and hardware states that might be observed at runtime. The analysis of precise cache states is particularly important and challenging. Due to the high cost of cache misses the analysis precision may have an important impact on the obtainable WCET bounds, while the large state space of the cache's history leads to high analysis complexity. This work explores the use of cache summaries in order to optimize the computation of precise cache states. These cache summaries allow us to pre-compute the impact of executing a portion of a program, typically a function, on the cache state. This allows us, for instance, to skip the analysis of entire functions (including nested function calls) when the cache states within these functions are not relevant for the classification of memory accesses into hits/misses. Furthermore, the summaries can be extended to efficiently compute fully context-sensitive cache states. The summaries then not only allow to derive typical cache hit/miss classifications, but also provide fully context-sensitive cache persistence information.
AB - Bounding the Worst-Case Execution Time (WCET) of real-time software requires precise knowledge about the reachable program and hardware states that might be observed at runtime. The analysis of precise cache states is particularly important and challenging. Due to the high cost of cache misses the analysis precision may have an important impact on the obtainable WCET bounds, while the large state space of the cache's history leads to high analysis complexity. This work explores the use of cache summaries in order to optimize the computation of precise cache states. These cache summaries allow us to pre-compute the impact of executing a portion of a program, typically a function, on the cache state. This allows us, for instance, to skip the analysis of entire functions (including nested function calls) when the cache states within these functions are not relevant for the classification of memory accesses into hits/misses. Furthermore, the summaries can be extended to efficiently compute fully context-sensitive cache states. The summaries then not only allow to derive typical cache hit/miss classifications, but also provide fully context-sensitive cache persistence information.
KW - Cache analysis
KW - Cache summaries
KW - Conflict sets
KW - Lru cache replacement
KW - Worst-case execution time
U2 - 10.1145/3394810.3394811
DO - 10.1145/3394810.3394811
M3 - Conference contribution
AN - SCOPUS:85090998578
T3 - ACM International Conference Proceeding Series
SP - 44
EP - 55
BT - Proceedings of the 28th International Conference on Real-Time Networks and Systems, RTNS 2020
PB - Association for Computing Machinery
T2 - 28th International Conference on Real-Time Networks and Systems, RTNS 2020
Y2 - 10 June 2020
ER -