Abstract
Modern data appliances face severe bandwidth bottlenecks when moving vast amounts of data from storage to the query processing nodes. A possible solution to mitigate these bottlenecks is query off-loading to an intelligent storage engine, where partial or whole queries are pushed down to the storage engine. In this paper, we present Ibex, a prototype of an intelligent storage engine that supports off-loading of complex query operators. Besides increasing performance, Ibex also reduces energy consumption, as it uses an FPGA rather than conventional CPUs to implement the off-load engine. Ibex is a hybrid engine, with dedicated hardware that evaluates SQL expressions at line-rate and a software fallback for tasks that the hardware engine cannot handle. Ibex supports GROUP BY aggregation, as well as projection- and selection- based filtering. GROUP BY aggregation has a higher impact on performance but is also a more challenging operator to implement on an FPGA.
- A. Arasu et al. Orthogonal Security with Cipherbase. In Proc. 6th CIDR, Asilomar, CA, USA, 2013.Google Scholar
- R. Bittner. The Speedy DDR2 Controller For FPGAs. In Proc. ERSA, pages 205--211, Las Vegas, NV, USA, 2009.Google Scholar
- P. Boncz, M. Zukowski, and N. Nes. MonetDB/X100: Hyper-Pipelining Query Execution. In Proc. 2nd CIDR, pages 225--237, Asilomar, CA, USA, 2005.Google Scholar
- S. Borkar and A. Chien. The Future of Microprocessors. Commun. ACM, 54(5), 2011. Google ScholarDigital Library
- C. Computer. Convey HC-2, 2012. http://www.conveycomputer.com.Google Scholar
- C. Dennl, D. Ziener, and J. Teich. On-the-fly Composition of FPGA-Based SQL Query Accelerators Using a Partially Reconfigurable Module Library. In Proc. 20th FCCM, pages 45--52, Toronto, ON, Canada, 2012. Google ScholarDigital Library
- C. Dennl, D. Ziener, and J. Teich. Acceleration of SQL Restrictions and Aggregations through FPGA-Based Dynamic Partial Reconfiguration. In Proc. 21st FCCM, pages 25--28, Seattle, WA, USA, 2013. Google ScholarDigital Library
- D. Dewitt. DIRECT---A Multiprocessor Organization for Supporting Relational Database Management Systems. IEEE Trans. on Comp., 28(6): 395--406, 1979. Google ScholarDigital Library
- D. Dewitt et al. The Gamma Database Machine Project. IEEE Trans. on Knowl. and Data Eng., 2(1): 44--62, 1990. Google ScholarDigital Library
- U. Dhawan and A. DeHon. Area-Efficient Near-Associative Memories on FPGAs. In Proc. 21st FPGA, pages 191--200, Monterey, California, USA, 2013. Google ScholarDigital Library
- J. Do et al. Query Processing on Smart SSDs: Opportunities and Challenges. In Proc. SIGMOD, pages 1221--1230, New York, NY, USA, 2013. Google ScholarDigital Library
- K. Eguro. SIRC: An Extensible Reconfigurable Computing Communication API. In Proc. 18th FCCM, pages 135--138, Charlotte, NC, USA, 2010. Google ScholarDigital Library
- B. Gold et al. Accelerating Database Operations Using a Network Processor. In Proc. 1st DaMoN, Baltimore, MD, USA, 2005. Google ScholarDigital Library
- N. Govindaraju et al. GPUTeraSort: High-Performance Graphics Co-Processor Sorting for Large Database Management. In Proc. SIGMOD, pages 325--336, Chicago, IL, USA, 2006. Google ScholarDigital Library
- G. Graefe. Volcano---An Extensible and Parallel Query Evaluation System. IEEE Trans. on Knowl. and Data Eng., 6(1): 120--135, 1994. Google ScholarDigital Library
- B. He et al. Relational Joins on Graphics Processors. In Proc. SIGMOD, pages 511--524, Vancouver, BC, USA, 2008. Google ScholarDigital Library
- IBM/Netezza. The Netezza Data Appliance Architecture: A Platform for High Performance Data Warehousing and Analytics, 2011. White paper: http://www.redbooks.ibm.com/abstracts/redp4725.html.Google Scholar
- Z. István et al. A Flexible Hash Table Design for 10GBPs Key-Value Stores in FPGAs. In Proc. 23rd FPL, pages 1--8, Porto, Portugal, 2013.Google ScholarCross Ref
- Z. István, L. Woods, and G. Alonso. Histograms as a Side Effect of Data Movement for Big Data. In Proc. SIGMOD, Snowbird, UT, USA, 2014. Google ScholarDigital Library
- R. Moussalli et al. Accelerating XML Query Matching through Custom Stack Generation on FPGAs. In Proc. 5th HiPEAC, pages 141--155, Pisa, Italy, 2010. Google ScholarDigital Library
- R. Müller, J. Teubner, and G. Alonso. Streams on Wires---A Query Compiler for FPGAs. PVLDB, 2(1): 229--240, 2009. Google ScholarDigital Library
- M. Najafi, M. Sadoghi, and H.-A. Jacobsen. Flexible Query Processor on FPGAs. PVLDB, 6(12): 1310--1313, 2013. Google ScholarDigital Library
- Oracle. A Technical Overview of the Oracle Exadata Database Machine and Exadata Storage Server, 2012. White paper: http://www.oracle.com/technetwork/database/exadata/exadata-technical-whitepaper-134575.pdf.Google Scholar
- M. Sadoghi et al. Efficient Event Processing through Reconfigurable Hardware for Algorithmic Trading. PVLDB, 3(2): 1525--1528, 2010. Google ScholarDigital Library
- M. Sadoghi et al. Multi-Query Stream Processing on FPGAs. In Proc. 28th ICDE, pages 1229--1232, 2012. Google ScholarDigital Library
- A. Shatdal, C. Kant, and J. Naughton. Cache Conscious Algorithms for Relational Query Processing. In Proc. 20th VLDB, pages 510--521, Santiago de Chile, Chile, 1994. Google ScholarDigital Library
- I. Sourdis et al. A Reconfigurable Perfect-Hashing Scheme For Packet Inspection. In Proc. 15th FPL, pages 644--647, 2005.Google ScholarCross Ref
- B. Sukhwani et al. Database Analytics Acceleration using FPGAs. In Proc. 21st PACT, pages 411--420, Minneapolis, MN, USA, 2012. Google ScholarDigital Library
- T. Takenaka, M. Takagi, and H. Inoue. A Scalable Complex Event Processing Framework for Combination of SQL-based Continuous Queries and C/C++ Functions. In Proc. 22nd FPL, pages 237--242, Oslo, Norway, 2012.Google ScholarCross Ref
- J. Teubner, L. Woods, and C. Nie. Skeleton Automata: Reconfiguring without Reconstructing. In Proc. SIGMOD, pages 229--240, Scottsdale, AZ, USA, 2012. Google ScholarDigital Library
- T. Thinh, S. Kittitornkun, and S. Tomiyama. Applying Cuckoo Hashing for FPGA-based Pattern Matching in NIDS/NIPS. In ICFPT, pages 121--128, 2007.Google ScholarCross Ref
- P. Vaidya et al. Symbiote: A Reconfigurable Logic Assisted data Stream Management System (RLADSMS). In Proc. SIGMOD, pages 1147--1150, Indianapolis, IN, USA, 2010. Google ScholarDigital Library
- L. Woods and K. Eguro. Groundhog---A Serial ATA Host Bus Adapter (HBA) for FPGAs. In Proc. 20th FCCM, pages 220--223, 2012. Google ScholarDigital Library
- L. Woods, Z. István, and G. Alonso. Hybrid FPGA-accelerated SQL Query Processing. In Proc. 23rd FPL, page 1, Porto, Portugal, 2013.Google ScholarCross Ref
- L. Woods, J. Teubner, and G. Alonso. Less Watts, More Performance: An Intelligent Storage Engine for Data Appliances. In Proc. SIGMOD, pages 1073--1076, New York, NY, USA, 2013. Google ScholarDigital Library
- W. Yan and P.-A. Larson. Eager Aggregation and Lazy Aggregation. In Proc. 21th VLDB, pages 345--357, Zurich, Switzerland, 1995. Google ScholarDigital Library
- Y.-H. Yang, W. Jiang, and V. Prasanna. Compact Architecture for High-Throughput Regular Expression Matching on FPGA. In Proc. ANCS, 2008. Google ScholarDigital Library
Index Terms
- Ibex: an intelligent storage engine with support for advanced SQL offloading
Recommendations
HPDA: A hybrid parity-based disk array for enhanced performance and reliability
Flash-based Solid State Drive (SSD) has been productively shipped and deployed in large scale storage systems. However, a single flash-based SSD cannot satisfy the capacity, performance and reliability requirements of the modern storage systems that ...
Higher reliability redundant disk arrays: Organization, operation, and coding
Parity is a popular form of data protection in redundant arrays of inexpensive/independent disks (RAID). RAID5 dedicates one out of N disks to parity to mask single disk failures, that is, the contents of a block on a failed disk can be reconstructed by ...
A multiple-file write scheme for improving write performance of small files in Fast File System
Fast File System (FFS) stores files to disk in separate disk writes, each of which incurs a disk positioning (seek + rotation) limiting the write performance for small files. We propose a new scheme called co-writing to accelerate small file writes in ...
Comments