An efficient compensation-path finding algorithm for a large-scale processor array

This 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).

[1]  W. Kent Fuchs,et al.  Efficient Spare Allocation for Reconfigurable Arrays , 1987 .

[2]  W.R. Moore,et al.  A review of fault-tolerant techniques for the enhancement of integrated circuit yield , 1986, Proceedings of the IEEE.

[3]  Sun-Yuan Kung,et al.  Fault-Tolerant Array Processors Using Single-Track Switches , 1989, IEEE Trans. Computers.

[4]  Jaynarayan H. Lala,et al.  Fault tolerant parallel processor architecture overview , 1988, [1988] The Eighteenth International Symposium on Fault-Tolerant Computing. Digest of Papers.

[5]  Frank Thomson Leighton,et al.  Wafer-Scale Integration of Systolic Arrays , 1985, IEEE Trans. Computers.

[6]  Renato Stefanelli,et al.  Reconfigurable architectures for VLSI processing arrays , 1986 .

[7]  C. Bron,et al.  Algorithm 457: finding all cliques of an undirected graph , 1973 .

[8]  Nany Hasan,et al.  Minimum fault coverage in reconfigurable arrays , 1988, [1988] The Eighteenth International Symposium on Fault-Tolerant Computing. Digest of Papers.

[9]  Sudhakar M. Reddy,et al.  On the Design of Fault-Tolerant Two-Dimensional Systolic Arrays for Yield Enhancement , 1989, IEEE Trans. Computers.

[10]  Janak H. Patel,et al.  Diagnosis and Repair of Memory with Coupling Faults , 1989, IEEE Trans. Computers.

[11]  W. Kent Fuchs,et al.  Spare allocation and reconfiguration in large area VLSI , 1988, 25th ACM/IEEE, Design Automation Conference.Proceedings 1988..