2014
DOI: 10.1007/978-3-319-14325-5_47
|View full text |Cite
|
Sign up to set email alerts
|

FlipIt: An LLVM Based Fault Injector for HPC

Abstract: Abstract. High performance computing (HPC) is increasingly subjected to faulty computations. The frequency of silent data corruptions (SDCs) in particular is expected to increase in emerging machines requiring HPC applications to handle SDCs. In this paper we, propose a robust fault injector structured through an LLVM compiler pass that allows simulation of SDCs in various applications. Although fault injection locations are enumerated at compile time, their activation is purely at runtime and based on a user-… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
27
0

Year Published

2017
2017
2023
2023

Publication Types

Select...
3
2
2

Relationship

0
7

Authors

Journals

citations
Cited by 43 publications
(27 citation statements)
references
References 15 publications
0
27
0
Order By: Relevance
“…To capture and extract these patterns, however, a new method is required. While some methods exist to inject faults and statistically quantify their manifestation, such as random fault injection [2], [9], [10], [11], [12], and to use program analysis [13], [14], [15], [16], [17] to track errors on individual instructions, these methods miss the fine-grained information on error propagation as well as the context needed to explain, at a fine granularity, how errors propagate and consequently how natural resilient computations occur. In other words, these approaches do not provide the needed reasoning about how multiple computations work together to make an error disappear or to diminish its impact.…”
Section: Introductionmentioning
confidence: 99%
“…To capture and extract these patterns, however, a new method is required. While some methods exist to inject faults and statistically quantify their manifestation, such as random fault injection [2], [9], [10], [11], [12], and to use program analysis [13], [14], [15], [16], [17] to track errors on individual instructions, these methods miss the fine-grained information on error propagation as well as the context needed to explain, at a fine granularity, how errors propagate and consequently how natural resilient computations occur. In other words, these approaches do not provide the needed reasoning about how multiple computations work together to make an error disappear or to diminish its impact.…”
Section: Introductionmentioning
confidence: 99%
“…Recently, a number of compiler-based FI frameworks have been developed using the LLVM compiler [19]-some examples are LLFI [36], KULFI [32], VULFI [31], and FlipIt [6]. These methods are easy to use in large-scale parallel programs, and cooperate well with error propagation analysis frameworks since these frameworks typically operate at the compiler level too.…”
Section: Background and Related Workmentioning
confidence: 99%
“…The way in which most LLVM IR-based FI tools inject faults into IR instructions is by adding a function call to the target instruction [6,31,32,36]. This function call performs large changes to the value of the result of the instruction or its arguments, and it may get inlined after optimization passes.…”
Section: (C) X64 Assembly Including Fi Instrumentationmentioning
confidence: 99%
See 2 more Smart Citations