Next: Bibliography
Up: The Multi-Queue Replacement Algorithm
Previous: Related Work
Conclusions
Our study of second level buffer cache access patterns has uncovered two
important insights. First, accesses to server buffer caches have
relatively long temporal distances, unlike those to client buffer
caches, which are much shorter. Second, access
frequencies are distributed unevenly; some blocks are accessed
significantly more often than others.
These two insights helped us identify three key properties that a good
server buffer cache replacement algorithm should possess: minimal
lifetime, frequency-based priority, and temporal frequency.
Known replacement algorithms such as LRU, MRU, LFU, FBR, LRU-2, LFRU,
and 2Q do not satisfy all three properties; however, our new
algorithm, Multi-Queue (MQ), does.
Our simulation results show that the MQ algorithm performs better than
other on-line algorithms and that it is robust for different workloads
and cache sizes. In particular, MQ performs substantially better than
the FBR algorithm which was the best algorithm in a previous
study [43]. In addition, another interesting result of
our study is that the 2Q algorithm, which does not perform as well as
other algorithms for single level buffer caches [14], outperforms
them for second level buffer caches, with the exception of MQ.
We have implemented the Multi-Queue and LRU algorithms on a storage
server using an Oracle 8i Enterprise Server as the client. The results of
the TPC-C benchmark on a 100 GBytes database show that the MQ
algorithm has much better hit ratios than LRU and improves the TPC-C
transaction rate by 8-12% over LRU. For LRU to achieve a similar
level of performance, the cache size needs to be doubled.
Our study has two limitations. First, we implemented only MQ and LRU
replacement algorithms on our storage system. It would be interesting
to compare these with other algorithms. Second, this paper assumes
that the only information an L2 buffer cache algorithm has is the
misses from the L1 buffer cache. It is conceivable that the L1 buffer
cache might pass hints to the L2 cache in addition to the misses
themselves. We have not explored this possibility.
Next: Bibliography
Up: The Multi-Queue Replacement Algorithm
Previous: Related Work
Yuanyuan Zhou
2001-04-29