Parallel Write-Efficient Algorithms and Data Structures for Computational Geometry

In this paper, we design parallel write-efficient geometric algorithms that perform asymptotically fewer writes than standard algorithms for the same problem. This is motivated by emerging non-volatile memory technologies with read performance being close to that of random access memory but writes being significantly more expensive in terms of energy and latency. We design algorithms for planar Delaunay triangulation, k -d trees, and static and dynamic augmented trees. Our algorithms are designed in the recently introduced Asymmetric Nested-Parallel Model, which captures the parallel setting in which there is a small symmetric memory where reads and writes are unit cost as well as a large asymmetric memory where writes are $ømega$ times more expensive than reads. In designing these algorithms, we introduce several techniques for obtaining write-efficiency, including DAG tracing, prefix doubling, and α-labeling, which we believe will be useful for designing other parallel write-efficient algorithms.

[1]  Nodari Sitchinava Computational geometry in the parallel external memory model , 2012, SIGSPACIAL.

[2]  Sariel Har-Peled Geometric Approximation Algorithms , 2011 .

[3]  Jon Louis Bentley,et al.  Decomposable Searching Problems , 1979, Inf. Process. Lett..

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

[5]  Edward M. Reingold,et al.  Binary search trees of bounded balance , 1972, SIAM J. Comput..

[6]  Dipl.-Ing,et al.  Real-time Rendering , 2022 .

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

[8]  Antonin Guttman,et al.  R-trees: a dynamic index structure for spatial searching , 1984, SIGMOD '84.

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

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

[11]  Guy E. Blelloch,et al.  Algorithmic Building Blocks for Asymmetric Memories , 2018, ESA.

[12]  John Salmon,et al.  Automatic Creation of Object Hierarchies for Ray Tracing , 1987, IEEE Computer Graphics and Applications.

[13]  Guy E. Blelloch,et al.  Design and Implementation of a Practical Parallel Delaunay Algorithm , 1999, Algorithmica.

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

[15]  Leonidas J. Guibas,et al.  Randomized incremental construction of Delaunay and Voronoi diagrams , 1990, Algorithmica.

[16]  Sanguthevar Rajasekaran,et al.  Optimal and Sublogarithmic Time Randomized Parallel Sorting Algorithms , 1989, SIAM J. Comput..

[17]  Ingo Wald,et al.  Ray tracing deformable scenes using dynamic bounding volume hierarchies , 2007, TOGS.

[18]  Jeffrey Scott Vitter,et al.  Optimal External Memory Interval Management , 2003, SIAM J. Comput..

[19]  Richard Cole,et al.  Parallel merge sort , 1988, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[20]  S. Rao Kosaraju,et al.  A decomposition of multidimensional point sets with applications to k-nearest-neighbors and n-body potential fields , 1995, JACM.

[21]  Guy E. Blelloch,et al.  A Top-Down Parallel Semisort , 2015, SPAA.

[22]  Guy E. Blelloch,et al.  Sorting with Asymmetric Read and Write Costs , 2015, SPAA.

[23]  Robert E. Tarjan,et al.  Updating a Balanced Search Tree in O(1) Rotations , 1983, Inf. Process. Lett..

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

[25]  Guy E. Blelloch,et al.  Pipelining with Futures , 1997, SPAA '97.

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

[27]  Alok Aggarwal,et al.  The input/output complexity of sorting and related problems , 1988, CACM.

[28]  Guy E. Blelloch,et al.  Parallel Range and Segment Queries with Augmented Maps , 2018, ArXiv.

[29]  Peter Sanders,et al.  Fast Parallel Operations on Search Trees , 2015, 2016 IEEE 23rd International Conference on High Performance Computing (HiPC).

[30]  Danny Z. Chen,et al.  Deterministic Parallel Computational Geometry , 2000, Handbook of Computational Geometry.

[31]  Ronald L. Rivest,et al.  Introduction to Algorithms, third edition , 2009 .

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

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

[34]  Guy E. Blelloch,et al.  Efficient Algorithms with Asymmetric Read and Write Costs , 2015, ESA.

[35]  David Eppstein,et al.  Wear Minimization for Cuckoo Hashing: How Not to Throw a Lot of Eggs into One Basket , 2014, SEA.

[36]  Sivan Toledo,et al.  Competitive analysis of flash memory algorithms , 2011, TALG.

[37]  Michael T. Goodrich,et al.  Finding the Convex Hull of a Sorted Point Set in Parallel , 1987, Inf. Process. Lett..

[38]  Uzi Vishkin,et al.  Recursive *-tree parallel data-structure , 1989, 30th Annual Symposium on Foundations of Computer Science.

[39]  Stratis Viglas,et al.  Adapting the B + -tree for Asymmetric I/O , 2012, ADBIS.

[40]  Sivan Toledo,et al.  Algorithms and data structures for flash memories , 2005, CSUR.

[41]  Kyuseok Shim,et al.  FAST: Flash-aware external sorting for mobile database systems , 2009, J. Syst. Softw..

[42]  James Demmel,et al.  Write-Avoiding Algorithms , 2016, 2016 IEEE International Parallel and Distributed Processing Symposium (IPDPS).

[43]  Ronald L. Rivest,et al.  Introduction to Algorithms, 3rd Edition , 2009 .

[44]  Suman Nath,et al.  Rethinking Database Algorithms for Phase Change Memory , 2011, CIDR.

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

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

[47]  Edward M. McCreight,et al.  Priority Search Trees , 1985, SIAM J. Comput..

[48]  Stratis Viglas,et al.  Write-limited sorts and joins for persistent memory , 2014, Proc. VLDB Endow..

[49]  Jon Louis Bentley,et al.  Multidimensional binary search trees used for associative searching , 1975, CACM.

[50]  Yannis Manolopoulos,et al.  R-Trees: Theory and Applications , 2005, Advanced Information and Knowledge Processing.

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

[52]  Guy E. Blelloch,et al.  PAM: parallel augmented maps , 2016, PPoPP.

[53]  Mark H. Overmars,et al.  The Design of Dynamic Data Structures , 1987, Lecture Notes in Computer Science.

[54]  Guy E. Blelloch,et al.  Efficient BVH construction via approximate agglomerative clustering , 2013, HPG '13.

[55]  Norbert Zeh,et al.  Geometric Algorithms for Private-Cache Chip Multiprocessors - (Extended Abstract) , 2010, ESA.

[56]  Nodari Sitchinava,et al.  Lower Bounds in the Asymmetric External Memory Model , 2017, SPAA.

[57]  Norbert Zeh,et al.  A parallel buffer tree , 2012, SPAA '12.

[58]  Jeffrey Scott Vitter,et al.  On two-dimensional indexability and optimal range search indexing , 1999, PODS '99.