| OCR Text |
Show 105 3.5.1 Top down decomposition In this section, we devise a more economic alternative to emulate the global stamping method and thus preserve the usabilities of stamping in the aforementioned recovery schemes. Note that a call tree may be decomposed into many subtrees according to the processor boundary. Each processor has a collection of subtrees which are mapped onto this processor. For example, processor C in the call tree (Figure 36) has subtrees {C1.C11,C12} and {C4}. Processor A has subtrees {A 1 }, {A2}, and {A3,A31 ,A31 1 }. Assume that a subtree is conceptually grouped into a single task, a call tree may be viewed as a processor graph, as shown in Figure 37. The approach to emulate the global level stamping is to build a local stamping layer underneath the processor graph structure. The combination of the processor graph and the local stamp constitutes a full emulation of the global stamping scheme. Such a hierarchical arrangement can be viewed as a top down decomposition of a call tree. Subtrees within a processor can be stamped by a simple counting method. Tasks within a subtree can be stamped in the same manner as the global stamping method which appends one digit per level. 3.5.2 Clamping Even though a local level stamp is more compact than a global stamp, the long single-descendant call tree remains (ref. Figure 35) to be a problem for local stamping. The problem may be eased by clamping tasks of a continuous linear graphs into one entity and all tasks within the entity share a common level stamp. A clamp field is created to distinguish tasks inside the entity. Since a task in an entity has one and only one descendant, the clamp field can be a plain incrementing counter. A 16-bit clamping field can accommodate up to 65,000 singularly stringed tasks. In case the clamp field overflows, the local stamp may descend one more level and restart the clamp count again. Clamping is a stra•ghtforward compression technique. It transforms a |