| OCR Text |
Show 102 tation; doing so would probably result in slightly poorer perlormance but the ability to run much larger problems. Recovering binding stack space is difficult because of the concurrency of stack recovery and additions to the binding lists. Removing a non-head element from the end of the local binding list is straightforward: 1. Find the element's predecessor on the local binding list. 2. Lock the predecessor and the element itself. 3. Set the local link field of the predecessor to NIL. 4. Unlock the predecessor. The defunct element can now release its memory. Removal of an element which is on the global binding list is much more difficult because other processors may be adding or removing other elements simultaneously. Locking the element's predecessor to revise its remote link field is difficult because its identity as predecessor may change between the inspection of its "next" field and its being locked. One solution to this problem is to lock the entire global binding list when removing elements from it. Since the binding list is circular, the sequence of locking all elements must begin at the same element for all processes which attempt it. If two processes begin locking with different elements, deadlock will result. To avoid this hazard, the existing element on the lowestnumbered node could be used as a common starting point. This solution, however, requires much locking, remote references, and checks to make sure that the element identified as being on the lowest-numbered node does not change during locking. 5.1.5 Locality With a multi-sequential implementation on a machine with a penalty for remote accesses, locality is of great concem. When disambiguating variables may involve traversing a distributed binding list, locality becomes even more important. The statistics for variable dereferencing in Table 5 show that the value cells actually examined during dereferencing are overwhelmingly local. Remote value cells account for only a small fraction of the total value cells examined. Although the value |