Transcript PPT

Online Computing and Predicting
Architectural Vulnerability Factor
of Microprocessor Structures
Songjun Pan
Yu Hu
Xiaowei Li
{pansongjun, huyu, lxw}@ict.ac.cn
Key Laboratory of Computer System and Architecture,
Institute of Computing Technology, Chinese Academy of Sciences
Nov. 17, 2009
PRDC2009
1
Outline
Background and Motivation
AVF Computing and Predicting
Experimental Results
Conclusions
PRDC2009 Nov. 17
2
Soft Errors in Microprocessors
Soft errors
– Caused by neutrons and alpha particles
Technology Scaling
– Smaller transistors
– Lower threshold voltage
Higher soft error rate
It is important to analyze the vulnerability of
different structures to soft errors
PRDC2009 Nov. 17
3
Reliability Analysis Method
Compute Architectural Vulnerability Factor (AVF) for
different structures [Mukerjee, MICRO’03]
– Reflect the vulnerability of a structure to soft errors
AVF: The probability a soft error in a structure
would result in an external visible failure
– AVF = 0% branch predictor
– AVF ≈ 100% program counter
– Higher AVF, higher vulnerable to soft errors
AVF computing is important!
PRDC2009 Nov. 17
4
Offline AVF Computing Methods
Offline methods [Mukerjee, MICRO’03]
– Analyze ACE bit/un-ACE bit
Average number of ACE bits in a cycle
AVF 
Total number of bits in the structure
Sim-SODA method [Fu, Workshop of ISCA’06]
– Compute AVF for different structures (IQ, ROB, register
file)
– Accurate AVF result
– Guide reliability estimation at early design stage
PRDC2009 Nov. 17
5
Motivation of Our Work
Traditional protection schemes (AR-SMT, SRT) for
soft errors result in a high performance overhead
[Mukerjee, ISCA’02]
AVF varies significantly across different workloads
and individual structures [Li, DSN’05]
The AVF information can be used to guide the
protection of microprocessors
PRDC2009 Nov. 17
6
Online Methods Are Needed
AVF
AVF>AVFth
AVF>AVFth
AVFth
Active protection scheme
Time
Dynamically tuning, make a trade-off between reliability and
performance
Offline methods are not enough
Online AVF computing methods are needed
– Computing AVF during program execution
PRDC2009 Nov. 17
7
Our Contributions
Propose an occupancy-based online AVF
computing method
Predict the AVF based on history information to
guide reliability design
Demonstrate the efficiency of our method
PRDC2009 Nov. 17
8
Schematic Diagram
Load/Store Queue
Activated
Protection
scheme
…
Issue Queue
Front-End
…
…
Extra Bit
Reorder Buffer
FU
AVF
Computing&
Predicting
AVF>AVFth
…
Extra Bit
…
Register File
Online AVF computing and predicting architecture
PRDC2009 Nov. 17
9
Occupancy-based Method
Occupancy-based online AVF computing
– The percentage of entries have been taken during a
program execution
OUT
Reorder Buffer
Occupancy
Cycle 3
1
2
4
3/9
5/9
4/9
0/9
IN
PRDC2009 Nov. 17
10
Key Observations
Efficient to get the occupancy information during
program execution
Assuming the occupancy of a structure as the AVF
of that structure
This method takes all the bits as ACE bits, which
results in a conservative AVF
We need to further refine the AVF result
PRDC2009 Nov. 17
11
Refine AVF Computing
Instruction types
– NOP instructions (NOP): not affect the program output
– Dynamic dead instructions (DDI)
Not affect the program output, BUT
Need a long time to differentiate
– ACE instructions (ACE): affect the program output
Refine AVF result
– Exclude NOP instructions
– Counter dynamic dead instructions as ACE
instructions
PRDC2009 Nov. 17
12
Our Online Computing Method
Reorder Buffer
OUT
Flag Bit
AVF
NOP
3/9
0
2/9
Cycle 1
4
2
3
NOP
IN
033 2
AVF 
Interval
9 4
Computing AVF online at interval granularity
PRDC2009 Nov. 17
13
AVF Predicting
Interval length: 1000 cycles
latest
next
interval interval
interval
L3
L2
L1
Time
N1
Activate a protection scheme when AVF > AVFth
Predicting the next interval’s AVF based on the
history AVF information
– Algorithm 1: last-value based
– Algorithm 2: average of the latest three interval’s value
PRDC2009 Nov. 17
14
Overall Flowchart
Decode
Repeat
NOP ?
Yes
No
FLAG=0
FLAG=1
Record Occupancy
Cycle++
No
End of interval
Yes
AVF<AVFth
AVF computing and predicting
AVF>AVFth
Activate Protection scheme
PRDC2009 Nov. 17
15
Experimental Setup
Simulated machine configurations
– 4 integer ALUs, 2 integer multipliers, 2 float ALUs
– IQ/ROB/LSQ 20/80/64 entries
– Hybrid, 4K global + 2-level 1K local + 4K choice branch
predictor
– 64KB 2-way L1 data cache, 2MB direct mapped L2
cache
Workload
– SPEC2000 Integer benchmark suite
– Simulate 100M instructions starting from each SimPoint.
PRDC2009 Nov. 17
16
Experimental Results (1/4)
70
60
IQ_ON
ROB_OFF
IQ_OFF
LSQ_ON
ROB_ON
LSQ_OFF
AVF%
50
40
30
20
10
bz
ip
2
cr
af
ty
eo
n
ga
p
gc
c
gz
ip
m
cf
pa
rs
pe er
rlb
m
k
tw
ol
f
vo
rte
x
vp
r
A
vr
.
0
Online computed AVF for IQ、ROB, and LSQ
PRDC2009 Nov. 17
17
Experimental Results (2/4)
Different Configurations - IQ/ROB/LSQ entries
– Base : 20/80/64
– 20/10/64 40/80/64 20/80/8
100
Config2
IQ_ON
ROB_ON
LSQ_ON
80
IQ_OFF
ROB_OFF
LSQ_OFF
60
Config4
40
Config3
20
vp
r
vo
rte
x
ol
f
tw
k
pe
rlb
m
eo
n
cr
af
ty
0
AVF Results for different configurations
PRDC2009 Nov. 17
18
Experimental Results (3/4)
80
25
Algorithm 1
Algorithm 2
Sim-SODA[3]
70
20
60
50
AVF%
AVF%
Algorithm 1
Algorithm 2
Sim-SODA[3]
40
30
15
10
20
10
0
2
4
6
Time (Execution Cycles)
8
10
4
x 10
5
0
2
4
6
Time (Execution Cycles)
8
10
4
x 10
IQ
ROB
AVF results with different predicting algorithms
Algorithm 2: higher prediction accuracy
PRDC2009 Nov. 17
19
Experimental Results (4/4)
35
30
25
IQ
ROB
LSQ
40
AVFth
AVFth
30
20
AVF%
AVF%
50
IQ
ROB
LSQ
15
20
10
10
5
0
2
2.02
2.04
2.06
Time (Execution Cycles)
crafty
2.08
2.1
6
x 10
0
8.614
8.616
8.618
8.62
8.622
Time (Execution Cycles)
8.624
8.626
x 10
gap
AVF for IQ, ROB, and LSQ during executing crafty and gap
PRDC2009 Nov. 17
20
7
Conclusions
We propose an occupancy-based method to
compute and predict AVF online
Our method can compute AVF efficiently, the
difference between our method and an offline
method are 0.10, 0.01, and 0.039 respectively
Our method is also independent of the
microprocessor configurations.
Our method combines AVF to activate protection
scheme, ensuring high reliability while with less
performance overhead.
PRDC2009 Nov. 17
21
Thanks!
Q&A
PRDC2009 Nov. 17
22
Backup Slices
23
Vulnerability of a structure
ACE bit and un-ACE bit
=
T=4
3
1
2
=
PRDC2009 Nov. 17
(2+1+0+3)/4
4
ACE% = 1/4
0/4
3/4
2/4
Average number of ACE bits in a cycle
Total number of bits in the structure
24
Interval length
Choose an appropriate interval length
– Single cycle / length of the entire application
200 Cycles
1000 Cycles
5000 Cycles
100
AVF%
80
60
40
20
0
0
2
4
6
Time(Execution Cycles)
8
10
4
x 10
Interval length: 1000 cycles
PRDC2009 Nov. 17
25
Refine AVF Computing
Instruction types
– NOP instructions (NOP) / Dynamic dead instructions
(DDI) / ACE instructions (ACE)
100%
80%
60%
NOP
40%
DDI
20%
ACE
bz
cr ip 2
af
ty
eo
n
ga
p
gc
gz c
ip
m
p a cf
p e rser
r ..
tw .
v o o lf
rte
x
vp
A r
vr
.
0%
NOP 10.7%
PRDC2009 Nov. 17
DDI 15.8%
ACE 73.5%
26