1
Bloom Filtering Cache Misses for Accurate Data Speculation and Prefetching
Jih-Kwon Peir, Shih-Chang Lai, Shih-Lien Lu, Jared Stark, Konrad Lai peir@cise.ufl.edu Computer & Information Science and Engineering University of Florida
ICS’02 Peir
Bloom Filtering Cache Misses for Accurate Data Speculation and - - PowerPoint PPT Presentation
Bloom Filtering Cache Misses for Accurate Data Speculation and Prefetching Jih-Kwon Peir, Shih-Chang Lai, Shih-Lien Lu, Jared Stark, Konrad Lai peir@cise.ufl.edu Computer & Information Science and Engineering University of Florida 1
1
ICS’02 Peir
2
Minimum 3-cycle hit latency Speculative issue for hit Squashed / re-issued on miss (Total 3 cycles)
stall stall stall lw r1 <= 0(r2) add r3 <= r2, r1 issue register addgen mem1 mem2 hit/miss commit issue register execute commit
ICS’02 Peir
3
ICS’02 Peir
4
0.5 1 1.5 2 2.5 3 Bzip Gap Gcc Gzip Mcf Parser Perl Twolf Vortex Vpr Average IPC no data speculation perfect scheduler
ICS’02 Peir
5
ICS’02 Peir
6
ICS’02 Peir
7
Request Line Addr. Replaced Line Addr.
A1 A2 A3 A4 R1 R2 R3 R4
Cache Miss
BF1 BF4 BF2 BF3
Increment counter on cache miss Decrement counter on cache miss True if cache miss False likely cache hit
Guarantee miss! ICS’02 Peir
8
Requested Line Address
partial address (p bits) Tag Hit / Miss Detector Collision Detector
L1 Cache Tag
Set bit on cache miss
BF array
Index Reset bit on cache miss but no collision Partial Address (p-bits)
Collision? (yes/no) False, miss True, (may) hit
Guarantee miss! ICS’02 Peir
9
ICS’02 Peir
10
stall stall stall lw r1 <= 0(r2) add r3 <= r2, r1 issue register addgen mem1 mem2 hit/miss commit issue register execute commit BF Filtering
ICS’02 Peir
11
SCH REG AGN CA1 CA2 H/M BF L2 Access SCH REG EXE WRB CMT SCH REG EXE WRB CMT SCH
Load: Dependent: Independent:
(No Penalty) Filter miss, cancel dependents
ICS’02 Peir
12
SCH REG EXE WRB CMT Flush SCH REG EXE
Independent:
SCH WRB CMT Flush SCH REG EXE
Independent: 4-cycle penalty 2-cycle penalty
Load:
SCH REG EXE WRB CMT SCH REG AGN CA1 CA2 H/M BF L2 Access SCH REG EXE WRB CMT SCH SCH REG EXE Flush Flush Cache Miss (not filtered) Speculative Window
Dependent: Dependent: . ICS’02 Peir
13
SCH REG EXE WRB CMT SCH
Dependent: Filter miss cancel dependents
SCH REG AGN CA1 CA2 H/M BF L2 Access
Load:
SCH REG EXE WRB CMT
Filter miss trigger L2 access 2-cycle earlier
ICS’02 Peir
14
ICS’02 Peir
15
10 20 30 40 50 60 70 80 90 100
B z i p G a p G c c G z i p M c f P a r s e r P e r l T w
f V
t e x V p r A v e r a g e Cache Miss Filtering Rate (%)
Partition-3 Partial-1x Partial-4x Partial-16x Partial-64x
ICS’02 Peir
16
50 60 70 80 90 100
Counter-1 Counter-128 Counter-512 Counter-2048 Counter-8192 Always-hit Partition-3 Partial-1x Partial-4x Partial-16x Partial-64x Percentage Correct/Incorrect Incorrect-cancel Incorrect-delay Correct hit/miss
ICS’02 Peir
17
0.5 1 1.5 2 2.5 3
Bzip Gap Gcc Gzip Mcf Parser Perl Twolf Vortex Vpr Average IPC No-speculation Counter-1 Counter-2048 Always-hit Partition-3 Partial-16x Partial-16x-DP Perfetct-sch Perfect-sch-DP ICS’02 Peir
18
8 10 12 14 16 18 20
8KB 16KB 32KB 64KB
Cache Size
IPC Improvement (%)
Perfect-sch-DP Partial-16x-DP Partial-16x Always-hit
ICS’02 Peir
19
1 2 3 4 5 6 7 8 9 10
ruu32 ruu64 ruu128 Partial-16x Partial-16x-DP Partial-16x-perfect Partial-16x-DP-perfect IPC Improve over Always-Hit (%)
ICS’02 Peir
20
ICS’02 Peir