kNN Query Processing in Metric Spaces Using GPUs

  • Ricardo J. Barrientos
  • José I. Gómez
  • Christian Tenllado
  • Manuel Prieto Matias
  • Mauricio Marin
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6852)


Information retrieval from large databases is becoming crucial for many applications in different fields such as content searching in multimedia objects, text retrieval or computational biology. These databases are usually indexed off-line to enable an acceleration of on-line searches. Furthermore, the available parallelism has been exploited using clusters to improve query throughput. Recently some authors have proposed the use of Graphic Processing Units (GPUs) to accelerate brute-force searching algorithms for metric-space databases. In this work we improve existing GPU brute-force implementations and explore the viability of GPUs to accelerate indexing techniques. This exploration includes an interesting discussion about the performance of both brute-force and indexing-based algorithms that takes into account the intrinsic dimensionality of the element of the database.


Graphic Processing Unit Memory Access Shared Memory Range Query Indexing Mechanism 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aha, D.W., Kibler, D.: Instance-based learning algorithms. In: Machine Learning, pp. 37–66 (1991)Google Scholar
  2. 2.
    Brisaboa, N.R., Fariña, A., Pedreira, O., Reyes, N.: Similarity search using sparse pivots for efficient multimedia information retrieval. In: ISM, pp. 881–888 (2006)Google Scholar
  3. 3.
    Bustos, B., Deussen, O., Hiller, S., Keim, D.A.: A graphics hardware accelerated algorithm for nearest neighbor search. In: Alexandrov, V.N., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds.) ICCS 2006. LNCS, vol. 3994, pp. 196–199. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  4. 4.
    Cederman, D., Tsigas, P.: Gpu-quicksort: A practical quicksort algorithm for graphics processors. J. Exp. Algorithmics 14, 1.4–1.24 (2009)Google Scholar
  5. 5.
    Chavéz, E., Navarro, G.: An effective clustering algorithm to index high dimensional metric spaces. In: The 7th International Symposium on String Processing and Information Retrieval (SPIRE 2000), pp. 75–86. IEEE CS Press, Los Alamitos (2000)CrossRefGoogle Scholar
  6. 6.
    Chávez, E., Navarro, G., Baeza-Yates, R., Marroquín, J.L.: Searching in metric spaces. In: ACM Computing Surveys, pp. 273–321 (September 2001)Google Scholar
  7. 7.
    Costa, V.G., Barrientos, R.J., Marín, M., Bonacic, C.: Scheduling metric-space queries processing on multi-core processors. In: Proceedings of the 18th Euromicro Conference on Parallel, Distributed and Network-based Processing (PDP 2010), pp. 187–194. IEEE Computer Society, Pisa (2010)Google Scholar
  8. 8.
    Cover, T., Hart, P.: Nearest neighbor pattern classification. IEEE Transactions on Information Theory 13(1), 21–27 (1967), CrossRefzbMATHGoogle Scholar
  9. 9.
    CUDA: Compute Unified Device Architecture. ©2007 NVIDIA Corporation,
  10. 10.
    Garcia, V., Debreuve, E., Barlaud, M.: Fast k nearest neighbor search using gpu. In: Computer Vision and Pattern Recognition Workshop, pp. 1–6 (2008)Google Scholar
  11. 11.
    Gil-Costa, V., Marin, M., Reyes, N.: Parallel query processing on distributed clustering indexes. Journal of Discrete Algorithms 7(1), 3–17 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Knuth, D.E.: The Art of Computer Programming, vol. 3. Addison-Wesley, Reading (1973)zbMATHGoogle Scholar
  13. 13.
    Kuang, Q., Zhao, L.: A practical gpu based knn algorithm, Huangshan, China, pp. 151–155 (2009)Google Scholar
  14. 14.
    Levenshtein, V.: Binary codes capable of correcting deletions, insertions, and reversals. Soviet Physics Doklady 10, 707–710 (1966)MathSciNetzbMATHGoogle Scholar
  15. 15.
    Marin, M., Gil-Costa, V., Bonacic, C.: A search engine index for multimedia content. In: Luque, E., Margalef, T., Benítez, D. (eds.) Euro-Par 2008. LNCS, vol. 5168, pp. 866–875. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  16. 16.
    Marin, M., Ferrarotti, F., Gil-Costa, V.: Distributing a metric-space search index onto processors. In: 39th International Conference on Parallel Processing, ICPP 2010, San Diego, California, pp. 13–16 (2010)Google Scholar
  17. 17.
    Phillips, P.J., Flynn, P.J., Scruggs, T., W., K., Bowyer, J.C., Hoffman, K., J., Marques, J.M., Worek, W.: Overview of the face recognition grand challenge. In: IEEE Computer Society Conference on Computer Vision and Pattern Recognition, CVPR 2005, vol. 1, pp. 947–954 (June 2005)Google Scholar
  18. 18.
    Turk, M., Pentland, A.: Eigenfaces for recognition. Journal of Cognitive Neuroscience 3(1), 71–86 (1991)CrossRefGoogle Scholar
  19. 19.
    Volkov, V., Demmel, J.W.: Benchmarking gpus to tune dense linear algebra. In: Proceedings of the 2008 ACM/IEEE conference on Supercomputing, SC 2008, pp. 31:1–31:11. IEEE Press, Piscataway (2008),

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Ricardo J. Barrientos
    • 1
  • José I. Gómez
    • 1
  • Christian Tenllado
    • 1
  • Manuel Prieto Matias
    • 1
  • Mauricio Marin
    • 2
  1. 1.Architecture Department of Computers and Automatic, ArTeCS GroupComplutense University of MadridMadridEspaña
  2. 2.Yahoo! Research Latin AmericaSantiagoChile

Personalised recommendations