Improving the Performance for the Range Search on Metric Spaces Using a Multi-GPU Platform

Nowadays, similarity search is becoming a field of increasing interest because these kinds of methods can be applied to different areas in science and engineering, for instance, pattern recognition, information retrieval, etc. This search is carried out over metric indexes decreasing the number of distance evaluations during the search process, improving the efficiency of this process. However, for real applications, when processing large volumes of data, query response time can be quite high. In this case, it is necessary to apply mechanisms in order to significantly reduce the average query response time. In this sense, the parallelization of the metric structures processing is an interesting field of research. Modern GPU/Multi-GPU systems offer a very impressive cost/performance ratio. In this paper, we show a simple and fast implementation of similarity search method on a Multi-GPU platform. The main contributions are mainly the definition of a generic metric structure more suitable for GPU platforms, the efficient usage of GPU memory system and the implementation of the method in a Multi-GPU platform.

[1]  Gonzalo Navarro,et al.  Fixed Queries Array: A Fast and Economical Data Structure for Proximity Searching , 2001, Multimedia Tools and Applications.

[2]  Iraj Kalantari,et al.  A Data Structure and an Algorithm for the Nearest Point Problem , 1983, IEEE Transactions on Software Engineering.

[3]  Ricardo A. Baeza-Yates,et al.  Proximity Matching Using Fixed-Queries Trees , 1994, CPM.

[4]  Diego Cazorla,et al.  Similarity search implementations for multi-core and many-core processors , 2011, 2011 International Conference on High Performance Computing & Simulation.

[5]  Mauricio Marín,et al.  kNN Query Processing in Metric Spaces Using GPUs , 2011, Euro-Par.

[6]  Emmanuel Jeannot,et al.  Euro-Par 2011 Parallel Processing , 2011, Lecture Notes in Computer Science.

[7]  Luisa Micó,et al.  A new version of the nearest-neighbour approximating and eliminating search algorithm (AESA) with linear preprocessing time and memory requirements , 1994, Pattern Recognit. Lett..

[8]  Sergey Brin,et al.  Near Neighbor Search in Large Metric Spaces , 1995, VLDB.

[9]  Daniel A. Keim,et al.  A Graphics Hardware Accelerated Algorithm for Nearest Neighbor Search , 2006, International Conference on Computational Science.

[10]  Wiebe van der Hoek,et al.  SOFSEM 2007: Theory and Practice of Computer Science , 2007 .

[11]  Stephen Gilmore,et al.  Combining Measurement and Stochastic Modelling to Enhance Scheduling Decisions for a Parallel Mean Value Analysis Algorithm , 2006, International Conference on Computational Science.

[12]  Ricardo A. Baeza-Yates,et al.  Spaghettis: an array based algorithm for similarity queries in metric spaces , 1999, 6th International Symposium on String Processing and Information Retrieval. 5th International Workshop on Groupware (Cat. No.PR00268).

[13]  Nieves R. Brisaboa,et al.  Spatial Selection of Sparse Pivots for Similarity Search in Metric Spaces , 2007, SOFSEM.

[14]  Lei Zhao,et al.  A Practical GPU Based KNN Algorithm , 2009 .

[15]  Pavel Zezula,et al.  M-tree: An Efficient Access Method for Similarity Search in Metric Spaces , 1997, VLDB.

[16]  Ricardo A. Baeza-Yates,et al.  Searching in metric spaces , 2001, CSUR.

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

[18]  Jeffrey K. Uhlmann,et al.  Satisfying General Proximity/Similarity Queries with Metric Trees , 1991, Inf. Process. Lett..