Optimizing compilers implement program transformation strategies aimed at reducing data movement to or from main memory by exploiting the data-cache hierarchy. However, instead of attempting to minimize the number of cache misses, very approximate cost models are used, due to the lack of precise compile-time models for misses for hierarchical caches. The current state of practice for cache miss analysis is based on accurate simulation. However, simulation requires time proportional to the dataset/problem size, as well as the number of distinct cache conigurations of interest to be evaluated. This paper takes a fundamentally diferent approach, by focusing on polyhedral programs with static control low. Instead of relying on costly simulation, a closed-form solution for modeling of misses in a set-associative cache hierarchy is developed. This solution can enable program transformation choice at compile time to optimize cache misses. A tool implementing the approach has been developed and used for validation of the framework.
Bao et al. proposed analytical modeling of cache behavior by focusing on the SCoP of polyhedral programs REF .
Analytical modeling of cache behavior for affine programs
PACMPL
Computer Science