论文标题

最接近的对问题的平行批处理数据结构

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

论文作者

Wang, Yiqiu, Yu, Shangdi, Gu, Yan, Shun, Julian

论文摘要

我们为最接近的对问题提出了理论上有效且实用的平行批次数据结构。我们的解决方案基于Golin等人的序列动态最接近的对数据结构,并支持并行的插入和删除。对于大小$ n $的数据集,我们的数据结构支持$ o(m(1+ \ log((n+m)/m)))$ $ m $的一批插入或删除,预期的工作和$ o(\ log(n+m)\ log^*(n+m))$ depth具有较高的可能性,并且具有较高的可能性,并且需要线性线性空间。实现这些界限的关键技术是一种新的工作和平行批次二进制二进制二进制堆,以及对跨积分的计算进行仔细管理,以最大程度地减少工作和深度。 我们使用动态哈希表,平行堆和动态$ k $ -D树提供了优化的数据结构的多功能实现。我们对各种合成和现实世界数据集的实验表明,在48个具有超线程的内核上,它的并行速度达到38.57倍(平均为15.10倍)。此外,我们还实施并比较了静态最接近问题的四种并行算法,我们不知道任何现有的实际实现。在48个具有超线程的核心上,静态算法达到了高达51.45倍(平均29.42倍)的加速,而Rabin的算法平均表现最好。将我们的动态算法与最快的静态算法进行比较,我们发现将动态算法用于最多20 \%数据集的批量大小是有利的。据我们所知,我们的工作是第一个在静态和动态设置中对平行最接近的对算法进行实验评估的工作。

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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源