TY - GEN
T1 - Cache miss clustering for banked memory systems
AU - Ozturk, O.
AU - Chen, G.
AU - Kandemir, M.
AU - Karakoy, M.
PY - 2006
Y1 - 2006
N2 - One of the previously-proposed techniques for reducing memory energy consumption is memory banking. The idea is to divide the memory space into multiple banks and place currently unused (idle) banks into a low-power operating mode. The prior studies - both hardware and software domain - in memory energy optimization via low-power modes do not take the data cache behavior explicitly into account. As a consequence, the energy savings achieved by these techniques can be unpredictable due to dynamic cache behavior at runtime. The main contribution of this paper is a compiler optimization, called the bank-aware cache miss clustering, that increases idle durations of memory banks, and as a result, enables better exploitation of available low-power capabilities supported by the memory system. This is because clustering cache misses helps to cluster cache hits as well, and this in turn increases bank idleness. We implemented our cache miss clustering approach within a compilation framework and tested it using seven array-intensive application codes. Our experiments show that cache miss clustering saves significant memory energy as a result of increased idle periods of memory banks.
AB - One of the previously-proposed techniques for reducing memory energy consumption is memory banking. The idea is to divide the memory space into multiple banks and place currently unused (idle) banks into a low-power operating mode. The prior studies - both hardware and software domain - in memory energy optimization via low-power modes do not take the data cache behavior explicitly into account. As a consequence, the energy savings achieved by these techniques can be unpredictable due to dynamic cache behavior at runtime. The main contribution of this paper is a compiler optimization, called the bank-aware cache miss clustering, that increases idle durations of memory banks, and as a result, enables better exploitation of available low-power capabilities supported by the memory system. This is because clustering cache misses helps to cluster cache hits as well, and this in turn increases bank idleness. We implemented our cache miss clustering approach within a compilation framework and tested it using seven array-intensive application codes. Our experiments show that cache miss clustering saves significant memory energy as a result of increased idle periods of memory banks.
UR - http://www.scopus.com/inward/record.url?scp=46149120590&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=46149120590&partnerID=8YFLogxK
U2 - 10.1109/ICCAD.2006.320143
DO - 10.1109/ICCAD.2006.320143
M3 - Conference contribution
AN - SCOPUS:46149120590
SN - 1595933891
SN - 9781595933898
T3 - IEEE/ACM International Conference on Computer-Aided Design, Digest of Technical Papers, ICCAD
SP - 244
EP - 250
BT - Proceedings of the 2006 International Conference on Computer-Aided Design, ICCAD
T2 - 2006 International Conference on Computer-Aided Design, ICCAD
Y2 - 5 November 2006 through 9 November 2006
ER -