LRFU: A spectrum of policies that subsumes the least recently used and least frequently used policies

Donghee Lee, Jongmoo Choi, Jong Hun Kim, Sam H. Noh, Sang Lyul Min, Yookun Cho, Chong Sang Kim

Research output: Contribution to journalArticlepeer-review

466 Scopus citations

Abstract

Efficient and effective buffering of disk blocks in main memory is critical for better file system performance due to a wide speed gap between main memory and hard disks. In such a buffering system, one of the most important design decisions is the block replacement policy that determines which disk block to replace when the buffer is full. In this paper, we show that there exists a spectrum of block replacement policies that subsumes the two seemingly unrelated and independent Least Recently Used (LRU) and Least Frequently Used (LFU) policies. The spectrum is called the LRFU (Least Recently/Frequently Used) policy and is formed by how much more weight we give to the recent history than to the older history. We also show that there is a spectrum of implementations of the LRFU that again subsumes the LRU and LFU implementations. This spectrum is again dictated by how much weight is given to recent and older histories and the time complexity of the implementations lies between O(1) (the time complexity of LRU) and O(log 2 n) (the time complexity of LFU), where n is the number of blocks in the buffer. Experimental results from trace-driven simulations show that the performance of the LRFU is at least competitive with that of previously known policies for the workloads we considered.

Original languageEnglish
Pages (from-to)1352-1361
Number of pages10
JournalIEEE Transactions on Computers
Volume50
Issue number12
DOIs
StatePublished - Dec 2001

Keywords

  • Buffer cache
  • LFU
  • LRU
  • Replacement policy
  • Trace-driven simulation

Fingerprint

Dive into the research topics of 'LRFU: A spectrum of policies that subsumes the least recently used and least frequently used policies'. Together they form a unique fingerprint.

Cite this