FPGA-Based Dynamically Reconfigurable SQL Query Processing

In this article, we propose an FPGA-based SQL query processing approach exploiting the capabilities of partial dynamic reconfiguration of modern FPGAs. After the analysis of an incoming query, a query-specific hardware processing unit is generated on the fly and loaded on the FPGA for immediate query execution. For each query, a specialized hardware accelerator pipeline is composed and configured on the FPGA from a set of presynthesized hardware modules. These partially reconfigurable hardware modules are gathered in a library covering all major SQL operations like restrictions and aggregations, as well as more complex operations such as joins and sorts. Moreover, this holistic query processing approach in hardware supports different data processing strategies including row- as column-wise data processing in order to optimize data communication and processing. This article gives an overview of the proposed query processing methodology and the corresponding library of modules. Additionally, a performance analysis is introduced that is able to estimate the processing time of a query for different processing strategies and different communication and processing architecture configurations. With the help of this performance analysis, architectural bottlenecks may be exposed and future optimized architectures, besides the two prototypes presented here, may be determined.

[1]  Jürgen Teich,et al.  Acceleration of SQL Restrictions and Aggregations through FPGA-Based Dynamic Partial Reconfiguration , 2013, 2013 IEEE 21st Annual International Symposium on Field-Programmable Custom Computing Machines.

[2]  Volker Linnemann,et al.  Hardware-accelerated join processing in large Semantic Web databases with FPGAs , 2013, 2013 International Conference on High Performance Computing & Simulation (HPCS).

[3]  Information technology — Database languages — SQL — Part 1: Framework (SQL/Framework) , 2022 .

[4]  Jim Tørresen,et al.  Go Ahead: A Partial Reconfiguration Framework , 2012, 2012 IEEE 20th International Symposium on Field-Programmable Custom Computing Machines.

[5]  Christopher Chute,et al.  The Diverse and Exploding Digital Universe , 2011 .

[6]  J. Koomey Worldwide electricity used in data centers , 2008 .

[7]  W. H. Inmon,et al.  Building the Data Warehouse,3rd Edition , 2002 .

[8]  AsaadSameh,et al.  A Hardware/Software Approach for Database Query Acceleration with FPGAs , 2015 .

[9]  Bharat Sukhwani,et al.  A Hardware/Software Approach for Database Query Acceleration with FPGAs , 2014, International Journal of Parallel Programming.

[10]  James C. Hoe,et al.  Automatic generation of streaming datapaths for arbitrary fixed permutations , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[11]  Bharat Sukhwani,et al.  Accelerating Join Operation for Relational Databases with FPGAs , 2013, 2013 IEEE 21st Annual International Symposium on Field-Programmable Custom Computing Machines.

[12]  Gustavo Alonso,et al.  Ibex - An Intelligent Storage Engine with Support for Advanced SQL Off-loading , 2014, Proc. VLDB Endow..

[13]  Stephen R. Gardner Building the data warehouse , 1998, CACM.

[14]  Gustavo Alonso,et al.  Glacier: a query-to-hardware compiler , 2010, SIGMOD Conference.

[15]  Jim Tørresen,et al.  FPGASort: a high performance sorting architecture exploiting run-time reconfiguration on fpgas for large problem sorting , 2011, FPGA '11.

[16]  Walter Stechele,et al.  Towards Rapid Dynamic Partial Reconfiguration in Video-Based Driver Assistance Systems , 2010, ARC.

[17]  Michael Stonebraker,et al.  C-Store: A Column-oriented DBMS , 2005, VLDB.

[18]  Jens Teubner,et al.  XLynx—An FPGA-based XML filter for hybrid XQuery processing , 2013, TODS.

[19]  Jürgen Teich,et al.  Energy-aware SQL query acceleration through FPGA-based dynamic partial reconfiguration , 2014, 2014 24th International Conference on Field Programmable Logic and Applications (FPL).

[20]  Daniel J. Abadi,et al.  Column-stores vs. row-stores: how different are they really? , 2008, SIGMOD Conference.

[21]  Gustavo Alonso,et al.  Parallel Computation of Skyline Queries , 2013, 2013 IEEE 21st Annual International Symposium on Field-Programmable Custom Computing Machines.

[22]  Takashi Takenaka,et al.  A scalable complex event processing framework for combination of SQL-based continuous queries and C/C++ functions , 2012, 22nd International Conference on Field Programmable Logic and Applications (FPL).

[23]  Jürgen Teich,et al.  On-the-fly Composition of FPGA-Based SQL Query Accelerators Using a Partially Reconfigurable Module Library , 2012, 2012 IEEE 20th International Symposium on Field-Programmable Custom Computing Machines.