vix.ing · top · new · best · stats · spec

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

2018/10/10 by Michael Gowanlock, Gowanlock, Michael
Computer Science · #Data Management and Algorithms #Data Stream Mining Techniques #Distributed #FOS: Computer and information sciences #Machine Learning and Data Classification #Parallel #and Cluster Computing (cs.DC) #cs.DC

paper · pdf · doi:10.48550/arxiv.1810.04758

22 pages, 20 figures, 9 tables. Accepted for publication in Journal of Parallel and Distributed Computing (JPDC)

openalex publication_date 2018/10/10 · arxiv created 2020/11/17 · arxiv updated 2020/11/19 · openalex created_date 2022/08/02 · openalex updated_date 2026/07/28

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 (i) maximize GPU query throughput by assigning the GPU large batches of work; (ii) increase workload granularity to optimize GPU utilization; and, (iii) limit load imbalance between CPU and GPU architectures. We compare HybridKNN-Join to one GPU and two parallel CPU reference implementations. Compared to the reference implementations, we find that the hybrid algorithm performs best on larger workloads (dataset size and K). The methods employed in this paper show promise for the general division of work in other hybrid algorithms.

Related