skip to main content
research-article

Low-Overhead FPGA Middleware for Application Portability and Productivity

Published:11 September 2015Publication History
Skip Abstract Section

Abstract

Reconfigurable computing devices such as field-programmable gate arrays (FPGAs) offer advantages over fixed-logic CPU and GPU architectures, including improved performance, superior power efficiency, and reconfigurability. The challenge of FPGA application development, however, has limited their acceptance in high-performance computing and high-performance embedded computing applications. FPGA development carries similar difficulties to hardware design, requiring that developers iterate through register-transfer level designs with cycle-level accuracy. Furthermore, the lack of hardware and software standards between FPGA platforms limits productivity and application portability, and makes porting applications between heterogeneous platforms a time-consuming and often challenging process. Recent efforts to improve FPGA productivity using high-level synthesis tools and languages show promise, but platform support remains limited and typically is left as a challenge for developers. To address these issues, we present RC Middleware (RCMW), a novel middleware that improves productivity and enables application and tool portability by abstracting away platform-specific details. RCMW provides an application-centric development environment, exposing only the resources and standardized interfaces required by an application, independent of the underlying platform. We demonstrate the portability and productivity benefits of RCMW using four heterogeneous platforms from three vendors. Our results indicate that RCMW enables application productivity and improves developer productivity, and that these benefits are achieved with less than 7% performance and 3% area overhead on average.

References

  1. M. Adler, K. E. Fleming, A. Parashar, M. Pellauer, and J. Emer. 2011. LEAP scratchpads: Automatic memory and cache management for reconfigurable logic. In Proceedings of the 19th ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA’11). ACM, New York, NY, 25--28. http://doi.acm.org/10.1145/1950413.1950421 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. V. Aggarwal, G. Stitt, A. George, and C. Yoon. 2012. SCF: A framework for task-level coordination in reconfigurable, heterogeneous systems. ACM Transactions on Reconfigurable Technology and Systems 5, 2, 7:17:23. http://doi.acm.org/10.1145/2209285.2209286 Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Altera Corp. 2007. Avalon Memory-Mapped Interface Specification. Available at https://www.altera.com.Google ScholarGoogle Scholar
  4. D. Andrews, R. Sass, E. Anderson, J. Agron, W. Peck, J. Stevens, F. Baijot, and E. Komp. 2008. Achieving programming model abstractions for reconfigurable computing. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 16, 1, 34--44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. ARM. 2013. AMBA AXI and ACE Protocol Specification. Available at http://www.arm.com.Google ScholarGoogle Scholar
  6. B. Betkaoui, D. B. Thomas, and W. Luk. 2010. Comparing performance and energy efficiency of FPGAs and GPUs for high productivity computing. In Proceedings of the 2010 International Conference on Field-Programmable Technology (FPT’10). 94--101.Google ScholarGoogle Scholar
  7. L. Cai, D. Gajski, and M. Olivarez. 2001. Introduction of system level architecture exploration using the SpecC methodology. In Proceedings of the 2001 IEEE International Symposium on Circuits and Systems (ISCAS’01), Vol. 5. 9--12.Google ScholarGoogle Scholar
  8. T. S. Czajkowski, U. Aydonat, D. Denisenko, J. Freeman, M. Kinsner, D. Neto, J. Wong, P. Yiannacouras, and D. P. Singh. 2012. From OpenCL to high-performance hardware on FPGAS. In Proceedings of the 2012 22nd International Conference on Field-Programmable Logic and Applications (FPL’12). 531--534.Google ScholarGoogle Scholar
  9. K. Eguro. 2010. SIRC: An extensible reconfigurable computing communication API. In Proceedings of the 2010 18th IEEE Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM’10). 135--138. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. T. El-Ghazawi, E. El-Araby, M. Huang, K. Gaj, V. Kindratenko, and D. Buell. 2008. The promise of high-performance reconfigurable computing. Computer 41, 2, 69--76. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. P. Garcia, K. Compton, M. Schulte, E. Blem, and W. Fu. 2006. An overview of reconfigurable hardware in embedded systems. EURASIP Journal on Embedded Systems 2006, 1, 13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. A. George, H. Lam, and G. Stitt. 2011. Novo-G: At the forefront of scalable reconfigurable supercomputing. Computing in Science Engineering 13, 1, 82--86. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. GiDEL Ltd. 2014. PROCWizard. Retrieved August 24, 2015, from http://www.gidel.com/procwizard.htm.Google ScholarGoogle Scholar
  14. L. Hao and G. Stitt. 2012. Bandwidth-sensitivity-aware arbitration for FPGAs. IEEE Embedded Systems Letters 4, 3, 73--76. DOI:http://dx.doi.org/10.1109/LES.2012.2209397. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. S. Huang, A. Hormati, D. F. Bacon, and R. Rabbah. 2008. Liquid metal: Object-oriented programming across the hardware/software boundary. In ECOOP 2008—Object-Oriented Programming, Lecture Notes in Computer Science, Vol. 5142. Springer, 76--103. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. A. Ismail and L. Shannon. 2011. FUSE: Front-end user framework for O/S abstraction of hardware accelerators. In Proceedings of the IEEE International Symposium on Field-Programmable Custom Computing Machines (FCCM’11). 170--177. DOI:http://dx.doi.org/10.1109/FCCM.2011.48. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. R. Kirchgessner, A. D. George, and H. Lam. 2013. Reconfigurable computing middleware for application portability and productivity. In Proceedings of the 2013 IEEE 24th International Conference on Application-Specific Systems, Architectures, and Processors (ASAP’13). 211--218. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. Kulp. 2010. OpenCPI Technical Summary. Technical Report. Available at http://opencpi.org.Google ScholarGoogle Scholar
  19. Nallatech Ltd. 2007. DIMEtalk V3.0. Available at http://www.nallatech.com.Google ScholarGoogle Scholar
  20. OpenCores. 2014. Open Cores Home Page. Retrieved August 24, 2015, from http://opencores.org.Google ScholarGoogle Scholar
  21. OpenFPGA Inc. 2008. OpenFPGA Home Page. Retrieved August 24, 2014, from http://openfpga.org.Google ScholarGoogle Scholar
  22. C. Pascoe, A. Lawande, H. Lam, A. George, W. Farmerie Sun, and M. Herbordt. 2010. Reconfigurable supercomputing with scalable systolic arrays and in-stream control for wavefront genomics processing. In Proceedings of the Symposium on Application Accelerators in High-Performance Computing. 13--15.Google ScholarGoogle Scholar
  23. X. Reves, V. Marojevic, R. Ferrus, and A. Gelonch. 2005. FPGA’s middleware for software defined radio applications. In Proceedings of the 2005 International Conference on Field-Programmable Logic and Applications. 598--601.Google ScholarGoogle Scholar
  24. J. Schofield. 2005. The statistically unreliable nature of lines of code. CrossTalk 18, 4, 29--33.Google ScholarGoogle Scholar
  25. T. Schumacher, C. Plessl, and M. Platzner. 2009. IMORC: Application mapping, monitoring and optimization for high-performance reconfigurable computing. In Proceedings of the 17th IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM’09). 275--278. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. L. Shannon and P. Chow. 2005. Simplifying the integration of processing elements in computing systems using a programmable controller. In Proceedings of the 2005 13th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM’05). 63--72. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. G. Stitt and J. Coole. 2011. Intermediate fabrics: Virtual architectures for near-instant FPGA compilation. IEEE Embedded Systems Letters 3, 3, 81--84. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. J. E. Stone, D. Gohara, and G. Shi. 2010. OpenCL: A parallel programming standard for heterogeneous computing systems. Computing in Science Engineering 12, 3, 66--73. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. J. Villarreal, A. Park, W. Najjar, and R. Halstead. 2010. Designing modular hardware accelerators in C with ROCCC 2.0. In Proceedings of the 2010 18th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM’10). 127--134. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Y. Wang, X. Zhou, L. Wang, J. Yan, W. Luk, C. Peng, and J. Tong. 2013. SPREAD: A streaming-based partially reconfigurable architecture and programming model. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 21, 12, 2179--2192. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. J. Williams, C. Massie, A. D. George, J. Richardson, K. Gosrani, and H. Lam. 2010. Characterization of fixed and reconfigurable multi-core devices for application acceleration. ACM Transactions on Reconfigurable Technology and Systems 3, 4, 19:1--19:29. http://doi.acm.org/10.1145/1862648.1862649. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Low-Overhead FPGA Middleware for Application Portability and Productivity

    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 ACM Transactions on Reconfigurable Technology and Systems
      ACM Transactions on Reconfigurable Technology and Systems  Volume 8, Issue 4
      October 2015
      134 pages
      ISSN:1936-7406
      EISSN:1936-7414
      DOI:10.1145/2822909
      • Editor:
      • Steve Wilton
      Issue’s Table of Contents

      Copyright © 2015 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 11 September 2015
      • Accepted: 1 March 2015
      • Revised: 1 February 2015
      • Received: 1 April 2014
      Published in trets Volume 8, Issue 4

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!