Adaptive Software Cache Management

Developing a silver bullet software cache management policy is a daunting task due to the variety of potential workloads. In this paper, we investigate an adaptivity mechanism for software cache management schemes which offer tuning parameters targeted at the frequency vs. recency bias in the workload. The goal is automatic tuning of the parameters for best performance based on the workload without any manual intervention. We study two approaches for this problem, a hill climbing solution and an indicator based solution. In hill climbing, we repeatedly reconfigure the system hoping to find its best setting. In the indicator approach, we estimate the workloads' frequency vs. recency bias and adjust the parameters accordingly in a single swoop. We apply these adaptive mechanisms to two recent software management schemes. We perform an extensive evaluation of the schemes and adaptation mechanisms over a large selection of workloads with varying characteristics. With these, we derive a parameterless software cache management policy that is competitive for all tested workloads.

[1]  Sejin Park,et al.  FRD: A Filtering based Buffer Cache Algorithm that Considers both Frequency and Reuse Distance , 2017 .

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

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

[4]  Martin F. Arlitt,et al.  Evaluating content management techniques for Web proxy caches , 2000, PERV.

[5]  Peter Desnoyers,et al.  Erasing Belady's Limitations: In Search of Flash Cache Offline Optimality , 2016, USENIX Annual Technical Conference.

[6]  Roy Friedman,et al.  TinyLFU: A Highly Efficient Cache Admission Policy , 2014, PDP.

[7]  Cheng Li,et al.  Pannier: Design and Analysis of a Container-Based Flash Cache for Compound Objects , 2017, ACM Trans. Storage.

[8]  David A. Patterson,et al.  Computer Architecture - A Quantitative Approach, 5th Edition , 1996 .

[9]  George Karakostas,et al.  Exploitation of different types of locality for Web caches , 2002, Proceedings ISCC 2002 Seventh International Symposium on Computers and Communications.

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

[11]  Martin F. Arlitt,et al.  Performance evaluation of Web proxy cache replacement policies , 1998, Perform. Evaluation.

[12]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[13]  Cong Li,et al.  DLIRS: Improving Low Inter-Reference Recency Set Cache Replacement Policy with Dynamics , 2018, SYSTOR.

[14]  Giri Narasimhan,et al.  Driving Cache Replacement with ML-based LeCaR , 2018, HotStorage.

[15]  Ramesh K. Sitaraman,et al.  AdaptSize: Orchestrating the Hot Object Memory Cache in a Content Delivery Network , 2017, NSDI.

[16]  Yossi Matias,et al.  Spectral bloom filters , 2003, SIGMOD '03.

[17]  Yannis Smaragdakis,et al.  Adaptive Caches: Effective Shaping of Cache Behavior to Workloads , 2006, 2006 39th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'06).

[18]  Peter Norvig,et al.  Artificial intelligence - a modern approach, 2nd Edition , 2003, Prentice Hall series in artificial intelligence.

[19]  Ludmila Cherkasova,et al.  Improving WWW Proxies Performance with Greedy-Dual- Size-Frequency Caching Policy , 1998 .

[20]  Abraham Silberschatz,et al.  Operating System Concepts , 1983 .

[21]  Michael J. Freedman,et al.  Hyperbolic Caching: Flexible Caching for Web Applications , 2017, USENIX ATC.

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

[23]  Dan Feng,et al.  Improving flash-based disk cache with Lazy Adaptive Replacement , 2013, 2013 IEEE 29th Symposium on Mass Storage Systems and Technologies (MSST).

[24]  Graham Cormode,et al.  An improved data stream summary: the count-min sketch and its applications , 2004, J. Algorithms.

[25]  Irfan Ahmad,et al.  Cache Modeling and Optimization using Miniature Simulations , 2017, USENIX Annual Technical Conference.

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

[27]  Neal E. Young,et al.  On-line caching as cache size varies , 1991, SODA '91.

[28]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .

[29]  Ivica Rimac,et al.  Caching Online Video , 2017, ACM Trans. Multim. Comput. Commun. Appl..

[30]  Guillaume Pierre,et al.  Wikipedia workload analysis for decentralized hosting , 2009, Comput. Networks.