Randomized Incremental Convex Hull is Highly Parallel

The randomized incremental convex hull algorithm is one of the most practical and important geometric algorithms in the literature. Due to its simplicity, and the fact that many points or facets can be added independently, it is also widely used in parallel convex hull implementations. However, to date there have been no non-trivial theoretical bounds on the parallelism available in these implementations. In this paper, we provide a strong theoretical analysis showing that the standard incremental algorithm is inherently parallel. In particular, we show that for n points in any constant dimension, the algorithm has O(log n) dependence depth with high probability. This leads to a simple work-optimal parallel algorithm with polylogarithmic span with high probability. Our key technical contribution is a new definition and analysis of the configuration dependence graph extending the traditional configuration space, which allows for asynchrony in adding configurations. To capture the "true" dependence between configurations, we define the support set of configuration c to be the set of already added configurations that it depends on. We show that for problems where the size of the support set can be bounded by a constant, the depth of the configuration dependence graph is shallow (O(log n) with high probability for input size n). In addition to convex hull, our approach also extends to several related problems, including half-space intersection and finding the intersection of a set of unit circles. We believe that the configuration dependence graph and its analysis is a general idea that could potentially be applied to more problems.

[1]  Richard Cole,et al.  Cascading divide-and-conquer: A technique for designing parallel algorithms , 1989, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[2]  Charles E. Leiserson,et al.  Ordering heuristics for parallel graph coloring , 2014, SPAA.

[3]  Herbert Edelsbrunner,et al.  Geometry and Topology for Mesh Generation , 2001, Cambridge monographs on applied and computational mathematics.

[4]  Guy E. Blelloch,et al.  Low depth cache-oblivious algorithms , 2010, SPAA '10.

[5]  Mariette Yvinec,et al.  Applications of random sampling to on-line algorithms in computational geometry , 1992, Discret. Comput. Geom..

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

[7]  Mark de Berg,et al.  Computational geometry: algorithms and applications , 1997 .

[8]  Jihad El-Sana,et al.  CudaHull: Fast parallel 3D convex hull on the GPU , 2012, Comput. Graph..

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

[10]  Mariette Yvinec,et al.  Algorithmic geometry , 1998 .

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

[12]  Richard P. Brent,et al.  The Parallel Evaluation of General Arithmetic Expressions , 1974, JACM.

[13]  Uzi Vishkin,et al.  Thinking in Parallel: Some Basic Data-Parallel Algorithms and Techniques , 2008 .

[14]  Uzi Vishkin,et al.  Optimal parallel approximation for prefix sums and integer sorting , 1994, SODA '94.

[15]  Guy E. Blelloch,et al.  Theoretically Efficient Parallel Graph Algorithms Can Be Fast and Scalable , 2018, SPAA.

[16]  Guy E. Blelloch,et al.  Greedy sequential maximal independent set and matching are parallel on average , 2012, SPAA '12.

[17]  Kenneth L. Clarkson,et al.  Applications of random sampling in computational geometry, II , 1988, SCG '88.

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

[19]  Guy E. Blelloch,et al.  Parallelism in Randomized Incremental Algorithms , 2018, J. ACM.

[20]  Dan Alistarh,et al.  Efficiency Guarantees for Parallel Incremental Algorithms under Relaxed Schedulers , 2019, SPAA.

[21]  R. Seidel Backwards Analysis of Randomized Geometric Algorithms , 1993 .

[22]  Jean-Daniel Boissonnat,et al.  On the Randomized Construction of the Delaunay Tree , 1993, Theor. Comput. Sci..

[23]  Anita Liu Chow Parallel algorithms for geometric problems , 1980 .

[24]  Guy E. Blelloch,et al.  Sequential Random Permutation, List Contraction and Tree Contraction are Highly Parallel , 2015, SODA.

[25]  Richard Cole,et al.  Resource Oblivious Sorting on Multicores , 2010, ICALP.

[26]  Dan Alistarh,et al.  Relaxed Schedulers Can Efficiently Parallelize Iterative Algorithms , 2018, PODC.

[27]  Matteo Frigo,et al.  The implementation of the Cilk-5 multithreaded language , 1998, PLDI.

[28]  Diego R. Llanos,et al.  Parallelizing 2 D-Convex Hulls on clusters : Sorting matters , .

[29]  John D. Owens,et al.  Finding Convex Hulls Using Quickhull on the GPU , 2012, ArXiv.

[30]  Pat Morin Optimal Randomized Parallel Algorithms for Computational Geometry , 2007 .

[31]  W ShorPeter,et al.  Applications of random sampling in computational geometry, II , 1989 .

[32]  Guy E. Blelloch,et al.  Parallel Write-Efficient Algorithms and Data Structures for Computational Geometry , 2018, SPAA.

[33]  Diego R. Llanos Ferraris,et al.  Speculative Parallelization of a Randomized Incremental Convex Hull Algorithm , 2004, ICCSA.

[34]  John H. Reif,et al.  Optimal randomized parallel algorithms for computational geometry , 2005, Algorithmica.

[35]  S. Sitharama Iyengar,et al.  Introduction to parallel algorithms , 1998, Wiley series on parallel and distributed computing.

[36]  Guy E. Blelloch,et al.  The Data Locality of Work Stealing , 2002, SPAA '00.

[37]  Nancy M. Amato,et al.  Parallel algorithms for higher-dimensional convex hulls , 1994, Proceedings 35th Annual Symposium on Foundations of Computer Science.

[38]  Raimund Seidel,et al.  Small-dimensional linear programming and convex hulls made easy , 1991, Discret. Comput. Geom..

[39]  Mikhail J. Atallah,et al.  Parallel algorithms for some functions of two convex polygons , 2005, Algorithmica.

[40]  Tiow Seng Tan,et al.  gHull: A GPU algorithm for 3D convex hull , 2013, TOMS.

[41]  Dimitris S. Papailiopoulos,et al.  Parallel Correlation Clustering on Big Graphs , 2015, NIPS.

[42]  Uzi Vishkin,et al.  Towards a theory of nearly constant time parallel algorithms , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[43]  Vivek Sarkar,et al.  The design and implementation of the habanero-java parallel programming language , 2011, OOPSLA Companion.

[44]  Guy E. Blelloch,et al.  Parallel Algorithms for Asymmetric Read-Write Costs , 2016, SPAA.

[45]  Diego R. Llanos Ferraris,et al.  Meseta: a new scheduling strategy for speculative parallelization of randomized incremental algorithms , 2005, 2005 International Conference on Parallel Processing Workshops (ICPPW'05).

[46]  Arturo Gonzalez-Escribano,et al.  Parallelization alternatives and their performance for the convex hull problem , 2006 .

[47]  Manuela Fischer,et al.  Tight Analysis of Parallel Randomized Greedy MIS , 2017, SODA.

[48]  Ketan Mulmuley,et al.  Computational geometry : an introduction through randomized algorithms , 1993 .

[49]  Vivek Sarkar,et al.  X10: an object-oriented approach to non-uniform cluster computing , 2005, OOPSLA '05.

[50]  Guy E. Blelloch,et al.  Just Join for Parallel Ordered Sets , 2016, SPAA.

[51]  Neelima Gupta,et al.  Faster output-sensitive parallel algorithms for 3D convex hulls and vector maxima , 2003, J. Parallel Distributed Comput..