Title: Program%20Phase%20Directed%20Dynamic%20Cache%20Way%20Reconfiguration
1Program Phase Directed Dynamic Cache Way
Reconfiguration
- Subhasis Banerjee
- Surendra G
- S.K.Nandy
- Presented by
- Xin Guan
- Mar. 29, 2010
2Outline
- Introduction to Program Phase
- Hardware Phase Detector
- Cache Reconfiguration
- Experiment Results
3Outline
- Introduction to Program Phase
- Hardware Phase Detector
- Cache Reconfiguration
- Experiment Results
3
4Program Phase
- What is Program Phase?
- Informally, a phase is a period of execution
whose characteristics are qualitatively different
from those of the neighboring periods. - How do we detect phases?
- Phase boundary
- Instruction Stream (eg, certain code sections)
- Data Stream (eg, data access pattern)
- Asynchronous external events (eg, incoming
message)
5Program Phase
Mpeg2decode phase profile in terms of IPC
(Instruction Per Clock), ROB (Reorder Buffer)
occupancy, Issue Rate
6Program Phase
- Conflict Miss
- Insufficient number of cache way
- Program locality generating conflict miss
patterns -
Increasing cache associativity does not gain much
performance improvements in some cases, so
reconfigure it to save power.
7Outline
- Introduction to Program Phase
- Hardware Phase Detector
- Cache Reconfiguration
- Experiment Results
7
8Hardware Phase Detector
Tag is used to identify the cache block during a
conflict miss. Counter is used to get the number
of times of conflict miss.
Cache Sets
01101000
23
9Hardware Phase Detector
Start to count at the beginning of every
interval
Cache Sets
1
10
Normalization
0
2
Interval Vector
15
3
4
0
23
5
14
6
0
7
10Hardware Phase Detector
11Hardware Phase Detector
If the minimum distance d3 lt threshold,
y
d1
d3
Same cluster
x
d2
12Hardware Phase Detector
Every cluster corresponds to a phase
Phase ID Phase vector Way Configuration
1 Geometric centroid of cluster 1 2 way set associative
2 Geometric centroid of cluster 2 4 way set associative
13Hardware Phase Detector
According to experiments, using threshold 1.1
most benchmarks exhibit 8 phases totally.
14Outline
- Introduction to Program Phase
- Hardware Phase Detector
- Cache Reconfiguration
- Experiment Results
14
15Phase Directed Reconfiguration
Way select signal enable/disable the pre-charge
and sense amp
The phase is fed into cache controller, which
decide the way configuration.
Way select signal
Every 2 million instructions, the internal vector
is calculated, and phase is found
16Phase Directed Reconfiguration
If miss rate is low enough, shut down one way to
save power
If miss rate is too high, enable one more way
17Disabled Cache Ways
- Coherency
- Valid cache block should be accessible for future
references. - Data residing in disabled cache ways should be
coherent when the disabled cache way is enabled
again. - 3 approaches.
- 1.Flush the disabled way.
- 2.Fill buffer.
- 3.Victim buffer.
18Disabled Cache Ways
Fill buffer can move the data in disabled way to
enabled way, with several penalty cycles.
x, y, z
19Disabled Cache Ways
Instead of moving data from disabled way to
enabled way, the data can be stored in a victim
buffer. This approach is adopted in this
implementation.
x, y, z
20Outline
- Introduction to Program Phase
- Hardware Phase Detector
- Cache Reconfiguration
- Experiment Results
20
21Experiment Results
22Experiment Results
23Experiment Results
24Experiment Results
Average Saving of 32 of L1 data cache power with
almost negligible loss of performance.
25Conclusion
- Hardware Program Phase Detector
- Dynamic Cache Reconfiguration
- Saving average 32 power consumption with no
performance degradation
26Questions ?