SEPLJun 29, 2016

PRESAGE: Protecting Structured Address Generation against Soft Errors

arXiv:1606.08948v13 citations
Originality Incremental advance
AI Analysis

This work addresses the reliability issue in modern computer systems for applications that rely on large arrays, though it is incremental as it builds on existing error detection methods.

The paper tackles the problem of silent data corruptions from soft errors during address generation by introducing PRESAGE, a lightweight compiler-driven technique that achieves high error-detection rates with low overheads, as demonstrated in experiments using the PolyBench benchmark suite.

Modern computer scaling trends in pursuit of larger component counts and power efficiency have, unfortunately, lead to less reliable hardware and consequently soft errors escaping into application data ("silent data corruptions"). Techniques to enhance system resilience hinge on the availability of efficient error detectors that have high detection rates, low false positive rates, and lower computational overhead. Unfortunately, efficient detectors to detect faults during address generation (to index large arrays) have not been widely researched. We present a novel lightweight compiler-driven technique called PRESAGE for detecting bit-flips affecting structured address computations. A key insight underlying PRESAGE is that any address computation scheme that flows an already incurred error is better than a scheme that corrupts one particular array access but otherwise (falsely) appears to compute perfectly. Enabling the flow of errors allows one to situate detectors at loop exit points, and helps turn silent corruptions into easily detectable error situations. Our experiments using PolyBench benchmark suite indicate that PRESAGE-based error detectors have a high error-detection rate while incurring low overheads.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes