Competitive Cache Replacement Strategies for Shared Cache Environments

We investigate cache replacement algorithms (CRAs) at a cache shared by several processes under different multicore environments. For a single shared cache, our main result is the first CRA, GLOBAL-MAXIMA, for fixed interleaving under shared full knowledge [1], where any data can be accessed by any process, and each process has full knowledge about its future request sequence. We establish that GLOBAL-MAXIMA has competitive ratio within a constant factor of optimal. This answers the major open question in [1]. We also present RR-PROC-MARK, a CRA for the disjoint full knowledge case, which is very simple and efficient, and achieves a better competitive ratio than the algorithms in [2], [1]; it is in fact optimal except when the number of processes sharing the cache is small. We then consider a cache hierarchy, both for a single process and when shared by several processes. We present CRAs for three types of caching models commonly used at a higher level cache: inclusive, exclusive, and partially-inclusive, and we establish that several of our CRAs have optimal competitive ratio. Our results for a cache hierarchy are new even in the traditional no knowledge case and even for a single process.

[1]  Edward F. Grove,et al.  Application-controlled paging for a shared cache , 1995, Proceedings of IEEE 36th Annual Foundations of Computer Science.

[2]  Neal E. Young,et al.  Competitive paging and dual-guided on-line weighted caching and watching algorithms , 1992 .

[3]  Lyle A. McGeoch,et al.  A strongly competitive randomized paging algorithm , 1991, Algorithmica.

[4]  M. Luby,et al.  On ~ competitive algorithms for paging problems , 1991 .

[5]  Wen-Hann Wang,et al.  Retrospective: on the inclusion properties for multi-level cache hierarchies , 1998, ISCA 1998.

[6]  Norman P. Jouppi,et al.  Tradeoffs in two-level on-chip caching , 1994, ISCA '94.

[7]  Anoop Gupta,et al.  Design and evaluation of a compiler algorithm for prefetching , 1992, ASPLOS V.

[8]  Ken Kennedy,et al.  Software prefetching , 1991, ASPLOS IV.

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

[10]  Kai Li,et al.  Application-Controlled File Caching Policies , 1994, USENIX Summer.

[11]  Wen-Hann Wang,et al.  On the inclusion properties for multi-level cache hierarchies , 1988, ISCA '88.

[12]  Robert E. Tarjan,et al.  Amortized efficiency of list update and paging rules , 1985, CACM.

[13]  Allan Borodin,et al.  Online computation and competitive analysis , 1998 .

[14]  Avinatan Hassidim,et al.  Cache Replacement Policies for Multicore Processors , 2010, ICS.

[15]  Mohamed M. Zahran,et al.  Non-Inclusion Property in Multi-Level Caches Revisited , 2007, Int. J. Comput. Their Appl..

[16]  Andrew Chi-Chih Yao,et al.  Probabilistic computations: Toward a unified measure of complexity , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[17]  Amos Fiat,et al.  Competitive Paging Algorithms , 1991, J. Algorithms.

[18]  Wolfgang E. Nagel,et al.  Comparing cache architectures and coherency protocols on x86-64 multicore SMP systems , 2009, 2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[19]  Edward F. Grove,et al.  Application-Controlled Paging for a Shared Cache , 2000, SIAM J. Comput..

[20]  Allan Borodin,et al.  Competitive paging with locality of reference , 1991, STOC '91.

[21]  Vijaya Ramachandran,et al.  Oblivious algorithms for multicores and network of processors , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS).

[22]  Alejandro López-Ortiz,et al.  Brief announcement: paging for multicore processors , 2011, SPAA '11.

[23]  Anil Kumar Katti,et al.  Competitive cache replacement strategies for a shared cache , 2011 .