Download - Software Based Fault tolerance in Computer Vision

Transcript
Page 1: Software Based Fault tolerance in Computer Vision

Software Based Fault tolerance in Computer Vision

Chen-Han HoCS 766 Final Project

Page 2: Software Based Fault tolerance in Computer Vision

Reliability and Energy

• As technology scales, device reliability decreases• Transistor’s energy efficiency does not scale very

well• Provide reliable hardware with recovery scheme

becomes expensive:– Checkpointing– Modular redundancy– Conservative design constraints

Page 3: Software Based Fault tolerance in Computer Vision

Computer Vision

• Many different applications:– Image processing, sampling, filtering, HDR– Image transformation– Feature detection and extraction– Segmentation

• Including solving matrix equations, optimization problems, heuristics..

• Reliability and energy efficiency are important, especially in mobile space

Page 4: Software Based Fault tolerance in Computer Vision
Page 5: Software Based Fault tolerance in Computer Vision

Software-based approaches

• Using software to relief the burden in hardware– Software checkpointing– Application robustification through stochastic

optimization– Idempotent processing

Page 6: Software Based Fault tolerance in Computer Vision

Stochastic Optimization

• Re-casting applications to optimization problem– Iterative algorithm– Minimum is the output of the non-robust application

[A Numerical Optimization-based Methodology for Application Robustification, Sloan et al.]

Page 7: Software Based Fault tolerance in Computer Vision

Optimization Engine

• Gradient descent

• Search strategy:– Conjugate gradient

Page 8: Software Based Fault tolerance in Computer Vision

Some Facts

• 10X-1000X more instructions executed• Only tolerant faults in data processing phase• Some applications can achieve ~100% accuracy,

some < 50% success and require further enhancement

• Energy saving?

Page 9: Software Based Fault tolerance in Computer Vision

Energy implications

1.00E-011.00E-021.00E-031.00E-041.00E-051.00E-051.00E-07

0.180.180.180.20

0.55

1.001.00

0.070.070.130.14

0.29

0.86

1.00

Cholesky CG

Accuracy Target

Nor

mal

ized

Ener

gy

Page 10: Software Based Fault tolerance in Computer Vision

Idempotent Processing

• Using idempotence- Whenever a fault happens, execution can be restart from the beginning of current idempotent region and same correct result will be produced

• Compiler support• ISA interface, hardware failure detection• Simpler hardware, tolerant faults with implicit

checkpoints and re-execution

Page 11: Software Based Fault tolerance in Computer Vision

Idempotent Execution

Page 12: Software Based Fault tolerance in Computer Vision

Evaluation

• Idempotent compiler• Pin: instrumentation• Application: VLFeat– Agglomerative Information Bottleneck (AIB)– Maximally Stable Extremal Regions (MSER)– Scale Invariant Feature Transform (SIFT)– Vector comparison (VEC)– Image convolution (CONV)

Page 13: Software Based Fault tolerance in Computer Vision

Results: Performance

0.001 0.01 0.10.1

1

10

aib mser sift vec conv

Failure Rate

Nor

mal

ized

Perf

orm

ance

Page 14: Software Based Fault tolerance in Computer Vision

Results: Energy

0.001 0.01 0.10

1

2

3

4

5

6

7

aib mser sift vec conv

Failure Rate

Nor

mal

ized

Ener

gy

Page 15: Software Based Fault tolerance in Computer Vision

Conclusion

• Stochastic optimization:– Varied accuracy– Trade accuracy for energy– Hardware support unidentified

• Idempotent processing– 100% correct results– Energy <> region size and re-execution time– Fault detection and region verify

Page 16: Software Based Fault tolerance in Computer Vision

Questions?

Page 17: Software Based Fault tolerance in Computer Vision

Region Size

aib mser sift vec conv249.998 12.0736 27.0296 1056.19 94.5301