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.
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Altera Corp. 2007. Avalon Memory-Mapped Interface Specification. Available at https://www.altera.com.Google Scholar
- 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 Scholar
Digital Library
- ARM. 2013. AMBA AXI and ACE Protocol Specification. Available at http://www.arm.com.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- GiDEL Ltd. 2014. PROCWizard. Retrieved August 24, 2015, from http://www.gidel.com/procwizard.htm.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- J. Kulp. 2010. OpenCPI Technical Summary. Technical Report. Available at http://opencpi.org.Google Scholar
- Nallatech Ltd. 2007. DIMEtalk V3.0. Available at http://www.nallatech.com.Google Scholar
- OpenCores. 2014. Open Cores Home Page. Retrieved August 24, 2015, from http://opencores.org.Google Scholar
- OpenFPGA Inc. 2008. OpenFPGA Home Page. Retrieved August 24, 2014, from http://openfpga.org.Google Scholar
- 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 Scholar
- 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 Scholar
- J. Schofield. 2005. The statistically unreliable nature of lines of code. CrossTalk 18, 4, 29--33.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- G. Stitt and J. Coole. 2011. Intermediate fabrics: Virtual architectures for near-instant FPGA compilation. IEEE Embedded Systems Letters 3, 3, 81--84. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
Low-Overhead FPGA Middleware for Application Portability and Productivity
Recommendations
SCF: A Framework for Task-Level Coordination in Reconfigurable, Heterogeneous Systems
Heterogeneous computing systems comprised of accelerators such as FPGAs, GPUs, and manycore processors coupled with standard microprocessors are becoming an increasingly popular solution for future computing systems due to their higher performance and ...
Reconfigurable computing middleware for application portability and productivity
ASAP '13: Proceedings of the 2013 IEEE 24th International Conference on Application-specific Systems, Architectures and Processors (ASAP)Reconfigurable computing (RC) devices such as field-programmable gate arrays (FPGAs) offer significant advantages over fixed-logic, many-core CPU and GPU architectures, including increased performance for many computationally challenging applications, ...
VForce: An environment for portable applications on high performance systems with accelerators
Special Purpose Processors (SPPs), including Field Programmable Gate Arrays (FPGAs) and Graphics Processing Units (GPUs), are increasingly being used to accelerate scientific applications. VForce aims to aid application programmers in using such ...






Comments