Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article
Open access

A Retargetable Compilation Framework for Heterogeneous Reconfigurable Computing

Published: 11 August 2016 Publication History

Abstract

The future trend in microprocessors for the more advanced embedded systems is focusing on massively parallel reconfigurable architectures, consisting of heterogeneous ensembles of hundreds of processing elements communicating over a reconfigurable interconnection network. However, the mastering of low-level microarchitectural details involved in the programming of such massively parallel platforms becomes too cumbersome, which limits their adoption in many applications. Thus, there is a dire need for an approach to produce high-performance scalable implementations that harness the computational resources of the emerging reconfigurable platforms.
This article addresses the grand challenge of accessibility of these diverse reconfigurable platforms by suggesting the use of a high-level language, occam-pi, and developing a complete design flow for building, compiling, and generating machine code for heterogeneous coarse-grained hardware. We have evaluated the approach by implementing complex industrial case studies and three common signal processing algorithms. The results of the implemented case studies suggest that the occam-pi language-based approach, because of its well-defined semantics for expressing concurrency and reconfigurability, simplifies the development of applications employing runtime reconfigurable devices. The associated compiler framework ensures portability as well as the performance benefits across heterogeneous platforms.

References

[1]
1995. Occam® 2.1 Reference Manual. SGS-Thomson Microelectronics Limited.
[2]
2002. Handel-C Language Reference Manual, Version 3.1. Celoxica Inc.
[3]
2006. Mobius Language Manual. Codetronix LLC.
[4]
2010. Platform 2012: A Manycore Programmable Accelerator for Ultra-Efficient Embedded Computing in Nanometer Technology. Technical Report. ST-Microelectronics and CEA.
[5]
Fred Barnes and Peter H. Welch. 2002. Prioritised dynamic communicating processes - Part II. In Communicating Process Architectures 2002. 353--370.
[6]
Volker Baumgarte, G. Ehlers, Frank May, Armin Nuckel, Martin Vorback, and Markus Weinhardt. 2003. PACT XPP: A self-reconfigurable data processing architecture. Journal of Supercomputing 26, 2 (2003), 167--184.
[7]
Srinivas Boppu, Frank Hannig, and Jürgen Teich. 2014. Compact code generation for tightly-coupled processor arrays. Journal of Signal Processing Systems 77, 1--2 (2014), 5--29. 10.1007/s11265-014-0891-2
[8]
Jim Burns, Adam Donlin, Jonathan Hogg, Satnam Singh, and Mark de Wit. 1997. A dynamic reconfiguration run-time system. In Proceedings of the 5th International Symposium on Field-Programmable Custom Computing Machines (FCCM’97).
[9]
João M. P. Cardoso, Pedro C. Diniz, and Markus Weinhardt. 2010. Compiling for reconfigurable computing: A survey. ACM Computing Survey 42, 4, Article 13 (June 2010), 65 pages. 10.1145/1749603.1749604
[10]
Joao M. P. Cardoso and Markus Weinhardt. 2002. XPP-VC: A C compiler with temporal partitioning for the PACT-XPP architecture. In Proceedings of the 12th International Conference on Field Programmable Logic and Applications (FPL’02). Springer-Verlag, 864--874.
[11]
Jan Frigo, Maya Gokhale, and Dominique Lavenier. 2001. Evaluation of the streams-C C-to-FPGA compiler: An applications perspective. In Proceedings of the 9th International Symposium on Field-Programmable Gate Arrays (FPGA’01). ACM, 134--140.
[12]
Essayas Gebrewahid, Zain Ul-Abdin, Bertil Svensson, Veronica Gaspes, Bruno Jego, Bruno Lavigueur, and Mathieu Robart. 2013. Programming real-time image processing for manycores in a high-level language. In Proceedings of the Advanced Parallel Processing Technologies. Lecture Notes in Computer Science, Vol. 8299. Springer, Berlin, 381--395.
[13]
Michael I. Gordon, William Thies, Michal Karczmarek, Jasper Lin, Ali S. Meli, Andrew A. Lamb, Chris Leger, Jeremy Wong, Henry Hoffmann, David Maze, and Saman Amarasinghe. 2002. A stream compiler for communication-exposed architectures. SIGARCH Computer Architecture News 30, 5 (2002), 13.
[14]
David Greaves and Satnam Singh. 2008. Kiwi: Synthesis of FPGA circuits from parallel programs. In Proceedings of the International Symposium on Field-Programmable Custom Computing Machines (FCCM’08). http://research.microsoft.com/apps/pubs/default.aspx?id=71425.
[15]
Frank Hannig, Hritam Dutta, and Jrgen Teich. 2004. Mapping of regular nested loop programs to coarse-grained reconfigurable arrays -- Constraints and methodology. In Proceedings of the 18th Parallel and Distributed Processing Symposium (IPDPS’04).
[16]
C. A. R. Hoare. 1985. Communicating Sequential Processes. Prentice-Hall.
[17]
Anthony Mark Jones and Michael Butts. 2006. TeraOPS hardware: A new massively-parallel MIMD computing fabric IC. In Proceedings of IEEE Hot Chips Symposium.
[18]
Jong-eun Lee, Kiyoung Choi, and Nikil D. Dutt. 2003. Compilation approach for coarse-grained reconfigurable architectures. IEEE Design and Test of Computers 20, 1 (2003), 26--33. 10.1109/MDT.2003.1173050
[19]
Wayne Luk and Steve Mckeever. 1998. Pebble: A language for parametrised and reconfigurable hardware design. In Field-Programmable Logic and Applications From FPGAs to Computing Paradigm. Springer, 9--18.
[20]
Bingfeng Mei, S. Vernalde, D. Verkest, H. De Man, and R. Lauwereins. 2002. DRESC: A retargetable compiler for coarse-grained reconfigurable architectures. In Proceedings of the International Conference on Field-Programmable Technology (FPT’02). 166--173.
[21]
Robin Milner, Joachim Parrow, and David Walker. 1989. A calculus of mobile processes, Part I. Information and Computation 100, 1 (1989), 1--40.
[22]
Alexandros Papkonstantinou, Yun Liang, John A. Stratton, Karthik Gururaj, Deming Chen, Wen-Mei W. Hwu, and Jason Cong. 2011. Multilevel granularity parallelism synthesis on FPGAs. In Proceedings of the International Symposium on Field-Programmable Custom Computing Machines (FCCM’11).
[23]
Hyunchul Park, Yongjun Park, and Scott Mahlke. 2009. Polymorphic pipeline array: A flexible multicore accelerator with virtualized execution for mobile multimedia applications. In Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 42). 11.
[24]
Tock. 2008. Tock: Translator from Occam to C by Kent. http://projects.cs.kent.ac.uk/projects/tock/trac/.
[25]
Zain Ul-Abdin, Anders Ahlander, and Bertil Svensson. 2011. Programming real-time autofocus on a massively parallel reconfigurable architecture using occam-pi. Proceedings of the International Symposium on Field-Programmable Custom Computing Machines (FCCM’11), 194--201.
[26]
Zain Ul-Abdin, E. Gebrewahid, and B. Svensson. 2012. Managing dynamic reconfiguration for fault-tolerance on a manycore architecture. In Proceedings of the 26th International Symposium on Parallel and Distributed Processing Workshops (IPDPSW’12). 312--319.
[27]
Zain Ul-Abdin and B. Svensson. 2011. Occam-pi as a high-level language for coarse-grained reconfigurable architectures. In Proceedings of the 25th International Symposium on Parallel and Distributed Processing Workshops (IPDPSW’11). 236--243.
[28]
Zain Ul-Abdin and B. Svensson. 2012. Occam-pi for programming of massively parallel reconfigurable architectures. International Journal of Reconfigurable Computing 2012 (2012), Article No. 1.
[29]
Peter H. Welch and Frederick R. M. Barnes. 2005. Communicating mobile processes: Introducing occam-pi. In 25 Years of CSP (Lecture Notes in Computer Science), Vol. 3525. Springer Verlag, 175--210. http://www.cs. kent.ac.uk/pubs/2005/2162
[30]
Michael J. Wirthlin and Brad L. Hutchings. 1995. A dynamic instruction set computer. In Proceedings of IEEE Workshop on FPGAs for Custom Computing Machines. 99--107.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Transactions on Reconfigurable Technology and Systems
ACM Transactions on Reconfigurable Technology and Systems  Volume 9, Issue 4
Regular Papers and Special Section on Field Programmable Gate Arrays (FPGA) 2015
September 2016
161 pages
ISSN:1936-7406
EISSN:1936-7414
DOI:10.1145/2984740
  • Editor:
  • Steve Wilton
Issue’s Table of Contents
Permission to make digital or hard copies of all or part 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 components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 August 2016
Accepted: 01 November 2015
Revised: 01 September 2015
Received: 01 November 2014
Published in TRETS Volume 9, Issue 4

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Reconfigurable processor arrays
  2. compiler frameworks
  3. occam-pi
  4. runtime reconfiguration

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

  • ARTEMIS Joint Undertaking
  • Swedish government
  • CERES research program
  • ELLIIT strategic research initiative
  • Knowledge Foundation

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 442
    Total Downloads
  • Downloads (Last 12 months)38
  • Downloads (Last 6 weeks)6
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media