Karma: Know-It-All Replacement for a Multilevel Cache

Multilevel caching, common in many storage configurations, introduces new challenges to traditional cache management: data must be kept in the appropriate cache and replication avoided across the various cache levels. Some existing solutions focus on avoiding replication across the levels of the hierarchy, working well without information about temporal locality-information missing at all but the highest level of the hierarchy. Others use application hints to influence cache contents. We present Karma, a global non-centralized, dynamic and informed management policy for multiple levels of cache. Karma leverages application hints to make informed allocation and replacement decisions in all cache levels, preserving exclusive caching and adjusting to changes in access patterns. We show the superiority of Karma through comparison to existing solutions including LRU, 2Q, ARC, MultiQ, LRU-SP, and Demote, demonstrating better cache performance than all other solutions and up to 85% better performance than LRU on representative workloads.

[1]  Dharmendra S. Modha,et al.  SARC: Sequential Prefetching in Adaptive Replacement Cache , 2005, USENIX Annual Technical Conference, General Track.

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

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

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

[5]  Anastasia Ailamaki,et al.  A Case for Staged Database Systems , 2003, CIDR.

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

[7]  Margo I. Seltzer,et al.  File classification in self-* storage systems , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

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

[9]  Gregory R. Ganger,et al.  Track-Aligned Extents: Matching Access Patterns to Disk Drive Characteristics , 2002, FAST.

[10]  Ethan L. Miller,et al.  Design and management of globally distributed network caches , 2004 .

[11]  Kei Hiraki,et al.  Inter-reference gap distribution replacement: an improved replacement algorithm for set-associative caches , 2004, ICS '04.

[12]  David J. DeWitt,et al.  An evaluation of buffer management strategies for relational database systems , 1986, Algorithmica.

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

[14]  Andrea C. Arpaci-Dusseau,et al.  Semantically-Smart Disk Systems , 2003, FAST.

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

[16]  Diego R. Llanos Ferraris,et al.  TPCC-UVa: an open-source TPC-C implementation for parallel and distributed systems , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[17]  Margo I. Seltzer,et al.  File classification in self-* storage systems , 2004 .

[18]  Song Jiang,et al.  ULC: a file block placement and replacement protocol to effectively exploit hierarchical locality in multi-level buffer caches , 2004, 24th International Conference on Distributed Computing Systems, 2004. Proceedings..

[19]  James C. French,et al.  Extensible File Systems (ELFS): An Object-Oriented Approach to High Performance File I/O , 1994, OOPSLA.

[20]  Christos Faloutsos,et al.  Flexible buffer allocation based on marginal gains , 1991, SIGMOD '91.

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

[22]  Giovanni Maria Sacco,et al.  A Mechanism for Managing the Buffer Pool in a Relational Database System Using the Hot Set Model , 1982, VLDB.

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

[24]  Gregory R. Ganger,et al.  Freeblock Scheduling Outside of Disk Firmware , 2002, FAST.

[25]  Andrea C. Arpaci-Dusseau,et al.  Information and control in gray-box systems , 2001, SOSP.

[26]  Noam Rinetzky,et al.  Towards an object store , 2003, 20th IEEE/11th NASA Goddard Conference on Mass Storage Systems and Technologies, 2003. (MSST 2003). Proceedings..

[27]  Bruce Momjian,et al.  PostgreSQL: Introduction and Concepts , 2000 .

[28]  Giovanni Maria Sacco,et al.  Buffer management in relational database systems , 1986, TODS.

[29]  Anastasia Ailamaki,et al.  Lachesis: Robust Database Storage Management Based on Device-specific Performance Characteristics , 2003, VLDB.

[30]  Andrea C. Arpaci-Dusseau,et al.  Database-aware semantically-smart storage , 2005, FAST'05.

[31]  Michael Stonebraker,et al.  Operating system support for database management , 1981, CACM.

[32]  Sang Lyul Min,et al.  Towards application/file-level characterization of block references: a case for fine-grained buffer management , 2000, SIGMETRICS '00.

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

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

[35]  Peter Honeyman,et al.  Multi-level Caching in Distributed File Systems or Your cache ain't nuthin' but trash , 1992 .

[36]  Xiaoning Ding,et al.  DULO: an effective buffer cache management scheme to exploit both temporal and spatial locality , 2005, FAST'05.

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

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

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

[40]  Dharmendra S. Modha,et al.  WOW: wise ordering for writes - combining spatial and temporal locality in non-volatile caches , 2005, FAST'05.

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

[42]  Yuanyuan Zhou,et al.  Association Proceedings of the Third USENIX Conference on File and Storage Technologies San Francisco , CA , USA March 31 – April 2 , 2004 , 2004 .

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

[44]  Donald D. Chamberlin,et al.  Access Path Selection in a Relational Database Management System , 1989 .

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

[46]  Sanjeev Kumar,et al.  Dynamic tracking of page miss ratio curve for memory management , 2004, ASPLOS XI.

[47]  Scott A. Brandt,et al.  Adaptive Caching by Refetching , 2002, NIPS.

[48]  Aamer Sachedina,et al.  Second-tier cache management using write hints , 2005, FAST'05.