Information Technology Reference
In-Depth Information
controller since all tags remain active at all times. In both cases, the relevant data are moved out
of the disabled way—temporarily enabled for this purpose—and moved to an enabled way. 8
Feedback control: Software : Albonesi puts the burden of deciding the appropriate cache
configuration on software. First, a threshold for the tolerated performance degradation (called
PDT) is established. Any cache configuration that crosses this threshold is not allowed. Per-
formance evaluation tools can then predict how many cache ways an application really needs so
as not to lose more performance than what can be tolerated.
However, no attempt is made to evaluate this software-driven strategy. Instead, the
evaluation in the paper exhaustively examines all configurations for various cache sizes and
PDTs for a subset of the SPEC and reports the results. For energy savings, the combined
energy of the selective ways L1 and of the L2 must be taken into account. Examining the L1 in
isolation might give the wrong picture, since the increase in L2 energy can outpace the savings
in the L1. Indeed, in many programs, there is an inflection point in the energy curves. As more
and more ways are turned off, after a point, the combined L1/L2 energy consumption begins to
rise. The inflection point is specific to each program. Thus, the effectiveness of the technique
depends on how much of its cache a program can give up for a given level of performance
degradation.
4.8.3 Accounting Cache
Although the idea of selective cache ways has proven to be quite influential, lack of a convenient
mechanism to adapt to program needs at run-time limits its applicability. Profiling can be an
acceptable solution in some cases, for example, in embedded applications. This deficiency of
the initial proposal is addressed in the work of Dropsho et al. [ 68 , 9 ].
Their proposal, termed the accounting cache , is a cross between selective ways cache and
the proposals for a variable L1/L2 division. It takes its name from the run-time accounting
that drives its configuration. The accounting cache is a set-associative organization which—
similarly to the selective cache ways—can “disable” a number of its ways. The disabled ways,
however, are not inaccessible but simply activated in the case of a miss in the “enabled” ways.
Similarly to the proposals for variable L1/L2 division, the disabled ways form a “fake” L2, or
rather, a secondary, slower, L1. The enabled ways—the “primary group”—respond first, while
the disabled ways—the “secondary group”—respond only after a miss in the primary group.
The access protocol for the accounting cache guarantees an important property for its
replacements: that no matter what the division between the primary and the secondary group,
replacements follow a global (true) LRU order encompassing all of the ways in a set. This is
critical for the run-time accounting proposed in the paper.
8 In the case of a coherence action, the data could be simply discarded if not longer needed.
Search WWH ::




Custom Search