Table of Contents Author Guidelines Submit a Manuscript
International Journal of Reconfigurable Computing
Volume 2012, Article ID 504815, 17 pages
http://dx.doi.org/10.1155/2012/504815
Research Article

Occam-pi for Programming of Massively Parallel Reconfigurable Architectures

Centre for Research on Embedded Systems (CERES), Halmstad University, 301 18 Halmstad, Sweden

Received 29 April 2011; Revised 7 August 2011; Accepted 31 August 2011

Academic Editor: João Cardoso

Copyright © 2012 Zain-ul-Abdin and Bertil Svensson. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract

Massively parallel reconfigurable architectures, which offer massive parallelism coupled with the capability of undergoing run-time reconfiguration, are gaining attention in order to meet the increased computational demands of high-performance embedded systems. We propose that the 𝚘 𝚌 𝚌 𝚊 𝚖 - 𝚙 𝚒 language is used for programming of the category of massively parallel reconfigurable architectures. The salient properties of the 𝚘 𝚌 𝚌 𝚊 𝚖 - 𝚙 𝚒 language are explicit concurrency with built-in mechanisms for interprocessor communication, provision for expressing dynamic parallelism, support for the expression of dynamic reconfigurations, and placement attributes. To evaluate the programming approach, a compiler framework was extended to support the language extensions in the 𝚘 𝚌 𝚌 𝚊 𝚖 - 𝚙 𝚒 language and a backend was developed to target the Ambric array of processors. We present two case-studies; DCT implementation exploiting the reconfigurability feature of 𝚘 𝚌 𝚌 𝚊 𝚖 - 𝚙 𝚒 and a significantly large autofocus criterion calculation based on the dynamic parallelism capability of the 𝚘 𝚌 𝚌 𝚊 𝚖 - 𝚙 𝚒 language. The results of the implemented case studies suggest that the 𝚘 𝚌 𝚌 𝚊 𝚖 - 𝚙 𝚒 -language-based approach simplifies the development of applications employing run-time reconfigurable devices without compromising the performance benefits.