| OCR Text |
Show 92 Tasks t and g may run to completion if h can bypass the faulty m and deliver the answer. Therefore, the efforts of computing f and g are salvaged. In order to convey the value from h to f or g, task h needs to be able to access the forward chain > > > f > > > g when node m deceases. There are several places where such redundant information can be stored. Our approach is to duplicate the forward chain for task h at node h itself. 3.4.3.1 Redu~~~-t:'t forward chain. _In Figure· 32, task h maintains a redundant forward chain of the parent task m. This second copy is intended to be a backup forward chain for possible salvage of the incompleted orphans. However. since task h has prompt access to the forward chain, there is no reason why h cannot deliver the answer to f and g directly. The original chain, which resides in the parent node m, becomes the standby information. It is used for recovering possible loss of child task h and dealing with some idiosyncrasies between the two supposedly identical forward chains. The parent node m still requires an answer from h even though h has satisfied all members in the forward chain. There are multiple reasons. First, task m needs a reply from h to discard the forward chain. Second, task m needs a copy of the result to handle possible inconsistencies between the two chains. This is discussed in the next section. Third, there may be other demands for h long after task h has completed and disappeared. These demands are addressed to m. Task m can satisfy them with the evaluated result immediately. 3.4.3.2 Maintaining a redundant forward chain. A forward chain is not a static structure. When a new fetch requests a value that is still under evaluation ·, the fetch is registered at the forward chain. The parent then relays the new entry to the corresponding child task for updating the replicated chain. This relay and updating process creates a typical consistency problem in multiprocessor systems. Some standard method, like two-phase commit protocol [671 may be used to handle this problem. But, the vast overhead generally associated with these rigid approaches is likely to overshadow the bene.fits of redundancy. |