DOI QR코드

DOI QR Code

Fast Hilbert R-tree Bulk-loading Scheme using GPGPU

GPGPU를 이용한 Hilbert R-tree 벌크로딩 고속화 기법

  • 양시동 (인하대학교 정보통신공학) ;
  • 최원익 (인하대학교 정보통신공학)
  • Received : 2014.07.14
  • Accepted : 2014.08.30
  • Published : 2014.10.15

Abstract

In spatial databases, R-tree is one of the most widely used indexing structures and many variants have been proposed for its performance improvement. Among these variants, Hilbert R-tree is a representative method using Hilbert curve to process large amounts of data without high cost split techniques to construct the R-tree. This Hilbert R-tree, however, is hardly applicable to large-scale applications in practice mainly due to high pre-processing costs and slow bulk-load time. To overcome the limitations of Hilbert R-tree, we propose a novel approach for parallelizing Hilbert mapping and thus accelerating bulk-loading of Hilbert R-tree on GPU memory. Hilbert R-tree based on GPU improves bulk-loading performance by applying the inversed-cell method and exploiting parallelism for packing the R-tree structure. Our experimental results show that the proposed scheme is up to 45 times faster compared to the traditional CPU-based bulk-loading schemes.

R-tree는 공간 데이터베이스 분야에서 가장 널리 쓰이는 색인 구조이며 다양한 변형된 기법들이 제안되었다. 이 기법들 중 Hilbert R-tree는 공간 채움 곡선인 Hilbert 곡선을 이용해서 대용량의 데이터를 고비용의 분할 과정 없이 R-tree를 구성하는 기법이다. 하지만 기존의 CPU기반의 Hilbert R-tree는 대용량의 데이터를 처리할 때는 순차적인 접근으로 발생되는 고비용의 전처리 비용과 느린 구축시간으로 실제 응용에 적용되기에는 한계가 있다. 본 논문에서는 이러한 문제를 해결하기 위해 GPU를 이용해서 데이터의 Hilbert 매핑을 병렬화 하고 이를 통해서 최종적으로 GPU의 메모리에 Hilbert R-tree의 벌크로딩을 고속화하는 기법을 제안한다. GPU기반의 Hilbert R-tree는 inversed-cell 기법과 트리구조 패킹의 병렬화 기법을 통해서 벌크로딩의 성능을 향상시켰다. 실험 결과에서는 기존의 CPU 기반의 벌크로딩에 비해 최대 45배의 성능향상을 보여주었다.

Keywords

Acknowledgement

Grant : 다시점 블랙박스 영상을 이용한 교통 사고현장 3차원 재구성 기술개발

Supported by : 한국산업기술평가관리원

References

  1. P. Rigaux, M. Scholl, A. Voisard., "Spatial databases: with application to GIS," Elsevier, 2011.
  2. A. Guttman, "R-trees: a dynamic index structure for spatial searching," Proc. of the 1984 ACM SIGMOD, pp. 47-57, 1984.
  3. N. Beckmann, H.-P. Kriegel, R. Schneider, and B. Seeger, "The R*-tree: an efficient and robust access method for points and rectangles," Proc. of the 1990 ACM SIGMOD, pp. 322-331, 1990.
  4. I. Kamel and C. Faloutsos, "Hilbert R-tree: An Improved R-tree using Fractals," Proc. of the 20th International Conference on VLDB, pp. 500-509, 1994.
  5. G. Peano, "Sur une courbe qui remplit touteune aire plane," Math. Ann., Vol. 36, pp. 157-160, 1890. https://doi.org/10.1007/BF01199438
  6. G. M. Morton, "A computer oriented geodetic data base and a new technique in file sequencing," IBM, 1966.
  7. D. Hilbert, "Uber die stetige Abbildung einer Linie auf ein Flachenstuck," Math. Ann., Vol. 38, pp. 459-460, 1891. https://doi.org/10.1007/BF01199431
  8. W. Skarbek, T. Agui, and M. Nakajima, "Software tool for Hilbert scan of large image," Transactions on IEICE, Vol. E72, pp. 561-564, 1989.
  9. A.R. Butz, "Alternative algorithm for Hilbert's space filling curve," IEEE Transactions on Computers, Vol. 20, pp. 424-426, 1971.
  10. L. Chenyang, Z. Hong and W. Nengchao, "Fast N-Dimensional Hilbert Mapping Algorithm," ICCSA, 2008.
  11. N. Roussopoulos and D. Leifker, "Direct spatial search on pictorial databases using packed r-trees," Proc. of the ACM SIGMOD, 1985.
  12. S. T. Leutenegger, M. A. Lopez, and J. M. Edgington, "STR: A simple and efficient algorithm for R-tree packing," Proc. of the ICDE, 1997.
  13. S. Liao, M. A. Lopez and S. T. Leutenegger, "High dimensional similarity search with space filling curves," Proc. of the ICDE, 2001.
  14. I. Kamel and C. Faloutsos, "On packing R-trees. Proc. of the ACM CIKM," pp. 490-499, 1993.
  15. B. Moon, H.V. Jagadish, C. Faloutsos, and J. H. Saltz, "Analysis of the Clustering Properties of the Hilbert Space-Filling Curve," IEEE Transactions on Knowledge and Data Engineering, Vol. 13, 2001.
  16. D. Kirk, W. Hwu, "Programming Massively Parallel Processors," Elsevier, 2010.
  17. L. Luo, M. Wong, and L. Leong, "Parallel implementation of R-trees on the GPU," ASP-DAC, 17th Asia and South Pacific, pp. 353-358, 2012.
  18. M. Kim, W. Choi, "Range Query Method of R-tree for Efficient Parallel Processing on GPU," Journal of KIISE : Computing Practices and Letters, pp. 409-413, 2012.