Program Phase Directed Dynamic Cache Way Reconfiguration
description
Transcript of Program Phase Directed Dynamic Cache Way Reconfiguration
![Page 1: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/1.jpg)
Program Phase Directed Dynamic Cache Way
ReconfigurationSubhasis BanerjeeSurendra GS.K.Nandy
Presented by:Xin GuanMar. 29, 2010
![Page 2: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/2.jpg)
OUTLINE Introduction to Program Phase
Hardware Phase Detector
Cache Reconfiguration
Experiment Results
2
![Page 3: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/3.jpg)
OUTLINE Introduction to Program Phase
Hardware Phase Detector
Cache Reconfiguration
Experiment Results
3
![Page 4: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/4.jpg)
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)
Program Phase
![Page 5: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/5.jpg)
Program Phase
Mpeg2decode phase profile in
terms of IPC (Instruction Per Clock), ROB
(Reorder Buffer) occupancy, Issue Rate
![Page 6: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/6.jpg)
Program 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.
![Page 7: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/7.jpg)
OUTLINE Introduction to Program Phase
Hardware Phase Detector
Cache Reconfiguration
Experiment Results
7
![Page 8: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/8.jpg)
Hardware Phase Detector Counter Array
Cache Sets
01101000 23
Tag is used to identify the cache
block during a conflict miss.
Counter is used to get the number of times
of conflict miss.
![Page 9: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/9.jpg)
Hardware Phase Detector Interval Vector
Cache Sets
#1 100
150
23140
#2#3#4#5#6#7…… ……
Normalization Interval Vector
Start to count at the beginning
of every interval
![Page 10: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/10.jpg)
Hardware Phase Detector Clustering
![Page 11: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/11.jpg)
Hardware Phase Detector Clustering
x
y
d1
d2
d3
If the minimum distance
d3 < threshold,
Same cluster
![Page 12: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/12.jpg)
Hardware Phase Detector Phase History Table
Every cluster corresponds
to a phase
Phase ID Phase vector
Way Configurati
on#1 Geometric
centroid of cluster 1
2 way set associative
#2 Geometric centroid of cluster 2
4 way set associative
![Page 13: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/13.jpg)
Hardware Phase Detector # of phases VS threshold
According to experiments,
using threshold 1.1 most
benchmarks exhibit 8 phases
totally.
![Page 14: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/14.jpg)
OUTLINE Introduction to Program Phase
Hardware Phase Detector
Cache Reconfiguration
Experiment Results
14
![Page 15: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/15.jpg)
Phase Directed Reconfiguration Architecture
Way selec
t signa
lEvery 2 million
instructions, the internal vector is calculated, and phase is
found
The phase is fed into cache
controller, which
decide the way
configuration.
Way select signal enable/disable the pre-charge and sense amp
![Page 16: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/16.jpg)
Phase Directed Reconfiguration Algorithm
If miss rate is too high,
enable one more way
If miss rate is low enough,
shut down one way to save
power
![Page 17: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/17.jpg)
Disabled 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.
![Page 18: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/18.jpg)
Disabled Cache Ways Fill Buffer
Fill buffer can move the data in disabled way to enabled way, with several penalty
cycles.x, y, z
![Page 19: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/19.jpg)
Disabled Cache Ways Victim Buffer
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
![Page 20: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/20.jpg)
OUTLINE Introduction to Program Phase
Hardware Phase Detector
Cache Reconfiguration
Experiment Results
20
![Page 21: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/21.jpg)
Experiment Results
![Page 22: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/22.jpg)
Experiment Results
![Page 23: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/23.jpg)
Experiment Results
![Page 24: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/24.jpg)
Experiment Results
Average Saving of 32% of L1 data cache power with
almost negligible loss of performance.
![Page 25: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/25.jpg)
Conclusion Hardware Program Phase Detector
Dynamic Cache Reconfiguration
Saving average 32% power consumption with no performance degradation
![Page 26: Program Phase Directed Dynamic Cache Way Reconfiguration](https://reader035.fdocuments.us/reader035/viewer/2022081520/5681638c550346895dd48063/html5/thumbnails/26.jpg)
Questions ?