skip to main content
10.1145/2447481.2447485acmconferencesArticle/Chapter ViewAbstractPublication PagesgisConference Proceedingsconference-collections
research-article

Speeding up large-scale point-in-polygon test based spatial join on GPUs

Authors Info & Claims
Published:06 November 2012Publication History

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.

References

  1. Jacox, E. H. and Samet, H. (2007). Spatial join techniques. ACM Transaction on Database System 32(1). Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Gaede V. and Gunther O. (1998). Multidimensional access methods. ACM Computing Surveys 30(2), 170--231. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Samet, H. (2005). Foundations of Multidimensional and Metric Data Structures Morgan Kaufmann. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Zhang, J. (2010). Towards personal high-performance geospatial computing (HPC-G): perspectives and a case study. Proceedings of the ACM SIGSPATIAL HPDGIS workshop. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. A. Pavlo, E. Paulson et al. (2009). A comparison of approaches to large-scale data analysis. Proceedings of ACM SIGMOD Conference, 165--178. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Cieslewicz, J. and Ross, K. A. (2008). Database Optimizations for Modern Hardware. Proceedings of the IEEE 96(5).Google ScholarGoogle ScholarCross RefCross Ref
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. Bakkum, P. and Skadron, K. (2010). Accelerating SQL database operations on a GPU with CUDA. Proceedings of GPGPU workshop, 94--103. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle Scholar
  10. Sun, C., D. Agrawal, et al. (2003). Hardware acceleration for spatial selections and joins. ACM SIGMOD Conference, 455--466. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Luo, L., Wong, M. D. F., et al. (2011). Parallel implementation of R-trees on the GPU. Proceedings ASP-DAC.Google ScholarGoogle Scholar
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. Hoel, E. G. and Samet, H., 1994. Performance of Data-Parallel Spatial Operations. Proceedings of VLDB Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Brinkhoff, T., Kriegel, H.-P. and Seeger, B. (1996). Parallel Processing of Spatial Joins Using R-trees. Proceedings of IEEE ICDE Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Zhou, X., Abel, D. J. and Truffet, D. (1998). Data Partitioning for Parallel Spatial Join Processing. GeoInformatica 2(2): 175--204. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Patel, J. M. and DeWitt, D. J. (2000). Clone join and shadow join: two parallel spatial join algorithms. Proceedings of ACM GIS Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. Luo, G., Naughton, J. F. and Ellmann:, C. J. (2002). A Non-Blocking Parallel Spatial Join Algorithm. IEEE ICDE Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarCross RefCross Ref
  20. Zhang, C., Li, F. and Jestes, J. (2012). Efficient parallel kNN joins for large data in MapReduce. Proceedings of EDBT Conference Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. Hong, S., Kim, S. K., et al., 2011. Accelerating CUDA graph algorithms at maximum warp. Proceedings of ACM symposium on PPoPP. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Lieberman, M. D., Sankaranarayanan, J. and Samet, H. (2008). A Fast Similarity Join Algorithm Using Graphics Processing Units. Proceedings of IEEE ICDE Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Speeding up large-scale point-in-polygon test based spatial join on GPUs

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        BigSpatial '12: Proceedings of the 1st ACM SIGSPATIAL International Workshop on Analytics for Big Geospatial Data
        November 2012
        116 pages
        ISBN:9781450316927
        DOI:10.1145/2447481

        Copyright © 2012 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 6 November 2012

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate32of58submissions,55%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader