Table of Contents
Fetching ...

FastFlip: Compositional Error Injection Analysis

Keyur Joshi, Rahul Singh, Tommaso Bassetto, Sarita Adve, Darko Marinov, Sasa Misailovic

TL;DR

FastFlip introduces a compositional, incremental framework for instruction-level error injection analysis that combines empirical per-instruction injections with symbolic SDC propagation to predict end-to-end SDC impact. By partitioning programs into sections, FastFlip reuses analysis across evolving software, re-analyzing only modified sections and downstream dataflow, and then selects a minimal-cost set of instructions to protect to meet a target SDC fraction using a 0-$1$ knapsack optimization. The approach leverages Approxilyzer for per-instruction injection and Chisel for SDC propagation, supplemented by a local sensitivity analysis to bound amplification, achieving notable speedups (e.g., $3.2\times$ geomean) on incremental changes while preserving protection quality. Empirical results across five benchmarks show FastFlip closely matches baselines in protection value with modest cost overhead and demonstrate the value of target adjustment and error-detection mechanisms for robust SDC mitigation in evolving software.

Abstract

Instruction-level error injection analyses aim to find instructions where errors often lead to unacceptable outcomes like Silent Data Corruptions (SDCs). These analyses require significant time, which is especially problematic if developers wish to regularly analyze software that evolves over time. We present FastFlip, a combination of empirical error injection and symbolic SDC propagation analyses that enables fast, compositional error injection analysis of evolving programs. FastFlip calculates how SDCs propagate across program sections and correctly accounts for unexpected side effects that can occur due to errors. Using FastFlip, we analyze five benchmarks, plus two modified versions of each benchmark. FastFlip speeds up the analysis of incrementally modified programs by $3.2\times$ (geomean). FastFlip selects a set of instructions to protect against SDCs that minimizes the runtime cost of protection while protecting against a developer-specified target fraction of all SDC-causing errors.

FastFlip: Compositional Error Injection Analysis

TL;DR

FastFlip introduces a compositional, incremental framework for instruction-level error injection analysis that combines empirical per-instruction injections with symbolic SDC propagation to predict end-to-end SDC impact. By partitioning programs into sections, FastFlip reuses analysis across evolving software, re-analyzing only modified sections and downstream dataflow, and then selects a minimal-cost set of instructions to protect to meet a target SDC fraction using a 0- knapsack optimization. The approach leverages Approxilyzer for per-instruction injection and Chisel for SDC propagation, supplemented by a local sensitivity analysis to bound amplification, achieving notable speedups (e.g., geomean) on incremental changes while preserving protection quality. Empirical results across five benchmarks show FastFlip closely matches baselines in protection value with modest cost overhead and demonstrate the value of target adjustment and error-detection mechanisms for robust SDC mitigation in evolving software.

Abstract

Instruction-level error injection analyses aim to find instructions where errors often lead to unacceptable outcomes like Silent Data Corruptions (SDCs). These analyses require significant time, which is especially problematic if developers wish to regularly analyze software that evolves over time. We present FastFlip, a combination of empirical error injection and symbolic SDC propagation analyses that enables fast, compositional error injection analysis of evolving programs. FastFlip calculates how SDCs propagate across program sections and correctly accounts for unexpected side effects that can occur due to errors. Using FastFlip, we analyze five benchmarks, plus two modified versions of each benchmark. FastFlip speeds up the analysis of incrementally modified programs by (geomean). FastFlip selects a set of instructions to protect against SDCs that minimizes the runtime cost of protection while protecting against a developer-specified target fraction of all SDC-causing errors.
Paper Structure (73 sections, 12 equations, 2 figures, 8 tables, 2 algorithms)

This paper contains 73 sections, 12 equations, 2 figures, 8 tables, 2 algorithms.

Figures (2)

  • Figure 1: Protection value (left) and cost (right) comparison. Note the strong overlap within each plot.
  • Figure 2: The FastFlip approach. Green boxes with dashed outlines and bold text are initial inputs and final results. Blue boxes with dashed outlines and normal text are intermediate results. Pink boxes with solid outlines and bold text are steps executed by FastFlip. Orange boxes with solid outlines and normal text are steps executed by the sub-analyses. The dotted box shows the portion of the approach that is applied to each section.