Parallel Batch-Dynamic $k$d-Trees
Rahul Yesantharao (1), Yiqiu Wang (1), Laxman Dhulipala (1), Julian, Shun (1) ((1) MIT CSAIL)

TL;DR
This paper introduces BDL-trees, a parallel batch-dynamic $k$d-tree data structure that efficiently supports neighborhood queries and batch updates in dynamic, large-scale datasets, with significant speedups on multicore systems.
Contribution
We present BDL-trees, a novel parallel, batch-dynamic $k$d-tree implementation with polylogarithmic depth and optimized multicore construction, enabling efficient neighborhood queries over dynamic data.
Findings
Achieves up to 34.8x speedup for batch insertions
Achieves up to 35.5x speedup for batch deletions
Achieves up to 46.1x speedup for $k$-NN queries
Abstract
d-trees are widely used in parallel databases to support efficient neighborhood/similarity queries. Supporting parallel updates to d-trees is therefore an important operation. In this paper, we present BDL-tree, a parallel, batch-dynamic implementation of a d-tree that allows for efficient parallel -NN queries over dynamically changing point sets. BDL-trees consist of a log-structured set of d-trees which can be used to efficiently insert or delete batches of points in parallel with polylogarithmic depth. Specifically, given a BDL-tree with points, each batch of updates takes amortized work and depth (parallel time). We provide an optimized multicore implementation of BDL-trees. Our optimizations include parallel cache-oblivious d-tree construction and parallel bloom filter construction. Our experiments on a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsData Management and Algorithms · Algorithms and Data Compression · Graph Theory and Algorithms
