An efficient VLSI architecture with applications to geometric problems

Abstract We present a parallel organization with a reduced number of processors and special communication features for efficient solutions to problems in computational geometry. The organization has n processors operating in synchronous mode with row and column access to an n × n array of memory modules. The organization has simple regular structure and can be implemented in VLSI on a single chip or using a limited chip set. We develop fast parallel algorithms for computing several geometric properties of a set of n 2 points in the plane. We present O( n log n ) time parallel algorithms to compute the convex hull of n 2 points in the plane, to compute the intersection of two convex polygons each having n 2 edges, and to compute the diameter and a smallest enclosing box of a set of n 2 points. All these problems require O( n 2 log n ) sequential time. Thus, all our solutions are optimal in the sense that their processor-time product is equal to the sequential complexity of these problems. We also consider the problem of computing nearest neighbors when the n 2 points belong to an n × n digitized image. We show that this problem can be solved on the proposed parallel organization in O( n ) time using n PEs, which is the same time taken by a two-dimensional mesh-connected computer with n 2 processors to solve the same problem.

[1]  Russ Miller,et al.  COMPUTATIONAL GEOMETRY ON A MESH-CONNECTED COMPUTER. , 1984 .

[2]  F. P. Preparata,et al.  Convex hulls of finite sets of points in two and three dimensions , 1977, CACM.

[3]  Allan Borodin,et al.  Routing, Merging, and Sorting on Parallel Models of Computation , 1985, J. Comput. Syst. Sci..

[4]  Azriel Rosenfeld,et al.  Parallel Image Processing by Memory-Augmented Cellular Automata , 1981, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[5]  Herbert Freeman,et al.  Determining the minimum-area encasing rectangle for an arbitrary closed curve , 1975, CACM.

[6]  Bernard Chazelle Computational Geometry on a Systolic Chip , 1984, IEEE Transactions on Computers.

[7]  Kai Hwang,et al.  Computer architecture and parallel processing , 1984, McGraw-Hill Series in computer organization and architecture.

[8]  Robert Michael Owens,et al.  An architecture for a VLSI FFT processor , 1983, Integr..

[9]  Sartaj Sahni,et al.  Data broadcasting in SIMD computers , 1981, IEEE Transactions on Computers.

[10]  Steven L. Tanimoto A pyramidal approach to parallel processing , 1983, ISCA '83.

[11]  Michael Ian Shamos,et al.  Geometric complexity , 1975, STOC.

[12]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[13]  Kenneth E. Batcher,et al.  Design of a Massively Parallel Processor , 1980, IEEE Transactions on Computers.

[14]  Harold S. Stone,et al.  Parallel Processing with the Perfect Shuffle , 1971, IEEE Transactions on Computers.

[15]  Robert F. Sproull,et al.  Principles in interactive computer graphics , 1973 .

[16]  Kenneth E. Batcher,et al.  Sorting networks and their applications , 1968, AFIPS Spring Joint Computing Conference.

[17]  H. M. Alnuweiri,et al.  Optimal image computations on reduced VLSI architectures , 1989 .

[18]  Michael Ian Shamos,et al.  Computational geometry: an introduction , 1985 .

[19]  Ronald L. Graham,et al.  An Efficient Algorithm for Determining the Convex Hull of a Finite Planar Set , 1972, Inf. Process. Lett..

[20]  Viktor K. Prasanna,et al.  Optimal VLSI Sorting with Reduced Number of Processors , 1991, IEEE Trans. Computers.

[21]  Thomas E. Dillinger VLSI Engineering , 1984, Lecture Notes in Computer Science.

[22]  S. N. Maheshwari,et al.  Efficient VLSI Networks for Parallel Processing Based on Orthogonal Trees , 1983, IEEE Transactions on Computers.

[23]  H. T. Kung,et al.  Sorting on a mesh-connected parallel computer , 1977, CACM.

[24]  Azriel Rosenfeld,et al.  Digital Picture Processing , 1976 .

[25]  Russ Miller,et al.  Geometric Algorithms for Digitized Pictures on a Mesh-Connected Computer , 1985, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[26]  Jeffrey D Ullma Computational Aspects of VLSI , 1984 .

[27]  Mikhail J. Atallah,et al.  Efficient Parallel Solutions to Some Geometric Problems , 1986, J. Parallel Distributed Comput..

[28]  F. Frances Yao,et al.  Finding the Convex Hull of a Simple Polygon , 1983, J. Algorithms.

[29]  Leonidas J. Guibas,et al.  Parallel computational geometry , 1988, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[30]  Viktor K. Prasanna,et al.  Array Processor with Multiple Broadcasting , 1985, ISCA.

[31]  Russ Miller,et al.  Convexity algorithms for parallel machines , 1988, Proceedings CVPR '88: The Computer Society Conference on Computer Vision and Pattern Recognition.

[32]  Godfried T. Toussaint,et al.  PATTERN RECOGNITION AND GEOMETRICAL COMPLEXITY. , 1980 .

[33]  Lynn Conway,et al.  Introduction to VLSI systems , 1978 .

[34]  Sartaj Sahni,et al.  Finding Connected Components and Connected Ones on a Mesh-Connected Parallel Computer , 1980, SIAM J. Comput..

[35]  Viktor K. Prasanna,et al.  A VLSI-Based Multiprocessor Architecture for Implementing Parallel Algorithms , 1985, International Conference on Parallel Processing.