The complexity gap in the static analysis of cache accesses grows if procedure calls are added
David Monniaux (VERIMAG - IMAG)

TL;DR
This paper investigates the increased complexity in static cache analysis when procedure calls are included, revealing a significant complexity gap for various cache replacement policies.
Contribution
It demonstrates that adding procedure calls raises the complexity of cache analysis from NP-complete to EXPTIME-complete for non-LRU policies, and provides algorithms for LRU analysis.
Findings
Analysis remains NP-complete for LRU with procedure calls.
Analysis becomes EXPTIME-complete for FIFO, PLRU, NMRU with procedure calls.
A backtracking algorithm for LRU cache analysis is proposed.
Abstract
The static analysis of cache accesses consists in correctly predicting which accesses are hits or misses. While there exist good exact and approximate analyses for caches implementing the least recently used (LRU) replacement policy, such analyses were harder to find for other replacement policies. A theoretical explanation was found: for an appropriate setting of analysis over control-flow graphs, cache analysis is PSPACE-complete for all common replacement policies (FIFO, PLRU, NMRU) except for LRU, for which it is only NP-complete. In this paper, we show that if procedure calls are added to the control flow, then the gap widens: analysis remains NP-complete for LRU, but becomes EXPTIME-complete for the three other policies. For this, we improve on earlier results on the complexity of reachability problems on Boolean programs with procedure calls. In addition, for the LRU policy we…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Parallel Computing and Optimization Techniques · Formal Methods in Verification
