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.
Similar content being viewed by others
References
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)
Halstead, R., et al.: Accelerating join operation for relational databases with FPGAs. In: IEEE CS, Proc. IEEE Symp. FCCM, pp. 17–20 (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)
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)
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)
Johnson, R., et al.: Rowwise parallel predicate evaluation. In: Proc. Int. Conf. VLDB’08
Zhou, J., Ross, K.A.: Implementing database operations using SIMD instructions. In: ACM SIGMOD, pp. 145–156 (2002)
Satish N., et al.: Fast sort on CPUs and GPUs: a case for bandwidth oblivious SIMD sort. In: ACM SIGMOD (2010)
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)
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.: Streams on wires—a query compiler for FPGAs. Proc. VLDB Endow. 2(1), 229–240 (2009)
Horikawa, T.: An unexpected scalability bottleneck in a DBMS: a hidden pitfall in implementing mutual exclusion. In: Parallel and Distributed Computing and Systems (2011)
Scofield, T.C., et al.: XtremeData dbX: an FPGA-based data warehouse appliance. Comput. Sci. Eng. 12, 66–73 (2010)
Johnson, R., Raman, V., Sidle, R., Swart, G.: Rowwise parallel predicate evaluation. In: Proceedings of the International Conference on VLDB’08
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)
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)
Batcher, K.E.: Sorting networks and their applications. In: Proceedings of the AFIPS Spring Joint Computer Conference, vol. 32, pp. 307–314 (1968)
Mueller, R., Jens, T., Gustavo, A.: Sorting networks on FPGAs. Int. J. Very Large Databases 21(1), 1–23 (2012)
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)
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)
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)
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)
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)
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)
Graefe, G.: Implementing sorting in database systems. In: ACM Computer Survey, vol. 38, No. 3. (2006)
Knuth, D.E.: The Art of Computer Programming, Vol. 3—Sorting and Searching. Addison-Wesley, Boston (1973)
IBM Corporation, z/Architecture Principles of Operations, SA22-7832-09, 7–118–7–124, 7–351–7–356, A-53–A-60, Sept 2012
Stack, M.: The Theory Behind the z/Architecture Sort Assist Instructions, Share, Session 8121, Aug 10–15 2008
www.picocomputing.com/pdf/SC5_sm.pdf. Pico Computing Inc
Sukhwani, B., et al.: Database analytics: a reconfigurable-computing approach. IEEE Micro 34(1), 19–29 (2014)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Sukhwani, B., Thoennes, M., Min, H. et al. A Hardware/Software Approach for Database Query Acceleration with FPGAs. Int J Parallel Prog 43, 1129–1159 (2015). https://doi.org/10.1007/s10766-014-0327-4
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10766-014-0327-4