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