Multisearch Techniques: Parallel Data Structures on Mesh-Connected Computers

Abstract The multisearch problem is defined as follows. Given a data structure D modeled as a graph with n constant-degree nodes, perform O(n) searches on D. Let r be the length of the longest search path associated with a search process, and assume that the paths are determined "on-line." That is, the search paths may overlap arbitrarily. In this paper, we solve the multisearch problem for certain classes of graphs in O([formula] + r ([formula]/log n)) time on a [formula] × [formula]n mesh-connected computer. For many data structures, the search path traversed when answering one search query has length r = O(log n). For these cases, our algorithm processes O(n) such queries in asymptotically optimal Θ([formula]) time. The classes of graphs we consider contain many of the important data structures that arise in practice, ranging from simple trees to Kirkpatrick hierarchical search DAGs. Multisearch is a useful abstraction that can be used to implement parallel versions of standard sequential data structures on a mesh. As example applications, we consider a variety of parallel on-line tree traversals, as well as hierarchical representations of polyhedra and its myriad of applications (line-polyhedron intersection queries, multiple tangent plane determination, intersecting convex polyhedra, and three-dimensional convex hull).

[1]  Uzi Vishkin,et al.  Parallel Dictionaries in 2-3 Trees , 1983, ICALP.

[2]  Mikhail J. Atallah,et al.  Solving tree problems on a mesh-connected processor array , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[3]  Jyh-Jong Tsay,et al.  Searching tree structures on a mesh of processors , 1992, SODA '92.

[4]  Ivan Stojmenovic,et al.  A Note on Determinig the 3-Dimensional Convex Hull of a Set of Points on a Mesh of Processors , 1988, SWAT.

[5]  Bernard Chazelle,et al.  An optimal algorithm for intersecting three-dimensional convex polyhedra , 1989, 30th Annual Symposium on Foundations of Computer Science.

[6]  Russ Miller,et al.  Mesh Computer Algorithms for Computational Geometry , 1989, IEEE Trans. Computers.

[7]  Russ Miller,et al.  Parallel algorithms for regular architectures , 1996 .

[8]  Herbert Edelsbrunner,et al.  Algorithms in Combinatorial Geometry , 1987, EATCS Monographs in Theoretical Computer Science.

[9]  David G. Kirkpatrick,et al.  A Linear Algorithm for Determining the Separation of Convex Polyhedra , 1985, J. Algorithms.

[10]  F. Frances Yao,et al.  Computational Geometry , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[11]  Mikhail J. Atallah,et al.  Techniques for solving geometric problems on mesh-connected computers , 1990 .

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

[13]  Afonso Ferreira,et al.  A massively parallel knowledge-base server using a hypercube multiprocessor , 1990, [1990] Proceedings of the 2nd International IEEE Conference on Tools for Artificial Intelligence.

[14]  H. Edelsbrunner A new approach to rectangle intersections part I , 1983 .

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

[16]  David G. Kirkpatrick,et al.  Fast Detection of Polyhedral Intersection , 1983, Theor. Comput. Sci..

[17]  David G. Kirkpatrick,et al.  Parallel Construction of Subdivision Hierarchies , 1989, J. Comput. Syst. Sci..

[18]  David G. Kirkpatrick,et al.  Fast Detection of Polyhedral Intersections , 1982, ICALP.

[19]  H. T. Kung,et al.  Sorting on a mesh-connected parallel computer , 1976, STOC '76.

[20]  Nancy M. Amato,et al.  The parallel 3D convex hull problem revisited , 1992, Int. J. Comput. Geom. Appl..

[21]  Anil K. Jain,et al.  Algorithms for Clustering Data , 1988 .

[22]  David G. Kirkpatrick,et al.  Optimal Search in Planar Subdivisions , 1983, SIAM J. Comput..

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

[24]  Oscar H. Ibarra,et al.  Triangulation in a plane and 3D convex hull on mesh-connected arrays and hypercubes , 1991, [1991] Proceedings. The Fifth International Parallel Processing Symposium.

[25]  Russ Miller,et al.  Efficient Parallel Convex Hull Algorithms , 1988, IEEE Trans. Computers.

[26]  Andrew Rau-Chaplin,et al.  Implementing Data Structures on a Hypercube Multiprocessor, and Applications in Parallel Computational Geometry , 1989, J. Parallel Distributed Comput..

[27]  Sartaj Sahni,et al.  Bitonic Sort on a Mesh-Connected Parallel Computer , 1979, IEEE Transactions on Computers.

[28]  Hanan Samet,et al.  The Quadtree and Related Hierarchical Data Structures , 1984, CSUR.