全部 标题 作者
关键词 摘要

OALib Journal期刊
ISSN: 2333-9721
费用:99美元

查看量下载量

相关文章

更多...

Occam-pi for Programming of Massively Parallel Reconfigurable Architectures

DOI: 10.1155/2012/504815

Full-Text   Cite this paper   Add to My Lib

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. 1. Introduction and Motivation The computational requirements of high-performance embedded applications, such as video processing in HDTV, baseband processing in telecommunication systems, and radar signal processing, have reached a level where they cannot be met with traditional computing systems based on general-purpose digital signal processors. Massively parallel reconfigurable processor arrays are made up of highly optimized functional blocks or even program-controlled processing elements composed in a reconfigurable interconnect. The coarse-grained composition leads to less reconfiguration data than in their more fine-grained counterparts, which improves the reconfiguration time, while the communication overhead is also decreased. The ability of coarse-grained reconfigurable architectures to undergo partial and run-time reconfiguration makes them suitable for implementing hardware acceleration of streaming applications. However, developing applications that employ such architectures poses several other challenging tasks. The procedural models of high-level programming languages, such as C, rely on sequential control flow, procedures, and recursion, which are difficult to adapt for reconfigurable arrays. The focus of these sequential languages is to provide abstractions for algorithm specification, but the

References

[1]  P. H. Welch and F. R. M. Barnes, “Communicating mobile processes introducing occam-pi,” in Proceedings of the Symposium on the Occasion of 25 Years of CSP—Communicating Sequential Processes, Lecture Notes in Computer Science, pp. 175–210, Springer, July 2004.
[2]  C. A. R Hoare, Communicating Sequential Processes, Prentice-Hall, 1985.
[3]  R. Milner, J. Parrow, and D. Walker, “A calculus of mobile processes, I,” Information and Computation, vol. 100, no. 1, pp. 1–40, 1992.
[4]  Zain-ul-Abdin and B. Svensson, “Using a CSP based programming model for reconfigurable processor arrays,” in Proceedings of the International Conference on Reconfigurable Computing and FPGAs (ReConFig '08), pp. 343–348, December 2008.
[5]  Zain-ul-Abdin and B. Svensson, “Occam-pi as a high-level language for coarsegrained reconfigurable architectures,” in Proceedings of the 18th International Reconfigurable Architectures Workshop held in Conjunction with International Parallel and Distributed Processing Symposium (IPDPS/RAW '11), Anchorage, Alaska, USA, May 2011.
[6]  A. ?hlander, H. Hellsten, K. Lind, J. Lindgren, and B. Svensson, “Architectural challenges in memory-intensive, real-time image forming,” in Proceedings of the 36th International Conference on Parallel Processing in Xi'an (ICPP '07), September 2007.
[7]  “Handel-C language reference manual,” Version 3.1, Celoxica, 2002.
[8]  J. Frigo, M. Gokhale, and D. Lavenier, “Evaluation of the streams-C C-to-FPGA compiler: an applications perspective,” in Proceedings of the ACM/SIGDA 9th International Sysmposium on Field Programmable Gate Arrays (FPGA '01), pp. 134–140, February 2001.
[9]  “Mobius Language Manual,” Codetronix LLC, 2006.
[10]  W. Luk and S. Mckeever, “Pebble: a language for parametrised and reconfigurable hardware design,” in Proceedings of the 8th International Workshop on Field-Programmable Logic and Applications, vol. 1482 of Lecture Notes in Computer Science, pp. 9–18, Springer, 1998.
[11]  M. J. Wirthlin and B. L. Hutchings, “Dynamic instruction set computer,” in Proceedings of the IEEE Symposium on FPGAs for Custom Computing Machines, pp. 99–107, April 1995.
[12]  J. Burns, A. Donlin, J. Hogg, S. Singh, and M. D. Wit, “A dynamic reconfiguration run-time system,” in Proceedings of the Annual IEEE Symposium on Field-Programmable Custom Computing Machines, 1997.
[13]  J. Villarreal, A. Park, W. Najjar, and R. Halstead, “Designing modular hardware accelerators in C with ROCCC 2.0,” in Proceedings of the 18th IEEE International Symposium on Field-Programmable Custom Computing Machines (FCCM '10), pp. 127–134, May 2010.
[14]  M. Bingfeng, S. Vernalde, D. Verkest, H. De Man, and R. Lauwereins, “DRESC: a retargetable compiler for coarse-grained reconfigurable architectures,” in Proceedings of the IEEE International Conference on Field-Programmable Technology, 2002.
[15]  A. M. Jones and M. Butts, “TeraOPS hardware: a new massively-parallel MIMD computing fabric IC,” in Proceedings of IEEE Hot Chips Symposium, 2006.
[16]  M. Butts, A. M. Jones, and P. Wasson, “A structural object programming model, architecture, chip and tools for reconfigurable computing,” in Proceedings of the 15th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM '07), pp. 55–64, April 2007.
[17]  “Occam? 2.1 reference manual, SGS-Thomson Microelectronics Limited,” 1995.
[18]  P. H. Welch and F. R. M. Barnes, “Prioritised dynamic communicating processes: part I,” in Communicating Process Architectures, pp. 321–352, IOS Press, 2002.
[19]  P. H. Welch and F. R. M. Barnes, “Prioritised dynamic communicating processes—part II,” in Communicating Process Architectures, pp. 353–370, IOS Press, 2002.
[20]  Tock, “Translator from Occam to C by Kent,” http://projects.cs.kent.ac.uk/projects/tock/trac, 2011.
[21]  M. Butts, B. Budlong, P. Wasson, and E. White, “Reconfigurable work farms on a massively parallel processor array,” in Proceedings of the 16th IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM '08), pp. 206–215, April 2008.
[22]  N. Shirazi, W. Luk, and P. Cheung, “Run-time management of dynamically reconfigurable designs,” in Proceedings of the 8th International Workshop on Field Programmable Logic and Applications (FPL '98), vol. 1482 of Lecture Notes in Computer Science, Springer, 1998.
[23]  Xilinx, “Video compression using DCT,” http://direct.xilinx.com/bvdocs/appnotes/xapp610.pdf, 2006.
[24]  L. M. H. Ulander, H. Hellsten, and G. Stenstr?m, “Synthetic-aperture radar processing using fast factorized back-projection,” IEEE Transactions on Aerospace and Electronic Systems, vol. 39, no. 3, pp. 760–776, 2003.
[25]  H. Hellsten, P. Dammert, and A. ?hlander, “Autofocus in fast factorized backprojection for processing of SAR images when geometry parameters are unknown,” in Proceedings of the IEEE International Radar Conference (RADAR '10), pp. 603–608, May 2010.
[26]  “KRoC: Kent Retargetable Occam Compiler,” http://www.cs.kent.ac.uk/projects/ofa/kroc/, 2010.
[27]  E. H. Neville, “Iterative interpolation,” Journal of Indian Mathematical Society, vol. 20, pp. 87–120, 1934.
[28]  Am2045 Data Book, Ambric, 2007.
[29]  Intel? CoreTM i7-600, i5-500, i5-400, and i3-300 Mobile processor series datasheet, Intel Corporation, 2010.

Full-Text

Contact Us

[email protected]

QQ:3279437679

WhatsApp +8615387084133