Cluster Computing

, Volume 19, Issue 1, pp 57–71 | Cite as

Similarity (range and kNN) queries processing on an Intel Xeon Phi coprocessor

  • Carlos M. Toledo
  • Ricardo J. BarrientosEmail author
  • Andrés I. Ávila


Nowadays, the evolution of information technologies requires fast similarity search tools for analyzing new data types as audio, video, or images. The usual search by keys or records is not possible and to search on these databases is a compute-intensive problem. Regarding this, in the latest years, compute-intensive coprocessors (mainly NVIDIA GPUs) have been studied as a tool for accelerating sequential processing algorithms. In this work, we implement kNN and range queries on the recently launched Intel Xeon Phi coprocessor. We developed exhaustive and also indexing algorithms using the LC index. This index has been widely studied in sequential computing to accelerate similarity search on multimedia databases. We implement and compare different exhaustive and indexing versions showing some key factors in Xeon Phi to deal with this type of search. For indexing algorithms, we used a strategy based on cluster distribution among cores LC MIC Dist-C obtaining up to 168\(\times \) over the sequential exhaustive algorithm. Our algorithms using exhaustive strategies in Xeon Phi for range queries achieve up to 22\(\times \) speed-up over the sequential counterpart compared to the 12\(\times \) of a 20-core machine, and a similar advantage is achieved for kNN queries. Comparing with GPUs, we obtain higher performance on our indexing algorithms on Intel Xeon Phi. However, GPU works faster with memory-aligned access exhaustive algorithms. Our exhaustive approaches on Xeon Phi can be used on a wide class of databases, for example, non-metric spaces. Finally, we extend our algorithms to be used with large databases that do not fit in the coprocessor memory, showing a good scalability with the number of elements.


Metric Spaces Range search kNN Xeon Phi  Similarity Search 



This research was supported by the following DIUFRO Projects of Universidad de La Frontera (UFRO), Temuco, Chile: Project DI15-0031 and Project DI14-1002 (Ex-Convenio Desempeño).


  1. 1.
    CUDA: Compute Unified Device Architecture. 2007 NVIDIA Corporation.
  2. 2.
  3. 3.
  4. 4.
    PRACE (Partnership for Advanced Computing in Europe). Best Practice Guide - Intel Xeon PhiGoogle Scholar
  5. 5.
  6. 6.
    Barrena, M., Jurado, E., Márquez-Neila, P., Pachón, C.: A flexible framework to ease nearest neighbor search in multidimensional data spaces. Data Knowl. Eng. 69(1), 116–136 (2010)CrossRefGoogle Scholar
  7. 7.
    Barrientos, R., Gómez, J., Tenllado, C., Prieto, M., Marin, M.: knn query processing in metric spaces using gpus. In: 17th International European Conference on Parallel and Distributed Computing (Euro-Par 2011), pp. 380–392 (2011)Google Scholar
  8. 8.
    Barrientos, R., Gómez, J., Tenllado, C., Prieto, M., Zezula, P.: Multi-level clustering on metric spaces using a multi-gpu platform. In: 19th International European Conference on Parallel and Distributed Computing (Euro-Par 2013), LNCS, vol. 8097, pp. 216–228. Springer, Aachen (2013). doi: 10.1007/978-3-642-40047-6_24
  9. 9.
    Barrientos, R.J., Gómez, J.I., Tenllado, C., Matias, M.P., Marin, M.: Range query processing on single and multi GPU environments. Comput. Electr. Eng. 39(8), 2656–2668 (2013). doi: 10.1016/j.compeleceng.2013.05.012 CrossRefGoogle Scholar
  10. 10.
    Bolettieri, P., Esuli, A., Falchi, F., Lucchese, C., Perego, R., Piccioli, T., Rabitti, F.: Cophir: a test collection for content-based image retrieval. CoRR arXiv:0905.4627 (2009).
  11. 11.
    Brisaboa, N.R., Pedreira, O., Seco, D., Solar, R., Uribe, R.: Clustering-based similarity search in metric spaces with sparse spatial centers. In: SOFSEM, pp. 186–197 (2008)Google Scholar
  12. 12.
    Cappelli, R., Ferrara, M., Maltoni, D.: Large-scale fingerprint identification on gpu. Inf. Sci. 306, 1–20 (2015)CrossRefGoogle Scholar
  13. 13.
    Chávez, E., Graff, M., Navarro, G., Téllez, E.: Near neighbor searching with k nearest references. Inf. Syst. 51, 43–61 (2015)CrossRefGoogle Scholar
  14. 14.
    Chávez, E., Navarro, G.: A compact space decomposition for effective metric indexing. Pattern Recognit. Lett. 26(9), 1363–1376 (2005)CrossRefGoogle Scholar
  15. 15.
    Chávez, E., Navarro, G., Baeza-Yates, R., Marroquín, J.L.: Searching in metric spaces. ACM Comput. Surv. 33(3), 273–321 (2001)CrossRefGoogle Scholar
  16. 16.
    Ciaccia, P., Patella, M., Zezula, P.: M-tree: An efficient access method for similarity search in metric spaces. In: VLDB’97, Proceedings of 23rd International Conference on Very Large Data Bases, 25–29 Aug, 1997, Athens, Greece, pp. 426–435. Morgan Kaufmann (1997)Google Scholar
  17. 17.
    Dolz, M., Igual, F., Ludwig, T., Piñuel, L., Quintana-Ortí, E.: Balancing task-and data-level parallelism to improve performance and energy consumption of matrix computations on the intel xeon phi. To appear in Comput. Electr. Eng. (2015)Google Scholar
  18. 18.
    Foley, T., Sugerman, J.: Kd-tree acceleration structures for a GPU raytracer. In: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Symposium on Graphics Hardware 2005, pp. 15–22. Eurographics Association (2005). doi: 10.1145/1071866.1071869
  19. 19.
    Fredriksson, K., Braithwaite, B.: Quicker range-and k-nn joins in metric spaces. Inf. Syst. 52(C), 189–204 (2015). doi: 10.1016/ CrossRefGoogle Scholar
  20. 20.
    Gao, Y., Zheng, B., Chen, G., Li, Q.: On efficient mutual nearest neighbor query processing in spatial databases. Data Knowl. Eng. 68(8), 705–727 (2009)CrossRefGoogle Scholar
  21. 21.
    Gil-Costa, V., Barrientos, R.J., Marin, M., Bonacic, C.: Scheduling metric-space queries processing on multi-core processors. In: 18th Euromicro Conference on Parallel. Distributed and Network-based Processing (PDP 2010), pp. 187–194. IEEE Computer Society, Pisa (2010)Google Scholar
  22. 22.
    Gowanlock, M., Casanova, H.: Indexing of spatiotemporal trajectories for efficient distance threshold similarity searches on the GPU. In: 2015 IEEE International Parallel and Distributed Processing Symposium, IPDPS 2015, pp. 387–396. IEEE Computer Society, Hyderabad (2015). doi: 10.1109/IPDPS.2015.24
  23. 23.
    Hwu, W.: Programming Massively Parallel Processors, Second Edition: A Hands-on Approach. Morgan Kaufmann, Burlington (2012)Google Scholar
  24. 24.
    Kabir, K., Haidar, A., Tomov, S., Dongarra, J.: Performance analysis and optimisation of two-sided factorization algorithms for heterogeneous platform. Proc. Comput. Sci. 51, 180–190 (2015). doi: 10.1016/j.procs.2015.05.222 CrossRefGoogle Scholar
  25. 25.
    Kim, J., Kim, G.S., Nam, B.: Parallel multi-dimensional range query processing with r-trees on GPU. J. Parallel Distrib. 73(8), 1195–1207 (2013). doi: 10.1016/j.jpdc.2013.03.015 CrossRefGoogle Scholar
  26. 26.
    Lyakh, D.: An efficient tensor transpose algorithm for multicore cpu, intel xeon phi, and nvidia tesla gpu. Comput. Phys. Commun. 189, 84–91 (2015). doi: 10.1016/j.cpc.2014.12.013 CrossRefGoogle Scholar
  27. 27.
    Navarro, G., Uribe-Paredes, R.: Fully dynamic metric access methods based on hyperplane partitioning. Inf. Syst. 36(4), 734–747 (2011). doi: 10.1016/ CrossRefGoogle Scholar
  28. 28.
    Novak, D., Batko, M., Zezula, P.: Metric index: an efficient and scalable solution for precise and approximate similarity search. Inf. Syst. 36(4), 721–733 (2011)CrossRefGoogle Scholar
  29. 29.
    NVIDIA: CUDA C Programming GuideGoogle Scholar
  30. 30.
    NVIDIA: Nvidia’s next generation cuda compute architecture: Fermi. Technical Report (2010)Google Scholar
  31. 31.
    Popov, S., Günther, J., Seidel, H., Slusallek, P.: Stackless kd-tree traversal for high performance GPU ray tracing. Comput. Graph. Forum 26(3), 415–424 (2007). doi: 10.1111/j.1467-8659.2007.01064.x CrossRefGoogle Scholar
  32. 32.
    Samet, H.: Foundations of Multidimensional and Metric Data Structures. Morgan Kaufmann Publishers Inc., San Francisco (2005)zbMATHGoogle Scholar
  33. 33.
    Site, M.W.: Multi-feature indexing network.
  34. 34.
    Tosun, U.: A novel indexing scheme for similarity search in metric spaces. Pattern Recognit. Lett. 54, 69–74 (2015). doi: 10.1016/j.patrec.2014.12.004 MathSciNetCrossRefGoogle Scholar
  35. 35.
    Varghese, B.: The hardware accelerator debate: a financial risk case study using many-core computing. To appear in Comput. Electr. Eng. (2015). doi: 10.1016/j.compeleceng.2015.01.012
  36. 36.
    Wang, E., Zhang, Q., Shen, B., Zhang, G., Lu, X., Wu, Q., Wang, Y.: High-Performance Computing on the Intel Xeon Phi(TM): How to Fully Exploit MIC Architectures. Springer, New York (2014)Google Scholar
  37. 37.
    Wilt, N.: The CUDA Handbook: A Comprehensive Guide to GPU Programming. Addison-Wesley Professional, Boston (2013)Google Scholar
  38. 38.
    Zezula, P., Amato, G., Dohnal, V., Batko, M.: Similarity Search: The Metric Space Approach, Advances in Database Systems, vol. 32. Springer, New York (2006)zbMATHGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  • Carlos M. Toledo
    • 1
    • 2
  • Ricardo J. Barrientos
    • 3
    • 4
    Email author
  • Andrés I. Ávila
    • 3
    • 4
  1. 1.Azkio ConsultingSantiagoChile
  2. 2.Department of Computer Science and InformaticsUniversidad de La FronteraTemucoChile
  3. 3.Center for Modelling and sCientific Computing (CMCC)Universidad de La FronteraTemucoChile
  4. 4.Department of Mathematical EngineeringUniversidad de La FronteraTemucoChile

Personalised recommendations