| OCR Text |
Show 94 Thus, this study does not attempt to maintain two exactly identical redundant chains. The replicated chain is left in its primitive form. When a chtld receives a new entry from the parent task, it simply enqueues the entry 1n tts replicated chain. After a child has completed the evaluation, it disseminates the result to each entry in the replicated chain. Finally, it sends the result to the parent node along with a copy of the replicated chain. The parent task sub-tracts, or neutralizes, all entries of the replicated chain from the original chain and notifies the remaining entries. 3 . 4 .~ Modified algorithm The recovery protocol of section 3.4.2 is modified to reflect the addition of forward chaining. The general scenario of executing an applicative program remains the same, i.e., a task demands an unevaluated function, triggers an apply task, and completes the cycle when the demanded value is returned. LOOP CASE received packet OF forward result: Interpret the level stamp. CASE level stamp OF child: Place data at the location depicted by the level stamp. If a task can be continued, resume the task. Subtract all entries of replicated chain from the forward chain. Distribute data to all remaining entries in the forward chain. grandchild: Create a step-parent for the grandchild and set up its replicated chain if there isn't a step-parent already. Transport the result to its step-parent. others: Ignore the packet. fetch data: If the location has been evaluated, forward the data. Otherwise, DEMAND IT. apply packet: |