DOI QR코드

DOI QR Code

Parallel Range Query processing on R-tree with Graphics Processing Units

GPU를 이용한 R-tree에서의 범위 질의의 병렬 처리

  • 유보선 (인하대학교 일반대학원 정보공학과) ;
  • 김현덕 (인하대학교 일반대학원 정보공학과) ;
  • 최원익 (인하대학교 정보통신공학부) ;
  • 권동섭 (명지대학교 컴퓨터공학과)
  • Received : 2010.10.22
  • Accepted : 2011.05.05
  • Published : 2011.05.31

Abstract

R-trees are widely used in various areas such as geographical information systems, CAD systems and spatial databases in order to efficiently index multi-dimensional data. As data sets used in these areas grow in size and complexity, however, range query operations on R-tree are needed to be further faster to meet the area-specific constraints. To address this problem, there have been various research efforts to develop strategies for acceleration query processing on R-tree by using the buffer mechanism or parallelizing the query processing on R-tree through multiple disks and processors. As a part of the strategies, approaches which parallelize query processing on R-tree through Graphics Processor Units(GPUs) have been explored. The use of GPUs may guarantee improved performances resulting from faster calculations and reduced disk accesses but may cause additional overhead costs caused by high memory access latencies and low data exchange rate between GPUs and the CPU. In this paper, to address the overhead problems and to adapt GPUs efficiently, we propose a novel approach which uses a GPU as a buffer to parallelize query processing on R-tree. The use of buffer algorithm can give improved performance by reducing the number of disk access and maximizing coalesced memory access resulting in minimizing GPU memory access latencies. 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.

R-tree는 데이터베이스 시스템에서 가장 많이 사용되는 색인 구조로 다차원의 데이터를 관리하는데 매우 효율적이다. 하지만 데이터베이스 시스템이 처리해야 하는 데이터의 용량이 증가함에 따라, 기존의 R-tree에서의 범위 질의의 처리는 디스크의 접근 지연 등의 이유로 인하여 수행 시간이 증가하게 되었다. 이러한 문제들을 해결하기 위하여 버퍼를 사용하거나 혹은 다수의 디스크와 프로세서를 사용하여 병렬로 질의를 수행하고자 하는 많은 연구들이 진행되었다. 이러한 연구들의 일환으로 최근 Graphics Processing Unit(GPU)을 이용한 병렬화 기법들에 대한 연구들이 진행되고 있다. 이러한 GPU의 적용을 통한 병렬화는 계산 속도의 증가와 디스크 접근 횟수의 감소를 통하여 수행 속도의 개선을 가능하게 하지만 GPU와 CPU사이의 메모리 교환 및 GPU 메모리의 접근 지연 등에 의한 오버헤드를 발생시킨다. 본 논문에서는 이러한 오버헤드를 해결하고 효과적으로 GPU를 적용하기 위하여 GPU를 버퍼로 사용하여 범위 질의를 병렬화하는 기법을 제안하였다. 버퍼 알고리즘을 통하여 메모리 교환 횟수를 줄이고, 동시 접근 가능한 메모리의 용량을 증가시켜 메모리의 접근 지연을 최소화 할 수 있었다. 제안 기법과 기존의 인덱스의 비교 실험에서 최대의 경우 5배 정도의 성능이 개선되는 것을 확인 할 수 있었다.

Keywords

References

  1. J. D. Owens, D. Luebke, N. Govindaraju, M. Harris, J. Kruger, A. E. Lefohn, and T. J. Purcell, "A Survey of General-Purpose Computation on Graphics Hardware," Proc. Of CGF, Vol.26, 2007.
  2. CUDA programming Guide 2.2.
  3. A. Guttman, "R-trees: A Dynamic Index Structure for Spatial Searching," Proc. Of SIGMOD84, 1984.
  4. C.F. Ibrahim Kamel, "Parallel R-Trees," Proc. Of SIGMOD92, 1992.
  5. Xiaodong Fu, Dingxing Wang, Weimin Zheng, and Meiming Sheng, "GPR-Tree: A Global Parallel Index Structure for Multiattribute Declustering on Cluster of Workstations," Proc. Of APDC, pp.300-306, 1997.
  6. H. Ferhatosmanoglu, A.S. Tosun, G. Canahuate, and A. Ramachandran, "Efficient Parallel Processing of Range Queries Through Replicated Declustering," Distributed and Parallel Databases, Vol.20, pp.117-147, 2006. https://doi.org/10.1007/s10619-006-9362-5
  7. N. Koudas, C. Faloutsos, and I. Kamel, "Declustering Spatial Databases on A Multi- Computer Archetecture," Proc. Of EDBT, 1996.
  8. B. Schnitzer and Scott T. Leutenegger, "Master-Client R-Trees: A New Parallel R-Tree Architecture," Scientific and Statistical Database Management, pp.68-77, 1999.
  9. Shuhua Lai, Fenghua Zhu, and Yongqiang Sun, "A Design of Parallel R-tree on Cluster of Workstations," Proc. Of IWDNIS, pp. 119-133, 2000.
  10. Botao Wang, Hiroyuki Horinokuchi, Junihiko Kaneko, and Akifui Makinouchi, "Parallel R-tree Search Algorithm on DSVM. Database Systems for Advanced Applications," Proc. Of SICDSAA, Hsinchu, Taiwan 1999.
  11. J. Nievergelt, H. Hinterberger, and K. Sevcik, "The Grid File: An Adaptable, Symmetric Multikey File Structure," Proc. Of 3rd ECI Conf., Number 123 in LNCS Springer-Verlag, pp.236-251, 1981.
  12. K. Yang, B. He, R. Fang, M. Lu, N. Govindaraju, Q. Luo, P. Sander, and J. Shi, "In-memory Grid Files on Graphics ProcesSors," Proc. Of the 3rd international workshop on Data management on new hardware, 2007.
  13. Jun Rao and Kenneth A. Ross, "Cache Conscious Indexing for Decision-Support in Main Memory," Proc. Of VLDB, pp.78-89, 1999.
  14. R. Fang, B. He, M. Lu, K. Yang, N. K. Govindaraju, Q. Luo, and P. V. Sander. "Gpuqp: Query Co-processing Using Graphics Processors," Proc. Of the ACM SIGMOD, pp. 1061-1063, 2007.
  15. 장병준, 임인성, "Performance Analysis and Enhancing Techniques of Kd-Tree Traversal Methods on GPU," 한국정보과학회논문지:컴퓨팅의 실제 및 레터, Vol.16, No.2, pp. 177-185, 2010.
  16. 홍인실, 계희원, 신영길, "절단면 재렌더링 기법을 이용한 GPU기반 MIP 볼륨 렌더링," 한국멀티미디어학회논문지, Vol.10, No.3, pp. 316-324, 2007.

Cited by

  1. A Parallel Processing Method for Partial Nodes in R*-tree Using GPU vol.20, pp.6, 2012, https://doi.org/10.12672/ksis.2012.20.6.139
  2. Comparison of Voxel Map and Sphere Tree Structures for Proximity Computation of Protein Molecules vol.15, pp.6, 2012, https://doi.org/10.9717/kmms.2012.15.6.794
  3. Time Complexity Measurement on CUDA-based GPU Parallel Architecture of Morphology Operation vol.16, pp.4, 2011, https://doi.org/10.9717/kmms.2013.16.4.444