| OCR Text |
Show 96 In order to guarantee a task can be evaluated, the task has to be generated in the first place. This means, every task is flawlessly reproducible even if some processor may fail during the evaluation. Reproduct bi lity of tasks is the main criterion for a resilient applicative system. Theoretically, a regenerated task will complete without any side-effects from its ill-fated predecessor. However, any realistic implementation would inevitably have some nonapplicative aspects. For example, a dynamic load balancing mechanism is not necessarily determinate. Therefore, the second criterion of a correct recovery mechanism is to assure that there is no residue effects from the failed processor. 3.4.5.1 Reproducibility. If the failed processor contains the root of a task tree, the regeneration of the root does not come naturally with the recovery schemes. The user must restart the program, or a preevaluation functional checkpoint needs to be implemented. One simple method to generate a preevaluation checkpoint is to create a super-root which acts as the parent processor of all user programs. When a user program is initiated, the super-root checkpoints the program so that a duplicate copy of the program can be found in the system should the root fall. With this modification, every task in an applicative program has a parent. fA parent task is capable of generating and regenerating any imme·diate child task as long as the parent is informed by some error ·detecting mechanism. This satisfies the reproduci bi I ity requirement of a correct recovery algorithm. 3.4.5.2 Residue effects. Without loss of generality, evaluation of an applicative tree can be typified by scrutinizing the spawning process of a threetask sequence. Figure 33 shows the state transition diagram of spawning and reduction of task P. Task P spawns task a which subsequently spawns R. Note that states b and d are transient . . The existence of transient states is a result of the dynamic load balancing method. The pointers being produced and reduced among tasks of each state are depicte'd in Figure 34. The pointer from a to its grandparent and the pointers |