DOI QR코드

DOI QR Code

Parallel Range Query Processing with R-tree on Multi-GPUs

다중 GPU를 이용한 R-tree의 병렬 범위 질의 처리 기법

  • 류홍수 (인하대학교 정보통신공학) ;
  • 김민철 (인하대학교 정보통신공학) ;
  • 최원익 (인하대학교 정보통신공학)
  • Received : 2014.10.13
  • Accepted : 2015.01.27
  • Published : 2015.04.15

Abstract

Ever since the R-tree was proposed to index multi-dimensional data, many efforts have been made to improve its query performances. One common trend to improve query performance is to parallelize query processing with the use of multi-core architectures. To this end, a GPU-base R-tree has been recently proposed. However, even though a GPU-based R-tree can exhibit an improvement in query performance, it is limited in its ability to handle large volumes of data because GPUs have limited physical memory. To address this problem, we propose MGR-tree (Multi-GPU R-tree), which can manage large volumes of data by dividing nodes into multiple GPUs. Our experiments show that MGR-tree is up to 9.1 times faster than a sequential search on a GPU and up to 1.6 times faster than a conventional GPU-based R-tree.

다차원의 데이터를 색인하기 위해 처음 R-tree가 제안된 이후 다양한 방법으로 질의 성능을 향상시키기 위한 많은 연구가 이루어졌다. 그 가운데 다중프로세서를 이용한 병렬 기법으로 질의 성능을 향상시킨 GPU기반의 R-tree가 제안되었다. 하지만 GPU가 갖는 물리적 메모리 크기의 한계가 있어 데이터의 크기가 제한된다. 이에 본 논문에서는 다중 GPU를 이용한 R-tree의 병렬 범위 질의 처리 기법인 MGR-tree 제안한다. 제안하는 MGR-tree는 기존의 GPU기반의 R-tree 질의 처리 기법을 기반으로 하여 다중 GPU에서 질의 처리를 가능하게 R-tree의 노드를 다중 GPU상에 분할하여 분산 처리 하였다. 실험을 통해 MGR-tree는 GPU에서의 선형검색에 비해 최대 9.1배, GPU기반 R-tree에 비해 최대 1.6배 가량의 성능이 향상된 것을 확인하였다.

Keywords

Acknowledgement

Supported by : 정보통신산업진흥원

References

  1. A. Guttman, "R-trees: a dynamic index structure for spatial searching," Proc. of the 1984 ACM SIGMOD international conference on Management of data, pp. 47-57, 1984.
  2. T. K. Sellis, N. Roussopoulos, and C. Faloutsos, "The R+-Tree: A Dynamic Index for Multi-Dimensional Objects," Proc. of the 13th International Conference on VLDB, pp. 507-518, 1987.
  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 international conference on Management of data, pp. 322-331, 1990.
  4. S. Berchtold, , D. A. Keim, and H.-P. Kriegel, "The X-tree: An index structure for high-dimensional data," Proc. of the 22th International Conference on VLDB, pp. 28-39, 1996.
  5. R. Zhang, and M. Stradling, "The hv-tree: a memory hierarchy aware version index," Proc. of the VLDB Endowment, Vol. 3, pp. 397-408, 2010.
  6. 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.
  7. L. Luo, M. D. Wong, and L. Leong, "Parallel implementation of R-trees on the GPU," Proc. of the 17th Asia and South Pacific Design Automation Conference (ASP-DAC), pp. 353-358, 2012.
  8. M. Kim, and W. Choi, "Range Query Method of R-tree for Efficient Parallel Processing on GPU," Journal of KIISE: Computing Practices and Letters, Vol. 18, Issue 5, pp. 409-413, 2012. (in Korean)
  9. R. Bayer, and E. McCreight. "Organization and maintenance of large ordered indexes," Acta Informatica, Vol. 1, Issue 3, pp. 173-189, 1972. https://doi.org/10.1007/BF00288683
  10. D. kirk, and W. Hwu, Programming massively parallel processors: a hands-on approach, Newnes, 2012.
  11. D. Horn, GPU Gems 2, pp. 573-589, Addison-Wesley, 2005.