Parallel Algorithms for River Routing.

Abstract : It is well-known that many of the optimization problems arising in VLSI routing are NP-complete (e.g. [KL],[L],[SB],[S]). One notable exception is the class of river routing problems associated with a hierachical layout strategy such as Bristle-Blocks([J]). See ([D et al],(LP],[P],[SD],[T]) for more examples. Efficient serial solutions have already appeared in the literature for most of these problems. In this paper, fast parallel algorithms for several river routing problems are presented. These algorithms are efficient in the sense that the number of processors used is O(n), where n is the size of the input. Most of the known algorithms seem to be inherently sequential and new techniques are developed to obtain these parallel algorithms. We consider two models of parallel computation: the Concurrent Read Exclusive Write (CREW) PRAM model and the two-dimensional mesh of processors. We are assuming that the reader is familiar with both of these parallel models and the corresponding parallel techniques such as path doubling, prefix computation, sorting and the Euler tour technique. We obtain fast and efficient parallel algorithms for all the problems considered. In particular, O(log n) or O(log squared n) time algorithms with O(n) processors are developed for the separation problem, the minimum offset problem and for the routability problem around a rectilinear polygon ([P]). For the mesh, our algorithms all run in time O(square root of n) except for the offset problem whose algorithm runs in time O(square root of n log n). Optimal algorithms are developed for several subproblems that are interesting in their own. One such subproblem is to determine the contours of the unions of sets of contours within a rectilinear polygon.