New Dimensions in Design Space and Runtime Adaptivity for Multiprocessor Systems Through Dynamic and Partial Reconfiguration: The RAMPSoC Approach

Embedded high performance computing applications have two requirements which hardly can be achieved simultaneously: high performance and low energy consumption. One solution is the exploitation of the low-level parallelism of a field programmable gate array (FPGA). Due to the manifold parameters, such as the adaptation of the clock frequency in relation to the application requirements, a better energy efficiency compared to traditional processor-based platforms can be achieved. However, the FPGA programming is time consuming until today and requires a very good understanding of the underlying hardware. There exist C-to-FPGA tools, which leverage the traditional FPGA programming using HDL-languages. However, C-to-FPGA tools can only be used for submodules and accelerators, because they do not handle the communication with the environment, e.g., camera interfaces, PCI-interfaces, etc. Furthermore, the results of an automatic code transformation are until today suboptimal in comparison to a hand coded design. Due to this fact, the interfaces have to be either programmed by hand, which is very time consuming, or they have to be bought from IP suppliers. Furthermore, these C-to-FPGA tools often have some restrictions on the input C, C++ language. In this book chapter a novel holistic approach called RAMPSoC (Runtime Adaptive Multiprocessor System-on-Chip) is presented. RAMPSoC provides a meet-in-the middle solution by combining the hardware flexibility and low power consumption of FPGAs with the software flexibility and the high-level programming paradigms of multiprocessor systems-on-chip. The RAMPSoC approach consists of a flexible and energy efficient hardware architecture, consisting of heterogeneous processing elements connected over a heterogeneous Star-Wheels Network-on-Chip, a user-guided design methodology and a new operating system for runtime resource management. RAMPSoC provides new dimensions for design space and runtime adaptivity by exploiting the features of dynamic and partial reconfiguration in FPGA-based designs. Using an object recognition algorithm, it was shown that the RAMPSoC is more energy efficient than a standard CPU and an NVIDIA Tesla GPU.

[1]  Jürgen Becker,et al.  A Design Methodology for Application Partitioning and Architecture Development of Reconfigurable Multiprocessor Systems-on-Chip , 2010, 2010 18th IEEE Annual International Symposium on Field-Programmable Custom Computing Machines.

[2]  David R. Butenhof Programming with POSIX threads , 1993 .

[3]  Juanjo Noguera,et al.  Fast dynamic and partial reconfiguration data path with low hardware overhead on Xilinx FPGAs , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum (IPDPSW).

[4]  Jürgen Becker,et al.  Message Passing Interface support for the runtime adaptive multi-processor system-on-chip RAMPSoC , 2010, ICSAMOS.

[5]  Timothy Mattson,et al.  A 48-Core IA-32 message-passing processor with DVFS in 45nm CMOS , 2010, 2010 IEEE International Solid-State Circuits Conference - (ISSCC).

[6]  Jürgen Becker,et al.  CAP-OS: Operating system for runtime scheduling, task mapping and resource management on reconfigurable multiprocessor architectures , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum (IPDPSW).

[7]  Jeff Mason,et al.  Invited Paper: Enhanced Architectures, Design Methodologies and CAD Tools for Dynamic Reconfiguration of Xilinx FPGAs , 2006, 2006 International Conference on Field Programmable Logic and Applications.

[8]  Vinod G. Shelake,et al.  Unleash the System On Chip using FPGAs and Handel C , 2009 .

[9]  Jürgen Becker,et al.  FPGA-Based Runtime Adaptive Multiprocessor Approach for Embedded High Performance Computing Applications , 2010, 2010 IEEE Computer Society Annual Symposium on VLSI.

[10]  Michael Fingeroff,et al.  High-Level Synthesis Blue Book , 2010 .

[11]  David Pellerin,et al.  Practical FPGA programming in C , 2005 .

[12]  Bin Liu,et al.  Star-Wheels Network-on-Chip featuring a self-adaptive mixed topology and a synergy of a circuit - and a packet-switching communication protocol , 2009, 2009 International Conference on Field Programmable Logic and Applications.