Efficient Parallel Processing of R-Tree on GPUs
Abstract
:1. Introduction
- We have designed a more efficient data structure for R-tree on GPUs.
- We present two parallel R-tree construction algorithms and one parallel R-tree query algorithm that can take the hardware characteristics of GPUs into consideration.
- We present the migration of a vector map overlay system from CPU to GPU to demonstrate the feasibility of parallel R-tree.
2. Related Work
2.1. Related Variants of R-Trees
2.2. Parallel Tree-Based Data Structures on GPUs
3. Parallel R-Tree Processing on GPUs
3.1. Parallel R-Tree Construction Algorithm
Algorithm 1 Bottom-up parallel construction algorithm |
Input: The spatial object dataset and the maximum number of entries M in an R-tree node Output: R-tree data structure in GPU memory
|
Algorithm 2 Top-down parallel construction algorithm |
Input: The spatial object dataset and the maximum number of entries M in an R-tree node Output: R-tree data structure in GPU memory
|
3.2. Parallel R-Tree Query Algorithm
Algorithm 3 Breadth-first parallel query algorithm |
Input: R-tree data structure and R-tree query requests Output: The spatial objects that overlap with the R-tree query
|
3.3. R-Tree Deletion and Update
4. Application of Parallel R-Tree
- Read the base polygon set and the overlay polygon set from the input file respectively.
- Create overlapping polygon pairs.
- Execute the overlay operations of overlapping polygon pairs in parallel and merge the results.
- Write the result to the output file.
5. Experimental Evaluation
5.1. Experimental Setup
5.2. Performance Analysis
6. Conclusions
Author Contributions
Funding
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Guttman, A. R-trees: A dynamic index structure for spatial searching. In Proceedings of the 1984 ACM SIGMOD International Conference on Management of Data, Boston, MA, USA, 18–21 June 1984; pp. 47–57. [Google Scholar]
- Sellis, T.; Roussopoulos, N.; Faloutsos, C. The R+-Tree: A Dynamic Index for Multi-Dimensional Objects. In Proceedings of the 13th VLDB, Brighton, UK, 1–4 September 1987; pp. 507–518. [Google Scholar]
- Beckmann, N.; Kriegel, H.; Schneider, R.; Seeger, B. The R*-tree: An efficient and robust access method for points and rectangles. In Proceedings of the 1990 ACM SIGMOD International Conference on Management of Data, Atlantic City, NJ, USA, 23–25 May 1990; pp. 322–331. [Google Scholar]
- Kamel, I.; Faloutsos, C. Hilbert R-tree: An improved R-tree using fractals. In Proceedings of the 20th International Conference on Very Large Data Bases (VLDB), San Francisco, CA, USA, 12–15 September 1994; pp. 500–509. [Google Scholar]
- Luo, L.; Wong, M.D.F.; Leong, L. Parallel implementation of R-trees on the GPU. In Proceedings of the 17th Asia and South Pacific Design Automation Conference, Sydney, Australia, 30 January–2 February 2012; pp. 353–358. [Google Scholar]
- You, S.; Zhang, J.; Gruenwald, L. Parallel spatial query processing on gpus using r-trees. In Proceedings of the 2nd ACM SIGSPATIAL International Workshop on Analytics for Big Geospatial Data, Orlando, FL, USA, 4 November 2013; pp. 23–31. [Google Scholar]
- Zhou, K.; Hou, Q.; Wang, R.; Guo, B. Real-time kd-tree construction on graphics hardware. ACM Trans. Graph. TOG 2008, 27, 1–11. [Google Scholar]
- Hou, Q.; Sun, X.; Zhou, K.; Lauterbach, C.; Manocha, D. Memory-scalable GPU spatial hierarchy construction. IEEE Trans. Vis. Comput. Graph. 2010, 17, 466–474. [Google Scholar]
- Kim, J.; Hong, S.; Nam, B. A performance study of traversing spatial indexing structures in parallel on GPU. In Proceedings of the 2012 IEEE 14th International Conference on High Performance Computing and Communication & 2012 IEEE 9th International Conference on Embedded Software and Systems, Liverpool, UK, 25–27 June 2012; pp. 855–860. [Google Scholar]
- Wehr, D.; Radkowski, R. Parallel kd-tree construction on the GPU with an adaptive split and sort strategy. Int. J. Parallel Program. 2018, 46, 1139–1156. [Google Scholar] [CrossRef]
- Kim, M.; Liu, L.; Choi, W. A GPU-aware parallel index for processing high-dimensional big data. IEEE Trans. Comput. 2018, 67, 1388–1402. [Google Scholar] [CrossRef]
- He, X.; Agarwal, D.; Prasad, S.K. Design and implementation of a parallel priority queue on many-core architectures. In Proceedings of the 2012 19th International Conference on High Performance Computing, Pune, India, 18–22 December 2012; pp. 1–10. [Google Scholar]
- He, X.; Wu, Y.; Di, Z.; Chen, J. GPU-based morphological reconstruction system. J. Comput. Appl. 2019, 39, 2008–2013. [Google Scholar]
- Benson, D.; Davis, J. Octree textures. ACM Trans. Graph. TOG 2002, 21, 785–790. [Google Scholar] [CrossRef]
- Deng, Z.; Wang, L.; Han, W.; Ranjan, R.; Zomaya, A. G-ML-Octree: An update-efficient index structure for simulating 3D moving objects across GPUs. IEEE Trans. Parallel Distrib. Syst. 2017, 29, 1075–1088. [Google Scholar] [CrossRef]
- Young, G.; Krishnamurthy, A. GPU-accelerated generation and rendering of multi-level voxel representations of solid models. Comput. Graph. 2018, 75, 11–24. [Google Scholar] [CrossRef]
- Zhou, K.; Gong, M.; Huang, X.; Guo, B. Data-parallel octrees for surface reconstruction. IEEE Trans. Vis. Comput. Graph. 2010, 17, 669–681. [Google Scholar] [CrossRef]
- Vespa, E.; Nikolov, N.; Grimm, M.; Nardi, L.; Kelly, P.H.J.; Leutenegger, S. Efficient octree-based volumetric SLAM supporting signed-distance and occupancy mapping. IEEE Robot. Autom. Lett. 2018, 3, 1144–1151. [Google Scholar] [CrossRef]
- Wen, Z.; He, B.; Kotagiri, R.; Lu, S.; Shi, J. Efficient gradient boosted decision tree training on GPUs. In Proceedings of the 2018 IEEE International Parallel and Distributed Processing Symposium (IPDPS), Vancouver, BC, Canada, 21–25 May 2018; pp. 234–243. [Google Scholar]
- Wen, Z.; Shi, J.; He, B.; Chen, J.; Ramamohanarao, K.; Li, Q. Exploiting GPUs for efficient gradient boosting decision tree training. IEEE Trans. Parallel Distrib. Syst. 2019, 30, 2706–2717. [Google Scholar] [CrossRef]
- Lettich, F.; Lucchese, C.; Nardini, F.M.; Orlando, S.; Perego, R.; Tonellotto, N.; Venturini, R. Parallel traversal of large ensembles of decision trees. IEEE Trans. Parallel Distrib. Syst. 2019, 30, 2075–2089. [Google Scholar] [CrossRef]
- Lauterbach, C.; Garland, M.; Sengupta, S.; Luebke, D.; Manocha, D. Fast BVH construction on GPUs. Comput. Graph. Forum 2009, 28, 375–384. [Google Scholar] [CrossRef]
- Meister, D.; Bittner, J. Parallel reinsertion for bounding volume hierarchy optimization. Comput. Graph. Forum 2018, 37, 463–473. [Google Scholar] [CrossRef]
- Ashkiani, S.; Farach-Colton, M.; Owens, J.D. A dynamic hash table for the GPU. In Proceedings of the 2018 IEEE International Parallel and Distributed Processing Symposium (IPDPS), Vancouver, BC, Canada, 21–25 May 2018; pp. 419–429. [Google Scholar]
- Alcantara, D.A.; Sharf, A.; Abbasinejad, F.; Sengupta, S.; Mitzenmacher, M.; Owens, J.D.; Amenta, N. Real-time parallel hashing on the GPU. ACM Trans. Graph. TOG 2009, 28, 1–9. [Google Scholar] [CrossRef]
- Lessley, B.; Childs, H. Data-parallel hashing techniques for GPU architectures. IEEE Trans. Parallel Distrib. Syst. 2009, 31, 237–250. [Google Scholar] [CrossRef]
- Kim, M.; Liu, L.; Choi, W. Multi-GPU efficient indexing for maximizing parallelism of high dimensional range query services. IEEE Trans. Serv. Comput. 2021, 5, 2910–2924. [Google Scholar] [CrossRef]
- Xiao, M.; Wang, H.; Geng, L.; Lee, R.; Zhang, X. An RDMA-enabled In-memory Computing Platform for R-tree on Clusters. ACM Trans. Spat. Algorithms Syst. TSAS 2022, 2, 1–26. [Google Scholar] [CrossRef]
- Kamel, I.; Faloutsos, C. On packing R-trees. In Proceedings of the Second International Conference on Information and Knowledge Management, Washington, DC, USA, 1–5 November 1993; pp. 490–499. [Google Scholar]
- Healey, R.; Dowers, S.; Gittings, B.; Mineter, M.J. Vector polygon overlay. In Parallel Processing Algorithms for GIS; CRC Press: Padstow, UK, 2020; pp. 265–310. [Google Scholar]
- Vatti, B.R. A generic solution to polygon clipping. Commun. ACM 1992, 35, 56–63. [Google Scholar] [CrossRef]
- Beckmann, N.; Seeger, B. A Benchmark for Multidimensional Index Structures. Available online: https://www.mathematik.uni-marburg.de/~rstar/benchmark/ (accessed on 23 June 2024).
- Gutman, T. Free Source Code: Implementations of the R-Tree Algorithm. Available online: https://superliminal.com/sources/ (accessed on 23 June 2024).
- Malinova, M. Parallelization of the Tree Search Algorithm Using OpenMP. Available online: https://github.com/mmalinova/Parallel_TreeSearch_OpenMP (accessed on 31 May 2024).
Data Size | Total Overlap Number | Average Overlap Number per Object | Maximum Overlap Number per Object |
---|---|---|---|
1024 | 5489 | 5.36 | 28 |
4096 | 80,287 | 19.6 | 109 |
16,384 | 126,199 | 77.03 | 399 |
65,536 | 20,108,655 | 306.83 | 1532 |
262,144 | 320,865,497 | 1224 | 6053 |
Name | Data Size | Total Overlap Number | Average Overlap Number per Object | Maximum Overlap Number per Object |
---|---|---|---|---|
rea02 | 1,888,012 | 4,892,099 | 2.59 | 317 |
abs02 | 1,000,000 | 950,474 | 0.95 | 7 |
par02 | 1,048,576 | 2,974,753 | 2.84 | 4727 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Nong, J.; He, X.; Chen, J.; Liang, Y. Efficient Parallel Processing of R-Tree on GPUs. Mathematics 2024, 12, 2115. https://doi.org/10.3390/math12132115
Nong J, He X, Chen J, Liang Y. Efficient Parallel Processing of R-Tree on GPUs. Mathematics. 2024; 12(13):2115. https://doi.org/10.3390/math12132115
Chicago/Turabian StyleNong, Jian, Xi He, Jia Chen, and Yanyan Liang. 2024. "Efficient Parallel Processing of R-Tree on GPUs" Mathematics 12, no. 13: 2115. https://doi.org/10.3390/math12132115
APA StyleNong, J., He, X., Chen, J., & Liang, Y. (2024). Efficient Parallel Processing of R-Tree on GPUs. Mathematics, 12(13), 2115. https://doi.org/10.3390/math12132115