PIN-Cache: An Effective Cache Scheme Designed for Application Performance Insulation

in shared storage environment, different types of applications share cache resources. The traditional cache management has two disadvantages. First, interference exists between applications that share one cache space, therefore, every application can't share cache resource fairly. Second, overall resource utilization is very low. To solve these problems, we design a cache management system - PIN-Cache, which adopts cache partition technology to handle cache resource sharing between applications. Every application owns an individual cache space respectively, thereby reducing interferences between applications with different access patterns. In order to verify the feasibility and effectiveness of PIN-Cache in real system, we implement it in Linux kernel as a pseudo device driver. In the system overhead test, the read performance of PIN-Cache is comparable to that of Linux page cache, while the write performance of PIN-Cache is much better than that of Linux page cache. The result validates effectiveness of implementation. In the performance insulation test, compared with Linux page cache, overall mean performance improves by up to 67% with an average 45%, and single performance improves by up to 136%. This shows that PIN-Cache could effectively achieve application performance insulation and reduce performance interferences between applications obviously. Moreover, in terms of cache gains, allocating reasonable capacity for every application improves overall performance effectively.

[1]  Remzi H. Arpaci-Dusseau,et al.  Storage-Aware Caching: Revisiting Caching for Heterogeneous Storage Systems , 2002, FAST.

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

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

[4]  Chengxiang Si,et al.  A Flexible Two-Layer Buffer Caching Scheme for Shared Storage Cache , 2009, 2009 11th IEEE International Conference on High Performance Computing and Communications.

[5]  Shlomo Moran,et al.  Predictive caching and prefetching of query results in search engines , 2003, WWW '03.

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

[7]  Chengxiang Si,et al.  BW-DCache: An Inexpensive, Effective and Reliable Cache Solution in a SAN File System , 2009, HPCS.

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

[9]  Christos Faloutsos,et al.  Flexible and Adaptable Buffer Management Techniques for Database Management Systems , 1995, IEEE Trans. Computers.

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

[11]  Meng Chang Chen,et al.  HiPEC: high performance external virtual memory caching , 1994, OSDI '94.

[12]  Peter J. Denning,et al.  Virtual memory , 1970, CSUR.

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

[14]  Chengxiang Si,et al.  P-Cache: Providing Prioritized Caching Service for Storage System , 2009, 2009 IEEE International Symposium on Parallel and Distributed Processing with Applications.

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

[16]  Gregory R. Ganger,et al.  Argon: Performance Insulation for Shared Storage Servers , 2007, FAST.

[17]  K. Kavi Cache Memories Cache Memories in Uniprocessors. Reading versus Writing. Improving Performance , 2022 .

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

[19]  Ali R. Butt,et al.  FlexiCache: a flexible interface for customizing Linux file system buffer cache replacement policies , 2007 .

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

[21]  Chengxiang Si,et al.  An Effective, Low-Overhead, Improved Replacement Algorithm for Mail Service Applications in Storage System , 2010, International Symposium on Parallel and Distributed Processing with Applications.

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

[23]  Xiaoming Han,et al.  A Replacement Algorithm Designed for the Web Search Engine and Its Application in Storage Cache , 2009, 2009 IEEE International Symposium on Parallel and Distributed Processing with Applications.