Loading...
Please wait, while we are loading the content...
Similar Documents
Relational Query Co-Processing on Graphics Processors 1
| Content Provider | Semantic Scholar |
|---|---|
| Author | Lu, Mian Fang, Rui Govindaraju, Naga K. Luo, Qiong Sander, Pedro V. |
| Copyright Year | 2009 |
| Abstract | Graphics processors (GPUs) have recently emerged as a powerful co-processor for general-purpose computation. Compared with commodity CPUs, GPUs have an order of magnitude higher computation power as well as memory bandwidth. Moreover, new-generation GPUs allow writes to random memory locations, provide e‐cient inter-processor communication through on-chip local memory, and support a general-purpose parallel programming model. Nevertheless, many of the GPU features are specialized for graphics processing, including the massively multi-threaded architecture, the Single-Instruction-Multiple-Data processing style, and the execution model of a single application at a time. Additionally, GPUs rely on a bus of limited bandwidth to transfer data from and to the CPU, do not allow dynamic memory allocation from GPU kernels, and have little hardware support for write con∞icts. Therefore, it requires a careful design and implementation to utilize the GPU for co-processing database queries. In this paper, we present our design, implementation, and evaluation of an in-memory relational query co-processing system, GDB, on the GPU. Taking advantage of the GPU hardware features, we design a set of highly optimized data-parallel primitives such as split and sort, and use these primitives to implement common relational query processing algorithms. Our algorithms utilize the high parallelism as well as the high memory bandwidth of the GPU, and use parallel computation and memory optimizations to efiectively reduce memory stalls. Furthermore, we propose co-processing techniques that take into account both the computation resources and the GPU-CPU data transfer cost so that each operator in a query can utilize suitable processors - the CPU, the GPU, or both, for an optimized overall performance. We have evaluated our GDB system on a machine with an Intel quad-core CPU and an NVIDIA GeForce 8800 GTX GPU. Our workloads include microbenchmark queries on memory-resident data as well as TPC-H queries that involve complex data types and multiple query operators on data sets larger than the GPU memory. Our results show that our GPU-based algorithms are 2-27x faster than their optimized CPU-based counterparts on in-memory data. Moreover, the performance of our co-processing scheme is similar to or better than both the GPU-only and the CPU-only schemes. |
| File Format | PDF HTM / HTML |
| Alternate Webpage(s) | http://www.cse.ust.hk/catalac/papers/gpuqp_tods09.pdf |
| Alternate Webpage(s) | http://www.researchgate.net/profile/Qiong_Luo2/publication/220225658_Relational_query_coprocessing_on_graphics_processors/links/0fcfd50cb84b5bd7a9000000.pdf |
| Language | English |
| Access Restriction | Open |
| Content Type | Text |
| Resource Type | Article |