ABSTRACT
Point-in-Polygon (PIP) test is fundamental to spatial databases and GIS. Motivated by the slow response times in joining large-scale point locations with polygons using traditional spatial databases and GIS, we have designed and developed an end-to-end system completely on Graphics Processing Units (GPUs) to associate points with the polygons that they fall within by utilizing massively data parallel computing power of GPUs. The system includes an efficient module to generate point quadrants that have at most K points from large-scale unordered points, a simple grid-file based spatial filtering approach to associate point quadrants and polygons, and, a PIP test module to assign polygons to points in a GPU computing block using both the block and thread level parallelisms. Experiments on joining 170 million points with more than 40 thousand polygons have resulted in a runtime of 11.165 seconds on an Nvidia Quadro 6000 GPU device. In contrast, a baseline serial CPU implementation using state-of-the-art open source GIS packages required 15+ hours to complete. We further discuss several factors and parameters that may affect the system performance.
- Jacox, E. H. and Samet, H. (2007). Spatial join techniques. ACM Transaction on Database System 32(1). Google ScholarDigital Library
- Gaede V. and Gunther O. (1998). Multidimensional access methods. ACM Computing Surveys 30(2), 170--231. Google ScholarDigital Library
- Samet, H. (2005). Foundations of Multidimensional and Metric Data Structures Morgan Kaufmann. Google ScholarDigital Library
- Zhang, J. (2010). Towards personal high-performance geospatial computing (HPC-G): perspectives and a case study. Proceedings of the ACM SIGSPATIAL HPDGIS workshop. Google ScholarDigital Library
- A. Pavlo, E. Paulson et al. (2009). A comparison of approaches to large-scale data analysis. Proceedings of ACM SIGMOD Conference, 165--178. Google ScholarDigital Library
- Cieslewicz, J. and Ross, K. A. (2008). Database Optimizations for Modern Hardware. Proceedings of the IEEE 96(5).Google ScholarCross Ref
- He, B. S., Lu, M., Yang, K., Fang, R., Govindaraju, N. K., Luo, Q. and Sander, P. V. (2009). Relational Query Coprocessing on Graphics Processors. ACM Transactions on Database Systems 34(4). Google ScholarDigital Library
- Bakkum, P. and Skadron, K. (2010). Accelerating SQL database operations on a GPU with CUDA. Proceedings of GPGPU workshop, 94--103. Google ScholarDigital Library
- Gregory Frederick Diamos, Wu, H., Lele, A. and Wang, J. (2012). Efficient Relational Algebra Algorithms and Data Structures for GPU. Georgia Tech University technical report.Google Scholar
- Sun, C., D. Agrawal, et al. (2003). Hardware acceleration for spatial selections and joins. ACM SIGMOD Conference, 455--466. Google ScholarDigital Library
- Luo, L., Wong, M. D. F., et al. (2011). Parallel implementation of R-trees on the GPU. Proceedings ASP-DAC.Google Scholar
- Yang, K., He, B., Fang, R., Lu, M., Govindaraju, N., Luo, Q., Sander, P. and Shi, J. (2007). In-memory grid files on graphics processors. Proceedings of ACM DaMoN Workshop. Google ScholarDigital Library
- Hoel, E. G. and Samet, H., 1994. Performance of Data-Parallel Spatial Operations. Proceedings of VLDB Conference. Google ScholarDigital Library
- Brinkhoff, T., Kriegel, H.-P. and Seeger, B. (1996). Parallel Processing of Spatial Joins Using R-trees. Proceedings of IEEE ICDE Conference. Google ScholarDigital Library
- Zhou, X., Abel, D. J. and Truffet, D. (1998). Data Partitioning for Parallel Spatial Join Processing. GeoInformatica 2(2): 175--204. Google ScholarDigital Library
- Patel, J. M. and DeWitt, D. J. (2000). Clone join and shadow join: two parallel spatial join algorithms. Proceedings of ACM GIS Conference. Google ScholarDigital Library
- Kim, J.-D. and Hong, B.-H. (2000). Parallel Spatial Joins Using Grid Files. Proceedings of IEEE International Conference on Parallel and Distributed Systems. Google ScholarDigital Library
- Luo, G., Naughton, J. F. and Ellmann:, C. J. (2002). A Non-Blocking Parallel Spatial Join Algorithm. IEEE ICDE Conference. Google ScholarDigital Library
- Zhang, S., Han, J., Liu, Z., Wang, K. and Xu, Z. (2009). SJMR: Parallelizing spatial join with MapReduce on clusters. Proceedings of IEEE International Conference on Cluster Computing.Google ScholarCross Ref
- Zhang, C., Li, F. and Jestes, J. (2012). Efficient parallel kNN joins for large data in MapReduce. Proceedings of EDBT Conference Google ScholarDigital Library
- Lee, K.-H., Lee, Y.-J., Choi, H., Chung, Y. D. and Moon, B. (2012). Parallel data processing with MapReduce: a survey. SIGMOD Record, 40 (4), 11--20. Google ScholarDigital Library
- Hong, S., Kim, S. K., et al., 2011. Accelerating CUDA graph algorithms at maximum warp. Proceedings of ACM symposium on PPoPP. Google ScholarDigital Library
- Lieberman, M. D., Sankaranarayanan, J. and Samet, H. (2008). A Fast Similarity Join Algorithm Using Graphics Processing Units. Proceedings of IEEE ICDE Conference. Google ScholarDigital Library
- Zalik, B. and Kolingerova, I. (2001). A cell-based point-in-polygon algorithm suitable for large sets of points. Computers & Geosciences 27(10): 1135--1145. Google ScholarDigital Library
Index Terms
- Speeding up large-scale point-in-polygon test based spatial join on GPUs
Recommendations
GCMF: an efficient end-to-end spatial join system over large polygonal datasets on GPGPU platform
SIGSPACIAL '16: Proceedings of the 24th ACM SIGSPATIAL International Conference on Advances in Geographic Information SystemsGiven two layers of large polygonal datasets, detecting those pairs of cross-layer polygons which satisfy a join predicate, such as intersection or contain, is one of the most computationally intensive primitive operations in the spatial domain ...
Speeding up large-scale geospatial polygon rasterization on GPGPUs
HPDGIS '11: Proceedings of the ACM SIGSPATIAL Second International Workshop on High Performance and Distributed Geographic Information SystemsThis study targets at speeding up polygon rasterization in large-scale geospatial datasets by utilizing massively parallel General Purpose Graphics Processing Units (GPGPU) computing for efficient spatial indexing and analysis based on a dynamically ...
High-performance polyline intersection based spatial join on GPU-accelerated clusters
BigSpatial '16: Proceedings of the 5th ACM SIGSPATIAL International Workshop on Analytics for Big Geospatial DataThe rapid growing volumes of spatial data have brought significant challenges on developing high-performance spatial data processing techniques in parallel and distributed computing environments. Spatial joins are important data management techniques in ...
Comments