Title :
Analytical modeling of set-associative cache behavior
Author :
Harper, John S. ; Kerbyson, Darren J. ; Nudd, Graham R.
Author_Institution :
Dept. of Comput. Sci., Warwick Univ., Coventry, UK
fDate :
10/1/1999 12:00:00 AM
Abstract :
Cache behavior is complex and inherently unstable, yet it is a critical factor affecting program performance. A method of evaluating cache performance is required, both to give quantitative predictions of miss-ratio and information to guide optimization of cache use. Traditional cache simulation gives accurate predictions of miss-ratio, but little to direct optimization, Also, the simulation time is usually far greater than the program execution time. Several analytical models have been developed, but concentrate mainly on direct-mapped caches, often for specific types of algorithm, or to give qualitative predictions. Novel analytical models of cache phenomena are presented, applicable to numerical codes consisting mostly of array operations in looping constructs. Set-associative caches are considered, through an extensive hierarchy of cache reuse and interference effects, including numerous forms of temporal and spatial locality. Models of each effect are given which, when combined, predict the overall miss-ratio. An advantage is that the models also indicate sources of cache interference. The accuracy of the models is validated through example program fragments. The predicted miss-ratios are compared with simulations and shown typically to be within 15 percent. The evaluation time of the models is shown to be independent of the problem size, generally several orders of magnitude faster than simulation
Keywords :
cache storage; distributed programming; software performance evaluation; storage management; analytical modeling; analytical models; array operations; cache interference; cache performance; cache phenomena; cache reuse; cache simulation; cache use; critical factor; direct-mapped caches; interference effects; looping constructs; numerical codes; predicted miss-ratios; program execution time; program fragments; program performance; qualitative predictions; quantitative predictions; set-associative cache behavior; simulation time; spatial locality; Analytical models; Clocks; Data analysis; Delay; Interference; Monitoring; Optimization methods; Performance analysis; Predictive models; Software performance;
Journal_Title :
Computers, IEEE Transactions on