Second-level buffer cache management

Yuanyuan Zhou, Zhifeng Chen, Kai Li

Research output: Contribution to journalArticlepeer-review

120 Scopus citations


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 misses 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.

Original languageEnglish (US)
Pages (from-to)505-519
Number of pages15
JournalIEEE Transactions on Parallel and Distributed Systems
Issue number6
StatePublished - Jun 2004

All Science Journal Classification (ASJC) codes

  • Signal Processing
  • Hardware and Architecture
  • Computational Theory and Mathematics


  • Cache memories
  • Storage hierarchy
  • Storage management


Dive into the research topics of 'Second-level buffer cache management'. Together they form a unique fingerprint.

Cite this