Efficient cache resource aggregation using adaptive multi-level exclusive caching policies

Abstract Multi-level buffer cache hierarchies are now commonly seen in most client/server cluster configurations, especially in today’s big data application deployment. However, multi-level caching policies deployed so far typically use independent cache replacement algorithms in each level, which has two major drawbacks: (1) File blocks may be redundantly cached on multiple levels, reducing the actual aggregate cache usable size; (2) Less accurate replacement decisions at lower level caches due to weakened locality. Inefficient cache resource usage may result in noticeable performance degradation for big data applications. To address these problems, we propose new adaptive multi-level exclusive caching policies that can dynamically adjust replacement and placement decisions in response to changing access patterns. (1) First, to capture locality information in multi-level cache hierarchies, we propose a Reuse Distance based Adaptive Replacement Caching (ReDARC) algorithm that adopts reuse distance as the means of locality measure and adaptively balances between the Small Reuse Distance (SRD) set and Large Reuse Distance (LRD) set. (2) Second, to achieve exclusive caching and make global caching decisions, we propose an Adaptive Level-Aware Caching Algorithm (ALACA) that works collaboratively with ReDARC. The ALACA algorithm uses an adaptive probabilistic PUSH technique that allows lower caches to push blocks to higher caches and appropriately decide blocks’ caching locations with the ReDARC algorithm. In this way, we achieve multi-level exclusive caching with significant cache performance improvement. Our trace-driven simulation experiments show that the policies we proposed achieve a reduction of the client average response time of 8 percent to 56 percent over other multi-level cache schemes.

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

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

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

[4]  Andrea C. Arpaci-Dusseau,et al.  X-RAY: a non-invasive exclusive caching mechanism for RAIDs , 2004, Proceedings. 31st Annual International Symposium on Computer Architecture, 2004..

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

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

[7]  Song Jiang,et al.  Coordinated Multilevel Buffer Cache Management with Consistent Access Locality Quantification , 2007, IEEE Transactions on Computers.

[8]  Christian Engelmann,et al.  A unified multiple-level cache for high performance storage systems , 2007, Int. J. High Perform. Comput. Netw..

[9]  John Wilkes,et al.  My Cache or Yours? Making Storage More Exclusive , 2002, USENIX Annual Technical Conference, General Track.

[10]  Adrian Moga,et al.  High performing cache hierarchies for server workloads: Relaxing inclusion to capture the latency benefits of exclusive caches , 2015, 2015 IEEE 21st International Symposium on High Performance Computer Architecture (HPCA).

[11]  Binny S. Gill On Multi-level Exclusive Caching: Offline Optimality and Why Promotions Are Better Than Demotions , 2008, FAST.

[12]  Yuanyuan Zhou,et al.  Eviction-based Cache Placement for Storage Caches , 2003, USENIX Annual Technical Conference, General Track.

[13]  Chen Ding,et al.  Program locality analysis using reuse distance , 2009, TOPL.

[14]  Murali S. Kodialam,et al.  Frugal storage for cloud file systems , 2012, EuroSys '12.

[15]  Eunji Lee,et al.  Is Buffer Cache Still Effective for High Speed PCM (Phase Change Memory) Storage? , 2011, 2011 IEEE 17th International Conference on Parallel and Distributed Systems.

[16]  Mahmut T. Kandemir,et al.  Adaptive multi-level cache allocation in distributed storage architectures , 2010, ICS '10.

[17]  Yuanyuan Zhou,et al.  Second-level buffer cache management , 2004, IEEE Transactions on Parallel and Distributed Systems.

[18]  Yang Wang,et al.  SOPA: Selecting the optimal caching policy adaptively , 2010, TOS.

[19]  Tzi-cker Chiueh,et al.  An update-aware storage system for low-locality update-intensive workloads , 2012, ASPLOS XVII.

[20]  Eunji Lee,et al.  Eliminating Periodic Flush Overhead of File I/O with Non-Volatile Buffer Cache , 2016, IEEE Transactions on Computers.

[21]  Frank Piessens,et al.  A programming model for concurrent object-oriented programs , 2008, TOPL.

[22]  Kai Li,et al.  Management of Multilevel, Multiclient Cache Hierarchies with Application Hints , 2011, TOCS.

[23]  Thomas F. Wenisch,et al.  System-level implications of disaggregated memory , 2012, IEEE International Symposium on High-Performance Comp Architecture.

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

[25]  Mazen Kharbutli,et al.  LACS: A Locality-Aware Cost-Sensitive Cache Replacement Algorithm , 2014, IEEE Transactions on Computers.

[26]  Yan Zhang,et al.  Empirical evaluation of multi-level buffer cache collaboration for storage systems , 2005, SIGMETRICS '05.

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

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

[29]  Onur Mutlu,et al.  Enabling Efficient and Scalable Hybrid Memories Using Fine-Granularity DRAM Cache Management , 2012, IEEE Computer Architecture Letters.

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

[31]  Wenzhi Chen,et al.  AMC: an adaptive multi‐level cache algorithm in hybrid storage systems , 2015, Concurr. Comput. Pract. Exp..

[32]  Zhe Zhang,et al.  Memory resource allocation for file system prefetching: from a supply chain management perspective , 2009, EuroSys '09.

[33]  Mahmut T. Kandemir,et al.  Computation mapping for multi-level storage cache hierarchies , 2010, HPDC '10.

[34]  Shin-Dug Kim,et al.  A Unified Buffering Management with Set Divisible Cache for PCM Main Memory , 2016, Journal of Computer Science and Technology.

[35]  Vivek S. Pai,et al.  SSDAlloc: Hybrid SSD/RAM Memory Management Made Easy , 2011, NSDI.

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

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

[38]  Aamer Jaleel,et al.  High performance cache replacement using re-reference interval prediction (RRIP) , 2010, ISCA.

[39]  Lizy Kurian John,et al.  The virtual write queue: coordinating DRAM and last-level cache policies , 2010, ISCA.