Issue No. 09 - September (1992 vol. 41)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/12.165388
<p>A model for studying the optimal allocation of cache memory among two or more competing processes is developed and used to show that, for the examples studied, the least recently used (LRU) replacement strategy produces cache allocations that are very close to optimal. It is also shown that when program behavior changes, LRU replacement moves quickly toward the steady-state allocation if it is far from optimal, but converges slowly as the allocation approaches the steady-state allocation. An efficient combinatorial algorithm for determining the optimal steady-state allocation, which, in theory, could be used to reduce the length of the transient, is described. The algorithm generalizes to multilevel cache memories. For multiprogrammed systems, a cache-replacement policy better than LRU replacement is given. The policy increases the memory available to the running process until the allocation reaches a threshold time beyond which the replacement policy does not increase the cache memory allocated to the running process.</p>
optimal partitioning; cache memory; optimal allocation; competing processes; least recently used; replacement strategy; cache allocations; program behavior; steady-state allocation; combinatorial algorithm; multilevel cache memories; multiprogrammed systems; cache-replacement policy; running process; threshold time; buffer storage; storage allocation.
H.S. Stone, J. Turek, J.L. Wolf, "Optimal Partitioning of Cache Memory", IEEE Transactions on Computers, vol. 41, no. , pp. 1054-1068, September 1992, doi:10.1109/12.165388