Database analytics acceleration using FPGAs

Business growth and technology advancements have resulted in growing amounts of enterprise data. To gain valuable business insight and competitive advantage, businesses demand the capability of performing real-time analytics on such data. This, however, involves expensive query operations that are very time consuming on traditional CPUs. Additionally, in traditional database management systems (DBMS), the CPU resources are dedicated to mission-critical transactional workloads. Offloading expensive analytics query operations to a co-processor can allow efficient execution of analytics workloads in parallel with transactional workloads. In this paper, we present a Field Programmable Gate Array (FPGA) based acceleration engine for database operations in analytics queries. The proposed solution provides a mechanism for a DBMS to seamlessly harness the FPGA compute power without requiring any changes in the application or the existing data layout. Using a software-programmed query control block, the accelerator can be tailored to execute different queries without reconfiguration. Our prototype is implemented in a PCIe-attached FPGA system and is integrated into a commercial DBMS platform. The results demonstrate up to 94% CPU savings on real customer data compared to the baseline software cost with up to an order of magnitude speedup in the offloaded computations and up to 6.2× improvement in end-to-end performance.

[1]  Jeffrey A. Delmerico,et al.  XtremeData dbX: An FPGA-Based Data Warehouse Appliance , 2010, Computing in Science & Engineering.

[2]  Balakrishna R. Iyer,et al.  Data Compression Support in Databases , 1994, VLDB.

[3]  Ryan Johnson,et al.  Row-wise parallel predicate evaluation , 2008, Proc. VLDB Endow..

[4]  Pradeep Dubey,et al.  Fast sort on CPUs and GPUs: a case for bandwidth oblivious SIMD sort , 2010, SIGMOD Conference.

[5]  References , 1971 .

[6]  Richard R. Muntz,et al.  Exploiting Reconfigurable FPGA for Parallel Query Processing in Computation Intensive Data Mining Applications , 1999 .

[7]  Jens Teubner,et al.  FPGA: what's in it for a database? , 2009, SIGMOD Conference.

[8]  Raghu Ramakrishnan,et al.  Database Management Systems , 1976 .

[9]  Jens Teubner,et al.  Data Processing on FPGAs , 2013, Proc. VLDB Endow..

[10]  Takashi Horikawa,et al.  An Unexpected Scalability Bottleneck in a DBMS: A Hidden Pitfall in Implementing Mutual Exclusion , 2011 .

[11]  Jørgen Fischer Nilsson,et al.  An Access Specification Language for a Relational Data Base System , 1979, IBM J. Res. Dev..

[12]  Kenneth A. Ross,et al.  Implementing database operations using SIMD instructions , 2002, SIGMOD '02.

[13]  Boon Yaik Ooi,et al.  EXPLORATION ON SCALABILITY OF DATABASE BULK INSERTION WITH MULTITHREADING , 2011 .

[14]  Pradeep Dubey,et al.  Fast Updates on Read-Optimized Databases Using Multi-Core CPUs , 2011, Proc. VLDB Endow..

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