Software Fault‐Tolerance Techniques

Mengfei Yang, Gengxin Hua, Yanjun Feng, Jian Gong · 2017

Two types of software fault-tolerance techniques are available to deal with transient faults: time-based and space-based redundancy. A typical time-based software fault-tolerance technique is recovery blocks (RcB). The typical space-based redundancy is software-implemented hardware fault-tolerance based on fault-tolerant compiler, and two-pass adjudicators (TPA). Some software fault-tolerance techniques can be used for both forward and backward recovery - for example, TPA. When the first-pass adjudicator fails, the second-pass adjudicator, which is backward recovery, is executed. During each adjudicator, the voting process used is typical forward recovery. N-version Programming (NVP) is a typical software forward recovery technique. Rollback recovery and RcB are typical forward recovery techniques. Currently, there are three categories of software fault-tolerance techniques: single-version software fault-tolerance techniques that tolerate transient fault; multiple-version software fault-tolerance techniques that tolerate faults of the software itself; and data diversity-based software fault-tolerance techniques.

Read the paper · More papers on PaperTik