skip to main content
10.1145/1559845.1559965acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
tutorial

FPGA: what's in it for a database?

Published:29 June 2009Publication History

ABSTRACT

While there seems to be a general agreement that next years' systems will include many processing cores, it is often overlooked that these systems will also include an increasing number of different cores (we already see dedicated units for graphics or network processing). Orchestrating the diversity of processing functionality is going to be a major challenge in the upcoming years, be it to optimize for performance or for minimal energy consumption.

We expect field-programmable gate arrays (FPGAs or "programmable hardware") to soon play the role of yet another processing unit, found in commodity computers. It is clear that the new resource is going to be too precious to be ignored by database systems, but it is unclear how FPGAs could be integrated into a DBMS. With a focus on database use, this tutorial introduces into the emerging technology, demonstrates its potential, but also pinpoints some challenges that need to be addressed before FPGA-accelerated database systems can go mainstream. Attendees will gain an intuition of an FPGA development cycle, receive guidelines for a "good" FPGA design, but also learn the limitations that hardware-implemented database processing faces. Our more high-level ambition is to spur a broader interest in database processing on novel hardware technology.

References

  1. Zachary K. Baker and Viktor K. Prasanna. Efficient Hardware Data Mining with the Apriori Algorithm on FPGAs. In Proc. of the 13th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, pages 3--12, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Nagender Bandi, Ahmed Metwally, Divyakant Agrawal, and Amr El Abbadi. Data Stream Algorithms using Associative Memories. In Proc. of the ACM SIGMOD Int'l Conference on Management of Data, pages 247--256, Beijing, China, June 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Nagender Bandi, Chengyu Sun, Divyakant Agrawal, and Amr El Abbadi. Processing Spacial Data Using Graphics Processors. In Proc. of the Int'l Conference on Very Large Databases (VLDB), Toronto, ON, Canada, 2004.Google ScholarGoogle Scholar
  4. Jatin Chhugani, Anthony D. Nguyen, Victor W. Lee, William Macy, Mostafa Hagog, Yen--Kuang Chen, Akram Baransi, Sanjeev Kumar, and Pradeep Dubey. Efficient Implementation of Sorting on Multi-Core SIMD CPU architecture. Journal of the VLDB Endowment/Proc. VLDB 2008, 1(2):1313--1324, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Netezza Corp. http://www.netezza.com/.Google ScholarGoogle Scholar
  6. David DeWitt. DIRECT-A Multiprocessor Organization for Supporting Relational Database Management Systems. IEEE Trans. on Computers, c--28(6), June 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Mark Franklin, Roger Chamberlain, Michael Henrichs, Berkley Shands, and Jason White. An Architecture for Fast Processing of Large Unstructured Data Sets. In Proc. of the IEEE Int'l Conference on Computer Design, pages 280--287, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Bugra Gedik, Rajesh R. Bordawekar, and Philip S. Yu. CellSort: High Performance Sorting on the Cell Processor. In Int'l Conference on Very Large Databases (VLDB), pages 1286--1297, Vienna, Austria, September 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Bugra Gedik, Philip S. Yu, and Rajesh Bordawekar. Executing Stream Joins on the Cell Processor. In Proc. of the Int'l Conference on Very Large Databases, pages 363--374, Vienna, Austria, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Seth Copen Goldstein, Herman Schmit, Mihai Budiu, Srihari Cadambi, Matt Moe, and R. Reed Taylor. PipeRench: A Reconfigurable Architecture and Compiler. IEEE Computer, 33(4):70--77, April 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Naga Govindaraju, Jim Gray, Ritesh Kumar, and Dinesh Manocha. GPUTeraSort: High Performance Graphics Co-processor Sorting for Large Database Management. In Proc. of the ACM SIGMOD Int'l Conference on Management of Data, pages 325--336, Chicago, IL, USA, June 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Naga K. Govindaraju, Brandon Lloyd, Wei Wang, Ming Lin, and Dinesh Manocha. Fast Computation of Database Operations using Graphics Processors. In Proc. of the ACM SIGMOD Int'l Conference on Management of Data, Paris, France, June 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. David Greaves and Satnam Singh. Kiwi: Synthesis of FPGA Circuits from Parallel Programs. In IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM), 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Shan Shan Huang, Amir Hormati, David Bacon, and Rodric Rabbah. Liquid Metal: Object-Oriented Programming Across the Hardware/Software Boundary. In European Conference on Object-Oriented Programming, Paphos, Cyprus, July 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Xilinx Inc. MicroBlaze Processor Reference Guide. http://www.xilinx.com/support/documentation/sw_manuals/mb_ref_guide.pdf.Google ScholarGoogle Scholar
  16. Ryan Johnson, Vijayshankar Raman, Richard Sidle, and Garret Swart. Row-Wise Parallel Predicate Evaluation. Journal of the VLDB Endowment/Proc. VLDB 2008, 1(1):622--634, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Kickfie. http://www.kickfire.com.Google ScholarGoogle Scholar
  18. Richard Neil Pittman, Nathaniel Lee Lynch, and Alessandro Forin. eMIPS: A Dynamically Extensible Processor. Technical Report MSR-TR-2006-143, Microsoft Research Redmond, October 2006.Google ScholarGoogle Scholar
  19. Dina Thomas, Rajesh Bordawekar, Charu C. Aggarwal, and Philip S. Yu. On Efficient Query Processing of Stream Counts on the Cell Processor. In Proc. of the Int'l Conference on Data Engineering (ICDE), Shanghai, China, March 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Jingren Zhou and Kenneth A. Ross. Implementing Database Operations Using SIMD Instructions. In Proc. of the ACM SIGMOD Int'l Conference on Management of Data, pages 145--156, Madison, WI, USA, June 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Netronome Flow Engine Acceleration Cards, White Paper. http://www.netronome.com.Google ScholarGoogle Scholar

Index Terms

  1. FPGA: what's in it for a database?

      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
      • Published in

        cover image ACM Conferences
        SIGMOD '09: Proceedings of the 2009 ACM SIGMOD International Conference on Management of data
        June 2009
        1168 pages
        ISBN:9781605585512
        DOI:10.1145/1559845

        Copyright © 2009 Copyright is held by the owner/author(s)

        Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 29 June 2009

        Check for updates

        Qualifiers

        • tutorial

        Acceptance Rates

        Overall Acceptance Rate785of4,003submissions,20%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader