Article Preview
TopIntroduction
Algorithm based fault tolerance (ABFT), proposed by Huang and Abraham (1984), is a fault tolerance scheme that uses Concurrent Error Detection (techniques at a functional level). System level applications of ABFT techniques have also been investigated (Acree, Ullah, Karia, Rahmeh, & Abraham, 1993; Banerjee, Rahmeh, Stunkel, Nair, Roy, & Abraham, 1990). These techniques assume a general fault model which allows any single module in the system to be faulty (Huang & Abraham, 1984). ABFT is widely applicable and it has proved its cost-effectiveness especially when applied to array processor (Jou & Abraham, 1986). Fault detection and diagnosis are integral parts of any fault tolerance scheme. There are two ways to detect faults:
- (1)
By off-line checking.
- (2)
By concurrent checking.
In an off-line checking scheme, the process is checked for its correctness while it is not performing any useful computation. This approach has the beneficial that the performance of the computer will be unaffected by the checking operation; however, this kind of checking can detect only permanent faults. Transient faults, which constitute 76-81% of faults in a Digital system (Jou & Abraham, 1986), will not be detected by off-line checks. So that detects transient faults, concurrent error detection schemes such as duplication and comparisons have been suggested. It has been observed that ABFT techniques are very cost effective when applied to processes elements. It may be noted, however, that the application of ABFT techniques is not limited to multi-process systems; they are also applicable to algorithms running on single processes, probably with less efficiency. An algorithm executing on a multiple process system is specified as a sequence of operations performed on a set of processes in some discrete time steps.