Hybrid KNN-Join: Parallel Nearest Neighbor Searches Exploiting CPU and GPU Architectural Features
Michael Gowanlock

TL;DR
This paper presents HybridKNN-Join, a hybrid CPU/GPU approach for low-dimensional KNN-joins that optimizes workload distribution and maximizes hardware utilization, outperforming pure CPU or GPU methods on large datasets.
Contribution
The paper introduces a novel hybrid CPU/GPU algorithm for KNN-joins that intelligently divides work based on data density, improving performance over existing single-architecture methods.
Findings
HybridKNN-Join outperforms reference implementations on large datasets.
Workload balancing between CPU and GPU enhances overall throughput.
Optimizations increase GPU utilization and reduce load imbalance.
Abstract
K Nearest Neighbor (KNN) joins are used in scientific domains for data analysis, and are building blocks of several well-known algorithms. KNN-joins find the KNN of all points in a dataset. This paper focuses on a hybrid CPU/GPU approach for low-dimensional KNN-joins, where the GPU may not yield substantial performance gains over parallel CPU algorithms. We utilize a work queue that prioritizes computing data points in high density regions on the GPU, and low density regions on the CPU, thereby taking advantage of each architecture's relative strengths. Our approach, HybridKNN-Join, effectively augments a state-of-the-art multi-core CPU algorithm. We propose optimizations that maximize GPU query throughput by assigning the GPU large batches of work; increase workload granularity to optimize GPU utilization; and, limit load imbalance between CPU and GPU…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
