Improving Data Partitioning Performance on Opencl-Based Fpgas

Zeke Wang,Bingsheng He,Wei Zhang
DOI: https://doi.org/10.1109/fccm.2015.34
2015-01-01
Abstract:We investigate the performance of relational database applications on recent OpenCL-based FPGAs. As a start, we study the performance of data partitioning, a core operation widely used in relational databases. Due to the random memory accesses, data partitioning is time-consuming and can become a major bottleneck for database operators such as hash joins. We start with the state-of-the-art OpenCL implementation which was originally designed for the CPU/GPU, and find that such an implementation suffers from lock overhead and memory stalls. To resolve those overheads, we develop a simple yet efficient multi-kernel approach to leverage two emerging features in Altera OpenCL SDK, namely task kernel and channel. We evaluate the proposed design on a recent Altera Stratix V GX FPGA. Our results demonstrate that our proposed approach can achieve roughly 10.7X speedup over the state-of-the-art OpenCL implementation.
What problem does this paper attempt to address?