Upload
alison-warren
View
218
Download
0
Tags:
Embed Size (px)
Citation preview
1111
Online Computing and Predicting Online Computing and Predicting Architectural Vulnerability Factor Architectural Vulnerability Factor
of Microprocessor Structuresof 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
22
Outline
Background and Motivation
AVF Computing and Predicting
Experimental Results
Conclusions
PRDC2009 Nov. 17
33
Soft Errors in Microprocessors
PRDC2009 Nov. 17
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
44
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
55
Offline AVF Computing MethodsOffline methods [Mukerjee, MICRO’03]– Analyze ACE bit/un-ACE bit
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
Average number of ACE bits in a cycleAVF
Total number of bits in the structure
PRDC2009 Nov. 17
66
Motivation of Our WorkTraditional 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
77
Online Methods Are Needed
PRDC2009 Nov. 17
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
TimeActive protection scheme
AVFth
AVF AVF>AVFth AVF>AVFth
88
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
99
…
Schematic Diagram
Online AVF computing and predicting architecture
Front-End…
…
…
Load/Store Queue
Issue Queue
Extra BitReorder Buffer
Extra Bit
…Register File
FU AVF Computing&
Predicting
Activated Protection
scheme
AVF>AVFth
PRDC2009 Nov. 17
1010
Occupancy-based online AVF computing– The percentage of entries have been taken during a
program execution
Occupancy-based Method
Reorder Buffer Occupancy
IN
OUT
4/95/93/9
PRDC2009 Nov. 17
0/9Cycle 4Cycle 1Cycle 2Cycle 3
1111
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
1212
Refine AVF Computing
PRDC2009 Nov. 17
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
1313
Our Online Computing Method
PRDC2009 Nov. 17
AVF
IN
OUT
NOP
NOP
Reorder Buffer
3/9
Flag Bit
02/9Cycle 4Cycle 1Cycle 2Cycle 3
0 3 3 2
9 4AVF
Interval
Computing AVF online at interval granularity
1414
AVF Predicting
PRDC2009 Nov. 17
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
interval
Interval length: 1000 cycles
Time
latest interval
nextinterval
L1L2L3 N1
1515
Overall FlowchartDecode
NOP ?
Record Occupancy
End of interval
AVF computing and predicting
FLAG=1
Cycle++
FLAG=0
PRDC2009 Nov. 17
NoYes
Yes
No
Activate Protection scheme
AVF>AVFth
AVF<AVFth
Repeat
1616
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
1717
Experimental Results (1/4)
PRDC2009 Nov. 17
Online computed AVF for IQ 、 ROB, and LSQ
0
10
20
30
40
50
60
70
AV
F%
IQ_ON IQ_OFF ROB_ON
ROB_OFF LSQ_ON LSQ_OFF
1818
Experimental Results (2/4)
PRDC2009 Nov. 17
AVF Results for different configurations
Different Configurations - IQ/ROB/LSQ entries– Base : 20/80/64 – 20/10/64 40/80/64 20/80/8
0
20
40
60
80
100IQ_ON IQ_OFFROB_ON ROB_OFFLSQ_ON LSQ_OFF
Config2
Config4
Config3
1919
Experimental Results (3/4)
AVF results with different predicting algorithms
Algorithm 2: higher prediction accuracy
PRDC2009 Nov. 17
0 2 4 6 8 10
x 104
10
20
30
40
50
60
70
80
Time (Execution Cycles)
AV
F%
Algorithm 1Algorithm 2Sim-SODA[3]
0 2 4 6 8 10
x 104
5
10
15
20
25
Time (Execution Cycles)
AV
F%
Algorithm 1Algorithm 2Sim-SODA[3]
IQ ROB
2020
Experimental Results (4/4)
AVF for IQ, ROB, and LSQ during executing crafty and gap
PRDC2009 Nov. 17
crafty gap
8.614 8.616 8.618 8.62 8.622 8.624 8.626
x 107
0
10
20
30
40
50
Time (Execution Cycles)
AV
F%
IQROBLSQ
2 2.02 2.04 2.06 2.08 2.1
x 106
0
5
10
15
20
25
30
35
Time (Execution Cycles)
AV
F%
IQROBLSQ
AVFthAVFth
2121
ConclusionsWe propose an occupancy-based method to compute and predict AVF onlineOur method can compute AVF efficiently, the difference between our method and an offline method are 0.10, 0.01, and 0.039 respectivelyOur 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
2222
Thanks!Q&A
PRDC2009 Nov. 17
2323
Backup Slices
2424
T = 3 ACE% = 0/4T = 2 ACE% = 1/4
Vulnerability of a structureVulnerability of a structureACE bit and un-ACE bit
T = 1 ACE% = 2/4
Average number of ACE bits in a cycleAverage number of ACE bits in a cycleTotal number of bits in the structureTotal number of bits in the structure=
T = 4 ACE% = 3/4
( 2 + 1 + 0 + 3 ) / 4( 2 + 1 + 0 + 3 ) / 4
44=
PRDC2009 Nov. 17
2525
Interval length
PRDC2009 Nov. 17
Choose an appropriate interval length– Single cycle / length of the entire application
Interval length: 1000 cycles
0 2 4 6 8 10
x 104
0
20
40
60
80
100
Time(Execution Cycles)
AV
F%
200 Cycles1000 Cycles5000 Cycles
2626
0%
20%
40%
60%
80%
100%
NOP
DDI
ACE
Refine AVF Computing
PRDC2009 Nov. 17
Instruction types– NOP instructions (NOP) / Dynamic dead instructions
(DDI) / ACE instructions (ACE)
NOP 10.7% DDI 15.8% ACE 73.5%