Selective main memory compression by identifying program phase changes

We present a new approach to main memory compression in which a mostly software solution is suggested but without the processing power penalty that usually accompanies such a solution. Compression is only performed during phases which exhibit good spatial locality. These phases are identified by detecting changes in the program's working set. By comparing the current working set's "signature" with the signature at the end of the previous instruction window, a difference parameter is calculated and, when the difference is low enough, the program is in a phase that exhibits good locality and thus compression may begin. Simulation results confirm that this new approach to main memory compression provides good compression ratios for most SPEC CPU2000 programs.

[1]  Xiaowei Shen,et al.  Performance of hardware compressed main memory , 2001, Proceedings HPCA Seventh International Symposium on High-Performance Computer Architecture.

[2]  Milos Prvulovic,et al.  Improving system performance with compressed memory , 2001, Proceedings 15th International Parallel and Distributed Processing Symposium. IPDPS 2001.

[3]  Jang-Soo Lee,et al.  Design and evaluation of a selective compressed memory system , 1999, Proceedings 1999 IEEE International Conference on Computer Design: VLSI in Computers and Processors (Cat. No.99CB37040).

[4]  Peter Deutsch,et al.  DEFLATE Compressed Data Format Specification version 1.3 , 1996, RFC.

[5]  Fred Douglis,et al.  The Compression Cache: Using On-line Compression to Extend Physical Memory , 1993, USENIX Winter.

[6]  Michael J. Freedman The Compression Cache: Virtual Memory Compression for Handheld Computers , 2000 .

[7]  Todd M. Austin,et al.  SimpleScalar: An Infrastructure for Computer System Modeling , 2002, Computer.

[8]  Russell W. Quong,et al.  The feasibility of using compression to increase memory system performance , 1994, Proceedings of International Workshop on Modeling, Analysis and Simulation of Computer and Telecommunication Systems.

[9]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[10]  S Jones,et al.  Performance evaluation of computer architectures with main memory data compression , 1999, J. Syst. Archit..

[11]  Nihar R. Mahapatra,et al.  The performance advantage of applying compression to the memory system , 2002, MSP/ISMM.

[12]  Yannis Smaragdakis,et al.  The Case for Compressed Caching in Virtual Memory Systems , 1999, USENIX Annual Technical Conference, General Track.

[13]  R. Brett Tremaine,et al.  Memory Expansion Technology (MXT): Competitive impact , 2001, IBM J. Res. Dev..

[14]  John L. Henning SPEC CPU2000: Measuring CPU Performance in the New Millennium , 2000, Computer.

[15]  Abraham Lempel,et al.  A universal algorithm for sequential data compression , 1977, IEEE Trans. Inf. Theory.

[16]  Michael E. Wazlowski,et al.  IBM Memory Expansion Technology (MXT) , 2001, IBM J. Res. Dev..