GTS: GPU-based Tree Index for Fast Similarity Search (2404.00966v1)
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.
- 2013. Word to vectors. https://code.google.com/archive/p/word2vec
- 2023a. Moby project. https://mobyproject.org
- 2023b. National Library of Medicine. http://www.ncbi.nlm.nih.gov/genome
- 2023c. Nvidia GPU introduction. https://www.nvidia.com/en-us/geforce/graphics-cards/40-series/rtx-4090
- 2023d. The source code of GTS. https://github.com/ZJU-DAILY/GTS/
- Fast kNN query processing over a multi-node GPU environment. J. Supercomput. 78, 2 (2022), 3045–3071.
- 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.
- Enabling content-based image retrieval in very large digital libraries. In Proceedings of the SecondWorkshop on Very Large Digital Libraries.
- Tolga Bozkaya and Z. Meral Özsoyoglu. 1997. Distance-Based Indexing for High-Dimensional Metric Spaces. In SIGMOD. 357–368.
- Tolga Bozkaya and Z. Meral Özsoyoglu. 1999. Indexing Large Metric Spaces for Similarity Search Queries. ACM Trans. Database Syst. 24, 3 (1999), 361–404.
- Sergey Brin. 1995. Near Neighbor Search in Large Metric Spaces. In VLDB, Umeshwar Dayal, Peter M. D. Gray, and Shojiro Nishio (Eds.). 574–584.
- Human-Centered Tools for Coping with Imperfect Algorithms During Medical Decision-Making. In CHI. 4.
- 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.
- Edgar Chávez and Gonzalo Navarro. 2005. A compact space decomposition for effective metric indexing. Pattern Recognit. Lett. 26, 9 (2005), 1363–1376.
- Proximity searching in metric spaces. Comput. Surveys 33, 3 (2001), 273–321.
- Efficient Metric Indexing for Similarity Search and Similarity Joins. IEEE Trans. Knowl. Data Eng. 29, 3 (2017), 556–571.
- Indexing Metric Spaces for Exact Similarity Search. Comput. Surveys 55, 6 (2023), 128:1–128:39.
- Pivot-based Metric Indexing. Proc. VLDB Endow. 10, 10 (2017), 1058–1069.
- M-tree: An Efficient Access Method for Similarity Search in Metric Spaces. In VLDB. 426–435.
- 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.
- Optimal aggregation algorithms for middleware. J. Comput. Syst. Sci. 66, 4 (2003), 614–656.
- Indexing multi-metric data. In ICDE. 1122–1133.
- Dr. Top-k: delegate-centric Top-k on GPUs. In SC. 39.
- The Flexible Socio Spatial Group Queries. Proc. VLDB Endow. 12, 2 (2018), 99–111.
- Fast Processing and Querying of 170TB of Genomics Data via a Repeated And Merged BloOm Filter (RAMBO). In SIGMOD. 2226–2234.
- 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.
- 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.
- Parallel randomized KD-tree forest on GPU cluster for image descriptor matching. In ISCAS. 582–585.
- Big data in basic and translational cancer research. Nature Reviews Cancer 22, 11 (2022), 625–639.
- Billion-Scale Similarity Search with GPUs. IEEE Trans. Big Data 7, 3 (2021), 535–547.
- 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.
- 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.
- Parallel multi-dimensional range query processing with R-trees on GPU. J. Parallel Distributed Comput. 73, 8 (2013), 1195–1207.
- ES4D: Accelerating Exact Similarity Search for High-Dimensional Vectors via Vector Slicing and In-SSD Computation. In ICCD. 298–306.
- A GPU-Aware Parallel Index for Processing High-Dimensional Big Data. IEEE Trans. Computers 67, 10 (2018), 1388–1402.
- Multi-GPU Efficient Indexing For Maximizing Parallelism of High Dimensional Range Query Services. IEEE Trans. Serv. Comput. 15, 5 (2022), 2910–2924.
- Lux: Always-on Visualization Recommendations for Exploratory Dataframe Workflows. Proc. VLDB Endow. 15, 3 (2021), 727–738.
- 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.
- A GPU Accelerated Update Efficient Index for kNN Queries in Road Networks. In ICDE. 881–892.
- Chen Luo and Michael J. Carey. 2020. LSM-based storage techniques: a survey. VLDB J. 29, 1 (2020), 393–418.
- Parallel implementation of R-trees on the GPU. In ASP-DAC. 353–358.
- Learned Data-aware Image Representations of Line Charts for Similarity Search. Proc. ACM Manag. Data 1, 1 (2023), 88:1–88:29.
- Pivot selection: Dimension reduction for distance-based indexing. J. Discrete Algorithms 13 (2012), 32–46.
- Searching and Updating Metric Space Databases Using the Parallel EGNAT. In ICCS. 229–236.
- 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.
- Clustered pivot tables for I/O-optimized similarity search. In SISAP. 17–24.
- Naohito Nakasato. 2012. Implementation of a parallel tree method on a GPU. J. Comput. Sci. 3, 3 (2012), 132–141.
- Gonzalo Navarro and Roberto Uribe Paredes. 2011. Fully dynamic metric access methods based on hyperplane partitioning. Inf. Syst. 36, 4 (2011), 734–747.
- Extreme Pivots for Faster Metric Indexes. In SISAP. 115–126.
- 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.
- A survey on graph-based methods for similarity searches in metric spaces. Inf. Syst. 95 (2021), 101507.
- GPU-based Real-time Contact Tracing at Scale. In SIGSPATIAL. 1–10.
- Promiscuous molecules for smarter file operations in DNA-based data storage. Nature communications 12, 1 (2021), 3518.
- A Comprehensive Survey and Experimental Comparison of Graph-Based Approximate Nearest Neighbor Search. Proc. VLDB Endow. 14, 11 (2021), 1964–1978.
- Effective Similarity Search on Heterogeneous Networks: A Meta-Path Free Approach. IEEE Trans. Knowl. Data Eng. 34, 7 (2022), 3225–3240.
- Are dynamic memory managers on GPUs slow?: a survey and benchmarks. In PPoPP. 219–233.
- Parallel spatial query processing on GPUs using R-trees. In SIGSPATIAL. 23–31.
- GPU-accelerated Proximity Graph Approximate Nearest Neighbor Search and Construction. In ICDE. 552–564.
- LiteHST: A Tree Embedding based Method for Similarity Search. Proc. ACM Manag. Data 1, 1 (2023), 35:1–35:26.
- SONG: Approximate Nearest Neighbor Search on GPU. In ICDE. 1033–1044.
- A Generic Inverted Index Framework for Similarity Search on the GPU. In ICDE. 893–904.
- Pivot Selection Algorithms in Metric Spaces: A Survey and Experimental Study. VLDB J. 31, 1 (2022), 23–47.
- DESIRE: An Efficient Dynamic Cluster-based Forest Indexing for Similarity Search in Multi-Metric Spaces. PVLDB 15, 10 (2022), 2121–2133.
- Yifan Zhu (84 papers)
- Ruiyao Ma (1 paper)
- Baihua Zheng (22 papers)
- Xiangyu Ke (27 papers)
- Lu Chen (245 papers)
- Yunjun Gao (67 papers)