Static Scheduling of Periodic Hardware Tasks with Precedence and Deadline Constraints on Reconfigurable Hardware Devices

Task graph scheduling for reconfigurable hardware devices can be defined as finding a schedule for a set of periodic tasks with precedence, dependence, and deadline constraints as well as their optimal allocations on the available heterogeneous hardware resources. This paper proposes a new methodology comprising three main stages. Using these three main stages, dynamic partial reconfiguration and mixed integer programming, pipelined scheduling and efficient placement are achieved and enable parallel computing of the task graph on the reconfigurable devices by optimizing placement/scheduling quality. Experiments on an application of heterogeneous hardware tasks demonstrate an improvement of resource utilization of 12.45% of the available reconfigurable resources corresponding to a resource gain of 17.3% compared to a static design. The configuration overhead is reduced to 2% of the total running time. Due to pipelined scheduling, the task graph spanning is minimized by 4% compared to sequential execution of the graph.

[1]  Miaoqing Huang,et al.  Hardware task scheduling optimizations for reconfigurable computing , 2008, 2008 Second International Workshop on High-Performance Reconfigurable Computing Technology and Applications.

[2]  E. Panainte,et al.  FPGA-area Allocation for Partial Run-Time Reconfiguration , 2005 .

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

[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]  Ranga Vemuri,et al.  An efficient algorithm for finding empty space for online FPGA placement , 2004, Proceedings. 41st Design Automation Conference, 2004..

[6]  Daniele Vigo,et al.  Neighborhood Search Algorithm for the Guillotine Non-Oriented Two-Dimensional Bin Packing Problem , 1999 .

[7]  Ikbel Belaid,et al.  Off-line placement of hardware tasks on FPGA , 2009, 2009 International Conference on Field Programmable Logic and Applications.

[8]  Andrea Lodi,et al.  Two-dimensional packing problems: A survey , 2002, Eur. J. Oper. Res..

[9]  Georgi Gaydadjiev,et al.  Intelligent Merging Online Task Placement Algorithm for Partial Reconfigurable Systems , 2008, 2008 Design, Automation and Test in Europe.

[10]  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..

[11]  Frode Eika Sandnes,et al.  A new strategy for multiprocessor scheduling of cyclic task graphs , 2005, Int. J. High Perform. Comput. Netw..

[12]  Xin Zhao,et al.  An ILP formulation for task mapping and scheduling on multi-core architectures , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[13]  Seda Ogrenci Memik,et al.  An ILP Formulation for the Task Graph Scheduling Problem Tailored to Bi-Dimensional Reconfigurable Architectures , 2009, Int. J. Reconfigurable Comput..

[14]  Frode Eika Sandnes,et al.  Improved Static Multiprocessor Scheduling using Cyclic Task Graphs: A Genetic Approach , 1997, PARCO.

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

[16]  Walter H. Kohler,et al.  A Preliminary Evaluation of the Critical Path Method for Scheduling Tasks on Multiprocessor Systems , 1975, IEEE Transactions on Computers.

[17]  Goran Lj. Djordjevic,et al.  A Heuristic for Scheduling Task Graphs with Communication Delays Onto Multiprocessors , 1996, Parallel Comput..

[18]  Diederik Verkest,et al.  Run-Time Minimization of Reconfiguration Overhead in Dynamically Reconfigurable Systems , 2003, FPL.

[19]  Hartmut Schmeck,et al.  Task Rearrangement on Partially Reconfigurable FPGAs with Restricted Buffer , 2000, FPL.

[20]  Oded Maler,et al.  Task graph scheduling using timed automata , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[21]  Zexin Pan,et al.  Hardware Supported Task Scheduling on Dynamically Reconfigurable SoC Architectures , 2008, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[22]  Carlos González,et al.  A Hardware Task-Graph Scheduler for Reconfigurable Multi-tasking Systems , 2008, 2008 International Conference on Reconfigurable Computing and FPGAs.