SQL2FPGA: Automatic Acceleration of SQL Query Processing on Modern CPU-FPGA Platforms

被引:1
|
作者
Lu, Alec [1 ]
Fang, Zhenman [1 ]
机构
[1] Simon Fraser Univ, Sch Engn Sci, Burnaby, BC, Canada
基金
加拿大自然科学与工程研究理事会;
关键词
D O I
10.1109/FCCM57271.2023.00028
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Today's big data query engines are constantly under pressure to keep up with the rapidly increasing demand for faster processing of more complex workloads. In the past few years, FPGA-based database acceleration efforts have demonstrated promising performance improvement with good energy efficiency. However, few studies target the programming and design automation support to leverage the FPGA accelerator benefits in query processing. Most of them rely on the SQL query plan generated by CPU query engines and manually map the query plan onto the FPGA accelerators, which is tedious and error-prone. Moreover, such CPU-oriented query plans do not consider the utilization of FPGA accelerators and could lose more optimization opportunities. In this paper, we present SQL2FPGA, an FPGA accelerator-aware compiler to automatically map SQL queries onto the heterogeneous CPU-FPGA platforms. Our SQL2FPGA front-end takes an optimized logical plan of a SQL query from a database query engine and transforms it into a unified operator-level intermediate representation. To generate an optimized FPG-Aaware physical plan, SQL2FPGA implements a set of compiler optimization passes to 1) improve operator acceleration coverage by the FPGA, 2) eliminate redundant computation during physical execution, and 3) minimize data transfer overhead between operators on the CPU and FPGA. Finally, SQL2FPGA generates the associated query acceleration code for heterogeneous CPU-FPGA system deployment. Compared to the widely used Apache Spark SQL framework running on the CPU, SQL2FPGA-using two AMD/Xilinx HBM-based Alveo U280 FPGA boards-achieves an average performance speedup of 10.1x and 13.9x across all 22 TPC-H benchmark queries in a scale factor of 1GB (SF1) and 30GB (SF30), respectively.
引用
收藏
页码:184 / 194
页数:11
相关论文
共 45 条
  • [41] Exploration of OpenCL 2D Convolution Kernels on Intel FPGA, CPU, and GPU Platforms
    Jin, Zheming
    Finkel, Hal
    2019 IEEE INTERNATIONAL CONFERENCE ON BIG DATA (BIG DATA), 2019, : 4460 - 4465
  • [42] Acceleration techniques and evaluation on multi-core CPU, GPU and FPGA for image processing and super-resolution
    Georgis, Georgios
    Lentaris, George
    Reisis, Dionysios
    JOURNAL OF REAL-TIME IMAGE PROCESSING, 2019, 16 (04) : 1207 - 1234
  • [43] Acceleration techniques and evaluation on multi-core CPU, GPU and FPGA for image processing and super-resolution
    Georgios Georgis
    George Lentaris
    Dionysios Reisis
    Journal of Real-Time Image Processing, 2019, 16 : 1207 - 1234
  • [44] OpenABLext: An automatic code generation framework for agent-based simulations on CPU-GPU-FPGA heterogeneous platforms
    Xiao, Jiajian
    Andelfinger, Philipp
    Cai, Wentong
    Richmond, Paul
    Knoll, Alois
    Eckhoff, David
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2020, 32 (21):
  • [45] GIMME2-an embedded system for stereo vision and processing of megapixel images with FPGA-acceleration
    Ahlberg, Carl
    Ekstrand, Fredrik
    Ekstrom, Mikael
    Spampinato, Giacomo
    Asplund, Lars
    2015 INTERNATIONAL CONFERENCE ON RECONFIGURABLE COMPUTING AND FPGAS (RECONFIG), 2015,