Towards code safety with high performance
Paper i proceeding, 2014
Reliability is a major issue for safety-critical embedded systems such as biomedical implants. In such systems, hardware fault tolerance techniques are usually not available in off-the-shelf processors, because of the intrinsic energy costs of hardware duplication or triplication. As an alternative, software schemes based on compiler transformations are used for error detection and recovery. A common software error class caused by hardware transient faults is Control-Flow Errors (CFEs). In this paper we demonstrate how a new technique based on software instrumentation can benefit from loop-unrolling, with huge impact on control-flow reliability. We show the impact of loop-unrolling on fault-coverage and performance of these schemes. Thanks to the proposed approach, significant fault-coverage concerning CFE can be obtained with no extra costs, and even faster than other available techniques with the same fault-coverage level.