Decoupled zero-compressed memory

For each computer system generation, there are always applications or workloads for which the main memory size is the major limitation. On the other hand, in many cases, one could free a very significant portion of the memory space by storing data in a compressed form. Therefore, a hardware compressed memory is an attractive way to artificially increase the amount of data accessible in a reasonable delay. Among the data that are highly compressible are null data blocks. Previous work has shown that, on many applications null blocks represent a significant fraction of the working set resident in main memory. We propose to leverage this property through the use of a hardware compressed memory that only targets null data blocks, the decoupled zero-compressed memory, or DZC memory. Main memory is managed as a decoupled sectored cache with physical pages treated as sectors and 64-byte memory blocks treated as subblock. Null memory blocks are represented through a single bit, thus freeing physical memory space for the applications. Our experiments show that for many applications, the DZC memory allows to artificially enlarge the main memory, i.e. it reduces the effective physical memory size needed to accommodate the working set of an application without excessive page swapping. Moreover, through caching null memory blocks in the memory controller, the DZC memory also decreases the average access time to the main memory for many applications.

[1]  M. Ekman,et al.  A robust main-memory compression scheme , 2005, 32nd International Symposium on Computer Architecture (ISCA'05).

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

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

[4]  Steven K. Reinhardt,et al.  A unified compressed memory hierarchy , 2005, 11th International Symposium on High-Performance Computer Architecture.

[5]  David A. Wood,et al.  Frequent Pattern Compression: A Significance-Based Compression Scheme for L2 Caches , 2004 .

[6]  David A. Wood,et al.  Adaptive cache compression for high-performance processors , 2004, Proceedings. 31st Annual International Symposium on Computer Architecture, 2004..

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

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

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

[10]  Andreas Moshovos,et al.  Memory state compressors for giga-scale checkpoint/restore , 2005, 14th International Conference on Parallel Architectures and Compilation Techniques (PACT'05).

[11]  John T. Robinson,et al.  Parallel compression with cooperative dictionary construction , 1996, Proceedings of Data Compression Conference - DCC '96.

[12]  Kathryn S. McKinley,et al.  Z-rays: divide arrays and conquer speed and flexibility , 2010, PLDI '10.

[13]  Mahmut T. Kandemir,et al.  Heap compression for memory-constrained Java environments , 2003, OOPSLA.

[14]  Alair Pereira do Lago,et al.  Adaptive compressed caching: design and implementation , 2003, Proceedings. 15th Symposium on Computer Architecture and High Performance Computing.

[15]  Jang-Soo Lee,et al.  A selective compressed memory system by on-line data decompressing , 1999, Proceedings 25th EUROMICRO Conference. Informatics: Theory and Practice for the New Millennium.

[16]  John T. Robinson,et al.  On internal organization in compressed random-access memories , 2001, IBM J. Res. Dev..

[17]  Jordi Torres,et al.  Improving Web Server Performance Through Main Memory Compression , 2008, 2008 14th IEEE International Conference on Parallel and Distributed Systems.

[18]  André Seznec,et al.  Zero-content augmented caches , 2009, ICS '09.

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

[20]  André Seznec,et al.  Decoupled sectored caches: conciliating low tag implementation cost , 1994, ISCA '94.

[21]  Philip Heidelberger,et al.  Algorithms and data structures for compressed-memory machines , 2001, IBM J. Res. Dev..

[22]  Kathryn S. McKinley,et al.  No bit left behind: the limits of heap data compression , 2008, ISMM '08.