| OCR Text |
Show Level-stamp the apply packet. Attach parent identification of the apply. Attach grandparent identification of the apply. Queue the apply packet to load balancing manager. Functional checkpoint the packet. End DEMAND IT. 91 As a rule of thumb, if a processor receives a packet and cannot find a proper rule to handle it, the processor simply ignores the received message. Note that the overhead of splice recovery protocol is small. By using the level stamps as tags for a program structure, the apparent overhead for establish ing a resilient structure is a physical identification of grandparent node which may be just an integer. 3.4.3 Forward chaining and resiliency The above discussion on the splice recovery assumes that there is no for-ward chaining during unfolding of a program structure. Although an applicative program can be evaluated in such a way that there is not any sharing of a common result at all, it would be a serious flaw to impose such a restraint onto every applicative program. Forward chaining [32] suggests one means to cluster the demands of the same function and share the result when it becomes available. Thus, unnecessary replications of function evaluations can be eliminated. As an example, Figure 31 shows that task m spaw.ns f and g. Suppose that tasks f and g fetch the same location from m which causes m to spawn h. Tasks f and g form a forward chain, shown as > > > f > > > g, at the demanded location in m. Task m distributes the answer to f and g when the return from h arrives. If node m fails while the forward chain > > > f > > > g is still outstanding, the returns from h would not be able to forward to f or g. As a result, tasks f and g are stranded by the death ·of m. Computations performed by f and g are abandoned. Eventually, task k creates a recovery task m and in turn regenerates f and g. |