Similarity Search of Sparse Histograms on GPU Architecture

Searching for similar objects within large-scale database is a hard problem due to the exponential increase of multimedia data. The time required to find the nearest objects to the specific query in a high-dimensional space has become a serious constraint of the searching algorithms. One of the possible solution for this problem is utilization of massively parallel platforms such as GPU architectures. This solution becomes very sensitive for the applications working with sparse dataset. The performance of the algorithm can be totally changed depending on the different sparsity settings of the input data. In this paper, we study four different approaches on the GPU architecture for finding the similar histograms to the given queries. The performance and efficiency of observed methods were studied on sparse dataset of half a million histograms. We summarize our empirical results and point out the optimal GPU strategy for sparse histograms with different sparsity settings.

[1]  Stéphane Marchand-Maillet,et al.  Multi-Core (CPU and GPU) for Permutation-Based Indexing , 2014, SISAP.

[2]  Liheng Jian,et al.  A CUDA-based parallel implementation of K-nearest neighbor algorithm , 2009, 2009 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery.

[3]  Gao Cong,et al.  ISIS: A New Approach for Efficient Similarity Search in Sparse Databases , 2010, DASFAA.

[4]  Jan Kohout,et al.  Unsupervised detection of malware in persistent web traffic , 2015, 2015 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP).

[5]  Naga K. Govindaraju,et al.  Fast scan algorithms on graphics processors , 2008, ICS '08.

[6]  Changzhou Wang,et al.  Indexing very high-dimensional sparse and quasi-sparse vectors for similarity searches , 2001, The VLDB Journal.

[7]  Qi Li,et al.  A Chunking Method for Euclidean Distance Matrix Calculation on Large Dataset Using Multi-GPU , 2010, 2010 Ninth International Conference on Machine Learning and Applications.

[8]  P. Sadayappan,et al.  An efficient two-dimensional blocking strategy for sparse matrix-vector multiplication on GPUs , 2014, ICS '14.

[9]  Stéphane Marchand-Maillet,et al.  Permutation based indexing for high dimensional data on GPU architectures , 2015, 2015 13th International Workshop on Content-Based Multimedia Indexing (CBMI).

[10]  Fei Sha,et al.  Similarity Learning for High-Dimensional Sparse Data , 2014, AISTATS.

[11]  Martin Krulis,et al.  Optimizing Sorting and Top-k Selection Steps in Permutation Based Indexing on GPUs , 2015, ADBIS.

[12]  Nina Amenta,et al.  Brute-Force k-Nearest Neighbors Search on the GPU , 2015, SISAP.

[13]  Piotr Indyk,et al.  Similarity Search in High Dimensions via Hashing , 1999, VLDB.

[14]  B. Neelima,et al.  CSPR: Column Only SPARSE Matrix Representation for Performance Improvement on GPU Architecture , 2011 .

[15]  Pavel Zezula,et al.  Similarity Search - The Metric Space Approach , 2005, Advances in Database Systems.

[16]  Nectarios Koziris,et al.  Understanding the Performance of Sparse Matrix-Vector Multiplication , 2008, 16th Euromicro Conference on Parallel, Distributed and Network-Based Processing (PDP 2008).

[17]  Ming Ouyang,et al.  COMPUTE PAIRWISE EUCLIDEAN DISTANCES OF DATA POINTS WITH GPUS , 2008 .

[18]  Pasquale Savino,et al.  Approximate similarity search in metric spaces using inverted files , 2008, Infoscale.

[19]  Hanan Samet,et al.  Foundations of multidimensional and metric data structures , 2006, Morgan Kaufmann series in data management systems.

[20]  Joel H. Saltz,et al.  Approximate similarity search for online multimedia services on distributed CPU–GPU platforms , 2012, The VLDB Journal.

[21]  Dinesh Manocha,et al.  Fast GPU-based locality sensitive hashing for k-nearest neighbor computation , 2011, GIS.

[22]  Brian Vinter,et al.  CSR5: An Efficient Storage Format for Cross-Platform Sparse Matrix-Vector Multiplication , 2015, ICS.

[23]  Prakash S. Raghavendra,et al.  A GPU Framework for Sparse Matrix Vector Multiplication , 2014, 2014 IEEE 13th International Symposium on Parallel and Distributed Computing.

[24]  Firas Hamze,et al.  A Performance Comparison of CUDA and OpenCL , 2010, ArXiv.

[25]  Jianbin Fang,et al.  A Comprehensive Performance Comparison of CUDA and OpenCL , 2011, 2011 International Conference on Parallel Processing.

[26]  Michel Barlaud,et al.  Fast k nearest neighbor search using GPU , 2008, 2008 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops.

[27]  Man Lung Yiu,et al.  Accelerating Exact Similarity Search on CPU-GPU Systems , 2015, 2015 IEEE International Conference on Data Mining.