Abstract

AbstractThis paper presents an algorithm for constructing a systolic array from a large‐scale rectangular grid array of processing elements (PEs), some of which may be faulty. Very recently, Kung et al. reduced this construction problem to finding compensation paths (CPs) which are extended from faulty PEs to spare PEs placed on the periphery of the rectangular array, and which satisfy the following conditions. Each of the CPs: (1) must be a horizontal or vertical straight line; (2) must not go through any other faulty PE; (3) must not cross any other CP; and (4) for each of the CPs there exists no other CP running in parallel and in the opposite direction with distance 1.The algorithm of this paper solves the foregoing CP finding problem efficiently by taking advantage of certain properties of the grid array. Suppose that the array is placed on the x‐y plane. First, the algorithm sorts the faulty PEs with respect to their x and y coordinates and constructs four queues for faulty PEs. Then it attempts repeatedly to find CPs for the four PEs at the exits of the four queues. At this step it uses a novel branch‐and‐bound method considering the relative positions of the four faulty PEs on the x‐y plane. The time complexity of the algorithm is O(n3) in the worst cases, where n is the number of faulty PEs. However, it can be shown that such cases rarely happen, and in almost all cases it solves the problem in O(n2) time. The space complexity is O(n).

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call