Hotness-Based Policy (Hoff). Disabling a cold slice with a lower number of frequently
referenced cache lines to save leakage power would incur a lower number of
cache misses than powering off a hot slice. Thus, the Hoff policy selects the power-off
victims from the slices with the hotness (calculated by Equation (2)) less than a predefined
threshold, Hth. With less than Hth hotness, the increase in cache miss rate
would possibly be less than Hth when the slice is powered off. Among the cold power-off
victims, the slices with lower hotness are chosen to be turned off, with the restriction
that at most Noff slices are powered off at an epoch to avoid write bursts. A higher
Hth setting would turn off more cache slices to save power but also increase the performance
penalty. We analyze the impact of different Hth settings and find that an Hth
equal to 7.5% represents a good tradeoff for the system we evaluated.
5.2.3. Utilization+Hotness+Dirty-Aware Policy (UHDoff). As observed in Section 4, using the
utilization alone to determine the power state would lose some power-off opportunities
when the referenced cache lines are seldom reused. The hotness characteristic can
help to identify these seldom reused slices, and powering off these slices can further
reduce the leakage power. Moreover, with similar utilization and hotness, the slice with
fewer dirty cache lines would incur a lower writeback penalty before shutting down
the cache slice. Therefore, the UHDoff policy considers all three factors when deciding
when and which slice should be disabled to save power, as illustrated in Figure 10
and Algorithm 1. We first select the power-off victims from the slices with less than
Uth utilization (lines 6 to 13). If there is no low-utilization slice, we instead select the
power-off victims from the slices with less than Hth hotness (lines 14 to 23). Among
the power-off victims, at most Noff slices with fewer dirty cache lines are chosen to be
turned off (lines 25 to 32). In order to maintain the inclusion property, at least MinOn
slices stay at the power-on state to guarantee that the LLC size is larger than the upperlevel
caches. In this algorithm, we first consider turning off the low-utilization slices,
then the cold slices. The reason is that the utilization fails to capture the power-off
opportunity of the seldom reused slices for the workloads with large memory footprint,
while the hotness metric can help to identify these less frequently accessed slices, as
illustrated in Section 4. The dirty metric is then used to select the slice that incurs
lower writeback overhead. We analyze the impact of different threshold settings and
empirically set Uth=30%, Hth=7.5%, and Noff=4.