Abstract
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 language | English |
---|---|
Pages (from-to) | 827-838 |
Number of pages | 12 |
Journal | IEEE Transactions on Software Engineering |
Volume | 22 |
Issue number | 11 |
DOIs | |
State | Published - 1996 |
Keywords
- Cache
- Database performance
- LRU
- Memory hierarchy
- Stack depth processes