Red Fox: An Execution Environment for Relational Query Processing on GPUs

Red Fox: An Execution Environment for Relational Query Processing on GPUs

Haicheng Wu, Gregory Diamos, Tim Sheard, Molham Aref, Sean Baxter, Michael Garland, and Sudhakar Yalamanchili. “Red Fox: An Execution Environment for Relational Query Processing on GPUs.” International Symposium on Code Generation and Optimization (CGO). Feberuary 2014.

Abstract

Modern enterprise applications represent an emergent application arena that requires the processing of queries and computations over massive amounts of data. Large-scale, multi-GPU cluster systems potentially present a vehicle for major improvements in throughput and consequently overall performance. However, throughput improvement using GPUs is challenged by the distinctive memory and computational characteristics of Relational Algebra (RA) operators that are central to queries for answering business questions.

This paper introduces the design, implementation, and evaluation of Red Fox, a compiler and runtime infrastructure for executing relational queries on GPUs. Red Fox is comprised of i) a language front-end for LogiQL which is a commercial query language, ii) an RA to GPU compiler, iii) optimized GPU implementation of RA operators, and iv) a supporting runtime. We report the performance on the full set of industry standard TPC-H queries on a single node GPU. Compared with a commercial LogiQL system implementation optimized for a state of art CPU machine, Red Fox on average is 6.48x faster including PCIe transfer time. We point out key bottlenecks, propose potential solutions, and analyze the GPU implementation of these queries. To the best of our knowledge, this is the first reported end-to-end compilation and execution infrastructure that supports the full set of TPC-H queries on commodity GPUs.

Download

Paper [PDF]

Citation

@inproceedings{Wu:RedFox,
author = {Wu, Haicheng and Diamos, Gregory and Sheard, Tim and Aref, Molham and Baxter, Sean and Garland, Michael and Yalamanchili, Sudhakar},
title = {Red Fox: An Execution Environment for Relational Query Processing on GPUs},
booktitle = {Proceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization},
series = {CGO ’14},
year = {2014},
isbn = {978-1-4503-2670-4},
location = {Orlando, FL, USA},
pages = {44:44–44:54},
articleno = {44},
numpages = {11},
url = {http://doi.acm.org/10.1145/2544137.2544166},
doi = {10.1145/2544137.2544166},
acmid = {2544166},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {GPU, Relational Query Processing},
}