TY - GEN
T1 - Selective main memory compression by identifying program phase changes
AU - Nakar, Doron
AU - Weiss, Shlomo
PY - 2004
Y1 - 2004
N2 - During a program's runtime, the stack and data segments of the main memory often contain much redundancy, which makes them good candidates for compression. Compression and decompression however require either extra hardware or substantial processing resources. This paper presents a new approach in which a mostly software solution is suggested but without the processing power penalty that usually accompanies such a solution. This is achieved by not compressing all the memory all of the time. The suggested method is to identify the current working set and to leave it uncompressed for faster access. Pages that are not in the working set may be compressed during the CPU's idle time. Also, 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.
AB - During a program's runtime, the stack and data segments of the main memory often contain much redundancy, which makes them good candidates for compression. Compression and decompression however require either extra hardware or substantial processing resources. This paper presents a new approach in which a mostly software solution is suggested but without the processing power penalty that usually accompanies such a solution. This is achieved by not compressing all the memory all of the time. The suggested method is to identify the current working set and to leave it uncompressed for faster access. Pages that are not in the working set may be compressed during the CPU's idle time. Also, 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.
UR - http://www.scopus.com/inward/record.url?scp=77954435383&partnerID=8YFLogxK
U2 - 10.1145/1054943.1054956
DO - 10.1145/1054943.1054956
M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.conference???
AN - SCOPUS:77954435383
SN - 159593040X
SN - 9781595930408
T3 - ACM International Conference Proceeding Series
SP - 96
EP - 101
BT - Proceedings of the 3rd Workshop on Memory Performance Issues, WMPI '04, in Conjunction with the 31st International Symposium on Computer Architecture
T2 - 3rd Workshop on Memory Performance Issues, WMPI '04, in Conjunction with the 31st International Symposium on Computer Architecture
Y2 - 20 June 2004 through 20 June 2004
ER -