Issue No. 06 - June (2004 vol. 15)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TPDS.2004.13
Kai Li , IEEE
Yuanyuan Zhou , IEEE
<p><b>Abstract</b>—Buffer caches are commonly used in servers to reduce the number of slow disk accesses or network messages. These buffer caches form a multilevel buffer cache hierarchy. In such a hierarchy, second-level buffer caches have different access patterns from first-level buffer caches because accesses to a second-level are actually <it>misses</it> from a first-level. Therefore, commonly used cache management algorithms such as the Least Recently Used (LRU) replacement algorithm that work well for single-level buffer caches may not work well for second-level. This paper investigates multiple approaches to effectively manage second-level buffer caches. In particular, it reports our research results in 1) second-level buffer cache access pattern characterization, 2) a new local algorithm called Multi-Queue (MQ) that performs better than nine tested alternative algorithms for second-level buffer caches, 3) a set of global algorithms that manage a multilevel buffer cache hierarchy globally and significantly improve second-level buffer cache hit ratios over corresponding local algorithms, and 4) implementation and evaluation of these algorithms in a real storage system connected with commercial database servers (Microsoft SQL Server and Oracle) running industrial-strength online transaction processing benchmarks.</p>
Cache memories, storage hierarchy, storage management.
Kai Li, Zhifeng Chen, Yuanyuan Zhou, "Second-Level Buffer Cache Management", IEEE Transactions on Parallel & Distributed Systems, vol. 15, no. , pp. 505-519, June 2004, doi:10.1109/TPDS.2004.13