A Mapping Method for Multi-Process Execution on Dynamically Reconfigurable Processors

The multi-process execution in dynamically reconfigurable processors is a technique to enhance throughput by trying to exploit more inherent parallelism of applications. Basically, a total process for an application is divided into small processes, assigned into limited areas of a reconfigurable array, and concurrently executed in a pipelined manner. In order to improve the efficiency of the multi-process execution, a systematic method for mapping processes onto a reconfigurable array consisting of multiple hardware execution units is essential. This paper proposes and investigates a systematic method for mapping an application modeled as a Kahn Process Network onto a dynamically reconfigurable processing array. In order to execute streaming applications in a pipelined manner, the size of Tiles, which is a unit area of dynamically reconfigurable array, and the grouping of processes are adjusted. Using real applications uch as DCT, JPEG encoder and Turbo encoder, the impact of different versions mapped onto the NEC Dynamically Reconfigurable Processor on performance is evaluated. Evaluation results show that our proposed mapping algorithm achieves the best performance in terms of the throughput and the execution time. key words: dynamically reconfigurable processor, multi-process execution, single-process execution

[1]  Ralf Niemann Hardware, software co-design for data flow dominated embedded systems , 1998 .

[2]  Edward A. Lee,et al.  Ptolemy: A Framework for Simulating and Prototyping Heterogenous Systems , 2001, Int. J. Comput. Simul..

[3]  Takashi Nishimura,et al.  Performance and power analysis of time-multiplexed execution on dynamically reconfigurable processor , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[4]  Takayuki Sugawara,et al.  Dynamically Reconfigurable Processor Implemented with IPFlex's DAPDNA Technology , 2004, IEICE Trans. Inf. Syst..

[5]  E.A. Lee,et al.  Synchronous data flow , 1987, Proceedings of the IEEE.

[6]  Yao-Wen Chang,et al.  Temporal floorplanning using 3D-subTCG , 2004 .

[7]  Will Moffat,et al.  Custom implementation of the coarse-grained reconfigurable ADRES architecture for multimedia purposes , 2005, International Conference on Field Programmable Logic and Applications, 2005..

[8]  Alain Glavieux,et al.  Reflections on the Prize Paper : "Near optimum error-correcting coding and decoding: turbo codes" , 1998 .

[9]  Majid Sarrafzadeh,et al.  Fast Template Placement for Reconfigurable Computing Systems , 2000, IEEE Des. Test Comput..

[10]  Li Jing,et al.  High-Level Synthesis Challenges and Solutions for a Dynamically Reconfigurable Processor , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

[11]  Dimitrios Soudris,et al.  A partitioning methodology for accelerating applications in hybrid reconfigurable platforms , 2005, Design, Automation and Test in Europe.