GIT-CERCS-07-18
Subramanian Ramaswamy, Sudhakar Yalamanchili,
Improving Cache Efficiency via Resizing + Remapping
In this paper we propose techniques to dynamically downsize or upsize a
cache accompanied by cache set/line shutdown to produce efficient caches.
Unlike previous approaches, resizing is accompanied by a remapping of
memory into the upsized or downsized cache, thus avoiding misses to
sets/lines that are shut off. The paper first provides an analysis into
the causes of energy inefficiencies revealing a simple model for analyzing
energy efficient behavior. Based on this model we propose the concept of
"folding" - memory regions that normally map to disjoint cache resources
are combined to share one or more cache sets producing a new placement
function. Folding enables powering down cache sets at the expense of
possible increasing conflict misses. Effective folding heuristics can
substantially increase energy efficiency at the expense of acceptable
increase in execution time. We target the L2 cache because of its larger
size and greater energy consumption. Our techniques increase cache energy
efficiency by 20%, and reduce the EDP (energy delay product) by up to 45%
with an IPC degradation of less than 4%. The results also indicate
opportunity for improving cache efficiencies further via cooperative
compiler interactions.