The cache assignment problem and its application to database buffer management

Hanoch Levy*, Ted G. Messinger, Robert J.T. Morris

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review


Given N request streams and L ≤ N LRU caches, the cache assignment problem asks to which cache each stream should be assigned in order to minimize the overall miss rate. An efficient solution to this problem is provided, based on characterizing each stream using the stack reference model and characterizing the interaction of the streams using a bursty stream model. It is shown that for Bernoulli (purely random) mixing of streams, the optimal cache assignment is to have one cache per stream. But in practice streams are mixed in a way that is much "burstier" than can be represented by the Bernoulli model. Therefore a method is presented for superposition of bursty streams. The performance of the methods developed for bursty stream superposition and cache assignment are tested using trace data obtained from the database system DB2. The resulting cache assignment recommendations are then applied to the DB2 system, and considerable performance improvement is found to result.

Original languageEnglish
Pages (from-to)827-838
Number of pages12
JournalIEEE Transactions on Software Engineering
Issue number11
StatePublished - 1996


  • Cache
  • Database performance
  • LRU
  • Memory hierarchy
  • Stack depth processes

Cite this