Improving utilization of reconfigurable resources using two-dimensional compaction

Abstract Partial reconfiguration allows parts of the reconfigurable chip area to be configured without affecting the rest of the chip. This allows placement of tasks at run time on the reconfigurable chip. Area management is a very important issue which highly affect the utilization of the chip and hence the performance. This paper focuses on a major aspect of moving running tasks to free space for new incoming tasks (compaction). We study the effect of compacting running tasks to free more contiguous space on the system performance. First, we introduce a straightforward compaction strategy called Blind compaction. We use its performance as a reference to measure the performance of other compaction algorithms. Then we propose a two-dimensional compaction algorithm called one-corner compaction. This algorithm runs with respect to one chip corner. We further extend this algorithm to the four corners of the chip and introduce the four-corners compaction algorithm. Finally, we compare the performance of these algorithms with some existing compaction strategies: Brebner, G. and Diessel, O. (Proceedings of the 11th international workshop on field programmable gate arrays (FPL), pp. 182–191, 2001); Diesel, O. and ElGindy, H. (Proceedings of the 5th Australasian conference on parallel and real-time systems (PART), pp. 191–200, 1998); Diesel, O., et al. (IEE proceedings on computers and digital techniques, vol. 147, pp. 181–188, 2000). The simulation results show improvement in average task allocation time when using the four-corners compaction algorithm by 15% and in chip utilization by 16% over the Blind compaction. These results outperform the existing strategies.

[1]  Oliver Diessel,et al.  On Scheduling Dynamic FPGA Reconfigurations , 1998 .

[2]  Ranga Vemuri,et al.  An efficient algorithm for finding empty space for online FPGA placement , 2004, Proceedings. 41st Design Automation Conference, 2004..

[3]  Scott Hauck,et al.  Configuration Relocation and Defragmentation for FPGAs , 2001 .

[4]  Jürgen Teich,et al.  Optimal FPGA module placement with temporal precedence constraints , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[5]  Jürgen Teich,et al.  Higher-Dimensional Packing with Order Constraints , 2001, SIAM J. Discret. Math..

[6]  Ulrich Rückert,et al.  A Comparative Study on System Approaches for Partially Reconfigurable Architectures , 2004, ERSA.

[7]  Jürgen Teich,et al.  Higher-Dimensional Packing with Order Constraints , 2001, WADS.

[8]  Gustavo Ribeiro Alves,et al.  On-line Defragmentation for Run-Time Partially Reconfigurable FPGAs , 2002, FPL.

[9]  David A. Kearney,et al.  Efficient Allocation of FPGA Area to Multiple Users in an Operating System for Reconfigurable Computing , 2002 .

[10]  Marco Platzner,et al.  A Heuristic Approach to Schedule Periodic Real-Time Tasks on Reconfigurable Hardware , 2005, FPL.

[11]  Marco Platzner,et al.  Online scheduling for block-partitioned reconfigurable devices , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[12]  Ranga Vemuri,et al.  Area Fragmentation in Reconfigurable Operating Systems , 2004, ERSA.

[13]  Marco Platzner,et al.  Fast online task placement on FPGAs: free space partitioning and 2D-hashing , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[14]  Sándor P. Fekete,et al.  A Combinatorial Characterization of Higher-Dimensional Orthogonal Packing , 2003, Math. Oper. Res..

[15]  Robert Parry,et al.  Exhibition , 2007, Microprocess. Microsystems.

[16]  Hossam ElGindy,et al.  Dynamic scheduling of tasks on partially reconfigurable FPGAs , 2000 .

[17]  J. Septién,et al.  Efficient Hardware Multitasking through Space Multiplexing in 2D RTR FPGAs , 2002 .

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

[19]  Scott Hauck,et al.  Configuration relocation and defragmentation for reconfigurable computing , 2000, Proceedings 2000 IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00871).

[20]  Jack S. N. Jean,et al.  Dynamic Reconfiguration to Support Concurrent Applications , 1999, IEEE Trans. Computers.

[21]  Gustavo Ribeiro Alves,et al.  Run-time management of logic resources on reconfigurable systems , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[22]  Oliver Diessel,et al.  Chip-Based Reconfigurable Task Management , 2001, FPL.