Difficult to achieve Software Fault Tolerance as compared to Hardware Fault Tolerance

The popular technique to achieve hardware fault tolerance is through redundancy. However, it much harder to achieve software fault tolerance compared to hardware fault tolerance.

A few approaches have been proposed for software modeled on the redundancy techniques used in achieving hardware fault tolerance. The reason is the statistical correlation of failures for software.

The different versions of a software component show similar failure patterns, i.e., they fail due to identical reasons. Moreover, fault tolerance using redundancy can only be applied to real time tasks if they have large deadlines.