Bilkent University
Department of Computer Engineering


Improving the Performance of Similarity Joins Using Graphics Processing Unit


Zeynep Korkmaz
MSc Student
Computer Engineering Department
Bilkent University

The similarity join is an important operation in data mining and it is used in many applications from varying domains. A similarity join operator takes one or two sets of data points and outputs pairs of points whose distances in the data space is within a certain threshold value. The baseline nested loop approach computes the distances between all pairs of objects. When considering large set of objects which yield too long query time for nested loop paradigm, accelerating such operator becomes more important. The computing capability of recent GPUs with the help of a general purpose parallel computing architecture (CUDA) has attracted many researches. With this motivation, we propose two similarity join algorithms for Graphics Processing Unit (GPU). To exploit the advantages of general purpose GPU computing, we first propose an improved nested loop join algorithm (GPU-INLJ) for the specific environment of GPU. Also we present a partitioning-based join algorithm (KMEANS-JOIN) that guarantees each partition can be joined independently without missing any join pair. Our experiments demonstrate massive performance gains and the suitability of our algorithms for large datasets.

Keywords: Similarity Join, GPGPU, CUDA


DATE: 05 November, 2012, Monday @ 13:30