A Compiler Approach for Reducing Data Cache Energy

W. Zhang, M. Karakoy, Mahmut Kandemir, G. Chen

Research output: Contribution to conferencePaper

13 Citations (Scopus)

Abstract

Silicon technology advances have made it possible to pack millions of transistors - switching at high clock speeds - on a single chip. While these advances bring unprecedented performance to electronic products, they pose difficult power/energy consumption problems. For example, large number of transistors in dense on-chip cache memories consume significant static (leakage) power even if the cache is not used by the current computation. While previous compiler research studied code and data restructuring for improving data cache performance, to our knowledge, there is no compiler-based study that targets data cache leakage power consumption. In this paper, we present code restructuring techniques for array-based and pointer-intensive applications for reducing data cache energy consumption. The idea is to let the compiler to analyze the code and insert instructions that turn off cache lines that keep variables not used by the current computation. This turning off does not destroy contents of a cache line, and waking up the cache line incurs very little overhead. Due to data locality, we find that at a given time only a small portion of the data cache needs to be active; the remaining part can be placed into a leakage-saving mode (state); i.e., they can be turned off. Our preliminary results indicate that the proposed strategy reduces the cache energy consumption significantly. We also show that several compiler optimizations increase the effectiveness of our strategy.

Original languageEnglish (US)
Pages76-85
Number of pages10
StatePublished - Dec 1 2003
Event2003 International Conference on Supercomputing - San Francisco, CA, United States
Duration: Jun 23 2003Jun 26 2003

Other

Other2003 International Conference on Supercomputing
CountryUnited States
CitySan Francisco, CA
Period6/23/036/26/03

Fingerprint

Energy utilization
Transistors
Cache memory
Clocks
Electric power utilization
Silicon

All Science Journal Classification (ASJC) codes

  • Computer Science(all)

Cite this

Zhang, W., Karakoy, M., Kandemir, M., & Chen, G. (2003). A Compiler Approach for Reducing Data Cache Energy. 76-85. Paper presented at 2003 International Conference on Supercomputing, San Francisco, CA, United States.
Zhang, W. ; Karakoy, M. ; Kandemir, Mahmut ; Chen, G. / A Compiler Approach for Reducing Data Cache Energy. Paper presented at 2003 International Conference on Supercomputing, San Francisco, CA, United States.10 p.
@conference{31cb7fcd250544b0b1977ef974a0cf60,
title = "A Compiler Approach for Reducing Data Cache Energy",
abstract = "Silicon technology advances have made it possible to pack millions of transistors - switching at high clock speeds - on a single chip. While these advances bring unprecedented performance to electronic products, they pose difficult power/energy consumption problems. For example, large number of transistors in dense on-chip cache memories consume significant static (leakage) power even if the cache is not used by the current computation. While previous compiler research studied code and data restructuring for improving data cache performance, to our knowledge, there is no compiler-based study that targets data cache leakage power consumption. In this paper, we present code restructuring techniques for array-based and pointer-intensive applications for reducing data cache energy consumption. The idea is to let the compiler to analyze the code and insert instructions that turn off cache lines that keep variables not used by the current computation. This turning off does not destroy contents of a cache line, and waking up the cache line incurs very little overhead. Due to data locality, we find that at a given time only a small portion of the data cache needs to be active; the remaining part can be placed into a leakage-saving mode (state); i.e., they can be turned off. Our preliminary results indicate that the proposed strategy reduces the cache energy consumption significantly. We also show that several compiler optimizations increase the effectiveness of our strategy.",
author = "W. Zhang and M. Karakoy and Mahmut Kandemir and G. Chen",
year = "2003",
month = "12",
day = "1",
language = "English (US)",
pages = "76--85",
note = "2003 International Conference on Supercomputing ; Conference date: 23-06-2003 Through 26-06-2003",

}

Zhang, W, Karakoy, M, Kandemir, M & Chen, G 2003, 'A Compiler Approach for Reducing Data Cache Energy' Paper presented at 2003 International Conference on Supercomputing, San Francisco, CA, United States, 6/23/03 - 6/26/03, pp. 76-85.

A Compiler Approach for Reducing Data Cache Energy. / Zhang, W.; Karakoy, M.; Kandemir, Mahmut; Chen, G.

2003. 76-85 Paper presented at 2003 International Conference on Supercomputing, San Francisco, CA, United States.

Research output: Contribution to conferencePaper

TY - CONF

T1 - A Compiler Approach for Reducing Data Cache Energy

AU - Zhang, W.

AU - Karakoy, M.

AU - Kandemir, Mahmut

AU - Chen, G.

PY - 2003/12/1

Y1 - 2003/12/1

N2 - Silicon technology advances have made it possible to pack millions of transistors - switching at high clock speeds - on a single chip. While these advances bring unprecedented performance to electronic products, they pose difficult power/energy consumption problems. For example, large number of transistors in dense on-chip cache memories consume significant static (leakage) power even if the cache is not used by the current computation. While previous compiler research studied code and data restructuring for improving data cache performance, to our knowledge, there is no compiler-based study that targets data cache leakage power consumption. In this paper, we present code restructuring techniques for array-based and pointer-intensive applications for reducing data cache energy consumption. The idea is to let the compiler to analyze the code and insert instructions that turn off cache lines that keep variables not used by the current computation. This turning off does not destroy contents of a cache line, and waking up the cache line incurs very little overhead. Due to data locality, we find that at a given time only a small portion of the data cache needs to be active; the remaining part can be placed into a leakage-saving mode (state); i.e., they can be turned off. Our preliminary results indicate that the proposed strategy reduces the cache energy consumption significantly. We also show that several compiler optimizations increase the effectiveness of our strategy.

AB - Silicon technology advances have made it possible to pack millions of transistors - switching at high clock speeds - on a single chip. While these advances bring unprecedented performance to electronic products, they pose difficult power/energy consumption problems. For example, large number of transistors in dense on-chip cache memories consume significant static (leakage) power even if the cache is not used by the current computation. While previous compiler research studied code and data restructuring for improving data cache performance, to our knowledge, there is no compiler-based study that targets data cache leakage power consumption. In this paper, we present code restructuring techniques for array-based and pointer-intensive applications for reducing data cache energy consumption. The idea is to let the compiler to analyze the code and insert instructions that turn off cache lines that keep variables not used by the current computation. This turning off does not destroy contents of a cache line, and waking up the cache line incurs very little overhead. Due to data locality, we find that at a given time only a small portion of the data cache needs to be active; the remaining part can be placed into a leakage-saving mode (state); i.e., they can be turned off. Our preliminary results indicate that the proposed strategy reduces the cache energy consumption significantly. We also show that several compiler optimizations increase the effectiveness of our strategy.

UR - http://www.scopus.com/inward/record.url?scp=1142293068&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=1142293068&partnerID=8YFLogxK

M3 - Paper

SP - 76

EP - 85

ER -

Zhang W, Karakoy M, Kandemir M, Chen G. A Compiler Approach for Reducing Data Cache Energy. 2003. Paper presented at 2003 International Conference on Supercomputing, San Francisco, CA, United States.