GPU-based parallel indexing for concurrent spatial query processing

In most spatial database applications, the input data is very large. Previous work has shown the importance of using spatial indexing and parallel computing to speed up such tasks. In recent years, GPUs have become a mainstream platform for massively parallel data processing. On the other hand, due to the complex hardware architecture and programming model, developing programs optimized towards high performance on GPUs is non-trivial, and traditional wisdom geared towards CPU implementations is often found to be ineffective. Recent work on GPU-based spatial indexing focused on parallelizing one individual query at a time. In this paper, we argue that current one-query-at-a-time approach has low work efficiency and cannot make good use of GPU resources. To address such challenges, we present a framework named G-PICS for parallel processing of large number of concurrent spatial queries over big datasets on GPUs. G-PICS is motivated by the fact that many spatial query processing applications are busy systems in which a large number of queries arrive per unit of time. G-PICS encapsulates an efficient parallel algorithm for constructing spatial trees on GPUs and supports major spatial query types such as spatial point search, range search, within-distance search, k-nearest neighbors, and spatial joins. While support for dynamic data inputs missing from existing work, G-PICS provides an efficient parallel update procedure on GPUs. With the query processing, tree construction, and update procedure introduced, G-PICS shows great performance boosts over best-known parallel GPU and parallel CPU-based spatial processing systems.

[1]  佐藤 孝紀,et al.  A Hierarchical Data Structure for Picture Processing , 1976 .

[2]  A. N. Wilschut,et al.  Dataflow query execution in a parallel main-memory environment , 1991, [1991] Proceedings of the First International Conference on Parallel and Distributed Information Systems.

[3]  Naphtali Rishe,et al.  Experiences on Processing Spatial Data with MapReduce , 2009, SSDBM.

[4]  Walid G. Aref,et al.  Continuous Query Processing of Spatio-Temporal Data Streams in PLACE , 2005, GeoInformatica.

[5]  Dongseop Kwon,et al.  Parallel Range Query Processing on R-Tree with Graphics Processing Unit , 2011, 2011 IEEE Ninth International Conference on Dependable, Autonomic and Secure Computing.

[6]  Mohamed F. Mokbel,et al.  Scout: A GPU-Aware System for Interactive Spatio-temporal Data Visualization , 2017, SIGMOD Conference.

[7]  Hanan Samet,et al.  Data-Parallel Spatial Join Algorithms , 1994, 1994 International Conference on Parallel Processing Vol. 3.

[8]  Siyuan Ma,et al.  Concurrent Analytical Query Processing with GPUs , 2014, Proc. VLDB Endow..

[9]  Divyakant Agrawal,et al.  Hardware Acceleration in Commercial Databases: A Case Study of Spatial Operations , 2004, VLDB.

[10]  Surajit Chaudhuri,et al.  An overview of query optimization in relational systems , 1998, PODS.

[11]  Joshua Gluck,et al.  Fast GPGPU Based Quadtree Construction , 2014 .

[12]  Dinesh Manocha,et al.  Fast BVH Construction on GPUs , 2009, Comput. Graph. Forum.

[13]  William J. Dally,et al.  GPUs and the Future of Parallel Computing , 2011, IEEE Micro.

[14]  Alex D. Breslow,et al.  Quadtree Construction on the GPU : A Hybrid CPU-GPU Approach , 2010 .

[15]  Pat Hanrahan,et al.  Interactive k-d tree GPU raytracing , 2007, SI3D.

[16]  Le Gruenwald,et al.  Parallel spatial query processing on GPUs using R-trees , 2013, BigSpatial '13.

[17]  Xingming Sun,et al.  Achieving Efficient Cloud Search Services: Multi-Keyword Ranked Search over Encrypted Cloud Data Supporting Parallel Computing , 2015, IEICE Trans. Commun..

[18]  David J. DeWitt,et al.  Parallel database systems: the future of database processing or a passing fad? , 1990, SGMD.

[19]  Carsten Kutzner,et al.  GROMACS 4:  Algorithms for Highly Efficient, Load-Balanced, and Scalable Molecular Simulation. , 2008, Journal of chemical theory and computation.

[20]  Hanan Samet,et al.  An Overview of Quadtrees, Octrees, and Related Hierarchical Data Structures , 1988 .

[21]  Dinesh Manocha,et al.  Fast computation of database operations using graphics processors , 2005, SIGGRAPH Courses.

[22]  Kun Zhou,et al.  Real-time KD-tree construction on graphics hardware , 2008, SIGGRAPH Asia '08.

[23]  Yannis Theodoridis,et al.  Ten Benchmark Database Queries for Location-based Services , 2003, Comput. J..

[24]  Eduardo Mena,et al.  Location-dependent query processing: Where we are and where we are heading , 2010, CSUR.

[25]  Le Gruenwald,et al.  Indexing large-scale raster geospatial data using massively parallel GPGPU computing , 2010, GIS '10.

[26]  Cláudio T. Silva,et al.  A GPU-based index to support interactive spatio-temporal queries over historical data , 2016, 2016 IEEE 32nd International Conference on Data Engineering (ICDE).

[27]  Hao Li,et al.  Performance modeling in CUDA streams — A means for high-throughput data processing , 2014, 2014 IEEE International Conference on Big Data (Big Data).

[28]  Howard R. Turtle,et al.  Query Evaluation: Strategies and Optimizations , 1995, Inf. Process. Manag..

[29]  Ugur Güdükbay,et al.  Dynamic point-region quadtrees for particle simulations , 2013, Inf. Sci..

[30]  Agnès Voisard,et al.  Spatial Databases: With Application to GIS , 2001 .

[31]  Hanan Samet,et al.  Performance of Data-Parallel Spatial Operations , 1994, VLDB.

[32]  Dinesh Manocha,et al.  Memory-Scalable GPU Spatial Hierarchy Construction , 2011, IEEE Transactions on Visualization and Computer Graphics.

[33]  Goetz Graefe,et al.  Query evaluation techniques for large databases , 1993, CSUR.

[34]  Yuni Xia,et al.  Performance analysis of a dual-tree algorithm for computing spatial distance histograms , 2011, The VLDB Journal.

[35]  Tim Foley,et al.  KD-tree acceleration structures for a GPU raytracer , 2005, HWWS '05.

[36]  Hsinchun Chen,et al.  Alleviating Search Uncertainty Through Concept Associations: Automatic Indexing, Co-Occurrence Analysis, and Parallel Computing , 1998, J. Am. Soc. Inf. Sci..

[37]  Hanan Samet,et al.  The Quadtree and Related Hierarchical Data Structures , 1984, CSUR.

[38]  Enrique Alba,et al.  Parallel metaheuristics: recent advances and new trends , 2012, Int. Trans. Oper. Res..

[39]  Bingsheng He,et al.  Relational joins on graphics processors , 2008, SIGMOD Conference.

[40]  Yi-Cheng Tu,et al.  Fast Equi-Join Algorithms on GPUs: Design and Implementation , 2017, SSDBM.