Base Delta Immediate Compression potential judge the potential of compression using the standard – BDI algorithm, using a single base and multiple bases. Entropy analysis of symbols (at words and bytes granularity) using Zero Information Model and Markov Zeroth Order Model. Plot insightful histograms & plots of above trends Easily extendable for functions due to modular design. We were able to pass on this tool to another team working on cache compression and they were able to find it useful. We plan to open-source this tool shortly. We present some graphs generated using this tool in the Appendix B. Cache Contents Decomposition Using the above tool we were able to decompose the contents of each cache in the system across workloads. We identify that a major chunk of the cache contents for data caches fit within the limited set of patterns we defined in the previous section. This analysis suggests that any compression algorithm that tries to compress only these common patterns should be capable of significant compression. However, we also note that the cache composition varies throughout the test and decomposed snapshots reveal a varying trend. However, we note a consistent trend of >30% of the cache contents fitting within these patterns across workloads and test duration. These results are consistent with a similar analysis done in [2] Figure 6 L2 cache line decomposition for graph-analytics Cache Compression Algorithms Algorithms developed for the purpose of cache compression broadly fall into two categories - schemes - Most proposals in hardware cache or memory compression are hardware implementations of dictionary-based software compression algorithms. Such hardware
Base Delta Immediate Compression potential – judge the potential of compression using the standard BDI algorithm, using a single base and multiple bases. Entropy analysis of symbols (at words and bytes granularity) using Zero Information Model and Markov Zeroth Order Model. Plot insightful histograms & plots of above trends Easily extendable for functions due to modular design. We were able to pass on this tool to another team working on cache compression and they were able to find it useful. We plan to open-source this tool shortly. We present some graphs generated using this tool in the Appendix B. Cache Contents Decomposition Using the above tool we were able to decompose the contents of each cache in the system across workloads. We identify that a major chunk of the cache contents for data caches fit within the limited set of patterns we defined in the previous section. This analysis suggests that any compression algorithm that tries to compress only these common patterns should be capable of significant compression. However, we also note that the cache composition varies throughout the test and decomposed snapshots reveal a varying trend. However, we note a consistent trend of >30% of the cache contents fitting within these patterns across workloads and test duration. These results are consistent with a similar analysis done in [2] Figure 6 L2 cache line decomposition for graph-analytics Cache Compression Algorithms Algorithms developed for the purpose of cache compression broadly fall into two categories - schemes - Most proposals in hardware cache or memory compression are hardware implementations of dictionary-based software compression algorithms. Such hardware
Cache_Compression_Report.docx