Accelerating Database Query Processing on OpenCL-based FPGAs
Nanyang Technological University, Singapore
Nanyang Technological University, 2016
@article{cheah2016accelerating,
title={Accelerating Database Query Processing on OpenCL-based FPGAs},
author={Cheah, Zeke Wang Johns Paul Huiyan and He, Bingsheng and Zhang, Wei},
year={2016}
}
The release of OpenCL support for FPGAs represents a significant improvement in extending database applications to the reconfigurable domain. Taking advantage of the programmability offered by the OpenCL HLS tool, an OpenCL database can be easily ported and re-designed for FPGAs. A single SQL query in these database systems usually consists of multiple operators, and each one of these operators in turn consists of multiple OpenCL kernels. Due to the specific properties of FPGAs, each OpenCL kernel can have different FPGAspecific optimization combinations (in terms of CU (Compute Units) and SIMD (Kernel vectorization)) which are critical to the overall performance of query processing. Due to the resource limitation of an FPGA image, our query plan also considers the possibility of using multiple FPGA images. In this paper, we propose an FPGA-specific cost model to efficiently determine the optimal query plan in less than one minute. Our cost model can significantly reduce the FPGA synthesis time by avoiding the need to evaluate all the feasible query plans on real FPGAs. Our FPGA-specific cost model has two components: unit cost and optimal query plan generation. The first component generates multiple (unit cost, resource utilization) pairs for each kernel. The second component employs a dynamic programming approach to generate the optimal query plan which considers the possibility of using multiple FPGA images. The experiments show that 1) our cost model can accurately predict the performance of each feasible query plan for the input query, and is able to guide the generation of the optimal query plan, 2) our optimized query plan achieves a performance speedup 1.5x-4x over the state-ofthe-art query processing on OpenCL-based FPGAs.
July 30, 2016 by hgpu