Skip to main content
Erschienen in: International Journal of Parallel Programming 6/2015

01.12.2015

A Hardware/Software Approach for Database Query Acceleration with FPGAs

verfasst von: Bharat Sukhwani, Mathew Thoennes, Hong Min, Parijat Dube, Bernard Brezzo, Sameh Asaad, Donna Dillenberger

Erschienen in: International Journal of Parallel Programming | Ausgabe 6/2015

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

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.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Literatur
1.
Zurück zum Zitat 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) 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.
Zurück zum Zitat Halstead, R., et al.: Accelerating join operation for relational databases with FPGAs. In: IEEE CS, Proc. IEEE Symp. FCCM, pp. 17–20 (2013) Halstead, R., et al.: Accelerating join operation for relational databases with FPGAs. In: IEEE CS, Proc. IEEE Symp. FCCM, pp. 17–20 (2013)
3.
Zurück zum Zitat Sukhwani, B., et al.: Large payload streaming database sort and projection on FPGAs. In: Proceedings of \(25^{\rm th}\) International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD) (2013) Sukhwani, B., et al.: Large payload streaming database sort and projection on FPGAs. In: Proceedings of \(25^{\rm th}\) International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD) (2013)
4.
Zurück zum Zitat 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) 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.
Zurück zum Zitat 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) 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.
Zurück zum Zitat Johnson, R., et al.: Rowwise parallel predicate evaluation. In: Proc. Int. Conf. VLDB’08 Johnson, R., et al.: Rowwise parallel predicate evaluation. In: Proc. Int. Conf. VLDB’08
7.
Zurück zum Zitat Zhou, J., Ross, K.A.: Implementing database operations using SIMD instructions. In: ACM SIGMOD, pp. 145–156 (2002) Zhou, J., Ross, K.A.: Implementing database operations using SIMD instructions. In: ACM SIGMOD, pp. 145–156 (2002)
8.
Zurück zum Zitat Satish N., et al.: Fast sort on CPUs and GPUs: a case for bandwidth oblivious SIMD sort. In: ACM SIGMOD (2010) Satish N., et al.: Fast sort on CPUs and GPUs: a case for bandwidth oblivious SIMD sort. In: ACM SIGMOD (2010)
9.
Zurück zum Zitat 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) 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.
Zurück zum Zitat Mueller, R., Teubner, J., Alonso, G.: Glacier: a query-to-hardware compiler. In: ACM SIGMOD, pp. 1159–1162 (2010) Mueller, R., Teubner, J., Alonso, G.: Glacier: a query-to-hardware compiler. In: ACM SIGMOD, pp. 1159–1162 (2010)
11.
Zurück zum Zitat Mueller, R., Teubner, J., Alonso, G.: Streams on wires—a query compiler for FPGAs. Proc. VLDB Endow. 2(1), 229–240 (2009)CrossRef Mueller, R., Teubner, J., Alonso, G.: Streams on wires—a query compiler for FPGAs. Proc. VLDB Endow. 2(1), 229–240 (2009)CrossRef
12.
Zurück zum Zitat Horikawa, T.: An unexpected scalability bottleneck in a DBMS: a hidden pitfall in implementing mutual exclusion. In: Parallel and Distributed Computing and Systems (2011) 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.
Zurück zum Zitat Scofield, T.C., et al.: XtremeData dbX: an FPGA-based data warehouse appliance. Comput. Sci. Eng. 12, 66–73 (2010)CrossRef Scofield, T.C., et al.: XtremeData dbX: an FPGA-based data warehouse appliance. Comput. Sci. Eng. 12, 66–73 (2010)CrossRef
14.
Zurück zum Zitat Johnson, R., Raman, V., Sidle, R., Swart, G.: Rowwise parallel predicate evaluation. In: Proceedings of the International Conference on VLDB’08 Johnson, R., Raman, V., Sidle, R., Swart, G.: Rowwise parallel predicate evaluation. In: Proceedings of the International Conference on VLDB’08
15.
Zurück zum Zitat 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) 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.
Zurück zum Zitat 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) 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.
Zurück zum Zitat Batcher, K.E.: Sorting networks and their applications. In: Proceedings of the AFIPS Spring Joint Computer Conference, vol. 32, pp. 307–314 (1968) Batcher, K.E.: Sorting networks and their applications. In: Proceedings of the AFIPS Spring Joint Computer Conference, vol. 32, pp. 307–314 (1968)
18.
Zurück zum Zitat Mueller, R., Jens, T., Gustavo, A.: Sorting networks on FPGAs. Int. J. Very Large Databases 21(1), 1–23 (2012)CrossRef Mueller, R., Jens, T., Gustavo, A.: Sorting networks on FPGAs. Int. J. Very Large Databases 21(1), 1–23 (2012)CrossRef
19.
Zurück zum Zitat 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)CrossRef 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)CrossRef
20.
Zurück zum Zitat 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)CrossRef 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)CrossRef
21.
Zurück zum Zitat 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) 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.
Zurück zum Zitat 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) 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.
Zurück zum Zitat 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) 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.
Zurück zum Zitat 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) 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.
Zurück zum Zitat Graefe, G.: Implementing sorting in database systems. In: ACM Computer Survey, vol. 38, No. 3. (2006) Graefe, G.: Implementing sorting in database systems. In: ACM Computer Survey, vol. 38, No. 3. (2006)
26.
Zurück zum Zitat Knuth, D.E.: The Art of Computer Programming, Vol. 3—Sorting and Searching. Addison-Wesley, Boston (1973) Knuth, D.E.: The Art of Computer Programming, Vol. 3—Sorting and Searching. Addison-Wesley, Boston (1973)
27.
Zurück zum Zitat IBM Corporation, z/Architecture Principles of Operations, SA22-7832-09, 7–118–7–124, 7–351–7–356, A-53–A-60, Sept 2012 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.
Zurück zum Zitat Stack, M.: The Theory Behind the z/Architecture Sort Assist Instructions, Share, Session 8121, Aug 10–15 2008 Stack, M.: The Theory Behind the z/Architecture Sort Assist Instructions, Share, Session 8121, Aug 10–15 2008
30.
Zurück zum Zitat Sukhwani, B., et al.: Database analytics: a reconfigurable-computing approach. IEEE Micro 34(1), 19–29 (2014)CrossRef Sukhwani, B., et al.: Database analytics: a reconfigurable-computing approach. IEEE Micro 34(1), 19–29 (2014)CrossRef
Metadaten
Titel
A Hardware/Software Approach for Database Query Acceleration with FPGAs
verfasst von
Bharat Sukhwani
Mathew Thoennes
Hong Min
Parijat Dube
Bernard Brezzo
Sameh Asaad
Donna Dillenberger
Publikationsdatum
01.12.2015
Verlag
Springer US
Erschienen in
International Journal of Parallel Programming / Ausgabe 6/2015
Print ISSN: 0885-7458
Elektronische ISSN: 1573-7640
DOI
https://doi.org/10.1007/s10766-014-0327-4

Weitere Artikel der Ausgabe 6/2015

International Journal of Parallel Programming 6/2015 Zur Ausgabe