skip to main content
research-article

Ibex: an intelligent storage engine with support for advanced SQL offloading

Published:01 July 2014Publication History
Skip Abstract Section

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.

References

  1. A. Arasu et al. Orthogonal Security with Cipherbase. In Proc. 6th CIDR, Asilomar, CA, USA, 2013.Google ScholarGoogle Scholar
  2. R. Bittner. The Speedy DDR2 Controller For FPGAs. In Proc. ERSA, pages 205--211, Las Vegas, NV, USA, 2009.Google ScholarGoogle Scholar
  3. 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 ScholarGoogle Scholar
  4. S. Borkar and A. Chien. The Future of Microprocessors. Commun. ACM, 54(5), 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. C. Computer. Convey HC-2, 2012. http://www.conveycomputer.com.Google ScholarGoogle Scholar
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. Dewitt. DIRECT---A Multiprocessor Organization for Supporting Relational Database Management Systems. IEEE Trans. on Comp., 28(6): 395--406, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. Dewitt et al. The Gamma Database Machine Project. IEEE Trans. on Knowl. and Data Eng., 2(1): 44--62, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. U. Dhawan and A. DeHon. Area-Efficient Near-Associative Memories on FPGAs. In Proc. 21st FPGA, pages 191--200, Monterey, California, USA, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. Do et al. Query Processing on Smart SSDs: Opportunities and Challenges. In Proc. SIGMOD, pages 1221--1230, New York, NY, USA, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. K. Eguro. SIRC: An Extensible Reconfigurable Computing Communication API. In Proc. 18th FCCM, pages 135--138, Charlotte, NC, USA, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. B. Gold et al. Accelerating Database Operations Using a Network Processor. In Proc. 1st DaMoN, Baltimore, MD, USA, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. G. Graefe. Volcano---An Extensible and Parallel Query Evaluation System. IEEE Trans. on Knowl. and Data Eng., 6(1): 120--135, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. B. He et al. Relational Joins on Graphics Processors. In Proc. SIGMOD, pages 511--524, Vancouver, BC, USA, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle Scholar
  18. 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 ScholarGoogle ScholarCross RefCross Ref
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. R. Müller, J. Teubner, and G. Alonso. Streams on Wires---A Query Compiler for FPGAs. PVLDB, 2(1): 229--240, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. M. Najafi, M. Sadoghi, and H.-A. Jacobsen. Flexible Query Processor on FPGAs. PVLDB, 6(12): 1310--1313, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle Scholar
  24. M. Sadoghi et al. Efficient Event Processing through Reconfigurable Hardware for Algorithmic Trading. PVLDB, 3(2): 1525--1528, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. M. Sadoghi et al. Multi-Query Stream Processing on FPGAs. In Proc. 28th ICDE, pages 1229--1232, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. I. Sourdis et al. A Reconfigurable Perfect-Hashing Scheme For Packet Inspection. In Proc. 15th FPL, pages 644--647, 2005.Google ScholarGoogle ScholarCross RefCross Ref
  28. B. Sukhwani et al. Database Analytics Acceleration using FPGAs. In Proc. 21st PACT, pages 411--420, Minneapolis, MN, USA, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarCross RefCross Ref
  30. J. Teubner, L. Woods, and C. Nie. Skeleton Automata: Reconfiguring without Reconstructing. In Proc. SIGMOD, pages 229--240, Scottsdale, AZ, USA, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle ScholarCross RefCross Ref
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. L. Woods and K. Eguro. Groundhog---A Serial ATA Host Bus Adapter (HBA) for FPGAs. In Proc. 20th FCCM, pages 220--223, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. L. Woods, Z. István, and G. Alonso. Hybrid FPGA-accelerated SQL Query Processing. In Proc. 23rd FPL, page 1, Porto, Portugal, 2013.Google ScholarGoogle ScholarCross RefCross Ref
  35. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  36. W. Yan and P.-A. Larson. Eager Aggregation and Lazy Aggregation. In Proc. 21th VLDB, pages 345--357, Zurich, Switzerland, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Y.-H. Yang, W. Jiang, and V. Prasanna. Compact Architecture for High-Throughput Regular Expression Matching on FPGA. In Proc. ANCS, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Ibex: an intelligent storage engine with support for advanced SQL offloading
      Index terms have been assigned to the content through auto-classification.

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image Proceedings of the VLDB Endowment
        Proceedings of the VLDB Endowment  Volume 7, Issue 11
        July 2014
        92 pages
        ISSN:2150-8097
        Issue’s Table of Contents

        Publisher

        VLDB Endowment

        Publication History

        • Published: 1 July 2014
        Published in pvldb Volume 7, Issue 11

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader