A Parallel Batch-Dynamic Data Structure for the Closest Pair Problem

10/05/2020
by   Yiqiu Wang, et al.
0

We propose a theoretically-efficient and practical parallel batch-dynamic data structure for the closest pair problem. Our solution is based on a serial dynamic closest pair data structure by Golin et al., and supports batches of insertions and deletions in parallel. For a data set of size n, our data structure supports a batch of insertions or deletions of size m in O(m(1+log ((n+m)/m))) expected work and O(log (n+m)log^*(n+m)) depth with high probability, and takes linear space. The key techniques for achieving these bounds are a new work-efficient parallel batch-dynamic binary heap, and careful management of the computation across sets of points to minimize work and depth. We provide an optimized multicore implementation of our data structure using dynamic hash tables, parallel heaps, and dynamic k-d trees. Our experiments on a variety of synthetic and real-world data sets show that it achieves a parallel speedup of up to 38.57x (15.10x on average) on 48 cores with hyper-threading. In addition, we also implement and compare four parallel algorithms for static closest pair problem, for which we are not aware of any existing practical implementations. On 48 cores with hyper-threading, the static algorithms achieve up to 51.45x (29.42x on average) speedup, and Rabin's algorithm performs the best on average. Comparing our dynamic algorithm to the fastest static algorithm, we find that it is advantageous to use the dynamic algorithm for batch sizes of up to 20% of the data set. As far as we know, our work is the first to experimentally evaluate parallel closest pair algorithms, in both the static and the dynamic settings.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/25/2018

Batch-Parallel Euler Tour Trees

The dynamic trees problem is to maintain a forest undergoing edge insert...
research
12/12/2021

Parallel Batch-Dynamic kd-Trees

kd-trees are widely used in parallel databases to support efficient neig...
research
03/14/2023

Efficient Yao Graph Construction

Yao graphs are geometric spanners that connect each point of a given poi...
research
06/07/2021

Parallel Batch-Dynamic k-Core Decomposition

Maintaining a k-core decomposition quickly in a dynamic graph is an impo...
research
02/12/2020

Batch-dynamic Algorithms via Parallel Change Propagation and Applications to Dynamic Trees

Dynamic algorithms capable of supporting batches of updates are increasi...
research
02/10/2021

Parallel Minimum Cuts in O(m log^2(n)) Work and Low Depth

We present an O(m log^2(n)) work, O(polylog(n)) depth parallel algorithm...
research
07/05/2022

ParGeo: A Library for Parallel Computational Geometry

This paper presents ParGeo, a multicore library for computational geomet...

Please sign up or login with your details

Forgot password? Click here to reset