General adaptive replacement policies

We propose a general scheme for creating adaptive replacement policies with good performance and strong theoretical guarantees. Specifically, we show how to combine any two existing replacement policies so that the resulting policy provably can never perform worse than either of the original policies by more than a small factor. To show that our scheme performs very well with real application data, we derive a virtual memory replacement policy that adapts between LRU, loop detection, LFU, and MRU-like replacement. The resulting policy often performs better than all of the policies it adapts over, as well as two other hand-tuned adaptive policies from the recent literature.

[1]  Robert E. Tarjan,et al.  Amortized efficiency of list update and paging rules , 1985, CACM.

[2]  Nimrod Megiddo,et al.  ARC: A Self-Tuning, Low Overhead Replacement Cache , 2003, FAST.

[3]  D. J. Howarth,et al.  Paging studies made on the I.C.T. Atlas , 1968, IFIP Congress.

[4]  J. T. Robinson,et al.  Data cache management using frequency-based replacement , 1990, SIGMETRICS '90.

[5]  Sang Lyul Min,et al.  LRFU: A Spectrum of Policies that Subsumes the Least Recently Used and Least Frequently Used Policies , 2001, IEEE Trans. Computers.

[6]  Pei Cao,et al.  Adaptive page replacement based on memory reference behavior , 1997, SIGMETRICS '97.

[7]  Sang Lyul Min,et al.  On the existence of a spectrum of policies that subsumes the least recently used (LRU) and least frequently used (LFU) policies , 1999, SIGMETRICS '99.

[8]  Yannis Smaragdakis,et al.  EELRU: simple and effective adaptive page replacement , 1999, SIGMETRICS '99.

[9]  Yannis Smaragdakis,et al.  The EELRU adaptive replacement algorithm , 2003, Perform. Evaluation.

[10]  Yannis Smaragdakis,et al.  Trace reduction for virtual memory simulations , 1999, SIGMETRICS '99.

[11]  Anna R. Karlin,et al.  Markov paging , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[12]  Jeffrey R. Spirn,et al.  Distance String Models for Program Behavior , 1976, Computer.

[13]  Henry M. Levy,et al.  Segmented FIFO page replacement , 1981, SIGMETRICS '81.

[14]  Pierre-Jacques Courtois,et al.  A decomposable model of program paging behaviour , 2004, Acta Informatica.

[15]  Alfred V. Aho,et al.  Principles of Optimal Page Replacement , 1971, J. ACM.

[16]  Mark A. Franklin,et al.  Computation of page fault probability from program transition diagram , 1974, CACM.

[17]  Hiroshi Muramatsu,et al.  Page replacement algorithm for large‐array manipulation , 1980, Softw. Pract. Exp..

[18]  Brian N. Bershad,et al.  Execution characteristics of desktop applications on Windows NT , 1998, ISCA.

[19]  Sang Lyul Min,et al.  Design, Implementation, and Performance Evaluation of a Detection-Based Adaptive Block Replacement Scheme , 2002, IEEE Trans. Computers.

[20]  Song Jiang,et al.  LIRS: an efficient low inter-reference recency set replacement policy to improve buffer cache performance , 2002, SIGMETRICS '02.