Field-programmable gate arrays (FPGAs) which allow partial reconfiguration
at run time can be shared among multiple independent tasks. When the sequen
ce of tasks to be performed is unpredictable, the FPGA controller needs to
make allocation decisions online. Since online allocation suffers from frag
mentation, tasks can end up waiting despite there being sufficient, albeit
noncontiguous, resources available to service them. The time to complete ta
sks 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 so
oner. Methods are described and evaluated for overcoming the NP-hard proble
ms of identifying feasible rearrangements and scheduling the rearrangements
when moving tasks are reloaded from off-chip.