Exploiting Massive Parallelism for IndexingMulti-Dimensional Datasets on the GPU

Research output: Contribution to journalArticlepeer-review

Abstract

Inherently multi-dimensional n-ary indexing structures such as R-trees are not well suited for the GPU because of their irregular memory access patterns and recursive back-tracking function calls. It has been known that traversing hierarchical tree structures in an irregular manner makes it difficult to exploit parallelism and to maximize the utilization of GPU processing units. Moreover, the recursive tree search algorithms often fail with large indexes because of the GPU's tiny runtime stack size. In this paper, we propose a novel parallel tree traversal algorithm - massively parallel restart scanning (MPRS) for multi-dimensional range queries that avoids recursion and irregular memory access. The proposed MPRS algorithm traverses hierarchical tree structures with mostly contiguous memory access patterns without recursion, which offers more chances to optimize the parallel SIMD algorithm. We implemented the proposed MPRS range query processing algorithm on n-ary bounding volume hierarchies including R-trees and evaluated its performance using real scientific datasets on an NVIDIA Tesla M2090 GPU. Our experiments show braided parallel SIMD friendly MPRS range query algorithm achieves at least 80 percent warp execution efficiency while task parallel tree traversal algorithm shows only 9-15 percent efficiency. Moreover, braided parallel MPRS algorithm accesses 7-20 times less amount of global memory than task parallel parent link algorithm by virtue of minimal warp divergence.

Original languageEnglish
Article number6876171
Pages (from-to)2258-2271
Number of pages14
JournalIEEE Transactions on Parallel and Distributed Systems
Volume26
Issue number8
DOIs
StatePublished - 1 Aug 2015
Externally publishedYes

Keywords

  • GPGPU
  • multi-dimensional range query
  • Parallel multi-dimensional indexing

Fingerprint

Dive into the research topics of 'Exploiting Massive Parallelism for IndexingMulti-Dimensional Datasets on the GPU'. Together they form a unique fingerprint.

Cite this