21
1 Relyzer: Application Resiliency Analyzer for Transient Faults Siva Kumar Sastry Hari, Illinois Helia Naeimi, Intel Labs Pradeep Ramachandran, Illinois Sarita Adve, Illinois [email protected], [email protected]

Relyzer: Application Resiliency Analyzer for Transient Faults · Software-level Resiliency • Software-level anomaly detectors are low-cost & effective –Detect faults by monitoring

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Relyzer: Application Resiliency Analyzer for Transient Faults · Software-level Resiliency • Software-level anomaly detectors are low-cost & effective –Detect faults by monitoring

1

Relyzer:

Application Resiliency Analyzer

for Transient Faults

Siva Kumar Sastry Hari, Illinois

Helia Naeimi, Intel Labs

Pradeep Ramachandran, Illinois

Sarita Adve, Illinois

[email protected], [email protected]

Page 2: Relyzer: Application Resiliency Analyzer for Transient Faults · Software-level Resiliency • Software-level anomaly detectors are low-cost & effective –Detect faults by monitoring

Motivation

• Reliability is a major challenge

• Shipped hardware is likely to fail in the field

• Reliability problem pervasive across many markets

– Traditional redundancy solutions (e.g., nMR) expensive

• Need in-field low-cost detection, diagnosis, and repair

2

. . .

Transient Errors Wear-out Failures Design Bugs

Page 3: Relyzer: Application Resiliency Analyzer for Transient Faults · Software-level Resiliency • Software-level anomaly detectors are low-cost & effective –Detect faults by monitoring

Software-level Resiliency

• Software-level anomaly detectors are low-cost & effective

– Detect faults by monitoring software misbehavior

• Evaluating resiliency solutions through fault injections

3

Transient

Fault

Symptom

detected

Start

Application

Execution

Page 4: Relyzer: Application Resiliency Analyzer for Transient Faults · Software-level Resiliency • Software-level anomaly detectors are low-cost & effective –Detect faults by monitoring

Software-level Resiliency

• Software-level anomaly detectors are low-cost & effective

– Detect faults by monitoring software misbehavior

• Evaluating resiliency solutions through fault injections

4

Transient

Fault

Start

Masked Application

Execution

Page 5: Relyzer: Application Resiliency Analyzer for Transient Faults · Software-level Resiliency • Software-level anomaly detectors are low-cost & effective –Detect faults by monitoring

Software-level Resiliency

• Software-level anomaly detectors are low-cost & effective

– Detect faults by monitoring software misbehavior

• Evaluating resiliency solutions through fault injections

• Each application has 100s of billions of fault sites

• Performing fault injections on all is impossible

• Statistical approach: study 10s of thousands of faults

– Cannot provide guarantees

5

Transient

Fault

Start

SDC Application

Execution

Page 6: Relyzer: Application Resiliency Analyzer for Transient Faults · Software-level Resiliency • Software-level anomaly detectors are low-cost & effective –Detect faults by monitoring

Challenges

• Goal: Analyzing all transient faults affecting an application

– Provide guarantees to the detection mechanisms

• Do we need fault injections for all the faults?

• Can we reduce the # of faults that require detailed analysis?

• How to analyze all faults with fewer fault injections?

6

Page 7: Relyzer: Application Resiliency Analyzer for Transient Faults · Software-level Resiliency • Software-level anomaly detectors are low-cost & effective –Detect faults by monitoring

Contributions

• Prune faults with predictable outcomes

– Outcome: Detected, Masked, or SDC

– Such faults do not need fault injections

• Prune equivalent faults

– Faults that behave similarly

• Only faults with unknown outcomes need fault injections

– Developed pruning techniques to ensure they are small

– Validating pruning techniques is ongoing work

• Analyze few faults to estimate behavior of all

7

Page 8: Relyzer: Application Resiliency Analyzer for Transient Faults · Software-level Resiliency • Software-level anomaly detectors are low-cost & effective –Detect faults by monitoring

Outline

• Motivation

• Fault Model

• Pruning Techniques

• Results

• Conclusion and Future Work

8

Page 9: Relyzer: Application Resiliency Analyzer for Transient Faults · Software-level Resiliency • Software-level anomaly detectors are low-cost & effective –Detect faults by monitoring

Fault Model

• Transient faults

– Single bit flips

• Faults in ISA-visible instruction-level states

• Example:

– Instruction: opcode rd, rs1, rs2

• One bit faults in rd, rs1, and rs2

– Instructions: opcode [addr+imm], rd

• One bit faults in rd, addr, imm, (addr)[addr+imm],

(value)[addr+imm]

9

Page 10: Relyzer: Application Resiliency Analyzer for Transient Faults · Software-level Resiliency • Software-level anomaly detectors are low-cost & effective –Detect faults by monitoring

Relyzer Overview

• List all faults

• Prune predictable faults

• Prune equivalent faults

10

Detected

Masked

SDCs

Equivalent

All

Faults

- - - + - Remaining

Faults =

Page 11: Relyzer: Application Resiliency Analyzer for Transient Faults · Software-level Resiliency • Software-level anomaly detectors are low-cost & effective –Detect faults by monitoring

Pruning Predictable Faults

• Watch for out of bounds accesses

– SWAT detects such accesses

• Prune out of bounds accesses

– Memory addresses ( & )

– Branch targets ( )

• Boundaries obtained by profiling

11

Reserved

Stack

Reserved

Heap

Data

Text

SPARC Address Space Layout

0x0

0x100000000

0x80100000000

0xfffff7ff00000000

0xffffffffffbf0000

Page 12: Relyzer: Application Resiliency Analyzer for Transient Faults · Software-level Resiliency • Software-level anomaly detectors are low-cost & effective –Detect faults by monitoring

Pruning Equivalent Faults

• Key Insights:

– Faults in different loop iterations may be equivalent

– Stores and Branches have major effects on application

12

Page 13: Relyzer: Application Resiliency Analyzer for Transient Faults · Software-level Resiliency • Software-level anomaly detectors are low-cost & effective –Detect faults by monitoring

Faults in Store Instructions

• Show stores to be equivalent

• Faults in instructions are also

equivalent

• How to show store equivalence?

13

Data flow leading to a store

Page 14: Relyzer: Application Resiliency Analyzer for Transient Faults · Software-level Resiliency • Software-level anomaly detectors are low-cost & effective –Detect faults by monitoring

Equalizing store instructions

• Criterion that makes stores equal: effect of faulty store

• Use heuristics to measure store effects

14

Set of all

stores

Set of

unique

stores

Similar

store effects

Page 15: Relyzer: Application Resiliency Analyzer for Transient Faults · Software-level Resiliency • Software-level anomaly detectors are low-cost & effective –Detect faults by monitoring

Equalizing store instructions

• Criterion that makes stores equal: effect of faulty store

• Use heuristics to measure store affects

– Location of every use + dynamic instruction flow info

15

Store

Memory

PC1 PC2

Load Load

Store

PC1 PC2

Load Load

Set of all

stores

Set of

unique

stores

Similar

store effects

Instance 1

Instance 2

Page 16: Relyzer: Application Resiliency Analyzer for Transient Faults · Software-level Resiliency • Software-level anomaly detectors are low-cost & effective –Detect faults by monitoring

Faults in Branches

• Faults in section affect only the direction of branch

– No other side effects

• For section we need to know

– # of faults resulting in right branch direction?

• Distribution of faults

– Outcome of the wrong direction

• For distribution, inject faults exhaustively in one iteration

• For outcome, inject just one fault in the condition code

16

Branch T

Taken Not-Taken

Page 17: Relyzer: Application Resiliency Analyzer for Transient Faults · Software-level Resiliency • Software-level anomaly detectors are low-cost & effective –Detect faults by monitoring

Other Pruning Techniques

• Constant Propagation

– Propagate faults through instructions using constants

– Similar to the compiler optimization technique

• Def-Use Analysis

– Consider faults only in the uses

– Prune faults from def

• Statistical Pruning

– Remaining faults in branch instructions

• In target of dynamic branch

• One direction fault in dynamic conditional branch 17

1. OR r1, 0x1 → r2

2. ADD r2, r3 → r4

Page 18: Relyzer: Application Resiliency Analyzer for Transient Faults · Software-level Resiliency • Software-level anomaly detectors are low-cost & effective –Detect faults by monitoring

Evaluating Fault Pruning Techniques

18

Application Number of

Instructions

Number

of Faults

LU

(SPLASH-2) 2.1 Billion 310 Billion

FFT

(SPLASH-2) 7.1 Billion 111 Billion

Blackscholes

(PARSEC) 1.7 Billion 214 Billion

Swaptions

(PARSEC) 2.7 Billion 534 Billion

Total Faults = 1.17 Trillion

Page 19: Relyzer: Application Resiliency Analyzer for Transient Faults · Software-level Resiliency • Software-level anomaly detectors are low-cost & effective –Detect faults by monitoring

Results

• Pruned: 99.9979%

• Remaining: 0.0021% (25 Million)

19 Fault pruning across all applications

3%

85%

10%

2% 0%

Bounding Addresses

Dynamic Stores

Dynamic Branches

Others

Remaining

Page 20: Relyzer: Application Resiliency Analyzer for Transient Faults · Software-level Resiliency • Software-level anomaly detectors are low-cost & effective –Detect faults by monitoring

Conclusions

• Analyzing all transient faults effecting an application

• Reduced the number of fault injection experiments

– Developed efficient pruning techniques

• Predict outcome without fault injection

• Show equivalence between several faults

• Pruned hardware faults by 5 orders of magnitude

– Only 0.0021% of faults remaining

20

Page 21: Relyzer: Application Resiliency Analyzer for Transient Faults · Software-level Resiliency • Software-level anomaly detectors are low-cost & effective –Detect faults by monitoring

Ongoing and Future Work

• Developed efficient fault injection framework

• Evaluating the accuracy of developed pruning techniques

– Current results show an average inaccuracy of only 5%

• Compute effective SDC rate

• List and analyze SDC causing faults

• Identify SDC prone sections of applications

– Devise low-cost detectors (software or hardware)

21