Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
97 tokens/sec
GPT-4o
53 tokens/sec
Gemini 2.5 Pro Pro
44 tokens/sec
o3 Pro
5 tokens/sec
GPT-4.1 Pro
47 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

GTS: GPU-based Tree Index for Fast Similarity Search (2404.00966v1)

Published 1 Apr 2024 in cs.DB

Abstract: Similarity search, the task of identifying objects most similar to a given query object under a specific metric, has gathered significant attention due to its practical applications. However, the absence of coordinate information to accelerate similarity search and the high computational cost of measuring object similarity hinder the efficiency of existing CPU-based methods. Additionally, these methods struggle to meet the demand for high throughput data management. To address these challenges, we propose GTS, a GPU-based tree index designed for the parallel processing of similarity search in general metric spaces, where only the distance metric for measuring object similarity is known. The GTS index utilizes a pivot-based tree structure to efficiently prune objects and employs list tables to facilitate GPU computing. To efficiently manage concurrent similarity queries with limited GPU memory, we have developed a two-stage search method that combines batch processing and sequential strategies to optimize memory usage. The paper also introduces an effective update strategy for the proposed GPU-based index, encompassing streaming data updates and batch data updates. Additionally, we present a cost model to evaluate search performance. Extensive experiments on five real-life datasets demonstrate that GTS achieves efficiency gains of up to two orders of magnitude over existing CPU baselines and up to 20x efficiency improvements compared to state-of-the-art GPU-based methods.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (63)
  1. 2013. Word to vectors. https://code.google.com/archive/p/word2vec
  2. 2023a. Moby project. https://mobyproject.org
  3. 2023b. National Library of Medicine. http://www.ncbi.nlm.nih.gov/genome
  4. 2023c. Nvidia GPU introduction. https://www.nvidia.com/en-us/geforce/graphics-cards/40-series/rtx-4090
  5. 2023d. The source code of GTS. https://github.com/ZJU-DAILY/GTS/
  6. Fast kNN query processing over a multi-node GPU environment. J. Supercomput. 78, 2 (2022), 3045–3071.
  7. Aritz Bilbao-Jayo and Aitor Almeida. 2018. Automatic political discourse analysis with multi-scale convolutional neural networks and contextual data. International Journal of Distributed Sensor Networks 14, 11 (2018), 1550147718811827.
  8. Enabling content-based image retrieval in very large digital libraries. In Proceedings of the SecondWorkshop on Very Large Digital Libraries.
  9. Tolga Bozkaya and Z. Meral Özsoyoglu. 1997. Distance-Based Indexing for High-Dimensional Metric Spaces. In SIGMOD. 357–368.
  10. Tolga Bozkaya and Z. Meral Özsoyoglu. 1999. Indexing Large Metric Spaces for Similarity Search Queries. ACM Trans. Database Syst. 24, 3 (1999), 361–404.
  11. Sergey Brin. 1995. Near Neighbor Search in Large Metric Spaces. In VLDB, Umeshwar Dayal, Peter M. D. Gray, and Shojiro Nishio (Eds.). 574–584.
  12. Human-Centered Tools for Coping with Imperfect Algorithms During Medical Decision-Making. In CHI. 4.
  13. Edgar Chávez and Gonzalo Navarro. 2000. An Effective Clustering Algorithm to Index High Dimensional Metric Spaces. In Seventh International Symposium on String Processing and Information Retrieval. 75–86.
  14. Edgar Chávez and Gonzalo Navarro. 2005. A compact space decomposition for effective metric indexing. Pattern Recognit. Lett. 26, 9 (2005), 1363–1376.
  15. Proximity searching in metric spaces. Comput. Surveys 33, 3 (2001), 273–321.
  16. Efficient Metric Indexing for Similarity Search and Similarity Joins. IEEE Trans. Knowl. Data Eng. 29, 3 (2017), 556–571.
  17. Indexing Metric Spaces for Exact Similarity Search. Comput. Surveys 55, 6 (2023), 128:1–128:39.
  18. Pivot-based Metric Indexing. Proc. VLDB Endow. 10, 10 (2017), 1058–1069.
  19. M-tree: An Efficient Access Method for Similarity Search in Metric Spaces. In VLDB. 426–435.
  20. Brian Donnelly and Michael Gowanlock. 2020. A coordinate-oblivious index for high-dimensional distance similarity searches on the GPU. In ICS. 8:1–8:12.
  21. Optimal aggregation algorithms for middleware. J. Comput. Syst. Sci. 66, 4 (2003), 614–656.
  22. Indexing multi-metric data. In ICDE. 1122–1133.
  23. Dr. Top-k: delegate-centric Top-k on GPUs. In SC. 39.
  24. The Flexible Socio Spatial Group Queries. Proc. VLDB Endow. 12, 2 (2018), 99–111.
  25. Fast Processing and Querying of 170TB of Genomics Data via a Repeated And Merged BloOm Filter (RAMBO). In SIGMOD. 2226–2234.
  26. Antonin Guttman. 1984. R-Trees: A Dynamic Index Structure for Spatial Searching. In SIGMOD’84, Proceedings of Annual Meeting, Boston, Massachusetts, USA, June 18-21, 1984, Beatrice Yormark (Ed.). ACM Press, 47–57.
  27. Dorit S. Hochbaum and David B. Shmoys. 1985. A Best Possible Heuristic for the k-Center Problem. Math. Oper. Res. 10, 2 (1985), 180–184.
  28. Parallel randomized KD-tree forest on GPU cluster for image descriptor matching. In ISCAS. 582–585.
  29. Big data in basic and translational cancer research. Nature Reviews Cancer 22, 11 (2022), 625–639.
  30. Billion-Scale Similarity Search with GPUs. IEEE Trans. Big Data 7, 3 (2021), 535–547.
  31. The Omni-family of all-purpose access methods: a simple and effective way to make similarity search more efficient. VLDB J. 16, 4 (2007), 483–505.
  32. Iraj Kalantari and Gerard McDonald. 1983. A Data Structure and an Algorithm for the Nearest Point Problem. IEEE Trans. Software Eng. 9, 5 (1983), 631–634.
  33. Parallel multi-dimensional range query processing with R-trees on GPU. J. Parallel Distributed Comput. 73, 8 (2013), 1195–1207.
  34. ES4D: Accelerating Exact Similarity Search for High-Dimensional Vectors via Vector Slicing and In-SSD Computation. In ICCD. 298–306.
  35. A GPU-Aware Parallel Index for Processing High-Dimensional Big Data. IEEE Trans. Computers 67, 10 (2018), 1388–1402.
  36. Multi-GPU Efficient Indexing For Maximizing Parallelism of High Dimensional Range Query Services. IEEE Trans. Serv. Comput. 15, 5 (2022), 2910–2924.
  37. Lux: Always-on Visualization Recommendations for Exploratory Dataframe Workflows. Proc. VLDB Endow. 15, 3 (2021), 727–738.
  38. Zhila Nouri Lewis and Yi-Cheng Tu. 2022. G-PICS: A Framework for GPU-Based Spatial Indexing and Query Processing. IEEE Trans. Knowl. Data Eng. 34, 3 (2022), 1243–1257.
  39. A GPU Accelerated Update Efficient Index for kNN Queries in Road Networks. In ICDE. 881–892.
  40. Chen Luo and Michael J. Carey. 2020. LSM-based storage techniques: a survey. VLDB J. 29, 1 (2020), 393–418.
  41. Parallel implementation of R-trees on the GPU. In ASP-DAC. 353–358.
  42. Learned Data-aware Image Representations of Line Charts for Similarity Search. Proc. ACM Manag. Data 1, 1 (2023), 88:1–88:29.
  43. Pivot selection: Dimension reduction for distance-based indexing. J. Discrete Algorithms 13 (2012), 32–46.
  44. Searching and Updating Metric Space Databases Using the Parallel EGNAT. In ICCS. 229–236.
  45. A new version of the nearest-neighbour approximating and eliminating search algorithm (AESA) with linear preprocessing time and memory requirements. Pattern Recognit. Lett. 15, 1 (1994), 9–17.
  46. Clustered pivot tables for I/O-optimized similarity search. In SISAP. 17–24.
  47. Naohito Nakasato. 2012. Implementation of a parallel tree method on a GPU. J. Comput. Sci. 3, 3 (2012), 132–141.
  48. Gonzalo Navarro and Roberto Uribe Paredes. 2011. Fully dynamic metric access methods based on hyperplane partitioning. Inf. Syst. 36, 4 (2011), 734–747.
  49. Extreme Pivots for Faster Metric Indexes. In SISAP. 115–126.
  50. Amirhesam Shahvarani and Hans-Arno Jacobsen. 2016. A Hybrid B+-tree as Solution for In-Memory Indexing on CPU-GPU Heterogeneous Computing Platforms. In SIGMOD. 1523–1538.
  51. A survey on graph-based methods for similarity searches in metric spaces. Inf. Syst. 95 (2021), 101507.
  52. GPU-based Real-time Contact Tracing at Scale. In SIGSPATIAL. 1–10.
  53. Promiscuous molecules for smarter file operations in DNA-based data storage. Nature communications 12, 1 (2021), 3518.
  54. A Comprehensive Survey and Experimental Comparison of Graph-Based Approximate Nearest Neighbor Search. Proc. VLDB Endow. 14, 11 (2021), 1964–1978.
  55. Effective Similarity Search on Heterogeneous Networks: A Meta-Path Free Approach. IEEE Trans. Knowl. Data Eng. 34, 7 (2022), 3225–3240.
  56. Are dynamic memory managers on GPUs slow?: a survey and benchmarks. In PPoPP. 219–233.
  57. Parallel spatial query processing on GPUs using R-trees. In SIGSPATIAL. 23–31.
  58. GPU-accelerated Proximity Graph Approximate Nearest Neighbor Search and Construction. In ICDE. 552–564.
  59. LiteHST: A Tree Embedding based Method for Similarity Search. Proc. ACM Manag. Data 1, 1 (2023), 35:1–35:26.
  60. SONG: Approximate Nearest Neighbor Search on GPU. In ICDE. 1033–1044.
  61. A Generic Inverted Index Framework for Similarity Search on the GPU. In ICDE. 893–904.
  62. Pivot Selection Algorithms in Metric Spaces: A Survey and Experimental Study. VLDB J. 31, 1 (2022), 23–47.
  63. DESIRE: An Efficient Dynamic Cluster-based Forest Indexing for Similarity Search in Multi-Metric Spaces. PVLDB 15, 10 (2022), 2121–2133.
User Edit Pencil Streamline Icon: https://streamlinehq.com
Authors (6)
  1. Yifan Zhu (84 papers)
  2. Ruiyao Ma (1 paper)
  3. Baihua Zheng (22 papers)
  4. Xiangyu Ke (27 papers)
  5. Lu Chen (245 papers)
  6. Yunjun Gao (67 papers)
Citations (1)

Summary

  • The paper introduces a GPU-based tree index that leverages parallel processing and pivot-based pruning to significantly speed up similarity search.
  • The paper presents innovative dynamic update strategies to efficiently manage both streaming and batch data without degrading query performance.
  • The experimental results show GTS achieving up to 20x speed improvements over existing GPU methods and two orders of magnitude faster than CPU-based baselines.

GPU-Based Tree Index for Fast Similarity Search: An Evaluation of GTS

In recent years, similarity search has emerged as a critical operation in various fields such as multimedia retrieval, decision-making, and data visualization. This paper introduces a novel approach known as GTS, a GPU-based tree index designed to enhance the efficiency of similarity search by leveraging the computational power of GPUs. GTS aims to address the limitations of traditional CPU-based methods, which often struggle with high computational costs and an inability to handle high-throughput data management efficiently.

Contributions

GTS adopts a structured approach by integrating a pivot-based tree structure that allows efficient object pruning. It also employs list tables positioned to optimize GPU computing. The research primarily proposes two innovative features:

  1. Parallel GPU Execution: The GTS index enables parallel processing of similarity search tasks across general metric spaces by effectively utilizing GPU capabilities. This parallel nature allows it to significantly outperform traditional CPU-based methods and even some GPU-optimized approaches by reducing unnecessary distance computations.
  2. Handling of Dynamic Updates: The paper presents efficient update strategies catering to both streaming data and batch updates, thereby supporting dynamic scenarios without impacting query performance adversely.

Theoretical Contributions

The cost model proposed to evaluate search performance stands as a notable addition. This model establishes a balance between concurrency and pruning capabilities, crucial for optimizing similarity search performance. The application of the triangle inequality principle ensures a reduction in the search space, enhancing the computational efficiency.

Experimental Validation

The experimental results presented are robust and comprehensive, involving five real-life datasets, and demonstrate that GTS achieves efficiency gains by two orders of magnitude over the best-performing CPU-based baselines. Furthermore, GTS shows up to 20 times improvement in efficiency over contemporary GPU-based methods. This experimental validation underscores GTS’s efficacy in not only reducing computation time but also in streamlining data management in dynamic datasets.

Implications and Future Outlook

The implications of this work are far-reaching, with potential impacts on how large-scale dynamic data sets are managed. GTS offers an innovative framework for scaling databases, particularly vector databases, and handling complex queries that are both diverse and computationally intensive. The research lays the groundwork for potential extensions into approximate similarity search, possibly integrating learned indexes within the GPU architecture to improve speed further.

In conclusion, this paper contributes significant advancements in the field of GPU-accelerated similarity search. By addressing the challenges of parallelism and dynamic data update management, GTS provides a state-of-the-art solution for achieving high-efficiency, high-throughput similarity search. This work offers a scalable approach to data management in metric spaces, with practical applications across a range of data-intensive domains. Future research could investigate the integration of learned indices, which might offer approximations of distant metrics, further improving the computational efficiency on GPUs.