| OCR Text |
Show 101 traversing overhead. Wrap-around list or threaded link tree [39] is also very difficult to implement in a dynamic evaluation environment like appl icative systems. 3.4.6.2 Multiple faults. Both the rollback and splicing recoveries use functional checkpoints to tolerate hardware failure or failures. Although single node failure is assumed throughout the discussion, it is obvious that the rollback recovery is not limited to tolerate only single node failure. The difference between multiple faults and single fault in the rollback algorithm is the placement of the recovery border in the evaluation graph. The splicing recovery can handle some combinations of multiple faults gracefully. For example, multiple failures on different branches of a structure do not disturb the recovery algorithm at all. Separate recoveries take place at different parts of the program in parallel. However, if both the parent and grandparent of a task fail simultaneously, the orphan task would be stranded. The resilient structure concept can be extended to include pointers to the great grandparent and beyond to tolerate multiple failures on one branch of the graph. But. the preferred alternative is to consider the simple rollback recovery as a fall-back algorithm for the splice recovery. In case the splice algorithm fails to retrieve some partial results, the system can still redo the whole branch _of the program. Blending. both recovery methods is a straightforward exercise. Both algorithms can run harmoniously without any interference. A parent task may regenerate a step-child when the parent detects a failure of a child node (rollback recovery). When a partial result comes back from a grandchild, it is transported to the step-child (splice recovery). If multiple faults inhibit any partial result to be retrieved, the step-child generated by the rollback continues in dependently. 3.4.6.3 Hardware redundancy. In a hardware redundant fault tolerant system, several redundant machines execute an identical program on replicated data objects. The results produced by these machines are compared with each |