Dynamic scheduling of tasks on partially reconfigurable FPGAs

Field-programmable gate arrays (FPGAs) which allow partial reconfiguration at run time can be shared among multiple independent tasks. When the sequence of tasks to be performed is unpredictable, the FPGA controller needs to make allocation decisions online. Since online allocation suffers from fragmentation, tasks can end up waiting despite there being sufficient, albeit noncontiguous, resources available to service them. The time to complete tasks is consequently longer and the utilisation of the FPGA is lower than it could be. It is proposed that a subset of the tasks executing on the FPGA be rearranged when to do so allows the next pending task to be processed sooner. Methods are described and evaluated for overcoming the NP-hard problems of identifying feasible rearrangements and scheduling the rearrangements when moving tasks are reloaded from off-chip.

[1]  Mark Shand,et al.  Programmable active memories: reconfigurable systems come of age , 1996, IEEE Trans. Very Large Scale Integr. Syst..

[2]  Daniel Dominic Sleator,et al.  A 2.5 Times Optimal Algorithm for Packing in Two Dimensions , 1980, Inf. Process. Lett..

[3]  Jürgen Teich,et al.  Compile-time Optimization of Dynamic Hardware Reconfigurations , 1999, PDPTA.

[4]  Keqin Li,et al.  Complexity of resource allocation and job scheduling problems in partitionable mesh connected systems , 1994 .

[5]  Patrick Lysaght,et al.  Fast Reconfigurable Crossbar Switching in FPGAs , 1996, FPL.

[6]  Oliver Diessel,et al.  Run-time compaction of FPGA designs , 1997, FPL.

[7]  Gordon J. Brebner,et al.  A Virtual Hardware Operating System for the Xilinx XC6200 , 1996, FPL.

[8]  Brad L. Hutchings,et al.  Sequencing Run-Time Reconfigured Hardware with Software , 1996, Fourth International ACM Symposium on Field-Programmable Gate Arrays.

[9]  John D. Villasenor,et al.  Video communications using rapidly reconfigurable hardware , 1995, IEEE Trans. Circuits Syst. Video Technol..

[10]  Yahui Zhu,et al.  Efficient Processor Allocation Strategie for Mesh-Connected Parallel Computers , 1992, J. Parallel Distributed Comput..

[11]  Oliver Diessel,et al.  Partial FPGA rearrangement by local repacking (abstract) , 1998, FPGA '98.

[12]  Brad Hutchings,et al.  Density enhancement of a neural network using FPGAs and run-time reconfiguration , 1994, Proceedings of IEEE Workshop on FPGA's for Custom Computing Machines.

[13]  H. Mühlenbein,et al.  Gene Pool Recombination in Genetic Algorithms , 1996 .