Michael Garland

See Also

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


H. Wu, G. Diamos, T. Sheard, M. Aref, S. Baxter, M. Garland, and S. Yalamanchili. Red Fox: An Execution Environment for Relational Query Processing on GPUs. Proc. CGO 2014, Feb 2014.


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.


    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 = {Proc. Int'l Symposium on Code Generation and Optimization},
    series = {CGO '14},
    year = {2014},
    pages = {44:44--44:54},
    articleno = 44,
    numpages = 10,
    url = {http://doi.acm.org/10.1145/2544137.2544166},
    doi = {10.1145/2544137.2544166},