Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

A Hardware/Software Approach for Database Query Acceleration with FPGAs

Published: 01 December 2015 Publication History

Abstract

Complex analytics queries often involve expensive operations that may require large computational runtimes leading to slow query responsiveness and hampering real-time performance. Moreover, running these expensive analytics queries inside traditional online transaction processing (OLTP) systems for real-time analytics can affect the performance of mission-critical OLTP queries. On the other hand, support for real-time analytics is considered vital for important business insights and improved market responsiveness. In this paper, we try to address the needs of real-time analytics by enabling hardware acceleration of complex database query operations such as predicate evaluation, sort and projection. While projection helps reduce the amount of data being processed by subsequent query operations, sort is central to most database queries, even those not involving an explicit sort operation. Our system involves FPGA-based composable accelerator for offloading the analytics queries from the host CPU running the OLTP workload. The FPGA-accelerated database system contains accelerator kernels for various database operations and automatic transformation of query operations into calls to these hardware kernels for seamless integration of the accelerator into the database system. Based on the query semantics, each accelerator kernel can be tailored by software to execute specific database operations and different kernels can be fused together to compose a query accelerator. Our query transformation algorithm creates a query-specific control block to customize the accelerator without requiring FPGA-reconfiguration.

References

[1]
Sukhwani, B., et al.: Database analytics acceleration using FPGAs. In: Proceedings of International Conference on Parallel Architectures and Compilation Techniques (PACT), pp. 411---420 (2012)
[2]
Halstead, R., et al.: Accelerating join operation for relational databases with FPGAs. In: IEEE CS, Proc. IEEE Symp. FCCM, pp. 17---20 (2013)
[3]
Sukhwani, B., et al.: Large payload streaming database sort and projection on FPGAs. In: Proceedings of $$25^{\rm th}$$25th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD) (2013)
[4]
Krueger, J., et al.: Fast updates on read optimized databases using multi core CPUs. In: Proceedings of the VLDB Endowment, vol. 5, No. 1, August (2012)
[5]
Low, B., Ooi, B., Wong, C.: Exploration on scalability of database bulk insertion with multi-threading. Int. J. New Comput. Archit. Appl. 1(3), 553---564 (2011)
[6]
Johnson, R., et al.: Rowwise parallel predicate evaluation. In: Proc. Int. Conf. VLDB'08
[7]
Zhou, J., Ross, K.A.: Implementing database operations using SIMD instructions. In: ACM SIGMOD, pp. 145---156 (2002)
[8]
Satish N., et al.: Fast sort on CPUs and GPUs: a case for bandwidth oblivious SIMD sort. In: ACM SIGMOD (2010)
[9]
Jean, J.S., Dong, G., Zhang, H., Guo, X., Zhang, B.: Query processing with an FPGA coprocessor board. In: Proceedings of the 1st International Conference on Engineering of Reconfigurable Systems and Algorithms (2001)
[10]
Mueller, R., Teubner, J., Alonso, G.: Glacier: a query-to-hardware compiler. In: ACM SIGMOD, pp. 1159---1162 (2010)
[11]
Mueller, R., Teubner, J., Alonso, G.: Streams on wires--a query compiler for FPGAs. Proc. VLDB Endow. 2(1), 229---240 (2009)
[12]
Horikawa, T.: An unexpected scalability bottleneck in a DBMS: a hidden pitfall in implementing mutual exclusion. In: Parallel and Distributed Computing and Systems (2011)
[13]
Scofield, T.C., et al.: XtremeData dbX: an FPGA-based data warehouse appliance. Comput. Sci. Eng. 12, 66---73 (2010)
[14]
Johnson, R., Raman, V., Sidle, R., Swart, G.: Rowwise parallel predicate evaluation. In: Proceedings of the International Conference on VLDB'08
[15]
Dennl, C., Ziener, D., Tiech, J.: On-the-fly composition FPGA based SQL query accelerators using a partially reconfigurable module library. In: Proc. IEEE Symp. FCCM, 2012. IEEE, pp. 45---52 (2012)
[16]
Govindaraju, N., Raghuvanshi, N., Henson, M., Tuft, D., Manocha, D.: GPU Tera- Sort: high performance graphics co-processor sorting for large database management. In: Proceedings of the 2006 ACM SIGMOD International Conference on Management of Data, June 26---29, Chicago, IL, USA (2006)
[17]
Batcher, K.E.: Sorting networks and their applications. In: Proceedings of the AFIPS Spring Joint Computer Conference, vol. 32, pp. 307---314 (1968)
[18]
Mueller, R., Jens, T., Gustavo, A.: Sorting networks on FPGAs. Int. J. Very Large Databases 21(1), 1---23 (2012)
[19]
Perez-Andrade, R., Cumplido, R., Feregrino-Uribe, C., Del Campo, F.M.: A versatile linear insertion sorter based on an FIFO scheme. Microelectron. J. 40(12), 1705---1713 (2009)
[20]
Colavita, A.A., Cicuttin, A., Fratnik, F., Capello, G.: SORTCHIP: a VLSI implementation of a hardware algorithm for continuous data sorting. IEEE J. Solid-State Circuits 38(6), 1076---1079 (2003)
[21]
Hirschil, B., Yaroslavsky, L.P.: FPGA implementations of sorters for non-linear filters. In: Eusipco 2004: Proceedings of the XII European Signal Processing Conference, vol. 1, pp. 541---544. Vienna, Austria (2004)
[22]
Harkins, J., El-Ghazawi, T., El-Araby, E., Huang, M.: Performance of sorting algorithms on the SRC 6 reconfigurable computer. In: Proceedings of the 2005 IEEE International Conference on Field-Programmable Technology, pp. 295---296, 11---14 Dec (2005)
[23]
Marcelino, R., Neto, H., Cardoso, J.M.P.: Sorting units for FPGA-based embedded systems. In: Distributed Embedded Systems: Design, Middleware and Resources, vol. 271 (2008)
[24]
Paul, R., Sau, S., Chakrabarti, A.: Architecture for real time continuous sorting on large width data volume for FPGA based applications. In: Computing Research Repository (CoRR), vol. abs/1206.1567 (2012)
[25]
Graefe, G.: Implementing sorting in database systems. In: ACM Computer Survey, vol. 38, No. 3. (2006)
[26]
Knuth, D.E.: The Art of Computer Programming, Vol. 3--Sorting and Searching. Addison-Wesley, Boston (1973)
[27]
IBM Corporation, z/Architecture Principles of Operations, SA22-7832-09, 7---118---7---124, 7---351---7---356, A-53---A-60, Sept 2012
[28]
Stack, M.: The Theory Behind the z/Architecture Sort Assist Instructions, Share, Session 8121, Aug 10---15 2008
[29]
www.picocomputing.com/pdf/SC5_sm.pdf. Pico Computing Inc
[30]
Sukhwani, B., et al.: Database analytics: a reconfigurable-computing approach. IEEE Micro 34(1), 19---29 (2014)

Cited By

View all
  • (2024)SQL2FPGA: Automated Acceleration of SQL Query Processing on Modern CPU-FPGA PlatformsACM Transactions on Reconfigurable Technology and Systems10.1145/367484317:3(1-28)Online publication date: 2-Jul-2024
  • (2024)DIBA: A Re-Configurable Stream ProcessorIEEE Transactions on Knowledge and Data Engineering10.1109/TKDE.2024.338119236:9(4550-4566)Online publication date: 1-Sep-2024
  • (2023)High-Performance Matrix Eigenvalue Decomposition Using the Parallel Jacobi Algorithm on FPGACircuits, Systems, and Signal Processing10.1007/s00034-022-02180-742:3(1573-1592)Online publication date: 1-Mar-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image International Journal of Parallel Programming
International Journal of Parallel Programming  Volume 43, Issue 6
December 2015
283 pages

Publisher

Kluwer Academic Publishers

United States

Publication History

Published: 01 December 2015

Author Tags

  1. Analytics
  2. Database
  3. FPGA
  4. Query transformation
  5. Sort

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 25 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)SQL2FPGA: Automated Acceleration of SQL Query Processing on Modern CPU-FPGA PlatformsACM Transactions on Reconfigurable Technology and Systems10.1145/367484317:3(1-28)Online publication date: 2-Jul-2024
  • (2024)DIBA: A Re-Configurable Stream ProcessorIEEE Transactions on Knowledge and Data Engineering10.1109/TKDE.2024.338119236:9(4550-4566)Online publication date: 1-Sep-2024
  • (2023)High-Performance Matrix Eigenvalue Decomposition Using the Parallel Jacobi Algorithm on FPGACircuits, Systems, and Signal Processing10.1007/s00034-022-02180-742:3(1573-1592)Online publication date: 1-Mar-2023
  • (2022)Cache management in MASCARA-FPGA: from coalescing heuristic to replacement policyProceedings of the 18th International Workshop on Data Management on New Hardware10.1145/3533737.3535096(1-5)Online publication date: 12-Jun-2022
  • (2021)MASCARA-FPGA cooperation model: Query Trimming through acceleratorsProceedings of the 33rd International Conference on Scientific and Statistical Database Management10.1145/3468791.3468795(203-208)Online publication date: 6-Jul-2021
  • (2020)He..ro DB: A Concept for Parallel Data Processing on Heterogeneous HardwareArchitecture of Computing Systems – ARCS 202010.1007/978-3-030-52794-5_7(82-96)Online publication date: 25-May-2020
  • (2019)Fast FPGA prototyping for real-time image processing with very high-level synthesisJournal of Real-Time Image Processing10.1007/s11554-017-0688-116:5(1795-1812)Online publication date: 1-Oct-2019
  • (2018)An Architecture of FPGA-Based Controller on Automatic Control System for Test and Launch in Launch SiteProceedings of the 2nd International Conference on Computer Science and Application Engineering10.1145/3207677.3278019(1-6)Online publication date: 22-Oct-2018
  • (2016)Accelerating Database Query Processing on OpenCL-based FPGAs (Abstract Only)Proceedings of the 2016 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays10.1145/2847263.2847295(274-274)Online publication date: 21-Feb-2016
  • (2016)FPGA-Based Dynamically Reconfigurable SQL Query ProcessingACM Transactions on Reconfigurable Technology and Systems10.1145/28450879:4(1-24)Online publication date: 22-Aug-2016

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media