Modeling Soft-Error Propagation in Programs
Guanpeng (Justin) Li Karthik Pattabiraman Siva Hari Michael Sullivan Timothy Tsai
Modeling Soft-Error Propagation in Programs Siva Hari Guanpeng - - PowerPoint PPT Presentation
Modeling Soft-Error Propagation in Programs Siva Hari Guanpeng (Justin) Li Michael Sullivan Karthik Pattabiraman Timothy Tsai Motivation: Soft Errors [1] = 0001 = 0101 Soft errors becoming more common in processors 2 [1]
Guanpeng (Justin) Li Karthik Pattabiraman Siva Hari Michael Sullivan Timothy Tsai
2
= 0001 = 0101
[1]
Soft errors becoming more common in processors
[1] http://aviral.lab.asu.edu/soft-error-resilience/
Normal Execution
Fault
Error Propagation SDC Crash Benign
Incorrect Output
Correct Output Exceptions, No Output Amazon S3 Incident
3
Device/Circuit Level Architectural Level Operating System Level Application Level Impactful Errors Protection Overhead Soft Error
4
Increasing
Software protection techniques are more flexible and cost-effective!
“The Golden Curve”
SDC Coverage Protection Overhead
Application Specific!
*Measured in Libquantum, SPEC
Instruction Sequence Instruction Duplication
Instruction: SDC Rate = X% Overhead = Y% Selected Instructions for Given Target SDC Coverage A Knapsack Problem
5
Development of Application Evaluate Program SDC Rate Selective Protection Acceptable New Release Measure Instruction SDC Rates
6
Estimating SDC Rate
Accuracy Speed
AVF/ PVF/ ePVF [MICRO’03, HPCA’10, DSN’16] SymPLFIED/ Relyzer/ GangES [DSN’08, ASPLOS’12, ISCA’14]
Fast prediction of SDC without fault injection!
8
… …
BR
… …
Corrupting subsequent states T F
8
… … … … … … … …
9
Source Code Program Input Output Insn.
Overall SDC Rate
Profiling Prediction
10
BB12 … …
Reg. Mem. Contl. BB4 $2 = LOAD 0x04 $3 = ADD $2, 4 CMP $4, $3, 4 BR $4, BB5, BB10 BB5 $5 = MUL $6, 16 … … BB10 … …
… …
BB102 ... = LOAD 0x08 T1 F1 T2 F2
fS fC fM
BB11 STORE …, 0x08
11
fs = 100% * 100% * 25% * 100% = 25%
BB12 … … BB11 STORE …, 0x08 BB4 $2 = LOAD 0x04 $3 = ADD $2, 4 CMP $4, $3, 4 BR $4, BB5, BB10 BB5 $5 = MUL $6, 16 … … BB10 … …
… …
BB102 ... = LOAD 0x08 T1 F1 T2 F2 <100%> <100%> <25%> <100%> Propagation probability within BB4 ? Reg. Mem. Contl.
fS fC fM
Reg.
12
BB12 … … BB11 STORE …, 0x08 BB4 $2 = LOAD 0x04 $3 = ADD $2, 4 CMP $4, $3, 4 BR $4, BB5, BB10 BB5 $5 = MUL $6, 16 … … BB10 … …
… …
BB102 ... = LOAD 0x08 T1 F1 T2 F2 Corruption probability
80% 20% 30% 70% <100%> <100%> <25%> <100%>
=
*For non-loop-terminating branches
Reg. Mem. Contl.
fS fC fM
Contl.
fC
STORE exec. prob. F1*T2 BR dom. prob. F1 Corrupted
13
BB12 … … BB11 STORE …, 0x08 BB4 $2 = LOAD 0x04 $3 = ADD $2, 4 CMP $4, $3, 4 BR $4, BB5, BB10 BB5 $5 = MUL $6, 16 … … BB10 … …
… …
BB102 ... = LOAD 0x08 T1 F1 T2 F2 Dependent LOAD & STORE 80% 20% 30% 70% <100%> <100%> <25%> <100%> Reg. Mem. Contl.
fS fC fM
Mem.
P(In) = fS (In)* fC(In2)* fS (In3)* fC (In4) … …
14 * n corresponds to the index of dynamic instructions
Benchmark Application Domains
15
Reg. Mem. Contl.
fS
Reg. Mem. Contl.
fS+fC
Two Simpler Models for Comparison
Goal is to predict SDC rate as per fault injection
[1] LLVM Fault Injector [DSN’14]
Reminder :
16
Program SDC Rate; 3,000 Sampled Instructions; Error Bar: +/-0.07% ~ +/-1.76% at 95% Confidence Interval
Trident is close to fault injection results, and significantly better than the simpler models!
3,000 randomly sampled instructions for fault injection and the models
17
per instruction
whereas Trident takes <20 mins
Trident is faster than fault injection by 2 orders of magnitude!
Wall-Clock Time of Estimating Program SDC Rate
18
SDC Coverage Protection Overhead
*Measured in Libquantum, SPEC
By Fault Injections By Trident
“The Golden Curve”
By fS+fC By fS
Selective Instruction Duplication
Recap :
19
20
Session 6: Modeling and Verification Wednesday, June 27th “Modeling Input-Dependent Error Propagation in Programs”
to fault injection in accuracy for fraction of cost
Guanpeng (Justin) Li University of British Columbia (UBC) gpli@ece.ubc.ca
21