Abstract
Recently, as the amount of spatial information increases, an interest in the study of spatial information processing has been increased. Spatial database systems extended from the traditional relational database systems are difficult to handle large data sets because of the scalability. SpatialHadoop extended from Hadoop system has a low performance, because spatial computations in SpationHadoop require a lot of write operations of intermediate results to the disk, resulting in the performance degradation. In this paper, Spatial Computation Spark(SC-Spark) is proposed, which is an in-memory based distributed processing framework. SC-Spark is extended from Spark in order to efficiently perform the spatial operation for large-scale data. In addition, SC-Spark based on the GPGPU is developed to improve the performance of the SC-Spark. SC-Spark uses the advantage of the Spark holding intermediate results in the memory. And GPGPU-based SC-Spark can perform spatial operations in parallel using a plurality of processing elements of an GPU. To verify the proposed work, experiments on a single AMD system were performed using SC-Spark and GPGPU-based SC-Spark for Point-in-Polygon and spatial join operation. The experimental results showed that the performance of SC-Spark and GPGPU-based SC-Spark were up-to 8 times faster than SpatialHadoop.
최근 급격히 증가하는 공간 데이터를 효율적으로 처리하기 위해 많은 연구들이 진행되고 있다. 기존 관계형 데이터베이스 시스템을 확장한 공간 데이터베이스 시스템은 확장성에 대한 문제가 있으며, 분산 처리 플랫폼인 하둡을 확장한 SpatialHadoop은 중간 연산 결과를 디스크에 작성하기 때문에 파일 입출력의 오버헤드로 성능이 저하되는 문제가 있다. 본 논문은 인-메모리 기반 분산 처리 프레임워크인 스파크를 확장한 공간 연산 스파크를 제안하였다. 또한 공간 연산 스파크의 성능을 향상시키기 위하여 GPGPU를 결합한 모델을 개발하였다. 공간 연산 스파크는 중간 연산 결과를 메모리에 유지시키는 스파크의 특징을 그대로 사용하고 있으며, GPGPU 기반 공간 연산 스파크의 경우 다수의 PE를 이용하여 병렬처리하기 때문에 효율적으로 공간 연산을 수행할 수 있다. 본 논문은 단일 AMD 시스템에서 공간 연산 스파크와 GPGPU 기반 공간 연산 스파크를 구현하였다. 공간 연산 스파크와 GPGPU 기반 공간 연산 스파크의 성능을 평가하기 위하여 Point-in-Polygon 연산과 Spatial Join 연산을 수행하였으며, SpatialHadoop에 비하여 최대 8배의 성능 향상을 확인하였다.