Parallel Range Query Processing on R-Tree with Graphics Processing Unit

Recently, various research efforts have been conducted to develop strategies for accelerating multi-dimensional query processing using the Graphics Processing Units (GPUs). Well-known multidimensional access methods such as R-tree, B-tree and their variants, however, are hardly applicable to GPUs in practice, mainly due to the characteristics of a hierarchical structure. More specifically, the structure not only causes frequent transfers of small volume of data but also gives limited opportunities to exploit GPUs' advanced data parallelism. To address the problems, we propose an approach which uses GPUs as a buffer. Main idea is that object entries in recently visited leaf nodes are buffered in the global memory of the GPU and are processed by massive threads of GPUs in parallel. In this paper, we presented both a single buffer strategy and a multiple buffer strategy since a single buffer strategy has problems deteriorating query performance seriously. Through the extensive performance studies, we observed that the proposed approach achieved up to 5 times higher query performance than the original CPU-based R-trees.

[1]  Christos Faloutsos,et al.  Declustering Spatial Databases on a Multi-Computer Architecture , 1996, EDBT.

[2]  Hans-Peter Kriegel,et al.  A Storage and Access Architecture for Efficient Query Processing in Spatial Database Systems , 1993, SSD.

[3]  Christos Faloutsos,et al.  The R+-Tree: A Dynamic Index for Multi-Dimensional Objects , 1987, VLDB.

[4]  Dennis Shasha,et al.  2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm , 1994, VLDB.

[5]  Scott T. Leutenegger,et al.  Master-client R-trees: a new parallel R-tree architecture , 1999, Proceedings. Eleventh International Conference on Scientific and Statistical Database Management.

[6]  Timos K. Sellis,et al.  A model for the prediction of R-tree performance , 1996, PODS.

[7]  Christos Faloutsos,et al.  Parallel R-trees , 1992, SIGMOD '92.

[8]  Jürg Nievergelt,et al.  The Grid File: An Adaptable, Symmetric Multi-Key File Structure , 1981, ECI.

[9]  Günther Greiner,et al.  Stack Implementation on Programmable Graphics Hardware , 2004, VMV.

[10]  Hans-Peter Kriegel,et al.  Parallel processing of spatial joins using R-trees , 1996, Proceedings of the Twelfth International Conference on Data Engineering.

[11]  Wolfgang Effelsberg,et al.  Principles of database buffer management , 1984, TODS.

[12]  Jon Louis Bentley,et al.  Multidimensional binary search trees used for associative searching , 1975, CACM.

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

[14]  Kunihiko Kaneko,et al.  Parallel R-tree search algorithm on DSVM , 1999, Proceedings. 6th International Conference on Advanced Systems for Advanced Applications.

[15]  Marios Hadjieleftheriou,et al.  R-Trees - A Dynamic Index Structure for Spatial Searching , 2008, ACM SIGSPATIAL International Workshop on Advances in Geographic Information Systems.

[16]  Yongqiang Sun,et al.  A Design of Parallel R-tree on Cluster of Workstations , 2000, DNIS.

[17]  Xiaoming Li,et al.  CUDA Memory Optimizations for Large Data-Structures in the Gravit Simulator , 2009, 2009 International Conference on Parallel Processing Workshops.

[18]  Ki-Joune Li,et al.  The Spatial Locality and a Spatial Indexing Method by Dynamic Clustering in Hypermap System , 1991, SSD.

[19]  Mario A. López,et al.  The Effect of Buffering on the Performance of R-Trees , 2000, IEEE Trans. Knowl. Data Eng..

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

[21]  Kenneth A. Ross,et al.  Cache Conscious Indexing for Decision-Support in Main Memory , 1999, VLDB.

[22]  Naga K. Govindaraju,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007 .

[23]  H. Buchner The Grid File : An Adaptable , Symmetric Multikey File Structure , 2001 .

[24]  Weimin Zheng,et al.  GPR-Tree: a global parallel index structure for multiattribute declustering on cluster of workstations , 1997, Proceedings. Advances in Parallel and Distributed Computing.

[25]  Jon Louis Bentley,et al.  Quad trees a data structure for retrieval on composite keys , 1974, Acta Informatica.

[26]  Hakan Ferhatosmanoglu,et al.  Efficient parallel processing of range queries through replicated declustering , 2006, Distributed and Parallel Databases.

[27]  Jens H. Krüger,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007, Eurographics.

[28]  Hans-Peter Kriegel,et al.  The R*-tree: an efficient and robust access method for points and rectangles , 1990, SIGMOD '90.

[29]  Kevin Barraclough,et al.  I and i , 2001, BMJ : British Medical Journal.

[30]  Bingsheng He,et al.  In-memory grid files on graphics processors , 2007, DaMoN '07.

[31]  Gerhard Weikum,et al.  The LRU-K page replacement algorithm for database disk buffering , 1993, SIGMOD Conference.