Task scheduling for heterogeneous reconfigurable computers

We consider the problem of executing a dynamically changing set of tasks on a reconfigurable system, made upon a processor and a reconfigurable device. Task execution on such a platform is managed by a scheduler that can allocate tasks either to the processor or to the reconfigurable device. The scheduler can be seen as part of an operating system running on the software or as core in the reconfigurable device. For each tasks to be executed on reconfigurable device, an equivalent implementation exists as rectangular block in a database. This block has to be placed on the device at run-time. A placer is responsible for the placement of tasks received from the scheduler on the reconfigurable device. However, the placement of tasks on the reconfigurable device cannot be successful if enough space is not available on the device to hold the task. In this case, the scheduler receive an acknowledgment from the placer and decide either to preempt a running task or to run the task on software. We present in this work an implementation of a placer module as well as investigations on task preemption. The two modules are part of an operating system for reconfigurable system currently under development.

[1]  Reinhard Männer,et al.  Multitasking on FPGA Coprocessors , 2000, FPL.

[2]  David A. Kearney,et al.  The Development of an Operating System for Reconfigurable Computing , 2001, The 9th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'01).

[3]  Marco Platzner,et al.  Heuristics for Onine Scheduling Real-Time Tasks to Partially Reconfigurable Devices , 2003, FPL.

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

[5]  Gordon J. Brebner,et al.  Runtime Reconfigurable Routing , 1998, IPPS/SPDP Workshops.

[6]  André DeHon,et al.  Reconfigurable architectures for general-purpose computing , 1996 .

[7]  Jürgen Teich,et al.  Speeding up Online Placement for XILINX FPGAs by Reducing Configuration Overhead , 2003, VLSI-SOC.

[8]  Jürgen Teich,et al.  A new approach for on-line placement on reconfigurable devices , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

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