A Single-Pass Cache Simulation Methodology for Two-level Unified Caches
Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors
description
Transcript of Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors
![Page 1: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/1.jpg)
CCMMLLCCMMLL
Cache Vulnerability Cache Vulnerability Equations for Protecting Equations for Protecting
Data in Embedded Data in Embedded Processor Caches from Processor Caches from
Soft ErrorsSoft Errors†Aviral Shrivastava, €Jongeun Lee, †Reiley
Jeyapaul
†Compiler and Microarchitecture Lab, € High Performance Computing Lab, Arizona State University, USA UNIST, Ulsan, South Korea
LCTES 2010Stockholm, Sweden
04/22/231 http://www.public.asu.edu/~ashriva6
![Page 2: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/2.jpg)
CCMMLLCCMMLL
Phenomenon of Soft Phenomenon of Soft ErrorError
□ Transient Faults□ Random and spontaneous
bit-changes in system
□ Can be caused by□ Circuit noise□ Cross-talk
□ More than 50% due to radiation strike
04/22/232 http://www.public.asu.edu/~ashriva6
![Page 3: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/3.jpg)
CCMMLLCCMMLL
Masking EffectsMasking Effects• Logic Masking• Electrical Masking• Latching Window Masking• Microarchitectural
Masking• Software Masking
04/22/233 http://www.public.asu.edu/~ashriva6
![Page 4: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/4.jpg)
CCMMLLCCMMLL
Growing ProblemGrowing Problem
• Soft Error rate is currently about 1 per year• Increasing exponentially with technology scaling• Projected to become 1 per day in a decade
Will soon become a problem in earth-bound electronicsWill soon become a problem in earth-bound electronics
04/22/234 http://www.public.asu.edu/~ashriva6
![Page 5: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/5.jpg)
CCMMLLCCMMLL
Caches most Caches most vulnerablevulnerable
04/22/23 http://www.public.asu.edu/~ashriva65
• Temporal masking is very effective
• Caches occupy majority of chip-area
• Much higher % of transistors– More than 80% of the transistors
in Itanium 2 are in caches.
• Caches operated at low voltage levels for higher speed and low-power– Even low energy particles can
cause errors
• ECC is not enough– has high power and performance
overheads for L1 cache
– ECC used up in manufacturing error correction
![Page 6: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/6.jpg)
CCMMLLCCMMLL
Cache VulnerabilityCache Vulnerability
• A cache location is vulnerable if– It will be read by the processor, or it will be committed to memory– AND it is dirty
• Note: Non dirty data is not vulnerable– Can always re-read non-dirty data from lower level of memory
• Instantaneous (cache) Vulnerability (bytes) is the number of cache locations that are vulnerable [Mukherjee 2003]
• Total (cache) Vulnerability of a program (in bytes * cycles) is the summation of cache vulnerability in each cycle of program execution.
6 04/22/23 http://www.public.asu.edu/~ashriva6
R W R R RCE CE
Time
W
![Page 7: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/7.jpg)
CCMMLLCCMMLL
Existing SchemesExisting Schemes• Hardened memory cells
– 8T, 10T designs, add cross resistance• High power and performance overhead
• Error Correction Codes– Single Error Correction, and Double Error Detection (SECDED)
– Need log2n bits to protect n-bits
– Most popular, but high overhead for L1 cache• Increase power consumption by >25% [Phelan 2003]
– ECC used up in covering manufacturing defects
• Write-through cache– Zero vulnerability, but high cache-memory traffic
• Periodically write-back all dirty lines– Simple, but not very smart. Less protection for high overhead.
04/22/23 http://www.public.asu.edu/~ashriva67
Need Efficient technique for Vulnerability Reduction
Need Efficient technique for Vulnerability Reduction
![Page 8: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/8.jpg)
CCMMLLCCMMLL
Explore Compiler Explore Compiler TechniquesTechniques
• Need to reduce the amount of time, data is vulnerable in the cache
• Vulnerability depends on the access pattern of data
04/22/23 http://www.public.asu.edu/~ashriva68
for ( i : 0 ≤ i < N ) { for ( k : 0 ≤ k < N ) { for ( j : 0 ≤ j < N ) { A[i][k] += B[i][j] * C[j][k] } }}
for ( i : 0 ≤ i < N ) { for ( k : 0 ≤ k < N ) { for ( j : 0 ≤ j < N ) { A[i][k] += B[i][j] * C[j][k] } }}
Completely compute A[i][k] in the innermost
loop
Completely compute A[i][k] in the innermost
loop
for ( i : 0 ≤ i < N ) { for ( j : 0 ≤ j < N ) { for ( k : 0 ≤ k < N ) { A[i][k] += B[i][j] * C[j][k] } }}
for ( i : 0 ≤ i < N ) { for ( j : 0 ≤ j < N ) { for ( k : 0 ≤ k < N ) { A[i][k] += B[i][j] * C[j][k] } }}
Need A[i][k] across iterations of outermost
loop
Need A[i][k] across iterations of outermost
loop
Low Vulnerabilitybut also High Runtime
Low Vulnerabilitybut also High Runtime
![Page 9: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/9.jpg)
CCMMLLCCMMLL
MatMul Loop MatMul Loop InterchangeInterchange
9
Loop Interchange on Matrix Multiplication
Interesting configurations exist, with low vulnerability and low runtime.
Vulnerability trend not same as performance
9
Opportunities may exist to trade off little runtime for large savings in vulnerability
Opportunities may exist to trade off little runtime for large savings in vulnerability
96% variation in vulnerability for16% variation in runtime
04/22/23 http://www.public.asu.edu/~ashriva6
![Page 10: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/10.jpg)
CCMMLLCCMMLL
How to Exploit the How to Exploit the trade-off?trade-off?• Need to compute the vulnerability
– Can be done by simulation– Run the application with different data access patterns, and
pick the one with the least vulnerability
• May be applicable for extremely embedded systems• Runtime maybe an issue
– Some program run indefinitely
• Number of configurations to run is too large– E.g., Array padding
• How to scale the results to slightly different configuration
– E.g., increase cache size
04/22/23 http://www.public.asu.edu/~ashriva610
Need efficient method of computing vulnerabilityNeed efficient method of computing vulnerability
![Page 11: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/11.jpg)
CCMMLLCCMMLL
OutlineOutline• Growing threat of soft errors• Efficient techniques needed for L1
cache protection• Need efficient techniques to estimate
vulnerability• Cache Miss Equations• Vulnerability Calculations• Experiments
04/22/23 http://www.public.asu.edu/~ashriva611
![Page 12: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/12.jpg)
CCMMLLCCMMLL
Access and Cache Access and Cache SpaceSpace
k
j
i
(0,0,0)
i = 1
i = N(1,4,2)
Cache Space
m
n
line 2
(0,0)
Access Space:Access Space:Every point is an iteration of
the loop
for (i=0; i < N; i++) for (j=0; j < N; j++) for (k=0; k < N; k++) A[i][k] += B[i][j] * C[j][k] endFor endForendFor
for (i=0; i < N; i++) for (j=0; j < N; j++) for (k=0; k < N; k++) A[i][k] += B[i][j] * C[j][k] endFor endForendFor
MemAddr: MemAddr: Iteration Memory AddressAF(1,2,4) = C+N2+4N+2
Memory Space
x
y
C(4,2)
(0,0) N
N
CacheAddr: CacheAddr: Memory Address Cache
AddressCache Line = (MemAddr/L)
L: # lines in the cache
Reference & Access
![Page 13: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/13.jpg)
CCMMLLCCMMLL
Data ReuseData Reuse
k
j
i
(0,0,0)
i = 1
i = N
i1(0,4,2)
i2(1,4,2)
iN(N,4,2)
Access Space:Access Space:Every point is an iteration of
the loop
for (i=0; i < N; i++) for (j=0; j < N; j++) for (k=0; k < N; k++) A[i][k] += B[i][j] * C[j][k] endFor endForendFor
for (i=0; i < N; i++) for (j=0; j < N; j++) for (k=0; k < N; k++) A[i][k] += B[i][j] * C[j][k] endFor endForendFor
Data Space
x
y
C(4,2)
(0,0) N
N
• When the same data is accessed from iteration and iteration , we say, there is data reuse in direction
1i
2i
12 iir
21 ii
= (1,0,0)r
13 04/22/23 http://www.public.asu.edu/~ashriva6
![Page 14: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/14.jpg)
CCMMLLCCMMLL
Cache MissCache Miss
k
j
i
C(4,2)
C(4,2)
C(4,2)
r
(0,0,0)
i = 1
i = N
iN(N,4,2)
Another iteration accesses data of array
B, mapped to the same cache location
causing a cache Misscache Miss.
B(0,7)
p(0,4,2)
i(1,4,2) (1,0,0)
for (i=0; i < N; i++) for (j=0; j < N; j++) for (k=0; k < N; k++) A[i][k] += B[i][j] * C[j][k] endFor endForendFor
for (i=0; i < N; i++) for (j=0; j < N; j++) for (k=0; k < N; k++) A[i][k] += B[i][j] * C[j][k] endFor endForendFor
B(0,7)
Memory Space
x
y
C(4,2)
(0,0) N
N
Cache Space
m
n
(0,0)
The element of array C is evicted evicted from the cachefrom the cache
and replaced by an element from array
B.line 2
04/22/2314 http://www.public.asu.edu/~ashriva6
![Page 15: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/15.jpg)
CCMMLLCCMMLL
Cache MissesCache Misses• Cache Miss
Equation
– Returns 1 if the reuse in reference r along the reuse vector v was not realized at iteration j due to a conflict by reference q at iteration k.
04/22/23 http://www.public.asu.edu/~ashriva615
))()((:),,( nCkMAjMAvkjCME qrqr
)0(& njkvj )(&
j,r
j-v, r
k,q
),( riAccess
RrIi ,
![Page 16: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/16.jpg)
CCMMLLCCMMLL
Cache MissesCache Misses• Miss Iterations
– Iterations at which the reference r misses, along the reuse vector r, due to interference with another reference q.
04/22/23 http://www.public.asu.edu/~ashriva616
)},,(,,|{)( iqri
qr vkjCMEZnIkIjvMI
Hit:No k exists
Miss: because k exists
![Page 17: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/17.jpg)
CCMMLLCCMMLL
Cache MissesCache Misses• Miss Iterations due to multiple references
– There is a miss at iteration j, if there is a miss due to any reference
04/22/23 http://www.public.asu.edu/~ashriva617
Rqi
qrir vMIvMI
)()(
Miss: because of reference q
Miss: because of reference s
k1, q
k2, s
![Page 18: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/18.jpg)
CCMMLLCCMMLL
Cache MissCache Miss• Miss Iterations due to multiple reuse vectors
– There will be a miss at iteration j if there is miss along all the reuse vectors
04/22/23 http://www.public.asu.edu/~ashriva618
i Rqi
qr
iirr vMIvMIMI
)()(
Miss: Because of the smallest reuse vector
![Page 19: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/19.jpg)
CCMMLLCCMMLL
OutlineOutline• Growing threat of soft errors• Efficient techniques needed for L1
cache protection• Need efficient techniques to estimate
vulnerability• Cache Miss Equations• Vulnerability Calculations• Experiments
04/22/23 http://www.public.asu.edu/~ashriva619
![Page 20: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/20.jpg)
CCMMLLCCMMLL
Computing Computing VulnerabilityVulnerabilityStat
eAccess Read
Write
Dirty
Hit (1) None
Repl. Miss
(2)
Cold Miss
None
Clean Any None(1)Hit Vul.
p = j-v j(2)
Miss Vul.p = j-v jk* k
04/22/2320 http://www.public.asu.edu/~ashriva6
![Page 21: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/21.jpg)
CCMMLLCCMMLL
Challenges in Vul. Challenges in Vul. EstimationEstimation
• Miss(j): I {0,1}– Miss at iteration j is a Boolean function
• Vul(j): I I+ – Vulnerability at iteration j is an integer function– How to represent integer function as a set?
• Much more complexity:– Misses are in iterations, while vulnerability is in
cycles– Only dirty blocks are vulnerable
04/22/23 http://www.public.asu.edu/~ashriva621
![Page 22: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/22.jpg)
CCMMLLCCMMLL
Computing Computing VulnerabilityVulnerability
• Suppose a variable is accessed several times– Cold miss– Incremental Vul.– Post-access Vul.
• Incremental Vul.– Compute vulnerability
from the last access– Total Vul. = Sum of
Incremental Vul. 04/22/23 http://www.public.asu.edu/~ashriva622
Cold Miss
Last Access
![Page 23: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/23.jpg)
CCMMLLCCMMLL
Computing Computing VulnerabilityVulnerability
Two key ideas:
1.If vulnerability at iteration j = l– Make l copies of vector j
2.Compute Non-vulnerability– And then subtract it from total possible
vulnerability
04/22/23 http://www.public.asu.edu/~ashriva623
![Page 24: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/24.jpg)
CCMMLLCCMMLL
Computing Computing VulnerabilityVulnerability
• Access Non Vulnerability
• If no k exists– ANV = ф
04/22/23 http://www.public.asu.edu/~ashriva624
ZnIkcjvANV qr ,|),{()(
|)|||0(& kjc )},,(& vkjCME q
r
j
j -v
HIT
![Page 25: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/25.jpg)
CCMMLLCCMMLL
Computing Computing VulnerabilityVulnerability
• Access Non Vulnerability
• If a k exists– Then ANV
= {(j,1), (j,2), …(j,|j|-|k|)}
04/22/23 http://www.public.asu.edu/~ashriva625
ZnIkcjvANV qr ,|),{()(
|)|||0(& kjc )},,(& vkjCME q
r
j
j -v
MISS
ANV contains all the points on the RED line
ANV contains all the points on the RED line
![Page 26: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/26.jpg)
CCMMLLCCMMLL
Computing Computing VulnerabilityVulnerability
• Access Non Vulnerability
• If multiple k exist– Then ANV =
{(j,1), (j,2), …(j,|j|-|k*|)}– Where k* is the smallest k
04/22/23 http://www.public.asu.edu/~ashriva626
ZnIkcjvANV qr ,|),{()(
|)|||0(& kjc )},,(& vkjCME q
r
j
j -v
MISS
kk
k*
![Page 27: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/27.jpg)
CCMMLLCCMMLL
Computing Computing VulnerabilityVulnerability
• Access Non Vulnerability across references
– ANV for multiple references is the maximum of the individual ANVs
04/22/23 http://www.public.asu.edu/~ashriva627
Rq
rrr vANVvANV
)()(
j
j -v
MISS
k1,qk2,s
k*
![Page 28: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/28.jpg)
CCMMLLCCMMLL
Computing Computing VulnerabilityVulnerability
• Access Vulnerability
– AV = Total possible vulnerability - ANV
04/22/23 http://www.public.asu.edu/~ashriva628
)(|)|*|(| vANVIvAV rr
j
j -v
MISS
k*
![Page 29: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/29.jpg)
CCMMLLCCMMLL
Why not compute AV Why not compute AV directly?directly?
• We computed
• What if we compute
04/22/23 http://www.public.asu.edu/~ashriva629
ZnIkcjvAV qr ,|),{()(
)|||(|& kcvj
)},,(& vkjCME qr
j
j -v
ZnIkcjvANV qr ,|),{()(
|)|||0(& kjc
)},,(& vkjCME qr
ZnIkcjvAV qr ,|),{()(
k1k2
![Page 30: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/30.jpg)
CCMMLLCCMMLL
Other IssuesOther Issues• Identifying cold misses• Computing post-access vulnerability• Cache block effect• Translating from iterations to cycles• Derived reuse vectors• Computing no. of elements in a set
04/22/23 http://www.public.asu.edu/~ashriva630
![Page 31: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/31.jpg)
CCMMLLCCMMLL
OutlineOutline• Growing threat of soft errors• Efficient techniques needed for L1
cache protection• Need efficient techniques to estimate
vulnerability• Cache Miss Equations• Vulnerability Calculations• Experiments
04/22/23 http://www.public.asu.edu/~ashriva631
![Page 32: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/32.jpg)
CCMMLLCCMMLL
Experimental Experimental SetupSetup
• Simplify CVEs in Omega– Output: set containing vulnerability of loop.
• Count the number of elements with Barvinok
• Benchmark kernels from Spec200 and Multimedia kernels
• Simplescalar configured to single-issue in-order processor with 32KB direct mapped data cache and 25 cycle L1 miss penalty
04/22/23 http://www.public.asu.edu/~ashriva632
![Page 33: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/33.jpg)
CCMMLLCCMMLL
Interesting Trade-off Interesting Trade-off exists!exists!
04/22/2333 http://www.public.asu.edu/~ashriva6
46% vulnerability reduction for 16% runtime trade-off
55% vulnerability reduction for 6.5% runtime improvement
![Page 34: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/34.jpg)
CCMMLLCCMMLL
ValidationValidation
04/22/23 http://www.public.asu.edu/~ashriva634
High Correlation between ACV and CV
Variation in CV: 19XVariation in Runtime: 1.7X Can trade off lot of vulnerability with little performance impact
Min Vul: ikjMin Runtime: ijk Not the same trend
Min Vul with only 5.7% runtime penalty
![Page 35: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/35.jpg)
CCMMLLCCMMLL
Application of CVE (case Application of CVE (case study)study)
04/22/23 http://www.public.asu.edu/~ashriva635
• Cache vulnerability calculated for varying array placement offsets on swim
![Page 36: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/36.jpg)
CCMMLLCCMMLL
ConclusionConclusion• Soft Errors are soon to become a major concern even in terrestrial
computing systems• Caches are most vulnerable, and for L1 cache:
– ECC is costly– ECC may not be enough
• Need nimble techniques to reduce vulnerability without much power and performance overheads
• Compiler techniques can change the read/write access pattern of data– therefore can effect vulnerability of program
• Interesting trade-off between vul. and runtime may exist in code generation
• Exploiting them using simulation may not be feasible– Need efficient techniques to estimate vulnerability
• Proposed re-use vector based analysis to estimate vulnerability– Starting point for compiler support
04/22/23 http://www.public.asu.edu/~ashriva636
![Page 37: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/37.jpg)
CCMMLLCCMMLL
Questions?Questions?
04/22/23 http://www.public.asu.edu/~ashriva637
![Page 38: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/38.jpg)
CCMMLLCCMMLL
Hit VulnerabilityHit Vulnerability
k
j
i
(0,0,0)
i = N
Reuse Direction:Reuse Direction: Direction along which the data
element is reused.
Access Iterations:- Iterations accessing the array element.
)}()(:{)( iMemAddrjMemAddrjiAI
Cache Miss Iterations:- Iterations at which reuse is not realized due to reference X (same or different)
)}0),,[),)()((::{)( npjknCskCacheAddrjCacheAddrkjiCM XCX
Vulnerable Accesses (Cache Hits):- Iterations at which the reuse is realized (hits).
CMAIVA
i
Vulnerable Iterations (Read Vulnerability):- Iterations between successive reuses.
rVAVI
xx
CMCM
Access Iteration
Cache Miss Iteration
|)|( rip
04/22/2338 http://www.public.asu.edu/~ashriva6
![Page 39: Cache Vulnerability Equations for Protecting Data in Embedded Processor Caches from Soft Errors](https://reader036.fdocuments.net/reader036/viewer/2022081517/568159df550346895dc72a06/html5/thumbnails/39.jpg)
CCMMLLCCMMLL
Miss VulnerabilityMiss VulnerabilityCache Interference Points (CIP)- The set of possible interference points { j }
x
y
p
i
VI
j2
j4
j3
j1q
}0),,[),)()((:),{(),( nipjnCsjCacheAddriCacheAddrjijiCIP XX
)}&),(::),{(),( ivjjiCIPjjviviII XX
|),(||||),()(| viIIrviIIpiVI
Vulnerable Iterations
r
),(),( viIIviII XX
Vulnerability |||)||(| IIrAI
|)|( rip
Intermediate Iterations- The set of Intermediate Iterations { v }
The set of points between any existing j and the iteration i.
All v points are greater than the first CIP for every iteration i.
04/22/2339 http://www.public.asu.edu/~ashriva6