Minimization of average execution time based on speculative FPGA configuration prefetch

One of the main drawbacks that significantly impacts the performance of dynamically reconfigurable systems (like FPGAs), is their high reconfiguration overhead. Configuration prefetching is one method to reduce this penalty by overlapping FPGA reconfigurations with useful computations. In this paper we propose a speculative approach that schedules prefetches at design time and simultaneously performs HW/SW partitioning, in order to minimize the expected execution time of an application. Our method prefetches and executes in hardware those configurations that provide the highest performance improvement. The algorithm takes into consideration profiling information (such as branch probabilities and execution time distributions), correlated with the application characteristics. Compared to the previous state-of-art, we reduce the reconfiguration penalty with 34% on average, and with up to 59% for particular case studies.

[1]  Wayne Luk,et al.  Design Optimizations for Tiled Partially Reconfigurable Systems , 2011, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[2]  Chun-Hsian Huang,et al.  Scheduling and Placement of Hardware/Software Real-Time Relocatable Tasks in Dynamically Partially Reconfigurable Systems , 2010, TRETS.

[3]  Jürgen Teich,et al.  Interprocedural Placement-Aware Configuration Prefetching for FPGA-Based Systems , 2010, 2010 18th IEEE Annual International Symposium on Field-Programmable Custom Computing Machines.

[4]  Scott Hauck,et al.  Configuration prefetch for single context reconfigurable coprocessors , 1998, FPGA '98.

[5]  Petru Eles,et al.  Co-design techniques for distributed real-time embedded systems with communication security constraints , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[6]  Stamatis Vassiliadis,et al.  DWARV: Delftworkbench Automated Reconfigurable VHDL Generator , 2007, 2007 International Conference on Field Programmable Logic and Applications.

[7]  Petru Eles,et al.  Performance optimization of error detection based on speculative reconfiguration , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[8]  Francky Catthoor,et al.  A hybrid prefetch scheduling heuristic to minimize at run-time the reconfiguration overhead of dynamically reconfigurable hardware [multimedia applications] , 2005, Design, Automation and Test in Europe.

[9]  Seda Ogrenci Memik,et al.  An ILP Formulation for the Task Graph Scheduling Problem Tailored to Bi-dimensional Reconfigurable Architectures , 2008, 2008 International Conference on Reconfigurable Computing and FPGAs.

[10]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[11]  Petru Eles,et al.  Execution Time Minimization Based on Hardware/Software Partitioning and Speculative Prefetch , 2012 .

[12]  Roberto Cordone,et al.  Partitioning and Scheduling of Task Graphs on Partially Dynamically Reconfigurable FPGAs , 2009, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[13]  Taking Advantage of Advances in FPGA Floating-Point IP Cores , 1998 .

[14]  Stamatis Vassiliadis,et al.  Interprocedural Compiler Optimization for Partial Run-Time Reconfiguration , 2006, J. VLSI Signal Process..

[15]  Nikil D. Dutt,et al.  Physically-aware HW-SW partitioning for reconfigurable architectures with partial dynamic reconfiguration , 2005, Proceedings. 42nd Design Automation Conference, 2005..

[16]  Tobias Becker,et al.  Modular dynamic reconfiguration in Virtex FPGAs , 2006 .

[17]  K. Bertels,et al.  Instruction scheduling for dynamic hardware configurations [M-JPEG encoder case study] , 2005, Design, Automation and Test in Europe.

[18]  João M. P. Cardoso,et al.  From Instruction Traces to Specialized Reconfigurable Arrays , 2011, 2011 International Conference on Reconfigurable Computing and FPGAs.

[19]  Zhiyuan Li,et al.  Configuration prefetching techniques for partial reconfigurable coprocessor with relocation and defragmentation , 2002, FPGA '02.

[20]  Zhiyuan Li,et al.  Configuration management techniques for reconfigurable computing , 2002 .