Efficient fault-injection-based assessment of software-implemented hardware fault tolerance
dc.contributor.advisor | Spinczyk, Olaf | |
dc.contributor.author | Schirmeier, Horst Benjamin | |
dc.contributor.referee | Polze, Andreas | |
dc.date.accepted | 2016-07-13 | |
dc.date.accessioned | 2016-08-09T07:10:48Z | |
dc.date.available | 2016-08-09T07:10:48Z | |
dc.date.issued | 2016 | |
dc.description.abstract | With continuously shrinking semiconductor structure sizes and lower supply voltages, the per-device susceptibility to transient and permanent hardware faults is on the rise. A class of countermeasures with growing popularity is Software-Implemented Hardware Fault Tolerance (SIHFT), which avoids expensive hardware mechanisms and can be applied application-specifically. However, SIHFT can, against intuition, cause more harm than good, because its overhead in execution time and memory space also increases the figurative “attack surface” of the system – it turns out that application-specific configuration of SIHFT is in fact a necessity rather than just an advantage. Consequently, target programs need to be analyzed for particularly critical spots to harden. SIHFT-hardened programs need to be measured and compared throughout all development phases of the program to observe reliability improvements or deteriorations over time. Additionally, SIHFT implementations need to be tested. The contributions of this dissertation focus on Fault Injection (FI) as an assessment technique satisfying all these requirements – analysis, measurement and comparison, and test. I describe the design and implementation of an FI tool, named Fail*, that overcomes several shortcomings in the state of the art, and enables research on the general drawbacks of simulation-based FI. As demonstrated in four case studies in the context of SIHFT research, Fail* provides novel fine-grained analysis techniques that exploit the newly gained possibility to analyze FI results from complete fault-space exploration. These analysis techniques aid SIHFT design decisions on the level of program modules, functions, variables, source-code lines, or single machine instructions. Based on the experience from the case studies, I address the problem of large computation efforts that accompany exhaustive fault-space exploration from two different angles: Firstly, I develop a heuristical fault-space pruning technique that allows to freely trade the total FI-experiment count for result accuracy, while still providing information on all possible faultspace coordinates. Secondly, I speed up individual TAP-based FI experiments by improving the fast-forwarding operation by several orders of magnitude for most workloads. Finally, I dissect current practices in FI-based evaluation of SIHFT-hardened programs, identify three widespread pitfalls in the result interpretation, and advance the state of the art by defining a novel comparison metric. | en |
dc.identifier.uri | http://hdl.handle.net/2003/35175 | |
dc.identifier.uri | http://dx.doi.org/10.17877/DE290R-17222 | |
dc.language.iso | en | de |
dc.subject | Fault injection | en |
dc.subject | Transient memory faults | en |
dc.subject | Software-implemented hardware fault tolerance | en |
dc.subject | Criticality analysis | en |
dc.subject | Fault-tolerance assessment | en |
dc.subject | FAIL* | en |
dc.subject | Fault-similarity pruning | en |
dc.subject | Smart-hopping | en |
dc.subject | Extrapolated absolute failure count | en |
dc.subject | Software-based fault tolerance | en |
dc.subject | Software test | en |
dc.subject.ddc | 004 | |
dc.subject.rswk | Fehlertoleranz | de |
dc.subject.rswk | Softwareentwicklung | de |
dc.title | Efficient fault-injection-based assessment of software-implemented hardware fault tolerance | en |
dc.type | Text | de |
dc.type.publicationtype | doctoralThesis | de |
dcterms.accessRights | open access |