Ziyang Men: Parallel kd-tree with Batch Updates
- Speaker
- Ziyang Men
- Affiliation
- University of California, Riverside
- Date
- Time
- – Asia/Shanghai
- Venue
- 518, Research Building 4
Abstract
The $k$d-tree is one of the most widely used data structures to manage multi-dimensional data. Due to the ever-growing data volume, it is imperative to consider parallelism in $k$d-trees. However, we observed challenges in existing parallel $k$d-tree implementations, for both constructions and updates.
The goal of this work is to develop efficient in-memory $k$d-trees by supporting high parallelism and cache-efficiency. We propose the Pkd-tree (Parallel $k$d-tree), a parallel $k$d-tree that is efficient both in theory
and in practice. The Pkd-tree supports parallel tree construction, batch update (insertion and deletion), and various queries including $k$-nearest neighbor search, range query, and range count. We proved that our
algorithms have strong theoretical bounds in work (sequential time complexity), span (parallelism), and cache complexity. Our key techniques include 1) an efficient construction algorithm that optimizes work, span, and cache complexity simultaneously, and 2) reconstruction-based update algorithms that guarantee the tree to be weight-balanced. With the new algorithmic insights and careful engineering effort, we achieved a highly optimized implementation of the Pkd-tree.
We tested Pkd-tree with various synthetic and real-world datasets, including both uniform and highly skewed data. We compare the Pkd-tree with state-of-the-art parallel $k$d-tree implementations. In all tests, with
better or competitive query performance, Pkd-tree is much faster in construction and updates consistently
than all baselines. We released our code.
Speaker Bio
Ziyang Men is a 3rd-year Ph.D. student at University of California, Riverside, where he is fortune to be supervised by Yihan Sun and Yan Gu. Prior to that, Ziyang received the M.Sc. from University of Copenhagen, and received B.En. from the UESTC.
Ziyang’s research lies on designing parallel spatial partition trees that have good theoretical and practical benefits. He is also interested in topics related to ILP and SAT.