The Role of Programming Models on Reconfigurable Computing Fabrics

The Role of Programming Models on Reconfigurable Computing Fabrics

Joao M.P. Cardoso (University of Porto, Portugal), Joao Bispo (Technical University of Lisbon, Portugal) and Adriano K. Sanches (Technical University of Lisbon, Portugal)
ISBN13: 9781605667508|ISBN10: 1605667501|ISBN13 Softcover: 9781616923853|EISBN13: 9781605667515
DOI: 10.4018/978-1-60566-750-8.ch012
Cite Chapter Cite Chapter

MLA

Cardoso, Joao M.P., Joao Bispo and Adriano K. Sanches. "The Role of Programming Models on Reconfigurable Computing Fabrics." Behavioral Modeling for Embedded Systems and Technologies: Applications for Design and Implementation. IGI Global, 2010. 290-316. Web. 11 Jan. 2020. doi:10.4018/978-1-60566-750-8.ch012

APA

Cardoso, J. M., Bispo, J., & Sanches, A. K. (2010). The Role of Programming Models on Reconfigurable Computing Fabrics. In L. Gomes, & J. Fernandes (Eds.), Behavioral Modeling for Embedded Systems and Technologies: Applications for Design and Implementation (pp. 290-316). Hershey, PA: IGI Global. doi:10.4018/978-1-60566-750-8.ch012

Chicago

Cardoso, Joao M.P., Joao Bispo and Adriano K. Sanches. "The Role of Programming Models on Reconfigurable Computing Fabrics." In Behavioral Modeling for Embedded Systems and Technologies: Applications for Design and Implementation, ed. Luís Gomes and João M. Fernandes, 290-316 (2010), accessed January 11, 2020. doi:10.4018/978-1-60566-750-8.ch012

Export Reference

Mendeley
Favorite

Abstract

Reconfigurable computing architectures are becoming increasingly important in many computing domains (e.g., embedded and high-performance systems). These architectures promise comparable characteristics to specific hardware solutions with the flexibility and programmability of microprocessor solutions. This chapter gives a comprehensible overview of reconfigurable computing concepts and programming paradigms for the current and future generation of reconfigurable computing architectures. Two paramount aspects are highlighted: understanding how the programming model can help the mapping of computations to these architectures, and understanding also the way new programming models can be used to develop applications to these architectures. We include a set of simple examples to show different aspects of the use of the reconfigurable computing synergies, driven by the initial programming model used.

References

X10. (2006). Report on the experimental language X10, version 1.01. Retrieved on December 9, 2008, from http://x10.sourceforge.net/
Allen, E. (2005). The fortress language specification, version 0.618. Retrieved on November 17, 2008, from http://projectfortress.sun.com/Projects/Community
Alomary, A., Nakata, T., Honma, Y., Sato, J., Hikichi, N., & Imai, M. (1993). PEAS-I: A hardware/software codesign system for ASIPs. European Design Automation Conference, with EURO-VHDL (EURO-DAC'93) (pp. 2-7). Hamburg, Germany.
Altera, C. Nios II. Retrieved on November 27, 2008, from http://www.altera.com
Bennett, D., Dellinger, E., Mason, J., & Sundarajan, P. (2006). An FPGA-oriented target language for HLL compilation. Reconfigurable Systems Summer Institute (RSSI '06), Urbana, IL.
Benveniste A. Berry G. (1991). The synchronous approach to reactive and real-time systems.Proceedings of the IEEE, 79(9), 1270–1282. 10.1109/5.97297
Beux, S. L., Marquet, P., & Dekeyser, J.-L. (2007). A design flow to map parallel applications onto FPGAs. Paper presented at the 17th IEEE International Conference on Field Programmable Logic and Applications (FPL’07).
Bispo, J., Sourdis, Y., Cardoso, J. M. P., & Vassiliadis, S. (2006). Regular expression matching for reconfigurable packet inspection. IEEE International Conference on Field Programmable Technology (FPT’06) (pp. 119-126). Bangkok, Thailand: IEEE Computer Society Press.
Boussinot, F., & Simone, R. d. (1991). The esterel language. In Proceedings of the IEEE, 79(9), 1293-1304.
Budiu, M., & Goldstein, S. C. (1999). Fast compilation for pipelined reconfigurable fabrics. 1999 ACM/SIGDA Seventh International Symposium on Field Programmable Gate Arrays (FPGA'99) (pp. 195-205). Monterey, CA: ACM New York.
Cardoso, J. M. P., & Diniz, P. C. (2008) Compilation techniques for reconfigurable architectures. Springer.
Cardoso J. M. P. Neto H. C. (2003). Compilation for FPGA-based reconfigurable hardware.Design & Test of Computers, IEEE, 20(2), 65–75. 10.1109/MDT.2003.1188264
Cardoso, J. M. P., & Weinhardt, M. (2002). XPP-VC: A C compiler with temporal partitioning for the PACT-XPP architecture. 12th International Conference on Field Programmable Logic and Applications (FPL'02) (pp. 864-874). Montpellier, France.
Carlstrom, B. D., McDonald, A., Chafi, H., Chung, J., Minh, C. C., Kozyrakis, C., et al. (2006). The atomos transactional programming language. Conference on Programming Language Design and Implementation (PLDI’06) (pp. 1-13). Ottawa, Ontario, Canada: ACM Press.
Chamberlain B. L. Callahan D. Zima H. P. (2007). Parallel programmability and the chapel language.International Journal of High Performance Computing Applications, 21(3), 291–312. 10.1177/1094342007078442
Chang, N., Kwon, W. H., & Park, J. (1996). FPGA-based implementation of synchronous petri nets. 1996 IEEE 22nd International Conference on Industrial Electronics, Control, and Instrumentation (IECON’96) (pp. 469-474).
Chung, E. S., Nurvitadhi, E., Hoe, J. C., Falsafi, B., & Mai, K. (2008). A complexity-effective architecture for accelerating full-system multiprocessor simulations using FPGAs. 16th International ACM/SIGDA Symposium on Field Programmable Gate Arrays (pp. 77-86). Monterey, A: ACM.
Cilk (1998). Cilk 5.4.6 Reference manual, Supercomputing Technologies Group, MIT Laboratory for Computer Science. Retrieved on December 9, 2008, from http://supertech.lcs.mit.edu/cilk
Computers, S. R. C. I. Retrieved on November 27, 2008, from http://www.srccomp.com/
Corp, M. G. Catapult synthesis. Retrieved on December 2, 2008, from http://www.mentor.com/
Cox, R. (2007). Regular expression matching can be simple and fast (but is slow in Java, Perl, PHP, Python, Ruby...). Retrieved on December 2, 2008, from http://swtch.com/~rsc/regexp/regexp1.html
Craven, S., & Athanas, P. (2007). Examining the viability of FPGA supercomputing. EURASIP Journal of Embedded Systems.
Cronquist, D. C., Franklin, P., Berg, S. G., & Ebeling, C. (1998). Specifying and compiling applications for RaPiD. IEEE Symposium on Fpgas for Custom Computing Machines (FCCM’98) (pp. 116-125). Washington, D.C.: IEEE Computer Society.
DeHon A. Markovskiy Y. Caspi E. Chu M. Huang R. Perissakis S. (2006). Stream computations organized for reconfigurable execution.Microprocessors and Microsystems, 30(6), 334–354. 10.1016/j.micpro.2006.02.009
Diniz P. C. Hall M. W. Park J. So B. Ziegler H. E. (2005). Automatic mapping of C to FPGAs with the DEFACTO compilation and synthesis system.Microprocessors and Microsystems, 29(2-3), 51–62. 10.1016/j.micpro.2004.06.007
DSPLogic. DSPLogic, Inc. Retrieved on November 28, 2008, from http://www.dsplogic.com/home/
Dumont, P., & Boulet, P. (2005). Another multidimensional synchronous dataflow: Simulating array-OL in ptolemy II. Research Report RR-5516, Inria, France.
Edwards S. Lavagno L. Lee E. A. Sangiovanni-Vincentelli A. (1997). Design of embedded systems: Formal models, validation, and synthesis.Proceedings of the IEEE, 85(3), 366–390. 10.1109/5.558710
Eker, J., & Janneck, J. W. (2003). CAL language report: Specification of the CAL actor language. ERL Technical Memo UCB/ERL M03/48, University of California at Berkeley,CA.
El-Ghazawi T. El-Araby E. Miaoqing H. Gaj K. Kindratenko V. Buell D. (2008). The promise of high-performance reconfigurable computing.Computer, 41(2), 69–76. 10.1109/MC.2008.65
Gajski, D. D., Zhu, J., Dömer, R., Gerstlauer, A., & Zhao, S. (2000). SpecC: Specification language and methodology. Boston: Kluwer Academic Publishers.
Gokhale, M. B., Stone, J. M., Arnold, J., & Kalinowski, M. (2000). Stream-oriented FPGA computing in the streams-C high level language. IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM’00). Washington, D.C.: IEEE Computer Society
Gonzalez R. E. (2000). Xtensa: A configurable and extensible processor.Micro, IEEE, 20(2), 60–70. 10.1109/40.848473
Guo, Z., Buyukkurt, B., Najjar, W., & Vissers, K. (2005). Optimized generation of data-path from C codes for FPGAs. ACM/IEEE Design Automation and Test Europe Conference (DATE’05), Munich, Germany (pp. 112-117).
Handel-C. (1991-2007). Handel-C language reference manual. Agility Design Solutions Inc.
Harris T. Cristal A. Unsal O. S. Ayguade E. Gagliardi F. Smith B. (2007). Transactional memory: An overview.Micro, IEEE, 27(3), 8–29. 10.1109/MM.2007.63
Harris, T., & Fraser, K. (2003). Language support for lightweight transactions. Paper presented at the 18th Annual ACM SIGPLAN Conference on Object-oriented Programing, Systems, Languages, and Applications.
Hauck, S., & DeHon, A. (2008) Reconfigurable computing: The theory and practice of FPGA-based computation. Morgan Kaufmann/Elsevier.
Hilfinger, P., & Rabaey, J. (1992). DSP specification using the silage language. In Anatomy of a Silicon Compiler (pp. 199-220). Kluwer Academic Publishers.
Hoare C. A. R. (1978). Communicating sequential processes.Communications of the ACM, 21(8), 666–677. 10.1145/359576.359585
Johnston W. M. Hanna J. P. Millar R. J. (2004). Advances in dataflow programming languages.ACM Computing Surveys, 36(1), 1–34. 10.1145/1013208.1013209
Jones, A. K., Hoare, R., Kusic, D., Fazekas, J., & J, F. (2005). An FPGA-based VLIW processor with custom hardware execution. ACM International Symposium on Field-Programmable Gate Arrays (FPGA’05), Monterey, CA (pp. 107-117).
Kachris, C., & Kulkarni, C. (2007). Configurable transactional memory. 15th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (pp. 65-72). Napa, CA: IEEE Computer Society.
Kahn, G. (1974). The semantics of a simple language for parallel programming. Information Processing, 471-475.
Kapasi U. J. Rixner S. Dally W. J. Khailany B. Jung Ho A. Mattson P. (2003). Programmable stream processors.Computer, 36(8), 54–62. 10.1109/MC.2003.1220582
Khailany B. Dally W. J. Kapasi U. J. Mattson P. Namkoong J. Owens J. D. (2001). Imagine: Media processing with streams.Micro, IEEE, 21(2), 35–46. 10.1109/40.918001
Kuon, I., Tessier, R., & Rose, J. (2008). FPGA architecture: Survey and challenges. In Foundations and Trends in Electronic Design Automation, 2, 135-253.
Lau, D., Pritchard, O., & Molson, P. (2006). Automated generation of hardware accelerators with direct memory access from ANSI/ISO standard C functions. 14th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM '06) (pp. 45-56).
Lee E. A. Parks T. M. (1995). Dataflow process networks.Proceedings of the IEEE, 83(5), 773–801. 10.1109/5.381846
Liao, S. Y. (2000). Towards a new standard for system-level design. Eighth International Workshop on Hardware/Software Codesign, San Diego, CA (pp. 2-6).
McAllister, J., Woods, R., Walke, R., & Reilly, D. (2004). Synthesis and high level optimisation of multidimensional dataflow actor networks on FPGA. IEEE Workshop on Signal Processing Systems, TX (pp. 164-169).
Micheli, G. D., Ernst, R., & Wolf, W. (2001). Readings in hardware/software codesign (1st ed.). Morgan Kaufmann.
Möhl, S. (2005). The mitrion-C programming language. Retrieved on November 27, 2008, from http://www.mitrionics.com/
Murata T. (1989). Petri nets: Properties, analysis, and applications.Proceedings of the IEEE, 77(4). 10.1109/5.24143
Murthy P. K. Lee E. A. (2002). Multidimensional synchronous dataflow.IEEE Transactions on Signal Processing, 50(8), 2064–2079. 10.1109/TSP.2002.800830
Pellerin, D., & Thibault, S. (2005). Practical FPGA programming in C. Prentice Hall PTR.
Putnam, A. R., Bennett, D., Dellinger, E., Mason, J., & Sundararajan, P. (2008). CHiMPS: A high-level compilation flow for hybrid CPU-FPGA architectures. 16th international ACM/SIGDA Symposium on Field Programmable Gate Arrays (FPGA’08) (pp. 261-261). Monterey, CA: ACM New York.
SpecC. SpecC technology open consortium. Retrieved on December 2, 2008, from http://www.SpecC.org/
StarbridgeSystems. Starbridge Systems, Inc. Retrieved on November 28, 2008, from http://www.starbridgesystems.com
Stefanov, T., Zissulescu, C., Turjan, A., Kienhuis, B., & Deprettere, E. (2004). System design using kahn process networks: The compaan/laura approach. Design, Automation and Test in Europe conference (DATE’04) Paris, France (pp. 10340-10346).
SystemC (2005). Open systemC™ language reference manual, IEEE Std. 1666™. New York: Institute of Electrical and Electronics Engineers Inc.
Thies, W., Karczmarek, M., & Amarasinghe, S. (2002). StreamIt: A language for streaming applications. International Conference on Compiler Construction (LNCS, pp. 179-196). Grenoble, France: Springer.
Thrun, S. (2001). A programming language extension for probabilistic robot programming. Workshop notes of the IJCAI Workshop on Uncertainty in Robotics (RUR). Seattle, WA: IJCAI, Inc.
UPC. (2005). UPC language specifications. 1.2, a publication of the UPC consortium. Retrieved on December 9, 2008, from http://upc.lbl.gov/
Vassiliadis S. Wong S. Gaydadjiev G. Bertels K. Kuzmanov G. Panainte E. M. (2004). The MOLEN polymorphic processor. Computers. IEEE Transactions, 53(11), 1363–1375. 10.1109/TC.2004.104
Verilog. (2001). IEEE standard verilog hardware description language, IEEE Std 1364-2001. New York: Institute of Electrical and Electronics Engineers Inc.
VHDL. (1988). IEEE standard VHDL language reference manual, IEEE Std 1076-1987. New York: Institute of Electrical and Electronics Engineers Inc.
Wirth N. (1998). Hardware compilation: Translating programs into circuits.Computer, 31(6), 25–31. 10.1109/2.683004
Wolinski C. Gokhale M. McCave K. (2002). A polymorphous computing fabric.Micro, IEEE, 22(5), 56–68. 10.1109/MM.2002.1044300
Xilinx, I. MicroBlaze. Retrieved on November 27, 2008, from http://www.xilinx.com/
XPP-III. (2006). XPP-III processors: White paper, version 2.0.1. XPP Technologies AG.
Yankova, Y., Kuzmanov, G., Bertels, K., Gaydadjiev, G., Lu, Y., & Vassiliadis, S. (2007). DWARV: Delftworkbench automated reconfigurable VHDL generator. Conference on Field Programmable Logic and Applications (FPL’07), Amsterdam, The Netherlands (pp. 697-701).

Request Access

You do not own this content. Please login to recommend this title to your institution's librarian or purchase it from the IGI Global bookstore.