Set-associative cache simulation using generalized binomial trees
- 1 February 1995
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Computer Systems
- Vol. 13 (1) , 32-56
- https://doi.org/10.1145/200912.200918
Abstract
Set-associative caches are widely used in CPU memory hierarchies, I/O subsystems, and file systems to reduce average access times. This article proposes an efficient simulation technique for simulating a group of set-associative caches in a single pass through the address trace, where all caches have the same line size but varying associativities and varying number of sets. The article also introduces a generalization of the ordinary binomial tree and presents a representation of caches in this class using the Generalized Binomial Tree (gbt). The tree representation permits efficient search and update of the caches. Theoretically, the new algorithm, GBF_LS, based on the gbt structure, always takes fewer comparisons than the two earlier algorithms for the same class of caches: all-associativity and generalized forest simulation. Experimentally, the new algorithm shows performance gains in the range of 1.2 to 3.8 over the earlier algorithms on address traces of the SPEC benchmarks. A related algorithm for simulating multiple alternative direct-mapped caches with fixed cache size, but varying line size, is also presented.Keywords
This publication has 8 references indexed in Scilit:
- Evaluating associativity in CPU cachesIEEE Transactions on Computers, 1989
- Accurate low-cost methods for performance evaluation of cache memory systemsIEEE Transactions on Computers, 1988
- Disk cache—miss ratio analysis and design considerationsACM Transactions on Computer Systems, 1985
- Cache MemoriesACM Computing Surveys, 1982
- Efficient methods for calculating the success function of fixed-space replacement policiesPublished by Office of Scientific and Technical Information (OSTI) ,1981
- Two Methods for the Efficient Analysis of Memory Address Trace DataIEEE Transactions on Software Engineering, 1977
- LRU Stack ProcessingIBM Journal of Research and Development, 1975
- Evaluation techniques for storage hierarchiesIBM Systems Journal, 1970