This Article 
 Bibliographic References 
 Add to: 
Hardware Compressed Main Memory: Operating System Support and Performance Evaluation
November 2001 (vol. 50 no. 11)
pp. 1219-1233

Abstract—A new memory subsystem, called Memory Xpansion Technology (MXT), has been built for compressing main memory contents. MXT effectively doubles the physically available memory transparently to the CPUs, input/output devices, device drivers, and application software. An average compression ratio of two or greater has been observed for many applications. Since compressibility of memory contents varies dynamically, the size of the memory managed by the operating system is not fixed. In this paper, we describe operating system techniques that can deal with such dynamically changing memory sizes. We also demonstrate the performance impact of memory compression using the SPEC CPU2000 and SPECweb99 benchmarks. Results show that the hardware compression of memory has a negligible performance penalty compared to a standard memory for many applications. For memory starved applications and benchmarks such as SPECweb99, memory compression improves the performance significantly. Results also show that the memory contents of many applications can be compressed, usually by a factor of two to one.

[1] W. Hovis et al., “Compression Architecture for System Memory Application,” US Patent 5812817, 1998.
[2] Red Hat TUX Web Server 2.0, tux/, 2001.
[3] B. Abali, H Franke, D.E. Poff, R.A. Saccone, C.O. Shulz, L.M. Herger, and T.B. Smith, “Memory Expansion Technology (MXT): Software Support and Performance,” IBM J. Research and Development, vol. 45, no. 2, 2001.
[4] B. Abali, H. Franke, D.E. Poff, X. Shen, and T.B. Smith, “Performance of Hardware Compressed Main Memory,” Proc. Int'l Symp. High Performance Computer Architecture (HPCA '01), pp. 73-81, Jan. 2001.
[5] S. Arramreddy, D. Har, K. Mak, T.B. Smith, B. Tremaine, and M. Wazlowski, “IBM X-Press Memory Compression Technology Debuts in a ServerWorks NorthBridge,” Proc. HOT Chips 12 Symp., Aug. 2000.
[6] P. Franaszek, P. Heidelberger, and M. Wazlowski, “Management of Free Space in Compressed Memory Systems,” Proc. ACM Sigmetrics, 1999.
[7] P. Franaszek and J. Robinson, “Design and Analysis of Internal Organizations For Compressed Random Access Memory,” IBM Research Report RC21146, IBM T.J. Watson Research Center, 1998.
[8] P. Franaszek, J. Robinson, and J. Thomas, “Parallel Compression with Cooperative Dictionary Construction,” Proc. IEEE Data Compression Conf. (DCC '96), pp. 200-209, June 1996.
[9] M. Kjelso, M. Gooch, and S. Jones, “Empirical Study of Memory Data: Characteristics and Compressibility,” Proc. IEEE Computer Digitital Technology, vol. 45, pp. 63-67, 1998.
[10] M. Kjelso, M. Gooch, and S. Jones, “Performance Evaluation of Computer Architecture with Main Memory Data Compression,” J. Systems Architecture, vol. 45, pp. 571-590, 1999.
[11] B. Tremaine, T.B. Smith, M. Wazlowski, D. Har, K. Mak, and S. Arramreddy, “Pinnacle: IBM MXT in a Memory Controller Chip,” IEEE Micro, vol. 22, no. 2, pp. 56-68, Mar./Apr. 2001.
[12] P. Wilson, S. Kaplan, and Y. Smaragdakis, “The Case for Compressed Caching in Virtual Memory Systems,” Proc. USENIX Ann. Technical Conf., 1999.

Index Terms:
Memory compression, memory management, memory and cache performance, webserver performance.
Bulent Abali, Mohammad Banikazemi, Xiaowei Shen, Hubertus Franke, Dan E. Poff, T. Basil Smith, "Hardware Compressed Main Memory: Operating System Support and Performance Evaluation," IEEE Transactions on Computers, vol. 50, no. 11, pp. 1219-1233, Nov. 2001, doi:10.1109/12.966496
Usage of this product signifies your acceptance of the Terms of Use.