A New Flexible Multi-flow LRU Cache Management Paradigm for Minimizing Misses

The Least Recently Used (LRU) caching and its variants are used in large-scale data systems in order to provide high-speed data access for a wide class of applications. Nonetheless, a fundamental question still remains open: in order to minimize miss probabilities, how should the cache space be organized to serve multiple data flows? Commonly used strategies can be categorized into two designs: pooled LRU (PLRU) caching and separated LRU (SLRU) caching. However, neither of these designs can satisfactorily solve this problem. PLRU caching is easy to implement and self-adaptive, but does not often achieve optimal or even efficient performance because its set of feasible solutions are limited. SLRU caching can be statically configured to achieve optimal performance for stationary workload, which nevertheless could suffer in a dynamically changing environment and from a cold-start problem. To this end, we propose a new insertion based pooled LRU paradigm, termed I-PLRU, where data flows can be inserted at different positions of a pooled cache. This new design can achieve the optimal performance of the static SLRU, and retains the adaptability of PLRU in virtue of resource sharing. Theoretically, we characterize the asymptotic miss probabilities of I-PLRU, and prove that, for any given SLRU design, there always exists an I-PLRU configuration that achieves the same asymptotic miss probability, and vice versa. We next design a policy to minimize the miss probabilities. However, the miss probability minimization problem turns out to be non-convex under the I-PLRU paradigm. Notably, we utilize an equivalence mapping between I-PLRU and SLRU to efficiently find the optimal I-PLRU configuration. We prove that I-PLRU outperforms PLRU and achieves the same miss probability as the optimal SLRU for stationary workload. Engineeringly, the flexibility of I-PLRU avoids separating the memory space, supports dynamic and refined configurations, and alleviates the cold-start problem, potentially yielding better performance than both SLRU and PLRU.

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

[2]  Atilla Eryilmaz,et al.  Counterintuitive Characteristics of Optimal Distributed LRU Caching Over Unreliable Channels , 2019, IEEE INFOCOM 2019 - IEEE Conference on Computer Communications.

[3]  Yue Yang,et al.  Write Skew and Zipf Distribution: Evidence and Implications , 2016, TOS.

[4]  Ronald Fagin,et al.  Asymptotic Miss Ratios over Independent References , 1977, J. Comput. Syst. Sci..

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

[6]  Paul R. Wilson,et al.  Dynamic Storage Allocation: A Survey and Critical Review , 1995, IWMM.

[7]  Guocong Quan,et al.  Asymptotic Miss Ratio of LRU Caching with Consistent Hashing , 2018, IEEE INFOCOM 2018 - IEEE Conference on Computer Communications.

[8]  Takayuki Osogami,et al.  Analysis of Page Replacement Policies in the Fluid Limit , 2010, Oper. Res..

[9]  Benny Van Houdt,et al.  TTL approximations of the cache replacement algorithms LRU(m) and h-LRU , 2017, Perform. Evaluation.

[10]  Song Jiang,et al.  Workload analysis of a large-scale key-value store , 2012, SIGMETRICS '12.

[11]  Benny Van Houdt,et al.  Transient and steady-state regime of a family of list-based cache replacement algorithms , 2016, Queueing Syst. Theory Appl..

[12]  Muhammad Abdullah Awais,et al.  Memory Management: Challenges and Techniques for traditional Memory Allocation Algorithms in Relation with Today's Real Time Needs , 2016 .

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

[14]  Ronald Fagin,et al.  Cold-start vs. warm-start miss ratios , 1978, CACM.

[15]  P. Jelenkovic Asymptotic approximation of the move-to-front search cost distribution and least-recently used caching fault probabilities , 1999 .

[16]  Donald F. Towsley,et al.  On Allocating Cache Resources to Content Providers , 2016, ICN.

[17]  Alan L. Cox,et al.  GD-Wheel: a cost-aware replacement policy for key-value stores , 2015, EuroSys.

[18]  Guocong Quan,et al.  LRU Caching with Dependent Competing Requests , 2018, IEEE INFOCOM 2018 - IEEE Conference on Computer Communications.

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

[20]  Paul R. Wilson,et al.  The memory fragmentation problem: solved? , 1998, ISMM '98.

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

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

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

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

[25]  Ness B. Shroff,et al.  On Resource Pooling and Separation for LRU Caching , 2017, Proc. ACM Meas. Anal. Comput. Syst..

[26]  Predrag R. Jelenkovic,et al.  LRU Caching with Moderately Heavy Request Distributions , 2007, ANALCO.

[27]  Nathan Beckmann,et al.  LHD: Improving Cache Hit Rate by Maximizing Hit Density , 2018, NSDI.