RACE: A Robust Adaptive Caching Strategy for Buffer Cache

Although many block replacement algorithms for buffer caches have been proposed to address the well-known drawbacks of the LRU algorithm, they are not robust and cannot maintain a consistent performance improvement over all workloads. This paper proposes a novel and simple replacement scheme, called the Robust Adaptive buffer Cache management schemE (RACE), which differentiates the locality of I/O streams by actively detecting access patterns that are inherently exhibited in two correlated spaces, that is, the discrete block space of program contexts from which I/O requests are issued and the continuous block space within files to which I/O requests are addressed. This scheme combines the global I/O regularities of an application and the local I/O regularities of individual files that are accessed in that application to accurately estimate the locality strength, which is crucial in deciding which blocks are to be replaced upon a cache miss. Through comprehensive simulations on 10 real-application traces, RACE is shown to have higher hit ratios than LRU and all other state-of-the-art cache management schemes studied in this paper.

[1]  John L. Hennessy,et al.  WSCLOCK—a simple and effective algorithm for virtual memory management , 1981, SOSP.

[2]  Thomas Gross,et al.  Combining the concepts of compression and caching for a two-level filesystem , 1991 .

[3]  Sang Lyul Min,et al.  A low-overhead high-performance unified buffer management scheme that exploits sequential and looping references , 2000, OSDI.

[4]  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.

[5]  Anna R. Karlin,et al.  Implementation and performance of integrated application-controlled file caching, prefetching, and disk scheduling , 1996, TOCS.

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

[7]  Feng Zhou,et al.  AMP: Program Context Specific Buffer Caching , 2005, USENIX Annual Technical Conference, General Track.

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

[9]  Jim Zelenka,et al.  Informed prefetching and caching , 1995, SOSP.

[10]  Jeffrey R. Spirn,et al.  Program Behavior: Models and Measurements , 1977 .

[11]  Song Jiang,et al.  CLOCK-Pro: An Effective Improvement of the CLOCK Replacement , 2005, USENIX ATC, General Track.

[12]  Y. Charlie Hu,et al.  Program counter-based prediction techniques for dynamic power management , 2006, IEEE Transactions on Computers.

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

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

[15]  Y. Charlie Hu,et al.  The Performance Impact of Kernel Prefetching on Buffer Cache Replacement Algorithms , 2005, IEEE Transactions on Computers.

[16]  Alan Jay Smith Analysis of the Optimal, Look-Ahead Demand Paging Algorithms , 1976, SIAM J. Comput..

[17]  Udi Manber,et al.  GLIMPSE: A Tool to Search Through Entire File Systems , 1994, USENIX Winter.

[18]  Chun Zhang,et al.  Storing and querying ordered XML using a relational database system , 2002, SIGMOD '02.

[19]  Tao Yang,et al.  An Efficient Data Location Protocol for Self.organizing Storage Clusters , 2003, ACM/IEEE SC 2003 Conference (SC'03).

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

[21]  Y. Charlie Hu,et al.  Program-Counter-Based Pattern Classification in Buffer Caching , 2004, OSDI.

[22]  Song Jiang,et al.  Making LRU friendly to weak locality workloads: a novel replacement algorithm to improve buffer cache performance , 2005, IEEE Transactions on Computers.

[23]  Nimrod Megiddo,et al.  Outperforming LRU with an adaptive replacement cache algorithm , 2004, Computer.

[24]  E. Myers,et al.  Basic local alignment search tool. , 1990, Journal of molecular biology.

[25]  Rick Floyd Short-Term File Reference Patterns in a UNIX Environment, , 1986 .

[26]  Andrew S. Tanenbaum,et al.  Operating systems: design and implementation , 1987, Prentice-Hall software series.

[27]  Dharmendra S. Modha,et al.  CAR: Clock with Adaptive Replacement , 2004, FAST.

[28]  Gerhard Weikum,et al.  The LRU-K page replacement algorithm for database disk buffering , 1993, SIGMOD Conference.

[29]  Nimrod Megiddo,et al.  One Up on LRU , 2003, login Usenix Mag..

[30]  Dennis Shasha,et al.  2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm , 1994, VLDB.

[31]  Laszlo A. Belady,et al.  A Study of Replacement Algorithms for Virtual-Storage Computer , 1966, IBM Syst. J..

[32]  Kai Li,et al.  Application-Controlled File Caching Policies , 1994, USENIX Summer.

[33]  Daniel A. Reed,et al.  Learning to Classify Parallel Input/Output Access Patterns , 2002, IEEE Trans. Parallel Distributed Syst..

[34]  Maurice J. Bach The Design of the UNIX Operating System , 1986 .

[35]  Carl Hudson Staelin,et al.  High-performance file system design , 1992 .

[36]  Harold S. Stone,et al.  Improving Disk Cache Hit-Ratios Through Cache Partitioning , 1992, IEEE Trans. Computers.

[37]  Yuanyuan Zhou,et al.  The Multi-Queue Replacement Algorithm for Second Level Buffer Caches , 2001, USENIX Annual Technical Conference, General Track.

[38]  Kimming So,et al.  Cache Operations by MRU Change , 1988, IEEE Trans. Computers.

[39]  Yutao Zhong,et al.  Predicting whole-program locality through reuse distance analysis , 2003, PLDI.

[40]  Todd C. Mowry,et al.  Compiler-based I/O prefetching for out-of-core applications , 2001, TOCS.

[41]  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.

[42]  Irving L. Traiger,et al.  Evaluation Techniques for Storage Hierarchies , 1970, IBM Syst. J..

[43]  Thomas L. Casavant,et al.  Three Complementary Approaches to Parallelization of Local BLAST Service on Workstation Clusters (invited paper) , 1999, PaCT.

[44]  Sang Lyul Min,et al.  An Implementation Study of a Detection-Based Adaptive Block Replacement Scheme , 1999, USENIX Annual Technical Conference, General Track.