Cache Memory: An Analysis on Replacement Algorithms and Optimization Techniques

Caching strategies can improve the overall performance of a system by allowing the fast processor and slow memory to at a same pace. One important factor in caching is the replacement policy. Advancement in technology results in evolution of a huge number of techniques and algorithms implemented to improve cache performance. In this paper, analysis is done on different cache optimization techniques as well as replacement algorithms. Furthermore this paper presents a comprehensive statistical comparison of cache optimization techniques.To the best of our knowledge there is no numerical measure which can tell us the rating of specific cache optimization technique. We tried to come up with such a numerical figure. By statistical comparison we find out which technique is more consistent among all others. For said purpose we calculated mean and CV (Coefficient of Variation). CV tells us about which technique is more consistent. Comparative analysis of different techniques shows that victim cache has more consistent technique among all.

[1]  Anant Agarwal,et al.  Column-associative caches: a technique for reducing the miss rate of direct-mapped caches , 1993, ISCA '93.

[2]  A. Varma,et al.  Selective victim caching: a method to improve the performance of direct-mapped caches , 1994, 1994 Proceedings of the Twenty-Seventh Hawaii International Conference on System Sciences.

[3]  Brian N. Bershad,et al.  Avoiding conflict misses dynamically in large direct-mapped caches , 1994, ASPLOS VI.

[4]  Dirk Grunwald,et al.  Predictive sequential associative cache , 1996, Proceedings. Second International Symposium on High-Performance Computer Architecture.

[5]  David J. Lilja,et al.  A Survey of Data Prefetching Techniques , 1999 .

[6]  Konstantinos Psounis,et al.  A randomized Web-cache replacement scheme , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

[7]  T. N. Vijaykumar,et al.  Reactive-associative caches , 2001, Proceedings 2001 International Conference on Parallel Architectures and Compilation Techniques.

[8]  Markus Kowarschik,et al.  An Overview of Cache Optimization Techniques and Cache-Aware Numerical Algorithms , 2002, Algorithms for Memory Hierarchies.

[9]  Arnold L. Rosenberg,et al.  Using the compiler to improve cache replacement decisions , 2002, Proceedings.International Conference on Parallel Architectures and Compilation Techniques.

[10]  Doug Burger,et al.  An adaptive, non-uniform cache structure for wire-delay dominated on-chip caches , 2002, ASPLOS X.

[11]  László Böszörményi,et al.  A survey of Web cache replacement strategies , 2003, CSUR.

[12]  Hironori Kasahara,et al.  Cache Optimization for Coarse Grain Task Parallel Processing Using Inter-Array Padding , 2003, LCPC.

[13]  Nimrod Megiddo,et al.  Outperforming LRU with an adaptive replacement cache algorithm , 2004, Computer.

[14]  A. Bhattacharjee,et al.  A new Web cache replacement algorithm , 2005, PACRIM. 2005 IEEE Pacific Rim Conference on Communications, Computers and signal Processing, 2005..

[15]  Subramanian Ramaswamy,et al.  Improving cache efficiency via resizing + remapping , 2007, 2007 25th International Conference on Computer Design.

[16]  Qufei Wang,et al.  Wlru cpu cache replacement algorithm , 2007 .

[17]  Y. Charlie Hu,et al.  The Performance Impact of Kernel Prefetching on Buffer Cache Replacement Algorithms , 2007, IEEE Trans. Computers.

[18]  Sri Parameswaran,et al.  Dueling CLOCK: Adaptive cache replacement policy based on the CLOCK algorithm , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[19]  David Eklov,et al.  Reducing Cache Pollution Through Detection and Elimination of Non-Temporal Memory Accesses , 2010, 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis.

[20]  C. Wilkerson,et al.  A Dueling Segmented LRU Replacement Algorithm with Adaptive Bypassing , 2010 .

[21]  Xiaoning Ding,et al.  ULCC: a user-level facility for optimizing shared cache performance on multicores , 2011, PPoPP '11.

[22]  Debabala Swain,et al.  AWRP: Adaptive Weight Ranking Policy for Improving Cache Performance , 2011, ArXiv.

[23]  Hasina Khatoon,et al.  Operating System-Aware Cache Optimization Techniques for Multi Core Processors , 2011, 2011 Frontiers of Information Technology.

[24]  Manish Purohit,et al.  A Comparison of Page Replacement Algorithms , 2011 .

[25]  Byeong Kil Lee,et al.  Fixed Segmented LRU cache replacement scheme with selective caching , 2012, 2012 IEEE 31st International Performance Computing and Communications Conference (IPCCC).

[26]  Aiman Abu Samra,et al.  Least recently plus five least frequently replacement policy (LR+5LF) , 2012, Int. Arab J. Inf. Technol..

[27]  Nathan Beckmann,et al.  Jigsaw: Scalable software-defined caches , 2013, Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques.

[28]  Ghanshyam Gagged,et al.  Survey on Hardware Based Advanced Technique for Cache Optimization for RISC Based System Architecture , 2013 .

[29]  Cheng-Chieh Huang,et al.  Increasing cache capacity via critical-words-only cache , 2014, 2014 IEEE 32nd International Conference on Computer Design (ICCD).

[30]  M. A. Shah,et al.  Cache Memory: An Analysis on Optimization Techniques , 2015 .