Interprocedural Placement-Aware Configuration Prefetching for FPGA-Based Systems

One of the major impediments to deploying partially run-time reconfigurable FPGAs as hardware accelerators is the time overhead involved in loading the hardware modules. While configuration prefetching is an effective method that can be employed to reduce this overhead, mispredicted prefetches may worsen the situation by increasing the number of reconfigurations needed. In this paper, we present a static algorithm for configuration prefetching in partially reconfigurable FPGAs that minimizes the reconfiguration overhead. By making use of profiling, the interprocedural control flow graph, and the placement information of hardware modules, our algorithm predicts hardware execution and tries to prefetch hardware modules as early as possible while minimizing the risk of mis-predictions. Our experiments show that our algorithm performs significantly better than current state-of-the-art prefetching algorthms for control-bound applications.

[1]  Gregg Rothermel,et al.  Interprocedural control dependence , 2001, TSEM.

[2]  Gary J. Sullivan,et al.  Rate-constrained coder control and comparison of video coding standards , 2003, IEEE Trans. Circuits Syst. Video Technol..

[3]  Frances E. Allen,et al.  Control-flow analysis , 2022 .

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

[5]  Ajay Luthra,et al.  Overview of the H.264/AVC video coding standard , 2003, IEEE Trans. Circuits Syst. Video Technol..

[6]  Ajay Luthra,et al.  Overview of the H.264/AVC video coding standard , 2003, SPIE Optics + Photonics.

[7]  Jürgen Teich,et al.  A communication architecture for complex runtime reconfigurable systems and its implementation on spartan-3 FPGAs , 2009, FPGA '09.

[8]  Robert E. Tarjan,et al.  A fast algorithm for finding dominators in a flowgraph , 1979, TOPL.

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

[10]  Wayne H. Wolf,et al.  MediaBench II video: Expediting the next generation of video systems research , 2009, Microprocess. Microsystems.

[11]  Jürgen Teich,et al.  Optimal Placement-aware Trace-Based Scheduling of Hardware Reconfigurations for FPGA Accelerators , 2009, 2009 17th IEEE Symposium on Field Programmable Custom Computing Machines.

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