| OCR Text |
Show Execute the task. DO each instruction if encounter an unevaluated function, DEMAND IT . if cannot proceed, suspend the task. UNTIL completion. Distribute the result to each entry of the replicate chai n. Send result to parent along with a list of notified entries. If the parent is dead, notify the grandparent and send the result to the grandparent. add_an_entry: If the level stamp no longer exists, ignore it. Otherwise, enqueue it at the corresponding replicated chain. error-detection: ENDLOOP. Find the most ancient offspring of all branches, respawn all these applies. Establish transport mechanism for relaying partial results. 95 The meaning of routine DEMAND IT has not changed, but the routine has to check whether the demanded function is being evaluated. DEMAND IT: IF the value is being evaluated, THEN enqueue the request in the forward chain ELSE End DEMAND_IT. send an add_an_entry packet to the child task create an apply closure level-stamp th~ apply packet attach parent identification of the apply attach grandparent identification of the apply attach the forward chain entry queue the packet to apply_q for load manager functional checkpoint the packet 3.4.5 Correctness of the recovery The successful evaluation of an applicative program is signaled by the completion of the root task. A necessary condition of C<?mpleting the root evaluation is to satisfactorily compute all immediate descendants of the root. This observation, when applied recursively, implies that all tasks must be evaluated correctly. |