TY - GEN
T1 - Compiler-guided data compression for reducing memory consumption of embedded applications
AU - Ozturk, O.
AU - Chen, G.
AU - Kandemir, M.
AU - Kolcu, I.
PY - 2006
Y1 - 2006
N2 - Memory system presents one of the critical challenges on embedded system design and optimization. This is mainly due to ever-increasing code complexity of embedded applications and exponential increase witnessed in the amount of data they manipulate. As a result, reducing memory space occupancy of embedded applications is very important and will be even more important in the next decade. Motivated by this observation, this paper presents and evaluates a compiler-driven approach to data compression for reducing memory space occupancy. Our goal in this paper is to study how automated compiler support can help in deciding the set of data elements to compress/decompress and the points during execution at which these compressions/decompressions should be performed. The proposed compiler support achieves this by analyzing the source code of the application to be optimized and identifying the order in which the different data blocks are accessed. Based on this analysis, the compiler then automatically inserts compression/decompression calls in the application code. The compression calls target the data blocks that are not expected to be used in the near future, whereas the decompression calls target those data blocks with expected reuse but currently in compressed form.
AB - Memory system presents one of the critical challenges on embedded system design and optimization. This is mainly due to ever-increasing code complexity of embedded applications and exponential increase witnessed in the amount of data they manipulate. As a result, reducing memory space occupancy of embedded applications is very important and will be even more important in the next decade. Motivated by this observation, this paper presents and evaluates a compiler-driven approach to data compression for reducing memory space occupancy. Our goal in this paper is to study how automated compiler support can help in deciding the set of data elements to compress/decompress and the points during execution at which these compressions/decompressions should be performed. The proposed compiler support achieves this by analyzing the source code of the application to be optimized and identifying the order in which the different data blocks are accessed. Based on this analysis, the compiler then automatically inserts compression/decompression calls in the application code. The compression calls target the data blocks that are not expected to be used in the near future, whereas the decompression calls target those data blocks with expected reuse but currently in compressed form.
UR - http://www.scopus.com/inward/record.url?scp=33748611301&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=33748611301&partnerID=8YFLogxK
U2 - 10.1145/1118299.1118485
DO - 10.1145/1118299.1118485
M3 - Conference contribution
AN - SCOPUS:33748611301
SN - 0780394518
SN - 9780780394513
T3 - Proceedings of the Asia and South Pacific Design Automation Conference, ASP-DAC
SP - 814
EP - 819
BT - Proceedings of the ASP-DAC 2006
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - ASP-DAC 2006: Asia and South Pacific Design Automation Conference 2006
Y2 - 24 January 2006 through 27 January 2006
ER -